Summary
In the balance between diversity and standardization, creativity and stability, lies the good health of the Web dev community.
We had a pretty good run, but the pendulum is now swinging back toward a monopoly and we have been complacent about it because it was very convenient. It’s time to actively support alternatives to Chrome, as the IE6 story is, if not going to repeat itself, definitely going to rhyme and bite us in the butt.
Both. Both is good
The universe of software (and pretty much everything else as well, but it's a software blog) is perpetually in a state of tension between diversity and standardization.
Make something standardized enough, and suddenly we can collaborate better, we have a foundation on which to build, we can make assumptions, we can automate, we can create robust systems that stand on the shoulders of conventions.
On the other hand, too much of it, and you'll get stagnation, inflexibility, and an aging system that slowly creeps into obsolescence.
Make something diverse enough and you get creativity, innovation, anti-fragility, a sense of joy and adventure that births new communities and compounds opportunities.
Yet if you go too far, you get instability, the paradox of choices, a waste of resources, and an uncooperative system that evolves toward chaos.
Of course, the problem is, that those two things are opposite forces, since standardization means homogeneity, while diversity means more options exist.
So the pendulum swings between them, in rhythm with the cycles of politics, fashion, money, and social norms. You always have a mix of both, on thousands of different spectrums that cross each other.
But today we are interested in Web standards.
The case of IE6
When Internet Explorer 6 came out in 2001, it was great. The browser made CSS usable, XMLHttpRequest (for Ajax) was not an Active X object anymore, the JS engine was much better and IE6 came pre-installed with the widely popular Windows XP, making the Web a viable application platform. A giant leap compared to Netscape.
The innovative features and the standardization (it reached a 90% market share) allowed a whole new world to flourish, Gmail and Facebook could exist in the form we know them, ridding the DotCom bubble.
It was wonderful.
Then it was awful.
Microsoft having the monopoly on the Web browsers used all the tricks in the book to make sure it stayed that way and succeeded. Being almost the only game in town, they decided there was no use to invest in it anymore.
IE6 stopped evolving. It went from being a solid standard to a crystallized fossil.
But the Web didn't stop, and users started to expect more and more from the products we would code. Javascript was still very slow. IE didn't have a debugger. The CSS box model was all over the place and the DOM was plagued with memory leaks.
There was no addon at the time, so you had a few alternative ways to extend IE: toolbars, Active X, and embedded runtimes such as Flash or Java applets. All of them killed the browser prefs and opened terrible security issues, at a time were everybody on the web had basically their keys left on the door.
And we kept building on this tech that we all knew was not up to the task of supporting a Web that was growing faster than European mushrooms after Chernobyl.
As the pain grew, competitors started to gain traction. Opera improved its engine, added better compression coupled to its own CDN and... tabs! The KDE project made its KHTML engine much more accessible to the point Apple could adopt it. Then Firefox came in. Well, it was called Firebird. Well, it was really first called Phoenix. But it was Mozilla's baby anyway, and it featured add-ons.
Add-ons were a revolution. They were safer, easier to install, and better integrated with the browser than any alternative.
Suddenly the community could go wild and this is where we saw the surge of ad blocking, mouse gestures, debuggers, form savers, and all the things we take for granted today.
But there was a problem: those competitors respected standards, had adopted more modern features, and got better engines than IE6.
And it broke everything.
Too many sites were relying on an IE6-only crowd, you had pages pestering you with "This site works better in IE6" banners, layouts that looked all over the place, despite the fact you were using a superior product.
You still had to dev on IE6, a now slow tech with zero debuggability and a broken Web implementation because it was everywhere, and MS didn't want to touch it.
We, as a web developer community, started to grow a literal hate for IE6. It was making our life difficult. It was preventing us from living in the future. And we were stuck with it because some big guy in the sky had power over the normies.
Then the fire nation Google attacked
Firefox grew to a decent market share, but it was a hard fight, because how are you supposed to convert people to use it when:
Most users thought the E icon was for "starting the internet".
MS was making it very difficult to install an alternative browser and keep it as the default one.
Windows was everywhere and required IE for everything. Even Encarta required IE to work.
That was without counting on a little startup that started to look very big: Google killed the game with its search engine plus was pushing email and videos to their limit. And it didn't want to wait.
They first sponsored Mozilla (and still do), but eventually realized they would benefit from having a better, faster, more powerful browser in every user's hand.
So they created Chrome.
When Chrome came out in 2008, it was great. The browser was so much faster, the JS engine (the infamous V8 that eventually was extracted to become NodeJS) was incredibly efficient and it was following modern standards, like Firefox.
Unlike Mozilla though, Google had the firepower to take on anyone.
For a time, they did something they had never, ever done for anything else before: they advertised for Chrome on their search engine's home page. Before you started to type your query on the most popular Website in the entire world, you had a banner selling the average Joe a better, faster, and safer internet. No product ever had a more prominent ad placement in the history of mankind.
It worked. Chrome became very popular, very fast, and a new golden age of web browsing came along. If you can make SPA today, it's because browsers had to compete again for performance and features, and standards started to get updated at a rapid pace.
Microsoft eventually had to get its act together, and released IE7, 8, 9, 10, 11 and finally, Edge, adopting the same rendering engine as Chrome.
It was wonderful.
But now it will get awful again.
The pendulum swings back
All this diversity gave us a lot of innovation, then it stabilized so we could build on the foundations, but then we got stuck in the mud. Then diversity came back, moved us out of the swamp, sparked a lot of excitement and new things, then stabilized once more on homogeneity. And we built, we built, we built.
But now we are on the verge of getting stuck again.
Chrome is everywhere, not just the Web browser, but its rendering engine. If you use Brave, Opera, Edge, Arc, or Vivaldi, you are basically using Chrome in a trench coat.
80% of the entire web user base is currently a monoculture of Chrome.
Websites that tell you they work better in Chrome or just straight-up breaks in other browsers are now popping up more and more.
Many devs are not using anything else for their daily life, and only test with it.
We are giving a monopoly to a mega-corporation again, and it will bite us. Google will abuse its dominant position. Not because they are evil, but because it's just the natural tendency of a system that is optimized to win. It's a reflex. It's automatic.
And we, the devs, will be caught in the middle.
How it's going to be bad for us? I don't know. The specific cannot be predicted. Maybe Google will use it to make adblocking harder and harder, impose code signing so we can't control the client anymore, or force DRM on us. Maybe something else.
I won't pretend to know the future.
I don't know how, when, and where we are going to drown, but I do know the water is rising.
We need to support alternatives more than ever.
We need to use things like LibreWolf, the Firefox fork, and test with it.
We need to report bugs on Lady Bird, the new fresh attempt at a browser, and contribute to Servo, the rust alternative browser engine.
As developers, we are responsible for driving the ecosystem we are going to experience in the next decades. Not because it's our responsibility, or because of some moral high ground.
But because it's where we live.
Now pay up!
I know, it's cheesy. A whole article to eventually call you to give away money.
But given the latest Mozilla shenanigans, I donated to both Lady Bird and Servo, and it made me realize that as I'm getting pretty popular with this site, I should use it to encourage you to pitch in.
It's not just money for their success. In a way, it's money for your future happiness too.
And if you don't, well, I still love you.
Ok, I don't know you, so maybe not "love, love", but no hard feelings.
>>> When Internet Explorer 6 came out in 2001, it was great. [...] ... the Dotcom bubble would ensue.
Not quite right. The bubble started in the mid-1990s, and was just about ready to burst in 2001.
I quite agree with your larger point about browser monoculture, though.
Like they always say, all good things must come to an end ✌️