In this phase, the goal is to define proposed functionality and create an initial design. This involves the following tasks:
The first step in designing your VoiceXML applications should be to conduct user analysis to identify any user characteristics and requirements that might influence application design. For example:
After you have identified who your users are, the next step is to determine what tasks your application should support.
For example, tasks in a banking application could include transferring money, obtaining current account balance, listing some number of most recent transactions, etc. You might allocate the functions as follows:
After identifying the tasks, the first design activity should be the conceptual development of the application. This is usually done by writing high-level scripts of proposed user-system interactions called vision clips. There is no attempt made to completely define the callflow. Rather, the focus is on the user-system interaction in key parts of important tasks. This design activity provides an inexpensive first step prior to any large investment of resource.
In a vision clip, designers create preliminary samples of conversations to promote discussions between the designer and the customer regarding the customer's task and user interface expectations. Ideally, these scripts are recorded so customers can review the sound and feel of the proposed interactions. Designers of vision clips should be very familiar with the capabilities of the speech technologies to avoid preparing vision clips that would be difficult or impossible to deploy as applications.
The next step is to make high-level application decisions, such as selecting the appropriate user interface, barge-in style, prompt style, and help style. For details, see Getting started—high-level design decisions.
After you have made the high-level decisions, you should proceed to the lower-level system decisions that address such issues as sound and feel, word choice, etc. Getting specific—low-level design decisions provides information to help you make these decisions.
Next, you will want to outline the callflow that maps the interaction between your application and the user. For example:
Your application interaction should have a logical progression that takes into account typical responses, unusual responses, and any error conditions that might occur.
After you have defined the callflow, you should be ready to create an initial draft of the script for the dialog between the application and the user. The script should include all of the text that will be spoken by the application, as well as expected user responses.
As the final step in the Design phase, you may want to identify the potential for expert users and begin considering where you may be able to help them cut through some of the interface to quickly perform common tasks.