
Product management has a natural tension between features and elegance, the richness of more and the simplicity of less. This is true for APIS as much as for user interfaces. Telecom technology is complex, a high learning curve for outsiders. In the last year I’ve seen Voxeo, TokBox, Skype and now Twilio expand their reach to web developers by simplifying the programming experience, hiding the details of making connections and streaming media.
Twilio announced this morning that its “Twilio Client” is just three lines of javascript.
<script src="http://static.twilio.com/libs/twiliojs/1.0/twilio.js"></script>
<script type="text/javascript">
Twilio.Device.setup(token);
Twilio.Device.connect();
//you decide what happens next
</script>
With minor code variations you can build call center, conference call, intercom, softphone, audio recording apps, and text-to-speech apps in the browser. Promoting the launch, “five developers who write the most awesome Twilio Client apps in the next 2 weeks will win new Macbook Airs, tickets to the Twilio Conference, and Twilio Swag.” I’m loving the t-shirt. For those who use the Client, Twilio is cutting the cost of audio to a quarter penny per minute.
There are similar examples. A tiny Skype client powers Facebook’s first video calling app. Its API was also dramatically simplified, removing even usernames. TokBox embeds video calls and conferences with a few lines of javascript. Voxeo launched Phono last year, also a few lines of javascript to invoke their telecom APIs.
The gold standard for realtime communication: can you reduce your cloud service to a few lines in a language four million web programmers use every day? Can you simplify the object model, prune your parameters, and limit option so what is left is pure, elegant, beautiful and useful?
art credit: Twilio
Valve’s Steam MMO RPG game delivery system (rent, don’t buy; play without downloads; one identity across games; common APIs) will use the free SILK codec. This will build SILK’s wideband audio quality into the Steam player, although games may exploit it. Correction: You do in fact buy games; but the games have the option of storing and using social elements from the Steam cloud: PTT, saving games, or achievements. Steam is one of the largest game sales systems on earth, “a license to print money” one customer told me. They moved from the Speex codec to SILK but the driving forces are customer engagement. The higher the voice chat fidelity, the better you communicate, the more you enjoy the team aspects of gameplay, and the longer you play. Good for all.
The announcement:
Steam’s voice chat system now leverages the SILK audio codec, developed and used by Skype, makers of the world’s most popular voice communication service. The SILK codec provides a significant quality improvement over Steam’s previous voice technology, at the cost of some increase in bandwidth usage. Steam Voice used to require 15 kbps of bandwidth, whereas SILK is a dynamic bit rate protocol which varies in its use of bandwidth between 8 and 30 kbps, depending on the range of data in the voice signal and current network conditions.
As of today’s Steam client update, voice chat using SILK is available to all users of Steam. To start using Steam chat with SILK, simply click the ‘Start Voice Chat’ button within a friend or group chat on Steam. You can access chat from both the friends list at the desktop, or while in game using Steam’s in-game overlay. You’ll find voice chat connectivity and reliability have also been improved with this release.
Steam chat with SILK is now also automatically available for all games that take advantage of the Steamworks Voice API. Valve’s own Portal 2, set to release in mid-April, uses this newly updated system to enable voice chat in its cooperative gameplay mode.
The API folks at Mashery blogged about OpenTok:
TokBox OpenTok API: OpenTok is a free set of APIs from TokBox that enables websites to weave live, group video communication into their online experience. TokBox is a web application that allows users to make multi-party video chat calls over the Internet without a download. With OpenTok users can: control size, layout and movement of video streams; stream to multiple pages and sites at once; create both “viewer” and “participant” roles; scale to large gatherings. The API uses RESTful protocol with responses formatted in XML.
Very nice. I played with an earlier version at Startup Weekend this summer. It’s great to see TokBox partner with Mashery to bring their API to a wider pool of developers.
So when do you think Skype will offer a similar set of APIs? Pick a week between 1/1/2011 and 1/1/2013 when Skype blogs it. I’ll give a FreeTalk Headset to the person who leaves a tweet tagged #skypegroupvideoapi or a blog comment before 2011. Not open to Skype employees and insiders. Sorry, for those of you outside the US; you’ll only win bragging rights.
My guess: the week of 3-9 April 2011, right after April Fool’s Day.

