HTML 5, Microsoft IE8 and Backwards Compatability

In case you haven’t heard the W3C has released the working draft of HTML 5 this week. Microsoft recently released a statement that the pre-alpha versions of Internet Explorer 8 has passed the Acid 2 test. However having achieved this, IE8 will need to break many existing sites, more than IE7 did. Or does it?

Aaron Gustafson has an article on http://www.alistapart.com/ describing a method of “preserving our digital legacy” using a new meta tag. IE8 is implementing this new meta tag to specify which browser engine to render a site with.

If your site works with IE7 and IE8 breaks it, you can implement this little meta tag and tell IE8 to render it as if it were IE7 without recoding your site. Eric Meyer equates this to the classic browser sniffing, but surprisingly agrees with the idea. I can see how Microsoft doesn’t want to break the existing web, but as John Resig points out, they may be doing more harm than good.

The old adage “if it ain’t broke, don’t fix it” seems to be where Microsoft and the new meta tag are coming from. What happens if it was always broke? At what point do you say, screw it and fix the whole thing regardless of consequences? I know no one wants to “throw the baby out with the bathwater” (sorry for the cliches), but the reality is that IE6 broke the web, developers designed for the broken web and now we have bad code sites and bad coders. We have standards. Every other browser follows them to a relatively satisfactory level. Why not get a beta of IE8 into the community so that those who have sites that break can fix them before the browser is fully integrated to the general consumer? We walked away from 8-tracks with the cassette, we walked away from the cassette with the CD, we walked away from VHS with the DVD. In each case we didn’t concern ourselves with backwards compatibility and I think we need to again.