A new debate has engulfed the world of web developers, and as usual, it has something to do with Internet Explorer. For the non-web-savvy, perhaps a bit of background will help. When designing and coding for the web, developers have to test on a variety of browsers, in order to ensure that the site is rendering properly regardless of what browser the user is on. This is necessary because despite the fact that there is a set of Web Standards, not all browsers render content in exactly the same way. Internet Explorer has long been a point of frustration for web developers, as it routinely did not operate according to existing standards. IE7 made big strides towards being standards compliant, but this did not come without its own problems. In order to account for inconsistencies with earlier versions of IE, many developers use(d) hacks to get pages to work properly. When IE7 came out, many pages using these hacks “broke” in this version, meaning people had to go back in and fix completed work.
So that’s enough history for now. The debate, which seems to have kicked off in A List Apart’s January 2008 Issue, is about Version Targeting, Internet Explorer 8’s “solution” to this ongoing problem. The short explanation for Version Targeting, is that unless it is specifically instructed to do otherwise, IE8 will render pages exactly the same way that IE7 does. To counteract this setting, developers must specify (through the use of a tag) that the browser operate at its actual version (in this case, version 8). At quick glance, this seems like a solid solution to the problem of new browsers breaking older pages. In reality though, it is something that many developers are extremely unhappy with, as it undermines good practices, including the concept of Progressive Enhancement. Additionally, the notion that the default settings are for older browsers basically means that developers have to do additional work (in the form of adding tags) to keep pages current. When IE9 comes out, developers will have to go back into existing pages and update the Version Targeting from 8 to 9.
This is an extremely simplified explanation of the debate. Many developers have written on the subject far more eloquently than I could possibly do myself, and I urge you to take a look at both sides of the argument. A great place to start is Monday By Noon, which has an excellent list of articles for and against Version Targeting, including the original List Apart ones.
