Ask HN: Why are we so at the mercy of Google and Mozilla for web browsers?

4 months ago 50

The scope of what a "web browser" is has been steadily inflating at an insane rate. Not only that, but a lot of features are basically "required" to be able to deal with modern websites.

You would need a team the size of Chrome's to be able to just _keep up the pace_ and never actually close the feature gap. That's a ludicrous amount of money for an incredibly risky project, since users are very complacent and get attached to their browser choice.

In fact, the browser is so multi-featured and has space for so many individual behaviours that users will get used to specific things (shortcuts, menu behaviours, even the sorting of address autocomplete results) that they develop the same (understandable) attachment to the exact way a browser works, just like what happens with operating systems. Then it's not even a rational choice anymore, and only another equally irrational event would cause them to reconsider their choice (either a major fuck-up by the browser they use, or some apparently inconsequential thing about the alternative).

You could make a feature-slim browser, but it would never reach wide adoption, because non-technical people would still need to open one of the big ones to do their online banking, or make video calls, or whatever.


> You could make a feature-slim browser, but it would never reach wide adoption, because non-technical people would still need to open one of the big ones to do their online banking, or make video calls, or whatever.

Yeah. There are slim browsers around, but feels quite pointless if you need to keep Chrome or Firefox installed anyway. (Last week I used Dillo because Firefox was broken: https://news.ycombinator.com/item?id=29918052)


Developing a modern feature-rich browser is a gargantuan task and you need many skilled (expensive) developers to work on it; easily millions of USD yearly in salaries alone. Some donations here and there won't cut it, you basically need FAANG money to do it. Additionally, at least the last time I checked, Mozilla has made it impossible to donate to Firefox development; donations go to their activism branch, not browser dev [1]. In 2020 they also fired 25% of their work force [2]. They'll probably sunset the product altogether within a few years and that leaves us with an ever-greater market share of Chrome and derivatives, and from here on out it's hard to conceive of a viable strategy to develop an independent browser. Maybe a government or EU could do it, but that comes with its own set of problems.

[1] https://www.reddit.com/r/firefox/comments/a98gmi/donations_t...

[2] https://arstechnica.com/information-technology/2020/08/firef...


Because we were at the mercy of NCSA Mosaic, Netscape launched as a Mosaic killer. Then as Microsoft awoke in alarm because they were at the mercy of Netscape they launched Internet Explorer, effectively killing Netscape which spun out Firefox in response. Google became alarmed by the prospect of being at the mercy of Microsoft and so launched Chrome.


The simple answer is, browsers are brutally hard. Browsers have to support an almost infinite amount of instructions, whether it's html, css, js and now wasm, not to mention the insane amounts of apis, protocols and so on. I mean just open the developer tools and think of the insane amount of work that would have to go into developing something like this. Even Microsoft with thousands of developers at their disposal and finances to double them with a snap of a finger, figured that it's not worth developing a browser engine in-house. That alone speaks volumes.


Quoted from Lam Luu above (in case you don't have quora login):

Let’s do some accounting. A (quasi) modern browser must:

Parse 4 different languages: HTTP, HTML, javascript, and CSS

Encrypt and decrypt SSL (multiple versions of SSL, in fact).

Deal with network.

Act as first and most important defender of user’s security.

Deal with graphics (e.g. win32, Xorg, etc.)

Layout HTML and CSS.

Interpret Javascript.

Deal with local storage.

The above list is just the bare minimum. A regular modern browser also:

Has plug-in systems (more difficult to design than most people think).

Stores history and favorites. Syncs them across different devices, too.

Supports multiple tabs at the same time. “Incognito” mode.

Stores passwords.

Provides GPS, webcam, and microphone support (HTML5).

Stores and recovers session in case of crashing.

Checks for upgrade and installs itself as needed.

Do all of the above fast fast fast.

I mean, any of the above items (in both list) would require at least tens of thousands of line of code to do right. Yes, even network programming. Effective and fault-tolerant handling of network is very very hard.

And this is just the bird-eye level of looking. Each item can be split into smaller items, each of which is major in their own right. For example, HTTP has multiple versions, and a web browser has to deal with as many as possible. Javascript is, well, no comment. HTML is a *** mess, to put it mildly. SSL has multiple versions, each of which has its own bugs to contend with.


RedHat still offers Konqueror (Safari's father, and Chrome's grandfather) in their repositories. I think that would likely be a better base to revive a community browser.

After some discussion of suckless.org last week, I decided to load "surf," the suckless webkit browser, on OpenBSD.

The URL appears to be specified only on the command line, not in the GUI (the Ctrl-G sequence in the manual page does not appear to work). I can't get it to accept a self-signed cert (easy in any other browser). No back/forward button in the default GUI, and I can't get them to come up.

Browsers are hard, and they require a funded and dedicated organization to maintain them.


From time to time I use surf, but it isn't a fair example of what is hard. Suckless.org's philosophy means you may need to recompile for any configuration change and something like trusting a self-signed cert is often done via configuration.


Whenever this question is asked Apple is left out, please remember that all browsers on iOS are effectively Safari.

In my market (mostly in the UK), 54% of transactions happen on a iOS device. Nearly 60% of transactions are using the Apple Webkit engine when you also count Safari on MacOS.

Apple absolutely dominates browser engines, I cannot understand why devs (with Macs) don't all do their initial development with Safari then test in Firefox/Chrome. Seems completely backwards to do your development mostly with Chrome.


> I cannot understand why devs (with Macs) don't all do their initial development with safari then test in Firefox/Chrome

Probably because Safari's dev tools are notoriously worse than what Chrome and Firefox offers.


It takes a huge, lengthy effort to make a browser that is close enough to standards compliance and performant enough that people would be happy using it.

Even if you do all those things, there's little guarantee that your efforts would be noticed by many people, since you would need to do a LOT of marketing (especially to get your browser installed by default in MS/macOS worlds).

The costs are just not worth the risk-adjusted rewards.


The web is too complex, and also a moving target. You don't just write a browser and be done with it.

Are you prepared to devote your entire life to it? Why not?


Chrome has such a market dominance that it effectively determines what 'fully featured' means. Regardless of what the specs say, if something works a certain way in Chrome the layman's expectation is that it should work the same way in every other browser.

> What keeps developers from building an open source alternative?

Well I can't speak for all software developers but I can tell you that for me the juice to squeeze ratio isn't in a good place. I already have a job and it takes up most of my time. The open source movement has turned out to be unsustainable in my eyes since its ideological roots are easily subverted by the project sponsors. Meanwhile commercial closed source software is only viable if you can find paying customers. Virtually no one is willing to shell out for a web browser since there are highly useful 'free' alternatives. Certainly I find it troubling that virtually all the data in the world is being collected, collated, and sold. Most folks don't seem to care enough about the privacy concerns to open up their wallets though. Google has effectively 'won' the browser wars barring a government solution. So why should I or any other software engineer enter into a David v. Goliath fight for virtually no pay or appreciation when I could go work on the next big web app and make a small fortune instead?


It makes sense once you accept that a browser engine is roughly equivalent in scale and goals of the userland for a modern desktop OS.


> Why are we at the mercy of …

We aren’t at anyone’s mercy.

Nobody is forcing us to use browsers from google or Mozilla.

We are all free to implement our own UA. The specs are all open standards.

What stops us from writing browsers is the sheer volume of time and effort required - hundreds of thousands of hours of highly skilled work. That is all.

In the absence of such an effort, we would be left high and dry, with no way to experience the web.

Fortunately, that isn’t the case, because some others have done the work and allow us to use their browsers.

For that, we might feel grateful.

We might also be wary, and try to be aware of any adverse consequences of using someone else’s thing. That’s common sense, but it is still not a case of being at someone’s mercy. That situation loomed when one company sought to control the standards for the web as well as the implementation, but what we have today is different to that.


Apple's Safari also uses a distinct rendering engine, Webkit. Chrome is based on Blink which was forked from Webkit and the two are quite different now, including in terms of supported features.


We are not at the mercy of Mozilla

It's Chrome/Chromium-variants vs Safari

Firefox lost the war many years ago

Opera was the best browser imo, i wish it took off, nowadays it's just a chromium variant; wich is sad


Recently started noticing that they (MS) shoved their mobile Edge browser into the Outlook app in iOS. It was consistently nagging to just activate (whenever any URL is clicked from an email). It was time to say goodby to the Outlook app.

No disrespect to MS of course, but nobody needs another browser by force when one is already installed natively.

Read Entire Article