A Strategic Guide to Browser Interoperability



January 01, 2002
URL:http://www.drdobbs.com/a-strategic-guide-to-browser-interoperab/184412441

WebReview.com: December 29, 2000: Browser Aid: A Strategic Guide to Browser Interoperability

At a Glance

With new releases of Netscape and Opera, the Web browser issue is getting more—not less—complicated. This article offers this step-by-step guide to help you make the most strategic decisions regarding browser usage when creating sites.

Of Related Interest

Steve's also added comprehensive, in-depth articles, including a comparison chart with annotations, to help you make the most out of your browser strategies:

Effective Cross-Browser Development: An excellent look at how to effectively design interoperable sites.

Common Browser Implementation Issues: A growing cross-browser issues resource with workarounds. Covers fifteen common cross-browser problems.

Browser Comparison Chart: The mother of all browser comparison charts, with annotated details.

When building sites, the tendency we have is to use familiar tools. The idea is that the more comfortable we are with our development environment, the more effective we'll be in cranking out content and source code.

One of our most important tools is our Web browser. It tells us how we're doing, whether our code works, and more importantly, whether our pages look good. Overall, the Web browser is one of our primary testing tools. But for this role, we can't just have one, we have to have several. So how do we effectively strategize mixing various browsers? Step right this way, and I'll share a few tips.

Know Your Audience

If you already have a Web site up and running, your log files will make it easy for you to know who your audience is. Most Web servers save accesses to your site in a log file—typically derived from the W3C draft ELF, or Extended Log File Format. This log file includes significant information regarding your incoming visitors, including the user agent for the software used to access your site. This agent can help you identify incoming spiders and index crawlers, but it's also valuable for knowing the types of browsers being used to view your site.

You can analyze this log file using any number of log analysis tools, or hook up with a counting service to provide you with analysis of statistics. Either way, you'll need a tool that tells you what browsers your site should be able to handle. Without this, you'll either exclude a significant percentage of your users, or waste time on browsers that simply aren't pointed at your site with any frequency. Note that some browsers—at this point, namely Opera—can spoof other user agents, so you may not get an accurate representation of all browser types.


"With new browsers come new features, but also new bugs and incompatibilities."


To whom do you want to target your site? The easy answer to this is: most of your users. You'll have to decide what your cut-off point is. Do you want to be Lynx-ready? Do you want to support bleeding edge? Are you willing to risk that the 15% you exclude aren't a critical part of your audience? There are a number of things to consider.

Do I Support Old Browsers?

If you decide to include support for old browsers, you can expect the following:

If you decide to exclude support for old browsers, you may hit the following snags:

Do I Support Macintosh? Unix?

On the Web, Windows makes up the dominant percentage of users. It'd be nice if testing your page with IE 5/Windows meant that it worked on IE 5/Macintosh, but it doesn't. If you want to support multiple platforms, consider the following:

On the other hand, excluding non-Windows OS testing could be a real mistake:

Should I Integrate Complementing Technologies?

More and more sites on the Web are Flash-optimized and can be quite visually impressive. Plug-ins and helper applications that supplement the browser's capabilities make streaming content much more available. ActiveX controls and Java Applets can create powerful and full-featured Intranet portals and dashboards.

These new capabilities create a much richer experience for users when implemented properly. But this isn't always the case. For example, for each excellent Flash site, there are a number of cumbersome and awkward Flash implementations. Also, streaming content sites frequently supply multimedia that requires more bandwidth than your ISP, your connection or the network path between you and the host can provide.

If you're going to rely on applications or plug-ins to extend your site's capabilities—Adobe Acrobat, Real Audio, QuickTime, Winamp, Windows Media Player—then you have to consider the following:

Do I Support New Browsers?

It's important to keep an eye on your users to see how fast they're adopting the new browsers. With new browsers come new features, but also new bugs and incompatibilities. Another disadvantage of early adoption is that you'll find less support in the form of answers and help when you run into problems. The newsgroups and support forums are an invaluable resource when you hit JavaScript, XML, HTML, Java, or other snags. If you encounter a problem with one of the new browsers, the odds that someone has already answered your question go down depending on the newness of the browser.

On the flip side of all of this, if you don't test with the new browsers, you won't know what advances or problems are coming down the pipe that you should be considering. New code and content that you're writing may be going in the wrong direction. For example, if you're working with JavaScript code you'll need to consider the huge differences between Netscape 4.x and 6.x due to the new Gecko rendering engine.

Know Your Tolerance For Defects

Here's an important question to ask yourself—just how many bugs are you willing to tolerate on your site? It may be easy to say, "zero," but you'll have a hard time keeping that promise. Certainly, you can run Linklint or a similar tool to ensure that your links are intact, but Linklint doesn't catch bad queries or missing includes—all of which can create an HTML page that's not a 404 unless you handle them specially.


"A Web design company had better not have bugs and broken links on its site if it expects to impress potential customers."


If your Web site caters to a small or informal audience, your bug tolerance will be much higher than if your Web site is your corporate statement. A Web design company had better not have bugs and broken links on its site if it expects to impress potential customers. The number and type of defects you're willing to tolerate will determine the complexity, cost, and frequency of your testing.

Regardless of your type of site, you should also realize that defects can significantly deter the quality of your site's reviews. Do you know what type of browser Yahoo reviewers use? How about ZDNet? What about Open Directory Project editors? I assure you that a buggy site will not get good reviews—if a reviewer happens to use Opera, they'll expect good sites to look good in Opera.

Conclusions

I've raised a number of questions here, but many of them are left open and not fully answered. The type of site(s) that you run will largely determine the scope of your testing and support. Some may aim for close to 100% support, while others will focus on an OS or browser.

In keeping with the spirit of the Web and the Internet, I'd like to say that we shouldn't exclude anybody, but I know that's not feasible. A number of forces are at play that keep any one standard from being unilaterally adopted. Until then, we have to decide how large an audience we want to support, and how far we'll go to support them. In an upcoming section on browser testing methodologies, I'll outline some strategies that you may wish to consider when deciding how far and how deep to test your Web systems.


Steve has been working with Internet and related technologies for over a decade. His primary "off-hours" hobby can be found at lookoff.com, a repository for Internet and researching information and resources.

Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.