
It was about mid-December, just after Opera Software filed an antitrust lawsuit against Microsoft — partly focused on Internet Explorer not following web standards — that Microsoft finally came out and publicly announced their support for key web standards in version 8 of their prolific web browser.
With the recent release of IE8's first Beta the public can now finally find out for themselves just how well they have done that. What is even more interesting — and perhaps a matter of debate — is that they have done it in such a way as to not “Break the Web.” Or in other words, they plan to deliver IE8 with backwards compatibility by introducing a controversial third operating mode.
Don't Break the Web
Let's set the context via a brief history lesson:
Internet Explorer 5.5
Back in the days of IE5, there really were few web standards — or at if there were, developers didn't often pay them much heed. Much of the web content displayed was written in an IE5 non-standard interpretation of of the CSS2 (Cascading Style Sheets) specification.
And all the world was fine because Internet Explorer was really the only browser heavily used (yes Netscape was there, but…) and who really cared anyway. Pages displayed properly, websites worked as expected.
Internet Explorer 6
In 2001 Internet Explorer 6 showed its face and still very few companies were developing their sites or applications in standards mode. Microsoft however, decided to implement a switch that enabled developers to implement a standards mode if they wanted.
The switch is known as the DOCTYPE switch. If used the browser assumes developers knew what they were doing and wants the standards applied. Otherwise the browser would render the content the old way — in what was called “quirks mode.”
Why was the DOCTYPE switch used? Because Microsoft was committed to ensuring the backwards compatibility was maintained for older web content. This was captured in the motto “don't break the web.” Having the DOCTYPE switch was a way for developers to opt-in to the new “standards.”
So at this point Microsoft was supporting two modes for their browser: quirks and standard.
Internet Explorer 7
For almost 5 years all was well with the development world — working away on their applications and website, ensuring they worked with IE6. During this period of time, web standards really started to kick in and more companies were forcing developers to write to the standards.
Unfortunately, although they opted-in using the DOCTYPE switch for IE6, the standards it supported really weren't all that, er, standard. So many did workarounds for IE6's shortcomings — and a lot of work was needed at times. Essentially, Microsoft fudged the standards mode.
So, when in late 2006 Microsoft released Internet Explorer 7, all hell broke loose. By this time, more than half of the US websites were in standards mode, Microsoft found out. Microsoft had taken many steps to make the standards mode more “standard” in version 7, leaving quirks mode alone. They made a lot of changes to support the standard CSS specification.
The problem was so many developers had been using the IE6 standards mode and had done so many workarounds to that version of the standards, that when they viewed their sites or applications in IE7 — they found that the new standards mode broke the old standards mode content. And thus Microsoft had broken their own rule of “Don't break the web”.
That's a big reason why you only see IE7 available now as an automatic update to your browser and why so many companies were so slow to adopt that version internally.
Continue reading this article: