Coding for Legacy Browsers, and the Internet Explorer Problem

As a coder, I hate Internet Explorer. Or at least I used to hate it: IE10 and IE11 are actually pretty good browsers. But we’ll get to that in a minute.

We continue to have some clients request that their sites support newer HTML/CSS features in IE9… and even IE8 in rare cases. These browsers are now 3 and 5 years old, respectively. Nearly ancient in Internet years! But even when released they lagged behind their competition. To understand why coding for legacy browsers–and especially IE–takes more resources, you need to appreciate how HTML works (or doesn’t).

The inner workings of web pages are primarily established by an organization called the World Wide Web Consortium, or W3C. Every few years they publish official standards which extend the functionality of HTML/CSS. To support the newest features, you also need a relatively modern browser that understands them. Typically websites will be coded to degrade gracefully for legacy browsers. In other words, content will still display but might be formatted differently and will lack some functionality. With an additional layer of Javascript we can manually replicate newer features in an older browser… but it requires more work, and more testing, for each legacy browser added to the support list. It also usually means some sacrifices need to be made for all users in order to make the experience consistent for the lowest common denominator. The ROI to do this is typically not justified unless you process a large amount of transactions online and can’t afford to ignore any browser fringe cases, no matter how small.

Of all the legacy browsers the most problematic is IE, which for years decided it would set its own standards apart from the W3C. Microsoft pushed their own proprietary features, which meant pages specifically created for IE wouldn’t work properly in any other browser. And they consistently lagged behind supporting the most recent HTML base spec, so IE was buggy and always required workarounds when viewing code that worked great everywhere else. While IE had a vast majority of the market share, Microsoft could afford to be the exception and force web designers to bend to its will. As recently as 2009 IE still had over a 50% adoption rate–even after years of better, faster, and more secure browsers had chipped away at it. Then along came Chrome, and later the rise of the mobile OS, and that was the beginning of the end. As of today, IE has around a 20% adoption rate and has been dropping precipitously.

And yet, even though IE8/9 combined comprise only around 5% of the 2014 market, we continue to see a unusually high number of institutional clients who are using these browsers. Why? One word: Vista. Microsoft’s Vista OS was so universally hated that users stayed on XP and refused to upgrade. For years, new PCs shipped with Vista installed would often be “downgraded” to XP. Along came Windows 7, and now 8, and many businesses continued stick with XP. As of 2014, this OS has a disproportionately large user base even though it’s now over a decade old. Why? Primarily because Microsoft has continued to support it’s flagship Office Suite for legacy systems. But, they abandoned any updates to IE long ago. ┬áSo many large organizations–whose IT departments don’t want to deal with the headache of updating or replacing a hundred machines–have locked their users into using an outdated version of IE on XP.

We are happy to report that Microsoft has finally conceded the battle, and both IE10/11 show great support of W3C standards and render modern pages reliably. And also that in mid-2014, they will stop releasing updates of Office for the XP operating system. This forced obsolescence means that the unnaturally high adoption rate of XP… and legacy IE browsers… will finally fade into the mists of Internet past. In the meantime, if you are still using XP, encourage your IT department to install Chrome or Firefox as an alternative. Both will greatly improve your Internet experience and are safer from a security standpoint.

We would love nothing more than to look forward than backward when designing and coding new websites.