
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
Skype Journal called for a “naked Skype” or a “headless Skype” in 2005, before eBay bought Skype. We wanted a Skype engine without a user interface, fully scriptable, that would let us build gateways that talk to the Skype network, include Skype inside desktop applications, and embed Skype in hardware. How hard is it to leave out the user interface the next time you build a desktop client?
Skype previewed SkypeKit at the January 2010 Consumer Electronics Show and announced a closed beta program six months’ later. One year ago today I applied to that closed developer program.
It is still closed. Out of the thousands of publishers and developers who applied to the program, nobody has been releasing apps, sharing code frameworks, revealing design prototypes (with the exception of a CES 2011 in-car OnStar with a Skype app) or otherwise showing signs of life. Skype PR is not commenting on this anniversary. Is SkypeKit dead? Or are thousands of developers exceptionally good at keeping secrets?
I was ticked-off I missed the registration window to get in to this year’s Google I/O conference after so much excitement and insight from last year’s. I was relieved, and a little sad, learning that none of the sessions featured reps from the Google Voice or Google Talk teams. Where’s the platform, folks? Will Skype’s platform come to market first and better? Or is Google ceding the field?
Beecher Tuttle speculated Skype bought the assets of group text startup 3Jam. Skype’s texting features are… uninspiring? Hiring 3Jam’s Enlai Chu might fix that. Or is it feature creep?
CallByText compromises Skype security, requiring your Skype name and password, setting you up for identity theft. (Thanks, Hudson)
Reuters reports Google and Facebook talked about buying Skype. They didn’t talk to each other, although that would be interesting. Like this is something new? Skype’s corporate affairs folks must talk to potential buyers, if only to understand a non-IPO deal space.
Transit Telecom screws Brazilian Skype users, cancelling Números Online Skype, using the service since January 2006.
Sony firmware update adds Skype to Bravia TVs.
3CX adds Skype Connect to its Windows PBX software.
Azerbaijan minister wants to ban Skype as a security risk. via Tamada Tales.
Ubergizmo unboxes the Logitech TV Cam for Skype. “At CES 2011, Skype on TV was a huge hit, particularly among seniors. I’ve never seen so many seemingly retired people at CES, and they were almost all excited by this.”
Mumbai police analyze Skype calls to find gangsters.
Australian Skype for Vodafone mobile users will pay $3 monthly for Skype-to-Skype calls. Cheaper than previous plans.
California “elder law” attorneys to bill for Skype consultations. “…legal documents professionally produced in a virtual law firm environment.”
MyChelle Dermaceuticals licensed estheticians to bill for Skype consultations. “MyChelle’s expert team is on-hand to provide professional, effective treatment and skin care recommendations with a custom selection of pure, clean MyChelle Dermaceuticals products.”
Skype’s Skytools framework used to “construct a large fault-tolerant cluster of PostgreSQL.” Hundreds in production. Skytools.
Patch to Skype for Mac zero day vulnerability coming next week.

Is this concept art? Or concept app?
Engadget published this slide from a MIX11 presentation by Microsoft. And then Microsoft’s Joe Belfiore confirms: Skype coming to Windows Phone 7 ‘this fall.’ Skype hasn’t said anything in public since they backed away from the first Windows Phone 7 release. New technology coming from Microsoft could change that. “Application multitasking for background processing, audio and file transfer, and fast application switching” makes or breaks the Skype mobile experience.
Microsoft: “The free Windows Phone Developer Tools for the new Windows Phone OS will be available to developers in May. … Today, Microsoft also provided an early glimpse of app concepts for the next version of Windows Phone OS with new experiences from Skype, Spotify, Layar, Qantas, Amazon Shopping and Kik Messenger.”
UPDATE 0730 Pacific: A Skype spokesperson wrote “Skype is committed to supporting mobile platforms globally, and we welcome the opportunity to work with any platform developer. At the MIX11 conference, Microsoft shared a visual that represents an early design of what the Skype app for Windows Phone could look like. We look forward to having an opportunity to work with Microsoft to help optimize the Skype for mobile experience as Microsoft develops its new platform.” Microsoft said these pictures were from “an early motion study that we’ve been working with Skype on that shows what Skype could look like on Windows Phone.” This sounds like corporate flirting to me.
An information architecture thought: isn’t there something (anything!) more important to show a Skype user on the home screen? Presence updates of my closest friends? List of recent conversations? Missed calls or conversations? New voicemails to play? The mood and avatar I’m showing to my Skype peeps? Shouldn’t the app home page be less menu and more relationship infographic, communication dashboard or collaboration steering wheel? Is the home page for navigation? Or action?
It looks wasteful to me. I want my home page brimming with freshness. Provoke insight and action. Bring the app’s context to the fore.
Tell me the next thing I must do.
- the person to IM or call back.
- the conversation to continue.
- invites that matter.
- scheduled calls coming soon.
- contacts with changed presence/profiles/relationships.
- moderator responsibilities.
- chats i should join.
- account issues.
imho, I think that’s what gripingMacUsers kvetch about most. Skype 5 can make the next step, choosing the most important trigger, more opaque. It makes us think, a barrier to decisive (rewarding) action.
Hmmm. Maybe something more like this…

