5 ms·
Take the code from Firefox iOS or Android-components. We spent a lot of time on these and it is all on device. https://github.com/mozilla-mobile/android-compon
by st3fan 6y ago
Take the code from Firefox iOS or Android-components. We spent a lot of time on these and it is all on device.
https://github.com/mozilla-mobile/android-components https://github.com/mozilla-mobile/android-components
https://github.com/mozilla-mobile/Firefox-iOS https://github.com/mozilla-mobile/Firefox-iOS
- nexuist 6y agoWhat a world class reply. This is what makes open source valuable.
- antpls 6y agoI wonder how many lines of code from big open source applications are generic enough to be reused in other projects. Firefox and Google Chrome probably have the equivalent of many small high quality libraries embedded in them, implementing 'business' logic or protocols, that could be reused in more places. I guess a large scale study on github could be done, with a graph analysis to show potential "cut off" points in codebase.
- sillysaurusx 6y agoYeah... the gesture is nice, but good luck extracting any code from a massive project. Might as well say “Here’s some free oil; all you have to do is dig for it.” Unlike oil, this might not be worth the excavation. It’s a bit telling that they linked to the GitHub repositories rather than specific lines of code they were talking about.
- bad_user 6y agoYeah, let's violate privacy instead.
- jan_Inkepa 6y agoLooking at the iOS project linked, https://github.com/mozilla-mobile/firefox-ios/blob/76faae8c6c94e22c8fbc0de72e2d06f615738e2c/Client/Utils/FaviconFetcher.swift https://github.com/mozilla-mobile/firefox-ios/blob/76faae8c6... , other than being written swift, it looks pretty self-contained/ok?
- st3fan 6y agoThere is also a content script I think and storage for these icons and their meta data. It is probably less generic on iOS than on Android but should be fairly simply to take some big chunks for reuse.
- _hl_ 6y agoHere's their kotlin implemenation, looks fairly straightforward/self-contained: https://github.com/mozilla-mobile/android-components/tree/master/components/browser/icons https://github.com/mozilla-mobile/android-components/tree/ma...
- st3fan 6y agoAndroid components is a foundational technology for our browser products on Android but also for many other applications. We’ve designed things in such a way that you can pull in just those things that you need. If that is not the case, file an issue and we will take a look at how to improve things.
- jan_Inkepa 6y agoOne issue is that if a bunch of code of a similar theme can be broken off, many times it will be (depending on the culture of the software team). Is looking at the source code of a big project with a hundred dependencies that were all libraries spun off to support the project different to looking at a project where people tried to keep everything monolithic (where you’d expect better re-use potential per line-of-code?)
- st3fan 6y agoThis is one of the goals of our Android-components project. Take a peek. Many components are reusable across browsers/applications.
- hst-m 6y agoThey call it the "DuckDuckGo Privacy Browser" yet it sends data back to their servers on every site you visit. Collecting all your search terms and saving them wasn't enough, now they want data on all the sites you visit outside of the DDG search page. That they refuse to turn it off tells you they are just as data-focused as every other company. They should update their app description: "By the way, every website you visit is being sent back to our servers, don't worry it's just for data collection purposes, no personal information, just every website you visit (LOL)" For those of you who don't understand, Yes they are saving data on all your search terms, and Yes they are saving data on these favicon requests, don't be so naive, they admit it themselves. They are not going to turn this feature off because it is too valuable to have all your information on all the sites you visit
- reitzensteinm 6y ago(parent edited comment, can't delete this)
- TheSpiceIsLife 6y agoThat bit was unnecessary, and pretty tone-deaf given the current socio-political climate. So let’s call them out on that, briefly, then get on with the argument.
- deleted 6y ago[deleted]
- deleted 6y ago[deleted]
- smolder 6y agoI think you're being downvoted because you chose to piggyback your comment on a seemingly unrelated one at the top, are being vitriolic, and didn't back up your claims with respect to their intent and refusal to change this.
- hst-m 6y ago
- weinzierl 6y agoYes, apart from Chrome's implementation there is probably no better tested and more mature implementation. Still it seems to be a non-trivial problem because Firefox sometimes shows me a favicon from another site I used.
- dTal 6y agoWhy don't they just take the code from their "internal favicon service"? The whole thing smells.
- ldoughty 6y agoIf you don't visit the site explicitly, just have the site somewhere in a list/bookmark/whatever, that site now has your IP address and basic header info when it needs to go retrieve it. By going through DDG, the site has a bot hit. To me it looks to be trying to uphold your anonimity until you commit (click) through to the site/link. But certainly other ways they can approach this if it really bothers people.. I'd prefer DDG doing the lookup.. or having no fav icons.. over my computer going and downloading all my bookmark or other source icons
- wizzwizz4 6y agoIt's probably not written in Java.
- _hl_ 6y agoIt's not immediately obvious whether it is more privacy preserving if the client automatically makes a request to each site in the search results while scrolling through the results, especially since you're already trusting DDG when performing the search. Maybe this should be an opt-in rather than an opt-out feature? Edit: as pointed out by warpspin in another comment, this is about the DDG Browser, not search results.
- st3fan 6y agoScrolling through results is not a good place to ping websites for their icon. Not from a technical perspective but also not from a privacy perspective. This is mostly a UX issue IMO.