Tellme Studio is hosted VoiceXML Platform which allows developers to develop and test VoiceXML based Applications. So far in our product review section, we have reviewed tools which reside on the desktop and provide an integrated development, debugging and/or simulation environment for building and testing VoiceXML based speech applications. Some of these tools utilize the power of a multimedia PC and desktop speech recognition and text-to-speech engines to simulate an interactive speech development environment. However, for the most part we are still in the "simulated" state.
A web-based VoiceXML development platform such as Tellme Studio, on the other hand provides an external VoiceXML gateway and a configuration application to connect live telephony numbers/extensions with the VoiceXML based telephony applications. So for instance, lets say you have developed a VoiceXML application which is running on your favorite web/application server with a URL (http://myserver/myapp/maindialog.jsp).
One of two things can happen: either you have already tested this application on your local desktop based VoiceXML IDE or you would like to test this application through a live phone based interface to see how consumers will interact with it. Typically, this end-user oriented testing would give you additional information (usage patterns/settings) which you can use to tweak your application as well. Also, this sort of an interface provides you with another benefit – the ability to demo your application to consumers, beta/alpha test it or even pilot it before you invest in your own VoiceXML gateway to deploy your VoiceXML application.
Hopefully the discussion so far throws clarity into the roles desktop IDE and hosted VoiceXML gateways play. Let’s come back to Tellme Studio. Tellme Studio features a number of online tools targeted for VoiceXML Application Development. The studio is divided into two main sections – MyStudio and MyExtensions. MyStudio represents the key component of Tellme Studio. It features a number of tools including Online scratchpads, syntax validator, VoiceXML terminal, grammar scratchpad, debug log, grammar phrase checker, phrase generator and DTMF generator. MyExtensions on the other hand features a configuration screen where the developer can expose his/her own studio environment into a public extension of the Tellme Voice Portal.
As we have discussed, Tellme Studio is a hosted development environment, so we don’t really have any installation apart from the fact that we need a PC with a browser connected to the Internet. Whereas through the scratchpad (discussed in the next section), Tellme does allow users to host temporarily pieces of VoiceXML content in the Tellme Studio, you may also think about getting access to a web server, whose port 80 (or HTTP) is outside the firewall. This will allow you to modify your static/dynamic VoiceXML application without relying on a scratchpad. Also, if your application is divided into multiple components–VoiceXML documents, prompts, grammars–you definitely would need to have access to a web server. Just as you host web applications, you have the flexibility of either utilizing the capabilities of your company’s internal hosting capability or use a third-party web hosting provider.
First Looks – Scratchpad
(Click on the image for a full size)
The Scratchpad (shown above) is your entry point into the Tellme Studio. Typically, you would use the text-area of the Scratchpad and ad-hoc author (or use the magic of cut and paste) your VoiceXML document into this. Tellme supports VoiceXML 2.0 (draft version) based applications. A feature which I found useful for prototype purposes is the ability to create multiple scratchpads and store them as different names. If you have already configured an external web/application server you don’t have to use the scratchpad you have to just point your entry application in the Application URL tool (shown below). One of the key highlights of the Tellme Studio tools is that every time you change the VoiceXML document or set the application URL, a built in content syntax validator validates the VoiceXML document for any errors.
It has been repeatedly pointed before and I would like to point it again – your application is as good as your grammar. Grammar development, testing and deployment is a critical aspect of your VoiceXML toolset. Tellme Studio provides a whole set of grammar tools for validation, phrase checking, phrase generator and a DTMF generator. Tellme Studio supports grammar development in both Nuances Grammar Specification Language (GSL) and the newly proposed W3C XML-based Grammar Format. Similar to the VoiceXML Scratchpad, you have a scratchpad for writing and testing grammars. Unlike the multiple scratchpads for VoiceXML content, however, grammar only has a single scratchpad.
Again, very similar to the Application URL exists a corresponding grammar tool for validating and debugging external grammars using the "Grammar URL" tool. As in the VoiceXML Scratchpad, grammar validation is done every time you save the grammar or set the URL.
Now that you have developed a grammar, your next step would be to check it against a possible list of phrases. Grammar Phrase Checker allows you to check your grammar against any number of phrases.
In addition, a companion tool grammar phrase generator generates an exhaustive/random list of phrases that are supported by a grammar. These tools may not look impressive for the simple grammar that I have used for this article, but they are really useful when you are testing a complex grammar which uses complicated constructs.
"Calling your application" – Using your phone to test your application
Okay, now you have developed your VoiceXML application (with its associated grammars) either in one of the scratchpads or as an external URL on your web/application server. How do you test it? Tellme supports multiple mechanisms for testing, the easiest and probably the one used mostly is to test your application using the toll-free number of Tellme Studio – 1-800-555-VXML and follow the instructions. A typical conversation would be something like this:
- User: Dials 1-800-555-VXML
- Tellme Studio: Tellme Studio. Developer Id?
- User: 92105 (the user says or enters the 5 digit developer id)
- Tellme Studio: PIN
- User: nnnn (the user says or enters the 4 digit PIN.
- Tellme Studio: Call number nnnn, connecting… (Tellme Studio would prompt with a different set of dialogs on error conditions such as incorrect developer id/pin combination etc.)
- Tellme Studio: (contd.) Hello World from Hitesh Seth (executes your VoiceXML application)
International users can use the corresponding non-toll-free number: (408) 678-4465. In our next week issue, as the second part of the review we will also look at how Tellme Studio supports Voice over IP, providing the ability to test telephony applications over a VoIP based telephony interface.
Record by Phone
One of the best practices that I have observed in developing VoiceXML application is to use computer generated text-to-speech in an optimal fashion. You should put an effort to record (or get professional recorded) most of the static prompts/greetings that you use in your VoiceXML application. This influences the personality to the application and a human voice typically makes the user at-home with the automated application. Typically, you would record the prompts in a "studio"-like environment with professional audio editing tools.
For prototypes or early developments, Tellme’s Record by Phone utility can be very effective. It allows the developer to record the prompts interactively and then get the resulting .wav files through an email. The process is very similar to what you are used to when you configure your own Voice mail.
In nutshell, Tellme Studio–which has been available to developers since June 2000–has emerged into a very useful resource for VoiceXML application developers. In this issue, we previewed some of the tools that are available in Tellme Studio for developing and testing VoiceXML applications. Whether used in conjunction with a desktop simulation environment (if your internet connection isn’t great) or as a standalone tool (if you prefer testing the changes in your application through a phone), Tellme Studio provides a productive collection of tools for the VoiceXML developer. We will conclude with our review of the Tellme Studio next week, with a detailed look at the remaining components – VoiceXML Terminal, Voice over IP support and MyExtensions.
About Hitesh Seth
Hitesh Seth is Chief Technology Evangelist for Silverline Technologies, a global eBusiness and mobile solutions consulting and integration services firm. He is a columnist on VoiceXML technology in XML Journal and regularly writes for other technology publications including Java Developers Journal and Web Services Journal on technology topics such as J2EE, Microsoft .NET, XML, Wireless Computing, Speech Applications, Web Services & Integration. Hitesh received his Bachelors Degree from the Indian Institute of Technology Kanpur (IITK), India. Feel free to email any comments or suggestions about the articles featured in this column at firstname.lastname@example.org.