1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
The last two columns here have been concerned with the future of Firefox, which has generated the usual slew of critics who want to know, why does it matter? Who cares if Firefox continues to exist? Alongside this often comes another argument: Chrome is better; Chrome is all we need.
Clearly a lot of people do think Chrome is better. Statscounter, which offers reasonably reliable numbers on browser market share, puts Chrome at <a href="http://gs.statcounter.com/browser-market-share">just over 50 percent</a> of all web browsers as of February 2017.
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 percent 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).
All this lead to the following question: does Firefox matter, and, more broadly is it important to have a diversity of rendering engines on the web?
Let's start with Firefox. Firefox has slid from its position of bright light out of the IE darkness into pretty near irrelevancy in terms of pure numbers. Chrome dominates on both the desktop and mobile, you can even see that decline in <a href="http://gs.statcounter.com/browser-market-share/desktop/worldwide/#monthly-200901-201702">this handy chart</a> from Statscounter.
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 these other bits of nonsense and be 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 utopian 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 IE 6 such a web-threatening nightmare.
Would it be different though? Monocultures are brittle, vulnerable, difficult to change. Certainly this is true in crops, and it has been true in the past on the web with IE 6.
As it happens this doesn't have to be a theoretical thought exercise. A browser monoculture already exists in fact, though fortunately in a contained form thus far. Just go 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 on the web 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, but 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, Internet Explorer.
The problem with thinking that the web would be better with only one browser is that it's begging the question -- better for whom? Better for web designers? Maybe, but that's a statically 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. It is arguably the only even remotely humane software ever devised 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 the people who specced out XHTML 2 how that worked out for them.
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.
|