IE8 will break the web, and about bloody time

So the latest Internet Explorer is out and, like any good web developer, I've downloaded it and thrown the sites I manage at it. The results aren't good, and I'm very pleased by that.

IE8 was originally planned to emulate the broken IE7 rendering engine by default, with standards-compliant sites required to use a dodgy, non-standard hack to actually render using the new, standards-based engine. This met with howls of protest from the community of developers trying to get standards to actually work. Fortunately, the IE team listened to the feedback and reversed the decision. So now, out of the box, IE8 will render in standards mode, and sites with broken markup will have to use the dodgy hack to force IE7 rendering. Brilliant!

This decision will break the web, which is excellent. All those shonky hacks used to make IE work will stop working, and the enormous market power as the vast majority of browsers are upgraded to IE8 will force web developers to actually do something, and acknowledge that they haven't been doing things right. If you're lucky and using some kind of templating, the fix will be very easy. If you're not using templating, it could be quite painful. But it means the next redesign will do things right!

For sites I've built from scratch, the results are exactly as expected. My home page renders perfectly, as it did in IE7, Firefox, Safari, Opera, lynx, links and probably any other browser.

For sites I've inherited, the results aren't so good. The site I support for my main job breaks very badly. The shonky sIFR Flash+JavaScript font rendering breaks completely, the top navigation looks funny and doesn't work, some of the style cascading is strange. It'll be easy to fix, just tweaking the base template to have the IE7 mode forced.

We're planning a redesign, as is pretty usual with these types of projects, and I plan to consolidate the ridiculous proliferation of styles. The new design will follow the standards and use the bare minimum of hacks to get it mostly working in IE7. It should work just fine in IE8. Yay!

Hopefully Microsoft will automatically upgrade most users once IE8 is released, as has happened with IE6. That enormous market power will finally be put to some good use. There will be pain, but it will be pain that makes the world a better place. How novel to be praising Microsoft!