Version Targeting: Threat or Menace?

by Jeffrey Zeldman

79 Reader Comments

Back to the Article
  1. It’s taken me much longer to come around than it did for you. Ultimately, I still won’t be holding my breath to see how good the standards support is in IE8 until the beta is public. Only then can I prove to myself that it works as it’s advertised today.
    Copy & paste the code below to embed this comment.
  2. I still can’t decide whether this is a good thing or not. The main concern is that until the majority are using IE8+, for a good few years we’ll still need to incorporate the IE6/7 hacks. The temptation for lazy developers will then be to use the meta tags to freeze IE at 7, rather than test and code for yet another version.
    Copy & paste the code below to embed this comment.
  3. While IE is catching up with the standard support provided by others in 2006, this is fine. But how do the IE6 quirks translate to standards not yet supported at all, like SVG, MathML, and future W3C specs? Few professional web developers will be allowed to skip the next big thing, but how can you display new content types in a broken model without learning additional hacks?
    Copy & paste the code below to embed this comment.
  4. I only just discovered web-standards (and now I’ve become somewhat obsessed with them), but it seems to me that the only people that are really going to have a bad time with Version Targeting are Microsoft: they’re the ones who’ll have to look after the code that does the different rendering, they’re the ones who’ll have to keep on making IE bulkier, they’re the ones who are going to lose market share because their browser is ten times the size of anyone elses. That doesn’t bother me really. I can put one tag into my header and not have to worry about IE. Sounds great!
    Copy & paste the code below to embed this comment.
  5. bq. ...millions of small business owners, school teachers, pastors, coaches, and so on ... create websites every day, armed with crappy software and little else. What you’re saying makes sense, but carries the very big assumption that all those uneducated developers (or non-developers, to be more precise) have already fixed their sites for IE7. Because, if they haven’t, the only way they are going to benefit from version targeting is by opting-in with an IE6 setting. Which, obviously, they’re not likely to do. So their sites are _still_ going to be broken. I’d be very interested to see some figures from Microsoft on the numbers/percentage of sites affected (or “broken”) by IE7’s release, and how many of _them_ have since put in place fixes for that browser. I’d bet that, as a proportion of all sites on the web, the figure is pretty small.
    Copy & paste the code below to embed this comment.
  6. ... Seriously though - given time to think about this (as well as digesting the thoughts of people far smarter and more experienced than me) I reckon this will change very little in the short term. And in the long run, it seems like the practical solution is to continue gently educating anyone who can (or will) be educated!
    Copy & paste the code below to embed this comment.
  7. Is it just wishful thinking, but is it not possible that a browser could load a page in standards mode. In the background another component of the browser could run through the site’s code and check for any non-standards script/markup. If it found serious problems (using some kind of fuzzy logic to decide when the problems amount to being serious) a pop-up warns the user that the site might need reloading, and asks them if they want to re-render in quirks mode.
    Copy & paste the code below to embed this comment.
  8. I have spent hours reading blogs, articles and comments in vain to see if anyone else has spotted this technical problem. The current proposal says that an http-equiv metatag should be able to override a real http header. That is exactly the opposite behavior compared to charset, and probably against the specs. I see that MS have made their minds up about this switch per se, but could anyone who has their ear at least try to get them to revert this detail?
    Copy & paste the code below to embed this comment.
  9. Microsoft is certainly in a tricky situation. But Ian Hixie had an interesting point that other browsers may have to support this no matter what, even if they didn’t want to, so this might have a wider ramification. But a number of people have noted that using the HTML 5 doctype will trigger standards compliant mode in IE (even now), so maybe that is a way we can still use progressive enhancement…? I tried to explain these further here: http://www.onenaught.com/posts/52/ie8-meta-switch-ie7
    Copy & paste the code below to embed this comment.
  10. No, you don’t.
    Unless you trust MS to have got the impl. of the switch correct, which they can not do 100% of the time.
    And trust MS just seems to end in pain, most of the time. I 2nd the point upstream about this switch not helping sites that might break, because those sites are the very ones that need the switch adding, where the correct solution is to write them correctly.
    They’ll have to get someone in to do some work - would you rather they added the latest IE specific hack, or fixed it ?
    Copy & paste the code below to embed this comment.
  11. Rather than saying which version of IE the site is built for… can’t we say when the site was built? Then IE just needs to say “this site was built before X, but after 2006-10-18, therefore this website must have been built for IE7”.
    Copy & paste the code below to embed this comment.
  12. Does nobody think about the possibility that Microsoft will be unable to *maintain* this version targetting? For example, if IE8 scripting has a security problem, it must be fixed, even if it changes the scripting behaviour. So scripts targetted for IE8 might or might not work after this fix. What good is version targetting then? Another fun part is that Microsoft is about to maintain a huge amount of different rendering and scripting engines. They all have to communicate with each other, for example exanging javascript objects from one iframe to another. Let’s imagine plugins and java, will they also be frozen yet bugfixed at the same time? This is an *insane* project on Microsoft’s side. I don’t believe they can fulfill the promise of really freezing a rendering engine. I remember a time when the WASP favored to include a script on their websites that would tell people that Netscape is junk and users should finally upgrade to a more useful browser. As much as i hate to intimidate users, the time seems right to do it again. It can be done with “one line of extra markup”.
    Copy & paste the code below to embed this comment.
  13. For those who are afraid of the rendering engine not behaving as it did after security holes are fixed: missing buffer allocation, data type validation, and null checks aren’t what formed the ‘quirks’ that made your old sites work properly in IE 5/6. The math and logic ‘errors’ are the parts of the code that make it render wrong. Adding a null check before IE6 calculates its box model didn’t affect the rendering—it was the change in the math logic.
    Copy & paste the code below to embed this comment.
  14. bq. And even huge companies — for instance, companies like Microsoft — occasionally listen to their customers and try to solve problems related to their products. There’s no need to be so patronising. We are well aware that, on rare occasions, Microsoft acknowledges the fact that most of the world has despised an aspect of their products for several years and eventually deigns to remove/alter it, cf The Paperclip. We might have more faith in the customer-centricity if they showed evidence of user testing _before_ releasing a new product, and if they reacted quicker when it became blindingly obvious that a feature has been a complete disaster. Although you’re right, Microsoft do _occasionally_ react to customer feedback ... but unfortunately, not more often than that. bq. Non-standardistas have been writing JScript for years. While the CSS changes in IE7 may have “broken”? a site’s layout, IE8’s JavaScript improvements could easily render a site useless. Real DOM support is a game changer. Enabled by default, it would bring many sites to their knees. So how do these sites that IE8 would ‘break’ fare in Firefox, Safari and Opera? If site owners don’t care about locking out a fifth of users, why would they care about locking out the other four fifths?
    Copy & paste the code below to embed this comment.
  15. I am sorry, but however many different ways “A List Apart” tries to explain this to me I’m not going to believe for a second that this is a good thing. These are just _some_ of the problems that won’t simply go away: * We are asked to assume that Microsoft will implement this system absolutely perfectly for every new version, for *ever*. How likely is that?
    * This is not an “opt-in” at all. In order to make sure the latest standards are supported, we *must* add markup to our documents (or mess with the HTTP header). If we wish to take advantage of upcoming technologies like SVG, MathML and even HTML5 we will have no choice but to use this new system.
    * The META element will be able to override the HTTP header. That is the opposite of what should happen.
    * How will this work with IFRAME elements where different rendering systems will co-exist, and (scary stuff) different versions of JavaScript will be able to access the DOMs of these different versions and interact? I also have an ideological problem with this approach. The introduction of this system will have the effect of slowing down the uptake of web standards, as there will be a reduced incentive to adopt them. This seems contrary to everything that has been preached by the W3C, the Web Standards Project and A List Apart. This is not just a little thing - this is like switching from Coke to Pepsi. *No*. Instead of convincing designers and developers to adopt this system, the likes of A List Apart and the Web Standards Project should go on a _crusade_ to get people to switch to better web browsers, and for the non-standards-savvy WYSIWYG(What You See Is What You Get) users to switch to more compliant generators and content management systems. It is worth noting that the “??millions of small business owners, school teachers, pastors, coaches, and so on who create websites every day??” are probably using MS Word or MS Publisher and the dreaded “Save As…HTML” anyway - which means Microsoft can solve much of the problem by fixing their own crappy software.
    Copy & paste the code below to embed this comment.
  16. Zeldman: “Version targeting ... seems wrong.” There’s reasons for that, and they were all pointed out to you, over and over again the last time we all had this conversation.  You’ve not added anything to your earlier list of fallacious, emotive, and wrong-headed thinking from last time. Zeldman: “Call me Lewis Carroll, but I’m okay with it.” Yeah, and Carroll was happy to accept absurd ideas without rational, evidence-based argument for them. I’ll leave others to more fully deconstruct the attempted justification presented in this article.
    Copy & paste the code below to embed this comment.
  17. I was actually in support of the version targeting until I realized that many of the people making the argument in support of it started to claim that the vast majority of people that need it are Intranet developers. If this is truly the case, then the version targeting should be used as an opt-IN for Intranets, and an opt-OUT for regular sites on the Internet. Yes, this might be a bit tricky, but it seems to be the right behavior and the fairest compromise in my opinion. The users that need version targeting the most get it, while the rest of us get what we’re used to, browsers using the best engine possible.
    Copy & paste the code below to embed this comment.
  18. Seems we’re off to a bit of a nicer start this time around, doesn’t it? Eloquent and thorough, Jeffrey. We’re kind of conditioned, when we see a lesser-of-the-evils approach coming from a corporate body, to see the “evil” before we see the “lesser.” If Microsoft’s bottom line means _not_ opting in and getting increased standard support are mutually exclusive options, then it’s not really much of a choice. What you imply, but never explicitly say, is that a scripting “break” that traverses the ‘nets after IE8’s release could, because of IE’s still-disproportionate market share, temporarily frustrate enough typical users as to call into question the viability and usefulness of the medium itself. That’s nasty bad for Microsoft, and just _bad_ for anyone reading this. Considering that, I’ll hang my UA-compatibles in my server headers, right above my UTF-8s. At least there the guests won’t see them.
    Copy & paste the code below to embed this comment.
  19. 1. New prank exploit. forced target site to render in IE7 versus the IE8 or beyond. All you have to do is remove a line. 2. New Exploits with different IE engines renderings on a single page. 3. No reason to ever leave IE7 ever.  4. A world divided. One wold stuck at IE7 with no need to ever grow (the new COBOL) and the modern browser world.
    Copy & paste the code below to embed this comment.
  20. “If Microsoft can’t live up to the standards of the web, I suggest they leave the browser business.” - http://www.theregister.co.uk/2008/02/19/hakon_ms_reform_plan/
    Copy & paste the code below to embed this comment.
  21. I agree with Brian LePore above. The mechanism is fine, but the logic is flipped. These intranets that are so dependent on specific IE versions are also those that are in the most highly controlled and maintained environments. Getting them to add a header to their servers is an utterly trivial 100% fix, and something they can do right now rather than waiting until a new IE release blows it up. Let’s say there are 100,000 such sites worldwide, vs. 100,000,000 other sites. That means that 99.9% of sites are going to have to change all their pages unnecessarily in order to keep broken stuff working on networks that are invisible to the outside world. So are MS going to pay for the millions of wasted man-hours they are planning on having everyone spend needlessly? I see any argument in favour of this is just insane.
    The “mom & pop” sites that may break in a minimal way don’t really have much bearing on the argument - they have already been broken for years in browsers that do things right.
    Copy & paste the code below to embed this comment.
  22. @David One said: bq. There’s reasons for that, and they were all pointed out to you, over and over again the last time we all had this conversation. You’ve not added anything to your earlier list of fallacious, emotive, and wrong-headed thinking from last time. It’s hard to argue with an unsupported list of negative adjectives. bq. I’ll leave others to more fully deconstruct the attempted justification presented in this article. You mean you’ll leave it to people who state opinions supported by evidence? That sounds like a good idea, since calling someone “fallacious, emotive, and wrong-headed” is not the same as engaging in a discussion. Nor, for that matter, is quoting HÃ¥kon Lie the same as engaging in a discussion about the ideas presented in this article. HÃ¥kon and I are friends; I respect him greatly; any sentient web designer is in awe of HÃ¥kon’s contributions to this medium. But as CTO of Opera, he is hardly a disinterested party. (And even if he were disinterested, quoting him is not the same as advancing your own argument.) Version targeting, as I explained, is the seat belt Microsoft must wear to continue improving its web standards support. If you dislike version targeting, don’t opt in—and by opting out,  contribute, albeit slowly, to the decline of IE’s market share. If you’re unwilling to cheer the notion of IE’s improving its DOM support, or to read with an open mind an explanation of why the toggle (like DOCTYPE switching and Firefox’s JavaScript targeting) must be opt-in in order to work, that’s fine with me. But give us something to work with beyond name-calling.
    Copy & paste the code below to embed this comment.
  23. Surely the real reason behind the decision is not to avoid “breaking the web”, but to avoid “breaking the revenue stream”. I would suggest that the real problem for MS is companies choosing not to upgrade primarily because of problems with web apps and intranets that would break in the next release of IE. This problem could be solved simply by having a user-configurable whitelist of “legacy sites” and/or complete switch “Make IE render all sites in legacy mode” that can be applied by sysadmins. Legacy mode would behave like IE7 and respond to IE 7 hacks as appropriate. Legacy mode would also be used for sites that specifically request it via a header or meta tag. Similarly, sites could be able to request the full standards mode to override any legacy settings. The big question is: do we want to have standards by default, or do we want non-savvy web designers continuing to code for the quirks of IE for years to come? Since the alternative solution above would satisfy MS’s problem, I think the answer is clear.
    Copy & paste the code below to embed this comment.
  24. IE6 is the reason why some sites break in IE7. Microsoft needs to fix the problem, not put the onus on informed developers to work around it. I think the adoption of competing browsers like Opera and Firefox has been severely hindered by poorly constructed sites built specifically for IE6. At least that was my impression when I first made the jump from IE to Opera 6. Microsoft’s anticompetitive solution guarantees an infinite future of poorly constructed sites built solely for IE7.
    Copy & paste the code below to embed this comment.
  25. From a business point of view i fully agree with the Microsoft direction. It makes sense not to break the internet and the way they have suggested although rather hack like does have some merits. But the view i would rather see Microsoft take is a button on the tool bar (or a system preference) which allows the user to switch to IE7 ‘IF’ a website does not render correctly in IE8 mode. This i admit would not fix the core issue - but it would allow the user choose their rendering engine and encourage the faster adoption of a more standards compliant mode by users and developers. I wonder if its time for Microsoft to kill of IE and start a new browser development. I have no idea how possible that it is, but it seems to make sense to lay IE to rest and start a new browser which can be more agile and nimble in the modern marketplace.
    Copy & paste the code below to embed this comment.
  26. Craig Francis’ comment above about making the meta tag a date makes a lot of sense to me. I think a lot of the negative reaction to this change is due to its Microsoft-centric nature. Which makes sense because, as Jeffrey points out, it’s a Microsoft-centric problem. If the meta tag looked something like this: <meta http-equiv=“X-Production-Date” c /> the opt-in would be not about a company or its browser. Instead it’s a general purpose piece of information that a browser can choose to ignore or use. And if that browser chooses to use the information, by default it’s browser specific. Web savvy developers would know that they need to give IE a production date to trigger the behavior. And if there’s a new version of their website, they bump the production date after testing (production date can also be thought of as “the last date this site was tested to ensure compatibility.”) Other browser makers have indicated that they don’t intend to use the X-UA-Compatible meta tag. Fair enough. But could they use a piece of meta data like a site’s production date? Predicting the future is messy business: I wouldn’t rule it out by any means. -ch
    Copy & paste the code below to embed this comment.
  27. I really look forward to IE47 that you are talking about, which at least going to have 43 different render modes and probably going to be a couple of gigabytes in size just to fit all those different render engines that has been produced over the years ;-) To be honest I do not even think IE will ever reach version 47. Somewhere at version 20 or something (or probably much sooner) the IE-team will be so busy fixing old security bugs in all different render engines that they probably going to decide to drop the whole project, just after they have realized that every new version of their browser gives them exponentially more work every time they found a security flaw they have to fix ;-)
    Copy & paste the code below to embed this comment.
  28. I create user interfaces for IE-based reporting applications. Good money, glamorous work.  I also support standards. As a matter of unremunerated pride, the layout structure, design templates, CSS, and JavaScript I turn over to development teams and documenters comply with modern coding standards. The screens hum Firefox under their breath. Often within minutes or hours after turnover, neither IE nor Firefox can handle the screens as designed. Firefox compatibility is most often broken by programmers’ scripting efforts. It is amazing to see what damage trained and experienced object-oriented programmers can do with JavaScript. “Document.all” and other unnecessary code continues zombie-like. Structure is mixed promiscuously with behavior in one big mish-mash. On the other hand, IE is most often broken when some tool decides to add inappropriate doctypes or reformat syntax. So I go to the source of the fire and stamp it out. Part of my job. That is why the “opting in” part of Microsoft’s latest hack is attractive. The new tag is one more tool to keep the *people most knowledgeable* of Web pitfalls in control of the process. No silver bullet. Nothing will prevent Adobe Dreamweaver from automatically adding this meta along with inappropriate doctypes for instance. Just one more tool of arcane Web lore that will allow us humble cubicle dwellers to keep our bosses impressed.
    Copy & paste the code below to embed this comment.
  29. @Jeffrey Zeldman: bq. It’s hard to argue with an unsupported list of negative adjectives. My post, if not apparent, was not an invitation for dialog - I was simply voicing passionate disapproval for the proposal, and referencing articles and comments which are available to anyone with a few minutes searching.  It wouldn’t benefit this forum for me to fill it with copy and paste. bq. quoting HÃ¥kon Lie the same as engaging in a discussion about the ideas presented in this article. Again, the purpose of that post was not to engage anyone in direct discussion.  It was a relevant article that would be of interest to anyone involved in, what I understand is, a debate. bq. HÃ¥kon ... as CTO of Opera, he is hardly a disinterested party. Even if HÃ¥kon has sold his soul to Opera’s plan for world domination, he’ still advocating the best route for open web standards.  Opera has been arguably the most standard’s compliant browser since launch, and the fact that HÃ¥kon is defending web standards now says more about his passion for standards than it does a profit margin at Opera Inc.  Whereas, Microsoft will have to buy a bigger piggy bank if they manage to create a false standard that favours their browser. bq. Version targeting, as I explained, is the seat belt Microsoft must wear to continue improving its web standards support. No matter what the benefit to some corporation, we cannot accept a standard that benefits that corporation at the expense of its competitors.  The default rendering of each browser must be as standards-compliant as possible, not a rendering mode used by only one company on the planet. bq. If you’re unwilling to cheer the notion of IE’s improving its DOM support, ... Classic strawman.  Just because I’m against the default rendering proposal, does not mean I’m suddenly against anything and everything. bq. or to read with an open mind ... I’ve been reading with an open mind, thanks, and I still don’t agree.  Do I need to open it more?  Remember, it’s possible to be so open-minded your brains fall out. ;) bq. But give us something to work with beyond name-calling. Hope that helped.
    Copy & paste the code below to embed this comment.
  30. Still not swallowing the blue pill. It’s very obviously wrong regardless of all the repeated attempts to sell the idea to us. Here is a better idea: Release IE8 as a completely new browser (new name, etc) that can run independently of IE7. The new browser would have a different UA string and would have no need for an IE7 emulation because IE7 would still be available. Users can then do their day-to-day browsing in a shiny new MS web browser that’s standards enabled by default. Found a crappy old site that won’t work in modern browsers? No problem - just open the blue “e” and view it in good ol’ Internet Exploder. I think this approach solves all the problems without causing new ones: * Businesses can rest assured that IE7 will always be IE7
    * Microsoft gets a fresh start to make a super new browser (IE8 under a different name)
    * The entire planet knows that the future of the web is in standard compliant sites
    * Buggy old sites can still be viewed with IE7 In effect, you cut the cancer of old buggy sites out of the internet. People can still view those sites, but everything going forward will need the standards compliant browser.
    Copy & paste the code below to embed this comment.
  31. I suspect most people are starting to get it (I know I am).  This is an internal Microsoft compromise foisted upon us.  The initial suggestion that other browsers join in with versioning was silly, but thankfully I think that’s blown over.  I understand the concerns that Microsoft is trying to balkanise the web by this move, but I’m happy that we shouldn’t be too bothered about this whole issue simply because the implementation of all these parallel rendering engines is going to become impossible, sooner rather than later.  Microsoft are panicking at the moment - just witness their inept takeover bid of Yahoo.  I’m convinced that this will all be a non-issue in three or four years - IE has to be end-of-lined at some time. I suspect it’s something to do with ASP.NET and the fact that most developers on that platform speak of arcane things like “LinkButtons” and “GridViews” and don’t have much conception of the mark-up that is being generated. They use inline CSS rather than using an external file because their “controls” have ‘width attributes’ and why wouldn’t they use what’s provided?  So I think the plan is to migrate their developer base over to a framework that generates compliant mark-up, external CSS etc etc - or, rather, abstracts logic out, leaving mark-up to be mark-up.  They’ll only end-of-line IE once the bulk of .NET developers are working with a compliant framework.  This will take some doing, but they’re actually making strides as far as I can see.
    Copy & paste the code below to embed this comment.
  32. bq. And it presents at least one Sphinxian riddle: namely, how can IE8 pass Acid 2 if IE8 behaves as IE7 by default? You can spend weeks on that one and not come up with a logical answer. Call me Lewis Carroll, but I’m okay with it. They download entire page to their server and add the meta element/HTTP header. Their screenshot doesn’t show the URL, just the tab. Thus, IE8 will not render official Acid2 page properly. Nor future Acid3 or Acid_whatever_, as I can’t imagine Ian Hickson actually adding this one line of code to his test pages.
    Copy & paste the code below to embed this comment.
  33. bq. as I can’t imagine Ian Hickson actually adding this one line of code to his test pages. Best laugh of the day!
    Copy & paste the code below to embed this comment.
  34. bq. Best laugh of the day! Would you mind pointing out the humor in his statement? I must be a little bit dull today with this cold that I have.
    Copy & paste the code below to embed this comment.
  35. Now it’s more important than ever to resist version targeting browsers.
    Copy & paste the code below to embed this comment.
  36. Without platform targeting, version targeting is likely to be worthless. IE5.5 on Windows was very different than IE5.5 on Mac, so if MS decides to make an IE10 for the Mac that behaves differently than IE10 for Windows, we’ll be up the same creek with the same non-existent paddles.
    Copy & paste the code below to embed this comment.
  37. I agree with other posters, it is silly to think that the MIE team will keep each rendering engine from each new version (because each new version will render differently). The reality is, after a while, they’ll drop each rendering engine. For instance, MIE 11 might finally drop the rendering engine for MIE 7. Thus, all legacy pages and pages built on the default MIE 7 rendering will be ‘broken’ (in MIE parlance). From what I can see they are attempting to take responsibility for something they have no responsibility over. They do not own the web nor do they control it. It is egotistical of them to think their browser upgrade can ‘break’ it. The reality is that the advent of XML and XHTML will lead to all sorts of abilities that the MIE team are not able to support, and thus everyone will turn to an alternative browser to access these web apps. The websites that the MIE team are trying to take responsibility for are broken, and will still be broken in an alternative browser. bq. “That is the very definition of forward compatibility, although it is not the route I expected us to take when I coined the phrase “forward compatibility”? while formulating the benefits of standards-based design.” No, that isn’t forwards compatibility, it’s backwards compatibility. Considering that we are on the cusp of a mobile web, surely actual forwards compatibility has a much greater import than backwards compatibility.
    Copy & paste the code below to embed this comment.
  38. DOCTYPE switching was an opt-in system that was quite beneficial — it encouraged authors to include something that should have been included all along.  Other opt-in systems, so long as they do not prevent compliance with existing standards, are not inherently bad. The problem with Microsoft’s “proposal” isn’t the idea of an opt-in meta tag switch, and the big problem isn’t even that the meta tag is explicitly referencing IE version numbers.  The real problem with this proposal is that an _HTML markup_ hack is being used to fix _CSS rendering_ and _scripting behavior_.  (Well, that and the previously mentioned fact that soon even Microsoft won’t have the resources to improve their browser’s standards support _and_ keep all those historical rendering modes working properly and securely.) When it was first proposed in 1998, the DOCTYPE switch was a beautiful idea for advancing standards.  And since 2000, browser makers have gotten away with assuming that people using valid DOCTYPES are adhering reasonably closely to the HTML, CSS, and ECMAScript standards.  But let’s think about this for a moment: that’s not what a DOCTYPE actually says. In an ideal world where there are no GUI authoring tools attaching DOCTYPES to their invalid documents, the DOCTYPE “switch” suggests that the author is taking responsibility for writing valid HTML or XHTML.  At the least, the page author is committing to use well-formed markup that reasonably approximates one of these standards. But we live in the real world.  Fortunately, the real world situation isn’t that far off from the ideal case in this respect:  even though GUI authoring tools like Dreamweaver often slap DOCTYPES on invalid code, that markup tends to be mostly well-formed.  Note that, in the real world, the browser can parse an invalid document just fine, so long as its markup is well-formed. IE’s potential website compatibility problem stems from the prospect of fixing JScript/JavaScript behavior and, to a lesser extent, from CSS rendering fixes.  Well, then, we need something to put in our JavaScript code to tell IE to use the standard DOM model.  Ideally, we’d get something else to put in a CSS stylesheet to switch a page’s style rendering into IE’s standards mode.  In any case, we certainly don’t need this <meta> tag because it basically amounts to a new and improved DOCTYPE switch — and our problem is not that we don’t have a good enough parsing heuristic. A JavaScript switch?  It’d still be a hack, same as the DOCTYPE switch is even today.  But that hack would actually make sense — both semantically and pragmatically.  It fixes what needs to be fixed, without cluttering code that already works or blurring the increasingly important distinction between writing markup and scripting behavior.
    Copy & paste the code below to embed this comment.
  39. _(Similar: comments #11 and #26)_ Ok, so we need something new because the DOCTYPE switch is unreliable.
    Ok, so we need to opt-in because converting ignorant webicists/wysiwygs is a bigger time sink than converting the kind of audience that reads ALA. But why are we tossing browser agnosticism out the window? How about (obviously not ideal — _yet!_): <meta http-equiv=“W3C-Compliance”? c /> And that sounds even sweeter as an HTTP Header. Let browsers figure out how to deal with that — they are all promising active development now, right?
    Copy & paste the code below to embed this comment.
  40. This whole situation comes about because it is very difficult to run two (or more) versions of IE on the one machine. If I could run two or more versions then the problem becomes moot - site breaks & I have to use IE (now only microsoft.com - thankfully the banks that used to block ‘other than IE’ with have already opened up to firefox & opera & safari) then I can run the latest greatest, and if it looks borked then I can drop to ye olde version myself - that way scripts/dom/svg/png will all work together as intended and MS doesn’t have to maintain a huge codebase within one browser The number of sites that browser sniff & bar entry if you are not running IE is declining rapidly (I notice that the “open the Web” forum in Opera has disappeared since I last looked sometime last year) - occasionaly I get one that says I should use either IE or Firefox (I normally use opera ) but they let you in anyway. That means for those intranets that seem to be a problem the companies can use 2 browsers concurrently - one for the intranet & one the extranet  
    Copy & paste the code below to embed this comment.
  41. If Microsoft can force developers to add a extra element to secure proper rendering, will the mobile browser vendors see this as a possibility for them to demand different meta information too?
    Copy & paste the code below to embed this comment.
  42. “1. New prank exploit. forced target site to render in IE7 versus the IE8 or beyond. All you have to do is remove a line.” Wouldn’t it be funny if someone did that to the MS website!
    Copy & paste the code below to embed this comment.
  43. Interesting article and arguments.
    You talk about satisfying two sets of customers: knowledgeable designers and developers and ‘the unenlightened’. What MS proposes will lead to a bigger gap between these two sets of customers: those who will keep on learning and those who won’t bother because they will keep living with the illusion that they can code properly.
    Code is like language. Every parent wants his child to talk and write without mistakes. What MS says and Mr Zeldman is defending is just like saying to your child: keep on writing those mistakes, I can understand what you are saying.
    But what a dissapointment for the child when it will found out that it never learned to speak and write properly and that daddy didn’t mind.
    Web standards should be followed by everybody. If sites do break down, now more then ever it is time to fix them.
    People supporting web standards should stick together and not fall for a compromis to save a company from shame. They did bad business and still produce crappy products. Now they have to take responsibility and face consequences.
    Do you have any idea how hard it is to convince bosses and clients on daily basis to follow or only try to understand the importance of web standards? MS is not helping at all, that we already knew, but A list apart?
    Copy & paste the code below to embed this comment.
  44. bq. I think the adoption of competing browsers like Opera and Firefox has been severely hindered by poorly constructed sites built specifically for IE6. At least that was my impression when I first made the jump from IE to Opera 6. Agreed. I switched to Opera when v5 was current, I think. At the time, there were quite a lot of websites that didn’t work properly, or at all, in Opera. But I stuck with it because I could see the value in it - I understand why web standards are important and that sites that don’t work in Opera are bad sites. But other people won’t - ‘normal’ people would come across a site that had worked for them with IE and didn’t work with Opera, and would assume that the problem was with Opera. And even if the problem was with the website, why should they switch to a browser that couldn’t cope with the site when even IE could manage it? Fortunately, we now seem to be beyond that. More sites are designed to work cross-browser, and Opera has raced on and now baulks only very rarely - certainly not enough to consider it a reason for _not_ using it.
    Copy & paste the code below to embed this comment.
  45. bq. Other browser makers have indicated that they don’t intend to use the X-UA-Compatible meta tag. Fair enough. But could they use a piece of meta data like a site’s production date? Predicting the future is messy business: I wouldn’t rule it out by any means. Why would they nede to do that? Opera, Firefox, Safari, Konqueror etc all work fine and manage a decent rendering of almost every page out there. They don’t have broken and archaic rendering or scripting engines that people have been hacking around, so they don’t need to support them.
    Copy & paste the code below to embed this comment.
  46. Standards. {def} - should all be the frikken same. In reality, billions of monies rests on websites working right. The IE team don’t want to be the ones to stuff it up (again), and I fully support that. Opt-in seems like the responsible choice.
    Copy & paste the code below to embed this comment.
  47. Zeldman said: “Let’s be charitable: some of these developers work exclusively on platform-dependent intranets. Others know about web standards, but work at companies that force them to create table-based layouts, to author to IE5’s incorrect CSS box model, and so on. Microsoft cannot abandon these web builders, nor can it hold itself blameless for their platform- rather than standards-based approach. ” @Zeldman:
    And why couldn’t they? Microsoft has said in the past “We no longer support Windows 98, WIndows Me, etc, etc.” why should varying antiquated versions of IE be any different? After all aren’t they salivating to get these long time IE 5 users to enjoy the new features of IE8? If the layout for these companies breaks because they are locked into a browser platform two to four versions back then they as a company deserve all the breakage they can get their hands on, if for no other reason than browsers are free and you’re company is sorely short-sighted. Furthermore, I would presume a standards compliant IE8 would render the table-based layouts as it should actually be rendered so those bad old table layouts should for the most part hold together; otherwise, there’s a plethora of designers available to help you bring your site out of the stone age… for a price… Zeldman says:
    “You and I may not care about these millions of lumpen web auteurs, although we would love to convert them to standards-based design, but Microsoft, being a corporation and all, can’t dismiss them.” @Zeldman:
    And again I find I must ask “Why not?” There are more and more free HTML editors out there that do writee valid XHTML right out of the box, of which one is NVu. Add to that the ones like Dreamweaver that you can buy (to which you could easily add a plugin like CSS Sculptor to), or MS’s own Web Expressions that also write valid code right out of the box and not knowing any better is just not an excuse (not that it ever has been). Zeldman says:
    “It has to work that way or it doesn’t work at all—as absurd as it sounds and as nuts as it drives Jeremy Keith and many other sensible web designers.” @Zeldman:
    Oh really? Because those skrillions of designers who are designing just for IE6 using MS Specific JavaScript can very easily check the version of IE hitting that page (which they would most likely be doing anyway just to make sure that it isn’t IE 5 or 5.5) and if it is anything other than 6 issue the new header thing that MS wants you to use that tells IE8 “I need your IE6 mode.” For IE8 not to offer standards support as the default behavior is kind of like screen doors on submarines, or lavender fire hydrants; both are cute ideas, but completely impractical in the real world. Zeldman says: “Real DOM support is a game changer. Enabled by default, it would bring many sites to their knees. That would break the web, and not in quotes.” @Zeldman:
    Didn’t Sir TIm Berners-Lee himself say that the web as we know it will always be a little bit broken? You need a substantial change like this in order to jar the sloths and laggards of the web to either bring their current sites and skills up to date or find a new career. Otherwise they can live with their broken sites until they convince MS to release standalone versions of its browsers for intranet use. Zeldman says:
    “And Microsoft has promised to improve compliance forever. If we opt in, we can expect the same level of scripting support in IE that we get from the browsers we love.” @Zeldman:
    Well, not to sound to overly cynical here but that promise and $3.99 will get you a value meal at McDonald’s. If all you have is a promise, I’d like to remind you that MS has promised this for years and ignored those promises time and time and time again. Trust, of any kind is earned, and right now MS and Team IE haven’t done anything to earn that kind or level of trust. They have a lot of work to do to begin to earn that trust and part of it has to be based on improving support for scripting and the DOM as well as CSS through regular updates without always requiring you to do something “just for one browser”. Another part has to be based in MS’s willingness to release beta versions of IE8 with and without this “required header” so that the development community as a whole can evaluate it, and possibly make it a better browser in the end.
    Copy & paste the code below to embed this comment.
  48. Zeldman, Do you think we don’t know everything you’re talking about in this article? We don’t disagree with you because we don’t understand the issues at hand, it’s really not that complicated, and we don’t need you to spell it out for us. We disagree with you because you’re defending Microsoft’s business decision instead of… well… Standards. The “we must protect the moms and pops shops” rhetoric is very touching and all but… We don’t buy it. If your aunt’s site brakes, she won’t update to IE8, then she’ll get increasingly frustrated with IE7, and she’ll finally switch to Firefox or a new browser that has come out then. She might buy RapidWeaver for $50, or get a friend to install WordPress for her, or HORROR hire a decent web designer if her site is that important to her. It’s pretty safe to assume that she won’t just give up on the whole web thing… Intranets? Any IT guy can add a line of code to freeze their intranet in IE7 if needed. That’s what it would take if the default behavior of v.targeting was done right. Microsoft is definitely in a tricky position. No doubt. But why should we care? Because they might just decide to give up on Standards all together if we don’t? It’s too late for them to pull that one on us. What we’re wondering is why you gave up on Standards and are now cheering for Microsoft. I have a theory: you said on your blog, in a response to one of my comment: bq. I don’t believe that you’re being this impolite simply because you think the default Microsoft has chosen is the wrong default. It seems to indicate that, at least back then, you were the one who didn’t “get it.” You didn’t realize the importance of that default, that much is certain. It looks to me that since then you’ve been busy justifying your initial position more than anything else. Pure conjecture on my part of course, and I’m sure you’ll prove me wrong with your usual witty repartee. But why not just give it up and admit you made a mistake? We’re all human… :)
    Copy & paste the code below to embed this comment.
  49. As web developers, we’re always going to be faced with challenges, this is just the next one. Actually, it’s probably not even the next one. Any word on a beta release yet? Microsoft probably knows exactly what they’re doing releasing word of v.targeting so early. Maybe even a plan to let this sit while developers vent frustrations and then make a small change to get us saying “thank you Microsoft”. No evidence to back that up of course :oP, but I’m just saying… not a bad business plan… think about it. my2cents
    Copy & paste the code below to embed this comment.
  50. I think there’s a little confusion amongst some commenters here that needs to be dispelled.  Zeldman et al (I’m sure) would rather that this wasn’t necessary, that Microsoft could release IE8 as standards-by-default, ditch JScript for good, and that we can all just get on with it. The fact is that Microsoft, a for-profit body just as Opera is, have decided on this course of action. This changes the game, and the argument being put forward here, if sometimes confusingly, is that it’s not such a bad option for standards. Now, if you’d like to argue the case out with Microsoft, then don’t tarry: go over to the “IE blog”:http://blogs.msdn.com/ie/ and have it out with them. Are you going to get anywhere? No. Why? This is a business decision. It comes down from on high. It’s a pain, technically, to implement. The IE team themselves didn’t specif, because they’re not crazy. And you know what?  The migration is going to come.  Microsoft are going to have to tell their customers at some point that what they told them, what they gave them, is often wrong.  This is device to delay the inevitable.  Only Microsoft will suffer.  All we have to worry about is one little line of code, and we’ll have to worry about it for less time than you think. Yes, it’s a bad decision from Microsoft.  But only they and their customers will suffer from it.  Whatever the pedantic might crow about IE8’s passing, or not, of the Acid2 test, the standardistas won’t.
    Copy & paste the code below to embed this comment.
  51. On one side I can see the logic in the argument for the included META tag, those of us whom already use conditional formatting to serve up IE-specific stylesheets should have no problem adding a standards-compliant meta tag to serve up our sites in IE8+ standards goodness.  However, I seriously doubt that with all of the advances yet to come to the web - HTML 5, CSS 3, JavaScript 2, etc - the IE team can continue to create newer versions of IE that continue to “break” sites like its 2007 from now until their browser draws its final breath. The real solution to this problem is to have Microsoft stop developing IE as an integrated part of the OS and break it out as a separate application so that backwards companies that didn’t heed warnings of developing IE-specific sites and intranets can continue to use the old browser with glee, while the rest of the word can continue their march towards standards compliance without the need for extra markup.  Of course, Microsoft won’t ever deliver that solution - at least not here in the states - so I guess we’ll have to swallow that big blue pill for the short term while continuing to subvert IE’s install base with our recommendations of Firefox over Redmond’s mess. And that is what this “solution” does for IE, makes that browser once again a giant mess.
    Copy & paste the code below to embed this comment.
  52. The problem here is in the browser, not in the code.  So why are we trying being forced to work with a code-based solution? Doesn’t it make the most sense for future versions of Internet Explorer to have a “legacy rendering” mode available by application option to whitelist certain sites to use the IE7 engine while letting all other sites work in IE>7? That way, since Intranets are the excuse-dujour, IT departments can roll out an additional .msi along with IE8 that automatically sets their intranet to use legacy rendering. Bottom line: leave the decision to the viewer, not the developer.
    Copy & paste the code below to embed this comment.
  53. Zeldman: “Improved, predictable standards support in all browsers. Isn’t that what we all want?” Is that what we are getting? No. For as long as the IE7 rendering is a default rendering in IE, we don’t have improved standards support in all browsers. We’d have standards support in Firefox, Opera and Safari, but IE7 rendering in Internet Explorer. So it comes to public light today, rather than last month, that the major reason behind version switching is Scripting and a proper Dom implementation. It’s astonishing that two members of the Dom Scripting Task Force who collaborated with Microsoft on this, and were very vocal about their support of version switching, and overly critical of any opposition, both failed to mention the major reason behind the switch was Dom Scripting. Onto the main point: Given a page containing a version switch that says “IE8 super standards mode pretty please” and then contains code which conforms to the IE8 DOM implementation. Now, what is going to happen when someone with IE7 visits the page? It will be broken. That means, the written JavaScript still needs to support IE7. So there’s no value in supporting IE8’s DOM if you want a website that works for your visitors. I read your promises and eloquence, and they are worthless. Microsoft’s approach forces us to support IE7 permanently - version switching does not alleviate that. We are stuck supporting IE7 permanently - that is not what we want. Where’s the roadmap from Microsoft that shows when we can stop supporting IE7?
    Copy & paste the code below to embed this comment.
  54. It is just an extra cost to my clients. *I need to make a living, no matter how much I love the world that we want*. If “Standards” is right (I personally believe it is), then no commercial force on earth will keep “Standards” from prevailing.  *Some day it will be in MS’s interest to be compliant rather than un-cooperative*.  Clearly they do not think that day is at hand. It really does hurt a little to say it, but until that day (likely past my coding days) I have no choice.  If I want to earn a living, I will code whatever hacks are necessary to make my pages work as well as I can, in whatever browser(s) my clients demand.  I am sure there will be a best practice or practices, documented here, for living with this ‘bad thing’. _It is unfortunate that my clients will bear the cost of the hacks - somebody has to - as I said, I gotta make a living._
    Copy & paste the code below to embed this comment.
  55. I’m not overly fussed about the actual IE 8 decision (it’s a _fait accompli_ & according to Molly we’re lucky to even know about it!), it could be better, it could be worse, but I certainly hope discussion about the issues involved continues (maybe without all the yelling in reponse, though) because I still think there are interesting things to explore. The general reaction in the community has been… fascinating. A lot of well thought out blog posts, a lot of very angry comments, and a lot inbetween. The almost-adolescent web, I guess. I think Mr Zeldman, Mr Meyers etc have been sort of stuck appearing to sell a rather stinky sandwich to the masses, rather than the conduit of righteous outrage, and thus have copped it unfairly in the process. A few random points if I may:
    - I wonder if Dead Edwards IE7 & IE8 script, now hosted at (and hot-linkable from) Google, gives us a bit of an ‘out’ of supporting IE6/7 rendering quirks for ever and a day (assuming the performance has improved now they’re in beta)? - IE 9/10/11 could still, in some horror scenario, be ‘outlooked’ ala Outlook 2007, which took a few big leaps backwards in standards compatibility when they adopted the Word HTML rendering engine, as I found out working on the Email Standards Project site. That was again done in the name of a business decision. Sure, there are good, standards-aware developers working on IE now, but who knows what decision middle-management will take in 5 years time? Or next year? It happened to Outlook last year - it’s not such an out there hypothetical. Who knows I guess, in any case, we certainly need to remain vigilant, and on friendly terms with all vendors. - What long term effect do we think the IE7 freeze will have on future IE adoption rates? I’ve always thought there was a tacit agreement between users and developers that users should try and stay ‘up to date’, developers would reasonably support them while pushing the boundaries a bit, and we all lumbered forward haphazardly together. It seems the IE7 freeze, which seems to be for the sake of big corporations, will remove a lot of incentive for general users to upgrade, which is a shame. Perhaps a lot of the angst out there has been this realisation that the dream of universal standards support is dead, at least for a few browser generations to come. It could also quite easily go backwards, as per the Outlook 2007 debacle. - On adoption rates, Flash is an interesting case study. Macromedia (crediting Adobe doesn’t seem fair) seems to have done brilliantly getting Flash versions out there with extremely high uptake (and they’re all backwards compatible aren’t they? Or not?), so it doesn’t seem that, in the long term, Flash-like adoption rates are really unreasonable to expect from a major corporation. Imagine if IE’s rendering/scripting engine was a Flash-like plug in, which could be pushed out to all (future) IE’s from here to who-knows-when. (No I don’t mean we should all run to Flash :) - I think what would be great, albeit extremely unlikely, is if MS allowed the community the room to innovate and do the work they aren’t prepared to do. Dean Edwards scripts are a good example. Just imagine if all the hot air (irony of my contribution noted) could be harnessed into productive work on a community-developed solution, like solar energy can be harnessed to drive steam turbines.
    Anyway, if IE8 is what it is, we need to start thinking what we’re going to petition MS for in IE 9. IE8 is < 6 months away, and IE 9 is probably 18-24 months to follow, so maybe while we’re all up in arms it would be a good time to get people thinking about the long term future - or even just the version after never - of IE?
    Copy & paste the code below to embed this comment.
  56. Version after *next*, sorry :)
    Copy & paste the code below to embed this comment.
  57. I really don’t understand all the people who are simply taking this lying down! I understand that microsoft seem to have made their mind up, and I understand their reasons for taking this path. But as an expert you don’t have to accept it this early, while it is still in development. I know you say this simply accepting the inevitable, but there is a huge difference between grudgingly-accepting and preaching to the masses, book in hand, that this is the best way forward! If other experts such as yourself were to tell the likes of Gustafson and microsoft, “whoa! slow down there cowboy.” I don’t think having quirks by default is such a good idea, I’m sure they’d have at least some doubt in their mind. Which in turn may get them to reconsider after the developer backlash when the public beta is released. rgds
    “My take on this whole IE8 meta malarky”:http://blog.vftw.com/view/browsers/ie8-taking-quirks-and-hacks-into-the-future/
    Copy & paste the code below to embed this comment.
  58. @Mike Davies bq. Given a page containing a version switch that says “IE8 super standards mode pretty please”? and then contains code which conforms to the IE8 DOM implementation. Now, what is going to happen when someone with IE7 visits the page? It will be broken. That means, the written JavaScript still needs to support IE7. So there’s no value in supporting IE8’s DOM if you want a website that works for your visitors. It’s not as bad as that - and there’s no way round the problem as you’ve posed it. You write your script to work in modern browsers, and you put in the meta tag or http header to ensure that IE8 knows what to do with it. _If_ visitors using IE7 make up a significant proportion of your user-base, and _if_ the script you use doesn’t work on IE7, you _may_ choose to write a “new” script for IE7, and apply it with conditional comments so that only IE7 will use it. But you’d have to do that anyway. Given that IE7 has a defective DOM, and we want IE8 to have a correct DOM, whatever method IE8 uses to handle old code (or even if it didn’t bother), you would _always_ have to write separate scripts for IE7 if you wanted your site to work for users with IE7.
    Copy & paste the code below to embed this comment.
  59. @Luke Stevens bq. What long term effect do we think the IE7 freeze will have on future IE adoption rates? I’ve always thought there was a tacit agreement between users and developers that users should try and stay “˜up to date’, developers would reasonably support them while pushing the boundaries a bit, and we all lumbered forward haphazardly together. It seems the IE7 freeze, which seems to be for the sake of big corporations, will remove a lot of incentive for general users to upgrade, which is a shame. I don’t see this as a problem. I have had features on my website that IE6 can’t access for years. Before IE7 was even in alpha. People using other browsers could mostly make use of them, and people who started using IE7 could. People with IE6 lost out on some of the finesse, but the site essentially still worked - but there were benefits to them upgrading to IE7. That process will continue. Once HTML5 has been stamped, I will change the @doctype@ on all pages to HTML5. I’ll continue to add new features as and when I find a use for them, people with cutting-edge browsers will benefit, and people with IE7 will miss out. That’s nothing new, and won’t change now. Any web developers who are using features supported by IE8 are likely to add the meta tag, http header or doctype to enable IE8-users to benefit. The sites that render in IE7-by-default mode won’t, by and large, have anything much beyond what IE7 can cope with. There will still be reasons to upgrade, and people will continue to upgrade. Web authors will continue to put notices on their websites informing the user that they’ve got an out-of-date browser. Opera will pick up more users who’ve got used to using it on their mobile devices.
    Copy & paste the code below to embed this comment.
  60. Zeldy sounds exactly like the webstandardsproject.org - submissive and has completely given up.  Well if that’s the way the Zeld-master feels, why bother with standards at all?  ‘Oh - there is a good business case for MS to piss on standards…” Well now there is also a frigging good business case to for everyone else to as well… Standards are what is good for society and web development right? F_ck compromise.  Would MS compromise for us? Not Likely. Stop acting like MS is some kind of mindless feature of the web landscape - they have smart good people that can make smart good decisions for everyone - they are just being c*nts - stop condoning it. If MS have this target behaviour included in the next standard, then cool. It’s good. But please don’t just roll over and submit to their second rate contribution to the web society. Make them do US the favour for a friggin change.  This is what I want for the web and I thought this is what Zelds wanted for it as well.
    Copy & paste the code below to embed this comment.
  61. As mentioned in this article, Microsoft’s main justification for version targeting is to avoid “breaking the web”. I find their altruistic concern over this matter more than a little ironic and very hypocritical. If Microsoft was really that concerned with not breaking the web, then why aren’t they more concerned with not breaking the desktop? Anyone who’s upgraded to Windows Vista is familiar with the problem of incompatible applications and drivers that worked perfectly fine in Windows XP but for whatever reason don’t work right in Vista because of Vista’s “improvements”. In addition, in a few short weeks, Vista SP1 will be released to the masses and we’re already being warned about problems and incompatibilities with this upgrade. How many things that work fine in Vista right now won’t work after the SP1 upgrade?  Here’s another example: I’ve got Office 2007 installed on my Vista machine. But I can’t use Outlook 2007 to connect to my work’s old Exchange 5.5 Server because Outlook 2007 effectively “broke” backwards compatibility with this version of Exchange server. If Microsoft is so worried about not breaking the web, why are they so willing to break the desktop? Anyone who’s worked with computers for a while accepts the fact that you can’t maintain backwards compatibility forever. At some point, you have to sacrifice backwards compatibility for improvements and innovation. As they say, you can’t have your cake and eat it too. I would like to see Microsoft step up to the plate and accept full responsibility for this mess. The problem really isn’t “unenlightened” web developers or poorly written web authoring tools. Sure these factors have contributed to the problem, but the real heart of the problem is Microsoft’s crappy browser. Had IE had better standards support right from the beginning, there would be no such thing as unenlightened developers or bad authoring tools because these people were just follow Microsoft’s lead. But for whatever reason, all I’m seeing is Microsoft trying to shift the blame off of themselves and offering yet another lame patch in an attempt to cover up the issue while mindlessly repeating their hypocritical mantra of “don’t break the web”. Microsoft, unfortunately you already broke the web a long time ago! It’s time that you accept this fact and start fixing it for good.
    Copy & paste the code below to embed this comment.
  62. Why can’t it be opt-out by default? If there are sites that are advanced enough to be using all the stuff that will supposedly break, they are presumably ones that are being maintained - so why can’t those just have to opt-in to old behaviour. That way it’s clear that they have work to do to fix things.
    Copy & paste the code below to embed this comment.
  63. ...why not have this version targeting stuff for the Javascript engine only? After learning about Microsoft’s transition from JScript to Javascript (hooray!) version targeting makes more sense. But why not limit it to the Javascript? Have one of those appendages to the MIME type declaration like Firefox does, or some funky IE-readable comment in the script file itself, or an HTTP header. As others have already said, given how big a change there was going to IE7, how much breakage is there really going to be in IE8, in terms of layout?
    Copy & paste the code below to embed this comment.
  64. This switch gives bad [or should I say ‘evil’ ;-)] developers a tool to keep selling their broken code to ignorant customers, who pay large amounts of money for websites that they think will reach as many people as possible.
    If MS really cares about website owners they would not provide such tool.
    Copy & paste the code below to embed this comment.
  65. Kudos to the Z-Man for talking sense.
    I cut my eyeteeth in web development in just such an atmosphere as Zeldman describes: a large public-service agency that, at the time was transitioning from IE5.5 to 6 as the only browser employees were permitted to use. Without naming the agency by name, I can tell you that if those employees can’t do their work because of a browser screw-up, the trains and buses in New York City might not run on time or at all, in some cases.
    This is serious stuff folks, and Microsoft is doing the responsible thing, that’s all.
    Copy & paste the code below to embed this comment.
  66. The only thing we can do is change accordingly.
    Copy & paste the code below to embed this comment.
  67. The argument in this article make more sense than Jeremy Keith’s article; I think. It would also seem that Jeremy would benefit from reading this article, as Jeremy has almost had me convinced his argument was the right one, before I read Zeldman’s.
    Copy & paste the code below to embed this comment.
  68. I know plenty of people have posted their own statements of agreement or opposition, and their own solutions to Version Targeting, but I would appreciate your opinion on “my idea”:http://www.digitalgemstones.com/blog/entry/13 which to summarize is version targeting where the default is one version behind the current.  This would give developers a padding of a few years to update their code, while still encouraging standards to grow and improve.
    Copy & paste the code below to embed this comment.
  69. I don’t really see a reason why IE42 would act like IE7. I suspect that the default rendering will eventually move forward to accommodate the market.
    Copy & paste the code below to embed this comment.
  70. A few points: 1) Amateur developers are often only concerned about something looking right.  If IE continues to default to quarks mode, these amateurs are going to think their broken code is actually correct.  There is no feedback for them to clue them into the fact that they are doing something wrong.  Clearly this is not the way things should happen. 2) If someone is dependent on a site that only works in IEx what is to keep them from using IEx?  Couldn’t Microsoft just allow people to install whatever version of IE they want (independent of OS) and solve the problem? 3) What’s wrong with asking that sites that rely on old versions of IE from altering their code to note what version they are requiring?  If you are a corporation using an IE only internal website, how hard would it be to add such a tag?  Having worked on such a site, the answer in my case would have been “not very hard at all”.  4) There is something completely silly about requiring a designer to opt-in to standards mode.  Is it really too much to ask that the standard should be. . . the standard? 5) I agree with others that suggest IE include a legacy mode.  They do this in Windows where you can tell the OS that a program is from Windows 95 or 98 or whatever.  It would make sense to allow users to say “oh this site is broken, let’s try a legacy mode”.  6) Overall I just think we need to favor standards and current state of the art over deprecated and legacy code.  I think Microsoft is right to want to accommodate older code, but they shouldn’t require everyone to make this accommodation.  Microsoft and the users/administrators of these legacy sites should bear the burden.
    Copy & paste the code below to embed this comment.
  71. then we have to do the following ... - FCC can not go to a digital television broadcasting.  Frankly this move will not allow me to see my TV shows with all the hazy and ghosting I have gotten use to.  Not to mention all those poor pirate TV stations out there. Sometimes it is just necessary to bite the bullet and move forward (analog TV, Betamax, 8-trax, tapes, HD-DVD). Microsoft backed the wronge horse (themselves) and lost, suck it up and move on. (add more cliche sayings here)
    Copy & paste the code below to embed this comment.
  72. After getting all these famous people here at ALA to agree (well, some at least), Microsoft now tells us (or so I understand) that they were wrong:
        “http://blogs.msdn.com/ie/archive/2008/03/03/microsoft-s-interoperability-principles-and-ie8.aspx”:url I’m glad. But why did all the famous, well respected people not tell them straight away that this should be the way to go? Why did they, at least this time, no stick to asking for respecting standards?
    Copy & paste the code below to embed this comment.
  73. I’m not understanding how this is different from the problem that overtook the old DOCTYPE solution… What if something like Dreamweaver or FrontPage or some other future web site development software decides to “help” the user by inserting this meta tag—doesn’t that mean we end up in exactly the same place in the end? That is, is it not still possible we may end up not being able to assume the meta tag actually means what it says it means?
    Copy & paste the code below to embed this comment.
  74. Well is it, Jeffrey? And all the rest of you who felt that if it was ok with Jeffrey then it must be ok with you? Well it wasn’t OK. And others (especially those on a different continent - there are other continents you know) defended web standards against Microsoft. So, like spam in the EU, it looks as if you will have to opt in for IE7 compatibility. Next time, just say No.
    Copy & paste the code below to embed this comment.
  75. If doctype switching is not a reliable method for indicating whether a developer has built their site to be standards compliant or not, then who says that version targeting will be any better. What is to stop uninformed developers from targeting standards based rendering but not actually using it in their code - thus breaking their sites just as uninformed developers who used the strict doctype but didn’t build their sites accordingly saw them break in IE7.
    Copy & paste the code below to embed this comment.
  76. Just to reiterate, from the IE blog (linked to above):
    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. ...
    We think that acting in accordance with principles is important, and IE8’s default is a demonstration of the interoperability principles in action.
    So that leaves us where we started. But, although I would not have minded nailing down pages to a version of IE (since we already often have to add IE if-statements), I dislike the idea of having to add special code for any browser, search engine or anything else. That said, as browsers are released (and we’re talking years and years here), there *will* be display problems for older sites.
    Copy & paste the code below to embed this comment.
  77. To some extent, I agree with the article. However, I think that version targeting is, though a great solution on short-term basis, not feasible on the long-term. # First of all, let us examine the fact that there are lots of developers/designers out there who sort of fall in between the two groups of knowledgeable designers and ‘unenlightened’. I’ve been one for years myself.
    Imagine being an intermediately skilled web designer. You’ve heard of CSS and try to implement it in a standards-based way to the best of your knowledge, but your main goal is to make a cross-browser compatible website. How can you be expected to know of the “X-UA-compatible” switch and how to implement it? In fact, I only recently found out about the “almost standards” mode in browsers, and had believed all my pages to be running in strict mode for years, even though this wasn’t true for some of them. As an intermediate web designer, you can’t be expected to read ALA on a regular basis. The problem with the version targeting is that it doesn’t accommodate the users *_in between_* the ‘two groups’. This opt-in behaviour will give millions of people, professionals and hobbyists alike, severe headaches while they’re trying to figure out why even the newest Internet Explorer won’t look like Firefox and Opera. Or worse - why Firefox and Opera won’t look like the newest Internet Explorer.
    # Then, there is the long-term feasibility of this switch. I think it is unrealistic to have IE42 behave like IE7, because before long people - yes, even the unenlightened - will start to take notice of this behaviour (especially since IE is loosing market share by about 5 % a year, “source”:http://marketshare.hitslink.com/report.aspx?qprid=1&qpdt=1&qpct=4&qptimeframe=M&qpsp=91&qpnp=25 ).
    Now, “Quirks Mode 2.0” might be just displaying pages differently, but if “Quirks Mode 2.0” _really_ behaves like IE7, it could, in the future, also mean not supporting new features, which will start to become very noticeable at the time IE9 or IE10 is released.
    And how will we know that this is the last ‘switch’ Microsoft is ever going to come up with? I’m not quite convinced.
    # And now, about web standards. Though version targeting is presented as a feature advocating standards based design, I think this is not the right thinking of Microsoft. Surely the knowledgeable developers who already embrace web standards will continue embracing web standards, but implementing this switch will never bring web standards to the masses. In fact, it will throw up yet another barrier, and probably not the last.
    # Ironically, the web sites that will actually “break” to a catastrophic extent - e.g. illegible or unusable - are probably the web sites authored by the knowledgeable designers anyway, who know of the X-UA-compatible switch and how to implement it. It kind of beats the purpose, doesn’t it?
    # Now, please consider this: “Breaking the web” will _never_, _ever_, be a more shocking user experience than the transition to Firefox, iCab, Safari, Opera, the Wii Browser, the iPhone browser, etc. A transition which is usually not really that noticeable at all - at least in my experience. The only web site that won’t work in my beloved Firefox is the **** Microsoft Update… Just to make a point.
    Now, one might argue that “...zillions of people who don’t know any better do tailor sites to the quirks of IE6,” and that “That’s why an improved IE7 “broke”? old sites.”
    From this I gather that websites are “breaking” more severely in IE7 than in Firefox or Safari because web designers are using workarounds such as CSS filters, the holly hack, and conditional comments (in fact a form of version targeting itself) to code for the quirks of IE6. Maybe I’ve misunderstood, but I think the correct solution to this problem would be making IE8 so that it would behave *_exactly_* as other standards compliant browsers - removing support for the Holly Hack, conditional comments, etc. Freezing the web might just not be the smartest thing to do. Especially since Microsoft hardly makes the rules anymore. I would be interested to hear what the W3 Consortium has to say about the matter. Maybe they can offer a better solution.
    Copy & paste the code below to embed this comment.
  78. I have downloaded the Beta of IE8 and I am not really that impressed. It breaks an amazing scrolling javascript function on my company’s homepage. Does this mean a new set of hacks for IE8? I did like the reference “We might call them the unenlightened” in the article.
    Copy & paste the code below to embed this comment.
  79. We are microsoft. We are the standards. Resistance is futile. You will be assimilated.
    Every time I read an article about Internet Explorer those words go through my head.
    It’s basically all promises and only 20% of those promises get delivered.
    I think microsoft is still in brand loyalty mode and that will never change.
    Who created all these hack web-masters in the first place? Netscape was bundled with windows not that many years ago only 15.
    They do know they can brand firefox right?
    The only way to have standards compliant web developers is to have a standards compliant web browser, even if joe newguy is just starting to learn building webpages if something breaks they will learn standards.
    For those who call themselves developers and don’t follow the standards then hey let their websites break, it their own fault anyway. Maybe they will thank Microsoft for helping them code better.
    It’s best for their bottom line to follow these standards.
    If they don’t you can always add this line to your website
    “Best viewed on a good Web Browser” with links to opera, firefox, etc..
    Copy & paste the code below to embed this comment.