May 25, 2005

Create Voice-enabled RSS News Feeds

With the proliferation of RSS feeds in state and local governments, a unique opportunity is developing to expand the delivery of the critical information contained in these feeds by leveraging the most ubiquitous personal communications device in the world -– the telephone. Governments that use RSS to deliver information to citizens using RSS feeds can also leverage VoiceXML, an open standard for developing telephony applications, to expose RSS content via cellular and traditional telephones.

VoiceXML is a web technology that can turn any telephone, even a rotary phone, into an Internet device. VoiceXML is a non-proprietary, web-based markup language for creating vocal dialogues between humans and computers. VoiceXML is similar to another common markup language -- HTML, the basic language of visual web pages. Just as a web browser renders HTML documents visually, a VoiceXML interpreter renders VoiceXML documents audibly. In this respect, one can think of the VoiceXML interpreter as a telephone-based, voice browser. As with HTML documents, VoiceXML documents have web URIs and can be located on any web server. However, instead of pointing a client-side web browser at a specific URI, citizens can access a VoiceXML application by calling a toll free telephone number from any ordinary telephone - cellular or traditional, touch-tone or rotary.

It’s not hard to think of a scenario where a local government or a university could publish an RSS feed with topical news, and have a phone number for students or citizens to call for more information. Depending on how the VoiceXML is structured, the caller could have the option of being transferred directly to the number associated with the information.

The trick would be, in my opinion, finding the right place within the RSS feed to put the phone number (if the publisher wanted to provide the option of an automatic transfer). Ideally, the phone number would be contained within its own RSS element. Glancing quickly at the RSS 2.0 spec, this could be something like the guid element. So, if a publisher was using a software package to author and publish RSS feeds, they would probably need to do a little experimenting to find the right place to place the phone number.

Because RSS and VoiceXML are both XML vocabularies, there are a number of standards-based methods for converting RSS to VoiceXML and using RSS feeds from within VoiceXML applications. The first method involves the use of eXstensible Style Sheet Language Transformations (XSLT). I have created a tutorial covering this technique and some of the issues relating to it. This technique is generally agnostic to the underlying technology used; XSLT transformations are supported in technologies like JSP, PHP, Perl, .NET and others.

To see it in action there is a demo application available at (800) 289-5570. Enter the following PIN when prompted: 9991422919. This example uses the latest headlines news feed from CNET News.com (news.com.com) and the XSLT file covered in my tutorial. This is only running on a demo platform, so I can’t guarantee anything on performance. Still, it gives you a sense of how an RSS feed sounds. This technology could allow travelers only equipped with cell phones to get the latest NOAA RSS weather reports, lobbyists to dial-in for legislative floor calendars, and rescue teams to phone for the latest operational instructions.

The other method for using RSS from within VoiceXML applications is to leverage the new data tag, an addition to the VoiceXML specification that is part of the developing VoiceXML 2.1 standard. Some excellent examples of this technique can be found on the VoiceXML Forum website at http://www.voicexmlreview.org/apr2004/columns/apr2004_speak_listen.html.

VoiceXML also allows for the playback of recorded audio. If one had an audio file that they want to include in a feed, a VoiceXML application could actually invoke the audio file and play it to the caller. There is a VoiceXML service at (800) 555-TELL that plays audio files. Give it a call and try listening to the “News Center” option.

One caveat -- most VoiceXML platforms only support certain audio formats, but the more common ones (WAV, MP3) are usually supported. VoiceXML also supports recording the audio of a call, so if one wanted to let callers post comments the application could record their audio and save it for later playback. There is actually a project called “Phone Blogger” that takes this approach (see www.wombatnation.com/phoneblogger).

By using these techniques, governments that make information available to citizens through RSS feeds can dramatically expand the accessibility of these feeds by making them available to anyone with a telephone.



Mark J. Headd
Voice Technologies for Government
www.voiceingov.org
mheadd@voiceingov.org





[Editor's note: Commenting is turned off because of spamming. Mark is interested in hearing from readers who are interested in how that can use VoiceXML to augment what they are doing with RSS. Please email the author with your comments and we'll invite him to write a follow-up here at RSS in Government addressing your ideas and suggestions.]

Posted by Mark J. Headd at 11:01 AM