The Web Is For Information....

Disclaimer: this was written before 2000, and many of the details are no longer true (i.e. my monitor is bigger, I use JPGs, etc). But the sentiments remain true.
    Lately, it's become fashionable for "old fogeys" like myself to write pieces explaining how we think Things Should Be Done on the WWW. Check out Rob Jung's "Simple Spinning" essay for a good example of this.

    Done? Okay, now back to my contribution to this subgenre of philosophical works. Before I go into the details of all the things I like and dislike in web design, I want to motivate the reasons for my choics by explaining a few basic things about how I use the web and how I see it used.

  1.     I work on a 600x480 monitor, which despite only being two years old is considered "Dark Ages" by some. I also prefer to keep my windows from being full width, so I can keep an eye on what happens in other windows as I aggressively multitask. As a result, I tend to keep my browser window to only 500 pixels wide, and the borders and buttons make it about 400 pixels high, effectively. I want web pages that are viewable on this size browser window. I know some things have to be bigger than this for clarity (like detailed images), but things like text and tables should auto-wrap to fit the window. There's no good reason why I should have to use the slider to bop back and forth just to read text. The defaults for HTML are almost always to resize, I leave them on. I figure that my preferences are reasonably restrictive, so if I make sure that a page is readable on my window, it will usually be readable on a larger screen (although it may be a little ugly on a huge screen). Few people deliberately make things much smaller than 500x400, but hopefully even those few can get information out of the web.
  2.     I recognize that while many people have newer equipment and larger monitors than I do, many people are also stuck with older equipment, smaller monitors and older browsers. This is especially true in academia, where I work and where the users of my work-related webpages are. Not all schools have large computer budgets (especially in other countries), and not everyone personally wants to spend the time and money upgrading when, for example, Netscape 1.0 on a 386 PC should be able to meet their informational needs. And lots of people, believe it or not, still use Lynx. So I try to keep that in mind.
  3.     The web is for information transfer, by gum. A little flash and pretty layouts can help make reading your page enjoyable, but when the form starts to obscure the substance, you've gone too far. Going hand in hand with point 2 above, just because a newer option is a neater or even better way of presenting your information (like, say, a Shockwave animation of a physics simulation instead of an unmoving picture) doesn't mean that you should only have this method installed. If someone with software just a year out of date can't get your information, your webpage is a failure in the job of making information available.
    To sum up, while it's tempting to make full use of the latest browsers and biggest screens and fastest connections, if you actually want your page to be useful, keep in mind that there's lots of people out there who are a year or three behind the cutting edge. Don't dismiss them as unworthy of your attention, always leave an option open to them.

Visual Web Editors

    I'll do the big one first. The root of what I consider to be many of the "evil" committed on the web. The WYSIWYG ("What You See Is What You Get") Web Editor. Even leaving aside the horrible mess many of these things leave your source code in, these WYSIWYGs take all of the nice, friendly defaults of HTML and turn them on their heads. And, for the most part, they seem to do this without telling the user that this is being done.

    The default text block will resize to fit whatever screen it's on. Tables will resize. Frames, even if set down in stone by the coder, can be resized by the user. But there's ways to lock in all of these if you want to, and there are the occasional good reasons (like making a navigation frame stay large enough for the buttons to be visible). But a WYSIWYG editor will invoke all of these tricks all of the time unless specifically told not to, the default is to turn them on, so that what the user types on the screen is exactly what shows up. The lines are just as long as he made them, the tables are exactly as large. And if the user is typing up a webpage on a 800-pixel-wide monitor, he'll end up with a webpage 800 pixels wide. Someone with a 640-pixel-wide monitor will have to slide back and forth to read each line of text, frames will be odd sizes where nothing fits in them and they won't be resizable, etc. And the user of this editor may not know anything's wrong...after all, it looks perfect on his screen. What You See Is What You Get. What someone else gets is anyone's guess.

    Obviously, a clueful user can become aware of this problem, change the defaults and use a visual web editor to make a page everyone can enjoy. The problem is, clueful users often go straight to hand-coding the HTML, while those using web editors are the ones who aren't yet clueful. In other words, those most likely to use a web editor are those least likely to be aware of their pitfalls.

Frames

    You'll notice a total lack of frames on my page. While I do know how to code frames, and how to do it so that they're minimally problematic, I don't like them and won't use them on my personal pages. Even at their most reader-friendly, frames are still unreadable on older browsers as well as on Lynx (the only option for those on non-graphical terminals). Putting in a noframes tag can help, but pages designed with frames are usually more difficult to navigate via noframes options than those designed without frames in the first place. Additionally, the extra sliders and borders eat up more of the browser window, which doesn't help.

    The main usefulness of frames as far as I'm concerned is as navigation bars. I've seen some good examples of this, and when the creators are careful to keep the size of their bars small enough that they'll fit completely on even small windows, it works well. But even this is Lynx-hostile, so I prefer to avoid it.

Images

    You'll notice that most inlined images on my page can be clicked on and loaded. This is so that people on Lynx or who have images turned off for purposes of connection speed can still download an image for later viewing if they want to. Newer browsers let you open any inlined image separately, but they also show images in the first place, unlike Lynx.

    You'll also notice that there are very few image maps on my pages, and all of them are for webrings I'm part of...not maps I designed myself. Even those have text links below the imagemap. Nothing annoys a non-graphical user more than coming to a page with an imagemap and nothing else...these pages are useless to them. In a related vein, I've tried to make sure that important pictures have alt tags (which show up when images are turned off or on Lynx where there are no images) or are made clear from the text accompanying them. A picture may be worth a thousand words, but if it's not visible then it's not worth any words. Be sure your information is accessible to those who lack graphics. And before you counter that eventually all browsers will have graphics, don't forget that some people can't see in the first place. A speech synthesizer can read the words on your webpage, but can't describe the pictures unless you do so.

    Finally, you may notice that every image on my pages is a GIF. This is mainly an effect of inertia on my part. When I started websurfing, it was still fairly common to see browsers which could read inlined GIFs, but not inlined JPGs. So I made sure all of my images were GIFs, so I could include them in a page without worries. Nowadays, I doubt many, if any, use graphical browsers which can't handle inlined JPGs, but GIFs have become something of a habit. And I'm too lazy to fiddle around with JPGs and decide what quality level I prefer. (insert smiley here)

Miscellany

    I used to dislike tables immensely, until I found out that they defaulted to being resizable. Since then, I've started adding them in great number, but I always leave them resizeable. I see no point at all in forcing someone to conform to my preferred browser size by fixing the width of a table. And since Lynx can handle tables, I don't worry about that angle anymore either. However, there are older browsers still in use which have trouble with table colors, so I try to make sure that my pages will still be readable, even if they end up a little ugly (hence the preponderance of pastel backgrounds on most of my pages...one light color is as readable as another for the most part).

    I still have some lazy habits which probably make my pages difficult for some browsers, like not putting all my links in quotes, not using the body tag or the html tag, not checking my pages in multiple browsers very often, and so forth. At this point, going back and fixing some of these problems would be so insanely time-consuming that it's simply not going to happen, my apologies to those who can't read my pages because of that. But if you do use an older browser or system and have trouble with my pages, let me know, I might be able to fix it quickly.


Dave's Philosophical Natterings
Dave's Online Nest