One of the toughest problems desktop developers encounter when moving to the web is cross-browser compatibility. We now have multiple versions of five mainstream browsers and new applications are announced with alarming frequency. It’s easy for novice developers to depend on a cool CSS trick only to find it fails miserably in browser X (I mention no names…)
Companies therefore resort to publishing officially-supported browser lists, i.e. WebFoozle 2.0 works in IE8 and Firefox 3.5 on Windows. Don’t do it! There are several reasons why supported browser lists are a bad idea:
1. Your Application Should Support Every Browser
Web applications should be written for the web — not browsers. You should strive for device-independence rather than targeting specific OS and browser versions. It’s also rare to be confronted by a feature that’s impossible to implement in one browser.
2. Browser Support Lists Require Maintenance
It is impossible to test your application on every combination of OS and browser, so your list will be limited to the platforms you’ve tested. It will expand and contract as the system evolves and issues are fixed.
The list will also be out of date as soon as it’s published. You might offer support for Firefox 3.5, but does that mean versions 3.5.1 and 3.5.2 will also work?
3. It Switches Focus to the Browsers You Don’t Support
You may support many browsers but your list also highlights those you’re not supporting. This can result in negative publicity when fanboys question the omission of their favorite browser (even if the application does work).
Larger companies have more worrying concerns. If Microsoft produced a web application which only supported IE, the conspiracy theorists would be quick to point their accusing anti-trust fingers.
4. It Exposes Poor Testing Practices
It’s easier to fix problems during the development phase, so early and frequent cross-browser testing is absolutely essential. Users will question the reliability of your application if you only support two or three mainstream browsers.
5. It Reduces the Number of Clients
Assume that you’ve proudly announced compatibility for Firefox 3.5 on Windows. It may work fine in Firefox 3.5 for Mac and Linux, but would those users bother to try it?
The primary reason companies publish supported browser lists is to reduce the burden of support. However, a well-tested application should not receive a significant number of support calls owing to compatibility problems. In addition, your application needs users — from a commercial perspective and to find the edge-case issues that you could not identify.
Do you publish a list of supported browsers for your application? Has it saved time and costs or caused more problems?
Craig is a freelance UK web consultant who built his first page for IE2.0 in 1995. Since that time he's been advocating standards, accessibility, and best-practice HTML5 techniques. He's created enterprise specifications, websites and online applications for companies and organisations including the UK Parliament, the European Parliament, the Department of Energy & Climate Change, Microsoft, and more. He's written more than 1,000 articles for SitePoint and you can find him @craigbuckler.