The years of grief inflicted on the world by Internet Explorer 6 (IE6) must end — and Bruce Lawson has some ideas on how to halt the suffering.
The release of Internet Explorer 8 (IE8) on 19 March leaves web developers with yet another version of the Microsoft browser to support. The IE8 launch has also served to intensify the wailing and gnashing of teeth from developers about the shortcomings of its elderly forerunner, IE6.
The eight-year-old browser, which still has a sizeable market share, is the developers' bête noire for two reasons. First, it does not support recent technologies such as CSS Level 3, so developers have to code around it. Secondly, because many older standards are implemented so buggily, wrestling IE6 into making a half-decent attempt to render a site takes up a large chunk of development time.
Others are following a more active strategy to hasten the demise of IE6 and finally put it out of its misery, such as 'browser upgrade' messages served to IE6 with conditional comments, or on WordPress blogs with plug-ins. These encourage visitors to upgrade their browsers, usually for ideological reasons — most WordPress themes render fine in IE6, for a simple reason: it is still a popular browser. A whole movement is growing in Norway and Microsoft Norway seems to be supporting them.
Some companies, notably Apple's MobileMe service, have stopped supporting it completely. However, Apple also makes a browser, so it is not certain whether dropping support is for technical or commercial reasons. Web-applications company 37signals has also said its future products are not guaranteed to work on IE6.
So the question many developers are asking is: 'Can we drop support for IE6?' To answer that question, we need look at what we mean by 'support'.
If we mean acknowledging that a website will not look the same in IE6 as in a modern browser, then that is an entirely acceptable industry practice. Smart developers use modern browsers such as Opera, Safari or Firefox to test sites, then add hacks and tweaks from an extensive repertoire of hacks that we have developed to tame the beasts of IE6's 'hasLayout' mysteries and its idiosyncratic understanding of CSS floats.
Those smart developers do not aim for pixel perfection. As the UK government's Central Office of Information advises: "There may be minor differences in the way that the website is displayed. The intent is not that it should be pixel perfect across browsers, but that a user of a particular browser does not notice anything appears wrong."
By using the graceful-degradation, progressive-enhancement development methodologies, we can at least ensure that the dinosaur browser gets something, but it still takes time to do that. Wouldn't it be lovely if we could just ignore IE6 altogether, consigning it...