Volume 1, Issue 6 - June 2001

User-Centered Design for VoiceXML Applications

By Mike Farley


As a growing audience is exposed to VoiceXML solutions, will people use your applications while they quickly abandon others? Part of the answer to that question depends on how you address human factors issues during application design and development.

My experiences have identified a number of issues that cause users to exit VoiceXML applications. For example, users will abandon an application - even if they like its concept - when they:

  • Are confused by their initial contact with it.
  • Think the application stopped working.
  • Encounter errors.
  • Don't quickly perceive the application's value.
  • Become bored with long prompts or unwieldy application navigation.

Your VoiceXML application can avoid or address these issues - and retain more first time users - by implementing human factors wisdom in the context of a UCD (user centered design) process.

UCD Definition

User centered design is a methodology that concentrates on product design and development from user, user task, and user interface perspectives. Its goal is to provide easy-to-use, desirable applications.

Figure 1 illustrates a generic UCD process, with example tasks and outputs.

Figure 1 - User Centered Design Process

A UCD process functions in parallel with a product development process to:

  1. Collect Data: About users, their tasks, and their current work processes.
  2. Analyze Data: To determine how to redesign the workflow, and to identify usability requirements and goals.
  3. Design and Develop: Scenarios, information architectures and grammars, and user interface prototypes.
  4. Test: Design and conduct iterations of usability assessments and tests.
  5. Deploy: Follow up with measures of usability and user satisfaction.

UCD Examples

This article describes UCD activities to demonstrate how you can make your VoiceXML application more usable:

  • User Analysis
  • Task-oriented Design
  • Creating a Mental Model
  • Designing Prompts and Messages
  • Error Reduction and Recovery

User Analysis

User analysis is a term used to represent a number of methods used to collect data that identify characteristics of your primary target user group. You use the data to guide decision making during application design and development.

Why It's Important

Before you can develop usable, desirable applications, you must know your users' preferences, where and how they do the task you want to VoiceXML-enable, and their demographic and cultural characteristics.

How to Do It

There are a number of methods for collecting user data, such as:

  • Purchasing information
  • Conducting structured interviews
  • Facilitating focus groups
  • Soliciting input through surveys.

Contextual inquiry is a UCD method for collecting a wide range of data - including user and task data - in a relatively short time by observing target users performing the tasks you want to enable or automate in their real world environments.

How to Use the Results

You can use the information collected during the user analysis to:

  • Select the application's voice, terminology, basic grammar terms, and style.
  • Select a basic application style (voice-only input, voice plus DTMF, or DTMF only) that will work best within the constraints of your users' environments.
  • Identify concepts for additional VoiceXML applications.

Task-oriented Application Design

Task-oriented application design is based on user tasks and workflow. The design approach is based on:

  • Task analysis: Learning in detail how users currently perform the tasks you want to enable.
  • Workflow redesign: Streamlining the workflow through VoiceXML, Internet, and database technologies.
  • Ensuring user support in the new workflow.

Why It's Important

A task-oriented approach to design helps ensure that an application meets users' wants and needs so they will perceive it as valuable and easy to use. Task-oriented design provides an added benefit - a framework for software development that enables faster code development and less rework as the project evolves.

When application designs are based on what technology or architecture can do, users are shoehorned into the design as an afterthought. Such applications are generally perceived as "hard to use," even if their features work flawlessly.

How to Do It - Task Analysis

Task analysis identifies how target users perform the tasks you want to VoiceXML-enable. There are a number of ways to collect task information including:

  • Surveys, interviews, and document analyses.
  • Structured methods to collect task hierarchies from expert performers.
  • Observations of users working in controlled or "real" environments.

To complete the most reliable task analysis, observe at least three to six target users in their typical work environments and document their work processes.

How to Do It - Workflow Redesign

Analyze the users' current work processes. Select important tasks that are suitable for VoiceXML support. Use your technology and process improvement knowledge to redesign the workflow. The goal is to automate, eliminate, or streamline work to make selected tasks easier - even fun - for users. Ensure that important elements of the current workflow are represented in or supported by the redesigned workflow (see "Creating a Mental Model").

How to Use the Results - High Level Design

When you have completed the task analysis and redesigned the workflow, you have the input needed to create a high-level application design. High-level application designs can be as simple as sets of flow charts that illustrate application tasks, task interdependencies, and links to supporting technologies.

Figure 2 provides an example of a simple task flow chart.

Figure 2 - High-Level Design Example

I prefer to complete a series of quick iterations with the entire development team to add detail to the high level design. The task-oriented design flows then become either the source for design documents that guide development work as it continues, or the actual design document for smaller or rapid-cycle projects.

The high level design is also useful for:

  • Recognizing the impact of usability requirements.
  • Discussing the application with users to get early design feedback.
  • Developing low fidelity prototypes for usability assessments or tests.


back to the top


Copyright © 2001 VoiceXML Forum. All rights reserved.
The VoiceXML Forum is a program of the
IEEE Industry Standards and Technology Organization (IEEE-ISTO).