Archive of W3C News in 2004 – Working Draft: VoiceXML 2.1

As announced on the W3C website, the voice browser working group email discussion list, and at the SpeechTEK conference I’m attending, the working draft for VoiceXML 2.1 was released today.

The best news for me is that the <data> tag is part of the draft. The data tag lets you retrieve an XML document via an HTTP request and continue on in the same VXML document. Both Tellme (Hey, what’s up with the dumbed down, Flash-crazed, nearly content-free new Tellme website? Please bring back the old site, which actually contained useful info.) and BeVocal already implement the data tag in their VXML browsers. I used the data tag in SoccerPhone and PhoneBlogger to retrieve an XML document containing configuration data. I then parse the XML document with ECMA/JavaScript to extract the config data.

Another advantage of the data tag is that it makes it easier to develop simple XML over HTTP web services that you can easily reuse with non-VXML applications. I’m talking about simpler than SOAP and XML-RPC web services. Just good old RESTful style web services. Without the data tag, the only standard way to get data back to a VXML app was to have the HTTP request return a VXML document to transition to. That makes it hard to reuse your data integration service. You typically end up having to wrap the data integration service with a simple VXML document just to keep the dialog going.

The <foreach> tag is also pretty handy. I used it for looping through JavaScript arrays in SoccerPhone. Since it is not yet an official part of the spec, I ended up having to implement the SoccerPhone VXML code slightly differently between Tellme and BeVocal.

Finally, it’s really great to see consultation transfer get added. Many call center applications are difficult or impossible to implement without support for consultative transfers. Lots of VXML broswer vendors added support anyway, just in a proprietary way.