The world wide web is starting to fill up with rumours about a possible final release of Windows Vista Service Pack 1. True or not, I do not recommend installing it until Microsoft releases it officially.
This is surreal… I just posted about Microsoft’s latest trick with IE8 and a meta tag and I already have an update that warrants a new post. Through some reading and clicking, I arrived at a blog post by Jeremy Keith on this subject. Without going into the pros and cons of the meta tag, his post shows me three things.
The first thing is the format of the tag. It appears it will take the following form:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
A second point is IE’s default behaviour. In this case, default means without any changes to existing pages. Apparently, Microsoft decided that, without meta tag, a page will be rendered in IE7 mode. I’m going to borrow Jeremy’s words because they are perfect:
Unless you explicitly declare that you want IE8 to behave as IE8, it will behave as IE7.
That’s just plain ridiculous! What’s the point of creating a new version if the default behaviour is to use the old version? I guess this is Microsoft logic.
The third point is closely related to the second one. The right default behaviour would be to use the current browser version. There is a way to activate that option by using IE=edge as… you guess it, value for the content attribute of the meta tag. Using that trick is strongly discouraged though.
So essentially this means the meta tag is not an optional step, but rather a mandatory part of creating a web page. To use the mode associated with a browser version beyond 7, you have to specify it. To disable the checks, you also have to specify it.
This is so surreal and such mess..
I thought this was a really early April’s fool when I first read it, but this is all over the place it just has to be true. I picked it up from Robert O’Callahan’s blog. I don’t know who keeps inventing these things, but sometimes you just can’t come up with such funny jokes no matter how hard you try.
Microsoft feels they made a mistake when they changed the behaviour of the “Standards compliant” mode between IE6 and IE7. They argue that web developers had implemented hacks to go around the imperfections of IE6’s standards mode (no kidding, the standards mode really didn’t live up to its name). Then IE7 came and it shipped with improved support for standards. But because of IE detection, IE7 received the same content as IE6 and as such the improved standards mode broke more than it fixed (that says more about the web developer though, I haven’t done a lot of fixes to be IE7-compatible).
So the folks in Redmond believe they should do something. Web pages are developed for a particular browser version and they should never break in a newer browser. It should be rendered by the engine it was created for. Microsoft’s solution? Let’s ship different rendering engines!
<insert awkward silence>
The first thing I can think of is maintenance hell. The second thing I can think of is development hell and the third thing is testing hell. So basically, IE is heading to hell. Small clue for certain readers: typing this paragraph made me think of a certain Peanut. But wait… there’s more from the Redmond Beast!
What if you, as web developer, know a page is compatible with a new IE engine? Just because you know how to do your work shouldn’t leave you with old pages stuck in an old IE version, right? Well, Microsoft agrees and they’ve come up with a way to signal which IE mode you want. You can indicate your page’s compatibility by using a … wait for it … <meta> tag! And it will be a meta tag of the http-equivalent type so you can achieve the same effect by sending an HTTP header via the server.
Is it just me or does Microsoft have a nose for picking the worst solution to solve a problem? Instead of fixing their part, they’re putting the burden on the developers once again. Before IE8 comes out, we can all waste hours/days to add their silly meta tag. This is all for Microsoft’s “Don’t break the web” philosophy. Well hello, Microsoft! You broke it in the first place, fix it without harassing us every time you release a new version of Internet Exploder.
Mind boggling questions sometimes have a really easy and simple answer. How can we make the web a better place? Get rid of IE and leave the web to browsers.
Oh, for the record: this has been made official on the IE Blog.