Should you use WebRTC?
ClueCon
10 August 2016
11 August 2016 2
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
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/
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
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
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
11 August 2016 ClueCon 2016 8
ORTC vs. WebRTC – I don’t want to pick the wrong side
11 August 2016 ClueCon 2016 9
ORTC is part of WebRTC and will be further integrated
in NV… eventually
11 August 2016 Chad Wallace Hart 10
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
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
11 August 2016 13
No one is using the same video codecs (VP8 vs. H.264)
Everyone supports H.264
What’s Microsoft Doing?
11 August 2016 14
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
Edge is growing,
but still tiny
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
IE will continue to
have meaninful
share for some time
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
11 August 2016 18
Microsoft doesn’t support WebRTC
11 August 2016 19
Microsoft started late, but is now is doing
quite a bit with WebRTC
Rotten Apple
11 August 2016 20
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
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
11 August 2016 Chad Wallace Hart 24
Apple doesn’t support WebRTC
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
How Facebook handles browsers without
WebRTC
May 18, 2016 © 2016 Chad Wallace Hart Consulting 26
What about Flash RTMP/RTMFP?
11 August 2016 Chad Wallace Hart 27
Chrome is killing flash
11 August 2016 Chad Wallace Hart 28
https://chrome.googleblog.com/2016/08/flash-and-chrome.html
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/
❌ ✔ ✔
WebRTC in Flash vendors
11 August 2016 Chad Wallace Hart 30
11 August 2016 Chad Wallace Hart 31
I can keep using flash
About standards…
11 August 2016 Chad Wallace Hart 32
🙂
11 August 2016 Chad Wallace Hart 33
https://www.w3.org/TR/mediacapture-streams/
Ready to go!
Still not done…
11 August 2016 Chad Wallace Hart 34
https://www.w3.org/TR/webrtc/
🙂
11 August 2016 Chad Wallace Hart 35
Standards aren’t done
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
37
11 August 2016 Chad Wallace Hart 38
WebRTC is Buggy
bugs aren’t a good excuse when you have..
WebRTC works for billions of users
11 August 2016 Chad Wallace Hart 39
WebRTC works for billions of users
11 August 2016 Chad Wallace Hart 40
WebRTC works for billions of users
11 August 2016 Chad Wallace Hart 41
https://webrtchacks.com/facebook-webrtc/
WebRTC works for billions of users
https://webrtchacks.com/mayday-trace/
May 18, 2016 © 2016 Chad Wallace Hart Consulting 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
Don’t be scared,
11 August 2016 Chad Wallace Hart 44
Be adaptive
11 August 2016 Chad Wallace Hart 45
https://webrtc.github.io/adapter/adapter-latest.js
Be early
11 August 2016 Chad Wallace Hart 46
Insider Preview
(slow)
Insider Preview
(fast)
Use the browser release cycle to find issues early
Be continuous
11 August 2016 Chad Wallace Hart 47
Continuous Integration/Deployment
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
Be at the front-end
11 August 2016 Chad Wallace Hart 49
Get good at the front-end and optimizing the
user experience
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
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

