Although the benefits of embedded user assistance have been demonstrated by usability studies for many years now, such assistance has rarely been implemented within desktop applications. This is mainly due to a lack of specialist authoring tools and the limited support for embedding provided by Microsoft HTML Help 1.x. However, the proliferation of Web-based applications and the release of Windows Vista have caused many Help authors to reassess their implementation strategy, and embedding assistance within the user interface is a compelling option.
Web-based eCommerce applications have triggered the widespread adoption of embedded user assistance. These applications are characterized by a sequence of simple task-based screens that lead users toward their goal of, for example, buying a CD or booking a flight to Paris. Developers typically choose to embed the user assistance because:
- HTML Help 1.x was not designed to support Web-based applications, so it is not an option.
- There is a growing feeling that many users are reluctant to select a "help" option, perhaps because they see this as an admission of failure.
- Developers have a vested interest in keeping users "on task" within the main application UI where users are more likely to complete the commercial transaction successfully.
Desktop applications using a similar task-based approach have emerged as a recent trend. Since these applications typically employ a Web-like paradigm and user interface, it is only natural that they should borrow the same strategy for user assistance. Look at the new accessories and applications built into Windows Vista, and you will see many examples of embedded user assistance.
In a study on the usability of the Web-based registration process for a conference1, users were most likely to complete their registration successfully when the supplementary assistance information was included within the registration form itself, even though the increased amount of text actually slowed down some users. The advantages of embedded user assistance can be summarized as follows:
- It offers assistance at the precise locations where it is needed (sometimes called the "points of pain").
- It keeps users "on task" and increases the likelihood of the task's successful completion.
- It can be used to provide links to further (optional) information.
- Users see embedded user assistance as part of the application rather than as "help."
Task-based applications with a Web-like navigation structure are most likely to use embedded user assistance. Such applications typically need less procedural assistancethe steps required to complete a task are intuitive and virtually self-documenting. What the user needs instead are answers to questions such as "What is this control for?" "Why do I need to complete this field?" "What are the restrictions on what I can type here?" or "What does this term mean?" Instead of providing step-by-step instruction, user-assistance authors can focus on defining and explaining key concepts, providing short overviews of screens, and explaining individual fields and controls where necessary.
The main limitation of embedded user assistance is the inevitable space restriction within the user interface for displaying it. One of the key challenges we have as user-assistance specialists is to fight for this space and to justify it in terms of the measurable benefits that embedded user assistance can offer. User-assistance professionals need to be involved in the design of the user interface from the very start in order to avoid the situation of having to retrofit assistance to an interface that has already been locked down.
Another challenge is that successful embedded user assistance requires close cooperation between the user-assistance specialist and the software developer. Although the former should be the person to design the layout of the user assistance and to write all the content, the software developer will probably be responsible for the technical implementation. Organizing the communication required for the relatively simple process of implementing regular context-sensitive Help can sometimes be difficult and grow into a significant issue.
The final stumbling block is the lack of tools and standard techniques available to Help authors for implementing embedded user assistance. Current Help-authoring tools are designed to create self-contained "tri-pane" Help systems; they offer little or no support for embedding Help topics into an application user interface. Without standard tools, the user-assistance specialist must again work closely with the software developer to implement embedded assistance. The following is a list of key tips and guidelines for designing embedded user assistance for task-based interfaces:
- Answer users' real questions (you can really discover these only by testing early prototypes of the application with actual users).
- Reduce the amount of thinking required. Users should be able to focus on their goals and objectives without puzzling over how to achieve them using the application user interface.
- Provide definitions, examples, reasons, tips, shortcutswhere possible, within the UI itself. Provide these only where they are needed and add value. For example, add embedded user assistance to a control that causes confusion. But just because you provide assistance for one control does not require you to add it to every other control on the screen for the sake of consistency.
- Constantly consider the experience of new or infrequent usersit is all too easy for the user assistance professional familiar with an application to forget about the needs of these users.
- Provide access to a separate Help system as text hyperlinksdon't try and include everything you have to say within the embedded user assistance.
- If possible, enable users to switch off or customize the embedded user assistancethis enables more-experienced users to work more quickly and efficiently without the distraction of the additional user-assistance text.
Matthew Ellison Consulting
About the author:
Matthew Ellison has 20 years of experience as a user-assistance professional in the software industry. He managed a team of consultants and trainers at a UK-based documentation-services company before enjoying a period in Seattle, Washington, as director of the WinWriters (now WritersUA) Conference. Matthew has now returned to the UK where he runs his own training and consulting firm and organizes the annual European Online Help Conference.
The term "embedded user assistance" usually refers to Help that is part of the real estate and behavior of the software application to which it relates, rather than something displayed in a separate window. Users do not have to make a conscious decision to view the user assistance, as they do with traditional forms of Helprather, it is presented to them as a built-in aspect of the user interface itself. Embedded user assistance can take many forms, including:
- simple static text positioned beside or beneath a field or control
- a dedicated user-assistance pane that proactively displays useful information about the screen that the user is viewing
- text hyperlinks, often worded as questions, that display useful information or explanations (see example screenshot below)
©2007 ACM 1072-5220/07/0100 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2007 ACM, Inc.