Open Source Insider Write, as I have, about Firefox and you receive the usual slew of critics who demand to know why Firefox matters? Who cares if Firefox continues to exist? This is often accompanied by "Chrome is better! Chrome is all we need!"
Clearly a lot of people do think Chrome is better. StatCounter, which offers reasonably reliable numbers on browser market share, puts Chrome at just over 50 per cent of all web browsers.
That's an impressive market share, one that leaves the remainder of the browser world as a fight among minor fiefdoms, with Mozilla holding about 14 per cent and Microsoft (combining Edge and IE) about the same. Safari and Opera are hardly worth mentioning on the desktop (though you should see Opera's worldwide mobile stats, nothing to sneeze at there).
It is therefore an inevitable question to ask: does Firefox matter? Underlying this, though, is the broader question: is it important to have a diversity of rendering engines on the web?
Let's start with Firefox. Mozilla's browser has slid from its position of bright light out of the IE darkness into nigh on irrelevancy in terms of pure numbers. Chrome dominates desktop and mobile, you can even see that decline in this handy chart from StatCounter.
If you're a web developer looking at that chart what you see is, "Man, wouldn't it be nice if Chrome would just finally finish off the others to become the one true browser."
Or, even, what if there were only the Blink rendering engine? There'd still be lots of browsers perhaps, but they'd all use the same rendering engine. It's every web developer's fantasy. And this time it's different, because Chrome is different, Chrome is pretty good. And WebKit/Blink is open source and doesn't have some of the problems that made IE6 such a web-threatening nightmare.
Would it be different, though? Monocultures are brittle, vulnerable, and difficult to change. Certainly this is true in crops, and it has been true in the past on the web with IE6.
As it happens, this doesn't have to be a theoretical thought exercise. A browser monoculture already exists, though – fortunately – in a contained form. Buy any Apple device and the only browser engine you'll have will be WebKit. You can download Chrome, you can download some weird browser only 15 people have ever downloaded and both of them will behave exactly the same when it comes to rendering pages. That's the predictable sort of world that web designers would love to have.
Fortunately web designers don't run things online because that world, the WebKit-only world of iOS, sucks.
It doesn't just suck because it's perpetually lagging behind on the innovation curve, vulnerable to the capricious whims of a single corporate entity and just plain boring – though all those things are true. What really sucks is that it has no competition, and without competition it has no reason to evolve. This is why it's perpetually lagging behind its peers in features and standards support. It's why it's boring and it's why the web needs Firefox and, yes, IE.
The problem with thinking that the web would be better with only one browser is that it raises the question – better for who? Better for web designers? Maybe, but that's a statistically insignificant portion of the people on the web. Better for users? How?
The usual answer is that things will look the same on every device.
The meteoric, globe-spanning, unprecedented adoption of the internet clearly shows that the billions of people already using the web clearly don't care that it has bugs and sometimes looks different on different devices. When developers say a monoculture is better for users what they mean is that if there were a monoculture the users would always see exactly what developers want them to see.
The web would not, in other words, be so messy. Messy is a thing that web designers and programmers seem to dislike. But the web has always been messy, is still messy and likely will always be messy. The web is never going to look the same everywhere, it's always going to have bugs and it's always going to fail sometimes.
It is the most imperfect large-scale programming task ever undertaken. It is also the most human piece of software ever devised precisely because of these things.
More people participate in the web than any other programming-related thing in the world. People don't dislike the web because it's messy, they embrace it because it's messy and mistakes will be overlooked.
If you attempted to recreate the web in some really clean, precise code (you should totally use Haskell when you do this) you'd have something that would impress the heck out of your programming peers and no one would ever use it –not even your programming peers. Ask how things worked out for the group that specced XHTML 2.
The dream of a single rendering engine is the dream of someone who fails to understand the most fundamental thing about the web – it's a mess, but it's a beautiful, flexible, powerful mess.
The web thrives on diversity. It's the diversity of the web that sustains it and it's the thing that will mean it's still around long after all the monocultures, whether they be browsers or Facebooks or Googles, have long since vanished from the online ecosystem. ®