Many browsers make heavy work
I'd like to take you on a journey, back into time.
The year is 2004 and Internet Explorer version 6 (IE6) has a 98% market share. Web developers don't even hate it, because it's all there is. The collective geek psyche has been so scarred by the horrible piece of junk that was Netscape 4 that we're just grateful we no longer have to develop for it. The geeks we know all have myriad unprintable nicknames for Netscape. Honestly, it is so bad that we welcome a Microsoft monopoly if only we don't have to develop for Netscape any more.So, for a while at least, life is uncomplicated. If it works in IE6, the client will sign it off.Fast forward now to the present (complete with imagery of the sun flitting across the sky at high speed, seasons changing and all that H. G. Wells stuff).Yesterday, for the first time, I heard the words I'd been dreading for a while: 'But it doesn't work on my iPhone.' A buttock-clenching moment for any programmer I think you'll agree, but it made me ponder recent browser developments. It couldn't possibly work, it was a flash site and Apple won't let flash onto the iPhone (yet).Over the last few years, we've seen the trickle of new browsers become a flood.2003: Apples release the Safari browser2004: Mozilla releases Firefox
2006: Microsoft releases Internet Explorer 7
2007: Mozilla releases Firefox v2
2008: Google releases Chrome, Microsoft releases Internet Explorer 8 beta, Mozilla releases firefox 3 and the iPhone (v2) means some people are actually starting to use the web on their mobiles.Now, in theory, as long as you confirm to web standards, then your pages should work everywhere.Oddly though, the developer team here get distinctly tetchy every time I say this. Like all computing 'standards', it just doesn't work like that in real life: especially since IE6 doesn't conform to any known standard.This is bad news for web developers: each new browser is a new thing to test against. Testing that used to take 10 minutes is now an open-ended task as we fix issues in each browser and check that the fixes in one didn't break things in the others. It can take hours. Multi-browser support is now approaching 10-15% of the cost of developing a small website. That's a lot.We are having to explain to our clients why the same amount of work now costs more than used to. Here's an example: UK.gov recently talked about dropping support for any browser with less than 2% market share. A lot of technical people were grumpy about this, but we tend to adopt the same approach as the government: if less than 2% of the population use it and your clients can download a supported browser for free, do you really want to pay an extra thousand quid to support all those extra browsers? After all, because we build our sites properly - with a clean separation between style and content - it should degrade gracefully. In the worst case, you can always view it without the graphics: the information on the page will still make sense.Cross-browser compatibility tweaking is entirely non-productive work, but at least the consumer benefits from all this competition in the browser world. Tabbed browsing and RSS news feeds in your browser are the most tangible benefits: both of which are great. There's also the intangible benefit of not having Microsoft own your gateway to the web.You could say that web developers should view this as a Good Thing because we can charge more. In fact, it's frustrating because we just want to get on with making stuff work and delivering great websites, not piddling around mindlessly trying to make it look the same in Internet Explorer as it does in Firefox.I'm not arguing for a return to Microsoft dominance here, that was unquestionably a bad thing. It actively held us back from developing great sites. It's more a plea for standards that actually mean something: if a web page is standards compliant, it really should display correctly in all browsers. At the moment it doesn't and that's just annoying for everyone.