Many (news(y)) websites have become highly irritating to browse: when you scroll down towards the end of an article you’re reading they append a next article underneath it, and if you scroll past the end of the article change the URL in your browser’s address bar. Below is an example I encountered today.

That is highly irritating, as the browser is my tool, not theirs.

  • It regularly frustrates bookmarking (if you hit a bookmarklet at the end of an article it saves the url of the next article),
  • it creates an endless scroll experience (a dark pattern copied from the likes of FB), where news sites get an opportunity to present content they selected by algorithm that you weren’t looking for.
  • it doesn’t influence the back button. Hitting that brings you to an unexpected place therefore, as you may not realise you’re in an endless timeline and think you somehow landed in a different article,
  • if you use your browser’s default setting you won’t have noticed that the URL has changed as the address bar will only show the domain, not the full URL.

This behaviour is based on HTML5 pushstate, which allows a site to interact with your browser history. This can be used to e.g. decrease load times of additional pages and content. The endless scrolling however feels like a dark pattern usage of this possibility to me.

In keeping with Doc Searls’ Castle Doctrine of browsers, I’d like to block this behaviour.

Options that are available seem to be:

  • Use a reader view. This seems to break bookmarklets though, which is one of the nuisances I’m trying to fix
  • Block all javascript and use an allow-list. Seems drastic, though it’s something I’m increasingly leaning towards over the past few years. Alternatively I could use a ban-list.
  • Use ad blockers by adding rules for the specific scripts causing this.

Reader view is useful, but not for this specific issue. Adding rules to my adblocker might be feasible, but assumes that I can easily spot a) which sites do this b) which script on their site is doing it, in order to block it. Using a ban-list for Javascript only needs me to spot sites that do this, which is half the hassle of adding filters to my adblocking. Ban-listing some sites for javascript is also less inconvenient than blocking all javascript and allow exceptions. So for now that’s the way forward. Bloomberg, the source of the example given above, is now on the ban-list.