February 08, 2012

Cookies pass information from your computer, through your Internet browser, to sites you’ve visited. Basically, it’s a way for websites to know if you’ve been to the site before and for your browser to target their advertisers to the right people.

Those are two uses. Fairly benign ones.

Step back to 1995…

Cookies were released onto the public through Internet Explorer in October 1995, according to Wikipedia. Two ominous things about it: one, users didn’t have a choice whether to use them or not because computers accepted them by default and, two, users didn’t know they existed.

It wasn’t until the Financial Times wrote an article about cookies in early 1996 that the public became aware of these little guys, according to Wikipedia. The article, of course, sparked a litany of privacy rights debates.

Fast-forward to today…

Cookies are going well beyond just helping websites tailor your experience. Aggregators are using them to track all the websites we visit, and then passing that information on to retailers, banks, health insurance companies, et cetera, according to the New York Times.

That’s where the scary scenarios come in like the bank one I shared in Aggregators Are Watching. You can add loads of other scenarios to that one. I mean, imagine being rejected for health coverage because you did a search for ‘high blood pressure’ or ‘smoking cessation aids’ or something like that?

According to the New York Times, a new practice called weblining is emerging that’s similar to the redlining practice of the 1970s where banks and insurers drew lines on maps around inner-city areas and refused to offer their services in those areas.

Except now those institutions are doing it based on our Internet searches. For example, a bank may deny you credit because your Internet search habits are similar to those of other customers who were negligent on their bills.

Alarming, isn’t it?

So, we have some ability to control the Big Brother effect, but not really. With browsers, we can turn off the cookies (prevent the browser from uploading them on our computers).

The problem with that, though, is that many websites won’t let you on their site if you don’t allow cookies. Try it yourself if you haven’t already and you’ll see what I mean.

When I first got my smartphone I turned off cookies because I was hesitant about mobile Internet security, but I soon discovered that I couldn’t get on anywhere without enabling them.

Imagine this in a real-world scenario…

You walk up to a storefront and a security guard stops you at the door.

“Welcome to ________,” he says. “May I ask where else you’ve shopped today?”

“Excuse me?” you say.

“Can you tell me the other stores you’ve visited today?”

“I don’t understand. Excuse me, I’d like to go in the store.”

The security guard blocks your path. “I’m sorry, I can’t let you into our store if you won’t share your shopping habits with me.”

You stare at him. “Are you serious?”

“I am,” he says.

“Can I see your manager?”

“I’m sorry. She’s inside the store.”

What do you think your reaction to this kind of treatment would be?

“Have you lost your mind?”

Maybe something like that? Well, that’s what’s going on in the cyberworld today.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Right now, a data aggregator probably knows you’re reading this post.

A data aggregator probably knows what other websites you’ve visited today, this week, this month, this year. It may well have sold that information to a bank that will deny you a home loan one day because of the sites you’ve visited.

Sound far-fetched? It’s not.

I guess I never realized what I was looking at when I viewed shopping aggregators’ sites. I even naively wrote about it in a blog post last fall, saying how cool it was that ads for my favorite online shopping sites were popping up—bike shops instead of ladies lingerie or whatever (Smart Ads, Yea or Nay).

But it turns out it wasn’t shopping convenience I was looking at—it was the benign face of an unsavory character. It was targeted marketing based on information I never wanted shared with advertisers.

If you don’t know, aggregators are websites that gather data from other websites and put it into one place—there are aggregators for data, news, polls, searches, social networks, videos, blogs…

Orbitz and Travelocity are aggregators—benign ones. They gather flights, hotels, rental cars, et cetera from a bunch of sites and show you all your options when you’re planning a vacation.

Nice, right? And it is. But those are the benign aggregators that have contractual agreements with the airlines, hotels, car-rental agencies, et cetera to connect customers and service providers.

But there’s another type of aggregator that’s decidedly not nice—the aggregators that don’t have contractual agreements with anyone whose data is being used in decidedly not nice ways.

According to the New York Times, Consumer Reports conducted a poll in 2008 asking 2,000 participants about privacy and permissions on the Internet. The poll found “that 93 percent thought Internet companies should always ask for permission before using personal information, and 72 percent wanted the right to opt out of online tracking.”

That’s not happening, at all. Stay tuned for the second part of this post, Burnt Cookies

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Lat fall, I attended CouchConf NYC and gave a presentation on using Tropo with CouchDB.

It only recently occurred to me that I never did a proper screencast and blog post about my presentation, which struck me as a bit odd – I constantly get asked how to set up an SMS voting app with Tropo.

The good news is that setting up this type of app is incredibly easy with Tropo and CouchDB. The even better news is that I’ve finally gotten around to recording a screencast on how to do it – watch below.

A vote for the Rolling Stones.

All of the code used in this demo can be obtained from GitHub.

To install the CouchApp utility, go to the CouchApp project page.

If you’re looking for an easy way to set up a CouchDB instance, have a look at IrisCouch.

By pairing Tropo with CouchDB and a CouchApp running in IrisiCouch, you can have an SMS and phone voting app running entirely in the cloud in about 10 minutes. It should actually take you longer to write up the categories for your voting app than it should to deploy this solution.

Tropo + CouchDB, FTW!

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. Tropo Powered Virtual Call Center in 10 Minutes
  2. Cloud Awesomeness with Tropo and CouchDB
  3. Using Tropo for a Remote Call Center Solution

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Below is a detailed walk through of adding SMS messaging to your Rails app written by Chris Rittersdorf of Mutally Human. Chris is an experienced developer who enjoysbuilding excellent web applications and in his spare time maintains manlyco.de.

This content was originally posted on the Mutually Human blog found here.  

Introduction

The use of smart phones is on the rise, however SMS text messaging is still the best way to reach the broadest customer base, especially in developing countries. If you have a Ruby on Rails application that needs to reach this broad customer base, Twilio is an excellent tool to have in your toolbox.

It’s easy to add Twilio to a Rails application. This post will walk you through the process of integrating Rails with Twilio, including:

  • Signing Up for a Twilio Account
  • Testing with Twilio’s Sandbox App
  • Integrating Twilio with a Rails Application
  • Configuring your Twilio enabled Rails application for Production

Let’s get started!

Signing Up for Twilio

Signing up for Twilio is as simple as providing your name, email and password. After you sign up and log in for the first time, you are taken to the Dashboard. This will give you plenty of information to get started. Upon signing up, you are given $30 in credits to get started. These credits are spent every time a text message is sent or received by Twilio.

In the bottom left section of your dashboard, you’ll see a box called Sandbox App. The Twilio Sandbox is where you want to do development work with Twilio. The Sandbox not only lets you test out your SMS enabled application without burning through credits, but it also lets you lock down which mobile phones can send text messages to it and which mobile phones it can send text messages to. This is in contrast to the live account which consumes credits, and can send and receive text messages to and from any mobile phone. Now that you know what the Sandbox is, let’s try it out.

Testing Your Account Using the Sandbox

To test the SMS sandbox, send a text message from your phone to the sandbox number. The content doesn’t matter, it can be anything. Try texting “hello twilio”. You’ll then see a reply similar to this:

Sent from the Twilio Sandbox Number - Error: No PIN.
Make sure you begin your message with the Sandbox PIN from your Twilio Dashboard.

Any time you interact with the Twilio Sandbox, you must provide a PIN along with all communications (whether SMS or Voice). This PIN is located below the Sandbox number on your dashboard. Enter the pin at the beginning of your text message, for example:

28910293 hello twilio

You’ll then get a reply from the default Twilio Service located at:

http://demo.twilio.com/welcome/sms

Now that you’ve confirmed that your account is in working order, let’s see how was can leverage service in a Ruby on Rails application.

Integrating Twilio with Your Rails Application

Web applications communicate with Twilio using an XML variant called TwiML. For example:

This section of TwiML describes how to respond to a user calling a phone number. It speaks a message during the phone call, then sends the user an SMS message. But, it’s no fun writing TwiML. And since we’re using Ruby, there’s a gem for that! The twiliio-ruby gem abstracts TwiML into an easy to use Ruby API. In your Rails application, simply add the twilio-ruby gem to your Gemfile:

Now you have the necessary library to start sending text messages. So now let’s use it!

Sending a Text Message Using Twilio

Sending a text message with your Rails application is simple. But before doing so, there is one configuration we have to make. To test your application using the Twilio Sandbox, you’ll need to white-list any phone numbers you plan to send SMS messages to. You can do this by going to the Numbers tab and clicking the Verify Number button. There is a series of steps you’ll have to complete to verify your number.

After you’ve verified the phone number, your application can now send text messages. The following code example show you how:

In this example, the send_text_message action receives a phone number from a form post, then relays a hard-coded message to that phone number via SMS. The twilio_sid, twilio_token, and twilio_phone_number variables contain the configuration information for authentication using the twilio-ruby gem. Generally, you’d want to pull this into a configuration file that gets loaded when your application loads, but I’ve put them into local variables for simplicity.

Receiving a Text Message Using Twilio

In order to receive a text message from a mobile device, you’ll have to expose an endpoint that is reachable by Twilio. Here is an example:

In this example, the index action receives a POST from Twilio. It grabs the message body, and the phone number of the sender and logs it. Retrieving the information from the Twilio POST is as simple as looking at the params hash:

In order for text messages to reach your application you have to tell Twilio where to send requests. This is again done in the Sandbox App section of the Twilio Dashboard. Specify your publicly facing endpoint in the SMS URL field and click “Save”.

If you’re running your server locally and have no publicly facing endpoint, you can use a service like tunnlr to create one. This creates a publicly accessible URL with an SSH tunnel back to your local machine.

So the publicly facing endpoint for your application would look something like:

http://web1.tunnlr.com:89530/sms

Configuring Twilio for Production

To deploy your SMS enabled application in a production environment, there are three things you’ll need to do: buy a Twilio phone number, configure that phone number in your application, and then configure the production end-point in Twilio.

Purchasing a phone number requires you to enter payment information and decide on a phone number to provision. Twilio will guide you through the process. At the time of writing, Twilio’s pricing is set at $1.00 a month plus an additional 1¢ charge per text.

Also, you will need to update the Twilio phone number in your application to the new number that you’ve provisioned. The examples above contained a variable with the value for a Twilio phone number. Change this value to the new phone number you provisioned.

Finally, you’ll now have to configure the SMS endpoint much like how we did for the Sandbox. Click on the “Numbers > Twilio Numbers” tab. Then click on the phone number you provisioned. Finally, in the “SMS Request URL” field, specify your publicly facing production endpoint URL, then click “Save Changes”.

Conclusion

Whether it be for those on-the-go, or those who otherwise are not able to use a computer or smart phone, SMS provides excellent alternative interface for the users of your web application. For those looking for a simple and affordable way to get started, Twilio is an outstanding option. So now that you know how to get started, what will you build using Twilio?

