There are big changes ahead in the web development industry which has caused quite a stir over the last few days with news that Internet Explorer 8 will introduce version targeting. It’s an interesting concept but what effect is this likely to have on web development now and in the future?
I first read about this news on Monday in an article by Aaron Gustafson on alistapart.com but I’ve been holding off posting anything about the issue until I’d really come to a decision as to whether it was a good or bad thing.
In case you haven’t read anything about this so far, I’ll briefly summarize what this means.
Internet Explorer will use the meta tag to specify which rendering engine you’d like IE8 to use.
<meta http-equiv="X-UA-Compatible" content="IE=8">
By using this meta tag, you’ll be able to lock all future releases of Internet Explorer to this rendering engine so in theory, the page that you create in IE8 should always work in the future.
My initial thoughts were that it was a bad thing. Why should I have to insert extra code into my page in order to tell the browser that I’m writing using the latest web standards? Isn’t this resorting to browser sniffing which caused so many problems and extra hours of work?
Then I read Eric Meyer’s take on things in his article “From Switches to Targets: A Standardista’s Journey” which along with Aaron’s article, confused me somewhat. I should hate this thing right? So why do I feel myself coming round to the idea?
Looking at it from my own personal perspective, it shouldn’t make too much difference. In fact, it will probably make my own job a little easier as I can now go about my work, safe in the knowledge that the code I create for IE8 won’t break when IE9 and IE10 are eventually released. I can lock my code for to IE8, safe in the knowledge that when future Internet Explorer’s are released, I won’t have to revisit the code.
After the initial confusion, it seemed as though this might actually be a good move by Microsoft and something that other browser vendors could adopt in the future?
Time to Think
I’m a strong supporter of web standards so using the latest web standards isn’t a problem for myself and a lot of other developers. I understand that if I want to use code that IE8 supports but IE7 doesn’t then I’ll have to use the meta tag to trigger IE8 standards mode.
My concern though comes for those developers who aren’t as knowledgeable about web standards and I feel that this move is actually less likely to convert them to using web standards than if IE8’s default behavior was standards mode.
This move will actually allow developers to create a site using IE7’s rendering engine. Presumably, for all future releases of the Internet Explorer browser. This will allow web developers to stick to what they know best and continue to churn out poor code without the need to train and update their skills.
Is this not counter productive to the whole idea of web standards?
But, then I read that the likes of Jeffrey Zeldman are supporting this move by Microsoft and it makes me think that maybe I’m missing something?
I understand that the release of a new browser needs to be done in such a way that it won’t break in previous versions but isn’t this method a little overkill? Usually an older browser only lasts for one or two versions after the latest browser is released but now developers will presumably be able to code using IE7’s rendering engine in 10 years time, which is surely wrong?
How will Opera, Firefox and Safari adapt to this? After all, Microsoft are the market leaders and therefore if developers are still creating code to an IE7 standard which works in IE12 then the other browser vendors will have to make sure that Opera 14, Firefox 10 and Safari 10 all handle the rendering correctly. Will these other browsers introduce their own version targeting? Whatever the browser vendors decide, it certainly opens up a can of worms.
In my research for this post, I was pointed to a comment by Simon Pieters (zcorpan) which suggests that (at least for the time being) we don’t use IE8 standards mode.
The more, I think about this the more it makes sense. As with IE6, we’ll have to continue supporting IE7 at least a couple of years after IE8’s release while people slowly make the transition, so why deal with two different rendering engines?
Why not omit the meta tag, create code for Firefox 3, Opera 9.5, Safari 3 and IE7 using web standards safe in the knowledge that the page will also render correctly in IE8? Yes, you won’t be able to take advantage of IE8’s CSS3 support but you wouldn’t anyway due to the historically slow uptake in IE’s browser releases.
Personally, I don’t think that this move will cause me or the other web standards supporters any problems as we’re hopefully knowledgeable enough about the subject that we can make our own decision on how we’ll develop websites in the future and how we’ll deal with this news.
I do hold reservations though about how less experienced web developers will treat this news, if they’re even aware of it? Or how those that care more about getting a website built and out there for the majority of users rather than testing in multiple browsers will deal with this?
There’s plenty of other opinions and further reading available from various people within the industry below:
- Andy Budd
- Jonathan Snook
- Anne Van Kesteren
- John Resig
- The Web Standards Project
- Rachel Andrew
- Ethan Marcotte
- Håkon Wium Lie
- Roger Johansson
- Gareth Rushgrove
- Maciej Stachowiak (Safari)
- David Storey (Opera)
What are your opinions on this news? How will you deal with the release of IE8?