IE8 standards uproar and some clever Microsoft marketing
written by craig, 5 March 2008
The web development community has been in a state of fierce debate following Microsoft’s plans for standards mode switching in Internet Explorer 8.0.
As a little background, note that most browsers operate in the following way:
- If you declare a standard DOCTYPE at the top of an HTML page, the browser will do it’s utmost to render the page according to modern W3C standards.
- If you omit the DOCTYPE (or specify an ‘old’ one), the browser will switch to “quirks mode” and render the page as it would have in the last millennium.
In theory, anyone using older layout techniques won’t notice any issues, whereas web-standards aficionados can push browsers to their limits. Unfortunately, IE6’s support for standards was dubious at best.
Along comes IE7…
Much to everyone’s surprise, Microsoft did their best to support web standards in IE7. It’s still some way behind Firefox and Opera, but at least MS followed the community rather than just giving IE6 a cosmetic makeover.
Unfortunately, many older sites were specifically designed to work with IE6’s flaws. Then IE7 comes along, and says “sorry chaps – I should have been rendering the page this way”, and the site breaks. Many websites had to be updated as a result and, in some cases, companies banned IE7 installations because it broke internal systems.
IE7 has not been a resounding success for Microsoft: the browser has around 50% of IE’s market share 18 months after it’s release. Part of the blame has been aimed at the move towards web standards.
And now IE8 is due…
So how could MS prevent the same issue occurring with IE8. Simple: they announced that IE8 would effectively be two browsers: IE7 and IE8. Every site on the web would render using IE7’s layout engine. But, if you use web standards – and really, really mean it – then you could add a meta tag to say that you wanted IE8 to render your site.
This caused uproar. Some people liked the idea: sites could be made to target a particular browser version and the pages would always work even when IE27.0 was released. Some people hated it: why should web standards-aware developers need to opt-in to opt-out of browser-specific targeting?
The problem is not web standards
I fell into the latter camp. If I specify that my page is using web standards, then I want the browser to render it to the best of it’s ability – not resort to a previous version of itself.
In my opinion, this is just another form of browser targeting. Having worked through that dark times of the late 90’s when you had to code two versions of everything just to support IE and Netscape, I utterly deplore browser sniffing in all it’s forms (conditional CSS, JS detection, etc). The web is supposed to be device-independent and forward-looking – browser targeting simply keeps you in the present and causes maintenance headaches later on.
(OK, so some forms of browser sniffing are unavoidable, but they’re the exception rather than the rule. It can be necessary to do some object detection in JS, e.g. for Ajax requests, but conditional CSS comments and hacks are pure evil and encourage quick-fix sloppy coding!)
I also couldn’t see how IE8-mode was going to work in the long term. Would IE17 require 10 different rendering engines? How could Microsoft guarantee backwards compatibility?
But my biggest problem was that I couldn’t see a problem. The majority of my sites adhere to strict web standards, don’t use hacks, and had been thoroughly tested in IE5.0, 5.5, 6.0, Firefox and Opera. The release of IE7 wasn’t an issue and I can’t remember having to fix any code. One of the major benefits of web standards is that it future-proofs your site.
I also think that backwards compatibility is not the main reason for IE7’s slow uptake. First, it’s limited to XP SP2 and Vista users. Many people now use alternative browsers and, if they have automatic updates off, there’s little reason to install IE7. Web developers don’t always use it because they still need to test IE6 more regularly. And finally, IE7 has a fairly awful interface that can confuse long-time IE6 users.
Microsoft expands support for web standards
Microsoft abandoned the idea on 3 March 2008 and announced that they would wholeheartedly support web standards. There was much cheering, rejoicing, and claiming of victories in various camps, including Opera.
I’m obviously pleased: after all, I wasn’t looking forward to inserting an IE8-specific meta tag into every site I’ve created or will create. But why does this announcement feel just a little seedy?…
Call me a cynic, but this is the kind of political shenanigans certain Governments gets up to. You announce something scary, make everyone panic, then retract it later with a big fanfare. The public breathes a sigh of relief, you’re shown to be truly caring, your ratings increase, but you’ve actually done nothing (apart from hiding some other nasty pieces of news, perhaps). If Opera are successful in getting Microsoft into a European court, MS can now hold up this example of “listening” to the web community and adhering to web standards.
Ahh, perhaps I’ve listened to too many conspiracy theories! Well done Microsoft – you’ve done the right thing. Now, please leave Yahoo alone, stop the silly battles with Google, drop Vista, and make a great OS like you promised at the PDC in 2003!
See also: What’s new in Internet Explorer 8.0…