22 February 2009

Why removing IE6 is hard

There's a current campaign to make people stop using Internet Explorer version 6 (IE6), and upgrade to a more modern browser. It originated in Norway, and has a lot of momentum here, but is also getting noticed internationally (link to Norwegian site). Because a lot of people still use IE6, the people creating web sites still have to include support for this browser in the sites they build. Takes quite a few man-hours, and those hours are not cheap. For more info check out the wiki, IE6: Do NOT want!, made for the campaign or listen in on the twitter stream #IE6.

I am a strong supporter of this campaign. I have been following this campaign from the very start, both on twitter, blogs and news sites. People are very excited, lots of people are supporting it and everyone agrees on what the problem is. Drivers of the campaign have also expressed that they think removing IE6 from use in large companies and government will be the biggest challenge. I totally agree on that. But I have not seen awareness, with some exceptions (links to Norwegian sites), on why so many enterprises and government still use IE6, and why it will be hard for them to upgrade. I feel that many taking part of the campaign needs a better understanding of why this is such a big problem. Only by understanding the problem can the campaign successfully influence government and enterprises.

Why are enterprises/government still using IE6?
A reason often mentioned is that IT-departments need to standardize the software run in the enterprise to simplify support and more. And when all employees use the same browser because of standardization, a new browser must be tested thoroughly before it is deployed therefore making an browser-upgrade expensive. From my previous experience working in an IT-department, I fully agree.

However this is, in my view, not the biggest cost. Enterprises and government typically have a big portfolio of custom-made systems, where a large part of these systems is web-apps, meaning the browser is used to access it. Commonly these web-apps were built supporting only the browser that was the IT-department's standard, typically IE6. Accessing these apps with a newer browser can result in the layout of the pages getting messed up, and even breaking some functionality.

This implies that the task of upgrading the browser must be accompanied by an upgrade/replacement of several of the custom-made web-apps used in the government/enterprise. Building a new system, or even upgrading an existing one, requires a lot of man-hours, or rather, IT-consultant-hours, who usually build such apps. IT-consultants don't come cheap (I know because I'm one of them). The enterprises/government will not take this cost without a very good reason. As long as they are not given such a very good reason, they will keep running IE6 to support old web-apps, until these web-apps are not needed/replaced.

Everyone has known for a long time that building for IE6 only is bad. Why was it done for so long?
One might wonder why the old custom-made web-apps built to support IE6 only are still in use in enterprises/government. It’s a long time since web-developers learned that they should build web-apps with multi-browser support. The answer is that web-developers kept building apps supporting IE6 only for a long time, even when they knew it was bad practice.

I posted a twitter message about this campaign a few days ago, trying to bring up the cost of replacing old web-apps built for IE6. One of the responses I got was this: "If you first develop a solution for IE6 only, then that's a cost you should take. That's bad practice from start to end... :-)". I agree that it's a bad practice, but the world of IT-projects, which develop the web-apps, is a world of compromises...

An IT-project is never funded enough for it to be able to deliver the perfect system. There's always a fight between developers wanting to build a system following best practices and the need to finish on budget and on time. The latter two usually gets higher priority.

If there is a concrete, and current, need for multi-browser support, that need usually gets priority in the project. This is typically the case for non-internal apps, e.g. a portal for customers. Apps used internally only are a different matter. Unless there is a clear policy from the project-owner for multi-browser support for internal apps, this support ends up far down on the list of priorities for the project, and maybe not making it through. If it doesn't, the web-app is built supporting only the browser currently used by the project owner.

Hopefully, most project-owners now have policies requiring multi-browser support even for internal web-apps, but from my own, and colleagues', experience this was not common earlier. This means that a lot of web-apps were built with support only for the browser currently in use at the project owner (typically IE6). This again meant that it would be even more expensive to upgrade to a better browser, since more systems needed upgrading/replacement, therefore pushing an upgrade ahead. This again meant continuing development of internal web-apps supporting only IE6, giving a catch-22 situation. Hopefully IT-departments implemented a policy for multi-browser support when they discovered this catch-22. But that took time, giving the answer to why IE6-only web-apps was built for so long.

2 comments:

Anders Brenna said...

I think we are in sync on this.

The problem is that we need to stop expensive custom work for IE6-users.

Companies can run IE6 internally, as long as they are not letting their employees use it on the internet.

Two alternatives:
1. Two browsers: IE6+Firefox/Opera/Chrome/Safari/(IE7/IE8*)
* Currently not supported to run two versions of IE, but we can mage Microsoft fix that

2. IE8: quirksmode internally + standards mode on the internet

THis will take time, but I believe we can succeed if we use the momentum correctly. If we get the companies planning today, we can get down to 5-10% IE6-users between summer and christmas.

Then we can succeed in 2010.

My definition of success is less than 5% IE6-users on a national level.

Best regards,
Anders Brenna
Teknisk Ukeblad

Rafe said...

I think you just proved the point why it is hard to remove IE6. Because there is always '1 person' who says 'it is hard and costly to do'.

If this was not said all those years ago, think how much further ahead we would be.

It's all very well giving this speech, but this is exactly what has held us back.