The Pebble and the Avalanche

Moshe Thumbnail
Current Revolutions in Business and Technology

by Dr. Moshe Yudkowsky,

author of The Pebble and The Avalanche: How Taking Things Apart Creates Revolutions


Tue, 2008-Dec-09, 06:37

Story Marker
Voxeo and VoiceObjects Build on Top of Open Source Editor

In addition to my work on innovation, I also work on speech technology projects. One of the most complex programming languages I work with is the speech recognition programming language VoiceXML. For the purposes of this blog, the interesting thing about VoiceXML is that the VoiceXML programming language incorporates many other programming languages: Javascript for calculations, a specialized programming language to describe what we expect a person to say so we can recognize his speech, and another programming language to describe how to read announcements to the person. On top of all this, I rarely bother to write in VoiceXML directly and instead use PHP or some other programming language to produce the VoiceXML pages.

In other words, VoiceXML programming is complicated, as if speech technology wasn't complicated enough on its own. One of the things that usually saves developer's sanity when writing in other programming languages is a decent "development tool" that helps make the task of programming easier. The tool will often automate certain tasks, find errors in the program, and sometimes even help the developer remember all the various features of the programming language. I've had one situation, programming in a new (to me) language, where the right tool spelled the difference between success and disaster.

The name of that important tool, by the way, is Eclipse. Eclipse is an open-source project that has a modular structure. People build new tools on top of Eclipse to support new programming languages as well as new methods to program — for example, a new way to visualize the program you're writing. Over the years I've tried a few packages that purport to provide VoiceXML language programming via Eclipse, and never found one that was satisfactory. I embarked on a quest to find a decent tool — which led me to organize and run a public demonstration of different tools at a recent industry conference.

A company I often work with, Voxeo, announced the purchase of VoiceObjects today. VoiceObjects makes an Eclipse-based VoiceXML editor. This is a funny coincidence because I'm in the middle of writing up an assessment of that public demonstration of speech application tools and VoiceObjects is one of them; I'll reveal in advance of my article that I liked VoiceObjects.

I recommend a look at Voice Object's extensive documentation to get a better idea of what they offer. I particularly like the idea of generating project documentation from within the design tool. Even more importantly, Voice Objects' tool output is "standard" VoiceXML, not a proprietary flavor, and the output interoperates with many VoiceXML platforms (not just Voxeo's, for example). This quote from Voxeo's press release is particularly important:

Voxeo will continue to openly and actively support VoiceObjects' application deployment on multiple VoiceXML platforms including Aspect, Avaya, Genesys, Intervoice and Nortel.
In other words, Voxeo is smart enough (as usual) to realize that they should compete on cost and service instead of attempting to lock in their customers through the use of tools that generate output that only works on their system. I know that I prefer a tool that interoperates over one that does not.

Strategically, this fills out Voxeo's suite of tools. Their current design tool ("Evolution Designer"; I've never used it) is suitable for entry-level programming; VoiceObjects is suitable for high-level developers. Speech technology programming is difficult work, with only a (relative) handful of VoiceXML practitioners worldwide; from Voxeo's perspective, the more programmers, the more speech technology applications and the more business for Voxeo.

Comments: 2, Trackbacks: 0

Wed, 2006-May-10, 12:17

Story Marker
Programmatic XML Injection Attacks

Here's something of interest to the technical community: I discovered an interesting security vulnerability today in CCXML and VoiceXML. More specifically, these are input, server-side vulnerabilities that people are accustomed to seeing in other areas and other XML programmatic languages. For example, there's the well-known SQL injection attacks. To my knowledge, to date, we in the speech community haven't been discussing this problem and there have been no attacks against VoiceXML and CCXML.