Should We Support Old Versions of Good Browsers?
I mean, basically anything except for Internet Explorer, which is a debate in and of itself. Here I’m referring to old versions of good browsers, like Firefox 2, Safari 2, Opera 8, and so on. It seems that older versions of these browsers are not as common as older versions of IE, so should we bother supporting them when designing our websites?
Most agree that we shouldn’t support old versions of crappy browsers like IE, but what about older versions of good browsers like Firefox, Opera, and Safari?
Backwards Compatibility
One of the cool things about adhering to Web Standards during web development is that, theoretically at least, your designs should look similar on all standards-compliant browsers. This is one of the reasons why we exclude IE from the conversation — it doesn’t speak the language, and requires a whole realm of special support in and of itself. But even for modern browsers like Firefox and Safari, a standards-based design does not always translate to presentational fidelity in older versions. So how far back should we go? Obviously there’s no reason to go out of our way to support, say, Firefox 1, but what about more recent versions such as 2 or even 3.0?
Rendering Differences
For many modern browsers, the older the version, the more inconsistencies you’ll find. Older versions of Opera are notorious for borking an otherwise perfect design, and the further back you go, the more borked your design is going to get. And for anyone who does support older Opera, you know how frustrating it can be to target and filter specific versions with CSS. The same is generally true for other modern browsers: supporting older versions can get messy, costing endless amounts of time and energy. There’s no reason to have your designs look identical across browsers, but they should at least be usable. Right?
Browser Testing
If anything is keeping me from completely ignoring older browsers, it is the ease with which they can be tested. Again excluding everyone’s favorite, IE, installing multiple versions of modern browsers is a breeze. For example, on my machines, I am running the following browsers:
- Firefox 1, 2, 3, and 3.5
- Opera 6 through 10
- Safari 2, 3, and 4
- Chrome 2 and 3
- IE 5, 6, 7, and 8
- Camino 1 and 2
- Various Flocks
..as well as Lynx and a host of lesser browsers using the Webkit or Mozilla rendering engine. And even if you don’t install a million browsers locally, there are plenty of online services and software that make it possible to do cross-browser testing on virtually any browser with a few mouse clicks. But if it’s so easy to test all of these zillions of old browsers, does that mean we are obliged to do so?
Where do you draw the line between browser support and design expediency? At what point does market share mandate support for old browsers?
Market Share
When deciding how far back to go, market share is certainly an important factor to consider. With that bastard IE, most of us have no choice but to support older versions simply because so many losers are still using it. But for good browsers such as Opera and Safari, most users are quite savvy, understanding the game and always keeping their browsers updated with the latest and greatest. This is another reason to love modern browsers: they make the upgrade process a piece of cake — you don’t even need to think about it — it just happens. Thus, while we are still dealing with IE6 and lots of IE7 — even though IE8 is the current version — the percentage of Firefox 2, Opera 8, and Safari 2 users is very small.
Baseline Support
Given that it is important to maintain usability, presentation, and performance across older versions of modern browsers, where should the baseline be set? Is there some general rule of thumb that will help designers with an optimal support strategy? Perhaps something like this:
- One version back: complete compatibility and presentational fidelity
- Two versions back: decent, usable design; doesn’t need to look similar
- Three or more back: don’t sweat it; cost versus reward not in your favor
Personally, I try to support as many browsers as possible, but much of what I do depends on the particular project I am working on. Not every site needs to be checked on every browser, so I try to take into account the stats and projected client-usage data. It’s all about context, and varies on a case-by-case basis.
But support baselines can be useful. A Perishable Press reader recently described his support baseline as such:
- IE7+
- Opera 9+
- Safari 4+
- Firefox 3.5+
His thinking is that older browsers:
- Have security holes by nature, so isn’t it irresponsible to support them?
- Reduce the ability for the site to look good and is bad practice, even within an organization
- Give the website visitor a lower experience than they deserve and what they should expect
- Generally run slower and reduce the appearance of speed for your site
While I can’t agree with everything in this list, he does make some good points. And more importantly, this designer has taken the time to think it out for himself and reach his own conclusions, which I think is very important.
It’s the User, Stupid
Ultimately, it may be argued, that it’s all about the user. Sacrificing the user at the altar of design expediency benefits only in the short term. Eventually, those development shortcuts are going to catch up with you one way or another. So if design is all about the user, I guess we’re obliged to test for each and every possible scenario regardless of market share — test every browser on every platform on every machine in the world. Of course this is ludicrous, but it begs the question: where do you draw the line between browser support and design expediency? At what point does market share mandate support for old browsers?
Food for thought..
30 responses to “Should We Support Old Versions of Good Browsers?”
I think very shortly that design tools such as CSS3, in page video, JS and HTML 5 will be used more and more, will make it impossible for older browsers to render the websites anyways.
I think the decision to support older browsers needs to be made by the type of website you are designing and the target audience. In some cases support will be easy. In some impossible. Support them when you can and don’t look back when you can’t.
Simplest answer, analize your webstats, if many users are using old browsers, then answer is yes.
Check your analytics before you decide! If you have a narrow target audience, your browser usage stats may be quite different than overall market share. Consider the impact of dropping support for a browser: it may not be a big deal for a blog, but it could be disastrous for an online store.
I work at a small company where I am the only web developer. For customer-facing projects, I use progressive enhancement techniques to support IE versions 6 through 8 as well as the latest versions of Firefox, Safari, Opera, and Chrome. I would love to drop support for IE6 and IE7, but our analytics tell me that a large number of our customers are still using them.
For me, the best browser is Firefox. And trust me, i tried them all. Anyway, i don’t see a point in bothering to design for older browsers. Those ones that are using old browsers, are old man. Well not so old, but only people that don’t bother to upgrade, so that means that they won’t navigate so long. Anyway, this is our own choice. Depending on the respective website’s topic.
When doing work for clients, I don’t really understand the draw of all these new and mostly unsupported things like HTML5 and CSS3. There is a time and place for them and it’s certainly not on clients’ websites. You should really be going for the largest common denominator and at this point that is IE7. My company builds nice-looking sites knowing from the start that if IE7 doesn’t support something we want to do then we’re just not going to do it. The good thing about targeting IE7 is that we avoid IE6 (unless it’s necessary for a specific client) and that “good” browsers should all be capable of rendering that kind of build without any trouble whatsoever even if they’re older versions. And if an older “good” browser can’t render at least as well as IE7 then it’s not worth worrying about, is it?
@kylegetsspam Are you saying everyone should go back to designing for IE and fix errors in every other browser? Rendering “at least as well as IE7” means every browser would be just as buggy, which is thankfully not the case.
I find it a lot easier to have my site work in every browser, and have a few bugs fixed here and there for IE. I don’t support IE6 so this process is easier, but it can be gruesome sometimes.
I build in/for Firefox but in a way that I know will work in IE7 since for our clients that is the bottom line in most (if not all) cases. It doesn’t matter how many new technologies and browsers come out; the majority of the people out there are still on IE7. (Maybe soon it’ll be IE8 but the same thing still applies as IE8 is still far behind.) Ignoring IE7 and then coming back later to fix up problems is a waste of time and resources. For a personal site or something about design and development, sure, try new things. Otherwise, it doesn’t seem like a very good idea.
Most CSS3 degrades easily for lesser browsers. You can easily use CSS3 that IE7 wont know is there, yet the people with real browsers can see it. For instance, box-shadows enhances portions of a website, but the person with IE7 won’t see it and wont know its there, while it doesn’t effect the usability or veiwability of the page.
So basically you can hang out on the cutting edge of CSS3 for those who can see it, and it wont effect those who cant.
@kylegetsspam Isn’t that how everyone codes? I always keep in mind IE when coding in Firefox, but also using CSS3 to make your designs look more appealing and eye friendly won’t effect IE. I’m not saying go full out crazy with the new selectors, I find myself using input[type=text] a lot but have fallbacks for IE with classnames or JavaScript.
I think it’s time to cut out the personal vs. client/corporate site junk, eventually all sites will be running on this technology and I seriously doubt it would hurt IE users for them to not get those rounded corners or shadows.
As with most things, its all about context. If I am designing a site for a paying client then its up to the client as to who gets support and the client gets billed accordingly. Minimum support would be all current browsers getting full support for the current version and one version back.
If it’s my own site that is selling a product or service, then I would support all browsers many versions back (including full support for ie6). Any less could potentially result in the loss of a sale.
On my own blog site, that is not selling anything (other than advertising), I test ie8 and the newest version of firefox. That’s it. If I become aware of an issue with another browser I would probably fix it.
Imo, most IE users who use an older version do so because it is thrust upon them and they don’t know how to upgrade or switch to another browser. Many probably don’t know there are alternatives. Therefore, I’m pretty sympathetic to them.
Most people that use other browsers have researched browsers, made a conscious choice to switch, and have installed the new browser themselves. They are more savvy, aware that there will be inconsistencies when they use an older version, and know how to upgrade if they want to. I see no reason at all to support these browsers more than one version back. If there’s a problem, they are more than capable of recognizing the problem and upgrading. To support those older browsers, enabling them to continue to use outdated browsers, slows down transition to newer tools and is a detriment to the evolution of the web.
That being said, if I could fix an issue with any version of any browser with a quick, simple fix, I would probably do so. Everything else aside, we all want our sites to look good.
Hi Jeff,
I’m a firm believer in the percentages approach. If a browser is used by a certain percentage (say above 2%) of your users, then support it. Otherwise, don’t.
That way you’re supporting the vast majority of your users.
Lately I’ve been leaning towards progressive enhancement.
For the content, functions, and basic layout of a website, I use standard, tried and true techniques that work in every browser.
For nice-to-haves and whiz-bang features, I’ve been using CSS3 or basic JS platform detection to add features, like shadows, rounded corners, etc in ways that older browsers simply won’t try to render.
For video, I’ve been doing research in using html5 video and a script to generate a flash video player when needed. It’s very promising, and I think that techniques like this will deliver the best online video experience moving forward.
Picking which browsers to test is mostly about market share for me. Firefox and Safari users actually update frequently, so I mostly only devote time to older versions of IE.