the ie6-complex / keeping it cool

Mention ie6 to any web developer and you'll trigger a reaction. Some will burst into a furious rain of tears, others will start sighing depressively, some will just twitch and pretend they didn't hear anything. Even hardened web developers will show at least some mild irritation. But ie6 is a reality that has to be dealt with, so let's take a look at what to do and what not to do.

ie6

There is no polite way to express how horrible ie6 is. Once the most powerful browser on the web, it is one big mess of bad css support, slow and proprietary javascript tangles and Medieval browsing experiences. Tell it to place a paragraph of text to the right and you turn up with pink text printed from right to left. It takes years to learn how to handle the quirks of ie6 and to force it into submission the right way. Years that many of us were not ready to invest.

Even though ie6 is hell, there are a few golden rules that can solve many of its regular issues rather quickly. It still takes me more time to debug ie6 than it does to debug all other browsers and versions, but I don't spend days slaving away to make ie6 behave either. That said, those golden rules are not 100% fool proof and there are still new bugs I run into from time to time. There is no quick and easy way to learn how to deal with ie6. And dealing with it costs money. The losses in our industry because of ie6 are immense.

Sadly not everyone cared about fixing it the right way (and to their defense, those were really different times too) and web developers just made their sites display okay in ie6. The result of this was pretty painful when ie7, the first update in years, was finally released. A lot of sites simply broke down.

average Joe and ie6

Imagine having used ie6 for the last 5 years. Finally a new version arrives, you try it out and many of your favorite sites just fail to work. So what do you do? You switch back to ie6. When ie7 was finally released many of us thought they saw the light at the end of the tunnel, sadly it was just a whole lot of wishful thinking. Even though ie7 proved to be a huge improvement, it broke many websites and a lot of users didn't care that it was really ie6's fault.

Nor should they care. Semantics and good coding is our priority. It is perfectly possible to use proper html and css and then fix it up nicely for ie6 without hurting any other browsers. And even if it wasn't, there is no excuse for the mess we made during the ie6 era. Bottom line is that most of the end users just want to see their favored website, our job is to make it as easy as possible for them. And that includes supporting ie6 for as long as they plan on using it.

web developers and ie6

But we are web developers, geeky and always excited about new technologies. We know we have to care about legacy and such, but deep inside we don't give a damn at all. And so, about every three months there is someone snapping and claiming the death of ie6. Cheering ensues until we are forced back to the real world where ie6 is still present. And then we wait for some new proud soul to take the stage and declare the real death of ie6.

Many things have been tried. Big players have stopped supporting ie6 (37signals), claims were made about false browser statistics and even downright a-social pleas were fired just to get that ie6 aggression out of our systems. Which is cute and all, but in the end it didn't do much about the fact that ie6 is still alive and people are still using it to view the websites we make.

ie6 counter

So some time ago I did what everyone should do. Simply look at the projects at hand, interpret the browser stats and see how they apply to the project you're working on. Are the stats below 1% or 0.5%? Cool, you can start thinking about dropping ie6 support for that project. But unless your public isn't switching browsers, you better be good and keep support up, now matter how shitty a browser ie6 is.

Since a week or two I've added a little graph in the right bottom corner of my homepage, plotting out the weekly ie6 stats for my site. I'll keep support up as long as the graph stays above the 0.5% line. It's extra work but that 4% or 5% ie6 users present real people that want to read my blog. I have no intention of ruining their experience, on top of that I consider myself a web professional so I don't see any good way out to disappoint them without hurting my professional title.

ie6 conclusion

The only thing you can and should do is educate ie6 users. Show them alternative browsers, tell them about the perils of ie6 and how it is hurting our industry and the internet. It is not their problem at all, but if you can give them a good alternative, they don't have any reason not to switch to a better and newer browser. At the same time, it is our obligation to write flexible and solid code and to upgrade all critical websites that still thrive on outdated, ie6 tailored code. If you're not up to that, you're in the wrong business and you're probably just creating a whole bunch of new issues and horrible legacy that we will have to deal with in 5 years time.

ie6 ain't dead yet and won't be for some time, even though it is clearly dying. So cope with it and try to make a difference. All this feverish nonsense isn't really helping anybody.