Archive | communications RSS for this section

WebRTC in 2017

The road to the promised land.

For more than 6 years, we have been working on and looking forward to a simpler way to build RTC (Real Time Communications) applications on the web. In order for this technology to truly show its value, the major browser vendors needed to show up.

Now, it’s a reality!

Screen Shot 2017-06-12 at 5.07.26 PM

macOS SierraLeft: Safari Preview 32 (Safari 11.0, WebKit 12604.1.23.0.4) using H.264  Right: Chrome Version 58.0.3029.110 (64-bit). https://webrtc.github.io/samples/ using H.264

Mobile, mobile, mobile.

Now that Apple has joined the party in earnest, does the technology have the coverage required in order for developers to make good use of WebRTC on mobile devices? Let’s find out.

Until now, in order for WebRTC to work on iOS, we were relegated to wrapping WebRTC code in Objective-C and Swift, in our native iOS apps. Basically, we had to take the Chrome code and build an app that was sent to the app store for approval and wait in line, like all the other chumps (yours truly included). Conversely, on Android we could run much of that same code from our desktop Chrome apps, on the Android device as well, within reason of course.

Now that Safari and Chrome are shipping compatible WebRTC on mobile, we get to reuse the same code, right!? Well, mostly, they are different code bases, after all.

A word about hardware acceleration.

If ubiquitous mobile video is to take off, the battery life of the device has to last more than the length of the 10 minute video call (ok, I am exaggerating a bit, but I think you get the point) and the performance needs to be at least adequate enough to distinguish facial features. My bar is set a little higher, baby steps for now.

Without h/w acceleration the CPU is likely working too hard to encode the local video and decode the inbound video + service the other processes required at the same time. That really means there needs to be hardware onboard the device dedicated to video coding. That in turn means H.264, since there are very few vendors that offer VP8 or VP9 h/w acceleration.

Question: Does this mean that mobile apps written with VP8 will not be able to deliver decent mobile video conferencing?

Answer: No, not at all, but they will likely not be as performant as those taking advantage of hardware acceleration.

Suffice to say that SVC (Scalable Video Coding) usage would be another reason why we need h/w acceleration, but that’s for another day.

Who’s using what?

The majority of desktop and mobile WebRTC apps written today, are using VP8 for video.

Since Apple and Microsoft both use H.264 and Google uses VP8 and H.264 (recently shipped Open H.264 – on the desktop and mobile). Also, many of the Enterprise RTC developers are already on that H.264 bandwagon.

Question: If Apple and Microsoft devices ship with H.264, what is the case with Google Chrome on desktops and android, are they preferencing VP8?

Answer: Chrome for desktop and android now have H.264 native. Many of the Android devices that ship today all have H.264 hardware acceleration onboard. In order to understand which units have H.264 and hardware acceleration, you can run use the Android APIs to pull a list of available codecs, but in the case of WebRTC, you will only get H.264 in Android WebRTC if there is a h/w encoder on the device.

Is H.264 the answer for WebRTC video?

Here is a recent test:
Host 1 – (before joining):
macOS Sierra, Macbook, Safari (Technology Preview 32)

Screen Shot 2017-06-13 at 1.17.11 PM

Host 2 (after joining):
Android 7, Samsung 7, Chrome 55

chrome-android

setRemoteDescription OperationError: Failed to set remote video description and params.     Likely because Safari is not seeing H.264 on Android.

Host 1 (after joining):

Screen Shot 2017-06-13 at 1.39.57 PM

According to the Chrome Status page, Chrome for Android should have H.264. So why is the session barfing when trying to set up video? The logs do not lie…

Safari – offer:
a=rtpmap:96 red/90000
a=rtpmap:98 ulpfec/90000
a=rtpmap:99 H264/90000

Chrome on android – answer:
a=rtpmap:96 red/90000
a=rtpmap:98 ulpfec/90000
a=rtpmap:97 rtx/90000

Err, huh? No H.264 in reply?
So, I updated to latest Chrome on android (58) and tried again…

Screen Shot 2017-06-13 at 5.26.44 PM
et voilà!!

Next topic, paying the man!

Shipping your product with H.264 enabled, means you may potentially need to deal with the MPEG-LA royalty police for H.264 royalties, but there are some grey areas.

In the case of Apple and Microsoft, where H.264 royalties are already being paid for by the parent vendor, the WebRTC developer is riding on the coattails of papa bear, at least in theory.

