There are varied levels of experience in our fictitious family. Although everyone is keenly interested in the Web, some of them have never even seen a Web browser before. When you design your site, you should consider that the people who visit it might have varying levels of experience and browsing requirements.
Will the topics that you discuss on your site be of interest to people with different levels of experience? If so, you might want to build in some features that help them find their way around more easily. The key, of course, is to make your navigation as intuitive as possible. By keeping your navigation scheme consistent from page to page throughout the site, you'll do a favor for users of all experience levels. There are a number of features you can add to your site that will improve its usability for everyone.
Add a Search Engine
Many users go straight to the search engine when they want to find something on a site. No matter how much time and effort you put into building a clear, obvious navigation scheme, someone looking for information about Frisbees is going to look for a box on your page where they can type in the word "Frisbee" and get back a list of the pages where you talk about them.
Unfortunately, locating a good search engine package and setting it up can be an awful lot of work, and difficult to maintain. On the other hand, there are some alternatives. Some search engines enable you to search a specific site for information. You can add a link to them from your site. Some search engines even allow you to set things up so that you can add their search engine to your site, such as Google:
By signing up, you can add a search box to your site that enables your users to search only pages on your own site for information. For a list of other ways to add search functionality to your site, see the following page in the Mozilla Directory:
Use Frames Wisely
One failing of some HTML books is that they tell you about all the different techniques you can use to create Web pages, but they don't offer any comparative information that explains when and how these techniques ought to be used. For example, I've devoted a number of pages to discussing frames, but the fact is that they should really be used only when nothing else will work. For example, putting all of your navigation in one frame and your content in another just because you can is generally a poor idea.
Frames have a couple of specific disadvantages that make them unsuitable for use in many cases. The first is that they make it hard for users to bookmark inner pages on sites. If your entire site is a frameset, the URL in the user's location bar never changes as the user navigates within the site. When the user gets to your inner page that has a wonderful recipe for chocolate chip cookies that your grandmother gave you, he'll have a hard time bookmarking it because his browser wants to bookmark the top-level frameset itself. When he returns on future visits, he'll be taken back to your home page.
The second issue that's common with framesets is that they can interfere with search engines. Again, if your entire site is inside a frameset, when a search engine fetches your home page, it's probably going to get a page with no real content to speak of. Then, it will download, say, the navigation frame, which lacks context, the content frame, which may lack header and footer information, and on and on. If you want people to be able to find your site using search engines, frames can get in your way.
There are also other issues people have had with framesets in the past, like problems printing and problems with the back button. Browsers mostly compensate for these issues today, but even so, frames can confuse your users. In some cases, there's just no other good way to attack a problem, but you should always make sure that there's not a better way before going the frames route.
Use Concise, Sensible URLs
One common mistake made by web designers is not considering how users share URLs. If your site is interesting at all, people are going to email the URL to their friends, paste it into instant messaging conversations, and talk about it around the water cooler. Making your URLs short and easy to remember makes them that much easier for people to share.
There's a reason why people have paid huge sums for domain names like business.com and computers.com in the past. They're easy to remember and you don't have to spell them out when you tell them to people.
You may not have any control over your domain name, but you can exercise control over the rest of your URLs. Say that you have a section of your site called "Products and Services." All the pages in that section are stored in their own directory. You could call it any one of the following:
/ps /prdsvcs /products /products_services /products_and_services
There are plenty of other options as well (you could call it /massapequa if you wanted to), but the preceding list seems like a reasonable group of options. Of the list, a few stand out to me as being poor choices. /products_service and /products_and_services just seem too verbose. If the pages under those directories have long names at all, you're suddenly in very long URL territory, which isn't conducive to sharing. On the other hand /prdsvcs may be short, but it's also difficult to remember, and almost certainly has to be spelled out if you tell it to anyone. It's probably no good. That leaves two remaining choices: /ps and /products. The first, /ps, is nice and short, and probably easy to remember. Using it would be fine. However, there's one other principle of URLs that I want to talk aboutguessability.
Chances are that most of the people who visit your website have been using the Web for awhile. There's some chance that they might just assume that they know where to go on your site based on experience. If they want to read about your products, they may guessbased on their experience with other sites they've visitedthat your products will be listed at http://www.your-url.com/products. Any time you can put your content where your users will assume it to be, you're doing them a favor. Using standard directory names such as /about, /contact, and /products can make things ever so slightly easier for your users at no cost to you.
My final bit of advice on URLs is to make sure that they reflect the structure of your site. One time, I worked on a site that consisted of hundreds of files, all in a single directory. The site itself had structure, but the files were not organized based on that structure. Whether the user was on the home page or five levels deep within the site, the URL was still just a filename tagged onto the hostname of the server. Not only did this make the site hard to work on, but it also kept some useful information away from users. Let's say you have a site about cars. What's more useful to your users? This:
The second URL provides a lot more information to the user than the first one does. As an added bonus, you can set up your site so that the user can take camry.html off the end and get a list of all Toyota models for 2003, or take toyota/2003/camry.html off the end and get a list of all car makes discussed on the site. Veteran web users are accustomed to dealing with URLs; you should help them out as much as you can by using URLs responsibly.
Navigation Provides Context
The key purpose of navigation is obviously to enable your users to get from one place to another within your site. However, its secondary purpose is to let your users know where they are within the site. This was the stroke of genius behind Yahoo!'s introduction of "breadcrumb" navigation in its directory. Take a look at the screenshot from Yahoo!'s directory in Figure 17.1.
Figure 17.1. A page from Yahoo!'s directory.
Near the top, you can see a list of links that start at the top of the directory and lead down to the page that I'm actually on. The first thing it does is give me the ability to go back to any level of the directory between the home page and the Photojournalism page that I'm actually on. The second thing it does is let me know that I'm six levels into the directory, and that the page I'm on is part of the Arts category of the directory, and all the subcategories between that category and the page that I'm on. That's a lot of utility packed into a small feature.
Not all sites have as large and complex a structure as Yahoo!, but you can still provide context for your users through your navigation scheme. By altering your navigational elements based on the page that the user is on, you can indicate to them not only where she can go but also where she is. This is also particularly helpful to users who arrive at your site not via the home page, but from an external link. Enabling users to immediately deduce where they are in the larger scheme of things makes it more likely that they'll take in more of your site.
Are Your Users Tourists or Regulars?
When you're designing a site, especially one that uses forms, one of the key questions you have to ask yourself is whether your users are tourists or regulars. If your users are tourists, which means that they don't use your site very often, or will probably only ever use it one time, you should design your site so that the first-timer can easily figure out what he should be doing and where he needs to go. This may annoy regular users who already know where they're going, but in some cases you have to cater to tourists.
On the other hand, if your site is normally used by the same existing group of users who come back once a day or once a week, your emphasis should be on providing shortcuts and conveniences that enable them to use your site as efficiently as possible. It's okay if it takes a bit of work to learn about the conveniences, because it's worth your users' time.
Clearly, the secret is to strike a balance here. The holy grail is a site that's obvious and clear to new users but also provides the features that repeat users crave. However, understanding what sort of audience you have can help you determine how to assign your resources.
All of this is doubly true with forms. The forms that are part of a discussion board used by the same people day after day will be designed much differently from those that are part of a request-more-information form on a product page. When you design a form, always think about the type of user who'll be using it.