Supporting IE6 – How much does this cost?
June 30th, 2009 RustyWhile it may astound many developers that IE6 is still a popular browser, when you segment your audience with an industry heavy in compliance bureaucracy and political overhead, you find users who are not able to upgrade their office computers. Their IT department is understaffed and conditioned to resist any innovation that might introduce more work for them. Thus, you’re stuck supporting an ancient, inferior browser and you are forced to continue to code everything twice – once for modern, standards compliant browsers; once for IE6. While this is an improvement over times past, its still a legacy behavior that costs real money to business. How much? That’s hard to quantify.
Some deductive cost analysis
Let’s tally up the time it takes me to test a new feature against IE6. This is an isolated development activity that does not take into account the cost of configuring and maintaining a virtual machine that hosts IE6. It takes for granted the cost of software licensing necessary to keep an IE6 OS around and to run it. I am using VMWare so hardware is negligible. However, you could also include the cost of hardware for a machine that hosts IE6. There are images available for virtual pc but these are getting harder to find and they expire regularly. Microsoft wants us to move forward and they make it hard to hold back on upgrading IE6. Nonetheless, businesses allow their IT departments to shackle their employees because anything that involves IT carries IT costs. Its a viscous cycle of lock down followed by immobility but that’s outside the scope of my current point.
I waited for 20 minutes while my IE6 Virtual Machine booted up. In order to test against my development server, I have to run two Windows virtual machines simultaneously and that pretty much slows the system to a crawl.
To access my server from my IE6 machine, I had to reconfigure my network settings to use bridged networking. This took another ten minutes before it would connect. Though my settings were correct, I still couldn’t access the website on my dev server VM. I had to close down my browsers and try again. 35 minutes into my activity, I am still trying to bring up the page to see how it displays! Finally, the page loaded correctly. At first, I was very excited to see a perfect page. Then I realized it was firefox. I try to limit my risk variables when troubleshooting. On to IE6, then.
I’ve gotten very good at fixing IE6 issues. When I brought up the page, it was a disaster. I quickly identified that my “overflow” was not working and Googled the solution: a fixed width on the overflow container. jQuery then took care of the rest. I love that library! Finally, I had a png file that was being manipulated by the iepngfix behavior so I dumped that. If I am going to support IE6, its buh bye to png transparency for now. The pngfix was f’ing up the size of the img. Sure, I could have specified a fixed height and width on the img tag but that’s so old school.
About an hour per IE6 page
Sure, this is an isolated and unique event but I think its probably pretty close. Today I was held up getting the environment running but the fixes were easy. Tomorrow I won’t have to jump through hoops but the fixes may take longer. I would be willing to bet that for each page that needs to support IE6, add an hour of work. Have 100 pages to work through? 100 hours. At a hip shot rate of $100/hr for average salaried developers and you see that IE6 gets expensive (that is a $10,000 non feature). It also holds up progress and innovation and lowers moral but focus on what’s important: its expensive. Again, I am just shooting from the hip on that cost, its most likely much, much higher.
I look forward to the day when I have a systems admin working for me who resists doing his job to keep software current and useful while at the same time refusing to let user serve themselves. I will have years of pent up frustration to present him or her with. I hope I am in a pleasant enough mood to find the levity in it.