Update: According to the IE blog, the IE team has changed its stance from what it was (as described in this post) to a more logical one. I intended to do another blog post about it, but other things in life have been more interesting (like getting sleep since I’ve been a bit ill). They also have a beta version available, but I am not going to bother with it this time around.

Internet Explorer has been hated by web developers for quite some time. It is terrible in a lot of ways, but one of the biggest problems is that it has always been quite far from following standards, causing developers to spend a significant amount of extra time making webpages work in Internet Explorer. Microsoft claimed that IE7 would fix these problems and I even thought they might do a decent job for a while. I gave time to test the beta and even submit a bug (that was ignored). When I saw how poor of a product IE7 was, I lost all faith that Microsoft would ever develop a good browser.

At that point, I decided that I would quit testing my personal pages in Internet Explorer and I have since paid as little attention to the browser as possible. My exposure has been limited to hours of CSS “fixes” to get both versions of IE to look right (no easy feat since they screw up in different ways) at work only. Then, today, I came across an IE blog post from a month ago about “Compatibility and IE.” How can they continue to make such terrible choices? Their idea is to add a meta tag that ties the rendering of a webpage to a specific browser (not even to a specific rendering engine). In other words, you have to set a meta tag that specifies exactly which browser version the page looks best in for every single browser (of course they don’t acknowledge the number of browsers out there). You can also have the server send the info in the header, which is an even worse idea (just imagine downloading a webpage to read at a later time and having it render terribly because the header information was not included not to mention the pain this creates for mirroring).

To give people an idea of how stupid this idea is, I thought I’d start off the meta tag, showing what it might look like if other browsers adopt this idea:

<meta http-equiv='X-UA-Compatible' content='3B=2; Abaco=1; ABrowse=edge; Alefox=edge; Altimit OS Web Browser=edge; Amaya=edge; Android Web Browser=edge; AOL Explorer=edge; Arachne=edge; Avant Browser=edge; AWeb=edge; Bento Browser=edge; Beonex Communicator=edge; Camino=edge; Charon=edge; CompuServe=edge; Deepnet=edge; Dillo=edge; DocZilla=edge; Emacs/W3=edge; Enigma=edge; Epiphany=edge; Flock=edge; Galeon=edge; Ghostzilla=edge; Gollum browser=edge; IBrowse=edge; iCab=edge; IceWeasel=edge; Internet Channel=edge; Internet Explorer=8; iRider=edge; Kazehakase=edge; K-Meleon=edge; K-MeleonCCF=edge; K-Ninja=edge; Konqueror=edge; Krozilo=edge; LimeChat=edge; Lobo=edge; Madfox=edge; ManyOne=edge; Maxthon=edge; Midori=edge; Mothra=edge; Mozilla Firefox=3; NeoPlanet=edge; NetCaptor=edge; NetPositive=edge; Netscape=edge; NetSurf=edge; Nintendo DS Browser=edge; OmniWeb=edge; Opera=edge; Oregano=edge; Planetweb browser=edge; Safari=edge; SeaMonkey=edge; Shiira=edge; Skipstone=edge; Sleipnir=edge; Slim Browser=edge; Smart Bro=edge; Songbird=edge; SpaceTime=edge; Swift=edge; Tkhtml=edge; UltraBrowser=edge; VMS Mosaic=edge; Voyager=edge; Web Browser for S60=edge; Wyzo =edge; XeroBank Browser=edge; X-Smiles=edge; Yahoo! Browser=edge;' />

Of course, a web developer would have to change “edge” to the current version of each of these browsers (and this list of 70+ is by no means a complete list) to ensure it renders correctly. WTF?

Why can’t we just keep “quirks” mode so that users aren’t alienated from old content (as much as I’d like to get rid of it); any page that does not have a DOCTYPE declaration should render in quirks mode. Any page that does have one should render in the best, most standards-compliant way available for the specified type. That means the page might look a little different as browsers are updated to comply more correctly to the standards, but developers should be developing to the standards not to the browser (obviously, you have to make adjustments for browsers, but those should be minimal and should not ever make the page look bad when viewed with full compliance of standards).

The way it works now in good browsers is that they follow the standards as closely as possible (though non-Trident browsers aren’t perfect either). If they encounter something like drop shadows that they do not yet support, no big deal; the shadows simply don’t show. When an updated version comes along, the shadows show up and the page is improved with no additional work from the developer. The Internet Explorer method prevents a page from ever being rendered more correctly. A web developer would have to manually tell IE to start following the standards as each feature starts to be supported (or use “edge” and hope IE does not get worse…).

The other awesome thing about this idea is that every future version of IE has to support every previous version’s mistakes! If an ignorant developer relies on an IE8 bug to make the page render a particular way, s/he’ll use that meta tag to specify IE8. IE9 comes along and has to be able to render it. IE10 comes along…. Eventually terabyte hard drives will be useful as storage devices for the billion rendering modes IE will support.

5 Responses to “IE8 “Super” Standards Meta Tag”

  1. 1 Luke Maciak

    MS has been trying to embrace-and-extend the web for years now. It was successful for a while but lately with the new browser war even the crappy web developers started to adjust their code for Firefox.

    So microsoft needs new ways to break compatibility. IE8 metatags are step one. Step two is silverlight which probably won’t ever work with Firefox and will never be ported to any other OS. I think they also wanted to “extend” RSS feeds at one point.

    Same old tricks. Fortunately the internet is pretty robust and it routes around this kind of intentional damage. They will most likely fail, but not without making our lives tat much less convenient.

  2. 2 Ian Clifton

    Haha, that was pretty much my take on silverlight after the couple of sentences I read about it. They will definitely make things more of a pain, but at least I can mostly ignore them for my personal pages.

  3. 3 Josh Schumacher

    Surprisingly, Microsoft release Silverlight with Safari and Firefox support on both windows and OS X. They really want to compete with flash/AIR in the RIA future. I work with an amazing flash developer who actually thinks that we might see some Silverlight traction picking up in the near future.

  4. 4 Ian Clifton

    Uh oh, corporate competition! If it’s anything like the optical disc wars, it will be a long time before either “wins” and then some more time before widespread adoption. It’s good that there is support, but I wonder how long and to what extent that support will remain (I’m thinking like out Web Outlook is “supported” in Firefox…).

  1. 1 Around the Browsersphere #8