Photo cc-by Long Zheng.
Don Kennedy announced his update to a working example in C#. “The latest version 4.1.0.0 Includes a fully customizable complete IVR system. You can still use the DTMF command/response interface.” From the release notes:
- Optional Complete Custom IVR for Skype ("Interactive Voice Response") system
- Secure and limited access features
- Process calls from only specific Skype Online numbers as many as 10
- Supports running multiple copies for single or groups of Skype Online numbers
- Skype inbound/outbound Skype call processing including:
- Skype to Skype calls
- PSTN to Skype calls
- Skype to PSTN calls
- Skype conference calls using both PSTN to Skype and Skype to Skype
- Skype call transfer
- Voicemail playback in calls
- Skype Speed-Dial Numbers
- Asynchronous TCP port processing using Skype public API methods
- DTMF recognition for both inbound and outbound calls using the Goertzel algorithm
- Same call recovery logic for DTMF commands. No need to hang up and try again
- "Call Me Back" mode for Skype
I cannot tell if Don’s sample code is in the public domain or otherwise licensed.
Don Kennedy is a fixture in the Skype Forums and an adept at the Skype desktop client Public APIs.
I posted 8 Skype hacks for decentralized Agile teams earlier this week. Assembla provides tools for programmers and posted about their mostly positive experiences with distributed pair programming. They tweaked the experience to avoid synchronous (live) work, supporting different time zones.
Great session at the Bay Area Agile Manager’s Meetup last night. A frequent question at these meetups is how to adapt agile software development practices, including scrum, to distributed teams. These processes are intensely social, usually with physical barriers lowered so co-located teammates can see the card walls and each other. Nobody had universal answers or a comprehensive theory. A few Skype suggestions:
- Dial in. For team cohesion, offsite team members video Skype to the daily standup meeting. [I forget which scrum veteran told this story; thanks!] You can extend this to the other scrum meetings: sprint planning, sprint review, and sprint retrospective. Video, with a good speakerphone, is almost like being there. Skype’s new group video conferencing lets you bring nine off-site people into your meeting.
- Remote pair programming. In pair programming, two programmers work together at one screen. One codes, paying attention to the mechanics of code construction while the other reviews the work and navigates within the broader context. The two produce more relevant and higher quality code than they could separately. How can we get the benefits of pair programming if the two are at separate computers? I’ve never tried this but it should work: Turn on Skype desktop screen sharing during a voice call with your programming partner. You’re both seeing the same things and can talk to each other. You might even be in the same room but give yourselves elbow room.
- IM team backchannels. If your team doesn’t have an IM backchannel, it should. Skype’s persistent chat means your conversations continue, even when other people are offline.
- Translation bot. I’m only assuming your backchannels are in your company language. Take advantage of the free Chat Translator and Speaker for Skype, which pipes your IMs through Google for live machine translation.
- Ambient video wallpaper. Open up a full screen video call on a large monitor (or television) and just leave it on. Skype uses this to connect two offices in different cities at two water coolers. It offers for a sense of being connected and the opportunity for chance conversation. No reason not use them to bring remote/home workers into your workspace. (Just remember to dress for work at home.)
- IM notifications and alerting. The Skype Public API makes it easy to write apps that will pipe notifications from code repositories, test frameworks, and work tracking into Skype text chats. Ping me if you’d like an introduction or referrals to programmers who can guide you through getting started.
- Avoid distractions. Skype offers the ability to turn off bells, beeps, and bloips for each chat room. The /alertsoff and /alertsoff IM commands give you control. Skype says:
“/alertsoff” Disable message alert notifications.
“/alertson [text]” Allows you to specify exactly what needs to appear in a chat for the chat to pop up. For example, /alertson London will only alert you when the word “London” appears in the chat.
P.S. A quick poll showed Pivotal Tracker is the community’s second favorite story status tracker. First is physical post-it notes or cards on a wall. The user experience was so delightful that whole teams used the tool without fuss, including non-techie types and scrum newbies. It’s hard to beat adoption.
P.P.S. I have a notion to generate Skype conference rooms for each story using the Skype GoLive chat command and a unique story code/number. Could be automated but I’m petrified of the easy interruptions GoLive brings.
Let me know if you’ve tried any of these methods and how they worked for you. Perhaps they’ll find their way into common agile life.
This is a guest post by Tim Panton, telephony/web 2.0 troublemaker. @steely_glint.
I’m a regular visitor to the Voipuser’s conference – which is a weekly conference call about VoIP. The call is hosted on ZipDX’s wideband conference bridge. The quality of the guests combined with the HD audio on the bridge means that the recordings make decent pod casts.
For about a year now, we have been running a Skype gateway so that people who couldn’t or didn’t have time to set up a SIP device could call in (free) via skype.
Like most conference calls, it works best with a text back channel so that URLs, part numbers, email addresses etc. don’t need to be laboriously spelled out. For historical reasons this is an IRC channel on freenode.net. So a typical user would have a softphone fired up on their laptop for the audio and an IRC client for the text.
Skype users are very loyal to skype chat, so a few weeks ago I started looking at trying to bring the IRC chat to them in a more convenient way. Last week I got an experimental system running that did just that. Here is a sample of the result:

