Building a web browser support list
November 6 2008Well, before you can decide which browsers to support you have to decide what your website goals are. Let's walk through some scenarios.
New or Existing Website?
If you're building a brand new website then you really have nothing to base your decisions on except for what the general public is doing and the web technologies that interest you. Since you don't have any traffic statistics to draw upon you need to find a broad dependable source to rely on. I use thecounter.com/stats because they get traffic from all walks of life. As of this writing the basic breakdown for the general public seems to be:
| Browser | Penetration |
| MSIE 7.x | 41% |
| MSIE 6.x | 37% |
| Firefox | 16% |
| Safari | 3% |
| Other | 3% |
So on a very high level observation you should at least expect to support MSIE 7.x, MSIE 6.x, Firefox and Safari. Since versions are not provided for Firefox and Safari you should be fairly safe to use whatever was released around 12 months ago which would currently be Firefox 2+ and Safari 2+. Please note that with regards to Firefox and Safari I support the "+" but with IE I support ".x". This is important because IE has a reputation of releasing browsers that break websites built for previous versions. So far Firefox and Safari have not shared this reputation. So do not officially support unreleased IE versions until you've had a chance to test them.
If you're building a website that attracts more technology savvy people then you may get more Firefox, Safari and Opera users and fewer IE users than what is shown on counter.com/stats but this is still a good place to start if you don't have any of your own browser statistics to draw upon.
Let's take my website as an example. At the time of this writing my websites browser penetration for the last 5 months (approx. 3000 unique visitors) looks like this:
| Browser | Penetration |
| Firefox 3 | 45% |
| MSIE 7.x | 19% |
| Firefox 2 | 15% |
| Safari | 9% |
| MSIE 6.x | 8% |
| Opera | 1% |
| Chrome | 1% |
| Other | 2% |
Since this is a personal website I think that as long as I support 85% of my users I will probably be alright. So I'm not going to put extra effort into supporting MSIE 6.x, Opera or Chrome. However, if this were an e-commerce website instead of a personal website I would probably bump that number up from 85% to 95% in which case I would have to support MSIE 6.x as well.
So if you're building, or updating, an existing website then you need to look at the traffic reports for that website to decide what web browsers to support. It doesn't make any sense to build a website with features that work poorly or not at all in IE6 if your user-base is 60% IE6 users. No matter how much you hate that particular version of Internet Exploder. Conversely, it also doesn't make any sense to build a website with hacks which were put in place for the sole purpose of supporting the AOL edition of Netscape if your user-base is 0.02% AOL Netscape users. Your website users and your time are what's important, period. ;-)
RIA or Not?
If you are building a new website for yourself instead of a client then you can stop reading this and go have some RIA fun because it doesn't really matter what anyone else thinks, right? However, if you are planning to build an RIA website for a client then it is up to you to decide which RIA technologies are the best fit for the intended audience. So keep reminding yourself that RIA exists to provide a better user experience for your users, not to keep your mind stimulated. Failing to remind myself of this often gets me into trouble. =)
Alright, next thing is to pull up your favorite JavaScript technologies (mootools, jQuery, YUI, Prototype, etc) and jot down their official browser support list. If you're considering Flash then also jot down the Flash player version penetrations. Now eliminate the technologies that either aren't available for your intended audience or are not widespread enough to meet your websites needs. Now start building your RIA initiatives on top of whatever remained at the end of this process.
Finally
That's really all there is to it. I'm sure I'm leaving out some details to the process, but this should be enough information to steer you in the right direction on how to go about choosing a web browser support list for your website.