ClueCon 2016: Should you use WebRTC?

  • 1.
    Should you useWebRTC? ClueCon 10 August 2016
  • 2.
  • 3.
    3 Common reasons (/excuses) tostay 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.
    11 August 20164 vs. Image source: USA Today, http://www.usatoday.com/story/sports/olympics/2013/02/14/olympic-wrestling-us-russia-iran/1921527/
  • 5.
    NV Standards converge © 2016Chad Wallace Hart Consulting The next version of WebRTC incorporates what’s new in ORTC while maintaining backward compatibility with today’s WebRTC
  • 6.
    Many ORTC objectsare 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.
    What you cando 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.
    11 August 2016ClueCon 2016 8 ORTC vs. WebRTC – I don’t want to pick the wrong side
  • 9.
    11 August 2016ClueCon 2016 9 ORTC is part of WebRTC and will be further integrated in NV… eventually
  • 10.
    11 August 2016Chad Wallace Hart 10
  • 11.
    11 August 2016Chad 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 Everyone does H.264/AVCnow.. 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.
    11 August 201613 No one is using the same video codecs (VP8 vs. H.264) Everyone supports H.264
  • 14.
  • 15.
    11 August 201615 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.
    Edge is growing, butstill tiny http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
  • 17.
    IE will continueto have meaninful share for some time http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
  • 18.
    11 August 201618 Microsoft doesn’t support WebRTC
  • 19.
    11 August 201619 Microsoft started late, but is now is doing quite a bit with WebRTC
  • 20.
  • 21.
    21 3 ways Applehurts 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.
    Apple Challenge: whodo 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
  • 24.
    11 August 2016Chad Wallace Hart 24 Apple doesn’t support WebRTC
  • 25.
    11 August 2016Chad Wallace Hart 25 Apple has no WebRTC support on Safari or on any* iOS browser today, but they are actively developing WebRTC
  • 26.
    How Facebook handlesbrowsers without WebRTC May 18, 2016 © 2016 Chad Wallace Hart Consulting 26
  • 27.
    What about FlashRTMP/RTMFP? 11 August 2016 Chad Wallace Hart 27
  • 28.
    Chrome is killingflash 11 August 2016 Chad Wallace Hart 28 https://chrome.googleblog.com/2016/08/flash-and-chrome.html
  • 29.
    Firefox isn’t farbehind 11 August 2016 Chad Wallace Hart 29 https://blog.mozilla.org/futurereleases/2016/07/20/reducing-adobe-flash-usage-in-firefox/
  • 30.
    ❌ ✔ ✔ WebRTCin Flash vendors 11 August 2016 Chad Wallace Hart 30
  • 31.
    11 August 2016Chad Wallace Hart 31 I can keep using flash
  • 32.
    About standards… 11 August2016 Chad Wallace Hart 32
  • 33.
    🙂 11 August 2016Chad Wallace Hart 33 https://www.w3.org/TR/mediacapture-streams/ Ready to go!
  • 34.
    Still not done… 11August 2016 Chad Wallace Hart 34 https://www.w3.org/TR/webrtc/ 🙂
  • 35.
    11 August 2016Chad Wallace Hart 35 Standards aren’t done
  • 36.
    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
  • 37.
  • 38.
    11 August 2016Chad Wallace Hart 38 WebRTC is Buggy bugs aren’t a good excuse when you have..
  • 39.
    WebRTC works forbillions of users 11 August 2016 Chad Wallace Hart 39
  • 40.
    WebRTC works forbillions of users 11 August 2016 Chad Wallace Hart 40
  • 41.
    WebRTC works forbillions of users 11 August 2016 Chad Wallace Hart 41 https://webrtchacks.com/facebook-webrtc/
  • 42.
    WebRTC works forbillions of users https://webrtchacks.com/mayday-trace/ May 18, 2016 © 2016 Chad Wallace Hart Consulting 42
  • 43.
    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 HDXMayday button Wireshark trace Amazon in 2013 43 http://webrtchacks.com/mayday-trace/ Note they are running a WebRTC to SIP gateway
  • 44.
    Don’t be scared, 11August 2016 Chad Wallace Hart 44
  • 45.
    Be adaptive 11 August2016 Chad Wallace Hart 45 https://webrtc.github.io/adapter/adapter-latest.js
  • 46.
    Be early 11 August2016 Chad Wallace Hart 46 Insider Preview (slow) Insider Preview (fast) Use the browser release cycle to find issues early
  • 47.
    Be continuous 11 August2016 Chad Wallace Hart 47 Continuous Integration/Deployment
  • 48.
    Be integrated Telecom Networks ClientVendor 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
  • 49.
    Be at thefront-end 11 August 2016 Chad Wallace Hart 49 Get good at the front-end and optimizing the user experience
  • 50.
    Be part ofthe 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
  • 51.
    About Me 11 August2016 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

Editor's Notes

  • #5 http://www.usatoday.com/story/sports/olympics/2013/02/14/olympic-wrestling-us-russia-iran/1921527/
  • #7 Peter Has read-only getCapabilities, parameters, codecs, header extensions, SSRCs Has multiple encodings
  • #8 Peter
  • #16 Feb Netmarketshare stats: Desktop IE- 35% Edge – 3% Edge: 1-3%
  • #23 Mobile drives 70% of web usage
  • #29 In December, Chrome 55 will make HTML5 the default experience, except for sites which only support Flash. For those, you’ll be prompted to enable Flash when you first visit the site. Aside from that, the only change you’ll notice is a safer and more power-efficient browsing experience.
  • #31 Unified origin – no
  • #41 150M DAU
  • #42 Facebook messenger = 1B MAU +100M in 4 months China Mobile – 800M subscribers
  • #51 2010 - acquisitions 2011 – project started Took IP worth $10’s of M with 100+ customers and open sourced Google acquired video compression company On2in February 2010 for $133 million http://venturebeat.com/2010/05/18/google-acquires-swedish-firm-global-ip-solutions-for-68-2m-for-real-time-technology/ GIPS 10-20M business used by 100+ VoIP vendors, Skype http://otc.nfmf.no/public/news/2642.pdf