Larson Technical Services: Voice Technology Consulting

Exercise 6.3

Develop a training and help strategy for the VoiceXML application of Example 2.1.

A. Create a copy of the VoiceXML program you developed for Example 2.1.

B. Specify context specific help messages for each menu and form field

C. Specify error handlers for noresponse and nomatch events for each menu and form field.

D. Conduct a user test using the version without error handlers and the version with error handlers. Are there significant changes in how the application measures against its benchmark?


<?xml version="1.0"?>
<vxml version="2.0">  

<!-- Exercise 6.3   -->  

<form>
   <block>
      <audio src =
         "http://www.larson-tech.com/VoiceXML/Code/LIONROAR.WAV"/>
      <prompt>
          Ajax Travel <break size="small"/>
          make your travel reservations here <break size="small"/>
      </prompt>
   </block>  

<field name="UserName">
   <prompt>Say your user name</prompt>
   <grammar type="application/grammar+xml" src=
       "http://www.larson-tech.com/VoiceXML/Code/username.grxml"/>
   <catch event = "help">
       <prompt>
            Ajax travel has assigned you a user name <break size="small"/>
            In order for Ajax travel to access your account <break size="small"/>
        </prompt>
    </catch>
   <catch event = "noinput">
       <prompt>
            Sorry <break size = "small"/> I did not hear you <break size="small"/>
            Please say your user name again 
        </prompt>
    </catch>
   <catch event = "nomatch">
       <prompt>
            Sorry <break size = "small"/> I did not understand you <break size="small"/>
            Please say your user name again 
        </prompt>
    </catch>
</field>  

<field name="telephone">
     <prompt>Say the first digit of your telephone number</prompt>
     <grammar type="application/grammar+xml" src= 
         "http://www.larson-tech.com/VoiceXML/Code/telephoneNumber.grxml"/>
   <catch event = "help">
       <prompt>
            In order to verify that you are <value expr="UserName"/> <break size="small"/>
            this system needs to know the first digit of your telephone number <break size="small"/>
            please say the first digit of your telephone number now
        </prompt>
    </catch>
   <catch event = "noinput">
       <prompt>
            Sorry <break size = "small"/> I did not hear you <break size="small"/>
            Please say the first digit of your telephone number now
        </prompt>
    </catch>
   <catch event = "nomatch">
       <prompt>
            Sorry <break size = "small"/> I did not understand you <break size="small"/>
            Please say the first digit of your telephone number again
        </prompt>
    </catch>
</field>

<filled> <goto next="#travel"/> </filled>
</form>  

<menu id="travel">
    <prompt>
        Do you  want to travel by plane <break size="small"/>
        train <break size="small"/> or boat?
    </prompt>

    <choice next="#plane">
        <grammar type="application/grammar+xml" version="1.0">
            <rule id = "by_plane" scope = "public">
                <item> plane </item>
            </rule>
        </grammar>
    </choice>
     <choice next="#train">
        <grammar type="application/grammar+xml" version="1.0">
           <rule id = "by_train" scope = "public">
                <item> train </item>
            </rule>
        </grammar>
     </choice>

     <choice next="#boat">
        <grammar type="application/grammar+xml" version="1.0">
           <rule id = "by_boat" scope = "public">
                <item> boat </item>
            </rule>
        </grammar>
     </choice>
     <catch event = "help">
       <prompt>
            in order to rout your call appropriaty  <break size="small"/>
            we need to know how you want to travel <break size="small"/>
            do you  want to travel by plane <break size="small"/>
            train <break size="small"/> or boat?
        </prompt>
     </catch>
     <catch event = "noinput">
       <prompt>
            Sorry <break size = "small"/>I did not hear you <break size="small"/>
            do you  want to travel by plane <break size="small"/>
            train <break size="small"/> or boat?
        </prompt>
     </catch>
     <catch event = "nomatch">
       <prompt>
            Sorry <break size = "small"/>I did not understand you <break size="small"/>
            do you  want to travel by plane <break size="small"/>
            train <break size="small"/> or boat?
        </prompt>
     </catch>
</menu>  

<form id = "plane">
   <block>
      <prompt>
         You have selected to travel by plane  <break size="small"/>
         Sorry <break size="small"/>
         it is not possible to make plane reservations today <break size="small"/>
         goodbye
      </prompt>
   </block>
</form>  

<form id = "train">
    <block>
      <prompt>
         You have selected to travel by train  <break size="small"/>
         Sorry <break size="small"/>
         it is not possible to make train reservations today <break size="small"/>
         goodbye
      </prompt>
   </block>
</form>

<form id = "boat">
   <block>
      <prompt>
          You have selected to travel by boat  <break size="small"/>
         Sorry <break size="small"/>
         it is not possible to make boat reservations today <break size="small"/>
         goodbye 
      </prompt>
    </block> 
</form> 
</vxml>

Comments are off for this post