02.02.08

X-UA-Compatible

Posted in Tech, Web at 1 am

<meta http-equiv=”X-UA-Compatible” content=”IE=8;FF=3;OtherUA=4″ />

Ah now there’s the rub. This whole thing with the X-UA-Compatible HTTP header has been basically portrayed as how the web creation community can bail Microsoft out of a tight corner that it got itself into. With both Zeldman and Meyer supporting this and many, many people railing against it, I’ve been trying to figure out where I stand in this. Here’s my gut reaction and how I got there.

  1. It makes perfect sense for Microsoft to do this.
  2. It makes perfect sense for everyone else to ignore it.

1) This is the next version of DOCTYPE switching. No it is not. DOCTYPE switches were not simply a method to choose a rendering engine. Using the DOCTYPE to switch to ‘standards’ mode worked well because using it made the pages markup more valid. It was a situation where the hand of standards was slipped into the glove of DOCTYPE. X-UA-Compatible does nothing of the sort. It simply adds more information to the header of a page. (Interestingly enough, this is exactly what HTML5 is shooting to *reduce*.)

2) “IE=8;FF=3;OtherUA=4” Exactly who designated IE as an ‘official’ abbreviation for the browser from Microsoft? And who said that FF was adequate to represent all of the multitude of Gecko-based browsers out there? Talk about arbitrary. I would hope that Microsoft would put forth some sort of official registry for these “browser codes” like we have for MIME types and for Unix communication port numbers. At this point, this is going to be as helpful as User-Agent strings…

3) What IE=7 really means What Microsoft is stating with all of this is that they are happy to designate IE 7 as being their final answer, their best effort to present what I’ll call “IE7HTML”. Much like HTML 4.01 or XHTML, this is a specific flavor of HTML. Our friends in Redmond are also declaring IE7HTML as the final version of HTML. This stems from the idea that all pages that are not designated with IE=8 (or 9 or 10 or ‘edge’ or whatever) will default to IE 7’s rendering engine. So that’s it. HTML 3.2, HTML 4.01, XHTML can all be put out to pasture because IE7HTML will be the default way for MS’s browser to render the World Wide Web.

4) Smart for Microsoft This is incredibly intelligent for Microsoft. Here we have a great language (IE7HTML) that can be used to present Web Pages and is really good at Documents, and can be forced into use as Applications. The IE7HTML language works with all of that ‘interesting’ code those goofy guys working on Word used for their ‘Export to HTML’ function. What a bunch of comedians over there! Who can forget such funny tags as “<o:p>”?

But then, when IE7HTML becomes ‘old news’ or too limiting, where will we go next? HTML5? HTML6? No! We will need to abandon HTML entirely, because unless the web creators write code that specifically tells IE to use a later rendering engine, it will always default to IE7-style rendering, sending us right back into the arms of IE7HTML. In order to break out of it, we’ll need some new web technology that doesn’t use HTML at all… What about Flash? Oops! Flash requires the OBJECT or EMBED tags from HTML. I wonder if anyone has a technology that displays rich graphics and advanced (ie Desktop Application-style) interfaces. Well golly gee! Someone does! And it’s a good thing that it’s being fostered by a company with such a passion for open communication and shared standards.

Gosh isn’t it funny how selecting the default rendering engine to be the outdated version caused Microsoft’s last best chance of controlling the web to become a viable alternative?

5) Ignore it and it will go away. In this case, the old sarcastic admonition might be true. If no other browser respects this X-US-Compatible tag, and if only a small minority of web creators and Microsoft tools support this, the overwhelming majority of the web will continue to evolve and grow and adapt to new technologies. Looking 10 years down the road, the bulk of the web will use new technologies. The IE browser family and later generations, by defaulting to the IE7HTML rendering, will become increasingly outdated. It will certainly be able to read old and outdated web sites, but yet again Microsoft will have painted IE into a corner. They will then create a new browser (Windows-Yahoo-Live Explorer anyone?) that will skip forward to modern era web pages.

6) Is there any chance we could have a <sarcasm> tag added to HTML5? I’m actually serious about this.

Comments are closed.

RSS feed for comments on this post · TrackBack URL