Add Twilio SMS Messaging to your Rails App

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Are you looking for an easy, customizable solution to communicate with your customers across voice, text messaging, email and other channels? OneReach uses Voxeo’s carrier-grade platform to unify these communication channels and let you reach customers with meaningful information, in the way they want to be reached – giving small and medium businesses the same kind of access to multichannel messaging as enterprise customers.

Overview:

OneReach was created to make digital communications accessible to the common business person. We were faced with a client who needed a custom communications solution to handle their inbound phone calls without losing any prospective customers. There was nothing readily available: all of the solutions were costly, technically complex and didn’t fully support multichannel integration. After building a solution for this client, we realized there were probably many other SMBs in the same situation that would benefit from having a streamlined, simple way to access the kind of communications technology previously reserved for big businesses with large development budgets.

How are you specifically solving this problem?

We built OneReach from the ground up with full integration of multiple channels (e.g., voice, email and text messaging). Our FlowBuilder visual development environment allows anyone, even non-technical people to build powerful communications applications, including the ability to integrate with an API or website. In order to increase relevance and value to the customer, our system allows for the integration of external data sources, the ability to set up  multi-message campaigns on a timeline and to leverage multiple channels to match customers’ communication preferences.

Current customer applications run the gamut from very traditional, marketing lead tracking through dedicated phone numbers, to multi-channel applications used to increase donations and event participation within non-profit organizations, to building out a communications infrastructure in rural communities in Uganda to provide health information and services.

Why did you build with Voxeo?

Voxeo offers us a carrier-grade platform with unmatched reliability, and also has the multi-channel integration we were looking for when we designed OneReach. The obsession with customer service at Voxeo has mirrored what we strive for at OneReach, as well. We also appreciated the ability to build and test at no cost when we were developing the solution.

What’s up next for OneReach?

We’re continuing to innovate and add new features to our core product. In future releases, we plan to deploy industry-specific templates, making it easy for businesses to choose a template that suits their vertical – retail, healthcare, financial – and quickly and easily customize voice and text message prompts to set up notifications, surveys and other common tasks. Additionally, we’re building a user community around our product, including the ability for businesses to build their own templates and then share them with other users. We’re adding seamless CRM integration, and we’re rounding out our integration with social network tools by allowing social network updates to be created and scheduled directly within the OneReach application.

Demo:

For more information, visit OneReach’s website, or contact OneReach at 866-709-0482 or sales@onereach.com.

©2012 Voxeo Talks. All Rights Reserved.

.

No related posts.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Let closed-loop marketing be your guide.

One of the things I love about the real estate industry is that it’s all about marketing–the four Ps are fantastically relevant in this trade. And still, just like every other industry in the world, there’s plenty of room to improve; no one has it completely nailed.

(If you aren’t in real estate, don’t click away just yet–I am talking about marketing in general, not just real estate. You’ll see.)

I learned about some of the biggest marketing challenges in the real estate business on a recent trip to New York City for Inman Connect, a conference focused on real estate technology. Throughout the conference, I also learned that the marketing challenges faced by brokers aren’t unique to real estate–they’re issues that every industry must tackle.

But the biggest of them all? Knowing which ads drive leads.

Across all industries, the power to know which ads drive leads is critical to marketing success; in many cases, it actually sets the budget. After all, if you can’t prove where your leads came from, you won’t be able to claim a piece of the (budget) pie for future lead generation efforts.

If knowing the source of your leads is so important, every smart marketer must practice it already, right? Surprisingly, people don’t. The simple reason why not is that most marketers don’t think they really need to. Here are a few objections I commonly hear:

  • “Of course I know where my leads come from!”
  • “I know exactly where my leads come from because my reps record every lead that comes in.”
  • “I know where my leads come from because my customers tell me where they found me.”

But reliable reps and helpful customers notwithstanding, if you don’t track where your leads came from, you don’t really know. Would the people insisting, “I don’t need to track my leads” feel the same way if they knew the costs of ignoring a lead source?

A big cost is insight. It’s business intelligence. After all, if you don’t know where your leads come from, how will you know which ad and marketing efforts are actually working? How can you stem wasteful ad spend on ineffective campaigns until you see which ones are and are not driving business your way? Without tracking efforts in place, you’ll never know that the majority of your leads who call your business start online (and you won’t know which keywords drove them to your business).

If you already track your leads, you’re one step ahead of the competition. I’m guessing that most of you out there are tracking online leads from email campaigns, download forms, web site visits, and the like. But what about those leads that read your email and then call you? Or, those leads that search you out online and then call to talk to a rep? These voice-based leads are an essential part of the entire marketing loop, and you don’t want to neglect them. Now that you see how crucial it is to track your leads—from wherever them come—be diligent about capturing the entire picture. Online. Offline. Web-based. Voice-based. Everything.

So the next time someone asks if you track your leads, you can say with confidence (and accuracy): “I know where all my leads come from.”

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


This year for SXSW, it’s about getting the top developers to the right places at the right time. You guys are the best of the best, and we’re stoked to launch this contest to prepare for the top Interactive event of the year.

The glory and prizes you will score will take you straight to the heart of the startup epicenter.

The Challenge: Build Your Must-Have SXSW app

SXSW is a flurry of activity from Film, Music and Interactive to networking and parties, not to mention just getting there can be a journey in itself. For this developer contest, build your must-have SXSW app around any of the themes below:

  • The three official pillars of SXSW: Music, Film, Interactive
  • The two unofficial pillars of SXSW: parties and networking
  • Austin, Texas – where the wild west meets progressive innovation, this brilliant city is packed with delicious food and fun for everyone

Please include a video, screencast or trailer of your Twilio app with submission to show your hustle.

You Become the VIP

In addition to showering you with prizes, you should be able to enjoy the best events SXSW has to offer without the lines. You’ll be first in the door at every Twilio party with VIP access, plus hang with us during The Lean Startup event in partnership with SXSW.

The winner will receive:

  • A SXSW Interactive Badge
  • A super-swag set of Twilio gear including:
    • A Twilio messenger bag, Twilio track jacket, Twilio stickers, Twilio T-shirts and Twilio credit to get hacking
  • VIP access to all Twilio events at SXSW including:

**Winners must provide their own travel to and from Austin, TX. Twilio does not provide lodging during SXSW.

Contest Rules

  • Entries must be submitted by 11:59 PM PST Monday February 20th
  • Entries must use Twilio API
  • Entry must be accompanied by a video, screencast or trailer
  • Entry cannot be an app that has previously won a Twilio Developer Contest
  • Bonus points for submission to the Twilio App Gallery and Programmable Web

What’s This Developer Contest About?

Every two weeks, we encourage developers to build something awesome with a Twilio-powered contest.  As a language agnostic platform for cloud communications, we want developers of every shape, size and stripe to solve problems and grab a little glory using Twilio. To kickstart the creative process, we’ve run these developer contests for over a year.

How To Get Involved

Submissions are accepted via this handy-dandy form. If you need any help or want to bounce some ideas off of other Twilio coders, join us on our forums or just drop a note to help@twilio.com.

SXSW Developer Contest: Build an App for the SXSW DOer

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The deal will accelerate VoiceTrust's entry in the Canadian voice biometrics market.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


New patent covers call back disposition and re-evaluation in IVR-based customer care.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


February 07, 2012

Maybe I’ve been watching too many episodes of “Mob Wives,” but when a press release hit my desk about Mafia Voice, a text-to-voice generator promising that I can talk like Big Ang and the girls, I was intrigued. Well, not so intrigued that I wanted to pay for the software download—although my boss might find [...]

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


In the U.S. alone, there are approximately 78.2 million dog owners and 86.4 million cat owners.  Thirty-nine percent of U.S. households own at least one dog, and thirty-three percent own at least one cat.  Total pet industry expenditures for the year totaled 50.84 billion dollars for 2011, increasing about 2 billion dollars from the previous year, with a 2-3 billion dollar increase observable year over year.

But this relationship is certainly not all one-sided.  There are numerous proven health benefits associated with pet ownership.  Pets help to lower blood pressure with recent statistics released showing that people with hypertension showed lower blood pressure readings in stressful situations than those who did not own a pet.

Pets provide companionship, which can result in greater psychological stability, which is proven to protect from heart disease.  People with pets have been shown to make fewer doctor visits, and they help fight depression and loneliness also.

So what do these statistics demonstrate?  There a lot of people out there who love their pets, and a lot of pets out there who love their people.  As a pet owner myself (I have 5-month old kitten named Lily), I am well aware of all the benefits and rewards of having an animal companion.

Every so often however, the kitten seems to want to climb the drapes when I want to sleep, or thinks it is a good idea to explore high up cabinets instead of playing with her toys on the ground.  Trying to redirect an animal’s attention, especially a baby animal’s, is no easy feat.  Sometimes your puppy would rather chew your shoes than his rawhide.  We’ve all been there.

Enter technology.  Every day on this blog we write about the historic and life altering technologies that power our business and personal lives.  Luckily for our pets (and ourselves!), the benefits of technology are not only for humans.  Companies market everything from computerized identification tags to automatic doors and feeders, streamlining our pet’s lives as well as our own.

The other day I was perusing CNN Technology and stumbled upon something quite brilliant.  An iPad app made to entertain cats.  If you take a look at the video above, you can see several very pleased kittens happily playing with several iPad games designed just for them.

One enterprising developer authored three games meant to entertain and stimulate the world’s cats, and even allows their owners to gather statistics on their reflexes and intelligence.  The games are as you’d imagine (protecting cheese from mice, navigating a tomato around a bull’s eye), and the application comes equipped with a feature that shuffles between games to keep cat’s attention when signs of boredom appear.

Pretty nifty idea, right?  As long as you have a screen protector (to protect against sharp kitten claws), you can put your iPad to good use entertaining your pets in a safe and fun way.  As an indoor cat owner, this strikes me as a very innovative use of technology, and not only pleases me, but my pet

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


This is a series of blog posts that introduce and walk you through using the different .NET Helper Libraries that Twilio provides.

These libraries simplify using the Twilio REST API for .NET developers, and provide as set of utilities that make it easy to work with TwiML and Twilio Client. Take a look at part one, twothree and four of the series.

Twilio Client Helper, MVC Helper and WebMatrix Helper Libraries

In this post we’ll look at the other .NET helper libraries that you can use to integrate Twilio into your applications.  While in the last two posts we’ve looked at the two primary helper libraries which make it simple to use the Twilio REST API and to generate TwiML, there are three additional libraries that provide even more specialized help for .NET developers.

Twilio.Client

