In an old interview, Seth Godin brings up the point that no one person can build a computer mouse.
It takes the organized efforts of thousands of experts to bring us the computer mouse. Between getting the metal, creating the plastic, designing the circuit boards, the chips, the software that runs it, the firmware, OS drivers. And then to ship it to a customer, you have the entire infrastructure of logistics and transportation to bring it to your house or a store.
You can’t build a reliable computer mouse by yourself today.
But why do I bring this up? At the time Godin made this statement, desktop machines were still the most common way to access the internet. The mouse was the least complex device that makes a computer. But probably one of the most important tool at the same time..
Today, for most people, our main interaction with an electronic device is done through the browser. It’s our new mouse. At some point, a single programmer could build a browser and understand every part of the system. Brendan Eich was able to spec and build JavaScript in just 10 days.
This is no longer the case. When Google Chrome version 1.0 was released in 2009, it was just 8.4MB. And the complexity only grew from there. The browser’s main job is still to translate hypertext into a document like the one you are reading now. But it also can emulate an entire operating system right within the confines of this window.
The browser itself is an operating system at this point. You can stream content, play video, audio, edit documents, use the GPU, a canvas, etc.
If you are a developer working on a browser, you will have to specialize on a single component. You won't ever touch or even be aware of how the other parts work. To build a browser today that competes in the market, you need:
- low level programming for handling system calls and memory management
- Web Technologies to handle html, css, javascript, web standards, the DOM, js engines, etc.
- Rendering Engines for interpreting css, managing graphics, webgl, webgpu, etc.
- Network Protocols to manage http/https, web sockets, DNS, tcp/ip etc.
- Security for handling cryptography, sandboxing, and privacy.
- Cross-Platform development because the browser runs on every OS.
And many many more. In other words, the browser is the new mouse.
The point is, we are not going to see a new browser developed by an independent programmer. Not even from a new company. There won't be a tiktok of browsers that comes from under our feet and swoops in. Browsers are littered with layers and layers of backwards compatibility that new engines just don't have the luxury of supporting.
Comments
There are no comments added yet.
Let's hear your thoughts