Aral Balkan

Mastodon icon RSS feed icon

Enabling Better Blocker in GNOME Web

Screenshot of the index of my site in GNOME Web

GNOME Web: what ethical design looks like.


Update: (2020-03-14) GNOME Web now supports WebKit Content Blocker rules but sadly still comes with AdBlock rules that do not protect your privacy (they block some ads) by default. I’ve updated this instructions here for replacing them with Better Blocker’s rules instead if you care about protecting your privacy.

TL;DR: Enter the following line in a terminal and you’re done:

gsettings set org.gnome.Epiphany content-filters "['https://better.fyi/blockerList.json']"

GNOME Web is an ethical, simple, elegant, and beautiful web browser. And, since I switched my main development machine to one running GNOME Shell, it is now my default browser.

Unlike products like Chrome and Firefox from surveillance capitalists like Google and Mozilla, GNOME Web has safe, private defaults that respect your human rights. As their privacy policy states:

GNOME Web receives no funding from advertisers, and as such is able to offer privacy features like built-in adblocking and tracking query removal that are relegated to extensions by other browsers. We aim to offer the best out-of-the-box privacy settings of any general purpose web browser.

How refreshing. How just as it should be.

Screenshot of the GNOME Web Preferences panel, showing that the 'try to block advertisements' and 'try to block web trackers' settings are on by default.

GNOME Web is private by default. That’s the only definition of privacy that matters. Contrast that to ‘tracked and profiled by default but with the choice of turning the surveillance off’ in Mozilla Firefox.

Tracker and adtech blocking

By default, GNOME Web comes with ad and tracker blocking based on AdBlock Plus . To see the default lists, you can use the following command in a terminal window:

gsettings get org.gnome.Epiphany content-filters

The result should be an array of URLs to blocking lists in EasyList format:

['https://easylist-downloads.adblockplus.org/easylist_min_content_blocker.json']

This is good but I feel we can make it… uhum… Better! 🤓

Why’s Better any better?

Screenshot of the Better Blocker web site showing better running on a Mac, iPad, and iPhone

Better Blocker: it’s not just for Apple’s platforms anymore.

Laura and I built Better Blocker for three reasons:

  1. We were hugely frustrated with the bullshit of so-called ‘ad blockers’ like AdBlock Plus by Eyeo who actually get paid millions of dollars by surveillance capitalists like Google not to block adtech and trackers.

  2. We wanted to have a curated list of blocking rules that we understood. Looking at an EasyList block list, I have no idea why any of the rules were included. Reading through the entries of our hand-curated database of trackers, on the other hand, I know exactly why.

  3. We wanted a tracker blocker that didn’t require any technical knowledge to install and use on the platforms that were the primary platforms for both of us at the time (iOS and macOS).

So we built Better as a free and open tracker blocker that is also available for sale on the iOS and macOS app stores.

Better is entirely independent of the adtech industry and surveillance capitalism and uses our ethical design manifesto as its guiding principle in deciding what to block and what not to block. Sales of Better don’t pay our bills entirely but they do contribute towards our ability to do so when combined with our professional speaking fees and the proceeds from our patrons.

How Better works

With Better, we have a straightforward and transparent process for deciding which trackers to block:

  1. We crawl the most popular domains in the world to find the third-party trackers on them.
  2. We organise the trackers by popularity.
  3. We manually go through these top trackers, document what they do, and block them.

This works very well because the Achilles' heel of centralisation can be summed up by the old adage “the bigger they are, the harder they fall.” Centralised topologies are, by their very nature, both very powerful and extremely fragile.1

Cleaning up the Web

You do not need to block every tracker ever made to choke the income stream of surveillance capitalism, you just need to block the centres; the Goliaths – the biggest players, who among themselves account for 99% of all tracking on the Web today.

Google, for example, has eyes on 70-80%2 of the web. While that’s horrible, it also means that once we block their trackers, we’ve cleared a huge swath of surveillance from the Web in one go. Rinse and repeat for the top-however-many-thousand trackers and you’ve done a pretty good job of rinsing the web of surveillance devices.

A happy side-effect of blocking trackers and adtech is that you also greatly improve the experience of the Web. Adtech and tracking scripts amount for a huge portion of the physical size and visual complexity of web sites. So much so that a few years ago, the worst site we could find was costing people in the US over $4 million every month in mobile bandwidth costs just to load their trackers.

So blocking adtech and trackers makes sites load faster, stops them from interrupting your experience with interstitial modals, reduces visual complexity and cognitive load, and generally gets the Web looking more like it would if it hadn’t been poisoned by the surveillance-based business model of Silicon Valley.

The hand-curated nature of what we do also means that we can try and respond to those cases where things break as we control over and a good understanding of what the totality of the block rules actually do.

However, because Better was originally created as a native WebKit content blocker for iOS and macOS, the only people who could take advantage of it were people on Apple’s platforms. I was never happy with this but it was what we needed to do in order to keep the lights on.

So, when I got the opportunity last year, I updated the build process to also output the Better blocking rules in EasyList format.

A Better GNOME

As Better’s blocking rules are now available in EasyList format, it means that you can use them on other platforms. For example, you can use them in Chromium and Firefox across all platforms supported by those browsers via uBlock Origin – another no-bullshit tracker and adtech blocker.

It also means that you can use Better in GNOME Web. Which brings me, finally, to the great reveal: how?

It’s rather anti-climactic how easy it is.

Update: (2020-03-14) GNOME Web now supports WebKit content blocking rules, the same as Safari on iOS and macOS. I’ve updated the instructions below accordingly.

To get GNOME Web to use Better’s blocking rules, all you need to do is to enter the following command in terminal:

gsettings set org.gnome.Epiphany content-filters "['https://better.fyi/blockerList.json']"

That’s it! 🎉

That will replace the default filters with Better’s list.

As long as you install it using the exact method above and our list is the only one you include, we will also be happy to offer you support3. You can use our issue tracker and forums to report issues and keep in touch.

GNOME Web is a beautiful example of ethical design that makes me smile every time I use it. Now that I have Better on it, I have another reason to smile. Here’s hoping it puts a smile on some of your faces too.

References


  1. This is a lesson that autocratic governments know all too well. It is also why they fear their own people more than anyone or anything else and try to control them through fear, mass surveillance, and violence. ↩︎

  2. The 70% statistic is from a Princeton study. The 80% statistic is from our own web crawls using Better Inspector. ↩︎

  3. Laura and I can’t offer support when more than one blocking list is active as we simply do not have the capacity to debug what could be going wrong with third-party lists. It’s hard enough trying to fix the Web when you have full control over the blocking rules. It’s next to impossible when you have multiple lists that might be interacting with each other in wild and wonderful ways. ↩︎