Monday, August 31, 2015

Commandeering WebRTC from the telco industry

Why is it that every time some really compelling Internet based technology comes along related to real-time communications, the telco industry ends up turning it into something so complicated that the average web developer is repelled by it? For example:
  • Session Initiation Protocol (SIP): SIP started out looking very similar to HTTP. Simple, elegant and powerful. It now consist of so many RFCs that the average web developer doesn't want to have anything to do with it. 
  • IP Multimedia Subsystem (IMS): IMS is the basis for Voice over LTE (VoLTE). Somehow this thing evolved out of the early days of Voip, mostly because of the need to replace the legacy, circuit-switched SS7 network with something digital. 
The complexity of IMS is staggering. What's even scarier is that enterprise telephony networks have become so complicated that companies are being convinced to deploy IMS core networks as a way to get control over the huge rats nest of PBXs and networking equipment that showed up after years of acquisitions. All this with the additional promise that these new IMS cores will also handle their future, over the top, WebRTC based applications. Yikes!

Part of the problem here is that the telco industry has an enormous set of legacy services and infrastructure that are primarily subscriber driven. By subscriber driven, I'm referring to an infrastructure built around users who have signed up with a service provider and are paying that provider for a set of calling services (call forwarding, call blocking, etc.). When your primary source of revenue for years relied on the basic need to connect subscribers together using telephone numbers, building up an infrastructure to support making money from this through value added services made sense. The problem is that the world has changed. If you don't think so ask your teenage daughter the last time she called one of her friends (instead of one of her uncool parents) on her cell phone. In my case the answer was never.

The world is now data driven. The companies that get this will win. The rest will die a slow death. Enterprises are heavily investing now in Systems of Engagement which bring their mission critical data (aka gold in 21st century) closer to their clients. For real-time communications, especially WebRTC, data means context.

Repeat this over and over to yourself: The future of real-time communications will be driven by context instead of subscriber based services. 

This is especially true in the workplace. Think about it. How often do you call someone at work to discuss something that would not be enhanced with contextual data? Again, for me the answer is almost never. Whether its a design I'm working on, a planning meeting, whatever. There is nearly always some data element that provides the subtext for the real-time interaction. In many cases the ability to quickly connect with the parties that are interested in that data is way more valuable to me than a list of phone numbers. Never mind the fact that people's association with the context continuously changes over time.

When you start looking at WebRTC through a contextual lens, the world of real-time communications has a very different feel. In this brave new world, web based security models like oAuth and LTPA make more sense than Diameter and Home Subscriber Servers (IMS lingo for you telco outsiders), Simple yet extremely powerful and scalable pub/sub messaging protocols like MQTT replace heavyweight signaling protocols like SIP and the list goes on.

Don't get me wrong. There will always be a need to federate using standards like SIP and IMS if you want to communicate using, lets say, a more traditional means. I'm just making the point that if you really want to be an innovator in this space and, more importantly, you want to meet the future demands of your web and mobile based users, don't be fooled by the telco industry into thinking there is only one way to do it.

There was a very good reason the creators of WebRTC didn't include call signaling with the standard. They didn't want to stifle creativity and limit the technology. If you work for a web and/or mobile based company (which if you're reading this is highly likely), and you're starting to think about how you want to take advantage of WebRTC, my suggestion is to look at technologies that enable a data centric approach and never look back. Your users will thank you and so will the developers who are building your systems of engagement.

Thursday, June 4, 2015

An open letter to Apple from a WebRTC believer!

Dear Apple,

You've always been there for me in the past when I really needed you so please don't take this the wrong way but I've been holding this in for way too long.

When I think back to the way it used to be with us it was always so perfect. I remember when you gave me my first mouse. It was so cool! It only had one button but it did everything for me back then. I'll never forget those days when Microsoft was bullying everybody on the block. You were that friend that I could always turn to who would take up for me. And now this?

I have to admit, when you started getting really popular I was worried you would forget about me. At first it was all fun and games with my iPod. We were BFFs for so long and then the iPhone and iPad came along and it seemed like the whole world was your friend. Then all of a sudden weird stuff started happening. First, all the record stores started disappearing and then all of a sudden it felt like you were making me do things I didn't want to do. A new iPhone every two years, an iPad in every room, an attachment for my TV, an even sleeker iMac, HELP!

It all happened so fast but now its all come down to this one last plea. Please stop holding the whole WebRTC industry hostage!

I know it must be really hard to accept that this really cool technology came from someone else. Especially someone that's so hip with the kids. I understand. I really do, but isn't unleashing massive innovation more important? Aren't there times when you look in the mirror and remember how fun it was to be a part of an industry wide technology transformation? Can you imagine what a hero you would be?

Come on. Enough is enough. Please bring your toys back outside for all of us to play with and start supporting WebRTC. Pretty please?

Love,
Brian

Wednesday, June 3, 2015

Why I love IBM BlueMix...

So over the last six months I've been spending a lot of time with IBM's new SaaS (or PaaS depending on how you use it) called BlueMix. I've created several sample applications with it and even though its far from perfect, I believe its one of the most compelling technologies to come out of IBM in a very long time. Here are just a few thoughts from the front lines.

First, I love the way application servers like WebSphere Liberty and Node.js are integrated into BlueMix. Its so easy to deploy applications and modules to both of these run times, especially when using tools like the BlueMix eclipse plugin. I will say that I did hit a few issues when trying to deploy not only an application but a modified WebSphere Liberty server.xml and had to switch to using the cloud foundry command line tool but that was a minor inconvenience.

Second, the set of available BlueMix services is unreal. All the ones you would expect are here like MQ and MongoDB (which is actually a third party service) but beyond that are all kinds of services ranging from a huge assortment of analytic tools (from the Watson technology suite) to Single Sign On tools that support oAuth (using Google+, LinkedIn or Facebook) and everything in between. Do yourself a favor and at least browse the BlueMix catalog before making a decision on which SaaS platform you plan to use.

I've personally built applications using WebSphere Liberty, Node.js, MongoDB, the SSO service and a BlueMix VM running an unreleased version of the WebSphere Liberty rtcomm-1.0 feature. All have worked really well and the service itself has been very reliable for me.

Like any new platform I did run into hickups along the way. For instance, I had a little trouble getting oAuth working with Facebook using the new SSO service and some of the Eclipse tooling still has some issues but the BlueMix support team was very responsive and helpful and I managed to find simple workarounds to most of the issues I ran into.

Having the ability to build an application and have it running live on the internet in days or weeks is a beautiful thing. I use BlueMix for demos on almost a daily basis these days and I plan on using it for many years to come. The amount of technology that BlueMix puts at the fingertips of the average developer is just staggering. We're talking thousands of person years worth of technology. I heard IBM Fellow Gerry Cuomo recently say that its an amazing time to be a developer. I couldn't agree more!