Be open-minded about users' browser choices

Justin James encourages his fellow developers to resist the temptation to not support or test their site on a particular browser.

One of the worst habits of web developers and designers in the mid-90s was the "this site best viewed in..." warnings. Sometimes this message was simply the developer saying, "I haven't tested this in anything else," and sometimes it really meant, "this site will not display properly in some browsers, if it works at all." Unfortunately, this trend has returned, and in some cases, it has taken on a decidedly nasty tone. For example, some sites do not display at all in Internet Explorer, and present a lengthy explanation of why you should switch to a different browser. It is your choice, but if your website is going to support as many visitors as possible, I highly recommend that you resist any temptations to go down the route of not supporting or testing your site on a particular browser.

There are four major motivations behind this that I see on a regular basis. The first is that some people, particularly technically inclined folks, have turned browser decisions into a "my way or the highway" decision, and feel that anyone not following their preference should be pushed into it. The second reason for this is that people in the tech world choose browsers like Firefox and Chrome over Safari and Internet Explorer so often that if you are in a room full of developers, it is quite likely that none of them use Internet Explorer. As a result, a kind of mental twist of reality happens, and these developers take "everyone I work with and talk to does not use Internet Explorer" and turn it into, "no one uses Internet Explorer." Another common reasoning is that because some browsers are non-standard, or require a ton of hoops to be jumped through, that there is a justification for not bothering with those browsers. It's kind of a "they won't play ball with the other browsers, so why should I play by their rules?" Finally, some developers simply do not do thorough cross-platform testing, a kind of "works on my machine, so it must work everywhere!" response.

I can understand why developers might feel these ways. It's a royal pain in the neck to do a bunch of cross-platform testing, let alone accommodate the quirks of individual browsers. The task of figuring out what those quirks are -- let alone working through them, which often requires separate but logically equivalent code paths to be written and maintained -- is a chore. And multiplying your testing needs not only for each browser, but for different versions is not something to lightly consider (although if you do want to do it, check out Selenium from Sauce Labs).

At the same time, ask yourself this one simple question: What percentage of potential users am I willing to sacrifice? Because as of June 2011, the "smallest" of the Big Three browsers was Chrome, with roughly 17% of the market. Even Safari is showing at nearly 7%. Can you imagine going to your boss and saying, "I really dislike Internet Explorer, so we are just going to ignore 41% of the market?" Or perhaps it is, "gee boss, it's tough to test multiple browsers, so we're just ignoring 20% of it." That's a tough proposition. For internal usage applications, you often have the ability to require (or only test on) a certain browser because it is the corporate standard. But for public facing sites and many internal applications, the attitude of hubris or laziness regarding the user's choice of browsers is simply unacceptable. Furthermore, it's easy for developers to forget that many users are required to use a certain browser. Programmers often have administrative rights on their PCs and get a choice regardless of the company policy, but the typical employee often has no ability to pick a different browser, so trying to shove one down their throats is just pouring salt into the wound.

Instead of mandating a particular browser or ignoring some browsers, here is what you can do:

Learn the big differences between browsers.

Specify styling in detail to account for different default styles in browsers.

Be cautious with JavaScript, and look towards frameworks to handle the cross-platform work for you.

Use flexible designs that don't shatter if the browser takes some liberties with the rendering.

Out of the items on this list, JavaScript is the big "gotcha," and it is admittedly tough to do a lot of sites (particularly ones with a lot of AJAX on them) and get them 100%. But still, you need to try instead of giving up; the market is just too fragmented to ignore any of it.

Full Bio

The W3Schools has some interesting statistics on browsers in use. Firefox leading the pack with 42%, Chrome with a respectable 29.4% and Microsoft IE rolling up with 22%. Considering Chrome has only been in the market place for 3 years and overtaken MSIE should sound alarms at Microsoft to streamline and quit making up their own rules.
As a developer, given a limited number of hours, limited budgets and the fact a majority of the traffic hitting websites with MSIE is from Corporate America it is only a matter of time before the only site you will find operational with MSIE are business to business sites. Should be interesting to watch.

I always check sites in what is considered the 'top 5' browsers: IE, Firefox, Chrome, Opera and Safari. But, I certainly do NOT try to support all the old versions (i.e. IE6).
Sorry, but IE6 is no longer in my thoughts at all anymore. Even Scott Hanselman (from Microsoft) ignores it, as he says about his new blog design: "This new site design looks great in every awesome browser like Opera, IE9, Chrome, FireFox, and even all the way back to IE7. It looks like a steaming pile of ass in IE6. As it should."
Personally, I would LOVE to ignore all IE browsers before IE9, but of course, it's not possible. Even for the Intranet, many computers at work still have IE7 on them. So be it. It's still a pain, but at least I don't have to even look at the 'steaming pile of ass' that is IE6 anymore.

I am perfectly able and willing to test the website on the many browsers and platforms to which I have access. But I don't have ALL platforms and ALL browsers. E.g., I don't have Netscape 2 and Internet Explorer 4.
If my skills are lacking or if circumstances dictate, SOME changes to website structure might seem inevitable for the website to made compatible (able to "gracefully degrade") for older platforms or older browsers! I explain this to the customer.
If the client doesn't care for these alterations in appearance, then the client is always right! I'll design and execute for a more "modern" appearance.
Sort of on topic, sort of off: a "theorist" on Twitter suggested to *clients* not to write in text, "see the sidebar" or "see on the side" [whatever]. My opinion is, if the *client* insists upon a stiff two-column design with information on the side, then I as designer *must so design*, with the explanation that the site likely won't appear correctly in [list of circumstances]. The customer is always right.
Theorists make damned poor teachers. They are seldom, if ever, realists. And they hardly deign to speak to students. Hubris.

Designers and developers should not be hamstrung by browser limitations either.
Just because IE has been slow to adopt css3 doesn't mean it shouldn't be used.
As long as development stays away from third party plugins or browser specific "features" (activex) and the focus is on content/functionality this shouldn't be an issue.
Sites will look best in chrome, safari and mozilla and still look good in IE.

> Sites will look best in chrome, safari and mozilla and still look good in IE.
s/look good/work/
There are times when circumstances convince me the best bet is to just not care whether it "looks good" in IE, and focus on making sure it is accessible and functional in IE. Sometimes, the work required to make a site look good in IE is worth more than the site itself.