Curious to know why is it so complicated to build a web browser?
Yes, they're probably the most complex piece of software humans have ever created. That being said, it seems like it would be possible to create a browser that handles all of the most common use cases, so ~90% of your browsing experience.
Sure, maybe you need years and dozens of engineers for the final 10% but who cares about that bit? Wouldn't people be willing to accept this feature tradeoff for a new, user-friendly browser?
If you omit video playing, you've prevented people from using YouTube and Netflix. If you omit compositing graphics on top of this video, you've again prevented YouTube and Netflix from showing UI.
If you omit canvas and SVG, fancy modern parallax scrolling sites will not load.
If you omit WebGL, another half of modern sites which just use it for a rotating logo won't load.
Etc, etc... you really can't release a non-100% feature-full browser these days.
That would have been more possible a decade ago when the web browsers were less compatible and sites relied on the lowest common denominator feature set. With the increase in compatibility sites now rely on libraries that each depend on a different 90% of the feature set. Breaking interactions between those dependencies has a cascade effect that leads to really, really, really frustrating experiences today. e.g. a UI that looks perfect and has interaction effects working but a background interaction fails silently. A decade ago compatibility issues were more common but IME they were less frustrating because there was usually a rendering artifact or foreground error that made it clear the author just didn't support your browser.
Think re-writing 100% compatibility with MS windows and how much a of pain in the butt that would be. Wine has been at it for 28 years and they still haven't really managed.
A web browser these days is arguably of similar complexity.
The problem is that due to complexity accrued over time, the 10% of features you speak about are likely going to be core to the operation of the web's most popular sites (FAANMG). And not supporting those sites means not supporting a huge swath of the population who consider those sites critical.
Comments
Curious to know why is it so complicated to build a web browser?
Yes, they're probably the most complex piece of software humans have ever created. That being said, it seems like it would be possible to create a browser that handles all of the most common use cases, so ~90% of your browsing experience.
Sure, maybe you need years and dozens of engineers for the final 10% but who cares about that bit? Wouldn't people be willing to accept this feature tradeoff for a new, user-friendly browser?
Which complex parts would you omit?
If you omit video playing, you've prevented people from using YouTube and Netflix. If you omit compositing graphics on top of this video, you've again prevented YouTube and Netflix from showing UI.
If you omit canvas and SVG, fancy modern parallax scrolling sites will not load.
If you omit WebGL, another half of modern sites which just use it for a rotating logo won't load.
Etc, etc... you really can't release a non-100% feature-full browser these days.
That would have been more possible a decade ago when the web browsers were less compatible and sites relied on the lowest common denominator feature set. With the increase in compatibility sites now rely on libraries that each depend on a different 90% of the feature set. Breaking interactions between those dependencies has a cascade effect that leads to really, really, really frustrating experiences today. e.g. a UI that looks perfect and has interaction effects working but a background interaction fails silently. A decade ago compatibility issues were more common but IME they were less frustrating because there was usually a rendering artifact or foreground error that made it clear the author just didn't support your browser.
Think re-writing 100% compatibility with MS windows and how much a of pain in the butt that would be. Wine has been at it for 28 years and they still haven't really managed.
A web browser these days is arguably of similar complexity.
The problem is that due to complexity accrued over time, the 10% of features you speak about are likely going to be core to the operation of the web's most popular sites (FAANMG). And not supporting those sites means not supporting a huge swath of the population who consider those sites critical.