Money is a powerful motivator. To acquire it, Americans worked around 257,000,000,000 hours last year. In the short history of web browsers, a number of unethical things have happened, largely motivated by money. These include: businesses pursuing profit by means of monopolistic bullying, the use of closed source software to obstruct technological progress, profit at the expense of those you claim to serve, and the stifling of free choice. Perhaps we can avoid making the same mistakes again.
Our story begins in 1995. Marc Andreessen’s Netscape Navigator had just been released, and Microsoft had unveiled Internet Explorer, freshly purchased from a little company named Spyglass. Within one year, Netscape had gobbled up 86% of the previously-fractured browser market, with Microsoft holding 10%. But Netscape’s dominance didn’t last. Microsoft wisely began embedding Internet Explorer into its Windows Operating System, and including the software in deals with hardware manufacturers who built new PC’s. Microsoft realized the importance of defaults, and the psychological tendency that humans have to accept choices made for them, as long as those choices stay out of their way. Only interruptions or conscious thought necessitates changes to the current state of affairs.
Their strategy worked. By ’98, Microsoft had won the browser market from Netscape. Running low on funds, the beaten Netscape sold their company to AOL, and open sourced their browser (it would later become Mozilla Firefox). Unfortunately, Microsoft had done a number of unethical things during this struggle with Netscape, under the umbrella strategy of “embrace, extend, and extinguish“. They were accused of this modus operandi during the high profile United States vs. Microsoft court case between ’99 and ’02.
The strategy’s three phases were:
- Embrace: Development of software substantially compatible with a competing product, or implementing a public standard.
- Extend: Addition and promotion of features not supported by the competing product or part of the standard, creating interoperability problems for customers who try to use the ‘simple’ standard.
- Extinguish: When extensions become a de factor standard because of their dominant market share, they marginalize competitors that do not or cannot support the new extensions.
This strategy was utilized in a number of different ways:
- Microsoft leveraged its monopoly power in Windows to restrict Intel’s support for Netscape and Java.
- Competing with Netscape by leveraging their operating system monopoly and creating incompatible HTML standards. They gave IE away for free in order to suffocate Netscape’s revenues, preventing further product development. Microsoft wanted to prevent the standardization of Netscape because it threatened their control over software development and the pace of software innovation.
- MS planned to “extend” the HTML standard to the point where it would be incompatible with the Netscape browser and then to encourage developers to use the MS HTML such that web pages couldn’t be read with Netscape’s browser.
- Adding ActiveX controls in IE to break compatibility with Netscape, which used components based on Java and Netscape’s own plugin system.
- Attempting to break Java’s elegant cross-platform capability – so that Java programs written for Windows could not run on Mac or Linux. They omitted the Java Native Interface (JNI) from its implementation and provided J/Direct as a replacement, hoping to tie Java programs to Windows, making them unusable on Linux and Mac systems. Microsoft paid Sun $20 million in 2001, and then $2 billion in 2002 to settle.
- Taking steps to discourage office documents from rendering well in non-IE browsers.
As the years passed, Microsoft expanded their vision for an Internet of closed source software. Not only would they provide the browser to access it, they would provide the entire suite of tools to power it – .NET, C#, SQL Server, and Silverlight. Adobe also wanted a closed source web, powered by their newly acquired Flash. But the W3C, the World Wide Web consortium, who had not forgotten about Microsoft’s recent antics, wanted an open web, powered by open standards (namely HTML5, CSS3, and JavaScript). The W3C was supported by organizations like Google, Mozilla, and Apple, and each of those companies made significant efforts to ensure that their respective browsers supported code functions that the W3C proposed. Although the W3C had strong influence with the people who invented the Internet, Microsoft still had a lot of leverage over how most people accessed it due to their dominance in browser usage.
Why did IE6-7-8 have terrible support for web standards? Because Microsoft was applying the opposite strategy of embrace, extend, extinguish. They decided to use the clout of their large user base to marginalize the creation of open web standards, in hopes that developers would use Microsoft’s closed source tools instead. Whenever the W3C would make new standards or recommendations about how HTML, CSS, and JavaScript should behave, Microsoft would just ignore them. And not work too hard at fixing the large number of bugs in Internet Explorer. So, when developers coded their website to follow web standards, it would break in IE. This caused developers to have to write all kinds of special code just to pander to Internet Explorer and keep it happy. They had to write more code, and uglier code, just to make IE work. But, Microsoft was arrogant, and they took their strategy too far. After many years, Microsoft had all but alienated massive portions of the web development community, and they lost much credibility. Opera even tried to take Microsoft to court. Meanwhile, users began to realize that many websites looked weird or outright didn’t work in IE, and that other browsers like Firefox, Chrome, and Safari (which followed the standards and were open source) ran faster and looked better. Thus began the mass exodus of people away from Internet Explorer.
After falling from 90% browser usage to around 30%, the outright failure of Silverlight, and the decline of Flash, Microsoft realized that they had been foolish to disregard web standards, and they finally began building a modern browser. They made it about halfway with Internet Explorer 9, and finished the job with IE 10. Here’s to hoping that the Microsoft of tomorrow will be wiser in the way that they market their products, and more in touch with the needs of their users and the development community in general. But, they have a long way to go if they’re going to catch up with Google.