Building voice, instant messaging and Twitter applications in the cloud
This post is part of the Who's
@ Google I/O, a series of blog posts that give a closer look at developers who'll be
speaking or demoing at Google
I/O. This guest post is written by Adam Kalsey, Developer Evangelist at Voxeo
Developer Network, who will be demoing as part of the Developer
Sandbox.Connecting to your customers via voice,
SMS, or even IM allows you to reach them when they aren't at their desks. These real-time
communications mediums are skyrocketing in usage and ubiquity, as what is more ubiquitous than
the phone? Building an application that works over the phone or instant messaging is easier
than you think.
Telephony has traditionally required complicated
hardware and software or specialized programming languages. In recent years, however, web
programming tools and models ranging from VoiceXML to web services APIs have made it easy for
any developer to create communications services.
Companies for years
have been providing customer self-service applications as
Interactive Voice
Response (IVR) systems as a way of boosting customer satisfaction while cutting
service costs. These techniques and tools are starting to make their way into other mediums
and at the same time are coming down in price, making them accessible to a whole new class of
developers. This is leading to some great innovation as developers find creative ways to weave
phones and text into their applications.
It's not just voice. A rising
percentage of the population is just as likely to communicate over text messaging, IM, and
social networks as they are to pick up the phone. APIs and customer-self service systems must
adapt to the preferences of the customers they want to help. Over the next decade, 50% of the
automated communications that today happens over the telephone will shift to other mediums.
It's important for the applications you develop to serve your customers to
be
available on the networks they choose to use.
Here's how an IVR
application might work over instant messaging. Your company provides a Jabber IM address for
people to contact you. Any of your customers using Google Talk can strike up a conversation.
Your code intercepts their message and routes it to the right department based on the keywords
used in the chat. Perhaps you even respond off hours letting people know when your agents are
available or answer common questions automatically from a knowledge base.
Have you ever wanted your Google Talk number to be answered by your code? When your
friends call, you'd like to pick it up, and when telemarketers call, you’d like it to go
straight to voicemail. In addition to accepting calls, your application can make calls,
sending appointment reminders or triggering alerts using only a few lines of code. You can
even set the caller ID of the outbound call to your Google Voice number so that return calls
come to you.
To demonstrate how easy it is for a developer to weave
voice and text into their application, lets look at a sample application running on our
Tropo cloud communications platform.
We've created a mashup for the San Francisco Bay Area Rapid Transit (BART) schedules so
you can see when the next train is due to arrive at the station of your choice. Call or SMS
(407) 374-9954 or send an IM to bartdemo@tropo.im with Google Talk to try it. You can even
talk to @tropobart on Twitter. Tropo treats Twitter as an IM network, sending all @mentions to
your application just like an instant message would be.
Tropo works by
converting phone calls, IMs, and text messages to API calls that your code works with. An
incoming call or message is delivered to your code and your code tells Tropo what to say
back.
The
code behind
this can sit in our cloud or on the web server of your choice, including
Google App Engine. Other
sample applications are
available covering everything from simple games to directory assistance, to checking
into
Foursquare.
Real-time communications APIs for voice allow you to give instructions to the phone
system and IM networks to answer or make calls, accept text messages, interact with your users
using speech synthesis and speech recognition, set up conferences, or just about anything else
you can think of and mash it up with Google technologies, like this
Wave robot
that adds conference calls to any Wave.
To learn more about
building voice and text applications and the real-time communications APIs that are available
to you, visit Voxeo in the Google I/O
Developer Sandbox or
visit the
Voxeo blog and
Tropo blog.
Posted by Adam Kalsey, Developer
Evangelist at Voxeo Developer Network