Cisco’s generous OpenH.264 offer means that those using this binary module, can do so at potentially no cost:

We will not pass on our MPEG-LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use on supported platforms.

Q: If I use the source code in my product, and then distribute that product on my own, will Cisco cover the MPEG LA licensing fees which I’d otherwise have to pay?

A: No. Cisco is only covering the licensing fees for its own binary module, and products or projects that utilize it must download it at the time the product or project is installed on the user’s computer or device. Cisco will not be liable for any licensing fees incurred by other parties.

That seems to mean (I am no lawyer) every developer shipping WebRTC apps supporting Open H.264 binary module, get a free ride. Those using some other binary, or shipping the above source code for that module, could be on the hook for those royalties. That said, since there are royalties being paid by parent vendors where devices are shipping H.264 anyways, developers may not get hassled regardless.

Summary:

So what did we learn here?

  • Apple has joined the party, now we have a full complement of browser vendors!
  • If you want to leverage WebRTC video to deliver a ubiquitous mobile and desktop experience for your users, you should likely consider including both H.264 and VP8.
  • VP8 is (still) free and powers most of the WebRTC video out there today.
  • You can make use of the Open H.264 project and get a free H.264 ride, albeit baseline AVC.
  • WebRTC on Android does not support software encoding of H.264, so unless there is local hardware acceleration, H.264 will not be in the offer.
  • H.264 is not fully enabled (or buggy) in Chrome 55 (I was using it on Samsung S7 Edge (Android 7), but it does work with Chrome 58.
  • WebRTC is not DOA!
  • SDP still sucks and ORTC can’t come soon enough!!

The W3C and IETF are also closing in on shipping WebRTC as a web standard, here’s a great update from Google on that as well. Latest W3C WebRTC editor’s draft, latest charter.

As a side note, it would be interesting to see something like this open sourced; VP8 / H.264 conversion without transcoding, if only to service the existing desktop apps currently running VP8 <-> mobile H.264. It would likely overwhelm the mobile device, but it would be cool if it worked!

Disclaimer: The views expressed by me are mine alone and do not necessarily represent the views or opinions of my employer.

PulverHWC – How We Communicate

Next week I will be joining friends old and new at PulverHWC to rediscover – How We Communicate.

Here is an email from Jeff Pulver inviting all of you to join us in Los Gatos for what is sure to be a landmark occasion.

Hope to see you there!

Erik


The Keys to the Communications Universe

Next week I return to doing the one thing that I love best – bringing together brilliant, interesting people.

Leaders, visionaries, dreamers and market makers from the worldwide communications industry have accepted my invitation to take part in the Pulver HWC Summit, May 18 – 19 at Testarossa Winery in Los Gatos, CA. I am grateful for both the people who are speaking and the tech legends who have signed up to join us for an intimate conversation. I believe understanding the message behind “How We Communicate” (“HWC”) is the next great area of growth in the communications space. Trillions of dollars of opportunity will be created and there are relationships to be forged, deals to be made, and knowledge to be shared.

There are a limited number of tickets still for sale. To join the conversation and to register, please click here. I would appreciate it if you could share this email with your friends and family involved in the communications industry.

Thank you!

Warm hugs, Jeff

Vancouver WebRTC – Meetup 2 @PlentyofFish

With more than 40 members and growing, Vancouver WebRTC now has a new venue! Chris Simpson from PoF rallied to get us into their new presentation lounge, the “Aquarium”, thanks Chris!

IMG_4459-1 IMG_4456-1IMG_4458-1

Our next event is on June 25th from 6-8pm and we have a great evening planned with Omnistream and Perch presenting!

Come check it out!

hookflash – my new startup

hookflashhookflash is launching, on a stage, somewhere, later this year.

Sign up at hookflash.com and you will be among the first to know.

 

 

WebRTC is live. Flash, take cover!

Update 2: To the hundreds/thousands of repetitive spam tweets / twits, “Will WebRTC replace / kill Skype”, the answer is NO!! It will not. WebRTC is using broken Jingle in the browser, it does not support chat and can only make and receive calls., there is no buddy / contact list to speak of etc etc. NO it will not replace Skype. Stop with the spam tweets already, please!

Update: It seems to me that until all the browsers are on board, native clients will be required to make this go. Which is not outside the realm of possibility, considering Google has open sourced the GIPS audio and video engine along with WebRTC.

Something to remember, WebRTC is not RTCWEB! It may sound silly but it’s true. WebRTC is a Google-centric project using Google code etc.  RTCWEB is essentially an IETF effort, a working group driving towards open real-time communications on the web. They are not the same, which can be rather confusing.

— Original Post —

Google has been busy it would seem, last night WebRTC appeared to the public for the first time. This has some pretty serious implications for Flash, which was the de-facto technology one had to use to get real-time communications in a browser, that has now been circumvented, at least to a certain degree.

The sessions are not run by a signaling protocol per se, not Jingle, no XMPP, not SIP not anything we have seen before. All the session management looks to be coming from libjingle. Which, to me means Jingle is in the browser.

A few early comments:

1. Where does Google stand on websockets? Google have said they will block it if an exploit emerges.

2. Chrome, Opera & Firefox are the supported browsers. Where does Safari and IE land? My guess is that Microsoft will not be in any hurry to implement this considering their recent Skype acquisition.

3. Web-cam captures from HTM5 has not been ratified, although this is likely not as serious as the former points.

Open and secure alternative to Skype

Imagine a new secure P2P (Skype like) offer that also supported SIP in the client. You could use the client software on it’s own (just like Skype) or attach it to just about any VoIP service or phone system for free.

Does it make sense for consumers?
Does it make sense for business users?
Is there room in the market?
Would you use it?

Martyn Davies chimes in…

I would use it, but as a telecom industry insider, I know that I’m not the average business user or consumer. As to whether there is room in the market, I think that depends a lot on what Microsoft do with Skype now that they own it. From a business point-of-view, their efforts are focused around OCS/Lync (and software licenses), so Skype there is not adding to their central proposition. Skype has a lot of users, but produces very little revenue, since the majority just use the free services. As a Skype competitor you would have the same problems getting to the cash.

Skype was really the first company to take VoIP and make it completely trivial to install and use. To do that, they had to take some liberties and deviate from standards (like SIP), so that they could add the magic that made it work from behind firewalls, add security and self-configuration, and integrate video so seamlessly. Like Facebook, once it is clearly the biggest of its kind of services, it becomes the community that everyone must join. I can’t see that another Skype-alike has a way in, unless Microsoft significantly change the rules now.

What do you think?

Organizational Transformation Calls for a New Communications Infrastructure

Rise of the Virtual Organization

Today, we are witnessing a powerful transformation in the business space. The very nature of the workplace is changing, as more and more people are working in locations that are different from those of their colleagues, managers and direct reports. It’s no longer the case that road warriors—sales people, service personnel and executive management—are the only people who routinely work outside the office. These days, everyone from contact-center agents to HR managers to general knowledge workers are likely to spend at least some of their time working from a remote or home-based location, and as the lines between home life and work life continue to blur, many employee find themselves “on the job” even as they watch their kids’ soccer games or commute on the train to the work.

One key factor driving organizational sprawl is the globalization of business. As businesses tap into new markets looking to expand customer reach and grow revenues, they also acquire local talent and maintain local presence through a growing number of branch offices and remote sites. As a result, functional teams increasingly span multiple, geographically dispersed locations.

But there is also a growing tendency to offer employees a better, more balanced life style. Many businesses today are creating flexible work programs – with flexibility extending to both employee workplace and working hours. Such programs enable businesses to accomplish three key objectives:

  1. Reduce facilities costs (including real estate, utilities, equipment, furniture, etc.),
  2. Reduce employee commuting costs and improve employee satisfaction and retention (and possibly productivity),
  3. Spare the environment by reducing fuel emissions.

Some refer to these benefits as the Triple Bottom Line. There’s no doubt that the virtual workplace offers significant advantages to companies and their employees. Myriad third-party research supports the benefits. For instance, in a 2009 study, the Institute for Corporate Productivity (i4cp) reports that 84% of companies believe that flexible work arrangements in their organization boost employee morale. That’s up from 76% over 2008. And 78% of polled companies say flexwork options bolster retention rates, up from 64% the previous year.”[1]

Meanwhile, a 2008 report from Corporate Voices for Working Families[2] notes that in a 2007 survey of senior-level executives at large corporations, respondents reported an overwhelmingly positive experience with flexible work strategies. By a ratio of 9-to-1, respondents reported that flexible work strategies have a positive effect on helping organizations reach business goals.


[1] http://www.i4cp.com/news/2009/08/17/i4cp-study-flexible-work-arrangements-gaining-more-attention-in-the-workplace

[2] http://www.cvworkingfamilies.org/system/files/FlexibleWorkStrategiesExecutiveSummary.pdf

Mobility and Mobile Communications Drive a Paradigm Shift

Mobile communications have brought down the walls of the confined business space and the physical establishment. Individuals can now communicate and do business from their homes, cars, airports and hotel rooms, virtually anywhere.

Today’s employees are much more tech-savvy than they have ever been before. They have access to various high-end communications and collaboration tools as consumers and they demand the same tools and capabilities in the workplace as well. We acknowledge a growing trend of “consumerization” in the enterprise, which manifests itself in the increasing use of consumer devices, applications and tools for business purposes, with or without the official support of the IT department. This trend is most evident in the use of mobile devices – smart phones, tablets, and so on. A 2010 Frost & Sullivan survey of 200 North America-based C-level executives and IT managers revealed that 70% of the respondents used mobile devices for business purposes, and 49% claimed that mobile devices represented the primary communications endpoints used by the majority of users in the organization.

Consumerization is having a significant impact on technology investment decisions in the enterprise. Business IT and telecom managers have been somewhat reluctant to support all these consumer devices and applications, mostly due to cost, interoperability and security concerns. In fact, only 50% of the respondents in our survey reported that their mobile devices were integrated with the corporate communications systems and applications. Yet, 91% of those respondents reported that mobile extensions of corporate communications were either very important (61%) or somewhat important (30%) to their daily operations.

Discussions with CTO and CIO professionals reveal that technology investment decisions now involve a variety of stakeholders. Line-of-business (LOB) managers and even end users are forcing IT to take into account their preferences and needs when deploying new technologies and solutions. In fact, end users are the primary driving force behind the adoption of advanced mobile devices in the workplace. Going forward, as the workforce becomes increasingly mobile, IT will need to support the right set of mobile communications tools to enable employees to communicate and collaborate more effectively.

So What Can you Do? Gain a Competitive Advantage through Advanced Communications Solutions

The changing nature of today’s dispersed and diverse workforce demands employees be able to access a wide array of collaborative communications tools, regardless of the de-vices they’re using, or where they’re using them. Mobile workers, teleworkers, “corridor” warriors and the so-called “digital generation” have varied needs, but they all share several things in common:

  • They require an “in-office” communications experience regardless of where they are based;
  • They use a diverse set of software tools and devices to communicate (ranging from, but not limited to, instant messaging, web and video conferencing, soft and hard phones, social media, Blackberries, Android phones, iPads and iPhones, and even lowly PCs.).
  • Users and business managers wish to be able to present a uniform public identity – a single number and a single mail box where users can be reached by customers, partners and co-workers.

Companies must embrace the virtual workplace, but as they do so, they must deploy technology that supports this new way of working. Communications solutions must conform to the needs of individuals and to specific job functions, not the other way around.

How do you Chose the Right Solution for your Organization?

I was recently on a panel with Jim Davies, Mitel’s CTO, discussing evolving business needs and changing requirements for communications solutions. Jim talked about the founding principles of Mitel’s Freedom Architecture and I found those in line with key market trends. Mitel’s next-generation architecture is based on the following building blocks:

  • Flexible, software-based solutions that allow integration with other vendors’ best-of-breed technologies,
  • Support for a broad range of endpoints, including UC application support on a variety of mobile devices such as Nokia, Windows Mobile, Blackberry, Android and iPhone smartphones,
  • Alternative deployment models including on-premises virtualization, Mitel-hosted cloud (Mitel AnyWare) or carrier-hosted solutions (Multi-instance MCD).

Fred Crespo, VP of Information Technologies at Rosewood Hotels and Resorts, who was also on the panel, affirmed, that the walled-garden approach is no longer acceptable to end users. He also gave examples of employees demanding support for the mobile devices of their choice and the resulting need for proper integration with the rest of the company’s communications infrastructure.

Businesses looking to future-proof their investments need to develop their next-generation architectures taking the above factors into consideration. A business’ communications infrastructure must support a single user identity and integrated access to a variety of communications software and devices for a user without adding cost and complexity. That technology should be open and flexible, software-based, and be able to run on any device and accessed from anywhere.

%d bloggers like this: