Tuesday, June 27, 2006

Browser Version hell

Those familiar with the concept of DLL hell and have experienced it first hand often point to web based applications as the savior for such deployment issues, and to an extent they're correct. However, as the push for a richer client experience from web applications grows, and as the technologies that enable it mature, DLL hell is being replaced by Browser version hell. We are all aware that Internet Explorer and the Mozilla based browsers (firefox) have their own peculiarities, but even beyond that are the versions of these browsers. In fact, IE 6 has been particularly slammed for some of its, shall we say "non-standard" behaviour. As a result of this I have been a big fan of firefox that is considerably more standards compliant. This has lead to web designers targeting firefox first, and then tweaking sites as needed for other browsers.

For the past 6 months or so I have been neglecting firefox a little in order to try out the all new IE 7 in its various beta forms. IE 7 is supposed to be far more standards compliant, amongst adding other features users of firefox and other browsers take for granted. So as a result, I haven't updated firefox for a while, and using firefox version 1.0.7 I was testing out a new Atlas based control called the collapsible panel control, and the bad news is, It doesn't work. The area that should display when the panel is expanded is displayed completely blank. Upgrading to version 1.5.04 fixes the problem completely. Now admittedly the Atlas Control Toolkit is very much in a pre-release state, but it does raise a very pertinent question.

Where should web developers draw the line and say I'm not going to support versions of browser X before version Y, and how should web sites indicate that a user should upgrade their browser? Also, how many different versions of browser X should we be realistically expected to test under? This I believe is different to the idea of degrading nicely (ie what should happen if a browser doesn't support Java Script or only supports a limited subset of Java Script). All I can say is that I hope the team at Microsoft fix the problem with the control for firefox Version 1.0.7.

1 comment:

  1. Anonymous7:49 pm

    Where should web developers draw the line and say I'm not going to support versions of browser X before version Y, and how should web sites indicate that a user should upgrade their browser?
    To me this would depend on a few factors but primarily is your site a revenue generating website or an information portal, etc. If a revenue generating website I guess it would depend on the amount of $$ you would like to generate, right?

    Also, how many different versions of browser X should we be realistically expected to test under?
    With VMWare, MSFT Virtual Server, etc this becomes less of an issue but I would agree that some limitations need to be given, we usually go for the 92-95% rule, if we cover 92-95% of the browsers in use out there than we should be as good as we can be during the initial site launch.
    http://www.w3schools.com/browsers/browsers_stats.asp

    All I can say is that I hope the team at Microsoft fix the problem with the control for firefox Version 1.0.7.
    Hope is something that unfortunately is not delivered by MSFT when launching a new technology.

    ReplyDelete