The m is for maus~. I do what I please. About m~, The Archives and the Lifestream RSS



Tropo’s Vocal Interface

What if you can develop a voice activated interface using an API in your favorite programming language for free? I just couldn’t resist the temptation to make one of those annoying synthesized voices do something useful for a change using Tropo’s API.

What’s a vocal interface?

You know how a while back Google released voice activated search and you could (still can) call 1-800-goog-411 and ask some automated system to find stuff? All of it using your phone as a… phone (I know. Weird). Talk into it, say “restaurant in san francisco”, and the little voice inside your phone will tell you a bullet organized story.

Now. How cool would it be to be able to do the same for your customers? Fine. For your client’s customers. Don’t interrupt. And how about if you could use an API? In your favorite programming language? Without paying a dime until you’re going to production? I know, right? How could I resist Tropo.com‘s offering?

Not a Tropo tutorial

Just to be clear, I’m only gonna cover the actual development very briefly. Starting now. You make an account, after that an application, then choose whether you want you files hosted (in which case you’ll have a text form control as an editor) or if you’ll host them yourself. I chose the former since it’s easier to start and all I really wanted to do was to mess around with the API. Considering a true application, it’s probably a better idea to host the files yourself.

Now, here’s the beauty of it. You can let the user choose what she wants to hear given a set choices you define depending on your data, and give an appropriate reply depending on the user’s choice. You can do it in a few large circulation languages. You can have a callback for the situation in which the user’s choice is not within the choices you defined. It’s a true to life automated call center.

My app is actually far from useful. I used eRepublik‘s public API (as it was on 24.01.2011) in order to retrieve some basic data about countries as they exist in the game. If you’ve got nothing better to do, go ahead. Call +990009369991482311 and ask the nice lady about one of the countries and she’ll tell you the country’s population, number of regions and other quick facts. If she doesn’t pick up (her name is Kate, if you must know), it’s because the connection to the XML feed is latent. That’s a beautiful detail. Until the data source isn’t available, Kate doesn’t pick up. Till then, you just hear the soothing phone ring.

The Tropo app is still in it’s infancy, the parser is quirky, the documentation is scarce and the debugger is a joke. But still. The possibilities are endless.

What’s it got to do with the web?

It has to do to with ease of access to information. You knew I was going somewhere with this, right? Quick recap:

  • voice controlled interface;
  • programming language of choice;
  • API;
  • your own existent, live data.

How’s this for an idea: do what Google did and make your data available through a phone line for anyone to use, no matter the 3G reception. How about providing up-do-the-moment facts or stats about your app/service/website? Sounds good? How about making a game?

I know how most of the web working community is living in a bubble and under the impression that we’re already living in an inter-connected world. We’re most certainly not. There’s a lot of gray areas on the map, where the concept of broadband is similar to a doughnut rain. I’m not only referring to Africa and other 3rd world regions. I know for a fact that you can get speeds of 1KB/s in very developed countries. At the same time, a phone works everywhere. Well… almost. Actually… let’s just say it’s better than the internet coverage.

I’m also aware that, after using an iPhone for a while you start having the impression that surfing the web on a hand held device is a joy. It’s not, trust me. It’s a pain in the ass, it’s difficult and takes forever.

Being able to access real time data sets with only a phone line is huge. Being able to provide such a service based on data you already have and control in a matter of hours is huge.

As a disclaimer: I know Tropo isn’t the only service of its kind and I don’t care if there’s 10 or 20 competitors. If they do the same thing in almost the same way, then just replace their names with Tropo when you read.