Category: Applications

My Rant: Who Are We Building RTCWEB/WebRTC For? Telephony Developers or Web Developers?

IetflogoYesterday morning I did something I haven't done in eons. Many years, probably. (I can't remember.) I fired off a "rant" on an IETF mailing list.

I've been a huge proponent of the "RTCWEB/WebRTC" work going on in the "RTCWEB" Working of the IETF and the "WebRTC" of the W3C. I've mentioned it in many of my presentations. I've advocated for people to join the mailing lists. I've written about it a good bit on Voxeo's standards blog when I was at Voxeo.

We have an opportunity to make it easy for web developers to add "real-time communications" via voice, video, IM, etc., to web applications. We can make that work from directly within the browser.

Think of it... HTML5 with the ability to quickly add voice, video, chat... and without the need for a browser plugin or extension in Flash, Java, etc. (the limitation of all of today's proprietary options).

It's the opportunity to move real-time communications into the very fabric of the Web.

Awesome potential!

The work has been moving along quite rapidly in both the IETF and the W3C. Extremely active (high-volume!) mailing lists. Many Internet-Draft documents being created. Regular conference calls, interim meetings, face-to-face meetings. Some truly brilliant - and passionate - people involved. (Read the RTCWEB overview Internet-Draft for more background.)

But I still can't escape the feeling that the direction isn't quite right... as a friend said to me:

my feeling is that this is being appoached as SIP 5.6.2 - a minor tweak on an established standard - not WebRTC 0.9 - a new dawn in a new world.

I haven't honestly had the time to read all the messages with the crazy amount of traffic (which is good - shows people are passionate about the topic!), but I've felt increasingly frustrated with reading the messages that I have read that we're collectively in the midst of developing something that few developers will actually use.

So I ranted. Will it do any good? Maybe. Maybe not.

What the rant really needs is to be backed up by people who have the time to join in the process and contribute suggestions for how a RTC API that would appeal to "web developers" would look like.

Care to help out? The mailing list is open to anyone to join.

Anyway here's the rant... (and yes, for the truly pedantic, I am very aware that I ended with a </rant> but did not start with a <rant>)...


Folks,

I need to rant. I've been lurking on this list from the beginning but with a new job I haven't been able to really keep up with the volume of messages... and every time I get ready to reply I find that others like Hadriel, Tim, Neil, Tolga or others have made the points I was going to make...

But I find myself increasingly frustrated with the ongoing discussions and want to ask a fundamental question:

- WHO ARE WE BUILDING RTCWEB/WEBRTC FOR?

Is it for:

1. Telephony developers who are tired of writing code in traditional languages and want to do things in new web ways;

2. Web developers who want to add real-time comms (as in voice, video and chat) to their existing or new web applications;

3. Both 1 and 2.

If the answer is #1, then I think everything is going along just wonderfully. We can go ahead and use the SIP/SDP/etc. stuff that we all in the RAI area are all used to and understand just fine. Heck, let's just all end the discussions about a signalling protocol and agree on SIP... get the browser vendors to agree on baking a SIP UA into their browsers... and call it a day and go have a beer. Simple. Easy. Done.

And the only people who will ever use it will be people who work for RTC/UC/VoIP vendors and random other programmers who actually care about telephony, etc.

But that's okay, because the people who do use it (and their employers) will be really happy and life will be good.

If the answer is #2, then I think we need to step back and ask -

HOW DO "WEB DEVELOPERS" REALLY WANT TO WORK?

Here's the thing... in my experience...

99% OF WEB DEVELOPERS DON'T GIVE A ______ ABOUT TELEPHONY!

Never have. Never will. (In fact, I may be understating that. It may actually be 99.99999%.)

If they are with startups, they want to build nice bright shiny objects that people will chase and use. They want to make the next Twitter or FourSquare or (pick your cool service that everyone salivates over). If they are with more established companies, they want to create easy-to-use interfaces that expose data or information in new and interesting ways or allow users to interact with their web apps in new and useful ways.

And they want to do all this using the "languages of the web"... JavaScript, PHP, Ruby, Python, etc.

They want "easily consumable" APIs where they can just look at a web page of documentation and understand in a few minutes how they can add functionality to their app using simple REST calls or adding snippets of code to their web page. Their interaction with telephony is more along these lines:

"Wow, dude, all I have to do is get an authorization token and curl this URL with my token and a phone number and I can create a phone call!"

And the thing is... they can do this **TODAY** with existing proprietary products and services. You can code it all up in Flex/Flash. You can write it in Java. You can use Voxeo's Phono. You could probably do it in Microsoft's Silverlight. I seem to recall Twilio having a web browser client. A bunch of the carriers/operators are starting to offer their own ways of doing this. On any given week there are probably a dozen new startups out there with their own ideas for a new proprietary, locked-in way of doing RTC via web browsers.

Web developers don't *NEED* this RTCWEB/WebRTC work to do real-time communications between browsers.

It can be done today. Now.

The drawback is that today you need to have some kind of applet/plugin/extension downloaded to the browser to allow access to the mic and speakers and make the RTC actually work. So you have to use some Flash or Java or something. AND... you are locked into some particular vendor's way of doing things and are reliant on that vendor being around.

THAT is what RTCWEB can overcome. Make it so that web developers can easily add RTC to their web apps without requiring any downloads, etc. Make it do-able in open standards that don't lock developers in to a specific product or vendor.

But if we are targeting "web developers", that is who we need to satisfy... and we need to understand that they *already* have ways to do what we are allowing them to do.

If we come out with something that is so "different" from what "web developers" are used to... that requires someone to, for instance, understand all of what SIP is about... that requires a whole bunch of lines of code, etc.... well...

... the web developers out there will NOT launch an "Occupy RTCWEB" movement claiming that they are the "99% who don't care about telephony"... they will simply... not... use.... RTCWEB!

They will continue to use proprietary products and services because those work in the ways that web developers are used to and they make it simple for a web developer to go add voice, video and chat to a web app. Sure... they will still require the dreaded plugin/extension, but so be it... the "open standard" way is far too complicated for them to look at.

And all the work and the zillions of hours of writing emails and I-Ds that this group has done will all be for nothing. Well, not nothing... some of the telephony-centric developers will use them. But the majority of the web developers out there may not because there are other simpler, easier ways to do what they need to do.

So I go back to the question - who are we building RTCWEB for?

Is the goal to enable the zillions of web developers out to be able to use real-time communications in new and innovative ways? Or is it solely to make it so that VoIP/UC/RTC vendors can make a softphone in the browser that calls into their call center software?

RTCWEB *can* enable both... but to me it's a question of where the priority is.

The question is - will the RTCWEB/WEBRTC API/protocol/whatever be so simple and easy that web developers will choose to use it over Flash/Phono/Twilio/Java/whatever to add RTC functions to their web apps?

If the answer is yes, we win. Open standards win. Maybe we upgrade from having a beer to having champagne.

If the answer is no, what are spending all this time for?

</rant>

Dan


NOTE: And, as I suppose must be the case with any good rant, mine was not entirely accurate. As multiple people pointed out (one example), my ending where I ask about whether people would choose the RTCWEB/WebRTC API over Flash/Phono/Twilio/Java/whatever is not entirely on target. The question is really... will vendors creating libraries like Phono choose to use the RTCWEB/WebRTC protocols/APIs or will they continue to use their own proprietary solutions?

As people pointed out, there will be a hundred different JavaScript libraries created (like Phono) that will consume the RTCWEB work... and most web developers will use those libraries and not program directly with the RTWEB/WebRTC APIs and protocols.

Fair enough... but the question remains - will the RTCWEB work make it easy enough for all those JavaScript libraries to blossom?

Others pointed out that I'm really talking about the web API that would be exposed via the W3C's work versus the low-level API coming out of the IETF. And yes, that is perhaps technically true... but the reality is that it is the same set of people working in two different mailing lists... and both efforts are contributing to the end result.

In the end, I want to see a result of all this RTCWEB/WebRTC work that developers will actually deploy and use!

I want open standards to win.


If you found this post interesting or useful, please consider either:


Can Alec Saunder Woo Developers Back to the Blackberry Platform?

Can he do it? Can he get developers to actually care enough about the Blackberry / Playbook platform to come and build apps?

Today my friend Alec Saunders, RIM's newly minted "VP of Developer Relations and Ecosystem Development", took to the stage of the Blackberry "DevCon Americas" event in San Francisco to make the case to the assembled crowd. Jim Courtney passed along to me the link to the livecast of the event and I did take a moment to tune in and check it out. (Apparently a recording will be available at some point.)

Alec has a theatre background and is always fun to watch present... he has a certain dynamic energy that is good to see. In the few minutes I watched he seemed very much in his element:

Blackberrydevcon2

Alecsaunders 1

Now, whether he will actually have any success is another question... despite his stats that the BlackBerry AppStore is more profitable for developers than the Android Marketplace, I don't know if the broader world of developers will really notice. From what I see the momentum seems to be elsewhere...

I wish him the best, though... and Alec, when you read this, you can know that some of your friends did enjoy watching the live stream! :-)


