During any kickoff meeting for the next website redesign, inevitably there is that one common question that comes up each and every time. What about IE6? It happened again to me today during a call with our UX team. The context of today’s conversation was in regards to HTML5 and responsive web design, which is the perfect context for this particular question. It’s one of more than a few topics I’m passionate about, so in addition to sharing my thoughts with them, I figured it would be the appropriate time to blog about it this evening as well.
Ah, IE6, the most despised browser ever created, loathed by every designer and developer under the sun with no exceptions. Originally released in 2001, it’s a nightmare to develop for and unfortunately for us all, it just won’t die! (I was in fact going to title this post “Die IE6 Die!” but came to the realization that there are probably hundreds of site and blog posts already in existence with that exact same title.)
Now, if one were developing a brand new site or simply redesigning for a small audience, I would certainly encourage you to forget that IE6 ever existed. There aren’t THAT many users left (around 3% by our count, but i’ve seen others have it pegged closer to 8%) for you to even give it a second thought. For larger sites with established traffic, especially where advertising is a major source of revenue, that 3% represents a significant number of people and page views. At 8%, that’s a huge chunk to simply abandon. It’s not hard to understand that the business stakeholders would prefer not to leave those users (and revenue dollars) behind.
So what to do? Do you spend a significant amount of time and effort to ensure your site works great in IE6, all the while adding significant code bloat along the way? Or do you say screw it and leave those poor unfortunate souls (and advertising dollars) in the dust. Perhaps leading them to a splash page where you kindly inform them to “Upgrade your browser Bozo!” I strongly feel that the answer to both of these questions is no.
With responsive design, the ultimate goal is to have your site adapt appropriately to each browser and device. In addition, when developing for these devices, one also strives to utilize the extra goodness that may be available for a given device. For example, the ability to utilize touch and gestures when appropriate. None of this is entirely new, but this pattern is certainly seeing a rise in popularity these days, thanks in part to the increasing variety of mobile devices.
Based on these principles, when it comes to being ‘forced’ to support older browsers like IE6, I would strongly encourage you to strive for an adequate user experience while also relinquishing design and features where appropriate. If your site’s basic premise is to present content and serve ads (as our sites mostly are) then leave it at that. Don’t add significant CSS and JS to compensate for someone using a decade old browser. Don’t penalize the other 97% by adding significant load and rendering times just because 3% of users can’t or won’t upgrade. But at the same time, allow those 3% of users to have a pleasant, although possibly diminished, experience when they come to your site.
I shouldn’t single out IE6, nor do I mean to. It’s only because it’s the worst of the bunch and an easy target. This message is directed towards all browsers. I’m not sure why we have it in our head that a given site must look and act exactly the same across every browser ever created. We certainly don’t expect that a site should behave exactly the same way on a desktop browser vs an iPhone. Rather we would assume that those would be different, with the application taking advantage of the platform when feasible to provide us with both a unique and appropriate experience. The same should be said for different browsers on the same platform.
The web progresses quickly, and when and where new features are introduced we should take advantage of them. If they aren’t available within a given browser, then we shouldn’t attempt to recreate them through CSS and JS. Compensating for older browsers by adding layers upon layers of code isn’t helping anyone. At the end of the day you may end up with a mediocre site that takes forever to load and weeks upon weeks (if not months) to develop and test.
Maybe, just maybe, a site viewed within a ten-year old browser should feel like a site created ten years ago. Such an approach would certainly have my vote.