URL Design - Page 29
June 15, 2001
Tim Berners-Lee has said that if he had known that the Web would
be as popular as it is, then he might have thought harder about
finding an alternative to the slash-slash part of the URL, which
is particularly annoying when speaking URLs over the telephone.
In principle, URLs are machine-readable code and should not have
anything to do with user interface design. In practice, it is an
unfortunate truth that URLs are exposed to users in many aspects
of web usage, so we do have to consider them as a design issue.
Considering the popularity of the Web, there is no need to speak
out the "http://" part of a URL when giving it over
the telephone or when including it in a television commercial.
Most companies simply refer to their website as
www.company.com rather than
http://www.company.com/ (the syntactically correct
form). Although HTML purists deplore this abbreviated form of
stating the name of a website, it seems perfectly acceptable to
me, especially because almost all browsers add the missing
protocol specification to the front and the missing directory
specification to the end. The Web is now so ubiquitous that it is
understood that anything starting with www and ending with .com
(or .uk, .de, .jp, etc., outside the U.S.) is a website.
I recommend making both company.com and
www.company.com aliased machine names for your web
server. Currently, most users do include the "www."
when typing in URLs, but sometimes they forget. Also, when
speaking URLs over the telephone, it is nice to avoid the very
awkward-sounding "www."
The most important component of a URL is the domain name (the
machine name immediately after the http://). If
users can remember your domain name, they can at least get to
your home page, from which navigation and search are hopefully
sufficient to allow them to find the page they need even if they
don't have the rest of the URL. Most companies try to get their
company name as their domain name, and I would definitely advise
anybody who starts a new company these days to pick a name that
is available not simply as a trademark but also as an Internet
domain. Having an obscure domain name is going to cost big time
in lost customers. Good domain names that are easy to remember
and easy to spell are the Internet's equivalent of a Fifth Avenue
real estate location in the physical world.
Our usability studies have shown that users rely on reading URLs
when they try to decipher the structure of a site or the possible
results of following a hyperlink. It would be preferable if
browsers had better ways of making site structures explicit and
of previewing the destinations of hyperlinks, but right now they
don't, so users read URLs the way the ancients read cracked
turtle shells: to divine a hostile environment with no known laws
of nature.
Because we know that users try to understand URLs, we have an
obligation to make them understandable. In particular, all
directory names should be human-readable and should be either
words or compound words that explain the meaning of the site
structure. Also, your site structure should support URL-
butchering where users hack off trailing parts of a URL in the
hope of getting to an overview page at a higher place in the site
hierarchy. Of course, it is better if users can navigate your
site structure using your navigation buttons, but we know that a
lot of users use URL-butchering as a shortcut: Such users should
get reasonable results (typically a table-of-contents-like page
listing the information available at the desired level of the
hierarchy).
One day browsers, servers, and proxies will all include spelling
checkers, but at this time users are doomed if they don't get
every single character exactly right when typing a URL. Web
designers can reduce the frequency with which users meet the
dreaded 404 by making URLs easier to spell. Rules for easy-to-
spell URLs are:
- Make the URL as short as possible (the longer the URL, the
great the possibilities for making errors).
- Use common natural language words as much as possible because
users normally know how to spell these words.
- Use all lowercase characters. If you use MiXeD cAsE, some
users are guaranteed to forget some of the caps and get errors
(depending on the server). In general, you should never rely on
the difference between uppercase and lowercase letters in a user
interface because such a distinction is a sure prescription for
frequent user errors. Confusing upper- and lowercase characters
is a so-called description error. Because the two objects are
almost the same and because the most salient part of the
description of the two objects (the name of the character) is
exactly the same, users are very likely to confuse the two.
- Avoid special characters (anything but letters and digits) as
far as possible. If punctuation is necessary, stick to a single
character throughout all your URLs. Use all underscores or all
hyphens, for example, but not a mix of the two.
Compound Domain Names
How might one make up a domain name to refer to a website that
has multiple words in its name? For example, a site for Jakob
Nielsen might be called jakobnielsen.com, jakob-nielsen.com,
jakob.nielsen.com, jnielsen.com, and many other combinations of
the two words. (The underscore character is illegal in domain
names, but hyphens are allowed.)
Creating compounds by using dots (e.g., jakob.nielsen.com) only
works for a company that owns the primary domain (in this case
nielsen.com, which is taken by the Nielsen ratings). And if you
have the primary domain, then why make a longer and more complex
subdomain for your website? I recommend using the standard
"www." as the prefix for websites because people
know what it means and because having an address start with
"www." is a nice indication that you are talking
about a website and not something else (it used to be the case
that this goal required the use of a full URL, complete with
"http://," but these days, only very meticulous
people bother doing so).
Thus, the three reasonable candidates are:
- Run the words together: jakobnielsen.com
- Use an abbreviation: jnielsen.com
- Use a hyphen: jakob-nielsen.com
Current mainstream practice on the Web prefers the first choice;
simply run the words together to form a new "Internet word" for
the domain name. In usability, the fact that most other people do
something is reason enough to follow along because the most
common practice is what users expect and find easiest to use.
Abbreviations work as an alternative for three or more words or
when the result of running two words together would be very long
and/or difficult to spell. My main recommendation is to run the
words together if you are dealing with two reasonably short and
easy-to-spell words.
Hyphens should be avoided because people often forget them, they
can be mistaken for underscores, and they are rare (and thus a
usability problem).
Search Destination Design: Further Examples - Page 28
Designing Web Usability
Fully Specify URLs in HTML Code - Page 30
|