How Microsoft lost the Browser Wars
On December 3rd, Microsoft announced the once-unthinkable: It would be switching, Edge, its proprietary web browser’s codebase from its own to Chromium, an open-source project that forms the base of Google’s Chrome.
Internet Explorer: A Brief History
Internet Explorer (IE) was first released as part of the Plus! add-on package for Windows 95, and then freely available via services packs or downloads, then later bundled in Windows 95 OEM copies with PCs. This tactic was exceptionally effective, as its chief competitor Netscape Navigator (which constituted roughly 80% of the market) was not free and depended on the revenue it generated. Microsoft also emphasized providing a superior experience. Netscape Communicator began earning the reputation as buggy and bloated whereas Microsoft was outpacing Netscape. Internet Explorer 3 was the first browser with CSS support and added features like Java applets, iframes, ActiveX. Microsoft also created the Javascript feature, XMLHttpRequest (shipping it with IE5 in 1999) allowing for data real-time data transfer (the technology powering AJAX), paving the way for modern web applications.
1998 was the year of Internet Explorer as several key developments happened:
- Microsoft had closed the gap to control nearly half of the market.
- Its dominance didn’t stop at Windows either, as part of a negotiation to bring Office to the Mac with the then-struggling Apple, Apple agreed to ship Internet Explorer as its default browser for five years.
- Netscape was unable to compete and was acquired by AOL for $4.2 billion. However, Netscape unusual step of releasing it’s source code before AOL purchased it.
- Microsoft’s decision to bundle IE as part of the Windows operating system became a chief issue in the Microsoft Antitrust case, United States v. Microsoft Corp in 1998.
Despite the legal hurdles, all the reasons mentioned above lead to the inevitable rise of IE, as it was the default web browser for Windows, hitting roughly 95% of the browser market in 2001 with Internet Explorer 6. This would be the high watermark for Microsoft. Microsoft would not release a major update to Internet Explorer for five years.
Despite the nearly impossible odds, a collection of developers created the Mozilla Organization open source foundation based on the Netscape codebase, and began updating and improving it, called the Mozilla Suite (an all-in-one browser/e-mail client), paying particular attention to standards, accessibility, and cross-platform ports. In 2002, a stripped down fork of the Mozilla Suite, Phoenix a none-too-subtle reference to Netscape, kicking off what would be referred to as the Second Browser War. Phoenix would later change its name to FireBird after a trademark dispute in 2003 and ultimately landed on FireFox in 2004. The success of FireFox hinged on providing a superior experience with novel features such as popularizing tabbed browsing, pop-up blocking, privacy mode, phishing protection, frequent incremental updates, built-in search bar, easily installed plugins, theming, cross-platform support, adherence to open standards, speed and security.
Also adding to the mix, a rejuvenated Apple entered the fray in 2002, forking the Linux browser Konqueror’s codebase, KHTML, naming its open-source project Webkit. Apple released the beta it’s WebKit based browser, Safari for download shortly after. Free from its contract with Microsoft, Apple began bundling it with Mac OS X 10.3. Microsoft curtly discontinued Internet Explorer for Mac OS X, again doubling down on its five-year hiatus from any new Internet Explorer updates. Internet Explorer would never be ported to any Mac operating system again.
Despite the competition and lack of engagement, Internet Explorer still maintained a healthy market dominance, controlling roughly 70% for most of the decade with FireFox as its chief competitor.
In 2007, Apple released the iPhone which sported a first for a phone: Safari, a fully functional web browser, earning the Microsoft’s CEO Steve Balmer would famously laugh at the iPhone. Microsoft’s Windows Phone failed even to capture a fraction of the market, effectively stranding Internet Explorer as a desktop only browser.
Adding insult to injury, it took Microsoft roughly two and half years to release Internet Explorer 8, after 7. A lot had changed between the years of mid-2006 and 2009.
In 2010, Google started heavily marketing it’s Google Chrome browser. Google’s Chrome browser was initially based off of Webkit (later be forked in 2013, naming its engine Blink and its open-source version called Chromium) wrestling market dominance away from Microsoft in two short years, something FireFox was never able to do.
Finally, after suffering for years, Microsoft went back to the drawing board and re-engineered Internet Explorer, removing legacy support and reworking its rendering engine. By most intents and purposes, Edge was a capable browser often boasting reaching compatibility milestones before some of its competitors but failed to be embraced by users and still had a reputation of being a laggard.
Not all web browsers are created equal.
The by-product of the browser wars was creating bodies such as the Internet Society (ISOC) in 1992, World Wide Web Consortium (W3C) in 1994, Web Hypertext Application Technology Working Group (WHATWG) in 2004. These bodies helped outline the functionality requirements of a web browser. The collaborative nature of open-standards allowed the internet as we know it to exist, and more importantly, evolve.
Also as public exposure to the internet increased, so did the general public’s understanding of how the internet worked. A vast bulk of users became aware a web browser affects one’s experience, even if only acutely so. Web browsers are surprisingly complex as they must interpret multiple sets of core-technologies: HTML, CSS, Javascript, a diverse range of media (images, video, audio, fonts) and APIs like Canvas, Microdata, Cookies/Web Storage, Geolocation, Web Cryptography, WebRTC, WebGL and so on.
A browser’s ability to perform all these tasks, support the latest and greatest meanwhile providing security and stability has been a monumental challenge.
Internet Explorer’s meteoric rise was in part that early versions of Internet Explorer were as good and arguably better than its competition and it’s fall entirely hinged Microsoft’s wanton disregard for keeping up with the evolving standards or improving its user experience.
Cross-Browser Compatibility
With Internet Explorer’s infrequent updates, it became the bane of both developers and ordinary users. Internet Explorer earned a well-deserved reputation for being developer unfriendly, for a myriad of problems:
- Tying browser updates to the Operating System – It’s hard to overstate how big of a problem this became. Users often clung to outdated versions of Windows such as Windows XP and often refusing to update to the latest service packs.
- Poor developer tools – Internet Explorer didn’t have a sensible “inspect element” although IE11 made this considerably better. It also was buggy, failing to allow live changes in earlier versions, and has arbitrary limitations. It was impossible to have more than one version of Internet Explorer on Windows. IE11 introduced emulation modes that were inconsistent.
- Glacial adoptions of standards – IE infamously did not support CSS graphic-effects like rounded corners until 2011 (whereas it’s competitors had this as early as 2006). It did not support javascript commands like querySelector until 2011 whereas Safari and Firefox supported this in 2008/2009 ).
- Proprietary Technology/Non-standard implementations – Microsoft forwarded a poor choices, such as ActiveX, VML, HTML+TIME
- Available only on Windows – web developers embraced *nix based operating systems like Linux variants or Mac OS X (Unix) making testing a hassle, depending on annoying solutions.
- Security risks – Some of the blame for IE’s security can be blamed squarely on Microsoft (Active X was a security nightmare) and some for being the most popular browser on the most popular OS. Bugs are inevitable. Patches are too. Microsoft’s slow response could have been improved.
Both Internet Explorer and Edge have been and still are pain points. This is especially felt in projects that cater to user-bases with disproportionately high usage of Internet Explorer or Edge, such as corporate environment, certain foreign markets, or niche demographics.
This placed a lot of additional testing and development on Internet Explorer and gave rise to a host of solutions like jQuery, Modernizr, HeadJS, and various “shims” or polyfills to either bring like-functionality across browsers or directly to Internet Explorer.
Worse, as the web development community moved towards developers favoring *nix operating systems (macOS and Linux variants) it meant testing Internet Explorer became increasingly cumbersome without a way natively test it. Since Internet Explorer commanded a sizable portion of the market share, developers were at the mercy of Microsoft. Even in mid-2012, when Google Chrome surpassed Internet Explorer as the most popular browser, it still commanded roughly 1/3 of the market.
A Tarnished Legacy
Internet Explorer earned a reputation as the browser to be avoided, with most tech proponents (security experts, privacy advocates, web developers, techies, etc. ) recommending alternatives, it’s easy to see Microsoft’s conclusion: the Internet Explorer brand was tarnished. Rather than try to convince users to switch back to Internet Explorer, they offered a new product.
Microsoft stands at a vantage point few companies have, making up roughly 80-90% of the PC market share, a near monopoly. Despite shipping every copy of Windows 10 with Edge, it’s only managed to convince an extreme minority of users from using it and surely will become a parable for the tech industry.
This was on the heels of a very confusing time in Windows, Microsoft’s Windows 8 was widely considered a disaster from a user-interface perspective. It was an OS that couldn’t decide if it was for a tablet or a desktop and introduced some abysmal choices, including two versions of Internet Explorer 11 with wildly different user interfaces. This had the effect of mystifying for a user searching for the friendly-blue E icon. Microsoft also drastically changed the start bar (a decision so contentious that they changed it both in Windows 8.1 and Windows 10).
Then for millions of users, Windows 8 was suddenly upgraded without warning to Windows 10, whether they wanted to or not, yet again drastically changing the user experience (mostly for the better), and they were presented with an unfamiliar browser called Edge without properly communicating its advantages. Beyond a simple blue screen introducing Edge, Microsoft missed an opportunity to have a conversation with its users, something it’s competitors like Apple had increasingly become adept at (any time a user activates a new iOS device, they’re presented with onscreen instructions and invited to take tours of new features found in iOS or macOS).
While playing catch-up, Microsoft also failed to change its release strategy for Edge, preferring to bundle it with OS updates rather than the rapid-fire releases of both Chrome and FireFox on 6-week update cycles, dooming it to lag behind the rest. Even if it was able to briefly brag about its javascript ES6 compatibility, its market share was shrinking.
While Microsoft’s developer outreach had improved beyond MSDN (Microsoft Developer Network), modern.ie (allowing developers to download copies of Windows virtual machines for popular Virtual Machine programs like VMware, Parallels, Virtualbox), it didn’t quite go the extra mile that both Mozilla and Google had, and even Apple. Apple’s WebKit included early on essential tools like Webkit inspector for viewing the DOM (Document Object Model) and introduced the concept of Remote Inspect Element, allowing debugging web pages on iOS devices from a desktop computer years before its competition. Mozilla pioneered a developer version of FireFox that could connect both Android and iOS devices for debugging, and since its inception offered access to betas, alphas, and roadmaps of planned features as well as authoring oodles of developer documentation pertaining to both, it’s browser and web standards. Google took its developer tools in Chrome to the next level, besting its competition with oodles novel features especially in the realms of Javascript and CSS debugging. In short, Microsoft had evolved, but not enough to keep up with the times.
Microsoft also never considered bringing Edge to OS X/Linux nor made it open-source. This might seem like an absurdity, but the web development world during the past decade has widely switched macOS and Linux and embraced the concept of open-source browsers. It’s three major competitors from Apple, Mozilla and Google all had codebases that were open-source. Lastly, Edge had the dubious honor of being both the only closed source browser and the only major browser offered on a single operating system (Even WebKit has a Linux port). Microsoft eventually released it’s JavaScript engine, ChakraCore but never its entire browser. Testing Internet Explorer was cumbersome for anyone on *nix system as it required running a virtual machine, Edge was no different.
The Future of Edge
As of writing this, IE controls about 2-7% of the market depending on the source, despite Microsoft’s hyper-aggressive push to Windows 10. The chief holdouts in North America are in corporate environments, using older Microsoft OSes such as; Vista, 7 and 8 which shipped with Internet Explorer. Surprisingly by most metrics Edge hasn’t surpassed Internet Explorer in usage stats but it will in time.
Edge’s switch to Chromium for is unlikely to change it’s current market share woes. It faces an uphill battle as it joins a legion of Chromium-based browsers that have little to no footprint (Opera, Vivaldi, Yandex, Brave, Comodo Dragon, Amazon Silk, Samsung Internet, Torch, Slimjet, etc.). Since the rendering engine is controlled by Chromium Open Source project, they offer little beyond minor variations of User Interface and service integrations (akin to popular plugins).
This is analogous to the current offerings on iOS, (Chrome, FireFox, Yandex, Brave, Edge, and countless others) as any web browser required to use Apple’s Webkit engine, which offer few compelling reasons to use anything other than Safari. Chrome remains a popular alternative on iOS as it provides integration with Google cloud services (such as tab sharing between desktop and mobile). It also likely benefits from its reputation and the fact many users are unaware that the iOS port of Chrome is not the same as the desktop browser. Chrome for iOS is Safari with a few minor tweaks. So is Edge but without Chrome’s reputation or userbase. The question of “Why would one use Edge on iOS instead of Safari?” is the same to “Why would one use Edge instead of Chrome on Windows?” If you can’t think of any compelling reasons, you are not alone.
Microsoft throwing in the towel is surprising as it cedes the power to Chromium control and is no longer able to manage the nuts-and-bolts of its experience in the way Apple has on iOS, forwarding its own chief concerns: privacy, performance and battery life. (Safari 12 on macOS bests even Chrome is javascript benchmarks and battery life) . Microsoft will contribute to the Chromium project which isn’t the same as shepherding its own open-source project. Given Microsoft’s history, this may be for the better but at the cost of replicating Apple’s success with Safari. (Edge sports better battery life than resource-heavy Chrome)
In a cynical sense, Microsoft switching to Chromium means one less browser for developers to care about as under-the-hood, it will be functionally the same as Chrome; thus one less browser to test and less time required to develop a web application and less chasing down errant bugs. It also might improve the user experience for end users if Edge uses the update-model common to modern web browsers. Despite short-comings, a fairly capable browser and much worthier adversary to FireFox, Safari and Chrome. Edge likely become a footnote to the story of Internet Explorer, too-little, too-late.
Losing another browser rendering engine puts the web closer to a Chrome-monoculture, ceding Google even more power to shape the web in the future, placing Chrome in the position Microsoft once held with Internet Explorer.