We've decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we've posted previously.
What a bizarre concept, to support standards by default.
We've decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we've posted previously.
What a bizarre concept, to support standards by default.
Yesterday, before publicly announcing it, developers from Microsoft called me and others to let us know that IE8's version targeting will now work the same way other browsers work, i.e. advanced standards support will be on by default. Some people will say Microsoft caved; others, that they listened to public opinion; some may even buy the company's own explanation, which is that, given a company-wide reorientation away from proprietary winner-take-all competitiveness and toward interoperability, "web standards by default" takes precedence over "supporting all those badly made websites that were created specifically to work in IE."
To clarify the situation, I asked Chris Wilson what would happen if IE8 were to encounter a valid, well-formed document with a strict DOCTYPE. My worst fears were realized when he confirmed that the browser would behave exactly as if it were its predecessor.
This is gobsmackingly audacious. Imagine a new version of Word that behaves exactly like the old version of Word unless the document it is processing contains a hidden instruction to unlock any new features. That's what Microsoft is demanding that web developers implement. Unless you explicitly say otherwise, IE8 (and IE9 and IE10, ad infinitum) will behave exactly like IE7.
Mistakes that Microsoft made in the development of its browser - for commercial reasons that at the time were perfectly reasonable - have now come back to haunt its modern incarnation in a way that looks impossible to exorcise. So, because of decisions taken in the late 1990s, any future version of IE will be forced to render some web pages as though it were the clunkiest product that ever walked the earth.
Back in 2001, Microsoft conquered the browser world with Internet Explorer 6. Meanwhile Netscape Navigator expired, but not before breathing its last words, rather like Obi-Wan Kenobi facing Darth Vader: If you kill me, I'll become stronger than you can imagine. IE had killed Netscape - or so Microsoft thought.
By 2001, web developers had grown used to the "IE tax". When designing a web page they had to check to see whether the incoming browser identified itself as Internet Explorer (using the "browser agent string" that every browser passes to the server). If so, they served up one set of HTML that dealt with the strange quirks of IE6. If not, they served up the more standardised HTML. This became so familiar that some developers began to think that it was the other browsers that were at fault. But no, it was IE that didn't conform to standards for layout.
...
Is being treated as quirky so bad? Yes, for IE. It means that it has to carry a greater overhead of code, some to render the old 'quirky' code and some to render the new, compliant code. Dave Hyatt, who is in charge of Apple's WebKit browser code - also used in the iPhone and in Google's promised Android mobile phone platform - points to this as the real problem:
'We think maintaining multiple versions of the [WebKit] engine would have many downsides for us and little upside. The IE team is, of course, under different constraints and free to make their own choices.'
Except, of course, the IE team can't make many choices. They're stuck with it. The new scheme that they have come up with for Internet Explorer 8 - due some time in the next year or so - demands that web developers include a tag in the headers of the page saying 'X-UA-Compatible', which translates to 'Welcome, standards-compliant IE!' If IE doesn't find that tag, it will assume the web page is assuming that it is an old, quirk-ridden version.
It slipped through the cracks on my radar, but apparently the IE8 team has met with some web standards gurus and decided that in order to move forward with full standards compliance (and support the known quirks of IE6/7 for corporate intranets), a new "version targeting" system should be put in place. Other browser vendors are not amused. Should IE just give up?
There's a whole lot more commentary round-up over here. Highlights : John "JQuery" Resig sees too many problems, James Bennett gives an overview, Hixie thinks it's anti-competitive and toy lemurs act out the controversy.
See also the two follow-up posts from Mozilla developer Robert O'Callahan on why their team doesn't suffer the same issues.