One of the reasons people generally ignore URLs is that they are not the preferred interface. Most of the time, users are quite happy to simply click on relevant links and navigate using the pointers you provide. However, experienced users may want to bypass some of this; anything you can do to make this easier for them makes your site friendly to both novices and experts. Experienced users are often the first to get frustrated and go do something else...
A friend of mine was typing a URL into a browser, and her daughter corrected her: "No, no -- you have to put 'http' in front of it." The daughter was four years old. Users really do understand how URLs work, very quickly. They're not hard to grasp -- a lot of work went into making them easily understandable. So, take advantage of this. If a four-year-old can recognize a valid URL, you can probably safely assume that most of your user base can figure out a well-constructed URL.
As a site ages and evolves, sometimes an old URL becomes invalid. This can be a problem for users who come into the site looking for data that has been moved or renamed; they will have a URL, but no navigational aids. At this point, many users will try, once or twice, to manually "correct" the URL. The better your site design, the easier this will be.
People should be able to look at a URL and have some idea of what it is intended to be. For instance, IBM's developerWorks pages have URLs that start out with "http://www.ibm.com/developerworks/." That's a good design. Articles have names that vaguely suggest the content of the article; directories have names that suggest the kinds of content they have. (For instance, this article is in a directory called "library" because it's part of a library of content the site serves out.)
Well-chosen directory names don't just help your Web designers coordinate; they help your users navigate. File names should inform the user of what's in the file.
Let's say I'm looking through your investor relations pages, and I want to read some quarterly reports. If I find a file called "1999_Q1.html," I am likely to guess that a more recent report might be called "2000_Q2.html." I should be right. The use of patterns for names makes it easier for users to find the content they want. Why didn't I just look for the 2000 quarterly report to begin with? Maybe I did, and the search engine gave me a different report first. I should be able to navigate in more ways, not fewer.
If you provide readable, meaningful names, users will have an easier time navigating your site. If I am looking for information about your company, and the contact page is "/corp/contact.html," I can probably guess that other information about your company will be in "/corp"; I might even just strip the file name from the URL to look for the general index of corporate information. If you provide arbitrary and unreadable names, I can't navigate except using whatever features and buttons you thought I'd want. If you guessed wrong, I can't use your site very well at all.
If most of the information about your company is in "/corp/*.html," you shouldn't have some of it in "/aboutus/*.html." Similar files should go in similar places. Don't switch between ".htm" and ".html." (If possible, favor ".html" -- there's no reason to make your site reflect a software limitation that was fixed six years ago.)
If you use "index.html" as the default index page for one directory, it should be the index page for every other directory, too. Don't use "home.html" in one directory and "index.html" in another.
If you use frames, try to give them meaningful names. "main.html" is uninformative -- what document is it the main page for? Users may want to see just one frame of your carefully constructed frame set; don't make it hard on them.
The structure of a URL is a powerful and informative tool. It provides a way out of your navigational structure. If you're trying to force users into a certain view of your site, this won't help you -- but why would you try to do such a silly thing? URLs allow users to get around inconveniences or flaws in your design, without requiring you to redesign your site.
Here are four simple rules for naming files that will let users navigate your site more comfortably:
- Make sure your site has a meaningful layout. Organize files into directories and give the directories informative names. Remember that the layout must be consistent and rational: Having seen one part of it, a user should not be surprised by the rest.
- Make sure each file's name is useful and informative. Favor descriptive words, and definitely avoid serial numbers. Don't have documents named "d1827.html"; how is a user supposed to learn anything from that?
- Make sure each directory's default "index" page exists, and allows users to easily navigate to every page in that directory. A user who gets to nearly-the-right page will often clip the file name from the URL and try again (although many report frustration with how often this yields nothing but error messages).
- Finally, do not reorganize all the time! News sites, search engines, and users will have linked to pages on your site. If all I get when I follow a link to the "product page at the vendor's Web site" is an error message or a redirect to your front page, I'm likely to go look at the next product I was thinking about in the hopes that I'll get the correct page right away. Try to keep old URLs valid.
This week's action item: Explore your favorite Web site. Try manually editing URLs to see how often you can get somewhere. Look at directories (strip filenames from URLs) and see how useful the resulting pages are. For extra credit, try this with multiple sites.
- In his latest column, Peter warns designers to be wary of Instant back buttons -- Web design features that can drive users away even before your page is done loading.
- A recent cranky user column, Keeping up appearances, focused on the importance of textual content on a Web site; poor grammar, spelling, or choice of font can send the wrong message to your users.
- Visit the IBM Ease of Use site for the latest in design guidelines, from designing for the Web to out-of-box-experience.
- Find out how IBM can help you improve your products and make them easier to use.
- Other installments of The cranky user column: Read about other Web and software usability topics.
- developerWorks Web
architecture zone: Get the Web development solutions you need.