Skip to main content

If you don't have an IBM ID and password, register here.

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

The cranky user: Making URLs accessible

Keep your novice and expert users happy with sensible naming schemes

Photo of Peter Seebach
Peter Seebach has been having trouble navigating through badly designed pages since before frames and JavaScript existed. He continues to believe that, some day, pages will be designed to be usable, rather than being designed to look impressive.

Summary:  Many Web pages, especially those created in authoring tools, have a tendency to treat URLs as impenetrable magic cookies. Users benefit when URLs are kept readable and understandable, and when the structure of a URL reflects the structure of the site. Even naive users may be helped by such a design. Here, Peter takes a look at why it's important to make URLs accessible, and offers some strategies for doing this effectively.

View more content in this series

Date:  20 Jun 2001
Level:  Introductory

Comments:  

User-friendly vs. expert-friendly

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...


Users are smarter than you think

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.


Good URLs protect against bit rot

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.


URLs should be readable

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.


URLs should be predictable

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.


URLs should be consistent

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.


Making good URLs

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:

  1. 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.
  2. 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?
  3. 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).
  4. 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.


Resources

About the author

Photo of Peter Seebach

Peter Seebach has been having trouble navigating through badly designed pages since before frames and JavaScript existed. He continues to believe that, some day, pages will be designed to be usable, rather than being designed to look impressive.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in

If you don't have an IBM ID and password, register here.


Forgot your IBM ID?


Forgot your password?
Change your password


By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. This profile includes the first name, last name, and display name you identified when you registered with developerWorks. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)


By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Web development
ArticleID=11562
ArticleTitle=The cranky user: Making URLs accessible
publish-date=06202001
author1-email=crankyuser@seebs.plethora.net
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).