Designing Dialogue Flow

  Microsoft Speech Technologies Homepage

An effective dialogue is the key component to a successful interaction between a voice-only application and a user. A voice-only application interacts with the user entirely without visual cues. The dialogue flow must be intuitive and natural enough to simulate two humans conversing. It must also provide a user with enough context and supporting information to understand the next action step at any point in the application.

Because multimodal applications feature a graphical user interface (GUI) with which users interact, developers do not design dialogs for them. A hands-free application is an exception to this rule.

Note  Hands-free applications contain both a GUI and dialog-flow components, and provide users with both verbal and visual confirmations. A dashboard navigation system in a car is an example of a hands-free application. A user speaks to the application and the application speaks to the user, and a visual cue appears on a map, based on the user's input. Because hands-free applications are essentially voice-only applications that developers extend to include multimodal functionality, the process of creating hands-free applications is not explicitly covered in this documentation.

Use the following list as a suggested task order when designing a dialogue for a voice-only application.

  1. Determine the information items that the application requires from the user.
  2. Determine the commands a user can speak to exit the current dialog, ask for help, or perform other tasks that are not within the scope of the current dialog.
  3. Model a dialogue flow (which consists of one or many question and answer cycles) using Microsoft Visio, or a similar tool, to represent the branches and sequence that the application's questions and answers require.
  4. Determine which prompts the application will speak to the user, including those in response to commands, silence, and recognition failure.
  5. Determine which grammars the application will use to recognize user speech.
To See
Get more information on designing dialogs. Modeling Question and Answer Cycles
Get more information on creating dialogs. Creating and Configuring Question and Answer Dialogs
Get more information on enabling speech recognition. Providing Access to Speech Recognition
Get more information on testing speech and telephony input. Specifying and Testing User Input
Get more information on prompts and prompt functions. Speaking to Users
Get more information on using event handlers. Handling Client-side Events
Get more information on enabling user commands. Providing Options for Users
Get more information on specifying the activation order of Speech Controls. Specifying the Evaluated Activation Order of Controls
Get more information on setting default property values. Specifying Default Speech Control Properties

See Also

Creating Speech-Enabled Web Pages