The Future of Speech Application Development Tools
is moving to the cloud computing | BY JIANMIN LIU

Application innovation is happening on the Web at a much faster pace than it is on the desktop, allowing people to switch away from Windows to their OS of choice. Driven mainly by Ajax technology, this innovation is showing that Web-based applications are in some cases better than their desktop counterparts.

Do you remember the first time you used Google Maps? I do. I remember being stunned by the usability and responsiveness. With the advent of cloud computing, more and more Web applications are offering as services with an almost desktop-like functionality parallel to the increase in the connectivity speeds, wider usage of the cloud and improvements in RIA development. Moving to the cloud is no more a fantasy, it is the current and future trend considering the popularity of applications like Google Docs, Adobe Acrobat Online or systems like Amazon EC2, IBM CloudBurst, Microsoft Windows Azure Platform, and Oracle Database in the Cloud.

Cloud computing represents a paradigm shift in the consumption and delivery of IT services. It's not surprising that the development tools for speech applications begin shifting away from desktop environment to Web-based platform. Although desktop environment has many advantages over Web, Web has an important one like working from any computer without installation and staying synchronized.

Billions of Us Are in the Cloud

Cloud computing has officially arrived and has a long running trend with a super-highway horizon for its future. Billions of us are now utilizing cloud computing. It is the biggest event the tech industry has witnessed in decades. From creating new opportunities to improved significant communication methods, the cloud is redefining our technology map. By alleviating IT efforts, the cloud has great potential to renovate the end experience for the customer. Now, AjaxWeaver cloud development platform can navigate that horizon with ease for speech applications.

Speech Application Development Tools in the Market

For years, Eclipse is a widely-accepted, open-source, extensible IDE component framework. It has evolved into a general-purpose platform for building extensible software applications of all kinds. Many speech application development tools are built on this platform. However, Eclipse has remained a desktop application, it requires installation and configuration. In addition, you must have a Java programming background in order to use it.

With the rapid adoption of Ajax and RIA technologies, Web-based development tools are emerging. Specifically, Angel.com SiteBuilder is a Web-based "point-and-click" text-only application for any user to design, deploy and manage a customized IVR system; Nuance Cafe (by acquisition of BeVocal) is also a Web-based textual development environment. Voxeo Prophecy Designer moves one step further by allowing users to build call flows using visual steps and wizards.

With the introduction of VoiceXML Orchestrator by AjaxWeaver, all that has changed. For the first time, we have a Web-based drag-and-drop visual development tool for voice applications. Using VoiceXML Orchestrator, you can quickly layout beautiful looking call flows in your favourite Web browsers in a drag-and-drop manner like using Microsoft Visio. Speech application development has never been so easy.

Application vendors are increasingly required to provide both desktop and Web clients for their customers. With all those new projects surfacing, we're going to see Web-based development tools becoming the norm in the very near future.

In summary, the following is a list of Eclipse-based and Web-based tools for building speech applications.

Type Company Product Name Drag-and-Drop Support of Multiple VoiceXML Platforms
Web-based AjaxWeaver VoiceXML Orchestrator Yes Yes
Angel.com SiteBuilder No No
Nuance Cafe No No
Voxeo Prophecy Designer No No
Eclipse-based Avaya Dialog Designer Yes No
Cisco Unified Call Studio Yes No
Convergys Interaction Composer Yes No
Genesys Composer Yes No
Nortel Service Creation Environment Yes No
Syntellect VoiceXML Studio Yes No
Voxeo VoiceObjects Developer Yes Yes

Compared with Eclipse-based IDEs, Web-based tools have the following advantages:

There is one more powerful advantage - Instant Tryability in the Cloud.

It's not just because these Web-based tools are better that they are being used. It's because people don't have to do anything to try them. Consider a friend introducing you to two new email applications: one Web-based and one desktop-based. What incentive is there to try the desktop-based application first? You only have to open the Web-based app in a browser to see if you like it. If you do like it, there is no reason to try the desktop app.

There's a notion to this: Instant Tryability. Instant tryability is a very powerful advantage for Web-based apps. Not only do we never need to install anything, there is no overhead to trying things out other than to create a username and password, which has become so normal for us that we tend to use the same one everywhere. There is little pain in creating an account anymore. Seeing is believing - how better you want to improve online marketing and persuasive sales?

The following figure illustrates the Web-based visual interface of VoiceXML Orchestrator.

What is VoiceXML Orchestrator

VoiceXML Orchestrator is the first - and only - Web-based drag-and-drop cloud development platform for development and maintenance of speech and touch-tone applications. Using simple drag-and-drop functionality with Web browsers, anyone with even a basic understanding of call flows can visually create a voice application in minutes without programming and keep it current.

The flexible Web and cloud development capabilities results in faster to market and reduced labour costs during development and ongoing maintenance.

The following figure illustrates the drag-and-drop interface of VoiceXML Orchestrator.

Compared with Voxeo Prophecy Designer, Nuance Cafe, and Angel.com SiteBuilder, VoiceXML Orchestrator has the following advantages:

For the first time AjaxWeaver offers Web-based, flowchart-like, drag-and-drop features which makes all other Web-based tools look pale and defeated. Yes, those tools are also Web-based, but not anymore. AjaxWeaver has come up with a better solution to gain the leadership in the Web-based speech tools market.

