Saturday, February 17, 2007

Features

SpeakRight provides the features needed to create a quality VUI (Voice User Interface):

  • VoiceXML 2.1 (partial support currently, more to come. See VoiceXML Tags Supported)
  • Inline, built-in, and external grammars (GSL and GRXML).
  • Prompts can be TTS, audio, or rendered data values. External prompts in XML files for multi-lingual apps and post-deployment flexibility.
  • Built-in support for noinput, nomatch, and help events. Escalated prompts.
  • Built-in validation. A flow object's ValidateInput method can validate user input and accept, ignore, or retry the input.
  • NBest with confirmation of each NBest result. Optional skip list.
  • A library of re-usable "speech objects", called SROs is provided for common tasks such as time and dates, numbers, and currency.
  • Disconnect, Transfer, and GotoUrl
  • Flow Objects. A flow object represents a dialog state such as asking for a flight number. Each flow object is rendered as one or more VoiceXML pages. Flow objects are fully object-oriented: you can use inheritance, composition, and nesting to combine flow objects. The speech application itself is a flow object.
  • Throw/catch used for errors such as max-retries-exceeded, validation-failed, or user-defined events. This simplifies callflow development because it encourages centralized error handling (although local error handling can be done when needed). Also, throw/catch increases software re-use because (unlike a 'goto') it decouples the part of the app throwing the error from the part of the app that handles it.
  • MVC architecture. Built-in model allows sharing of data between flow objects.
  • Flow objects can invoke business logic upon completion.
  • Extension points are available in the framework for customization.
Testing features
  • callflows can be unit tested in JUnit
  • interactive tester for executing callflows using the keyboard.
  • SpeakRight servlets have an HTML output mode. This can be used to test a callflow using an ordinary web browser.


SpeakRight doesn't provide features for data access or web services. Other open-source projects already do those things very well.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.