It's the kind of volcanic eruption Chris Wilson is unfortunately used to. The IE8-does-it-META eruption this time. And I am very puzzled about that eruption to say the least. I am not saying what Microsoft chose to do is good or bad, I'm just thinking about the situation and how to solve the problem. What is the situation here, I mean the market situation beyond the technical geeky and often batty stuff.

  1. Microsoft still represents the vast majority of the web browsers used around the world.
  2. A lot of Microsoft customers (yes, customers, and not only users) heavily rely on IE6 or IE7 for intranets or specific apps.
  3. Microsoft did it wrong years ago not adopting directly and correctly web standards, we all know about it. Hey, even Microsoft knows about it. But guys, it's too late to rewrite History, we must look ahead and stop complaining about the past. After all, HTML did not grow from the very beginning as a standard.
  4. As a result of the previous item, because of "don't break the Web", and because the Web we have in front of us is NOT unique, Microsoft cannot, just cannot, forget about its past.
  5. Netscape had the chance to rewrite its layout engine from scratch, dropping the Netscape 4 codebase. Opera changed so many things in its own layout engine that Opera 9 and Opera 4 don't render pages the same way.
  6. Microsoft is clearly using for IE8 a new rendering engine or at least is plugging in some new stuff in its rendering engine, making the new one behave differently from the previous one.
  7. To preserve their IE6/IE7 customers from the changes they're introducing, Microsoft added a new switch to HTML. A rather harmeless one from a markup's perspective...
  8. ...but that switch makes little sense from a standard's perspective since it will be mandatory to trigger the new standards mode. Web authors will then have the choice : they do NOT add the new META tag to their markup and IE defaults to IE7 mode ; they DO add it and then the document is not really standards-compliant any more since it needs a browser-specific thingy.

My conclusions are simple:

  1. YES, Microsoft absolutely needs a way to make the difference between web apps for IE6/IE7 and IE8.
  2. NO, the META tag is NOT a good idea, it's in fact a very bad one because it's a way of forcing the standards community to adopt that META, of forcing users to declare a browser-specific thing in all their documents.

Here's my take about the problem :

  • Microsoft should implement IE8-switching based on the new HTML 5 doctype <!DOCTYPE html> so the new META tag is not needed for HTML 5.
  • Microsoft should freeze, and I really mean it, its current IE6/IE7 HTML 4 engines, and drop that META tag idea.
  • I don't think it's a good idea to say HTML 5 is a new version of HTML 4. It's not, it's much wider than HTML 4.

UPDATE: Holly cow !!!! Seems the first bullet point above is done !!!