A friend recently linked to this comparison of IE 9 and Firefox 4, and I find these sorts of comparison interesting. The implied message, of course, is that Firefox is better because it supports everything and the kitchen sink, IE 9 is not a modern browser, and you should be using Firefox. Pretty predictable conclusion for someone with their content hosted at people.mozilla.com, but you could argue the data speaks for itself.
Yet as a web developer who has been observing the recent landscape of the latest incarnation of browser wars, I have to say: we as web developers and web users need Internet Explorer.
Not IE 6, of course. That shit needs to die, and the sooner the better. There is no excuse for someone still using a browser that old and insecure.
But in general IE, with its massive (if shrinking) userbase and slow acceptance of burgeoning web standards, is a good thing because it forces us to stop and think about what we’re doing. Web developers have a problem, which is they tend to want to jump on the latest developments as soon as a major browser offers them, and because two of the major browsers (WebKit/Safari and Firefox) are open source they often have bleeding edge functionality implemented before it’s even a twinkle in the W3C’s eye.
This is bad for several reasons:
- Early implementations are often confusing or poorly designed. Take a look at
-webkit-gradient, for instance (the first available in-browser gradient syntax) and then compare it to Firefox’s implementation (which is the W3C recommended syntax). Firefox’s is legible, WebKit’s requires a documentation lookup every time you want to use it to try and remember what order all the darn properties go in.
- Differing early implementations mean that sometime down the road, someone is going to have to change before it can be accepted as a general standard. When web standards change, it breaks sites. Granted, WebKit will likely provide backwards compatibility for their gradient syntax, but for how long after they switch to the spec? At some point, if you have coded a site with WebKit gradients and forgotten about it, that site will likely break. Of course, IE doesn’t support gradients yet, which means that if you want to use them you’ll need to come up with a workaround for browsers that don’t support them, making your site not only backwards but forwards compatible.
The web moves fast. Open source browsers move fast. IE’s slow movement can feel frustrating for developers who see their lives getting easier thanks to improvements on the bleeding edge, but trust me: it is a good thing that Microsoft spends so much time considering what to include and what to exclude. Web developer’s lives may be a little bit more onerous now, but because we are forced to wait on irregularly implemented and insufficiently optimized new technology we end up creating sites that perform correctly for more people (and will continue to perform correctly for more years down the road), web standards have a chance to arrive at more elegant solutions than they would otherwise (making coding for those features when they are widely available far easier), and we web developers are reminded that what we see locally on our computer is not necessarily what the rest of the world will experience when they visit our site (leading to better tested and more resilient designs).
Firefox would prefer to reduce the argument over what constitutes a modern browser down to a list of bullet points because that makes Firefox look best, but to do so belies the greater picture. You wouldn’t want to drive a car with only an accelerator; you also need to have brakes.