Check out the browsers in the list under.

 
Most people buy a computer which is preset to Internet Explorer, not realising that there are umpteen browsers out there.  See the list below
 
 
The listing above are copied from http://en.wikipedia.org/wiki/List_of_web_browsers and are only a portion of available browsers out there.

 

Firefox... Internet Explorer...  the "big two" of the browser wars. I like Firefox. I like it a lot. I've used it for years. I will continue to do so. I also have a strong distaste for IE. It doesn't mean that I should create my pages for Firefox and disregard users of IE. But you'd be surprised how many people feel this way.
 
I understand, browser loyalty is fierce. But alienating part of your audience because you've written code that is optimized for one browser or another is just plain stupid. Even worse is writing code that excludes or crashes the opposing browser. Are you laughing? It seems funny, but it's pretty easy to do, and a lot of people out there do because they feel that everyone coming to their site should use browser X or not come at all.
 
Worse yet, people have fallen into the trap of watching browser statistics websites, taking a look at which browser is in the lead, and designing their site for it. The problem with this is that no one set of statistics is going to tell you exactly what the entire web is using. People love to quote statistics and swear by them... here's why you shouldn't.
 
Take a look at the December, 1999 statistics from TheCounter.com. This is an unscientific sampling of websites who use a counter from TheCounter.com. When the page loads a counter, it looks at what browser the user has and records it.
 
Now, according to this set of statistics, Internet Explorer has a strong lead in the browser war and Netscape has a 1% browser share. This isn't true for the entire world, but some people will embrace it as so. What I found even more interesting though were the statistics toward the bottom. Last month, over 400,000 people were recorded using Netscape 2.0, and over 20,000 using Netscape 1.0! People think that they don't need to design sites that can be used in these older browsers because "nobody's using them."  Really? What if one of those 20,000 people using an old browser is a potential customer of yours?
 
The "top" browser could change at any time, but people are going to keep using what's installed on their machines. As developers, we care about having the latest and greatest browser technology -- but most people don't. You're only kidding yourself if you believe that they do.
 
Here's a real-life example for you. Last fall I designed a website for my father's snowmobile club, the Cold Ducks. Since it was a "pet project" site that I was doing for free, I decided to have some fun with it and create a "snowing" effect with 4.0 browser layer technology. It looked great in the 4.0 browsers I tested it with, and to the best of my knowledge I coded it in a way that people with older browsers would just see the site without the snow.
 
As soon as the site went live, everyone in the club was complaining. For some people, the snowing effect evidently was causing their browsers to reload the page over and over, so that it would load a few lines, reload completely, load a few lines, reload completely. What a mess. Other people saw the snow fine, but as the snow fell it caused their pages to scroll down with the snow moving down the page. What browsers were these people using? Some were using old versions of AOL. Some were using a 4.0 version of Netscape older than the one I tested on. While the snow worked fine in most 4.0 versions of Netscape, the 4.08 version evidently handled things differently and caused the incessant page reloading. IE 5 made the page scroll down automatically to follow the snow. Needless to say, we quickly removed this effect. While it looked great and passed our usability testing, it simply did not work for the people who were using it. 
 
In our efforts to be cutting-edge, we often forget the feelings of the audience that we're trying to be cutting-edge for. I've often said that most people in this business are much more talented than their work will show. We simply can't utilize all of the new technology we possess until the world is ready for it.
 
So what does this mean for us? We have to adhere to a standard that works in both browsers. I used to be a die-hard when it came to adhering only to the printed standards. Lately I've become a bit more flexible. As long as an HTML tag degrades gracefully in the opposing browser, I'll use it. IE supports a tag for fixing the background image as a watermark -- even being a Netscape user, I have to admit this is a nice effect. Netscape passes over the tag without any problems, so it is "safe" to use. HTML purists will disagree, I know, but if it doesn't cause problems for the opposing browser, I will use it. If, however, a tag causes problems for any other browser, I don't use it. 
 
Unfortunately, with the ease and availability of WYSIWYG editors, the problem of noncompliant code is becoming even more prevalent. People who scratch their head at the sight of bare-bones HTML code are building web pages. They don't know, or don't care, that the pages they're building are not going to work for everyone. Ideally, everyone who wanted to design sites would spend time actually learning to code (novel, I know.) When their sites break, they would know how to fix them. They could spot noncompliant code and remove it before it ever hit the web.
 
The best solution for this is to validate your code. Run your code through a good validator I've provided links to several. Remember that any code you've inserted that doesn't comply to the standard will report an error (my earlier reference to the IE watermark background tag is a good example -- it is not part of the standard, so technically it will be validated as bad code. However, it does not cause errors for browsers which ignore it.) This sort of code is a judgment call, and if people are familiar with the properties of the tags they're using, they'll know whether or not the nonstandard code is actually going to cause a problem.
 
Summary:
  • Never design your site for one particular browser.
  • Test your site in many different browsers and versions.
  • Validate your code, and become familiar with the properties of nonstandard tags.