Wow, what an awesome dive into some of the technical aspects behind one of my favorite tools for using the web. And I do think of it that way these days, it's fairly stunning on some sites to switch off all the block and see how they become genuinely unbrowsable. I remember seeing Gorhill discuss a few times over the years some of the reqs for uBO during certain times (like why it could no longer work with Safari fol…
I think the future is machine learning based blocking. Ads are obvious, they have to be for users to see them. You could probably use text classification and object recognition to filter ads effectively. And you could do it from the view layer where nothing on the page can tell they've been blocked. This is also my tinfoily theory for why Chrome restricts the API's used by ad blockers. It's to prevent more effective…
In general, we've been engineering around bad user software install decisions for decades. Windows spyware, toolbars, spammy mobile apps, for example. The apis needed by an ad blocker are exactly the kinds of APIs that would be coveted by and used by nefarious ad products. In fact, the Firefox ecosystem took a big hit when Mozilla shut down a bunch of APIs that allowed for some pretty amazing ad blocking a few years ago. So why did they have to take those APIs out of the product?
Nefarious products that used those APIs. For example, on of the first things that happened with the original AdBlock was it was cloned and used to deliver and rewrite ads by a scumware company. All the warnings and pop-up scary messages in the world don't stop users from making bad decisions, and that at Google scale, may actually be a bigger problem. Ad Blockers may simply be collateral damage as the cost of dealing with app-drive ad fraud is petty staggering compared to the small number of ad blocker users.
That said, I'm on the side of giving users the power, even if they occasionally shoot themselves in the foot.