Summary: This article has attracted millions of page views since it was written in 1996, but most sites *still* commit these basic usability bloopers.

1. Using Frames

Splitting a page into frames is very confusing for users because frames break the fundamental user model of the web page. All of a sudden, you cannot bookmark the current page and return to it (the bookmark points to another version of the frameset), URLs stop working, and printouts become difficult. Even worse, the predictability of user actions goes out the door: who knows what information will appear where when you click on a link?

2. Gratuitous Use of Bleeding-Edge Technology

Don't try to attract users to your site by bragging about use of the latest web technology. You may attract a few nerds, but mainstream users will care more about useful content and your ability to offer good customer service. Using the latest and greatest before it is even out of beta is a sure way to discourage users: if their system crashes while visiting your site, you can bet that many of them will not be back. Unless you are in the business of selling internet products or services, it is better to wait until some experience has been gained with respect to the appropriate ways of using new techniques. When desktop publishing was young, people put 20 fonts in their documents: let's avoid similar design bloat on the web.

As an example: Use VRML if you actually have information that maps naturally onto a 3-D space (e.g., architectural design, shoot-them-up games, surgery planning). Don't use VRML if your data is N-dimensional, since it is usually better to produce 2-D overviews that fit with the actual display and input hardware available to the user.

3. Scrolling Text, Marquees, and Constantly Running Animations

Never include page elements that move incessantly. Moving images have an overpowering effect on the human peripheral vision. A web page should not emulate Times Square in New York City in its constant attack on the human senses: give your user some peace and quiet to actually read the text!

Of course, <BLINK> is simply evil. Enough said.

4. Complex URLs

Even though machine-level addressing like the URL should never have been exposed in the user interface, it is there, and we have found that users actually try to decode the URLs of pages to infer the structure of websites. Users do this because of the horrifying lack of support for navigation and sense of location in current web browsers. Thus, a URL should contain human-readable directory and file names that reflect the nature of the information space.

Also, users sometimes need to type in a URL, so try to minimize the risk of typos by using short names with all lowercase characters and no special characters (many people don't know how to type a ~).

5. Orphan Pages

Make sure that all pages include a clear indication of which website they belong to, because users may access pages directly without coming in through your homepage. For the same reason, every page should have a link up to your homepage as well as some indication of where it fits within the structure of your information space.

6. Long Scrolling Pages

Only 10% of users scroll beyond the information that is visible on the screen when a page comes up. All critical content and navigation options should be on the top part of the page.

Note added December 1997: More recent studies show that users are more willing to scroll now than they were in the early years of the web. I still recommend minimizing scrolling on navigation pages, but it is no longer an absolute ban.

7. Lack of Navigation Support

Don't assume that users know as much about your site as you do. They always have difficulty finding information, so they need support in the form of a strong sense of structure and place. Start your design with a good understanding of the structure of the information space and communicate this structure explicitly to the user. Provide a site map and let users know where they are and where they can go. Also, you will need a good search feature, because even the best navigation support will never be enough.

8. Non-Standard Link Colors

Links to pages that have not been seen by the user are blue; links to previously seen pages are purple or red. Don't mess with these colors, because the ability to understand which links have been followed is one of the few navigational aides that is standard in most web browsers. Consistency is key to teaching users what the link colors mean.

(See also updated guidelines for links from 2004.)

9. Outdated Information

Budget to hire a web gardener as part of your team. You need somebody to root out the weeds and replant the flowers as the website changes, but most people would rather spend their time creating new content than on maintenance. In practice, maintenance is a cheap way of enhancing the content on your website, because many old pages keep their relevance and should be linked into the new pages. Of course, some pages are better off being removed completely from the server after their expiration date.

10. Overly Long Download Times

I am placing this issue last because most people already know about it; not because it is the least important. Traditional human factors guidelines indicate 10 seconds as the maximum response time before users lose interest. On the web, users have been trained to endure so much suffering that it may be acceptable to increase this limit to 15 seconds for a few pages.

Even websites with high-end users need to consider download times: many B2B customers access websites from home computers in the evening because they are too busy to surf the web during working hours.

Updates

I have written an Alertbox revisiting these mistakes in light of subsequent changes in web technology and web usability.

See also my analysis of which sites commit these key design mistakes.

My newest guidelines for web usability are presented in the full-day tutorial Web Page UX Design at the UX Conference.

See also: Usability 101: Introduction to Usability (article) and UX Basic Training (full-day course).