Skip to content

Instantly share code, notes, and snippets.

@cschep
Last active June 16, 2020 05:01
Show Gist options
  • Save cschep/bb39161b942cabb3685b29552c46f697 to your computer and use it in GitHub Desktop.
Save cschep/bb39161b942cabb3685b29552c46f697 to your computer and use it in GitHub Desktop.
DDG iOS Content Blocker Proposal

iOS Content Blocker Proposal

Context

There are currently two ways that DuckDuckGo can help protect an iOS user’s privacy. The first, and best, is the user downloading the DuckDuckGo Privacy Browser and using that for all of their browsing. The other way is that the user continues to user Safari (or a different third party browser) and adopts DDG as their search engine. This prevents their searches from being tracked, but once they are off to browsing they are certain to be tracked again.

Objective

I propose adding a Content Blocker Extension to the DuckDuckGo Privacy Browser App. It’s a tough sell getting users to install a whole new browser, importing their shortcuts, learning a brand new UI, etc. It’s tough enough to get them to install an app in the first place!

Adding a Content Blocker Extension to the existing app would help in a few ways. Mostly importantly, it would allow us to protect users while they continued to use Safari as their primary browser. This alone makes this worth doing, but a nice side effect would also be more users installing the DDG app in pursuit of the content blocker and perhaps start using it as a browser. All of this leads to a higher standard of trust online for more users.

It's also good to note there is at least one user out there that has already prosposed this change here with positive engagement.

Impact Assessment

The changes this proposal outlines are relatively low risk. It's possible that DDG could end up competing with itself, drawing users back to Safari and away from the DDG browser. I don't think this should stop DDG from pursuing this as I think it ultimately protects more users in the end. And again, switching browsers is fairly high cost for a user.

Positive impact can be measured in App downloads. While it might be hard to isolate just this change (maybe the App is also improved in other ways during the same release cycle), but we will know if more users are installing the app that we succeeded in adding value to their lives and increasing trust online.

While the impact for adding this might not be the highest for all projects, the risk to reward ratio seems quite high due to the relatively small level of complexity that needs to be taken on.

Complexity Assessment

One of the reason this project feels like such a obvious win is that DuckDuckGo already has a product on MacOS (Privacy Essentials for Safari) that maintains/generates a blockerList.json file which can be shared directly with this project. Coming up with a good strategy/mechanism to share that file and it's subsequent updates would be a great first objective.

Secondly, it's possible we'd want to add a screen in the DDG app to explain the new feature and/or guide people to where they can enable it in settings. It's a fairly esoteric process, but not overly complicated. AdGuard is an App that thas no functionality other than providing a content blocker and could be used as a reference for this experience. It would be key to get weigh in from product and design to make sure this experience is top notch.

I think the first week of this project would be spent gaining consensus from product and design, then a few weeks of development. It's hard to know without knowing what design would want but assuming a fairly simple screen with no new crazy animations. It could also be shorter if we just wanted to add the extension and let users organically discover it. While this would end up with fewer users actually using it, it could be a good rollout strategy and once we see it working for people, add in some sort of guided experience.

It definitely needs to be tested to make sure it's up to par with the high standard of privacy provided by existing DDG products. It would be cool if there was an automated way of running tests against known trackers. This would add engineering time of course :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment