thoughts on web performance and ad blockers

I often use an ad blocker with my web browser. I do this not because I hate seeing ads. I block ads because I can’t take the performance hit.

Running an ad blocker, or using Firefox’s tracking protection, makes the web responsive again and a pleasure to use. Sites load fast, navigation is smooth, everything is just better in terms of performance when the ads and their scripts are removed from the web.

I don’t like the idea, though, that I’m depriving lots of great independent sites (some of them run by friends) of their ad revenue. Unfortunately, Ads have grown worse and worse over the last decade. They are now just too much load, physically and cognitively and the current state is unsustainable. Users are going to move to ad blockers if web sites and the big ad networks don’t clean up their act.

Sure, everyone moving to ad blockers would make the web feel speedy again, but it would probably mean we all lose a lot of great ad-supported content on the Web and that’s not a great outcome. One of the wonderful things about the web is the long-tail of independent content it makes available to the world — mostly supported by ads.

I think we can find a middle ground that sees ad-tech pull back to something that still generates reasonable returns but doesn’t destroy the experience of the web. I think we can reverse the flow of people off of the web into content silos and apps. But I don’t see that happening without some browser intervention. (Remember when browsers, Firefox leading the pack, decided pop-ups were a step too far? That’s the kind of intervention I’m thinking of.)

I’ve been thinking about what that could look like and how it could be deployed so it’s a win for publishers and users and so that the small and independent publishers especially don’t get crushed in the escalating battle between users and advertising networks.

Web publishers and readers both want sites to be blazing fast and easy to use. The two are very well aligned here. There’s less alignment around tracking and attention grabbing, but there’s agreement from both publishers and readers, I’m sure, that slow sites suck for everyone

So, with this alignment on a key part of the larger advertising mess, let’s build a feedback loop that makes the web fast again. Browsers can analyze page load speed and perhaps bandwidth usage, figure out what part of that comes from the ads, and when it crosses a certain threshold warn the user with a dialog something like “Ads appear to be slowing this site. Would you like to block ads for a week?”

If deployed at enough scale, sites would quickly see a drop-off in ad revenue if their ads started slowing the site down too much. But unlike current ad-blockers, sites would have the opportunity and the incentive to fix the problem and get the users back after a short period of time.

This also makes the ad networks clearly responsible for the pain they’re bringing and gets publishers and readers both on the same side of the debate. It should, in theory, push ad networks to lean down and *still* provide good returns and that’s the kind of competition we need to foster.

What do you all think? Could something like this work to make the web fast again? (Thanks to Ben Ford for some wording help.)


21 thoughts on “thoughts on web performance and ad blockers”

      1. The bug that makes adblock plus consume too much memory was fixed some releases ago, these days ublock doesn’t have that advantage over adblock plus

  1. Ads need to have a specific location on the page. It’s very annoying that ads appear all over the page, on new pages / tabs with a “click here to close this page” pop-up. Ad location needs to be predictable but clearly visible if I want to look at it and not intruding if I want to ignore it.

    1. I strongly support this ad location and predictability. I switched to using Yahoo search and it is absolutely confusing! With AdBlocker disabled, the first two items seem like legitimate search results, but they are really just ads related to the search results. The links even look like search result links. I click one by accident and I am hit with the performance issue.

      Performance isn’t the only situation though. Tracking/privacy is a concern.

  2. I will tolerate ads if they do not degrade my browsing experience.

    If it animates, it’s distracting. Block.

    If it is a bright-colored or otherwise high-contrast spot in the periphery, it’s distracting. Block.

    If I scroll the page and it crawls back into view, it’s distracting. Block.

    If it obscures any part of text I’m reading, it’s obnoxious. Block.

    If it uses clickbait headings, it’s distracting. Block.

    If it causes excessive CPU usage and I can trace it, *BLOCK*.

    By the way, what about a way to identify causes of CPU spikes. At least a way to narrow it down to a tab.

    1. I hear ya. We’re already identifying slow scripts and pages and extensions that are slowing your browser down. What if we showed you the element on the page that was slowing you down and let you block it.

  3. I’m one of these hardcore persons who really really dislike ads, be in a magazine, on TV (zapping away just when it happens), be on the road, etc.

    For me, there is no solution which would involve “good ads”. As for endangering the ecosystem, I don’t believe one minute that it is the case. I have been long enough on the Web (since the beginning). Some Web sites might disappear (such as TheVerge, Thenextweb, and all gizmodo and co type of sites) but independent content of quality will not. You do not have ads on your blog right now. Many people are publishing without ads at all. And it’s fine.

      1. Belatedly, and long…

        Would Mozilla ever look at a website payment system? Similar to Patreon but with the front-end deeply built into the browser. Some ridiculously simple way for people to micro-pay for content on a per-item/per-page/per-day/per-month basis under deeply user-controlled conditions. (Obviously only for sites which enable the bits necessary on their end, ideally just setting up an account with Mozilla and adding some code per page.)

        My reasoning is:

        Patreon (and even Paypal donate-buttons) seems to have allowed a number of small sites to get rid of ads, but IMO there’s still a certain minimum “buy in” for users which reduces participation. Clicking out to a third-party site, logging in, setting up the donation amount, etc, for every single site. Patreon’s advantage is being able to set up a regular autopay amount once, then not have to think about it again.

        So take that one step further:

        Have something that is the equivalent of a “like” button, but which sends a previously user-defined payment to the website – as little as 1c or even fractions of a cent per click – with the actual transaction handled by the browser and Mozilla’s back-end. That way, the user only has to set it up once per browser, not even once per site.

        After that, it just works: Click, 1c. Click-click, 2c. Right-click, scroll scroll, click, $1.

        Likewise, a single button in the URL-bar to “add site to paid favorites” to single-click automate even the micropayment per-page. (I mean, what is this, the dark ages?)

        And, minimally more involved, to pull up an option-dialog for making larger regular donations for that site, per-day/week/month, rather than per-item or per-page — more like Patreon but just within a Firefox dialog pop-up.

        The idea is to change the assumption of the inevitability of advertising, in a way that deeply enables users. And to change the relationship between content providers and content consumers; to make users the customers, not demographic-products being harvested, bundled and sold to advertisers.

        (This system could also allow other options: Like Mozilla- and user-created block-lists that allow people to prevent accidentally “like”-paying scraper sites and other mal-sites. Hell, even politically motivated block-lists, to allow people to prevent themselves from donating to any site within a disliked media-group or aligned with a disliked cause. Or white-lists to auto-favorite a bunch of sites. Or whatever users want.)

        (Similarly it might allow sites to offer paid-only or subscription-only content, without the hassle of existing paywall systems. I’m not in favour of paywalls. But meh. I don’t have to click.)

  4. Opera now bundles an ad blocker and a VPN. And Firefox is supposed to be the browser that cares for your privacy… Why do you fear integrating a solution like uBlock Origin in Firefox? Or NoScript?

    Anyway, 99% of the ads and scripts slow down page loads, so your solution to analyze each site for slow downs will mean annoying the user with notifications constantly, instead of just blocking the ads silently. If a user wants to support a site, let them unblock the ads.

    1. I don’t imagine it would work if there was zero tolerance for any ad perf regressions. Showing a dialog on every ad-supported page obviously doesn’t work.

      I’d propose some reasonable allowable amount of perf hit, and perhaps use other signals like number of redirects for 3rd party requests, and perhaps wait for multiple failures before showing users a warning, such that we cleared out the worst offending ad networks first. Then over time we could ratchet down the allowed performance regression value and the allowable redirect limit, forcing the ad tech companies to get their shit together on performance.

      As for not just going all the way to ad blocking, I’m trying to think creatively here for win win situations. I believe there are gains to be had short of going to war. Gimme a break.

    2. Opera is a small enough player that their bundling an ad blocker won’t have much impact on anything. We’re considerably larger.

      1. This is similar to Adblock Pro’s acceptable ads programme or the principle behind the Brave browser. I think you should integrate ABP into Firefox with acceptable ads enabled. I also think it should include the hpHosts lists which are open, user maintained lists of tracking domains, phishing and malware sites, etc. Alternatively, you should at least integrate your Focus by Firefox app for Safari on iOS.

  5. I really don’t see a problem losing sites because of lost ad revenue. There’s an overload of “me too” sites now and many can disappear without any great loss. As for ads, when ad networks can be compromised and rogue virus and malware infected ads sent out through them, then that’s a major problem and the primary reason I decided to start using an ad blocker which I did not do for many many years.

    1. I’ve been thinking about site performance, but I could imagine a similar approach could work for security. What if we let users know when an ad network they visited had been compromised so they could block that ad network, (or we just blocked it) which would signal the publisher to change ad networks. We could stimulate the market for ad networks with real security. Fewer but more trustworthy ad networks would be better than what we have today, right? Progress?

      1. Please do that, I was once hacked because of an ad.
        I would also love to see tracking and do not track involved.
        You could maybe make a point system that factors al those different factors in.

  6. I love the idea of considering performance impact as one criteria for bad ads and the analogy with pop-ups is very fitting. However, letting users decide what do to each time their browser identifies a bad behavior seams too involved for many users. I’m not saying that there aren’t users that would want that, but as a default I would rather opt for something that does not require the user to think about something they might not care about, or don’t understand.

    Of course this would mean that someone gets to decide what bad behavior is (and can not blame users for that decision), and that is a difficult position to be in as this will generate a lot of pressure from ad networks. And probably accusation of being corruptible as that decision holds a lot of power.

    In many aspects, the closest thing to what you propose is the acceptable ads program by AdBlock Plus. Only that they do not consider performance currently, but that could change, right. :-)

    And combine that with the ability to support sites in other ways than ads and you get: – which I am really exited about.

  7. I am not sure if you people have come across something like this but here in India, many major national news sites have implemented a script that detects if your browser is using ABP and if so, the site itself will block the full page content and will show up a request notice to disable your ABP and until you disable it, they won’t allow you to use their site. UNFAIR.

    In the midst of finding a middle solution that work for both publishers and users, i think this is a very negative move by publisher’s side. I won’t visit any such website that stops me from using it just because of my ABP.

Comments are closed.