Until I build a Skype video chat room into Skype Journal, chat with me on Skype. Call me at +1-510-343-5664, follow on twitter @SkypeJournal (just the posts) and @evanwolf (everything). Visit our Skype Journal private technologist roundtable, one of the longest running public Skype chats.
Skype is offering SkypeKit, a UI-free engine so you can build Skype into desktop and embedded systems. It bundles the libraries, protocols, encryption, codecs, and media you’d find underneath the Skype for Windows user experience. From the newly revamped Skype developer zone:
SkypeKit, you can build Skype conversations right into your own products. Skype is currently making the SDK available to a limited number of beta partners, and there is a waiting list. Starting June 23, you’ll be able to sign up for an invitation.
More from the devzone:
At Skype, we believe that every connected device is, potentially, a communications device. We envision a future in which you’ll see and converse with the people in your life no matter where you are or what you’re doing — sitting in your car, watching TV in your living room, or just checking the time.
That’s why we’re so excited to announce SkypeKit, a collection of software and APIs that allows Internet-connected devices or applications to offer Skype voice and video calls. SkypeKit is designed to work with a wide variety of chip sets, operating systems, and audio/video devices. Think of SkypeKit as a "headless" version of Skype–that is, it runs invisibly with no user display. That way, developers are free to surface and deliver Skype functionality through their own products’ interfaces. Or, as we like to say, SkypeKit lets connected devices get Plugged into Skype!
SkypeKit is currently in beta release with a limited number of beta partners. Developers can register for an invitation to the SkypeKit Beta Program beginning on July 23.
Early versions of SkypeKit powered apps built for Panasonic, Samsung, and LG Internet televisions. The first release will be a runtime for Linux. Future runtimes are planned for x86 Windows and Mac OS X, and others as the community calls for it.
Nearly all of the communication, presence and profile management features are exposed to programmers through SkypeKit’s APIs, although multiparty video calling isn’t in this first release. One of the new capabilities is the ability to use your own audio and video interface. We’ll have more once we get our hands on the documentation.
Simultaneously, Skype is starting a new developer program and developer site. Like Apple’s, it will cost you a membership fee; under $20 per organization. While you can sign-up starting Wednesday, Skype will not automatically grant access during its beta stage. And Skype is censoring apps based on content: "our license terms prohibit using SkypeKit for gambling or adult-themed applications." We’ll review the SkypeKit EULA/ToS when we get it.
Congrats to Jonathan Christensen and the rest of the Skype Platform team for the launch.

Some kinds of things you want sealed tight, no way to get inside and see how things work.
Software as a whole isn’t like that. The practice of software development depends on learning from the shared code of others. So it’s very useful for systems to expose parts of themselves to third-party programmers. It’s a way to share ideas, how the creators modeled things, to show how it was done so you can improve on it, to use it as a base on which to build. These affordances for programmers, these APIs, they are the shoulders of others, the foundations on which new generations build new structures, and express themselves with new arts, and solve problems not imagined by those who came before.
Where you show the guts and how to change them, a portion of the users become better informed. And a portion of them move on to become real engineers and artists.
This has always been true. For centuries. You could look at how a Jacquard loom worked or a Whitney gin and fix them. Or build your own.
Where games open up the ability to create levels or worlds or avatars or abilities or whatever, masses jump in to experiment and customize and create and share. Exposing your system’s guts unleashes innovation.
But we’re in a market economy. And keeping how you do what you do a secret is thought smart business. So we see Apple ban anything which would let an iPhone or iPad or iPod user write programs on the device they own. You have to buy a Mac and buy permission before you can code on your Apple mobile device.
So a generation will never get the chance to get under the surface. A generation will never get to play with how things work, to stretch themselves, to peel back the layers and layers of abstraction and functionality until their first Hello World! A generation is being denied the literacy to think critically about the software they use. A generation is denied the tools to express themselves through software, hobbling speech and the communities that emerge from that speech. A generation taught to be passive and helpless and rely on Apple Inc’s beneficence and their parents’ pocket change.
This is not a problem with Apple alone, not even of software alone. The same problem applies to household chemistry, pharmaceuticals, medical technology, and automobiles. We need generations empowered to hack their genes, to repair the flocking behavior of the bots inside their cars, to calibrate their neuroceuticals before an exam. Life skills, right?
That’s why society benefits when Apple, or Skype for that matter, chooses to expose more of how they do things to the world. And that’s why you should buy your kids and your schools and your day care centers the digital book readers and tablets and phones and desktops that are not child proofed. Buy the more open platform. Build on the more open platform. Invest in the more open platform.
The class of 2100 will thank you.
photo credit: Emma T photography: Fixing the Fiat 500. "Boys learn to be mechanics at an early age in Cuba. This nine-year-old was learning how to fix an engine under the watchful eye of his father."
|
7 years and 12 days since Skype Journal launched as a stand-alone blog.
|
|