Twilio.Client makes it easy to add VoIP to your web, iOS and Android apps. With it, you can make and receive calls from the browser and mobile apps with a few lines of code.  The Twilio.Client.Capability helper library contains API’s that allow you to generate capability tokens to use with Twilio Client.  Capability tokens help secure the communication between your application and Twilio and allow you control access to various features of Twilio from Twilio.Client.  You can read more about Capability tokens here: http://www.twilio.com/docs/client/capability-tokens

To use the Twilio.Client.Capability helper library, add it as a project reference using NuGet:

Once you’ve added the reference you can create an instance of the TwilioCapability class, passing your accounts Account Sid and Auth Token into the constructor.  The instance of the TwilioCapability class exposes three methods, AllowClientIncoming, AllowClientOutgoing and GenerateToken.

The AllowClientIncoming and AllowClientOutgoing methods allow you to control whether or not the Twilio Client should accept incoming calls, or allow outgoing calls.

using Twilio;

var capability = new TwilioCapability(accountSid, authToken);
capability.AllowClientIncoming("jenny");
capability.AllowClientOutgoing(appSid);
string token = capability.GenerateToken();

Calling the GenerateToken method causes the TwilioClient class to generate an encoded token string that is used to sign the its communication between the browser and Twilio, and to tell Twilio which options have been set in the capability token.  Once you’ve generated the capability token you can inject this into the Twilio Client Javascript:

MVC Helper

The Twilio.MVC library includes a number of classes that are useful to developers using ASP.NET MVC.

The TwiMLResult class provides a simple way to return TwiML content from a Controller.  The class allows you to provide TwiML from a TwilioResponse object and will ensure that the Controllers HTTP response has its ContentType header is set correctly to application/xml.

To use the TwiMLResult class, create new instance, providing the TwiML to its constructor:

using Twilio;
using Twilio.TwiML;

public class PhoneController : Controller
{
public ActionResult Welcome()
{
var response = new TwilioResponse();
response.Say("Welcome Monkey");

return new TwiMLResult(response);
}
}

The TwilioController class extends the standard ASP.NET MVC Controller class with a single method named TwiML, which returns a new TwiMLResult.  Using this method provides a shortcut to manually creating the TwiMLResult instance.

To use the TwilioController, simply change the default Controller template to derive from TwilioController:

using Twilio;
using Twilio.TwiML;

public class PhoneController : TwilioController
{
public ActionResult Welcome()
{
var response = new TwilioResponse();
response.Say("Welcome Monkey");
return TwiML(response);
}

}

Finally, the ValidateRequestAttribute class allows you ensure that requests made to this controller are actually coming from Twilio.  To do this, simply mark the controller class or the Action method with this attribute, providing your AuthToken as an attribute parameter, and when requests arrive they will be verified that they are coming from Twilio using the Twilio security rules, which are defined here: http://www.twilio.com/docs/security

Below is an example of using the attribute on the controller class.   In this case a request to any action in the controller will be validated prior to the action method executing:

using Twilio;
using Twilio.TwiML;

[ValidateRequest("AUTHTOKENXXXXXXXXXXXXXXX")]
public class PhoneController : TwilioController
{
public ActionResult LookupCaller(string From, string To, string CallSid)
{
var response = new TwilioResponse();

var caller = Caller.Locate(From);
if (caller == null)
{
response.Say("Sorry.  We don't recognize you.");
}
else
{
response.Say("Welcome back Monkey");
}
return TwiML(response);
}
}

Also, as mentioned above, instead of an entire controller, you can mark specific action methods within a controller with the validation attribute:

using Twilio;
using Twilio.TwiML;
using Twilio.TwiML.Mvc;

public class PhoneController : TwilioController
{
[ValidateRequest("AUTHTOKENXXXXXXXXXXXXXXXXXXX")]
public ActionResult LookupCaller(string From, string To, string CallSid)
{
...
}
}

WebMatrix Helper

Finally, Twilio publishes a helper library that contains several a WebMatrix Helper that developers using the new WebMatrix development environment can use.   The Helper library contains methods for easily sending SMS messages or initiating outbound calls.  Below is an example of using the Helper to sending an SMS message using the C#/Razor syntax:

@using Twilio.WebMatrix;
@{
if (IsPost) {
Twilio.AccountSid="ACXXXXXXXXXXXXXXXXXXXXXXXXXX";
Twilio.AuthToken = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Twilio.SendSms("+1XXXXXXXXXX""+1YYYYYYYYYY", Request["body"], "");
}
}

<h2>Send a SMS Message:</h2>

<form action="index.cshtml" method="post">
<label for="body">Message: </label><input type="text" name="body" /><br />
<input type="submit" value="Send" />
</form>

Over the last several posts we have looked at all of the helper libraries, in the next post we will look at how you can create an application that uses these helper libraries to create multi-step flows for both SMS message conversations and voice call conversations.

Read more of the .NET series:
Twilio for .NET Developers Part 1: Introducing the Helper Libraries
Twilio for .NET Developers Part 2: Adding Twilio Helper Libraries to your Project
Twilio for .NET Developers Part 3: Using the Twilio REST API Helper Library
Twilio for .NET Developers Part 4: Using the Twilio.TwiML Helper Library

This series is written by Twilio Developer Evangelist Devin Rader. As a co-founder of the St. Louis .NET User Group, a current board member of the Central New Jersey .NET User Group and a former INETA board member, he’s an active supporter of the .NET developer community. He’s also the co-author or technical editor of numerous books on .NET including Wrox’s Professional Silverlight 4 and Wrox’s Professional ASP.NET 4. Follow Devin on Twitter @devinrader

Twilio for .NET Developers Part 5: Twilio Client, MVC and WebMatrix Helper Libraries

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


In the last six years, Super Bowl ads have risen in cost by over a million dollars per 30-second ad.

According to Nielsen, which provided the data for the chart above, Super Bowl ads went from about $2.3 million in 2007 to $3.1 million in 2011. According to ESPN, the ads for Sunday’s game cost an average of about $3.5 million per 30-second spot. That’s an amazing rise just in the last few years.

Some other interesting stats about America’s favorite sporting event, according to the Los Angeles Times:

Americans spent $10.8 billion on beer for the game. There were 12,233 tweets per second towards the end of the game. Twelve percent of Americans took Monday off, either via vacation day or “sick day.” Traffic to the Fiat 500 Abarth website increased by 138 percent during the game (after the ad with supermodel Natasha Poly—go figure).

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Voxeo is excited to announce a partnership that will bring more sophisticated solutions to address customer care and communication challenges for banks, credit unions and other financial institutions. Waterfield Technologies – a leader in customer service solutions for the banking industry  – is joining Voxeo as a Voxeo Connect Certified Partner, combining Waterfield’s deep expertise in building solutions for financial institutions that increase customer retention, customer loyalty and engagement with Voxeo’s proven, carrier-grade platform that optimizes communications across IVR (interactive voice response), text, mobile and social channels.

The benefits of this offering are concentrated in five key areas:

  • Customer experience: When institutions combine industry best practices with the latest technology, the quality of customer experience goes up while costs go down. This is particularly true for institutions which have not upgraded their financial IVR channels in many years. Waterfield and Voxeo provide a solution that dynamically adapts to customer communication preferences, streamlines common requests and reduces transfers to a representative, and unifies customer experiences across channels like voice, text, chat and mobile apps (both iOS and Android).
  • Proactive customer care: With outbound IVR and SMS, your system can provide useful notifications to customers – such as payment reminders, and low balance alerts. Integrate with your current business-intelligence software and power personalized up-sell and cross-sell offers.
  • Integrated business intelligence: Use built-in, powerful analytics to eliminate IVR bottlenecks that create customer frustration, understand customer behaviors and identify opportunities – yielding an overall improvement in service experience for customers and internal stakeholders.
  • Self-service administration: With a system built on web standards, existing IT staff can make routine changes and updates as business needs change and customer communication preferences evolve, giving you more flexibility and control.
  • Simplified security and compliance: Voxeo and Waterfield have created a system that is 100% standards-based and certified compliant, which supports two-factor authentication and in-queue PIN validation. This ensures the security of your automated customer interactions.

The banking and financial services landscape has undergone a seismic change in recent years, with mergers, acquisitions and other factors that encourage customer mobility – is your customer service keeping up with your customers’ needs?

Learn more and read our whitepaper, “Slashing Costs and Improving Customer Care in Financial Institutions” at www.voxeo.com/waterfield.

©2012 Voxeo Talks. All Rights Reserved.

.

Related posts:

  1. Voxeo partners with ICR to provide automated multi-channel customer interaction in the UK
  2. Voxeo partners with Remego to unlock contact centers in APAC Region

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Deal includes further development of Tellme speech recognition software; 24/7 also confirms its acquisition of Voxify.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The joint solution focuses on customer retention, competitive positioning, and profitability for banks and credit unions.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


New VoxPilot provides instant visibility and push-button control.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The company's message alert system can now be integrated into new and existing Web applications.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


iFood Assistant 4.0 lets users create grocery lists, recipes.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


February 06, 2012

Last week I wrote comprehensively on the topic of speech recognition, detailing both how it pertains to interactive voice response and its greater technological capabilities overall.  In fact, I lauded Siri as the probable future for all voice response technology, and noted the vast amount of funding and research went into its development.

The technology that powers Siri is truly groundbreaking, and is currently unmatched by any other speech recognition and processing tools available.  This is not to say, however, that Siri is foolproof.

Yesterday as I was driving along, I heard a piece on the program All Things Considered on NPR.   The station did a story on Siri’s ability to understand people speaking a Siri-recognized language (which as it stands is exclusively English, German, or French).

The results were quite amusing, and demonstrated some of the potential challenges that the global market presents to the software.  NPR asked Neil McIntosh, a native of Scotland who has lived in the US for the better part of 14 years, to test out Siri’s functionality when presented with accented English.

