“If the swift moment I entreat:
Tarry a while! You are so fair!
Then forge the shackles to my feet,
Then I will gladly perish there!
Then let them toll the passing-bell,
Then of your servitude be free,
The clock may stop, its hands fall still,
And time be over then for me!”
— “Faust,” Norton Critical Edition, lines 1699 – 1706
The above lines are from Goethe’s story about the scholar Dr. Faust and his famous bargain. The scholar promises his soul to the devil in exchange for earthly knowledge and power, on the condition that his life will be forfeit only when he experiences a moment that he wishes would persist. What does this have to do with Internet Explorer 8? It’s a tortured and overblown metaphor to be sure, but for some reason this week’s developments in the world of web development reminded me of this fable.
If you haven’t already, start off with this article from A List Apart and perhaps move along to Eric Meyer’s analysis of the news. These articles appeared almost simultaneously with a post on the IEBlog about the scheme. To grossly summarize, the IE team has worked out a deal with some of the major players in the web standards scene and representatives of the browser makers to introduce a new <meta> tag allowing developers to target specific browser implementations. They argue that this move will help prevent complaints of new browser versions “breaking the web” when they are released to the public.
This news seems to have come as quite a surprise, with heated discussion (mostly negative as far as I can tell, and at times sadly mean-spirited) breaking out in the usual forums. Molly Holzschlag provides the most level-headed analysis I’ve read so far, and alludes to the secretive, NDA-protected discussions that led up to this decision. Even Ars Technica and El Reg have weighed in on the issue.
The contemptible part of the new specification is that it’s designed to allow sites to lock into a current implementation, and Microsoft has made the decision that the default rendering engine for pages lacking this meta tag will be IE7 (not IE8, the browser that’s introducing this feature, or the more sensible default of “latest version”!). The implications of this are that future versions of IE (and other major browsers?) will contain emulation code allowing it to switch back to a previous engine at will so that sites will always look and act the same as the designer intended, quirks and all. If you have IE10 and look at a page lacking the proper meta tag, it will use IE7 to display the page. I guess that means IE8 won’t pass the Acid2 test by default? What does that even mean?
In my humble, semi-educated opinion, this could be a major setback to the web standards movement and to the speedier development of better web technologies (and things already move at a glacial pace in the web world). We’ve been taught for years that the road to enlightenment was paved with progressive enhancement and future-proofing, and this goes against that grain. I find the idea disquieting too for its other more pragmatic implications — how will this actually be implementable? I was relieved to find in a post by Robert O’Callahan, a coder who works on Firefox, that he was puzzled by many of the same questions I was having. Won’t this increase dramatically the footprint of each successive browser release? And I’ve used emulators of all kinds in the past, and they simply aren’t perfect.
Will this end web development as we know it, or kill the open standards movement? No, of course not. But it’s confusing enough and sudden enough that it’s not surprising that more than a few people are upset by the news. Maybe I’ll warm up to it when I hear more specifics about how this will actually work in the real world, but for now I’m highly skeptical.
Update: The debate continues, with two further articles from A List Apart. The first, “They Shoot Browsers, Don’t They?” by Jeremy Keith makes the case that a good beta version of IE8 would go along way towards making the case for one side of the other, depending on how its display holds up on the current web. I’d have to agree, and I’m glad to see ALA giving a contrary opinion some space, after the articles from last month caused such an uproar. Having said that, Zeldman’s “Version Targeting: Threat or Menace?” fans the flames a bit as he tries to make his case again in favor of the default opt-in method. This time it’s revealed that major DOM scripting changes are the root cause of Microsoft’s concern, which I don’t think was mentioned previously. The argument doesn’t seem to stick, at least based on the response the article’s drawn. I still stand by my view that this is a pretty bad deal, and one that’s only intended to help Microsoft’s short-term financial interests. Check out the commentary on these two articles, though, for a handful or other good opinions. Even though there doesn’t seem to be much traction, public discourse is always welcome.