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...
...to the rest home with Netscape 4, and stop caring whether our sites work at all in that browser?
You might think that, because I work for Opera, a competitor to Microsoft, I would be an enthusiastic cheerleader for those dropping support for IE6. But I'm not. Sure, it would be lovely to be able to ignore it, but unless you run a very specialised business selling web apps to Mac worshippers or Linux geeks, you cannot afford to.
A 'browser unsupported' message would be a barrier to a good proportion of your online customers, and may very well alienate many, as browser upgrade campaigns assume that everyone can choose to upgrade — and many cannot.
The more modern versions of Internet Explorer run only on Windows Vista and its predecessor, Windows XP. Users of Windows 2000 machines cannot run a more modern version, and Windows 2000 is supported by Microsoft until July 2010. In the present economic turbulence, companies are unlikely to want to spend a small fortune on upgrading machines to new computers that can run the resource-hungry, newer versions of Windows.
So there is only one organisation that should stop supporting IE6 — and that organisation is Microsoft.
If Microsoft is serious about wishing to persuade users and corporates to upgrade, it should address the reasons why people have not yet upgraded./>
It could, for example, encourage systems administrators to upgrade corporate networks by officially announcing that IE6 has reached the end of its life and stop supporting it, and back-port IE8 to run on Windows 2000 so users of that operating system have an upgrade path.
IE6's security vulnerabilities, such as those flagged by the US Computer Emergency Readiness Team, should terrify most IT directors into upgrading.
And then, having killed IE6 on the desktop, Microsoft should drive a stake through its heart and reverse its plan to resurrect it as the engine for Internet Explorer Mobile 6 for launch in China this year. Using the emulator, I ran some compatibility tests that show it is using the same buggy CSS and layout engine as IE6 desktop.
And then there will be wild celebrations as web developers dance over the rainbow singing: "Ding Dong, the wicked Six is dead", and customers will be happier as developers pass on the development cost savings.
That is, until they notice that new standards such as HTML 5 canvas, scalable vector graphics (SVG) and non-DRM CSS-embedded Web Fonts are missing from only one modern rendering engine, and the whole cycle will begin again.
Bruce Lawson works as an open-web-standards evangelist for Opera. He has been involved in standards and accessibility since 2002. The views expressed in this column are his own. You can follow him on Twitter.