As I begin my career as a UI developer, I realize now more than ever that having a variety of browsers that are competing against one another breeds constant changes and improvements which is a wonderful thing for their users. However, the constant improvements and changes tend to drive UI developers, crazy as we try to develop websites that account for all browsers, each with their own quirks. Modern browsers are constantly improving upon themselves, working towards that ultimate goal of being the best browser known to man. However, what happens when “User A” dutifully downloads the newest version of their browser, while “User B” remains true to their old, outdated version, despite pop up alerts reminding them of pending upgrades each time they open their browser. You now have two people with different versions of the same browser, and the potential for each browser to handle page rendering in an entirely different manner. Worse, with each update or new browser version, this problem grows exponentially.
Why does this matter? Shouldn’t styling be the same from one browser version to the next? One would certainly think so. The unfortunate truth, however, is that cross-browser and browser version support is a frequent source of headaches for designers and developers. A DIV set with “margin-top:10px” may be positioned perfectly in Internet Explorer 9, yet may appear 20 pixels too far up in Version 8. Were you hoping to get that set of navigation arrows pixel perfect in Safari? Then you had better be certain to test your styles on both the Mac and PC versions, because even though they’re technically the same browser, they both handle styles differently. (And yes, Safari for PC has long since been discontinued, but there are always die-hard fans of the program). Are these fringe cases? Yes. Does a five-pixel difference in layout between browsers mean the end of the world? No. Unfortunately, as a developer, you often have to account for all of these differences and load a separate style sheet for each browser and each version.
Everything mentioned so far covers how browsers handle web standards differently. Of equal importance, however, is that different browsers handle the CSS3 standard in their own way. With Cascading Style Sheets 3.0, you can now do things with pure CSS styles that were impossible under CSS2.1. Whether it be rounded corners on elements, box shadows, text shadows or simple animation, CSS3 is an advancement in web development that could save UI developer ssuch as myself, hundreds of man hours per year. Before CSS3, designers had to create images of text with shadows, or used the famous “barn door technique” to get rounded corners on DIVs. With CSS3, however, this becomes as easy as typing a command :, “border-radius: 5px; text-shadow: 1px 1px 3px #3e4566;” The problem with CSS3 is although very useful, not every part of it is finalized and standardized; so Internet Explorer does not support all of CSS3.This brings us to the main question: Should we be supporting older browsers? My own knee-jerk, initial reaction as a UI developer, is to say, “No, we shouldn’t.” If the user is running an old browser that doesn’t support the web site’s code, then certainly their experience will not be the most optimal, but on the other hand, the same will be true with most other sites they visit. As a UI developer, who continually has to design around the limited capabilities and inconsistencies of older browsers, I often feel like a car mechanic facing a customer who steadfastly insists on driving with only three tires on their car, yet at the same time demands to have a ride just as smooth and comfortable as their four-tired brethren. Sometimes you just can’t please everyone.
This philosophy, however, will probably never be a realistic one. There are still far too many people using older browsers, and as a company specializing in web development, we cannot simply leave them behind. Even though the policy produces constant aches in our fingers and triples our testing time as we deploy multiple style sheets to accommodate every possible browser and version, at the end of the day we need to make sure as many people as possible view our work, and our client’s vision; and that it is presented as it should be, no matter which browser or which version is being used.