When the web was created, it was meant to be a network of knowledge: Documents that refer to each other via hyperlinks connect related pieces of information in a way that is easy to access and discover. Combined with a global internet this technology allowed unprecedented access to information (and still does)! Since its inception the technology has continously evolved and is now capable of supporting complex interactive applications.

The web’s capabilities were drastically expanded over the decades, but little has been done to improve the core feature of document retrieval and -viewing.1 In fact, there are serious issues that arose over time and that plague today’s web.

I want to mention what I think are the most important aspects in which the modern web is problematic: It is privacy-hostile by default, it is computationally inefficient, and it is being subverted by bad actors.

The days of the web being about static documents are long gone and browsers have increasingly become a kitchen sink of technologies that transform the web into something else completely: An application platform. The web platform allows for ever more powerful and complex applications to be distributed and executed. Web standards are constantly evolving: CSS is getting entirely new layout concepts like recently flexbox and grid, JavaScript is getting new language features (some good, some not so good), even HTTP is being completely scrapped and might eventually be succeeded by QUIC (even if it will be branded as HTTP/3). And not to mention all the additions to browser APIs like Workers, WebRTC, and a bazillion device APIs. This makes it so that web developers enjoy job security and it provides them with a growing toolbox to build rich applications.

This evolution has both good and bad consequences, but this text is not about the merits of the web platform for applications. Instead, this is about the web as a tool for retrieving and viewing documents and on that front, not much has happened in the last 20 years that is actually useful.

Quite the contrary: The modern web is hostile towards the most basic usecases. It does get some things right, like ease of content distribution, scope sand-boxing, and layouting, but it miserably fails in other categories – e.g. performance.

Web browsing is increasingly demanding when it comes to client hardware and network speed. With no tabs open Firefox already occupies 300MB for showing me a white rectangle. With a couple of tabs open it quickly takes up over a Gigabyte. An abundance of inefficient and/or unnecessary scripts on sites, together with useless effects and animations slow down my whole computer noticeably. I can almost incapacitate my laptop by going to a website with only subtle animations. The spinning globe on GitHub’s homepage e.g. is enough to reliably make my Macbook’s fans spin up (which are otherwise never audible) and cause the whole system to lag.

Whatever computationally challenging work is being done there, not only can I suspect that it is implemented inefficiently, but more importantly: I didn’t ask for it! It contributes nothing to my web experience!

Not only are slowdowns like this annoying and completely unnecessary. The expectation to “keep up” with the demand for powerful hardware by software that simply doesn’t need it, is short-sighted and harmful.

The fact that you can not reasonably browse the web – where 90% of the interesting content is text – without a fairly modern computer is absurd. Sadly there are far too many sites that include an unreasonable amount of images, scripts and animations that contribute nothing to the page’s content.

Dogshit performance aside, the single most important anti-feature that makes it unsafe to browse the web without precautions, is the ability for websites to trigger network requests without the user’s approval. Every image, stylesheet, font or script that is embeded in a site will be automatically loaded by your browser, thereby leaking information – potentially and commonly to third-parties. The ability to run arbitrary client-side scripts allows sites to create unique system fingerprints and then send those back over the network.

The web’s most powerful features, those that allow it to be a viable application runtime and distribution platform, are what makes it dangerous to use if you value your privacy. An increasing number of sites refuse to work without scripting – for no good fucking reason! But as soon as you enable scripting, you open yourself up to privacy violations.

To mitigate these issues you have to take a concious effort to disable most of the browser’s features thought ad-, cookie- and script-blocking.

The fact that you can not browse the web without the prying eyes of tracking companies following you around, is inacceptable and appaling!

You have to rely on adblockers and powerful tools like uMatrix2 in order to get through the web safely. Browsing the web without a client that has most of its innovative technological features disabled allows third parties to track you across the web. Unless you purposefully cripple the modern web’s capabilities, your every move is recorded and aggregated by bad actors.

