Introduction
Genie IDE from VoiceGenie Technologies is an integrated development environment (IDE) that enables the creation of applications and Voice Web content using VoiceXML, as well as the testing of local and remote applications. Based on the same VoiceXML interpreter used by the web-based voice portal – VoiceGenie Developer Workshop and VoiceGenie Gateway, the IDE supports the latest VoiceXML 2.0 Draft and XML based grammar specification. A 90 day evaluation copy of Genie IDE is available through VoiceGenie Developer Workshop. The workshop also provides details for licensing as well.
Installation
Installation of Genie IDE was pretty smooth; the installer is based on the Windows Installer (available as a separate download, if your system doesn’t have it installed already). Genie IDE is supported on Windows 2000 and XP Operating Systems with the latest service packs. The Microsoft Speech SDK is an optional requirement for Genie IDE for enabling TTS playback during simulated testing of VoiceXML applications. MyVoiceGenie, a companion tool (not reviewed in this article) available from VoiceGenie Technologies provides further integration with Microsoft Speech SDK including support for SAPI based ASR/TTS engines.
First Looks: VoiceXML Editor
Key highlight of the IDE is its rich VoiceXML Editor which supports features such as validation of VoiceXML content, XML based grammars, ECMA Scripts, auto-indentation and syntax highlighting. To aid rapid development, the editor features a context-sensitive tag manipulation tool (shown in the figure below; click the figure to see the complete IDE) which provides a rich palette consisting of all the VoiceXML 2.0 elements, SpeechWorks OpenSpeech Dialog Modules (discussed later), a set of readymade menu/form templates and tags for creation of dynamic VoiceXML content using Java Server Pages (JSP).
The editor is fundamental component of the overall IDE which provides regular project and file management capabilities, integrated FTP based file publishing and the capability to add existing VoiceXML and grammar files to a project. The IDE supports the testing of both local and remote VoiceXML applications with simulation and tracing features. Optionally, the IDE can use Microsoft TTS Engine (part of Microsoft Speech SDK) to dynamically create Voice-based prompts/dialogs.
Dialog & Grammar Wizards
Genie IDE uses a wizard based approach to aid the user in creating grammars and dialogs/menus. Currently two wizards are available – Dialog Wizard and Grammar Wizard (shown below).
The Dialog Wizard allows the user to create either an interactive VoiceXML menu element or a form element. Through a series of 4 steps (1,2, 3,4) the wizard is capable of generating a complete menu/form based VoiceXML content. For instance, the VoiceXML file shown below was generated just by following the step-by-step process of the Wizard.
The Grammar Wizard is very similar. Genie IDE supports development of both XML and ABNF based Grammars. Grammars created through the wizard can be inserted inline into a VoiceXML file or created as a new file. Even though the grammar development supported is pretty basic, as only a one to one mapping between spoken phrases and return values is supported, this is typically sufficient for prototyping and for most applications. Grammar Wizard is broken up into two steps (1,2) – in the first step you name the grammar and in the second step add the phrase/value pairs. For instance, the grammar content shown below was generated through the wizard.
Dialog Flow
Probably an unnoticed feature of the Genie IDE is a visual tool used to create a simple visual dialog flow representation of a VoiceXML page. This tool is available through a menu choice and (as shown below) creates a simple yet useful flow of the interactive dialog used by an application. Currently the tool only provides a basic read-only view. However support for an editable visual flow representation would be a useful feature, that I would expect in an upcoming release of the tool.
SpeechWorks OpenSpeech Dialog Module Integration
In our previous review of IBM WebSphere Voice Toolkit, we have seen how a rich set of reusable dialog components clearly differentiates it from others and enriches the usability and rapid development aspect of the tool. Genie IDE provides a similar sub-dialog support through the support of SpeechWorks OpenSpeech Dialog Modules technologies. Currently supported (as shown below) are the Dialog Modules for recognizing alphanumeric characters, custom contexts, date, digits, customized item list, phone, time and a yes/no based confirmation dialog.
View the Dialog Module Integration image
Conclusion
In nutshell, Genie IDE provides a basic integrated IDE for the development of VoiceXML based applications. The highlight of the tool is the rich VoiceXML editor with a rich palette (Tag Assistance Tool), integration with Dialog Modules and the support for the latest versions of the specifications including VoiceXML 2.0 Draft, XML based Grammar Specification. A step-by-step debugger, integration with a desktop ASR for complete testing, support for dynamic application generation and integrated grammar testing would be my picks for enhancement requests for the Genie IDE.
Resources
- VoiceGenie Developer Workshop
- Genie IDE
- Support Forum for Genie IDE
- MyVoiceGenie
- Microsoft Speech SDK
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 hitesh.seth@silverline.com.