More importantly, since VoiceXML Orchestrator has features similar to level that Eclipsed-based IDEs can provide, AjaxWeaver complements Eclipsed-based solutions by paving the way for far more advanced technology breakthroughs.

1. Web-based Easy-to-Use Flowcharting Tool

VoiceXML Orchestrator's intuitive drag-and-drop flowchart-like interface effectively marries the power of traditional desktop software's flowcharting capability with the lightweight, low learning curve and flexible features of today's most popular browser-based applications. Using this simple drag-and-drop functionality with Web browsers, developing a voice application is just like drawing a flowchart.

It is often said that "a picture is worth a thousand words" and nowhere is this more true than in the case of VoiceXML Orchestrator, since people just understand voice applications better and faster with flowcharts. It helps them see how information is connected, whether it is complete. Just drag and drop a widget from the palette onto the dashboard; click the widget to open the properties dialog. The dialog provides ways to configure all properties of the widget. To connect two widgets with a connector, drag a "relationship" line from one widget and drop the other end to another widget. All of these operations are done with your favourite Web browser.

2. Powerful Widget Framework

VoiceXML Orchestrator is an open platform. It is designed to be easily and infinitely extensible by third parties. This extensibility is achieved by developing custom widgets in form of plug-ins. Although you can use the supplied widgets to address many situations, the full power of the VoiceXML Orchestrator is unleashed with these plug-ins.

A widget is a visual interface element and reusable software component used to design call flows. By using a geometric shape with a set of configurable properties, the widget can visually describe the VoiceXML functional element which the call flow diagram represents. These properties define how the widget looks and how it behaves. Using the widget SDK, custom widgets are packaged in a jar file and can be deployed independently.

Property Dialogs for Message Widget and Input Widget

The following figure is a list of built-in widgets.

The following table explains each builtin widget.

Widget Name Description
Start The Start widget is a logical widget that is the beginning, or entry point, of your application. It is the location that callers are first brought to when they call the voice application.
Hangup The Hangup widget is a logical widget that indicates the end of your application. The caller will be disconnected.
Message The Message widget plays a prompt to the caller.
Time The Time widget routes the caller to different branches according to time interval and Time Zone.
Menu The Menu widget allows the caller to choose among options.
Question The Question widget gets spoken information from the caller using the built-in grammars.
Input The Input widget gets spoken information from the caller using custom grammars.
Record The Record widget allows the caller to record spoken information.
Transfer The Transfer widget sends the caller to a phone number or other application.
Transaction The Transaction widget interacts with data sources or Web services.

The widget container manages the lifecycles of both built-in widgets and custom widgets. In this respect, all widgets are created equal.

3. Instant Collaboration with Anyone

VoiceXML Orchestrator enables you to share and collaborate on voice applications with clients, staff, and anyone! VoiceXML Orchestrator is Web-based software, so anyone with a Web browser can see and edit a voice application you create with your permission.

With just a click, VoiceXML Orchestrator gives you a URL to a read-only version of your application, so you can share it with anyone. In addition, you can save your application as JPG, PNG, or PDF.

4. Import and Export Applications

From time to time, you may need to move your applications from one system to another, from testing to staging to production. VoiceXML Orchestrator provides Import and Export functions to ease these tasks.

Exporting an application - To package up and move an existing application from one server to another installation, you can export an application through the Export Application. This creates a Java jar file containing call flows including prompts, grammars, and scripts. All of these are necessary to successfully import this application onto another server and recreate the application necessary for it to work correctly. On a server farm you can export a single application and then import it onto many machines to recreate the same settings for the service to run in a load balanced environment.

Importing an application - You can import a new application into VoiceXML Orchestrator runtime server by uploading a jar file that was previously exported from another VoiceXML Orchestrator runtime server. You can then start the application after it is imported successfully.

5. OSGi Runtime Server

OSGi is a specification of a service platform in Java. OSGi technology provides a service-oriented, component-based environment for developers and offers standardized ways to manage the software lifecycle. This component model allows to activate, de-activate, update and de-install existing components and services and to install new components & services dynamically.

On the other hand, Eclipse community has a new initiative called E4. This is the effort for building the next generation of the Eclipse Platform. One of the principal aims is to enable the platform for use on emerging Web-based runtime technologies, i.e., widgets in native Web technologies (e.g. Ajax frameworks, Silverlight, Flex).

VoiceXML Orchestrator runtime server uses Eclipse Equinox (the reference implementation of the OSGi specification) to implement a dynamic service deployment framework. Since Eclipse Equinox is also the runtime environment on which the Eclipse IDE is based, VoiceXML Orchestrator opens the door to the server-enabled E4-powered Eclipse.

Conclusion

The Web is morphing into a service delivery platform that provides a rich user experience as desktop environment. This is the future of Web development. The development tools for speech applications begin shifting away from desktop environment to Web-based platform. In new era of cloud computing, AjaxWeaver has played a pioneering role in making Web-based drag-and-drop cloud development tool for voice applications.

VoiceXML Orchestrator is a great platform not only for building speech applications in a drag-and-drop manner using Web browsers, but also for the openness of its own implementation. Using the powerful plug-in framework based on OSGi runtime, you can develop your own custom widgets to extend the platform. Best of all, the development is based on standard Java and VoiceXML technologies.

Jianmin Liu is the founder and CTO of AjaxWeaver. He can be reached at jianmin.liu@ajaxweaver.com.