Without the technological expertise to prevent the browser from executing tracking code or establishing unwanted network connections to Big Brother, you can not use the web safely. (Unless you want to restrict yourself to visiting trusted sites that don’t include any tracking code).

Why do sites include tracking code though? The economic incentives3 seem to cause site owners to either do their own tracking or – more commonly and dangerously – opt in to the cancerous tracking networks run by companies that make money by spying on people.

It does not reflect well on our civilization that over the course of just a couple of years we managed to take what is maybe the most influential technology since the printing press, and turn it into the dystopian surveillance and control apparatus that it is today. This amazing technology is now used to keep people tapped in to never-ending feeds of “content” while spying on them for money. The Panopticon is real.

Suffice to say, this is fucked up.

Most people either don’t mind the way in which they are being surveilled or they don’t fully understand it. Either way, as long as society does not come around to stand up to these bad actors by establishing effective government regulation, we need to come up with technological solutions to subvert surveillance efforts.

But working against the behemoths that rule the modern web is not easy.
The web used to be open, the competition between browser vendors was fierce and they were under real pressure to innovate. This lead to terrible compatibility but opened up a space of opportunities for the community to explore. Fortunately the technology has somewhat converged and inconsistencies betweens browsers are less relevant today. But this process was accompanied by a dangerous consolidation of power in the hands of some very few.

The most important player when it comes to all things web is obviously Google. Their business is on the web and so they understandbly push the web platform. Its unfortunate that a bad actor such as Google has such an immense power when it comes to determining the future of this integral technology.

Modern web technologies – as cool as they are – exist first and foremost to consolidate the surveillance machine that makes Google money. I’m not against making money, but I am against surveillance. Very much so, in fact.

The full description of how Google’s influence on the web is problematic probably requires its own text. But the basic point is this: They are the majority browser, the majority ad company, the majority email provider, the majority media platform, the majority mobile OS vendor… This kind of vertical integration fundamentally disenfranchises end users. (Even if it was done by a company that is not as evil as Google is).

Google abuses their position to push the web in a direction that suits them and everybody else can take it or leave it. There is nobody who fundamentally opposes them in this regard4: The other two browsers, Firefox and Safari, are not standing up to Google. And why would they? Web developers actively want a more powerful web platform to make their lives easier and actually celebrate every new feature addition to web technologies.

different strategy when it comes to the web. Obviously they don’t do that for ideological reasons. They make money by taking a cut on app store purchases so they want to disincentivize the use of web apps. But their resistence seems futile as they can only slow down the process of the web becoming whatever Google wants it to be. Apple does not seem to have a vision of how to save the web.

At this point, nobody can just go ahead and write a new web browser from scratch – that ship has sailed. If someone were to try and write a new browser engine, and try to be mostly spec-compliant and actually just work with any existing websites: That’s a multi-million dollar investment in development resources. If even Microsoft decides that it is no longer worth it for them, who else can do it?

This leaves Google with a more or less direct control over the future of the web. We are entrusting a data brokering company with the future of this precious piece of technology. Like that’s going to end well…

Why does any of this matter? Why is it relevant that the modern web is a tool to spy on people in exchange for delivering mediocre applications?
There is simply no running away from the web. Applications increasingly migrate to the web platform. This is actually not bad for security, but comes with the problems that I have outlined above.

For some use-cases the transition to web might make some sense if their problem domain is inherently online. For most applications it does not provide the user any benefit. But as the web platform matured in its ability to host applications, vendors began to understand how delivering web applications can benefit them.

While the web became more useful as an application platform, it did not provide any substantial improvement for its original use case of distributing and displaying hypertext documents.

This basic use-case is still possible of course, and there are well-behaved websites that do not include tracking code and do not expect users to load styles and images from 10 different domains. And those are the sites with the most interesting content anyway. But:

  1. For accessing and viewing very simple, textual websites, it seems unnecessary to use a resource-hungry application such as a modern web browser,

  2. There are, sadly, a lot of sites with some interesting content that is made inaccessible by being packaged it in a needlessly complex document-application chimera,

  3. There is no alternative to the three main browser engines and it is unlikely that one will emerge in the future,

  4. Without adequate protection in the form of script-, ad-, cookie-, and request-blockers you can not safely click any link without knowing whose third-party tracking code will be automatically executed on your system!

