Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ClueCon 2016: Should you use WebRTC?

1,134 views

Published on

Clarifying common concerns/excuses for not doing WebRTC, including: ORTC vs. WebRTC standards battle, video codec interoperability, Microsoft support, Apple support, future of Flash/RTMFP, standards status, and WebRTC bugs. Includes some pointers for dealing with the unique nature of WebRTC.

Published in: Internet
  • Be the first to comment

ClueCon 2016: Should you use WebRTC?

  1. 1. Should you use WebRTC? ClueCon 10 August 2016
  2. 2. 11 August 2016 2
  3. 3. 3 Common reasons (/excuses) to stay on the couch with WebRTC • ORTC vs. WebRTC – I don’t want to pick the wrong side • No one is using the same codecs (VP8 vs. H.264) • Microsoft doesn’t support WebRTC • Apple doesn’t support WebRTC • I can keep using flash • Standards aren’t done • WebRTC is buggy
  4. 4. 11 August 2016 4 vs. Image source: USA Today, http://www.usatoday.com/story/sports/olympics/2013/02/14/olympic-wrestling-us-russia-iran/1921527/
  5. 5. NV Standards converge © 2016 Chad Wallace Hart Consulting The next version of WebRTC incorporates what’s new in ORTC while maintaining backward compatibility with today’s WebRTC
  6. 6. Many ORTC objects are already in WebRTC 1.0 PeerConnection .getSenders() .getReceivers() // Name TBD .addTransceiver(kind) .sctp ... RtpSender .track .transport .getCapabilities() .getParameters() .setParameters(params) .replaceTrack(track) ... RtpReceiver .track .transport .getCapabilities() .getContributingSources() ... DtlsTransport .transport .state .getRemoteCertificates() .onstatechange ... IceTransport .state .getLocalParameters(), .getRemoteParameters(), .getLocalCandidates() .getRemoteCandidates() .getSelectedCandidatePair() .onstatechange ... SctpTransport .transport DataChannel .transport RtpParameters .codecs .encodings ... RtpCodecParameters (read only) .mimeType .payloadType ... RtpEncodingParameters .active .maxBandwidth (read only) .ssrc ... IceParameters (read only) .usernameFragment .password DtlsParameters ... Source: https://docs.google.com/presentation/d/1oDVgPQtYpQNRkgiP51OQJS1sOW6mjWcGvp129Bovd28
  7. 7. What you can do with WebRTC 1.0 objects • "Warm up" media path while the getting a track and ringing • Change the send codec (without SDP munging) • Change the camera source instantly (front to back) • Enable/disable sending of media instantly (without signalling) • Set a max bandwidth • Obtain detailed status of individual ICE and DTLS transports Source: https://docs.google.com/presentation/d/1oDVgPQtYpQNRkgiP51OQJS1sOW6mjWcGvp129Bovd28
  8. 8. 11 August 2016 ClueCon 2016 8 ORTC vs. WebRTC – I don’t want to pick the wrong side
  9. 9. 11 August 2016 ClueCon 2016 9 ORTC is part of WebRTC and will be further integrated in NV… eventually
  10. 10. 11 August 2016 Chad Wallace Hart 10
  11. 11. 11 August 2016 Chad Wallace Hart 11 Image source: http://www.quotationof.com/gallery/win-win-situation-quotes-5.jpg.html Outcome: everybody wins • H.264 install base camp got H.264 as a mandatory codec • Royalty free camp has set the path for a royalty free codec world in the future through the Alliance for Open Media
  12. 12. 12 Everyone does H.264/AVC now.. mostly 11 August 2016 https://groups.google.com/forum/#!topic/discuss-webrtc/bDfxOA8XiJI https://blogs.windows.com/msedgedev/2016/05/27/previewing-h-264avc-for-ortc/ Behind a flag
  13. 13. 11 August 2016 13 No one is using the same video codecs (VP8 vs. H.264) Everyone supports H.264
  14. 14. What’s Microsoft Doing? 11 August 2016 14
  15. 15. 11 August 2016 15 WebRTC at Microsoft BROWSER NATIVECOMMS APP >100M Users >300M MAUInstall base >350M Win 10 users ORTC+WebRTC Skype for Web moving to WebRTC Adding Visual Studio tooling that includes WebRTC + 8.1 install base
  16. 16. Edge is growing, but still tiny http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
  17. 17. IE will continue to have meaninful share for some time http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
  18. 18. 11 August 2016 18 Microsoft doesn’t support WebRTC
  19. 19. 11 August 2016 19 Microsoft started late, but is now is doing quite a bit with WebRTC
  20. 20. Rotten Apple 11 August 2016 20
  21. 21. 21 3 ways Apple hurts WebRTC 11 August 2016 Safari Other Browser Apps on iOS WebView for iOS No support for desktop or mobile No support for easy native apps No one else is allowed to make a WebRTC Browser
  22. 22. Apple Challenge: who do you care about? WebRTC Support Within OS Share All Browser Share* All Time Share* Desktop browser Safari on OSX x ~50% ~2% ~1% Chrome/Firefox on OSX ~50% ~2% ~1% iOS Browser Safari on iOS ~70% ~20% ~2% Chrome/Firefox on iOS ~30% ~10% ~1% Mobile iOSapp Webview on iOS - - ~20% Bring your own RTC on iOS x May 18, 2016 © 2016 Chad Wallace Hart Consulting 22 Share figures are rough estimates from Chad Wallace Hart consulting and statcounter.com* Desktop & mobile
  23. 23. 11 August 2016 Chad Wallace Hart 24 Apple doesn’t support WebRTC
  24. 24. 11 August 2016 Chad Wallace Hart 25 Apple has no WebRTC support on Safari or on any* iOS browser today, but they are actively developing WebRTC
  25. 25. How Facebook handles browsers without WebRTC May 18, 2016 © 2016 Chad Wallace Hart Consulting 26
  26. 26. What about Flash RTMP/RTMFP? 11 August 2016 Chad Wallace Hart 27
  27. 27. Chrome is killing flash 11 August 2016 Chad Wallace Hart 28 https://chrome.googleblog.com/2016/08/flash-and-chrome.html
  28. 28. Firefox isn’t far behind 11 August 2016 Chad Wallace Hart 29 https://blog.mozilla.org/futurereleases/2016/07/20/reducing-adobe-flash-usage-in-firefox/
  29. 29. ❌ ✔ ✔ WebRTC in Flash vendors 11 August 2016 Chad Wallace Hart 30
  30. 30. 11 August 2016 Chad Wallace Hart 31 I can keep using flash
  31. 31. About standards… 11 August 2016 Chad Wallace Hart 32
  32. 32. 🙂 11 August 2016 Chad Wallace Hart 33 https://www.w3.org/TR/mediacapture-streams/ Ready to go!
  33. 33. Still not done… 11 August 2016 Chad Wallace Hart 34 https://www.w3.org/TR/webrtc/ 🙂
  34. 34. 11 August 2016 Chad Wallace Hart 35 Standards aren’t done
  35. 35. Google’s 5-year stats • 2 Billion+ WebRTC Browsers • 1 Billion+ minutes/week • 950+ companies & projects • 5 Billion+ WebRTC app downloads https://groups.google.com/forum/#!topic/discuss-webrtc/I0GqzwfKJfQ https://docs.google.com/presentation/d/1JwnW6v3OM0RfoDYrPPTJrDNeIpidgh7hF _k5E1j2oKM/edit?usp=sharing
  36. 36. 37
  37. 37. 11 August 2016 Chad Wallace Hart 38 WebRTC is Buggy bugs aren’t a good excuse when you have..
  38. 38. WebRTC works for billions of users 11 August 2016 Chad Wallace Hart 39
  39. 39. WebRTC works for billions of users 11 August 2016 Chad Wallace Hart 40
  40. 40. WebRTC works for billions of users 11 August 2016 Chad Wallace Hart 41 https://webrtchacks.com/facebook-webrtc/
  41. 41. WebRTC works for billions of users https://webrtchacks.com/mayday-trace/ May 18, 2016 © 2016 Chad Wallace Hart Consulting 42
  42. 42. 192.168.1.122 Kindle RFC5766 -TURN- Server ec2-54-227-235-160.compute-1.amazonaws.com SBC? na4.edge-gacd.amazon.com Web Signaling Kconnect-us.amazon.com Amazon Kindle HDX Mayday button Wireshark trace Amazon in 2013 43 http://webrtchacks.com/mayday-trace/ Note they are running a WebRTC to SIP gateway
  43. 43. Don’t be scared, 11 August 2016 Chad Wallace Hart 44
  44. 44. Be adaptive 11 August 2016 Chad Wallace Hart 45 https://webrtc.github.io/adapter/adapter-latest.js
  45. 45. Be early 11 August 2016 Chad Wallace Hart 46 Insider Preview (slow) Insider Preview (fast) Use the browser release cycle to find issues early
  46. 46. Be continuous 11 August 2016 Chad Wallace Hart 47 Continuous Integration/Deployment
  47. 47. Be integrated Telecom Networks Client Vendor 1 Telco 1 Telco 2 Client Vendor 2 Enterprise Networks Web Comms Networks Handset 1 Telco UC vendor PBX SBC app web Webco Webco Webco app web app web © 2016 Chad Wallace Hart Consulting You can’t pawn your client problems off to an endpoint vendor – you are the end point provider
  48. 48. Be at the front-end 11 August 2016 Chad Wallace Hart 49 Get good at the front-end and optimizing the user experience
  49. 49. Be part of the community .org ++way more than you can stick on a slide… May 18, 2016 © 2016 Chad Wallace Hart Consulting 50 Join the 1000’s of man-hours of work put in already to make WebRTC better
  50. 50. About Me 11 August 2016 Chad Wallace Hart 51 Head of Strategic Products https://www.voxbone.com cwhart@voxbone.com A blog for WebRTC developers https://webrtcHacks.com @webrtcHacks WebRTC events & videos https://www.krankygeek.com/ @webrtclive @chadwallacehart chad@chadwallacehart.com

×