A skype chat bridged to gtalk via irc.
In some ways that looks like an ordinary skype chat. Indeed for the skype user, that is exactly how it behaves, except that messages from the vuc.me user are in fact from multiple IRC users.
If you look a little more carefully, you’ll see that there is discussion of a gtalk connection (google talk). That’s because I’d also made the system support connections from gtalk too.
So users from all three of the ‘islands’ in the VoIP world (SIP, Skype and GoogleTalk) could all participate on an equal basis in a conference about VoIP. Not only that, but their IM messages were also exchanged freely, all with the correct attribution.
How was this done?

Asterisk is the key ‘glue’ here, with it’s support for Skype and Gtalk channels. But even Asterisk doesn’t support the kind of gatewaying we needed for the IRC . For that we needed the (excellent) asterisk-java package which communicates with Asterisk and allows you to manage and control calls in Java. I used the PircBot package to implement an IRC connection in Java.
As this was a prototype, I didn’t want to get bogged down in writing the gateway in Java, I wanted to use something more expressive and easier on the keyboard, so I used Groovy.
The end result was a very few lines of Groovy, here is the meat of it (sorry Jay) :

Now the fun and powerful thing about this code is that it is asynchronous and event driven. Each event from Asterisk is checked to see if it triggers any of our desired actions, but this triggering is done on a fine grain – in the last block we are only interested in Skype chat messages that are to the skype id ‘vuc.me’. We can write expressive filters in code to do the matching, then define the action to carry out in just a few lines. The over all effect is like the syntax of unix’s AWK pattern matching language.
This is quite different from the kind of scripting you see in twilio, asterisk dialplan, tropo and other telephony scripting environments. They are all about call control, this is about call enhancement. A traditional telephony scripting language sets up the call, but once the 2 (or more) parties are talking they step out of the way. Here I’m adorning a live call with extra asynchronous information.
There are systems that do this sort of adornment – ZIP DX sends messages to the SIP clients throughout a call allowing phones to display the name of the current speaker – but that’s more of an endpoint feature (see also the very cool thrutu). In this case the adornment is taking place in the middle of the network and in the middle of the call – and that’s new (at least to me).
I’ll be polishing the prototype and hopefully have it deployed in a stable basis in time for next Friday’s VUC.
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.
Take a look at Tim Panton’s tale of how Digium brought developers into its plans for a scalable Asterisk. Early and ongoing inclusion. Taking their priorities seriously. Announcing to developers before the press. Tim contrasts this with Skype’s rough treatment of Nimbuzz and Fring. Dan York points out a key phrase: "Look after all of your developers and your developers will look after you." Post-IPO, Skype’s developer relations program will have to work long and hard to earn trust and respect. They’re preparing and eager.
Has it been a whole year since an angry rant? Despite all of Skype’s glowing press, I’m sure I can scrape something up…
- UI Not Scriptable.
It’s great that Skype offered their idea of the facebook-in-Skype experience. What about the ideas of the world’s millions of developers? Where’s the app platform that lets users write and share their own tab in Skype? That lets us customize the metadata we show about contacts? We’re in the app economy and Skype should let us embed apps. Skype is our conversation and relationship manager for our intimate circle, for our strong-ties, and this is where we want to innovate. Innovate Elsewhere.
- Still Deal Driven. Facebook? Skype still works on "It’s who you know" for doing business. Skype partnered with News Corp’s MySpace when it was hot, federating user names. Now Skype partners with Facebook. I’m happy for Skype’s bizdev and engineering teams but this is lazy strategy. Message sent: innovators and entrepreneurs and creatives need not apply. Make it as easy for anyone to make their own "Home" tab as it is for them to add or make make a Firefox extension, an RSS feed in Google Reader, or an iPhone app.
Ecosystem-free Ecosystem.
- Import, not sync. Batch importing guarantees your Skype contact list is stale five minutes later. You can import your facebook contact into Skype but Skype won’t keep your data fresh. So when your contacts update their names, photos, locations, phone numbers or emails, those critical changes won’t show up in your Skype contact list. I’m behind before I get started.
Lame.
- No group video pricing. Don’t try Skype group video. Like offering free crack, Skype rolled out ten-way video calling in a "28 day free trial." Skype won’t tell you now what happens at the end of the trial. Free three-way calling? $100/minute ten-way calling? Free with a business account? Included with a monthly global subscription? You’ll find out the real cost once you and your friends are hooked.
Bait, Switch.
- Not for Mac, Mobile, Linux. Skype’s ugly step-child Mac users seethe with frustration and anger as Windows users get the cool stuff months or years before they do. Companies with products connecting to Skype through Skype’s Linux client are also left behind. Mobile users? Still waiting for their first group chats, video calls, and file transfers.
Tired of Windows Hand Me Downs.
- Half an API. Skype’s Public API hasn’t been updated to use any of Skype 5′s new features. No video conferencing, no facebook, no contact import. Why is Skype punishing its developer community? Why is Skype still crippling its only publicly available API? See "Still Deal Driven."
Developers should try Ribbit, Tokbox, Twilio, and Voxeo.
- Fraud inducing identity model. Skype is asking you to lie about who you are. Skype 5 says you have to keep separate Skype names for each place you work and for your life. It might be feasible if Skype software let me log into and use several Skype identities at the same time. They don’t. That’s not how people work and live. More than fifteen percent of the US workforce are free agents, with dozens employers each year. Nobody will use a communication tool that must be shut off just because you’re at work. Or just because you go home. Ask a cultural anthropologist. Ask an industrial psychologist. Ask any volunteer at a not-for-profit. Ask anybody who works and has kids. This deviation from reality is for the convenience of Skype’s lawyers, engineers, financial analysts, and marketers. It sure isn’t for Skype users.
Put the experience designers back in charge.
- Plaintext IM and mood. This is a small thing with a big message. Skype is the only large IM network using plain text characters in IM. No rich text, HTML, inline images, or inline videos. This is a steep barrier to IM interop. It means messages from other networks must be dumbed down to show them to Skype users. Your chats will lose meaning. Skype participants will see and understand less than non-Skype participants. This is a reason business users will abandon Skype.
#ClosedWebFoo.
I’m not picking at the small stuff. These failures signal flawed design thinking, poor product leadership, weak organization design, and insular corporate values.
Skype is full of people around the world working hard on the underlying problems. The new management team should find them and give them room to confront Skype’s culture, leadership and identity problems. Call me if you’d like to talk about it. #designskype

CORRECTION (25 Sept 2010): "we (Twilio) aren’t putting in any money… all the investment is coming from Dave McClure’s fund 500Startups." – Danielle Morrill, Twilio
Twilio is putting $250 thousand into a seed fund for startups that use its technology. Incubator and investor 500 Startups will administer the fund.
Nobody in the Over The Top Calling Platform market has pursued the startup community with Twilio‘s fervor and effect. I’ve seen them sponsor telephony meetups, the SuperHappyDevHouse hackathon, Hacker Dojo, and are national sponsors of Startup Weekend. It’s funny for me to run into Silicon Valley acquaintances that introduce me to this cool thing called Twilio that lets you whip out phone features in record time. This leaves Voxeo, Jaduka, Skype, and Jajah struggling for mindshare among early stage IT entrepreneurs.
I’d love to see a Skype fund for startups when the Skype network API comes out. Skype could partner with angel networks and microfunds to source the talent. Skype could also be more global in its outreach than Twilio can.
Update: Don Kennedy asked me about the ROI for Twilio. Here’s how this project pays off…
- Developers see economic value associated with the 500startups co-brand of Twilio. You may not know this but 500startups is a rock star in the NYC/SF/Silicon Valley seed/angel community. See also: Dave McClure, master of 500 hats.
- Entrepreneurs learn Twilio financial basics (services, costs, prices).
- Social proof is the way developers choose their tools. This program not only builds informal social proof through personal word of mouth, it also builds public proof points.
- Today’s model of entrepreneurship requires rapid prototyping to reach Minimum Viable Product (MVP) – so they can test market demand. Twilio lets developers get going for free ($30 in free credit, where calls are $0.01/minute inbound, $0.02/minute outbound, and $0.03/SMS) until you start charging customers.
- The fund will seed 20 startups. These are investments, not gifts or loans. 500Startups Twilio has a fair chance that at least one or two will have liquidity events that more than pay for the whole program. Most portfolios like this pay for themselves.
- Twilio builds investment banker cred for when they eventually IPO or merge.
- Twilio has a chance to learn more about startups (their customers) through their close working relationship with the 500startups incubator/fund.
- For each of the 20 startups funded, 200 will apply and 2000 will think seriously about it. That’s a lot of mental rehearsal for pitching the use of the platform.
- With any luck, Twilio will discover new talent that might join the company, contribute to the platform, and nurture its ecosystem.
- With any luck, Twilio will discover new ways to use its platform that will become amazingly popular among web developers and entrepreneurs.
As a marketing project, this has the advantage of being crisp (defined spend, defined audience, defined message, defined brand value, defined publicity moments), proven (a long history of corporate and government venture and adventure funds), and respected in Silicon Valley.

