Posts Tagged ‘IMified’

How to IMify your voice application

Tuesday, August 25th, 2009

One thing that’s so great about VoiceObjects Server is its multi-channel capabilities. This has been introduced way back in 2007. Design an application once – deploy it on any channel available on modern handsets, including voice, video, text, and mobile Web, and benefit from common maintenance, deployment, reporting, and analytics. Customers like T-Mobile Czech are embracing this to provide better support to their customer base (see also this announcement).

One thing that’s so great about Voxeo is our commitment to emerging technologies. Voxeo’s recent acquisition of IMified again demonstrates that we are at the forefront of any development within the industry that promises better self-service experience for the mobile customer. We have coined a term for this:

Unified Self-Service

With IMified, developers can build applications that interact with users over instant messaging (IMR – Interactive Messaging Response). The beauty of IMified lies in the fact that it provides a staggeringly simple API to access various different providers of IM: AIM, MSN, Yahoo, Google Talk, Jabber, … Plus even Twitter, and – brand-new –  SMS text messages. Together with VoiceObjects, IMified extends the scope of our Phone Application Server to all these new modalities, which are technically all part of VoiceObjects’ text channel.

The following picture shows the high-level architecture of IMified with VoiceObjects:

IMified architecture including VoiceObjects

This blog post is about how to build your first IM bot using VoiceObjects. Believe me, it takes longer to read this text than to build, deploy and test the app. If you are slow reader, that is…

How to set it up

Short version:

  1. Create a text application in VoiceObjects
  2. Set up a bot in IMified and point it to your app

That’s it!

Well ok, here are slightly more verbose instructions:

  1. Install VoiceObjects Developer Edition 9.0 R1 (or use your existing VoiceObjects 9.0 R1 installation)
  2. Create an application of your choice and provide prompts and grammars for the text channel
    1. Hint: If your application isn’t going to become multi-channel, you can leave the Channel layer at Default.
    2. If you have never built an application for the text channel before, you might want to read chapters 7 – How to Use Layers and 10 – How to Support Multiple Phone Channels of the Design Guide.
  3. Deploy that application (e.g. by clicking Test Application in the context menu of your root Module object, in case you’re using VoiceObjects Desktop for Eclipse)
  4. Register at www.IMified.com and create a developer account
  5. Click Create a New Bot
  6. Configure your bot
    1. Give it a bot name
    2. Give it a screen name. This will be the name (plus @bot.im) under which your bot will automatically be accessible via Jabber and Google Talk. For all other networks, you need to create accounts there first, which you can then associate with your new bot.
    3. Configure the bot URL. This must be the URL pointing to your VoiceObjects Server on which you deployed your app. Example: http://myserver.com:8070/VoiceObjects/DialogMapping?VSN=testService&User-Agent=IMified&vsDriver=173
      1. Use your VSN if you don’t deploy to VoiceObjects Desktop for Eclipse’s embedded VoiceObjects Server (if you do, testService is the fixed name for your service)
      2. Add User-Agent=IMified&vsDriver=173 to the URL, so that VoiceObjects Server knows this is an IM session based on IMified
      3. Make sure your VoiceObjects Server is reachable from the outside Internet world
    4. Click Create new Bot

That’s it! Now open Google Talk or any Jabber client, invite your bot to your contacts (the screen name plus @bot.im) and start a chat! If you have created accounts on other IM networks and activated them on IMified, invite these contacts and start a chat there!

How to move on from here

Wondering what kind of apps you can build with this? Well, think about any customer self-service or other portals that you could automate – or that you have automated already over IVR. Go ahead and IMify those! You are basically extending your customer interaction to other channels, giving your customers more options, accommodating the young generation that might be chatting more than talking these days… Have a look at the following interaction. It stems from our sample application, Prime Telecom. This application had been text-enabled for long now. With the IMified integration, chat is another means of communication that is – simply – THERE. Just use it!

PrimeTelecom sample chat

Stay tuned for more things to read about the IMification of customer self-service applications. I plan to write something about usability, UI, and implementation best practices soon. Also, we plan a Developer Jam Session on this topic in October. Announcements will follow soon!

As usual, feel free to add comments or questions to this post.

Finally, if you’re in New York City during this week of August 24, please make sure to visit us at SpeechTEK in the Marriott Marquis! It’s the unique chance to see our 20-netbook cluster in action, serving thousands of calls on multiple phone channels using cheap and power-sipping hardware. You can find us in booth 800. We’re looking forward to talking to you.