It seems almost daily a new web browser or version of an existing browser hits the streets. With each new iteration comes faster loading times, better rendering and a more engaging user experience. And while these advancements are a sign of strong technological progression, they also pose some unique problems.
The fact is, it is because of the abundance of choices that no two web browsing experiences will ever be exactly the same. I will repeat that…no two web browsers will EVER render a given website exactly the same. Short of a full browser monopoly, no amount of hacking, cracking, pushing or subverting you can do will ever change that. And from the perspective of a developer trying to achieve a uniform experience across the board, this can cause some major bouts of hair-pulling. So what’s a guy (or girl) to do? Well, you do have a couple options:
1. Graceful Degradation
No, this doesn’t mean politely poking fun at someone. Rather, it means building a website to suit the very latest browsers and then adding minor adjustments to give less capable devices an acceptable experience. It basically means the lucky ones with the cool browsers get to see all the fun stuff and the not so lucky peeps with the old browsers still get the gist of it.
The benefit of this method is knowing that most of your audience members will have a similar experience. Not all of them will be able to view the CSS3 drop-shadowed text, but at least you’ll sleep comfortably knowing that your bases are covered.
The main drawback, of course, is that developing in this manner is incredibly time consuming and impossible to account for all browser iterations. You will not be able to cover everyone, no matter how hard you try. The best you can do is gauge your target audience and aim to please them. But there is no pleasing everyone.
2. Love for the best and forget the rest
This method involves using the latest web standards and technologies and effectively neglecting legacy browsers. A number of well-established companies like Facebook follow this practice in order to supply a better experience to those with better browsers. However, it is certainly a tough choice as you sacrifice quantity of users for quality of experience.
On the bright side, development time is considerably decreased as cross-browser testing is limited to only the latest browsers. No more toiling over how IE6 will deal with complex floats and positioning. And from a developer’s perspective, this comes as a welcome reprieve from dealing with browsers we wish would die a slow and painful death.
Other Issues to Consider
Development efforts aside, it is often explaining the concept of cross-browser discrepancies to non-technical personnel that proves most challenging. The question of why one cannot create a universal web experience is asked of me almost daily. From the outsider perspective, it seems like a given that a website would look the same anywhere you view it. But alas, such is not the case.
Since explaining browser differentiation is highly technical and wholly unsatisfying, I typically go straight to a demonstration. A wonderful tool I use for visualizing browser issues is Adobe’s BrowserLab solution. It’s a fantastic tool for previewing browser renderings and even allows an onion-skin look (transparency overlay) of one browser on top of another. Right now you can take advantage of 12 free months if you sign up before April 30th, 2011. Not a bad deal for what you get.

Agreed. We deal with this on a daily basis.
We’ve decided to go the “graceful degradation” route, but some of our latest AJAX sites we simply force people to upgrade their browsers. I would definitely recommend this script that alerts users that they are using an outdated browser version and gives them upgrade options.
http://code.google.com/p/ie6-upgrade-warning/
Join us in doing your part to upgrade the web
Joe
I certainly commend you on your efforts. It would be nice if users would upgrade their browsers when prompted.