Browser Beatings:
Design with Browsers that Suck

All Browsers Suck.

Really. Even Netscape Navigator. They all suffer from the same universal problem: none of them follow all the rules all the time. Why? Well, it can be explained by the rush to get the things out the door--after all, the Web exploded before any of the popular browsers left beta--or it can be explained by the complexity of the standards (although, arguably, they aren't that complex). Maybe it's just that when one standard, say HTML 2.0, gets somewhat established another cooler one, say HTML 3.0, begins poking its head out of its egg and browsers start acquiring features from the new standard before they get all the previous standard's bugs worked out. Regardless, what now exists is a mishmash of Web browsers with various quirks, bizarrities and--yes--even bugs which plague your best design efforts and make you run around the office yelling "Life sucks! The Web sucks! Computers suck! I should have listened to my mother...." (Well, okay, maybe I'm putting a little more personal experience here than necessary, but you know what I mean ;-).

So what do I do?

Well, there two ways to go about this: a technological approach and a design approach (well, okay, there's also the Zen approach, but I've never been able to just be with my browser, so I'm not qualified to write about it).

The Technological Solution

For most designers, this is a tough one, but I feel it's an important enough (and underused enough) feature of the Web to mention.

Anyway, here's the scoop: every request that's made to a Web server by a Web client (which means, basically, every page that's not cached) contains some telltale information about what browser is being used. This is the User-Agent: line of the HTTP header. Thus, it's possible (in theory) for the server to use this information and serve different pages, or parts of pages, to different browsers. A person looking at the page with Lynx would see a much different (and, hopefully, much more appropriate) page than a person looking at the page with, say, Netscape Navigator. Unfortunately, few servers do this and even fewer designers get to take advantage of such technology. EXAMPLE

The Design Solution

In the absence of the necessary technology, the best that you can do is to make it so that your site caters to the widest possible audience. It's very important that the site be usable by any browser.

So how do you design with every browser in mind? Well, to contradict what I just said completely, you can't. Remember the mantra: "All browsers suck." There are, however, a number of things that you can do to maximize the acceptability of your designs in the Web world:

Minimizing the Suckage

Ultimately, the most important part of your design is the user experience. Put yourself into as many users' shoes as possible and go through the site in its entirety, writing down any rough spots. When you've done that and fixed the problems, invite some friends over, buy them some pizza, and let them go through the site in its entirety. Ask them questions, look over their shoulder. Try to see, as many perspectives on your work as possible before releasing it to the Net. The result should be a site that's usable by as many people as possible, without worry about what browser they're using. ('Cuz you know they all suck ;-)

mikek@presence.com for World 3
Last Modified: 4/16/95