First Words
Welcome to “First Words” – the VoiceXML Review’s column to teach you about VoiceXML and how you can use it. We hope you enjoy the lesson.
Overview
There have been some exciting events related to VoiceXML since our last issue:
- VoiceXML 2.0 is now a full recommendation from the W3C. This means that VoiceXML is the W3C-approved specification for the development of standards-based voice applications.
- The W3C has also published the first working draft of the VoiceXML 2.1 specification, defining a set of additional features for use in building VoiceXML applications.
- The W3C Voice Browser Working Group has begun work on ‘v3’, the follow-on specification to VoiceXML.
- The VoiceXML Forum Conformance process is now actively being beta-tested – by the time our next issue is published, the program should be in full swing;
- The VoiceXML Forum has launched an update to the Forum web site. In fact, you’re probably looking at it right now!
This month, we’re going to briefly describe the current set of features that are proposed for VoiceXML 2.1. In forthcoming columns, we’ll drill down into each of the proposed features.
VoiceXML 2.1
VoiceXML 2.0 has recently reached full recommendation status in the W3C, after a significant amount of work applied by the Voice Browser Working Group (VBWG). VoiceXML 2.0 has evolved from VoiceXML 1.0, which was contributed to the W3C several years ago by the VoiceXML Forum. The intent of this contribution was to allow continued development and evolution of the specification within the W3C, the overseer of web-related standards.
The VBWG focused on rewriting the VoiceXML 1.0 specification to include a more formal description of behavior, removal of inconsistencies, and addition of only limited features to the specification itself. The culmination of this work was the recently released VoiceXML 2.0 full recommendation.
While this work was being performed, applications were being developed and deployed by many companies. The curious reader is encouraged to see http://www.kenrehor.com/voicexml/ for a sampling.
As VoiceXML became widely deployed, VoiceXML platform vendors and application developers began to identify potential future extensions to the language, and often implemented these on their platforms. The result of this experience is a collection of field-proven features that are candidates for addition to the VoiceXML language. These features are being proposed as part of VoiceXML 2.1.
In order to be considered as candidates, a number of criteria needed to be met:
- The feature must add functionality that cannot easily be provided using the existing language;
- The feature must have already been implemented by at least two vendors;
- The feature must be completely backwards compatible – no change in existing functionality or behavior is permitted.
The new features proposed for VoiceXML 2.1 are based on feedback from application developers and VoiceXML platform developers. Those features currently proposed as part of VoiceXML 2.1 include:
- Referencing Grammars Dynamically – Generation of a grammar URI reference with an expression;
- Referencing Scripts Dynamically – Generation of a script URI reference with an expression;
- Using <mark> to detect barge-in during prompt playback – Placement of ‘bookmarks’ within a prompt stream to identify where a barge-in has occurred;
- Using <data> to fetch XML without requiring a dialog transition – Retrieval of XML data, and construction of a related DOM object, without requiring a transition to another VoiceXML page.
- Concatenating prompts dynamically using <foreach> - Building of prompt sequences dynamically using Ecmascript;
- Recording user utterances while attempting recognition – Provides access to the actual caller utterance, for use in the user interface, or for submission to the application server.
- Adding namelist to <disconnect> - The ability to pass information back to the VoiceXML platform environment (for example, if the application wishes to pass results to a CCXML session related to this call)
- Adding type to <transfer> - Support for additional transfer flexibility (in particular, a supervised transfer), among other capabilities.
Some of these are very simple features, while others open up an entirely new model of development – as a whole, the enhancements are pretty exciting – and in fact, if you have been developing on a number of different industry-leading platforms, you are probably already familiar with some of these capabilities.
That’s all for this month - those who like to peek ahead should have a look at the VoiceXML 2.1 working draft:
http://www.w3.org/TR/2004/WD-voicexml21-20040323/
Summary
VoiceXML 2.1 proposes some useful additional features for VoiceXML 2.0, based on real-world deployment experience. We’re going to spend some time in the forthcoming issues drilling down into these features. As always, if you questions or topics for VoiceXML 2.0 or 2.1, drop us a line!
back to the top
Copyright © 2001-2004 VoiceXML Forum. All rights reserved.
The VoiceXML Forum is a program of the
IEEE Industry Standards and Technology Organization (IEEE-ISTO).
|