If you found this post interesting or useful, please consider either:


My FIR Report for October 3, 2011

Shel and Neville were recording Monday's "For Immediate Release" podcast episode over the weekend, so my report has already been sent in. This week I covered:

Of course, to hear all of that, you'll need to tune into Monday's edition of the FIR podcast after Shel or Neville posts it. Enjoy!

Congrats, I think, to Alec Saunders as RIM’s New VP of Developer Relations

Alecsaunders
Congratulations (I think) to my friend Alec Saunders for taking a new role as "VP of Developer Relations and Ecosystem Development" for Research In Motion (RIM), makers of the Blackberry line of mobile devices.

Or perhaps condolences are in order... somehow he has to make developing for the Blackberry sexy again to all the app developers who focus these days on the world of iOS/iPhone/iPad and the Android platform.

Alec certainly has his work cut out for him. As he writes in his post today announcing the news:

Over the last few days I’ve been in San Francisco at the Mobilize conference, and speaking with developers. It’s clear from those conversations that the primary problem we face is lack of support from application developers. My team’s job is to correct that – to win the hearts and minds of mobile developers again.

"Lack of support" probably doesn't go far enough as a statement. Any of a zillion charts will show you Blackberry's rapidly declining marketshare (particularly in the US). iPhones are dramatically outselling Blackberries and Apple is poised to launch iPhone 5 / iOS 5 / iCloud next week, pretty much assuring even more of a boost to the iOS platform and developer ecosystem.

