a jquery for webrtc
TRANSCRIPT
A jQuery for WebRTCThomas Gorissen
Thomas is a web dev for 16 years loves great UX organizes JSConf.Asia mentors at SEA’s startup accelerator JFDI lives in Singapore helps developers use WebRTC
A set of JavaScript APIs in the browser to enable
peer-2-peer data exchange
WebRTC
Usual web communication
Peer-2-peer mesh
p2p’s lower latency is awesome for real-time data
exchange
WebRTC
Real-time communication is 1-on-1 calling Conferencing In-game chatting Virtual co-working Synced music streaming Sensor data exchange Online video consultation e-Tutoring JS Remote Conf …
Talk to anybody by typing their number into phone installing Skype and exchanging names
get Gmail address, add contact, use hangouts
Usual web communication
Talk to host on Travelmob/Airbnb GrabTaxi/Uber driver Doctor on Medifi/Teladoc Restaurant on Hungrygowhere/Yelp Property agent on 99.co/RealtorCustomer support through Zopim/Freshdesk Your friends in WhatsApp/Line/Snapchat Seller on Carousel/eBay …
WebRTC
enables embedded, contextual communication
WebRTC
How to make WebRTC as easy to use as jQuery?!
Using WebRTC
WebRTC conceptually
A B
WebRTC conceptually
Known party
A B
WebRTC conceptually
Known party
A B
WebRTC conceptually
Known party
A B
The easiest and most complete WebRTC platform for developers there is!
#1: peer (client-side)
Using WebRTC
https://github.com/Temasys/SkylinkJS
We call it “A jQuery for WebRTC!”
Subtle differences in
Using WebRTC today
https://github.com/Temasys/AdapterJS
“Polyfill/Shims/Helpers for WebRTC”
Not supported in IE/Safari
Using WebRTC today
IE and Safari Plug-In Download
Temasys WebRTC Plug-In with AdapterJS
#2: signaling (server-side)
Using WebRTC today
Using WebRTC today
Signaling requires a server (e.g. EC2) needs to be scaled and maintained must work with the lingo of your client-side
should be low latency and secure
#3: If it doesn’t work on mobile it’s not worth doing
Using WebRTC today
WebRTC on Android with
Using WebRTC today
Skylink Native SDKsAsk us for beta access
for iOSfor Android
#4: Not so fast! What about edge-cases?
Using WebRTC today
Enterprise firewalls prevent peer-2-peer connection requests to come through
CPU/network can’t handle bigger multi-peer sessions
Using WebRTC today
Enterprise firewalls prevent peer-2-peer connection requests to come through
CPU/network can’t handle bigger multi-peer sessions
Skylink STUN helps identifying connection options Skylink TURN can relay streams in very restrictive cases
Skylink SFU reduces the amount of data streams
#5: I want to see!
Using WebRTC today
Demos
Getaroom.io - Start a FREE call with up to 4 people - Try it Virtual coworking with SkylinkJS - Try it Selfie Remote Control Dashboard with SkylinkJS - Try it: Load on phone - Phone control
Codepen: 1-on-1 WebRTC audio/video calling
Demos bundled with SkylinkJS
Tutorials
Getting started with WebRTC and SkylinkJS Building a simple Peer-to-peer WebRTC chat
Sign up for skylink.io