When I started my career in web development, there were essentially two browsers to choose from: Netscape Navigator and Internet Explorer. (Opera was popular in Europe but never caught on in the USA.) Web standards didn’t exist yet, and browser vendors implemented new features fast and loose, with little regard for cross-browser compatibility. Sorry if your site doesn’t work correctly anymore, but look what our browser can do now!
For Microsoft, the hardball power player of the 90s, incompatibility was part of the mission plan. They leaned into incompatibility, recognizing that websites built with proprietary Internet Explorer features would lock users into the Microsoft ecosystem. They poured money into Internet Explorer knowing that it was an arms race.
When Internet Explorer 6 was released in 2001, it was amazing. It included powerful scripting capabilities (hello, AJAX!) and a slew of other features, opening up many possibilities for websites. IE6 really changed the game. Within a few short years it was the dominant web browser, not just because Microsoft forced users to install Internet Explorer with the Windows operating system, but because the browser was clearly better than the rest.
Microsoft, being very enterprise-focused, further entrenched IE by creating a myriad of web services and platforms that would only run on Internet Explorer. Their enterprise customers followed suit. Before we knew it, the World-Wide Web was littered with “This site works best in Internet Explorer” notices.
Over time, Internet Explorer went from being the homecoming queen to being a pariah, a symbol of everything wrong with web browsers. The web development community pushed back, and new browsers were born, including Firefox, Safari, and Chrome. IE6 slowly lost its dominance, but refused to go quietly.
These IE6 remnants — this cruft — hung around for years. Easily a decade. IE7 was released in 2006, five years after IE6. Ten years on, Microsoft had only released 3 major updates, releasing IE9 in 2011.
Browser stats continued to show a significant IE6 user base, even after IE8 and IE9 had been released, thanks to a double-whammy of making IE updates optional, and a long run of enterprise lock-in. (I also recall IE6 was dominant in some countries outside the USA years later; I don’t know if it was due to software localization, government regulation, compatibility, or socio-economics.)
Many Windows users didn’t know to check the ‘update Internet Explorer’ checkbox in Windows Update, didn’t care, or weren’t allowed to update IE. I worked at a hospital around that time, and was horrified they still issued the ten-year old IE6 on all desktops because the hospital’s multi-million dollar software would not run on any other browser, including newer versions of Internet Explorer. IE6 was a huge security risk at that point, and they knew it, but had no choice as they relied on a vendor to update the clinical software, and that vendor had relied on IE6 so thoroughly, that adding support for other browsers essentially required rewriting the platform’s codebase.
Today’s browsers feature an auto-update mechanism precisely for this reason: Make the update easy to do, frequent, and (usually) backwards-compatible.
Eventually, Google Chrome became the modern IE6. As with IE6 in 2001, Chrome simply worked better than most other browsers. Chrome showcased innovation after innovation, and was fast. But there were two key differences between IE6 and Chrome: Chrome is based on an open-source rendering engine (Blink, a fork of Webkit) and the developers behind WebKit embraced web standards.
Even with web standards in place, Chrome sometimes implements proprietary features that Google hopes to fast-track into being a standard. The H.264 video codec is a good example; Google’s insistence on supporting H.264 natively (oh hi, YouTube!) pressured other browser vendors to support it as well, despite patent concerns, creating a defacto standard.
As with IE6, Chrome’s dominance has led to “works best in Chrome” notices. So much so, that both Opera and Microsoft waved the white flag and ceased developing their own rendering engine, in favor of implementing their own forks of Chrome’s Blink engine. This led to the release of Microsoft Edge: a new browser from Microsoft featuring Google Chrome’s Blink under the hood.
When Microsoft shipped Microsoft Edge, they concurrently supported IE11 for backwards compatibility, leading to a somewhat comical scenario where Windows shipped with two Microsoft web browsers. If a site didn’t work in one of them, try the other!
Last month, June 2022, Microsoft announced the end of support for Internet Explorer 11. They’re back to being a one-browser operation. Thankfully, Microsoft have become an active and trusted part of the web standards community, and their browser is built on an open-source engine. No more proprietary lock-in. I bid a respectful, and maybe slightly giddy, goodbye to Internet Explorer.
Aside: With Internet Explorer’s Trident engine being retired, there are currently only three major browser engines left: Blink (Chrome, Edge, Opera, Brave, Vivaldi), Webkit (Safari), and Gecko (Firefox). Apple’s Safari is not much of a player on desktop, but is huge on iOS. It’s well-funded and will be around for a long time. Mozilla is a non-profit, and is struggling financially. I hope they’re able to continue to develop Gecko and keep both Apple and the Chromium kids honest.