Two months after the whole of the internet has had their say, I thought I’d throw some new kindling on the fire of Internet Explorer 8’s version-targeting mechanism. It’s crap.
The key issue is the default behavior: if I never change my server configuration or every page on my site, they will “forever” be locked in IE7 mode. This is a blow to the heart of the idea of progressive enhancement, or even graceful degradation, and will certainly not encourage developers to make their sites IE8—and thus Acid2—compatible.
Why worry about learning the rules when you have a broken version “forever?”
And what of this “forever?” How long can Microsoft reasonably include every previous version of IE in their new releases? Five years? Say to IE 9? 10 years to IE 10 or 11? At that point there will be 5 separate rendering engines, IE 6 and up, embedded in that increasingly large, increasingly slow program.
Of course, there is also the issue of implementation: Microsoft has said unto us that this shall be. If they really want to get on the standards bandwagon, shouldn’t this have been brought to the W3C, at least for advice?
I have a much more radical suggestion they may not like. Microsoft should abandon “Internet Explorer.” Not the product, but the name, and specifically the abbreviation “MSIE” in the browser string.
They’ll also need to dump the
window.ActiveXObject class, perhaps replacing it with a
window.AXObject class. These are the most common ways of identifying IE. If IE shows up like any other standards-compliant browser, there should be no problems for older pages.
I tried to find something good to say about this, but I can’t. It’s a bad idea from the bottom up. Unfortunately, we’re stuck with it.
So I will take Microsoft’s built-in cheat—a not-so-tacit admission that this idea is not viable in the long-term—and adjust my server to send
IE=edge with every page. That way I get to keep the progressive enhancement that has served me so well.