Guest post from Ben Klang of Mojo Lingo on the Telecom Apps Ecosystem from a developer’s perspective.
At Mojo Lingo, we build voice applications that work like magic. That means we’re focused on one thing: happy users communicating effortlessly in real-time. Today I want to talk about the Telecom App landscape from our perspective, as full-time developers actively focused on this compelling opportunity.
Why are we in this space in the first place? The simplest answer is the most intuitive one: Reach. Voice and video have the ability to connect people in a way that few other technologies can. The nuance and richness of voice communication can’t easily be recreated by text alone. However, the current products offered to the market fall very short of delivering on the possibilities. It’s not that voice isn’t interesting, it’s that the way voice is delivered today isn’t interesting. That is the opportunity: change the delivery of voice and make it a compelling product.
The technology required to address the opportunity falls into two categories: the technology of today (layering on top of existing telecom networks), and the technology of tomorrow (with game changers like WebRTC, wideband codecs and ubiquitous data connectivity).
For the purposes of this article, let’s stick to what can be achieved today.
What challenges still face the telecoms developer?
Getting ahold of the call
The main barrier is still access. The best solution to this problem is to live within the carrier’s network, but will take time for carriers to adopt this, if ever. The goal is to make sure the app stays in the path of the call. There are two main ways to achieve this today, though neither is a perfect solution:
- Google Voice-style virtual numbers (where you publish a number that goes to the app, which in turn calls your mobile)
- Have the app call you and connect the other party, staying in the path
For a lot of developers, the telephone network is a daunting place, filled with foreign acronyms, unfamiliar billing practices, regulatory complexity and seemingly artificial limitations. Many don’t even know where to begin.
The good news is that this has finally started to change for the better. There are serious Over-The-Top services and Open Source projects available. Our favorites are ones like Tropo (telecoms API and PaaS) and Adhearsion (Open Source framework for developing voice apps). Others providing interesting telecoms APIs are Twilio, Nexmo and Plivo, and even AT&T. By using these APIs or frameworks, it becomes possible to focus on the business problems and on the application, rather than the byzantine world of raw telephony.
Even more exciting is the future: Ameche (created by Tropo), a carrier-grade platform for in-call apps, and RingPlus, an MVNO startup, have started making it possible to actually run apps inside the carrier network. While these are not yet publicly available, they’re clearly something to keep an eye on.
Constrained Human Interfaces
The last hurdle may well be the human interface. What users have come to expect is poor quality audio, digit key presses for input and an arbitrary numeric addressing systems (a.k.a. “phone numbers”). This has conditioned many (especially younger people) to dislike the telephone. However, it’s not all bad news: excellent text-to-speech and rapidly improving speech recognition are more accessible than ever before. WebRTC, which can bridge the telephone to web browsers, will enable a new interface and richer applications. More work needs to be done here to help bring these technologies to more platforms.
While these challenges may be slowing us down, they are far from stifling. Many innovative apps are being created with just these tools, and even better ones are clearly in the works.
Building Specialized Tools – What is needed?
The clear value in telecoms apps is in building specialized tools, the kind that carriers themselves have no interest (or even ability) to build. To build these apps, we need APIs. What do we have, and what do we need?
What we Have
- Full control over calls we can create or receive – Dial, Record, Play Audio, Text-To-Speech, Speech Recognition
- Ability to send and receive SMS messages – incredibly useful for reaching any phone, not just smartphones
- Some interesting carrier-provided REST APIs for location, account details, device capabilities though more would be better
- Cheap calling to most parts of the world, and phone numbers in most countries
The above gets us a lot of reach, and a lot of potential when we do reach someone. But what else is needed?
What we Need
- All of the above, but inside the carriers – the access challenges described above go away if my app can control the calls already flowing through the carriers
- A Communications PaaS – as a developer, I don’t want to worry about infrastructure or scale (at least, not until I have to). Just give me a place to run my app
- An alternative to per-minute billing – Counting minutes is so 1995. I want new ways to charge for the value I can create for my customers, and I want the telecom APIs to support me in doing it
- Marketing support – It can be hard to reach users, so help in making my app discoverable is key
A Bright Future
Even when considering the challenges and the unmet needs, voice and real-time communications apps are a great place to be innovating right now – and it’s only going to get better. Leading carriers beginning to get the message, and dedicated conferences like the upcoming Telecom Application Developer Summit are a reflection of that. As a topic near and dear to our hearts we’re going to keep thinking and writing about this. Find us on Twitter @MojoLingo and join the conversation on our blog.