A Developer’s Web Browser Nightmare

Browsers

In the last few years, being a web developer has become a more difficult, tedious process. When the popularity of Mozilla’s Firefox browser drove Microsoft to finally release a successor to the antiquated and insecure Internet Explorer 6, it started off as a happy day for developers who were sick and tired of IE6’s oddities and non-standardization. However, while IE7 is a big, big step forward in terms of features and standards, it is only a first step.

Since then, the web browser market has ballooned with several solid offerings currently in use. These include my own favourite: Firefox, now in version 3.5 and sadly bloated with addons (my own fault), as well as Opera, Safari, and the new comer Google’s Chrome. There are still others but these are the ones I’m most interested in. It’s also great that Microsoft has re-joined the game by keeping on top of IE with yet another new version now out: IE8 which is even more standards compliant than IE7. Yay! But wait. Sadly there is a big population of the world which does not keep it’s browser up to date. IE6 still has a big following despite the fact that it is hated nearly unanimously by developers and security experts, and IE6 just won’t die.

Even the more browse-aware users who actually seek out and install an alternative browser don’t keep them up to date. My Dad recently approached me with a concern that when he showed off his website to a friend on the friend’s computer, the website looked “messed up”. I since discovered that this user is still on either Firefox version 1.5 or 2.0; several major releases behind.

So what is a developer to do? I can’t test my work in all the versions of all the browsers that have ever existed. Even if I could, trying to support older browsers will hold back the growth of the websites and the addition of modern features such as png image support, and modern CSS rules. With CSS3 and HTML5 around the corner this will only get messier.

There are some tools out there that can help to a certain extent. Sites like Browser Shots can help you get a picture of your web page in various browsers and versions, but this is slow, tedious and doesn’t work for secure pages (login protected).

This is why standards are so important. If all the browsers implemented the standards for HTML, Javascript and CSS in an identical fashion, we wouldn’t have this problem. Unfortunately even the standards bodies like W3C cannot agree on various standards, and even when they do, the various browser makers can’t agree on how to implement them, or whether to even bother. Arg!

My Approach

Browser support is something I’ve really only paid cursory attention to, but I realize I now have to start actively checking my sites in various browsers. But which ones to support? I’ve come to a middle of the road solution that starts with dropping support for IE6 completely. I’m saying goodbye to it, and I can feel secure in doing this given that recently YouTube has stopped supporting IE6 too. So that leaves me with the following browser support plan:

— Fully tested and supported will be the latest versions of Firefox (currently 3.5) and Internet Explorer (currently 8.0).

— Light testing will be done in the previous versions of Firefox (3.0) and Internet Explorer (7.0), as well as the latest versions of Opera, Safari (for Windows), and Chrome.

And that is that! Someone will have to specifically request (and pay extra for) a website that works in more versions than those because the effort is just not worth the payoff.

What is your personal or your company’s approach to this problem? I’d love feedback.