WebRTC A Practical Introduction Cloud Communications Alliance June 2015 Alan Quayle alan@alanquayle.com www.alanquayle.com/blog www.tadhack.com www.tadsummit.com 6/22/15 1
Objectives Introduction to WebRTC for the technically minded lay-person. Dangerous WebRTC Demos. What do developers think? Where s the money in WebRTC? Where is WebRTC going? 6/22/15 2
What The Technology Geeks Say Open, Nothing Proprietary No Plugs-Ins Multi Platform / Device
What The Standards Geeks Say WebRTC standards (Signaling) (Signaling) Set or RTC APIs for Web Browsers (Media) New protocol profile
http://webrtcbook.com 5
Real-time stuff in browser / app with no plug-ins
M2M and Telematics
Surveillance & Monitoring
Lots & Lots & Lots of Devices
Embedding Communications Everywhere!
Embedded communications In-app In-Browser In-Thing June 2015 Copyright Disruptive Analysis Ltd 2015
G.711, AMR- WB, EVS, H. Opus, VP8 264 Codec Wars
There s No Approval Process
Every Browser Gives you a Different Experience
Original web vision of WebRTC (2012 view) Web server No pre-defined signalling, IDs etc Javascript APIs W3C (connect, use cam/mic, send data) IETF RTCWeb Protocols (codecs, transport, security etc) Browser Open-source, no plug-ins P2P Voice Video Realtime Data Javascript APIs W3C (connect, use cam/mic, send data) IETF RTCWeb Protocols (codecs, transport, security etc) Browser Open-source, no plug-ins June 2015 Copyright Disruptive Analysis Ltd 2015
And in 2015: Technology purists need not apply Javascript WebRTC APIs W3C IETF RTCWeb Protocols Browser 3 rd party APIs & cloud platforms IETF RTCWeb Protocols (+maybe modifications) Built-into apps / OS ORTC API ORCA API IETF RTCWeb Protocols Browser +????? Plug-ins WebRTC is more a philosophy than a fixed standard Gateways IMS UC Call centre etc June 2015 Copyright Disruptive Analysis Ltd 2015
WebRTC on >6bn devices by 2019 7000 Million WebRTC devices worldwide, year-end 6000 5000 4000 3000 2000 Other (TV+M2M/IoT) Smartphones Tablets PCs 1000 0 2011 2012 2013 2014 2015 2016 2017 2018 2019 Source: Disruptive Analysis 2014 Edition WebRTC Report June 2015 Copyright Disruptive Analysis Ltd 2015
The WebRTC Train has left the station and it isn t going to wait for You
WebRTC is a car without wheels!
WebRTC Triangle Web Server (Application) The wheels! Peer Connection (Audio, Video, and/or Data) Browser M Browser L (Running HTML5 Application (Running HTML5 Application from Web Server) from Web Server) Both browsers running the same web application from web server Peer Connection media session is established between them Signaling is not standardized, could be SIP, Jingle, proprietary. Uses HTTP or WebSockets for transport 26
What WebRTC Means to Enterprises DEMO TIME
appear.in/alanquayle
appear.in/alanquayle
https://youtu.be/sxf9aohhasy
Let s all go back to 2010
ENTERPRISE COMMUNICATION PROBLEM #1: THE DESKTOP PHONE IS A DINOSAUR Most communication (56%) happens when people are NOT at their desk source XYZ market research Why is it still around? Call quality Conference calling Incumbency of vendors Transfers/internal call routing What will kill the desktop phone? Expensive $50 per month? People are increasingly not at their desks. Mobile phones are with people all day and now have the potential to kill the desktop phone with XYZ s help.
ENTERPRISE COMMUNICATION PROBLEM #2: USERS ARE PRISONERS OF CHOICE Desktop Phone call Desktop IM Mobile Email Desktop Voicemail Skype Fax Mobile SMS Phone call Mobile Voicemail EMS Mobile IM Colleague s Phone Push to Talk Business or Personal Numbers Yahoo! IM MSN IM Desktop Email Web Conference VoIP Client MeetMe Conference Push to X MMS Video Call Calling isn t working: 70 percent of calls are forwarded to voicemail, less than 16% leave a message and less than 5% are returned Unified Communications has made the problem worse: Human latency is now costing the US economy $1T per year XYZ solves this problem and improves productivity by 45 mins per day source XYZ market research
The secret sauce of this start-up. (which never came to pass as it was painfully too early to market)
server Lesson 1: History of WebRTC signalling app high-level library Google Talk/Hangouts libjingle low-level libraries raw Vidyo/On2 GIPS GIPS O3D camera mic network speaker screen
Lesson 1: History of WebRTC your server Your app your signalling WebRTC camera mic network speaker screen
Lesson 1: History of WebRTC 5 years ago Large gap Now Small gap Innovation slow Innovation faster
Lesson 2: WebRTC is Powerful Takes care of ICE, STUN, TURN, IPv6, DTLS, DTLS-SRTP, RTP, audio codecs, video codecs, RTCP, BWE, AGC, AEC, jitter, error concealment, audio levels, FEC, RTX, SCTP, SDP, and lots more I can't remember right now... So you don't have to (as much)
Lesson 2: WebRTC is Powerful A Hello? Hello B Bootstrap Magic! To secure, robust, low-latency, p2p audio, video, and data A Anything and everything B This is the F@$&ing Cool Bit everyone gets
Lesson 4: How to use WebRTC Your Job: 1. Exchange "bootstrap" info 2. Choose transport parameters 3. Choose media to send/recv, and when 4. Debug, debug, debug (Don't let legacy "signalling" confuse you) Debugging??? WTF!
Debug, debug, debug RTC bugs can be really tough high expectations, low reproducibility, highly variable conditions, hardware failures, lots and lots of complexity, user misunderstandings... get blamed for ISP problems :). Very common bug report "They can't hear me" Put on your detective hat :) This is were you loose people
Lesson 5: How to do RTC Well 1. Logging! 2. Stats 3. Learn the stack (so you can debug) 4. Handle events (error, state changes) 5. Don't forget: TURN, ICE restarts, device selection, mute state, resolution changes, audio-only mode, bandwidth usage 6. Watch stats: connect rate, "call" length, time to connect, time to first audio, time to first video, estimated bandwidth, sent bandwidth, received bandwidth, sent resolution, recieved resolution So what you re saying is I need to understand the guts to be able to debug L
TADHack Survey (June) Country based Pakistan, 2 Japan, 3 Canada, 2 Malaysia, 5 Italy, 2 Singapore, 2 Tunisia, 2 UK, 5 Germany, 3 Nigeria, 2 Brasil, 2 Spain, 49 Philippines, 17 Russia, 3 India, 6 Belgium, 7 Netherlands, 5 Slovakia, 2 Hungary, 5 USA, 14 Mexico, 15 Sri Lanka, 35 We used the TADHack Survey respondents from June to better understand what people other than the choir thought about WebRTC 47
TADHack Survey (June) What s their Business? Tech Vendor 24 System Integrator 18 Platform Provider 16 Total of 188 Responses Consulting 4 Telco 16 App Developer 75 Student 35 App developers and Students were the top 2 targets for TADHack. We engaged with the Illinois Institute of Technology Real Time Communications Lab as well as the Universidad Rey Juan Carlos ICT Department which bumped up student developer numbers.
Pre-Event Results: What Tech are of most interest to your projects? 80.0% 70.0% 60.0% 50.0% 40.0% 30.0% 20.0% 10.0% 0.0% 42.6% Telecom app servers (in call services) 68.1% Telecom APIs Communications (calling and messaging) 44.7% Telecom APIs Payments 53.2% Telecom APIs Profile (Location, device info, subscription info) 48.9% FOSS (Free and Open Source Software) 55.3% WebRTC 51.1% Then we did some unscientific analysis we asked the people who are NOT interested in WebRTC what they thought about it because lets face it all telecom application developers 49 should be interested in WebRTC Development tools
So we asked them (60) some questions Have you played with WebRTC? o Yes 50 o No 10 What did you think? just a few of the quotes o o o o o Outside of Chrome to Chrome we could not get it to work most of the time, so gave up Using WebRTC video on mobile phones seriously eats the battery life, we love it, but for our application its not viable with WebRTC Isn t WebRTC still in development? Its much more complex than just the browser specification, there are many WebRTC API providers, other service vendors, and SDK vendors that you have to be an expert to even understand their offer never mind comparing the offers We use WebRTC data channel in two of our experimental applications, its good, it does requires constant maintenance as browsers get updated, so we ve not included it in any of our commercial offers yet. Once things get more stabilized we ll think about it.
A view on where we are with WebRTC Early Explorers Wild West Civil War Progressive Era Modern Era My view on where we are with WebRTC. We re in the wild west after the early explorers have mapped some of the landscape, with the privacy and security issues better managed, we ll see the big guys war it out, and with the market deciding we ll enter a progressive era where the dominant innovations from the war are consolidated into standards. All ending in the modern era where WebRTC is ubiquitous and no longer really mentioned, its just there.
Question: Would you base a service or business model entirely on CSS or HTML5 (of which WebRTC is part)? No, that would be silly, its just a technology You generally need more than WebRTC For extending existing businesses and services you need partners to manage away the complexity away For hardcore blue-sky innovation knock yourself out, as WebRTC has the potential to do amazing hacks when mashed up
$100B Ecosystem!