Why phones are still hard

October 5, 2007

It’s a great time to be a telephony developer. After all, you’ve now got VoIP for transport, SIP for understanding sessions and switching, VoiceXML to describe your voice application, Asterisk playing multiple roles… and yes, I recognize I’m playing fast and loose with the roles of these technologies, but you get the point. We are fast approaching end-to-end access to cheap or free technologies for rapidly developing very complex telephony apps that trivially cross themselves with other media (particularly the Web).

So why aren’t even more people developing telephony apps? Why is the phone hard?

I see two major obstacles to the reaching the level of innovation that we saw with the Web:

  • The costs of transport
  • Even easy tech is new tech

The first problem is a bit of a straw man, because we believe we already have the answer for most situations in the form of sponsored content and other in-call marketing and content opportunities… so let’s leave that be for now and skip to the second.

Right now, development that involves the telephone requires a lot of new learning.  Off the top of my head, you (or a team) must understand:

  • New lingo:  How many Web developers or project managers know what an IVR is?  A softswitch?  An ACD?
  • What hardware is involved
  • Where to get that hardware, and how to deploy it, or who can host that hardware for you
  • Ditto for software

That’s a pretty big set of barriers to entry.  Far from insurmountable - and the barriers are both fewer in number and much shorter than they once were - but still far from ideal.

To be sure, there’s a notable amount of development in this space. From GrandCentral to SayNow, we are seeing the rapid expansion of applications being developed by venture-backed startups. We are much closer now to a world where a couple people in a garage with a phone-related idea can build that app, without having to seek out a bunch of telephony specialists.  But we’re still not there yet, as evidenced by the fact that if you ask your average developer in your average Web company how to get voice through the phone and into her app… you can bet she’s going to look at you funny.

We need to reach the point where the phone is simply a resource that any developer can plug into an app without knowing very much about how it actually works. I don’t know the details of how I get voice through the microphone on my computer, and get it saved as a .wav file, and I don’t need to - somebody else already wrote all the software that does that stuff, from drivers to codecs to file storage.  The same should be true for getting a .wav file from the phone - or for setting up a conference bridge, or voicemail, or whatever.

Developers who live in other worlds than that of telephony should be able to plug functionality like this right into their applications, without knowing a darned thing about it.  Setting up or tearing down a bridge should be as simple as issuing a command through an API.  The concept is simple; the expression of the request within the code should be equally so.  Once that happens - once that is the level of interaction the developer has with telephony technology - there will be magic, and lots of it.

- Nick