
Our musings and ramblings over the things that spark, grind or just simply intrigue us at that time while drinking fine coffee.... *slurp*
04/11/2008
Browser Pragmatism
The web is awash with articles, comments and opinions on Google's new browser - Chrome - which joins Internet Explorer, Firefox, Opera and Safari in a market which is seeing renewed development after many years of stagnation. Fortunately, web application developers don't really have much to worry about with the addition of Chrome: it uses the same rendering engine as Safari so you can kill two birds with one stone by targetting Apple's WebKit-based browser.
However, whether you actually do so will depend on your audience and your clients. If you're building a web site which is solely for personal use, then you're only going to bother testing in your primary web browser. If you're writing for your Government, then you may have to support text-only browsers or screen readers to support their accessibility requirements. If you're writing for business, then you're going to need to appeal to the largest possible audience - but while still staying within the budget of the business.
The point is that ensuring your web application works with every version of every browser on every platform takes a serious amount of time, knowledge and tweaking. CSS is only part of the puzzle - albeit a very large part - because in a rich application, JavaScript is going to play an important role. In fact, that's one area in which Chrome introduces more headaches for the developer, as it uses a new JS engine known as V8.
In truth, V8 and Chrome aren't going to be the source of your main headaches. It's not going to be Opera, or Firefox, or Safari. It's going to be Internet Explorer. Microsoft's dominant browser has an ecosystem all of its own, with versions 5 (Windows & Mac), 5.5, 6, 7 and 8 all being active within the past five years. Right now, only versions 6 and 7 are going concerns, with around 35% of web users sticking with the older version. Shortly, we'll have version 8 to add to the equation.
Developers need not worry about version 8 right now - it's a beta version, and it's unrealistic to promise support. But taken together, versions 6 and 7 represent the majority of the browser market and as such are still the primary target for development. Deciding which to fully support is what pragmatic development for the web is all about; despite Chrome grabbing a 1% stake in the browser market in its first day, do we immediately rush to ensure our sites work with Google's new release? It's unlikely many businesses would bother.
On the other hand, with IE6 still commanding over a third of the market on many sites, any business which refused to support it would be committing commercial suicide; moreover, and web developer which refused to develop for it would be laughed out before their pitch was finished. But, bizarrely, there seem to be people advocating just that stance - push clients to stop supporting this browser. Alienate a third of your potential market! That multinational client which uses IE6 on its network, and who have asked you to create an Intranet application for them - are you seriously going to try and get them to update terminals in locations on three continents just to support your Internet crusade?
We might all wish that IE6 was dead and buried, due to its outdated support for CSS, web standards, and JavaScript, but a pragmatic approach tells us that we must still bite the bullet and work with its foibles to create sites which work in IE6 as well as they do in more modern browsers. In some situations, it might be appropriate to nudge your users to upgrade, as some are suggesting, but in many scenarios this would be wildly inappropriate. Businesses build websites to make money, not to push for change in the web.
As web developers, we're here to nurture the web - yes - but we're primarily here to work with the clients who hire us to fulfil their needs. Losing sight of that is to not only ignore the needs of a large portion of web users, but also the desires of those who ultimately pay our wages.
By Colin.