2 April 2009

IE6

IE6 is a browser that all web developers hate. Or at least that is the case if you tow the line.

IE6 used to be by far the most common browser and once was the most advanced. However, things have moved on since 2001. Web developers hate IE6 for its poor implementation of standards. Web developers hate the vagaries of the IE6 rendering engine and the performance of its JavaScript engine. These problems are well documented elsewhere.

However, the important people, the ones who matter, the ones who web developers do all their hard work for - the users - they don't seem to care nearly as much. This can be evidenced by the proportion of users who still use IE6. Even today, 8 years after its launch, over 15% of users typically visit a website with IE6. If I were Microsoft, I might just be congratulating myself for making a product so beloved of its users. Of course, where I to do that then I would naively be ignoring the massive proportion of users who have no idea what browser they are using, that there are other browers out there or how to switch.

We as web developers must also not ignore this set of users. There have been a lot of campaigns started recently to end IE6 support. Some have gone even further such as this one I just came across. I support the idea of getting our users using a more modern browser, but its up to them not us.

I don't get the big deal here. I stopped treating IE6 as a "fully supported browser" about 2 years ago. I think the problem here is this idea that a website must look identical in all supported browsers. What is wrong with a website looking subtly different in different browsers?

Of all the websites I have built from scratch in the last 2 years, not one has looked identical in different browsers unless it has been demanded from the client. They all worked in an identical way, but they looked subtly different - generally because browsers have different default rendering styles.

These differences have never been an issue. In IE6 you might get simpler button styles, you might get a more linear visual layout or you might find text looking slightly different. When I have shown them to a client and explained why they are different, the client does not care either - in fact they are thankful for the money and time saved!

I have only had problems with IE6 when I have been maintaining a site where the client has it in writing that browser support will include IE6 and that the site will be identical in all browsers.

In the many many demonstrations to clients that I have made in the last 2 years, I have never once been asked to use any browser other than the one I picked for the demo.

So, I just don't get the big deal with IE6 these days. Lets make a big deal about why we need to make websites look identical in different browsers on different platforms. Lets make a big deal about making websites more accessible. Lets make a big deal about building standards compliant websites with the simplest possible code.

If we spend our energies doing this, then we are more likely to have built-in zero cost support for many many browsers including mobile browsers, not just a narrow set often defined well before the release of a website and therefore out of date at its release.

4 comments:

Adam Silver said...

Excellent post as per usual Jimbo. This blog should be the definitive guide to web interface development.

In my experience, the client has been obsessed with making things identical across all browsers including IE6.

I have changed my approach slightly for my current project. We are building a sticky footer (like Facebook), but for IE6 it is not sticky, it just stays in the normal flow.

Now, until I am told that it is of great importance that it is the same in IE6, I will leave it as is. But I am sure the test team will pick it up, the client will pick it up and then I will have to adhere to the agreed (silly) browser matrix that says IE6 (A grade support).

James Norton said...

Thank you for your comment Adam.

It is your job as a web developer to explain to your client why they shouldn't worry about such trivialities. Explaining the cost and time that making the site IE6 compatible will incur should hopefully make them think twice.

The approach you describe here though for your sticky footer sounds exactly right and precisely what I am talking about. Fixed positioning doesn't work in IE6, but its ok, the site isn't broken without it!

Adam said...

That's true, it is our job to educate the client here. Sometimes as a web developer we are not close enough to the client to do this.

Derek said...

James,

Interesting post. While I agree that it would be great to simply "not support" IE6, a large number of my users still use it, and what it comes down to is customer experience and usability. My customers need to have largely the same experience and usability features regardless of the browsers they're using. I can't simply ignore the IE6 users because IE6 can't display a properly written layout. I need to make accommodations for that browser. If my site doesn't look or work well for the IE6 users, they'll go elsewhere. For a personal site, blog, or open-source website, the idea is great. But when you write code for a living that generates tremendous amounts of revenue and page views, you can't simply ignore IE6 yet, as much as you, I, and nearly every other developer out there would like to.