I found this error message when I launched Skype for Windows Beta 5.0.0.123 this afternoon: "No flash player detected. Download it". News to me that Skype had any plug-in dependencies for its built-in browser. This is likely a bug, left over from prototyping, or triggered before needed by the (now hidden) video mood message controls.

You can see the art (animation?) used above to illustrate the Home tab’s tips/offers.
Browsers give third-party developers an easy canvass on which to paint. Skype would do well to open new tabs and panels to developers. The world would create a whole new class of lightweight web-style apps within the Skype client. HTML5, CSS, Javascript and maybe PHP could call the Skype Public API or the SkypeKit API for native features. Browser apps would lower the skill bar from the high complexity of a complete SkypeKit app down to something millions of web designers do every day.
update: second screenshot.

Had a thought. I doubt it is original. Here goes.
•
VoIP has had two waves.
The first VoIP wave (1990s-2003) was mired in POTS emulation, right down to digital versions of handsets, dialing with phone numbers, and switching modeled on telephone switchboard operators. The only thing abandoned was the rotary dial.
The second wave started with Skype in 2003. Skype showed everyone you could wrap telephony in Instant Messaging clothes. Yet rivals followed Skype’s path without innovating the user experience. Google, Yahoo!, Microsoft, Facebook, and MySpace have all built voice into their IM. Skype still tweaks their UI, but IM remains Skype’s go to model.
VoIP’s second wave is as stuck in an old world view as the first.
••
So here’s our thought experiment.
How would you design live streaming conversation for the first time, starting now, from scratch?
Imagine we didn’t have landlines or mobiles or video conferencing or anything. Just a world of text (blogs, texts, emails, tweets, etc.) and asynchronous rich media (YouTube, Hulu, TV, radio, podcasts, vlogs).
Talking live to another person will be a radical reform. But you’d invent all the elements of live talk within the prevailing frames of reference, using familiar designs.
Full Story »
|
7 years and 2 days since Skype Journal launched as a stand-alone blog.
|
|