Common web L
The overwhelming complexity of current web standards has narrowed down web browsers to just 3 implementations: Chromium, Safari, and Frefox. Even Microsoft, valued at 2 trillion dollars1 with 100k developers2, abandoned maintaining its own web browser and switched to Blink.
Interestingly, Apple’s uncompetitive browser restrictions are the last thing keeping web browser diversity alive. Today’s web development usually involves maintaining compatibility with Chrome, Safari, and Firefox.
- Chrome, because it has the biggest usage share
- Safari, because it is mandatory on Apple devices
- Firefox, because you might as well while you are at it
Supporting 2 platforms instead of 3 isn’t a significant reduction in workload. As seen by Firefox still being deemed worth the developer’s time and effort to support.
Imagine if Apple decided to abandon WebKit, joining forces with Chromium just like Microsoft. Firefox would be in an even worse position than it is now. With Chromium-based browsers dominating 94 % of the web, few would care about the remaining 6 %3. The reduced need to distinguish between browser-specific behavior and standard specified behavior would kill any browser that did not walk or quack like Chrome.
This would enable Chrome to push non-standard behavior and custom features, such as Web Bluetooth, Shape Detection, WebUSB, and more. It doesn’t matter if they’re experimental; if it works on Chrome, why not rely on it? This trend would make it increasingly difficult for new browsers to emerge. Competing with Chrome would mean not only implementing the entire HTML/CSS/JS stack but also additional features like a face recognition API.
Of course, Apple isn’t keeping WebKit alive to save Firefox; they talk about “security” reasons4…
Ironically, efforts to stop Apple from enforcing WebKit on iOS might be the final nail in the Firefox coffin.
Even Chromium and WebKit-based browsers aren’t immune to these challenges. I currently use the WebKit-based qutebrowser, but that doesn’t mean that things just work. To bypass the new generation of captchas on sites like Hetzner or ChatGPT, I have to abandon qutebrowser and launch Chromium. I didn’t bother reaching out to OpenAI and Hetzner doesn’t care:
[…] we cannot support your current browser. The reason is that the use of this browser is very rare, and it is not viable for us to customize our website specifically for it. […]
It is not enough that qutebrowser supports everything that Safari does, it has to trick websites into thinking that it actually is Safari.
The web is in a terrible state, and we need to do better. If only there was a way to achieve 70% of web functionality with just 10% of the code. Removing the technical debt, reducing complexity, improving modularity, embracing simplicity, making it possible again for meere mortals to create homebrew browsers…