astricon webrtc update
TRANSCRIPT
![Page 1: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/1.jpg)
WebRTCAstricon 2016
![Page 2: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/2.jpg)
AboutMe
1October2016 ChadWallaceHart 2
HeadofStrategicProductshttps://[email protected]
AblogforWebRTCdevelopershttps://webrtcHacks.com@webrtcHacks
WebRTCevents&videoshttps://www.krankygeek.com/@webrtclive
![Page 3: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/3.jpg)
3
A recap of the past 5 years…
![Page 4: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/4.jpg)
4
World Class VoIP Engine for Free
media engine
video codec
audio codec
![Page 5: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/5.jpg)
5
Internet & Web Standard
![Page 6: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/6.jpg)
6
3(ish) Web-friendly(+native) API’s
Peer-to-peerRTCconnectivity
peerConnection
StreamCapture
getUserMedia
Arbitraryp2pdatatransmission
dataChannel
Camera,Microphone,Screen
![Page 7: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/7.jpg)
7
State of the art technology
Medianegotiation
Firewall/NATTraversal
Audiocodecs
Videocodecs
Flowcontrols
Encryption
![Page 8: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/8.jpg)
8
Massive community
.org
Toomanyprojectstoputonaslide
![Page 9: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/9.jpg)
9
This is awesome!
![Page 10: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/10.jpg)
10
Who uses WebRTC?
WebRTCdetails:https://webrtchacks.com/facebook-webrtc/Imagesource:http://www.nerddict.com/2016/06/download-facebook-messenger-for-windows.html
300 million monthly active usersLess than 3 years since launch
![Page 11: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/11.jpg)
11
Who uses WebRTC?
![Page 12: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/12.jpg)
12
Who uses WebRTC?
![Page 13: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/13.jpg)
13
Who uses WebRTC?
![Page 14: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/14.jpg)
14
Who uses WebRTC?Old school telephony people
![Page 15: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/15.jpg)
15
Who uses WebRTC?New school telephony people
![Page 16: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/16.jpg)
16
WebRTC After 5 years: Google’s 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/I0GqzwfKJfQhttps://docs.google.com/presentation/d/1JwnW6v3OM0RfoDYrPPTJrDNeIpidgh7hF_k5E1j2oKM/edit?usp=sharing
![Page 17: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/17.jpg)
1717Image source: http://www.digitaldealer.com/how-to-handle-recalls-and-other-bad-news/
![Page 18: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/18.jpg)
18
WebRTC is not available everywhere
![Page 19: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/19.jpg)
19
3 ways Apple hurts WebRTC
Safari OtherBrowserAppsoniOS
WebViewforiOS
Nosupportfordesktopormobile
70%ofusageoniOS
Nosupportforeasynativeapps
20%oftimesharevs.Browser,Android,Desktop
NooneelseisallowedtomakeaWebRTCBrowser
30%ofbrowsershareoniOS
❌ ❌ ❌
![Page 20: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/20.jpg)
20
Apple Challenge: who do you care about?
©2016ChadWallaceHartConsulting
WebRTCSupport
WithinOSShare
AllBrowserShare*
AllTimeShare*
Desktop
brow
ser SafarionOSX x ~50% ~2% ~1%
Chrome/FirefoxonOSX ~50% ~2% ~1%
iOS
Brow
ser SafarioniOS ~70% ~20% ~2%
Chrome/Firefox oniOS ~30% ~10% ~1%
Mob
ileiOSap
p Webview oniOS- - ~20%
BringyourownRTConiOS x
SharefiguresareroughestimatesfromChadWallaceHartconsultingandstatcounter.com*Desktop&mobile
![Page 21: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/21.jpg)
21
How Facebook handles browsers without WebRTC
![Page 22: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/22.jpg)
22
Not completely lost on the Safari…
![Page 23: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/23.jpg)
23
![Page 24: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/24.jpg)
24
Edge is making steady progress
https://developer.microsoft.com/en-us/microsoft-edge/platform/status/screencapture/?q=category%3Arealtimecommunication
![Page 25: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/25.jpg)
25
Edgeisgrowing,butstilltiny
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
![Page 26: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/26.jpg)
26
IEwillcontinuetohavemoreshareforsometime
http://gs.statcounter.com/#desktop-browser-ww-monthly-201606-201606-bar
![Page 27: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/27.jpg)
27
No IE, but lots of Microsoft
OldBrowser NewBrowser Comms App NativeApp
❌ ✔ ✔ ✔>500Musers >100M users >300MMAU >350MWin10users
+8.1 installbaseNosupportplanned ORTC+WebRTCsupport SkypeforWebmovingto
WebRTCAddingVisualStudiotoolingthat
includesWebRTC
WebRTC at Microsoft
![Page 28: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/28.jpg)
28
![Page 29: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/29.jpg)
29
Learning WebRTC can be hard
![Page 30: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/30.jpg)
30
WebRTC requires you learn (or pay)WebTechnology PopularOpenSource Framework
WebCMS WordPress,Joomla,Drupal…
Front-End Development jQuery,Ember.js, Angular.js,React..
Front-endDesign Bootstrap, MaterialDesign,…
WebGL Babylon,three.js,…
WebSockets Socket.io
WebRTC
![Page 31: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/31.jpg)
31
SignalingSTUN/TURNMedia server Photo by Flickr user Alex (CC BY-2.0)
https://flic.kr/p/9v7Kgx
![Page 32: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/32.jpg)
32
Don’t forget TURN servers
14%
6%
The biggest issue in new WebRTC deployments is often the lack of a TURN servers.The rule of thumb is TURN is needed by about 20% of users, but this can very a lot depending on your user base. Tokbox’s figures from earlier this year are above.
![Page 33: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/33.jpg)
33
Chrome requires SSL
getUserMedia() no longer works on insecure origins. To use this feature, you should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.
![Page 34: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/34.jpg)
34ChadWallaceHart 34
Codecs were a major point of contention in WebRTC.
That was resolved in the standards in late 2014.
There was a still a question when Google would join Firefox and support H.264 in Chrome.
![Page 35: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/35.jpg)
EveryonedoesH.264/AVCnow..mostly
1October2016 ChadWallaceHart 35
https://groups.google.com/forum/#!topic/discuss-webrtc/bDfxOA8XiJI https://blogs.windows.com/msedgedev/2016/05/27/previewing-h-264avc-for-ortc/
![Page 36: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/36.jpg)
36
About standards…
1October2016
![Page 37: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/37.jpg)
37
NV
Standards converge
ThenextversionofWebRTCincorporateswhat’snewinORTCwhilemaintainingbackwardcompatibilitywithtoday’sWebRTC
![Page 38: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/38.jpg)
ManyORTCobjectsarealreadyinWebRTC1.0PeerConnection
.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
![Page 39: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/39.jpg)
WhatyoucandowithWebRTC1.0objects
• "Warmup"mediapathwhilethegettingatrackandringing
• Changethesendcodec(withoutSDPmunging)• Changethecamerasourceinstantly(fronttoback)• Enable/disablesendingofmediainstantly(withoutsignalling)
• Setamaxbandwidth• ObtaindetailedstatusofindividualICEandDTLStransports
Source:https://docs.google.com/presentation/d/1oDVgPQtYpQNRkgiP51OQJS1sOW6mjWcGvp129Bovd28
![Page 40: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/40.jpg)
40
🙂
1October2016
https://www.w3.org/TR/mediacapture-streams/
Readytogo!
![Page 41: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/41.jpg)
41
Still not done…
1October2016
https://www.w3.org/TR/webrtc/
🙁
![Page 42: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/42.jpg)
4242
![Page 43: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/43.jpg)
43
WebRTC is crushing it!
13M 15M185M
405M500M+users
2B+devices
0
500
1000
1500
2000
2500
3000
IMS RCS VoLTE Skype WebRTC
MillionsofU
sers
VoIPTechnologyUsersafter5years
“Users” of various VoIP technologies roughly 5 years after their were introduced. Note “user” often means installs or supported devices.
![Page 44: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/44.jpg)
44
The community is still growing..
0
50
100
150
200
250
300
350
Mar Jul Sep Nov Jan Mar May Jul Sep Nov Jan Mar May Jul Sep Nov Jan Mar May Jul Sep Nov Jan Mar May Jul Sep Nov Jan Mar May Jul
2011 2012 2013 2014 2015 2016
NewWebRTCcodecontributors/monthonGitHub
![Page 45: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/45.jpg)
4545
![Page 46: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/46.jpg)
46
![Page 47: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/47.jpg)
47
Be adaptive
YourJavaScriptcode
adapter.js
Adapter.js helps your code interoperate with various browser implementation differences and standard changes. Use it!
![Page 48: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/48.jpg)
48
Be early
InsiderPreview(slow)
InsiderPreview(fast)
Browser vendors have many pre-release channels to help you test your code before an auto-update breaks something.
![Page 49: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/49.jpg)
49
Be continuous
ContinuousIntegration/Deployment
No one has time for formal a full stop-QA process anymore. Get over it and leverage modern approaches of continuous integration and deployment to ensure quality.
![Page 50: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/50.jpg)
BeintegratedTelcoNetworks
Client Vendor1
Telco1
Telco2
ClientVendor2
EnterpriseNetworks WebComms Networks
Handset1
Telco
UCvendorPBX
SBC
app web
Webco
Webco
Webco
app web
app web
©2016ChadWallaceHartConsulting
The WebRTC provider needs to also provide the user interface and experience. There is no phone/client vendor to deal with these aspects – it is your problem but also an opportunity for you to really learn what matters to your end users and differentiate your offering.
![Page 51: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/51.jpg)
51
Be at the front-end
WebRTC is just as much or more about the front-end than it is the back-end. Become an expert in web development and don’t forget about front-end technologies.
![Page 52: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/52.jpg)
52
Be mobile
Image source: https://www.mobilesmith.com/html5-vs-native-debate-is-over/
Native mobile app development is one of the hardest aspects of WebRTC. Fortunately there are more options than ever for mobile app development.
![Page 53: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/53.jpg)
53
Be part of the community
.org
++waymorethanyoucanstickonaslide…
![Page 54: Astricon WebRTC Update](https://reader030.vdocuments.mx/reader030/viewer/2022021506/5878336a1a28abef5d8b70bb/html5/thumbnails/54.jpg)
AboutMe
1October2016 ChadWallaceHart 54
HeadofStrategicProductshttps://[email protected]
AblogforWebRTCdevelopershttps://webrtcHacks.com@webrtcHacks
WebRTCevents&videoshttps://www.krankygeek.com/@webrtclive