Note: this article is old as shit.
Recently, Microsoft announced on the IE Blog that IE8 will have three different rendering engines. It will have the IE6 engine (both standards-compliant mode and not), IE7's engine, and a new standards-compliant engine for IE8. The standards-compliant IE8 engine should be, if Microsoft is to be believed, on par with other standards-compliant rendering engines such as Gecko and KHTML.
In order to enable the new standards-compliant rendering engine in IE8, you will need to do one of two things:
<meta http-equiv="X-UA-Compatible" content="IE=8"></meta>
There are a number of reasons why this is a bad idea. First of all, it doesn't fix the problem that it's intended to fix. Broken pages will remain broken, and people will continue to have to waste time and money making their sites work in Internet Explorer. It will also penalize designers and browsers that do adhere to the standards.
Everyone else has already noticed that it's stupid for these reasons, though.
There's another reason why this is a bad idea, and it's a reason that I haven't seen anyone else mention. Most of the arguments that I've seen that are sympathetic to Microsoft have concluded that while it would be unreasonable to add the meta tag to all of your pages, it would be easy enough for a savvy web designer to configure his or her web server to send the appropriate HTTP response header.
Consider this scenario, however:
HTTP/1.x 200 OK Date: Wed, 23 Jan 2008 04:05:36 GMT Server: Apache Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/xhtml+xml; charset=utf-8 X-UA-Compatible: IE=8
Basing the display of the page on the HTTP response headers is completely, ultimately, mind-bendingly retarded. The response headers are not part of the web page, and will not be saved along with it when the page itself is saved.
The http-equiv meta tag would be saved along with the page. However, no one is going to add meta tags to every goddamn page they've ever created, and update these meta tags each time a new version of any browser is released. Even the sympathetic responses to this idea agree that meta tags would be entirely unwieldy.
Wait! There's an easy solution! Just make Internet Explorer...
That way, if the saved page is ever viewed in the future, it will look the same as it did when it was saved. But only in Internet Explorer. All bets are off for other browsers. Furthermore, I don't want Microsoft screwing with my web page just because a user decided to save it.
In addition, there are a number of situations where it would be important that a page be saved exactly as it was received. Adding meta tags where they don't belong sort of poops directly on top of that parade. I'm selling that metaphor, by the way.
And just what do we do if the HTTP response headers disagree with the meta tags? Hmm?
This is great for Microsoft, and terrible for anyone who develops anything that is standards-compliant. At the very least, it would require every standards-compliant browser to implement this feature exactly how Microsoft ultimately implements it. If they don't, they risk incompatibility. Incompatibility with the de-facto standard, not the real standard.
Isn't that what we're trying to fix, guys? This question is not so much directed at Microsoft as it is to everyone else on the planet.
Off-topic, but what the hell.
Microsoft made a big deal a couple of weeks ago about the fact that its new IE8 engine could properly render the ACID2 browser compliance test suite. As the Wikipedia page properly notes, no the fuck it don't. Nothing will be rendered in a standards-compliant manner unless you add this dumbass header to your server config, and that includes ACID2 and every other test suite.
Maybe the ACID2 folks should take the time to go back and retrofit all of their test pages with an IE-specific meta tag, and then spend hours re-testing and verifying that the test suite remains correct as a result. On a more personal note, my birthday is coming up in a few weeks, and I'd really appreciate it if you'd check out my wish list.