On the Android side, recents stats show twice as many people buying Android devices as iPhones... and today's mega-launch of the Amazon Kindle Fire tablet is going to light an even larger flame under the Android ecosystem.

Plus, add in Microsoft and all they are attempting to do with the Windows Phone platform...

And somehow... in the midst of all of this...

Alec is going to try to get developers excited about developing apps for the Blackberry???

Not just for the Playbook, mind you, but for the traditional Blackberry platforms of "BBOS" and the new QNX platform. As he says in an interview posted on RIM's Blackberry Developer Blog today:

Developer evangelism is all about personal contact, listening, responding, and educating. We’re going to work very closely with the developer community, expand on support and programs that make it easy and rewarding for developers to create apps, be in the midst of developers to understand their needs and secure a great developer experience, and identify and remove the barriers developers face in supporting our platforms and doing business with us.

It's a tough task, made even more challenging by RIM's recent earnings report (or lack thereof), but if anyone has a hope of pulling it off, it's Alec. He's an exceptional communicator, marketer and salesman... and brings both a great technical depth and ability to communicate in "regular" language.

I do seriously wish him all the best! I've been a long-time fan of the Blackberry, even though I myself changed mine in for an iPhone back in 2008 or so. RIM has done some pretty amazing things in the mobile market, but as Gizmodo recently noted ("How RIM Could Save Itself"), RIM tied itself to the enterprise so tightly that it missed out on the rise of smartphones in the consumer space - and the corresponding move of those "consumer" smartphones back into the enterprise.

What will their future look like? Can they win back developers? Can they make the Blackberry ecosystem sexy again? Can it claw its way back into being a player in the smartphone market?

Alec's got a challenge before him - and I look forward to seeing what he'll do!

P.S. Up to join in the challenge? As Alec notes at the bottom of his blog post, he's hiring developer evangelists...


Other notes about Alec's new role:


Image credit: me. Taken at ITEXPO East 2010 in South Beach, Miami :-)

Video: Using an iPad to Create Tropo Applications

Stuck somewhere without a computer but with an iPad? My former colleague Chris Matthieu just posted this amusing video today of how he used only his iPad to create and deploy an application using the Tropo cloud communication service. I don't know what amused me more - that he wrote the app using his iPad... or that he filmed himself using his iPhone! Quite a deft bit of handling to make it all work:

You can, of course, register for a free Tropo.com account and start creating your own voice/SMS/IM/Twitter apps using languages like PHP, Python, JavaScript, Groovy and Ruby...

Mitel Rolls Out UC Apps for iPhone and iPad

Good to see that Mitel is joining the iOS application space with Unified Communications apps for the iPhone and iPad. These apps will work with Mitel's "Freedom" architecture to allow people to use their own iPhone or iPad device with the Mitel corporate phone system.

Per Mitel's news release, the app allows users to:

  • Search the corporate directory and click-to-dial from corporate contact list to place calls through the corporate network.
  • View missed, dialed, and received calls.
  • Access visual voicemail from your office extension and manage messages by preference rather than sequence.
  • Automatically update presence status and call routing preferences based on your location, or time of day.

Given enterprise users' desire to use their own devices, it is not surprising to see these type of apps coming out from a vendor like Mitel. It will be interesting to see how this helps Mitel in the marketplace.

Kudos to the Mitel team for creating the apps.

Video: What’s New in Voxeo Prophecy 11 and VoiceObjects 11?

Want to know the newest ways to build communications apps using Voxeo products? Want to know about IPv6, wideband audio, fax support and large-scale management of servers?

In a recent Voxeo Developer Jam Session, I explained what is new in Voxeo's Prophecy 11 and VoiceObjects 11 and how you can use them to build even larger-scale communications apps than before.

The session is available for download, as are the slides. It is also available for viewing on YouTube. If you don't know anything about Voxeo, this is also a great way to learn more about its core products.

Oh, and when you're down watching, you can download Prophecy 11 or VoiceObjects 11 for free for Windows, Linux or Mac OS X. :-)


If you found this post interesting or useful, please consider either:


Video: How to Communicate at Burning Man using OpenBTS and Tropo

Heading to Burning Man this coming week? Would you like to use your mobile phone to connect up with others on the playa in Black Rock City?

If so, check out this video from Chris Pirillo about the work being done by a team of folks to supply local cell phone coverage... the vans with satellite and cell hookups are already enroute... it uses software from OpenBTS and Tropo.com to let burners leave each other voice messages, exchange SMS messages and more. Here's the video:

And here are some blog posts that provide more information:

I'm not personally going to be at Burning Man, but this does sound very cool!


If you found this post interesting or useful, please consider either: