Web design philosophy

How to design a web page depends, of course, on the goals of your page. If you're promoting a cutting-edge graphics or technology company, you will of course go wild with all the latest stuff. But if you're designing a more modest company home page or a personal site, you should instead remember to be friendly to users who are not on the cutting edge.

Keep it small, stupid

Unless you know that everyone in your intended audience has fast net connections, the first thing to remember is to keep it small! People will enjoy your site much more if they don't fall asleep waiting for it to load. 200K graphics can be very pretty, but unless they are the main point of your site, leave them out or at least only serve them up to users who ask for them.

Keep it simple

It is undeniably fun to experiment with the latest web technologies. Since 1995, we've gone through blinking text, pages with changing background colors, server-push changing content, animated GIF graphics, Java applets, streaming audio and video, background music, Shockwave, JavaScript rollover effects, and more stuff that I surely missed.

But all of this stuff annoys your users as often as it entertains them. Extra effects take time to load. Sound content distracts users and their coworkers. Animated graphics draw attention toward themselves and away from what your site has to say. Content that requires plugins makes your users take time-out from your site to download the extra software.

Fancy media content can enhance a web site. But before you add that new applet, stop and think about whether it is really bringing any value to your site; if it isn't, ditch it.

The web embraces many types of computers

Not everybody is using a Windows computer or a Macintosh. Content that requires special plugins disenfranchises people who aren't using one of those systems. Even older Mac users are often left out, because many plugins are only available for the newer PowerPC-based Macs, not the 680x0 systems. Unless you have compelling reasons, avoid content that many users can't see.

Not everybody will see your graphics

There are people out there who, for whatever reason, are using text-only browsers. They may have a terminal-only connection to the net; they may have a slow connection and are impatient with graphics; or they may be visually impaired users who are "reading" your page with a text-to-speech converter. Make sure it is possible to get around your site even if the graphics aren't displayed, and use appropriate ALT attributes for your graphics.

Remember to have something to say!

Web pages with lots of pretty graphics and no real content are all too common. Ultimately, what makes your site worthwhile is the content, not the chrome; unless you're developing an art site, the most important part of your site is what you say, not how your present it.

But presentation matters too...

As time goes on and web technology improves, the bar for a minimally-acceptable page goes up. (That's one of the reasons I did this new version of my site; the old one had fallen behind the curve.) Just as the popularity of desktop publishing has made typewritten-and-mimeographed newsletter look hopelessly amateurish, web pages with no attempt at visual presentation look dated.

Color is tough

Getting color right on the web, unfortunately, isn't completely possible. There are two problems: the limited color palette of computers with 256-color displays (I won't even bother worrying about 16-color displays; doing anything sensible for them is completely hopeless), and the differences in gamma between platforms.

The limited color palette constrains the colors you can use in graphics with large uniform color areas (mostly things drawn by computer). Dithering generally looks acceptable for photographics and such, but large dithered areas look terrible, so you will want to draw your graphics using the 216 web-safe colors. (And even after you've done that, your graphics may still look wrong on some Unix systems; depending on how many slots are available in the color table, Unix browsers may use a 64-color or 125-color palette instead.)

Worse still is the background-color problem. To my eyes, pure white backgrounds are too bright on the computer screen; pure white is best kept as a highlight color. (In this way, the computer screen is a very different medium from the printed page.) The problem is that the web-safe colors other than white are all too dark or too brightly colored, and non-web-safe colors will dither on the screen, which looks even worse. I design my personal pages with no background color specified at all, which at least gives the users the opportunity to set something that looks good on their computers - but I do give up some control over the appearance of my pages.

The gamma problem makes it hard to make photographics and other complex images look right on the web. (Basically, it means that the Macintosh makes dark areas of your image lighter than other platforms do. It's arguable technically superior - but it's different, which is what counts here.) If you make your photo look good on a Macintosh, it will be washed out on Windows and on most Unix systems; if you make it look good on a PC, it will be too dark on a Mac. All you can do is settle on a compromise that doesn't look too terrible on any system.

My favorite tools

Since I'm a platform slut, I use a variety of software to design my Web pages.

My most important graphic tool is Corel XARA. It's amazingly fast, it produces very nice anti-aliased graphics, and it now has an export dialog for GIF and JPEG graphics that shows you the effect of image size right on your screen. I've never understood why people use bitmap programs like Photoshop as their primary tools; object-oriented graphics make it much easier to resize and reshape your graphics as needed.

When I do need a bitmap tool, I use Corel Photo-Paint. Until recently, it was a much better program on Windows than Photoshop: it's faster, it supports multiple undo, it does palette minimization better, and it keeps text as an object (so you can resize it or change its typeface later). Photoshop 5 has finally caught up, but I haven't yet seen any reason to spend a large sum of money for it.

I do a lot of simple page design in Netscape Composer (the editor portion of Netscape Communicator). It's simple, it's available on all the platforms I use (Windows 95 and NT, Mac OS, Linux, and Solaris), and it doesn't produce horrible HTML. It's somewhat lacking for fancy page designs (it doesn't have WYSIWYG form objects, drag-and-drop table editing, or any knowledge of frames at all), but it's still a handy tool. Basically, I treat it as an HTML word processor.

When the editing tasks get tough, Emacs is the tool you need. It can handle any sort of complex text replacement (including pattern matching) that you'll ever need, it doesn't choke if you hand it a "dirty" file that you got from someone else, and it can handle files of just about any size (unlike WYSIWYG editors, which tend to choke on files more than a few hundred K big).

Since I work cross-platform, Netscape Communicator is my browser. Internet Explorer just doesn't work on enough kinds of computer.