The different use-cases of documents vs. applications cause noticeable friction: The technology is over-engineered ad absurdum for its original use case, while still being held back and limited by it. A possible solution to this might be a bifurcation into separate, more focused platforms.

Sure, the line between applications and documents is incredibly blurry, but maybe that is part of the problem. Instead of focusing on the technical problems and how to solve them, we might instead take a step back and properly evaluate what users ultimately want to achieve.

Most of what I want to do on the web is read static text documents. The web lets me do this of course, but it is overkill. Loading up hundreds of megabytes of engine code to load a text document is like using a cargo plane to go grocery-shopping. On the modern web you only really find out whether a site is well-behaved once you go there. And there is no safety-barrier protecting you from wandering off to less well-behaved sites.

A new web should do less. It has to consist of a semantic markup language, a styling system, and… that’s basically it. It does not need any scripting, because 99% of sites don’t use scripting for anything useful anyway.

HTML and CSS as the backbone of the web aren’t even so bad, but they are too complex. Most well-behaved websites can work perfectly fine with a small subset of HTML and CSS.

Exploring what a good subset of HTML and CSS might look like is a matter for another time.


Most of the web’s problems that I described have to do with bad websites: Sites that track you, sites that waste computational resources, sites that rely on all the latest features of the moving target they are today’s web standards.

Following that logic, the problem isn’t so much with the web itself but with bad sites. The web works okay if you only visit well-behaving sites. So why argue for a new web?!

On a simpler web, misbehaving sites just would not be possible and to me that seems desireable. If the web sucks because of bad websites, let’s build a new web where bad websites are not even possible.5

What makes me somewhat optimistic that the vision of a better web can be achieved is that I am evidently not the only one who feels about the modern web the way I do. Other people have written similar texts to this one – a lot of people seem to agree on the diagnosis of what is wrong with the modern web.

And there are interesting projects that explore the space of how alternative technologies can look like: The most prominent one being of course Gemini. I am not yet sure whether Gemini is what I want from a better, leaner web, because it is a bit too limited for my taste, but we will see…

Gemini is really promising and I am excited to see how its ecosystem will develop.

There might be a danger that the community of people who want a better web will get fragmented over multiple technologies, but the degree to which that happens is hard to predict.


The web is constantly getting better for application development with no regard for other, traditional use-cases like reading texts. It is not advisable to browse the web without using a modified browser that blocks ads, third-party requests and scripts. This is not only a high bar for most casual users, but it also nullifies some if not most of the “improvements” to web technology.

We developers should try and figure out better ways to enable users to achieve their goals. These goals do not include looking at ads, being spied on, buying a new computer every few years to keep performance as it was, or relying on technology that is largely controlled by a few bad actors.

The technical hurdles to build something better are not that high. It is more a matter of awareness and determination. We can build the better web that we so desperately need – so let’s get to it.


  1. I do want to explicitly point out that I am not argueing under the assumption of some treasured past, some good-old-days that we need to bring back. I don’t. Maybe the web of the nineties was “better”, maybe not, I don’t base my arguments on that premise. I do not want to go back to an imaginary past – I want to strive towards a better future. 

  2. What makes this even more depressing: Is there even anything like uMatrix? It is the only thing that let’s me use the web with at least a little piece of mind, but it is being discontinued. A breakage is probably just one change of the extensions API away and then what?! 

  3. Whether the monetary value that personal data has on the market, is actually justified or not is a different question. It might well be that the propaganda of ad-networks tries to inflate the value of the data they steal and sell. Maybe this data is not really useful for anything. 

  4. Theoretically Apple seems to follow a completely 

  5. Obviously “good” and “bad” here refer to the technological aspects of a site, not its content. Sites will always be able to contain bad content. But if we cut down on the technology’s complexity the content will actually be the main distinguishing factor between different sites – as it should be!