UI Patterns and Techniques

Multi-Level Help

Use when:

You're building something complex; a few users are likely to need a full-fledged help system, but you know most users won't take the time to use it. You want to support the impatient and/or occasional users too, to the extent you can.

Why:

Users of almost any software artifact need varying levels of support for the task they're trying to accomplish. Someone approaching it for the first time (or the first time in a while) will need different support than someone who uses it frequently. But even among first-time users, for instance, there are enormous differences in commitment level and learning styles -- some people will want to read a tutorial, some won't; some will find tooltips helpful, some will find them irritating.

Help texts that are provided on many levels at once -- even when they don't look like traditional "help systems" -- will reach everyone who needs them. Many help techniques put the help texts within easy reach, but not directly in the user's face all the time, so your users don't get irritated. But the techniques need to be familiar to your users, lest your work be wasted!

How:

Create help on several levels, including some (but not all) of the following list. Think of it as a continuum: each of these requires more effort from the user than the previous one, but
  • Captions and instructions directly on the page, including patterns like Input Hints and Input Prompt. Be careful not to go overboard with these. If done with brevity, frequent users won't mind them, but don't use entire paragraphs of text -- few users will read them.

  • Tooltips. Use these to show brief, one-line descriptions of interface features that aren't self-evident. For icon-only features, these are critical; even nonsensical icons will be taken in stride if the user can tell what it does by rolling over it! Their disadvantages are that they obscure whatever's under them, and that some users find them irritating. A short time delay for the mouse hover -- e.g. one or two seconds -- removes the irritation factor for most people.

  • Slightly longer descriptions that are shown dynamically as the user selects or rolls over certain interface elements. Set aside an area on the page itself for this, rather than using a tiny tooltip popup.

  • Longer help texts contained inside Closable Panels.

  • Help shown in a separate window, often done in HTML via browsers, but sometimes in WinHelp or Mac Help. These are often online manuals -- entire books -- and are reached via menu items on a Help menu, or from "Help" buttons on dialogs and HTML pages.

  • "Live" technical support, usually by email, Web, or telephone.

  • Informal community support, almost always on the Web. This isn't applicable to any except the most heavily-used and heavily-invested software -- the likes of Photoshop, OS/X, or MATLAB -- but may be considered a highly valuable resource by users.