Siri was able to identify about half of the questions it was being asked correctly, but some of the resulting misunderstandings were very entertaining.  Here is an excerpt from a transcript of the conversation (please keep in mind that McIntosh is speaking in a Scottish accent.  You can hear it for yourself here:

MCINTOSH: Remind me to call the vet.

COMPUTER VOICE: I don’t know what you mean by, I need powders.

The Scottish accent wasn’t the only speech that Siri had a difficult time identifying.  It was hard for Siri to understand individuals who spoke in Scottish English, but also in Boston and Japanese accents as well.

It is worth noting that Siri comes equipped with an option for specifying geographical location, with the user having the ability to select from various options.  When switched toe the United Kingdom setting however, Siri was even less effective than under American English.

Per Apple’s website: “ Since every language has its own accents and dialects, the accuracy rate will be higher for native speakers.”  So does Siri not consider English spoken in a Scottish accent English then?

It is of course a bit more complicated than that.  For Siri to be able to understand and acclimate itself to various local, national, and international accents, it would have to be able to be operate on a regional basis.

Per NPR, regional accents can vary by even 30 or 40 miles, so the likelihood of Siri being adapted and tailored on a geographical basis is improbable if not impossible.  With Apple, however, I think many of us have been pleasantly surprised to learn that the sky is the limit, and this could be the latest and greatest step they take in their speech recognition research and development.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


It’s a coincidence that I work for a company that makes IVR software and an IVR is one of my best friends during the ski season, but it’s true.

The I-70 corridor from Denver to the ski resorts west of the city is a nightmare on winter weekends. Thousands and thousands of skiers and snowboarders clog the route every Saturday and Sunday.

I-70 was built in 1961, way before everyone and their dog (including me) moved here from all over the country to live the mountain lifestyle. It’s mostly a two-lane highway on either side that winds up into and over the Rockies.

Now when I say ‘winds,’ I’m not kidding. The road is winding. And up and down. From Denver at a mile in elevation it goes up to Vail Pass at 10,662 feet. It also cuts through Loveland Pass with the Eisenhower Tunnel (the longest mountain tunnel in the Interstate Highway System) at 11,158 feet. It’s an engineering marvel, for sure.

But here’s the typical scenario:

Traffic is so heavy on the weekends that you should be on the road by 6 a.m. or earlier from Denver. At about 7 a.m., traffic starts building on Floyd Hill, the first big pitch up.

If you get caught, you can end up crawling over Floyd Hill. Then you can hit periods of slow to stopped traffic all the way to the resorts—Winter Park/Mary Jane, Loveland, Arapahoe Basin, Keystone, Copper, Vail, Beaver Creek, in that order.

On the way home, it’s the same deal. Either you leave the resorts by around 3 p.m. or you get stuck in the 4 p.m. to 6 p.m. “Death Zone” and you can have the same slow drive home you had on the way up.

And that’s without bad weather or accidents (which go hand in hand). While Denver sits on what’s basically a high altitude desert with very little precipitation (300 days of sun a year), the mountains are dramatically different. They’re high and cold, and they get a good amount of precipitation.

Which means wet, snowy, icy roads in the winter. On a fast, winding highway. It’s not a good combination. It can literally take four or five hours to get home sometimes—not exaggerating.

The only way to avoid that is by keeping tabs on the traffic. And the only way to do that while driving is by calling the Colorado Department of Transportation’s IVR system, which provides hourly updates if traffic is normal and more frequent updates when there’s an accident.

Like I said, it’s one of my best friends during the ski season. I have it on speed dial in my phone. Again, not joking.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Hosted IVR is generating a ton of buzz these days because it's one of the fastest growing segments of the contact center hosting market. In North America alone, enterprises spent $606 million on hosted IVR in 2010, according to Frost & Sullivan. Come 2017, they'll spend $1.08 billion. But what really matters is what's behind those growth numbers - why is this area so hot and why enterprises are making the move to hosting. Not surprisingly, it's all about driving improvements in...(read more)

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Anne Bowman, the company's new chief customer officer, obsesses about customers.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Voicemail-to-text added to cell provider services.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


February 03, 2012

Sometimes you find yourself in a meeting that you can’t escape from, or perhaps a date that just isn’t going the right direction.

Developer and DOer Abir Majumdar used this dilemma, along with a desire to explore Twilio with Ruby on Rails, as an inspiration to build The OutCall. This crafty web app lets you schedule an incoming call to your phone so you can excuse yourself from any current inescapable situation.

Building The OutCall

When using The OutCall, you can plug in your number and set a time via the Twilio Client web interface or on your mobile phone by sending an SMS message. The OutCall is built using Ruby on Rails and hosted on Heroku. Majumdar uses IronWorker by Iron.io to schedule the call, for styling Twitter Bootstrap, and he used fonts from TypeKit. He also used a Ruby gem called Chronic for the Natural Language date parsing.

More About This Doer

Abir Majumdar has lived and worked in San Francisco for over 11 years. He’s worked as a developer, sales engineer, and product manager at Sharethrough, SAY Media, and Rovi. His interests include listening to and sharing music, going to shows, remembering pop culture minutiae, traveling, technology, dive bars, and ponies. Follow him on Twitter @beersy and on Tumblr.

DOers in Action: The OutCall Gives you an Escape from Bad Meetings

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Watch a few seconds of the video above (if you can keep it to only a few seconds, actually—it’s mesmerizing)…

That video is U2 in a Pop On the Box appearance in 1979, and it’s…well, you can judge for yourself…. And looking at the Bono in that video, somehow I can see him as the guy who invested in Facebook, not the guy from the Sunday Bloody Sunday video.

Actually, it reminds me of Will Ferrell’s character in Zoolander—designer Jacobim Mugatu, formerly Jacob Moogberg of Frankie Goes to Hollywood before Relax fame, who invents the piano keyboard tie, makes it rich off it and then goes on to become a well-known fashion designer. But anyway…

Through his investment company Elevation Partners (which he co-founded, according to the Belfast Telegraph), Bono owns 1.5% of Facebook’s shares, which is valued at about $750 million at the moment—enough to make him a billionaire (or at least his investment firm) when the social media giant goes public, which is imminent.

Again, please don’t take this the wrong way U2 fans, but it’s just a little surprising. No, not the Pop On the Box video, which is more than a little surprising…the fact that Bono is gonna be one of the new Facebook billionaires.

But it’s true. Facebook is looking to raise about $5 billion with its IPO, which would be the biggest initial public sale of stock for a web company in history, according to the Washington Post. Experts are estimating that Facebook’s IPO could raise the overall value of the company up to somewhere between $75 billion and $100 billion.

According to the Belfast Telegraph, it will certainly raise the value of Elevation Partners’ shares to over $1 billion. Which will earn more for Bono than U2 has earned in the 30-plus years of their existence.

Well, it seems Bono the Rebel has done well for himself, doesn’t it?

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Watch a few seconds of the video above…

That video was U2 Live at Red Rocks in June 1983, and it shows Bono in perhaps one of his most iconic moments.

Everybody knows Bono, but how many people know that Bono is a savvy investor? Yep. The kid from Dublin, Ireland, who made his name as an outspoken rock star is also a big player in the market.

Don’t take this the wrong way U2 and Bono fans (I grew up with them too), but it strikes me as a little odd that Bono could possibly become a billionaire from his investments in Facebook when the tech giant goes public.

I really don’t mean this as a knock—he’s got money and he needs to put it somewhere, so he invests, which I understand—but it strikes me as a little…incongruent I guess could be the right word.

“This song is not a rebel song,” he said. “This song is Sunday Bloody Sunday.”

But it was a rebel song. Bono was then and still is one of the most politically outspoken rock stars on the planet (among a whole bevvy of politically outspoken rock stars).

Sunday Bloody Sunday wasn’t a rebel song in the sense that he was choosing a side in the Irish troubles, it was a rebel song in that he was effectively denouncing generations of Irish who had fought tooth and nail against British occupation and were still fighting. It was a rebellious statement against his own countrymen.

The song was supposedly written about Bloody Sunday—January 30, 1972, when 26 unarmed civil-rights protestors were shot by the British Army near Derry in Northern Ireland.

Also known as the Bogside Massacre, it’s a notorious date in Irish history, along with the other Bloody Sunday—November 21, 1920, when 31 people died (14 British and 17 Irish) during the Irish War of Independence.

The Bogside Massacre is more notorious to the Irish, however. Among the 26 total killed, the British Army gunned down seven teenagers, ran down two protestors in vehicles and also shot five protestors in the back, according to Wikipedia.

Bono’s lyrics in Sunday Bloody Sunday were about both sides laying down their arms. It was a bold statement—a rebellious one—during a time when the fight for Northern Ireland was still costing lives on both sides.

Stay tuned for the follow-up, Facebook: Bono as Investor

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


I’m a hacker. So when I was invited to mentor at Lean Startup Machine, let alone two of them in a row, I was a bit taken aback. The Lean Startup concept is a metrics-driven process that allows founders to test their ideas against reality. What could I, a hack-jitsu master, learn from a bunch of business development people touting their membership in this growing Lean cult? A lot, it turns out.

I always had a basic conception of what the “lean” methodology was, but I never thought it would be useful to me as someone who built real, working prototypes. As I began to work with the teams and the other mentors at Lean Startup Machine, I came to a realization that iterating on your product strategy was as important, if not more than, iterating on your product itself. In fact, through mentoring these teams and working with them through the lean process, I shared in a very minor part of their iterative process and learned a lot about my own product development mindset as well.

Traffic is Easy, Buy In is Harder

Crowd Jewel was the winning team from Lean Startup Machine Palo Alto. Their pitch can be summed up as “Threadless for jewelry” – a place where designers can submit jewelry designs, the community votes on their favorites, and then Crowd Jewel produces and sells the winning items. Over the course of the weekend, they discovered (through the use of spam, fake postings, and ads – AKA “hustle”) that designers were not only willing to post their designs, but would naturally drive traffic to Crowd Jewel’s makeshift app. The traffic worked, with more than 500 votes being submitted in a matter of hours, leaving the team time to funnel some sales to the winning jewelry designer’s Etsy store.

Though this test worked, it didn’t quite follow through to the end. When Crowd Jewel approached jewelry designers with their proposal to produce and sell the jewelry for them, they were met with mixed results. Designers, concerned about quality and overproduction, were not sold on the idea of outsourcing production by the end of the weekend. The team is still hard at work experimenting with different production methods to find the most realistic and valuable approach before even writing code.

Users Ready Even With Risk

In Chicago, the snowy Machine was won by SkinClick, an app concept to let people take photos of skin problems on their phone and submit them directly to dermatologists for review. The team ventured out into the wilderness of downtown Chicago, interviewing potential customers about their problems with skin care. They found a high number of people with skincare problems and people who were willing to send share via a mobile device. In fact, ready or not, the team received MMS messages of skin rashes from potential customers. Though SkinClick was very successful in this regard, they ran into some problems on the other end of the equation. Doctors had concern with the picture quality from cell phones, especially with the risk of making an incorrect diagnosis and the professional implications that comes with that. SkinClick did receive Letters of Intent from doctors interested in the product, though the team says they focused on working out the bugs in their strategy first.

These teams were able to make some significant advancements in their business strategy and even their product design, before even building a product. In a mere 48 hours and with essentially zero dollars spent, they are now better poised and more prepared to build their products, with continuous and focused customer input.

Congratulations all, and thanks to Trevor, Ryan, Jenifer, Grace, and my fellow mentors for organizing this awesomely educational event! Lean Startup Machine may be coming to your city next, visit the site for more details.

Feel free to contact me at any time to tell me about your awesome hacks at jonmarkgo@twilio.com or @jonmarkgo on Twitter.

Founders Get Lean at Lean Startup Machine

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Earlier this year, at the Random Hacks of Kindness hackathon in Philadelphia, one team of hacker-activists (Katey Metzroth, Danny Chang and Tim Wisniewski) decided to address the challenge of helping low income Philadelphians find fresh produce in their communities.

The app they developed – PhillySNAP – makes use of the SMSified API to let people find SNAP retailers in their neighborhoods.

This innovative app was honored yesterday by FCC Chairman Julius Genachowski as a winner in the Apps for Communities Challenge

A video overview of the PhillySNAP service can be seen below.

PhillySNAP from Deng-Shun Chang on Vimeo.

In addition, the team worked with the Philadelphia Department of Health and the Food Trust to disseminate information on the program to needy Philadelphians. Some of the Food Trust’s literature featuring PhillySNAP can be seen below.

Congratulations to the entire PhillySNAP team on a job well done!

PhillySNAP Sticker

PhillySNAP Sticker

©2011 SMSified. All Rights Reserved.

.

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Tim Panton, one of the Senior Developers on our Phono project at Voxeo Labs, has prepared a how-to video to demonstrate building a mobile voice conferencing application on iOS. In this video, Tim uses PhonoSDK 0.3, PhonoGap 1.1, and XCode.

If you are not familiar with our Phono Mobile SDK, it is an extension of Phono that lets you run your existing browser-based PhonoSDK applications on iOS and Android devices as native applications using the PhoneGap mobile platform.

In addition to running VoIP, SIP-based Voice communications on iOS (iPhone, iPad, and iPod Touch) and Android devices, Phono also supports XMPP-based Instant Messaing via a simple jQuery-based developer SDK.

Here’s the video. Enjoy!

©2011 The Phono Blog. All Rights Reserved.

.

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Phono Version 0.3 now supports Java Applets in addition to Flash!  Our Java Applet has even lower latency on VoIP calls which is perfect for enterprise call centers or controlled environments that want HD audio / Wideband call performance with very low latency measured in milliseconds.

Note: For most consumer-facing sites, we still recommend using Flash due to its more pervasive deployment base.

If you would prefer to use our Java Applet on the desktop, we have provided a new audio property on Phono and a Java Applet availability detector. It sets the desired audio client to engage on the web browser or mobile device. Valid options include: auto, flash, java, and none.  This property is optional and is defaulted to auto which means:

  • if on desktop, flash
  • if on android, android
  • if on ios, ios

We have provided a handy Java detection utility that can used like so.  Note: If Java is not detected, Phono will fallback to Flash.

$(document).ready(function(){
var audioType = 'auto';
if (navigator.javaEnabled()) {
    audioType = 'java';
}

Once you have determined if Java is installed on the your client, you can now set the audio property when initializing Phono in your jQuery script like so:

var phono = $.phono({
  apiKey: "YOUR_KEY_GOES_HERE",
  audio: {type:audioType},
  onReady: function(event) {
   // stuff
 }
});

Note: If you are running MacOS Lion, you may need to follow these instructions for getting Java applets to automatically load in your web browser.

©2011 The Phono Blog. All Rights Reserved.

.

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


PhonoSDK version 0.1 was released in October 2010 at the jQuery Conference in Boston. In March of 2011, PhonoSDK version 0.2 was released with support for better echo suppression so that headphones were no longer necessary. In July 2011 we released Phono Mobile allowing web developers to build and deploy native iOS and Android apps based on PhonoSDK.

Today Voxeo Labs is releasing PhonoSDK version 0.3! This is a major step forward in our commitment this opensource JavaScript Phone API project. Here is a list of new features supported in version 0.3:

  • Java Applet version of Phono is now included in the SDK! This version has even lower latency than our current Flash-based version of the SDK making this solution perfect for enterprise call centers and companies/individuals who prefer to use Java applets over Flash.
  • HTTPS support for secured signaling on the network.
  • HD Audio (wideband) support for Phono-to-Phono and Phono-to-SIP clients and SIP-to-Phono connections for VoIP calling.
  • Improved latency with updated Flash version of PhonoSDK.
  • Phono Mobile support for PhoneGap 1.1 (with support for 1.2 coming shortly).

Upgrading from PhonoSDK 0.2 to 0.3 is easy.  Simply change 0.2 to 0.3 in your jquery.phono.js URL path like this:

http://s.phono.com/releases/0.3/jquery.phono.js

Stay tuned for more blog posts demonstrating unique features of our latest version of PhonoSDK!

©2011 The Phono Blog. All Rights Reserved.

.

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


We are excited to feature PalmLing on this week’s Tropo Customer Spotlight! Today I sat down with Ryan Frankel, one of the co-founders of PalmLing, to discuss their new business and learn more about how they are using Tropo and Phono for their human translation services.

What is PalmLing?

PalmLing is human translation in the palm of your hand. PalmLing is a phone-based platform that enables travelers to use their cell phones to speak with exceptional translators. Translators are available 24/7 and can speak directly to the person with whom you are communicating, or they can provide the information you need to communicate in a foreign language.

PalmLing uses Tropo’s Voice APIs and platform to answer international calls and initiate conferences between callers and translators to provide their service. PalmLing also uses Phono, Tropo’s web phone, to demo their translation service directly from their website. Phono basically initiates a call from the web browser into their Tropo voice application just as if someone dialed their phone number.

To learn more about PalmLing, visit their website at http://palmling.com!

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. Customer Spotlight: FetchNotes
  2. Customer Spotlight: Speak2Leads
  3. Customer Spotlight: Radish Systems

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Tropo is excited to partner with Apigee on the Tropo API Explorer! The API Explorer allows more developers to explore, learn, and test Tropo’s cloud communications APIs faster than ever before.

Tropo provides an API and cloud communications platform for building powerful Voice applications with speech recognition and text-to-speech in 24 languages, call recording, conferencing, SIP/VoIP, and phone numbers in 41 countries. Tropo also provides international SMS services.

The API Explorer makes this integration easier, helping developers authenticate and test our API in seconds, view the full surface area of an API, view request/response pairs in only a few clicks and share what they are seeing with others.

Now you can use the Apigee API explorer to experiment with our REST API without writing a single line of code! It is built with Apigee To-Go, a free product to let users build, skin and embed their own API Console. The Tropo API Explorer is embedded below or you can jump to this full screen version.

©2012 The Tropo Blog. All Rights Reserved.

.

No related posts.

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Join us Friday January 27th for our Tropo Drinkup in San Francisco at our SOMA headquarters office and enjoy some complimentary drinks while entertained by future rockstars letting loose on our piano and guitars.

We like to get our happy hours on early so be ready to break some New Year’s resolutions with us at 3:58pm.  Yep, 3:58pm.  Because two minutes can make the world of a difference for your weekend.

End your work week early and shimmy by the Tropo office for some beers, bites and a lil’ rock jam session if you are so inclined.

Tropo Drinkup San Francisco

When: Friday January 27th

Where: 28 2nd Street 3rd Floor San Francisco, CA 94123

Time: 3:58pm- 6:00pm

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. Palo Alto Startup Drinkup Wednesday 1/12
  2. South Beach Startup Drinkup Tonight!
  3. Philadelphia Startup Drinkup

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Tropo loves startups. Why? Because entrepreneurs always think of new and innovative ways to use Tropo that we’ve never even dreamed. Since we launched Tropo in 2009, we’ve helped thousands of developers and entrepreneurs build apps, demo them, pitch them, get investment and launch into full businesses. In fact, pretty much everyone behind Tropo from the engineers to evangelists…even our newest community manager…have come from startups of our own. It’s part of our DNA.

That’s why we’re extremely pleased to announce that Tropo is partnering with Newspepper, TheNextWeb, i/o Ventures, Startup Bus, Startup America (and a whole lot more!) to launch Startup World!

Startup World is a global competition to find the next big thing. The competition will be held in 36 cities world-wide, with the regional winners flying to Silicon Valley for a grand showdown to battle it out in front of a panel of expert judges to be crowned the “world’s best startup”.

We’ll be kicking off Startup World at a Launch Party at i/o Ventures in San Francisco on Tuesday Jan 24th 2012.   Come join us for the fun and some awesome speakers including Sarah Lacy!

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. Tropo joins Google, Microsoft, Yahoo!, NASA & The World Bank for Random Hacks of Kindness
  2. Tropo Sponsors Startup Weekend Phoenix!
  3. Pitching to Win at Philly Startup Weekend

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Have you heard about Phono, our open source Javascript Phone API project?

Phono is a free HTML5 jQuery-based web phone that you can add to any web page to place or receive open SIP-based VoIP calls to/from any web browser (or iOS/Android mobile device using Phono Mobile)!

Phono can be connected to Tropo to place or receive phone calls to/from real telephone numbers! Phono can also interact with Tropo voice applications directly from a web page using Tropo’s speech recognition and text-to-speech in 24 languages as well as record and play media such as WAV or MP3 files or conduct conference calls, call transfers, call recording, etc.

To make things even better, Phono and Tropo both support SIP headers which are basically key/value pairs of data that you can sent along with calls. SIP headers are very common in call center applications and enterprise screen-pop implementations. Using SIP headers allows Phono to place a call into a Tropo application and pass along data instructing Tropo to transfer the call to another telephone number. This is how all of the click-to-call demo applications work on phono.com. These demo applications are also limited to 10 minutes in length so that you can experience the quality of a Phono call and write your own Tropo application for longer calls.

Because we have had a few questions lately on this topic, I wanted to provide some sample code for both Phono and Tropo to make this easier for you to apply to your application. This demo application allows you to enter a phone number on a web page and call it using Phono and Tropo. The web page has a simple form that asks for a phone number and has a call button that initiates a SIP VoIP call to Tropo app:9996182316. Reviewing the Phono code below, you will find that it uses jQuery to pass the phone number value in the textbox to Tropo as a SIP header.

<html>
  <head>
    <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script>
    <script src="http://s.phono.com/releases/0.3/jquery.phono.js"></script>
  </head>
  <body>
	<input id="phonenumber" type="text">
    <input id="call" type="button" disabled="true" value="Loading..." />
    <span id="status"></span>
    <script>
    $(document).ready(function(){
      var phono = $.phono({
        apiKey: "your secret key",
        onReady: function() {
          $("#call").attr("disabled", false).val("Call");
        }
      });

      $("#call").click(function() {
        $("#call").attr("disabled", true).val("Busy");
        phono.phone.dial("app:9996182316", {
		  	headers: [
			             {
			               name:"x-numbertodial",
			               value:$('#phonenumber').val()
			             }
			           ],
          onRing: function() {
            $("#status").html("Ringing");
          },
          onAnswer: function() {
            $("#status").html("Answered");
          },
          onHangup: function() {
            $("#call").attr("disabled", false).val("Call");
            $("#status").html("Hungup");
          }
        });
      });
    })
    </script>
  </body>
</html>

You could write a Tropo transfer application using the Scripting API in one line of Ruby code that transfers the call to the phone number in the SIP header like this:

transfer $currentCall.getHeader("x-numbertodial")

What if you wanted to add a timer that ends the call after 10 minutes like we do on phono.com for demo purposes? This feature is also simple but it requires multithreading your Ruby application and using our REST API for sending a signal to interrupt the transfer method once your timer reaches its alarm.

require "net/http"

# Create second thread for timer and announcements
Thread.new do
  sleep 600 # Note: Sleep is in seconds so 600 = 10 minutes

  http = Net::HTTP.new "api.tropo.com"

  request = Net::HTTP::Get.new "/1.0/sessions/#{$currentCall.sessionId}/signals?action=signal&value=limitreached"
  response = http.request request
end

say "hold please while we transfer your call."
transfer $currentCall.getHeader("x-numbertodial"), :allowsignals => "limitreached"
say "your limit has been reached."

That’s cool but what if you wanted to block certain phone numbers or limit the demo calls to North America? You could add area codes or phone numbers to a regex array and check the desired phone number against the list of regexes to see if you should allow the call to transfer or not like this example:

phone = $currentCall.getHeader "x-numbertodial"

# Blocked North American area codes
blocked = [
  /^\+?1?8[024]9/,
  /^\+?1?26[48]/,
  /^\+?1?24[26]/,
  /^\+?1?34[05]/,
  /^\+?1?[62]84/,
  /^\+?1?67[10]/,
  /^\+?1?78[47]/,
  /^\+?1?8[024]9/,
  /^\+?1?86[89]/,
  /^\+?1?441/,
  /^\+?1?473/,
  /^\+?1?664/,
  /^\+?1?649/,
  /^\+?1?721/,
  /^\+?1?758/,
  /^\+?1?767/,
  /^\+?1?876/,
  /^\+?1?939/
]

block_call = blocked.any? { |x| phone =~ x }

You could add this code immediately above your transfer and add a conditional statement that says something like this example:

if block_call
  say "calls to this area code are blocked."
else
  say "hold please while we transfer your call."
  transfer phone, :allowsignals => "limitreached"
  say "your limit has been reached."
end

You could also add billing functionality to the Tropo script by applying a rate based on country code and multiply it times the number of seconds that the call was in progress. To accomplish this goal, you would add a timestamp at the beginning of the script and a timestamp directly following the transfer method. When either party hangs up, the Tropo script will continue running with the line immediately following the blocked method such as transfer in this case.

If necessary, you could also check to see if the Phono caller is still on the call by interrogating the $currentCall.isActive property or by wrapping your entire application in a while loop like this example:

while $currentCall.isActive
  # Do Stuff
end

I think that should get you started! You can now build your next-generation click-to-call application using Phono and Tropo! Please let us know how you are using Phono with your Tropo applications :)

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. 2 Lines of Code To Enable Calling 1 Phone Number And Ringing Multiple Phone Numbers (like Google Voice)
  2. How to Build a VoIP-Based Baby Monitor
  3. Dial Multiple Phone and SIP Numbers & First to Answer Wins

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


As Tropo evolves, we continue to evaluate our product features and make changes to improve the overall experience of using Tropo. Often, this means we add a feature or improve an existing one. Sometimes, this means removing a feature.

Tropo will be deprecating two features at the end of this month.

  • Instant Messaging and Twitter – Sending instant messages to your application was a fun idea and we used this a lot internally to test text applications, but shifting network protocols and uncooperative IM services meant we spent a lot of effort on the feature for very little positive result. We will be disabling the ability to add new IM networks shortly, and turning off the IM servers on January 28. Read more about this change here.
  • Skype numbers – Providing each application a Skype number allowed developers to test incoming calls to their applications. Unlike all of our other phone numbers and VoIP access, this was one-way: you could not call out with Skype. The Microsoft acquisition of Skype has left even this limited support with an uncertain future. You can continue to test your applications with SIP, phone numbers, or Phono. We’ve even embedded Phono so you can dial your applications with one click. Read more about this change here.

Changing and shaping the future of communications takes a lot of focus, and sometimes requires us to reassess the past. We’ve learned a lot from our Skype and IM support, and will put that knowledge to work in creating more great things in the future.

Deprecating these features is the first step in allowing us to focus on things that our users truly want. Look for a lot of great things coming from Tropo in the coming weeks and months.

Stay tuned!

©2012 The Tropo Blog. All Rights Reserved.

.

Related posts:

  1. Handling regular users vs casual users via the text channel
  2. Voxeo announces COBOL support for Tropo.com voice app platform
  3. How to Add Twitter Support to a Tropo.com App – Step by Step

©2012 Voxeo Labs. All Rights Reserved.

.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Voxeo will be exhibiting at Enterprise Connect 2012, at booth 1143, and we want to see you there! The Enterprise Connect Conference + Expo runs from March 26-29, 2012, at the Gaylord Palms Convention Center in sunny Orlando, Florida, and addresses all of the technology trends that shape collaboration and communications.

The conference has over 50 sessions and a variety of Keynote and General Sessions hosted by industry thought leaders, covering a full range of applications surrounding these key themes:

  • Cloud-based Communications Services and Systems
  • Managing and Securing Converged Networks
  • Mobility
  • SIP Trunking
  • Social Apps and Networks
  • Strategies for Communications and Collaboration
  • Unified Communications
  • Video

Interested in joining us? Take advantage of this promotional offer: Save 35% off the on-site price for the Entire Event and 3-Day Conference Packages or register for a Free Expo Pass with Priority Code CPHVVR278.

We hope to see you there! If you’ll be at Enterprise Connect and would like to set up a meeting or take a tour of our office, contact Samantha Seidman at sseidman@voxeo.com.


©2012 Voxeo Talks. All Rights Reserved.

.

Related posts:

  1. Join Voxeo at Enterprise Connect to Learn About SIP, Open Source
  2. Voxeo’s Dan York to speak at Enterprise 2.0 Conf June 24 in Boston
  3. MicroMessenger: The First Voxeo Connect Certified Partner Application

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


February 02, 2012

After writing several blog posts about Google lately for allowing criminals to advertise on their website, scraping competitor’s databases and violating the company’s own rules about advertising, I thought I’d take a break from Google for a while.

Then I read that Google is beefing up security for Android to prevent malware from getting into the market. Okay. You’d think I’d have some nice things to say about that, but unfortunately (as an Android user) it just annoyed me.

It’s not that I’m against them beefing up security—I’m all for it—I’m just a little exasperated with how Google has run Android in general. And I’m exasperated how it has affected me personally as an Android user.

I’ve written several posts on the problems I’ve had with Android over the last year and a half or so. Just me personally, I’ve experienced so many niggly little problems (and am still experiencing, honestly—it seems like something new every day) that I’m pretty fed up.

Basically, the Android Market is a mess, in my opinion. The apps just don’t work well with the phones, not the way they’re supposed to. And the problem comes down to a fragmented Android ecosystem with no centralized (i.e., Google) control.

To me, the way Google runs the Android Market has always been bush league. In a nutshell, they don’t run the market, they just let it try to run itself like a bunch of teenagers whose parents have left the country.

So now Google has created Bouncer, a program that will scan apps before they’re offered on the Android Market. Well, all I can say to that is—how come this wasn’t the case all along?

According to Forbes, Google’s approach to security on this has been reactive instead of proactive, which I totally agree with.

Google allows apps to “download and execute new code,” which is a problem because malware can hide in the new code. They don’t prescreen the app developers they allow to post to the Android Market—they do a real-time scan as the app is uploaded.

The iPhone app market is so much more secure than the Android Market. And while I’m all for beefed up security and will give Google props for taking this new security step, I just can’t help being annoyed. And you know what else I can’t? I can’t wait to get an iPhone.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


A couple weeks ago, we rang our DOing bell loudly, inviting our developer community to write new apps that assist with the ever elusive, always reclusive nirvana called productivity.  Now nearly 1/12th into 2012 we were looking for hacks that checked items off the list, cleaned the plates, cleared the lines, swabbed the decks, and took those resolutions into this new year head on.

As ever, the DOers brought the thunder, with one crashing into 2012 louder than the rest.

SMS for Instant Trello Updates

Richard Kolkovich rocked an awesome SMS integration for everyone’s new favorite productivity tool Trello.  With a quick signup process, verify your number via Twilio to organizational tool Trello. After that, start texting your To Dos directly to Trello so you can cross them off your list even sooner. Hop on over to http://twellio.labs.sigil.org to get started.

More About this DOer

Richard is a Java developer at a startup, focused on scalability in a highly-collaborative app. As of late, I’ve been learning various technologies (including Twilio) and starting down the road of the micropreneur. Follow Richard on Twitter @sarumont and read his blog at http://www.sigil.org/.

You’re Next On Our List

Want to hack your way to glory? We put together developer contests every month so keep an eye on www.twilio.com/contests for the latest. Right now, jump over to our latest contest in partnership with the Drupal Association for the upcoming DrupalCon 2012 Denver.

Developer Contest: Be a DOer in 2012 with Twilio and Trello Hack

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


This is a series of blog posts that introduce and walk you through using the different .NET Helper Libraries that Twilio provides.

These libraries simplify using the Twilio REST API for .NET developers, and provide as set of utilities that make it easy to work with TwiML and Twilio Client. Take a look at part one two, and three of the series.

Using the Twilio.TwiML Helper Library

In the last post we looked at how you can use the Twilio REST API Helper library to initiate outbound phone calls or to send SMS messages.  In the fourth post of this series we’ll look at using the Twilio.TwiML helper library to generate TwiML responses to Twilio requests.

TwiML is a set of XML that is used to instruct Twilio how to handle inbound or ongoing voice calls and SMS messages.  For example, the basic flow between Twilio and your application might look something like this for an inbound voice call:

  1. Twilio receives an inbound voice call and requests TwiML from your application.
  2. Your application returns TwiML instructing Twilio to perform a test-to-speech action, and then wait for user input
  3. Twilio executes those instructions
  4. Twilio receives user input in the form of DTMF codes.  Twilio requests TwiML form your application, this time including the user input value.
  5. Your application uses the user input to perform a database lookup and dynamically generates TwiML instructions which Dial another phone number, bridging the two calls together

This back and forther between Twilio and your application can be quite extensive in complex applications, but it always follows this basic pattern.  A complete reference to TwiML can be found on the Twilio website.

The Twilio TwiML generator simplifies the process of creating TwiML by freeing you from having to manually create well-formed XML responses.  Instead the library provides you with a set of simply methods which you can use to generate TwiML elements an attributes.

To use the Twilio.TwiML helper library add a reference to the library from NuGet:

Once the references are added,  you will create an instance of the TwilioResponse class.  This class represents the root <Response> TwiML tag.  The TwilioResponse class exposes methods that let you add TwiML verbs and nouns.  For example, if in a basic ASP.NET Web Application I wanted to return a basic <Say> verb as my TwiML response I would call the Say method, passing in the text I wanted to say.

Note that the sample shown here is designed for use in an ASP.NET Web Application.  For developers using the ASP.NET MVC framework that simplify returning TwiML from controller actions.  We’ll look at those in a future blog post.

var twiml = new Twilio.TwiML.TwilioResponse();
twiml.Say(“Hello Monkey!”);

Now to return the generated TwiML, I simply call ToString on the TwilioResponse object and pass the resulting string to the Response object:

var twiml = new Twilio.TwiML.TwilioResponse();
twiml.Say(“Hello Monkey!”);

Response.ContentType = “text/xml”;
Response.Write(twiml.ToString());
Response.Close();

Notice that I’ve also set the Response.ContentType property to text/xml.  This changes the default MIME type of the response so that the requesting client understands that the response content is XML.

The Twilio.TwiML helper library also allows you to fluently chain together multiple method calls.   For example, to create a <Gather> that includes a <Say>, I can create fluent method chain:

var twiml = new Twilio.TwiML.TwilioResponse();

twiml.BeginGather(new { action = “directions.cshtml”, numDigits = “1″ })
.Say(“Hello this is a call from Twilio.  You have an appointment tomorrow at 9 AM.”)
.Say(“Please press 1 to repeat this menu.  Press 2 for directions.  Or press 3 if you are done.”);
twiml.EndGather();

Notice in this example that we use an anonymous type to add the action and numDigits parameters to the Gather verb.  This is a common pattern used throughout the Twilio.TwiML helper library for verbs and nouns allow for attributes to be included, and follows API patterns established by the ASP.NET MVC helpers.

Once you’ve got an application generating TwiML, you need to be able to test that Twilio can properly request and receive valid TwiML, which means that you need to host your TwiML on a publicly accessible URL.  There are lots of inexpensive .NET hosting solutions available from traditional paid .NET hosting companies to companies like AppHarbor, who will both build and host your application for you for free.  In a future blog post we’ll go into more detail on different hosting options.

In the next post will look at the remaining helpers libraries available, including helpers for ASP.NET MVC applications, helpers for Razor syntax, and helpers for working with Twilio Client.

Read the rest of the .NET series:
Twilio for .NET Developers Part 1: Introducing the Helper Libraries 
Twilio for .NET Developer Part 2: Adding Twilio Helper Libraries to your Project
Twilio for .NET Developers Part 3: Using the Twilio REST API Helper Library

This series is written by Twilio Developer Evangelist Devin Rader. As a co-founder of the St. Louis .NET User Group, a current board member of the Central New Jersey .NET User Group and a former INETA board member, he’s an active supporter of the .NET developer community. He’s also the co-author or technical editor of numerous books on .NET including Wrox’s Professional Silverlight 4 and Wrox’s Professional ASP.NET 4. Follow Devin on Twitter @devinrader

Twilio for .NET Developers Part 4: Using the Twilio.TwiML Helper Library

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Interactive voice response (IVR) systems act kind of like an Internet browser for voice—they connect callers to information in organizations’ databases.

However, IVR systems only operate through audio. They don’t provide a visual for interactions with callers, yet. That’s not a knock on IVR systems—they don’t provide touch, taste or smell either, and no one expects them to.

If researchers at the IBM Almaden Research Center had their way, though, IVR systems would. Well, they’d provide visual as well as audio, anyway.

Researchers Min Yin and Shumin Zhai conducted a series of experiments “examining the benefits of augmenting telephone voice menus with coordinated visual displays and keyword search.”

Yin and Zhai began their research to address what they call “touchtone hell,” which they describe as “the difficulty and frustration with automatic interactive voice response (IVR)-based phone call routing.”

We hear ya. Poorly designed IVR systems are the bane of everyone’s existence at least once in their lives. By poorly designed, I mean IVR systems whose call flow hinders rather than helps callers. (Which is why it’s so important for organizations to design their call flows thoughtfully, with the caller in mind.)

In their report (The Benefits of Augmenting Telephone Voice Menu Navigation with Visual Browsing and Search), Yin and Zhai suggest incorporating visuals on the screens of cell phones to help callers.

The researchers found that by visually displaying a “menu tree” on a caller’s phone, an IVR system could not only make the selection process easier (seeing is usually easier than hearing) but faster (selections display instantly all at once so users don’t have to wait for the system to read them off).

In their report, Yin and Zhai concluded that users would be “much more satisfied with and even enthusiastic” about such a system. They would also save time and encounter fewer errors (the more complex the navigation, the more helpful in reducing errors).

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


With all the software, business, and communication acronyms and initials that abound, I sometimes feel like I’m swimming in alphabet soup. I’m forever mixing up the UPS and USPS, and forget about keeping any procedural TV cop dramas straight (I’m looking at you, NCIS, CSI and SVU).

Some other initials that are easily confused: EM, MA, and VBMA.

Email marketing. Marketing automation. Voice-based marketing automation.

To make sure you’re using the best tools for your business, it’s crucial to understand first that email marketing and marketing automation are different, and second, how they are different. Lastly, it’s important to understand how voice interactions fit in to the whole picture; it’s an overlooked part of the process, but it’s the linchpin to the entire cycle.

The difference between EM and MA

Marketing Automation Software Guide’s Lauren Carlson shares a helpful breakdown of email marketing vs marketing automation. As she points out, “the two are not synonymous and are designed for different types of buyers.”

Her chart on the differences between EM and MA, and summary, below:

From the feature list comparison, you can see that while there is functional parity in some areas, marketing automation is far more sophisticated. While email marketing systems are designed to track interactions related to email campaigns, marketing automation systems track the chain of interactions across multiple channels and can then make intelligent decisions based on the buyer’s behaviors.

-Lauren Carlson, Software Guide

Why voice-based marketing automation is essential

While they have their differences, what email marketing and marketing automation share is that they both capture online activity. At some point, though, prospects’ activity moves offline–maybe in the form of a television ad or a phone call. These interactions are significant, but are also harder to measure. Voice-based marketing automation, meanwhile, captures everything. The whole shebang: lead response, lead capture, lead scoring, lead nurturing, and analytics. With voice-based marketing automation, you can see both online activity–like which PPC ads are attracting leads–and offline activity–like which pieces of direct mail are drawing a response.

And with a phone call being a major part in the process for most buyers, measuring voice becomes even more important. In fact, one study shows 43 percent of all ecommerce transactions that begin with a web search end with a telephone call.

So, now that you know the difference between email marketing, marketing automation and how voice-based marketing automation fits in, you can make smarter software choices, and tell all your friends, too. To do that of course, you need your voice.

To read Lauren’s original post, check out the Marketing Automation Software Guide blog.

To learn more about voice-based marketing automation, download our ebook!

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The IVR toolkit VBVoice is now available to developers working inside the Avaya environment.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The company began offering a hosting service for its speech and telephony applications.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


This feat breaks ground in voice over LTE technology.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The deal integrates PerVoice's audio-to-text technology with TVEyes' broadcast monitoring services.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Program includes latest Microsoft speech components.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The acquisition advances ShoreTel's cloud strategy.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


February 01, 2012

Yesterday’s post focused on the wide range of possibilities natural language processing offers interactive voice response applications.  NLP has a long and fairly comprehensive history, and has been integrated with a variety of software applications at a frequent rate over the last half-century.  However, many in the tech and IVR industries would say that Siri is the most groundbreaking, significant development in the field of natural language processing to date.

Whether you own an iPhone 4S or have merely seem the commercials in passing, most are familiar with the phone’s most popular new feature, Siri.  For those of us in the IVR and tech communities, Siri is truly one of the most revolutionary developments in the field of speech technology.

Developed by iOS to act as an intelligent software assistant, Siri is an application that uses natural language processing to fulfill a variety of tasks including answering questions, offering directions, and interfacing with web services to perform general tasks and activities.  Siri is innovative for myriad reasons, including its unique ability to adapt to user’s dialect, vocabulary, and preferences.

Initially, Siri was launched as an iPhone application that integrated with other iPhone applications like OpenTable, Google Maps, and Movie Tickets.  Siri allowed users to operate these applications using speech recognition technology powered by Nuance (the same speech rec engines Plum uses to power its IVR applications).

Siri was integrated with iOS 5, the newest iPhone operating system, and was the primary feature upgrade of the iPhone 4S upon its release in October.  Siri can support English, German, and French, and functions with many of the preloaded applications on the iPhone, making it the first phone that is nearly 100% controllable via speech.

While many using the iPhone 4S may take Siri for granted, the research and development that went in to the project went on for years and required the input of scholars, academics, engineers, and even philosophers from many distinguished institutions.

Per Wikipedia, “with Siri, Apple is using the results of over 40 years of research funded by Defense Advanced Research Projects Agency.”  In addition, research teams from Carnegie Mellon, the University of Massachusetts, the University of Rochester, Oregon State University, and Stanford University contributed input on machine learning, probabilistic reasoning, ontology, and natural language understanding, to name a few.

Siri is truly one of a kind, and the technology that powers the application is pioneering in every sense of the word.  Virtually any other company in the world attempting to integrate and utilize speech recognition will not be able to touch Siri, because the development process for this type of software application is complex, expensive, and requires the contribution of many top-notch academics from world-class institutions.

Basically, there are only a handful of companies in the entire world besides Apple that would have the capital and influence to develop and integrate this type of system into their applications.

Siri set the bar for voice recognition interfaces extremely high, and represents the possible future of speech recognition for all types of applications.  However, the development of Siri-like software for wider market use by all types of companies in the speech rec field is probably pretty far off.

Like all types of new technology, the technology that governs Siri is the first of its kind and will have to go through many series of adaptations and integrations to reach a price point that makes integration feasible for companies beyond the world’s highest revenue generators.

However, it does give all of us in the voice recognition industry something to look forward to, and a potential model to base our current and future research and development upon.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


While some artists are incensed by Internet piracy, others are embracing it. The former believe piracy is out and out theft of their work, the latter view it as a vehicle for reaching a wider audience.

The other day I wrote about Freedom author Jonathan Franzen rejecting ebooks in favor of traditional paper books. Best-selling Brazilian author Paulo Coelho feels the same way about reading books on a digital screen, but he has a surprising attitude towards Internet piracy—with good reason.

You would think that an established artist such as Coelho would abhor piracy of his books, but he embraces it. In fact, he told the Guardian newspaper in 2009 that he estimates 20% of his book sales originate with piracy.

Coelho said his books have sold some 300 million copies worldwide, which is surprising from a writer who is more literary or spiritual than commercial. The Alchemist alone has sold 35 million copies, according to the author.

But what’s really surprising is that Coelho credits the success of The Alchemist to the book being pirated in 1999. He told the Guardian that a Russian translation cropped up on the Internet in 1999 and sales jumped to 1 million by 2002 and kept going from there.

“The more people ‘pirate’ a book, the better,” Coelho said. “If they like the beginning, they’ll buy the whole book the next day, because there’s nothing more tiring than reading long screeds of text on a computer screen.”

(Sound familiar? Franzen thinks the same about reading on screen, although I don’t know how he feels about piracy.)

But contrast Coelho’s view of piracy to the People Who Love Books Don’t Steal Books movement among authors who feel differently. Supporters of this movement see piracy as stealing, period.

“Authors do this for a living,” bestselling English crime novelist David Hewson told the Guardian. “And if you take their work for nothing, you are depriving them of a living.”

But that’s what makes Coelho’s attitude so different—he sees piracy as helping sell books, making him more successful financially.

It’s the same attitude new artists have taken—just get the work out, reach people and build a fan base. It’s what all those YouTube videos are about. It’s how bands get discovered these days, in a lot of cases. Like Coelho, artists may just have to accept and embrace it.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Earlier this month CTO of the United States Aneesh Chopra announced new startup partners and programs around Obama’s Summer Jobs+ initiative while visiting Twilio HQ.

In the spirit of DOers, our CEO Jeff Lawson proposed a lightning round developer challenge to support the Veterans App Showcase. This event featured a special visit from Dr. Jill Biden, Second Lady of the United States, and was set to happen in less than 24 hours.

The challenge? Build a Twilio app using the Government’s National Resource Directory and pass a government security clearance, all before 9am the next day. Taking on this challenge and getting full government clearance was developer Tony Webster of San Francisco.

The Winning App: HeroJobs.org

Using the National Resources Directory to access the veterans job opportunity database, Tony built an app to help veterans find jobs nearby based on their Military Occupational Specialty powered by Twilio SMS. Visit HeroJobs.org, enter in a ZIP code, cell phone number and military job duty descriptions, and you will receive texts with new jobs as they are posted.

Tony made the impressive DOer effort to complete before the next-day 8am deadline. It wasn’t just for the glory and the chance to meet the Second Lady of the United States, Tony felt a civic duty to support. On his blog he states:

“Veterans face many problems when they return home, and finding a job in a tough job market and economy is certainly at the top of that list. The jobs presented to veterans from HeroJobs.org are from companies that have made a commitment to veterans, and the veterans get the advantage of knowing about the jobs first.”

More About This DOer

Tony is a designer, developer and data hacker in San Francisco. You can read his blog at www.tonywebster.com and follow him on Twitter @webster.

Developer Contest Winner Builds HeroJobs.org for Veterans

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Harlan Hogan is a well-known voice actor and a published author of many books about building and recording from a home studio. A must-read for any home-based talent is his book The Voice Actor’s Guide to Recording at Home …and On the Road. Hogan is a pioneer of the idea of the “portability” of recording [...]

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


The new offering includes promotional video and animation and on-site media

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Holly 6.0 adds support for Call Control along with dozens of enhancements.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


January 31, 2012

This is a series of blog posts that introduce and walk you through using the different .NET Helper Libraries that Twilio provides.

These libraries simplify using the Twilio REST API for .NET developers, and provide as set of utilities that make it easy to work with TwiML and Twilio Client. Make sure to read part one and part two of the series.

Using the Twilio REST API Helper Library

In this post we’ll look at how you can use the helper library to make calls against the Twilio REST API.  The REST API allows you to initiate outbound phone calls, send SMS messages and send or receive other data to or from Twilio.  The .NET helper library wraps the entire REST API in a set of managed API’s allowing you to access the same capabilities exposed by the REST API, but via a familiar .NET API.  This frees you from having to understand the ins and outs of making REST calls and receiving JSON results in .NET.

To get started make sure you’ve added the Twilio helper library to your project using NuGet:

The main class you will use from the helper library is the TwilioRestClient class.  When you instantiate this class you must provide your Account SID and Auth Token, which you can get from your twilio.com account dashboard (if you haven’t done so already, head over to twilio.com, create a new account):

string accountSid = ”ACXXXXXXXXXXXXXXXXXXX“;
string authToken = ”XXXXXXXXXXXXXXXXXXXXX“;
var client = new TwilioRestClient(accountSid, authToken);

Now that you’ve create an instance of the TwilioRestClient class, you can start interacting with the API.  To show the basics of how helper libraries API, let’s use it to send an SMS message by calling the SendSmsMessage method:

client.SendSmsMessage(
 ”+1YYYYYYYYYY”, 
    ”+1ZZZZZZZZZZ”,
    ”Hey, Monkey Party at 6PM. Bring Bananas!”);

By default, the SendSmsMessage method takes three parameters, the To and From phone numbers and the Message.  The values provided for the To and From parameter must be a Twilio phone number, or a number you have verified with Twilio and both the To and From values must be formatted according to the Twilio phone number formatting rules.  You can consult the Twilio documentation for more information:

Every method exposed by the TwilioRestClient class returns an object that has status information about the call.  In the case of the SendSmsMessage method, it returns an instance of the SMSMessage object, which you can use to check the status of the call:

SMSMessage result = client.SendSmsMessage(
    ”+1YYYYYYYYYY”, 
    ”+1ZZZZZZZZZZ”,
    ”Hey, Monkey Party at 6PM. Bring Bananas!”);

if (result.RestException!=null)
{
 //an exception occurred making the REST call
string message = result.RestException.Message;
}

In this sample we are using the SMSMessage object to check the RestException property to see if an error occurred during the call to the REST API.  We’ll look at using the RestException property to help debug application errors in a future blog post.

By default the SendSmsMessage method runs synchronously, meaning that it will block your application from continuing until it completes.  Since you are making a call to a remote web service, its possible that the call may take some time, meaning your application will be unresponsive.  To help this problem, many of the methods allow you to provide an Action<T> parameter which will be raised by the method when it completes execution:

client.SendSmsMessage(
    ”+1YYYYYYYYYY”,
    ”+1ZZZZZZZZZZ”,
    ”Hey, Monkey Party at 6PM. Bring Bananas!”,
r =>
{
 if (r.RestException != null)
{
//an exception occurred making the REST call
string message = r.RestException.Message;
}
});

In this example, the test for a RestException value is encapsulated into an anonymous method that will be called when the SendSmsMessage method completes.

Finally, some of the REST API calls allow you to specify a large number of options as part of the REST request, most of them optional.  Rather than exposing methods with large numbers of optional parameters, the .NET helper library translates these into objects that you can set the properties on, and then provide to the methods.

To see an example of this, let’s look at how you can use the InitiateOutboundCall method to make outbound calls from Twilio.  The default method signature for the InitiateOutboundCall accepts an instance of a CallOptions object.  This object allows you specify all of the different properties allowed by Twilio.

CallOptions options = new CallOptions();
options.To = “+1XXXXXXXXXX”;
options.From = “+1YYYYYYYYYY”;
options.Url = ”http://example.com/twilioresponse”;
options.Timeout = 5;
options.IfMachine = “Hangup”;

client.InitiateOutboundCall(options);

In this example we are not only specifying the To, From and Url parameters required by the REST API, but also setting the Timeout and IfMachine parameters.  In this case the Url we specify will be the Url that Twilio calls when the call is answered.  Once we’ve got all of the options set, we simply pass the entire CallOptions object to the InitiateOutboundCall method.

One other important item to note from this example is the format of the value provided to the Url property.  When specifying Url values using the helper library, you should always make sure to provide absolute Urls.

That’s all you need to use the Twilio.API library to access the REST API.  In the next post we will look at how you can use the Twilio.TwiML library to generate TwiML responses.

Read the rest of the .NET series:
Twilio for .NET Developers Part 1: Introducing the Helper Libraries
Twilio for .NET Developer Part 2: Adding Twilio Helper Libraries to your Project

This series is written by Twilio Developer Evangelist Devin Rader. As a co-founder of the St. Louis .NET User Group, a current board member of the Central New Jersey .NET User Group and a former INETA board member, he’s an active supporter of the .NET developer community. He’s also the co-author or technical editor of numerous books on .NET including Wrox’s Professional Silverlight 4 and Wrox’s Professional ASP.NET 4. Follow Devin on Twitter @devinrader

Twilio for .NET Developers Part 3: Using the Twilio REST API Helper Library

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


High functioning natural language processing is hands down one of the most sought after features of interactive voice response systems.  Natural language processing (NLP) is a field that combines computer science and linguistics and studies interactions between human language and computer processing.

As the above title suggests, the nuances and slight variations included in every human language make this one of the most difficult and confusing fields in all of science.  How would one teach an inanimate object that doesn’t have consciousness or inherent lingual abilities to distinguish between two words that have very different meanings but sound phonetically the same?

NLP is a sub-branch of artificial intelligence, and is primarily focused on developing technology that allows machines to interpret verbal communication that enables humans to speak in their natural language, dialect, and accent.

So where did this idea of natural language processing originate?  Presumably, computers have only been functional on a consumer level for several decades.  It actually dates back much further than most would assume, and can be traced to patents applications in the 1930s for a translating machine.  The machines would in theory be bilingual and able to translate between languages with varying levels of complexity (including dealing with grammatical roles between languages).

Actual software capable of performing NLP tasks was not released until 1954 during an experiment at Georgetown University and IBM.  Researchers were able to program an application to fully and automatically translate more than sixty Russian sentences into English.

There was a ten year gap between the development 1954 and 1964 (when an application was released that could solve algebraic word problems), put post-1964 there was a steady stream of NLP applications released.  Some of the more interesting ones included chatterbots able to simulate natural human language and generate prose at random and a question answering system that was so advanced that it was able to win Jeopardy when pitted against some of the best human contestants in the world (most will recognize the device as Watson).

When NLP programs are integrated into software applications and IVR systems, the results are lauded as the type of programs that science fiction would imagine.  The actual technology behind NLP applications is extremely complex and requires extensive research and testing to implement.

NLP software and applications have been developed that perform a variety of language interpretation tasks.  Various tasks include translating text from one human language to another, identifying the discourse structure of text, converting information stored in databases to readable language, offering answers to human-language questions, and even identifying the sentiment of spoken or written text based on extracting subjective information.

Coming up: The challenges and complexities of programming a machine to understand a person.

Bookmark this post:
Ma.gnolia DiggIt! Del.icio.us Blinklist Yahoo Furl Technorati Simpy Spurl Reddit Google


Last updated: February 09, 2012 03:02 PM All times are UTC.
Powered by: Planet

Speech Connection and Logos are Trademark of Nu Echo Inc. Copyright 2006-2008.