The year of the peer-to-peer web
-
Upload
thomas-gorissen -
Category
Internet
-
view
763 -
download
0
Transcript of The year of the peer-to-peer web
![Page 1: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/1.jpg)
The year of the peer-to-peer web@serrynaimo
![Page 2: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/2.jpg)
is a web dev for 17 years lives in Singapore loves great UX organizes JSConf.Asia and CSSConf.Asia mentors at SEA’s first startup accelerator JFDI helps developers use WebRTC
Thomas
@serrynaimo
![Page 3: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/3.jpg)
A set of JavaScript APIs in the browser to enable
peer-to-peer, real-time media and data exchange
WebRTC
@serrynaimo
![Page 4: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/4.jpg)
WebRTC
getUserMedia RTCPeerConnection RTCDataChannel
consists of
@serrynaimo
![Page 5: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/5.jpg)
Internet Communication
@serrynaimo
![Page 6: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/6.jpg)
Usual web communication
@serrynaimo
![Page 7: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/7.jpg)
Peer-to-peer mesh
@serrynaimo
![Page 8: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/8.jpg)
WebRTC and Signaling
Known party
A B
ICE
@serrynaimo
![Page 9: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/9.jpg)
everything requiring the lowest latency/fastest possible between individual peers, like - Audio/Video Calling - Conferencing - Live presentations - Direct file transfer - Synced music streaming
Resilient, decentralized mesh networking for - Sensor data exchange - File/Content distribution
It’s great for
@serrynaimo
![Page 10: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/10.jpg)
everything requiring reliable data transport, like - Traditional music or video streaming
asyncronous communication - Persistant chat - Gaming (single event bus)
Don’t use it for
@serrynaimo
![Page 11: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/11.jpg)
Audio/Video Calling
@serrynaimo
![Page 12: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/12.jpg)
by typing their number into your phone installing Skype and exchanging names get Gmail address, add contact, use hangouts
Usual “web” calling
Talk to anybody
@serrynaimo
![Page 13: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/13.jpg)
Real-time communication as a feature in any app or
website
WebRTC
@serrynaimo
![Page 14: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/14.jpg)
enables embedded, contextual communication
WebRTC
@serrynaimo
![Page 15: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/15.jpg)
host on Travelmob/Airbnb Uber/Lyft driver Doctor on Medifi/Teladoc Restaurant on Hungrygowhere/Yelp Property agent on 99.co/RealtorCustomer support through Zendesk/Freshdesk Your friends in WhatsApp/Line/Snapchat Seller on Carousel/eBay …
WebRTC
Call your
@serrynaimo
![Page 16: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/16.jpg)
Peer Introduction
Known party
A B
ICE
A simple message broker to facilitate the connection establishment between peers.
Signaling Service
@serrynaimo
![Page 17: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/17.jpg)
Media Relaying
A B
representing you as a peer if a direct connection to your device can not be established (e.g. due to firewall constraints)
TURN
Firewall
TURN for B
@serrynaimo
![Page 18: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/18.jpg)
Media Relaying
@serrynaimo
![Page 19: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/19.jpg)
Media Relaying
relaying media streams to reduce amount of connections and CPU use on your device in multi-party sessions
MCU/SFU
SFU
@serrynaimo
![Page 20: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/20.jpg)
@serrynaimo
![Page 21: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/21.jpg)
Media Streaming/Content Delivery
@serrynaimo
![Page 22: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/22.jpg)
CDN Delivery
CDN Edge Location
@serrynaimo
![Page 23: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/23.jpg)
@serrynaimo
![Page 24: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/24.jpg)
What about …
npm install wrtc@serrynaimo
![Page 25: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/25.jpg)
Using WebRTC today
@serrynaimo
![Page 26: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/26.jpg)
Subtle differences in
Using WebRTC today
@serrynaimo
![Page 27: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/27.jpg)
Not supported in IE/Safari
Using WebRTC today
@serrynaimo
![Page 28: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/28.jpg)
Using WebRTC today
Edge shipping WebRTC supportEdge shipping ORTC support
WebRTC and ORTC will converge
@serrynaimo
![Page 29: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/29.jpg)
https://github.com/Temasys/AdapterJS
“Polyfill/Shims/Helpers for WebRTC/ORTC”
@serrynaimo
![Page 31: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/31.jpg)
WebRTC on Android with
Using WebRTC today
@serrynaimo
![Page 32: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/32.jpg)
Safari on iOS?
Using WebRTC today
http://webrtcinwebkit.orgPlenty of Objective C / Swift SDKs for native apps
@serrynaimo
![Page 33: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/33.jpg)
SCREENSHARING
One more thing…
using http://github.com/Temasys/AdapterJS
@serrynaimo
![Page 34: The year of the peer-to-peer web](https://reader035.fdocuments.in/reader035/viewer/2022062412/58f097c91a28abed1d8b4641/html5/thumbnails/34.jpg)
You CAN use WebRTC today!
Really!
@serrynaimo