webrtc hacks: lessons learned

42
Chad Wallace Hart Consulting WebRTC Hacks: Lessons Learned Twilio Signal 2016 What would Macguyver do.. with WebRTC?

Upload: chad-hart

Post on 11-Jan-2017

1.060 views

Category:

Internet


0 download

TRANSCRIPT

PowerPoint Presentation

WebRTC Hacks: Lessons LearnedTwilio Signal 2016

What would Macguyver do..with WebRTC?

Chad Wallace Hart Consulting

https://c1.staticflickr.com/1/658/21755244141_c6e6826585_b.jpg1

Hi!CHAD HARTIndependent Consultant, Chief Editor, webrtcHacks

https://webrtcHacks.com@webrtcHacks

@[email protected]

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

I am an independent analyst, product management & marketing consultant, and advisor focusing on RTC, especially WebRTC.Personally, I care a lot about where technology and products are headed. I focus at lot on trying to understand the future and luckily I was able to do this often career wise as an industry analyst, doing business intelligence, and strategic product planning.

I also run a blog for webrtc developers webrtcHacks. It was great to see so many WebRTC hacks during the hackathon. It is amazing to see how far WebRTC has come, even on my own blog.webrtcHacks is pretty specific about being for developers our content is generally pretty technical and not something you would care about unless you are at least involved in WebRTC development. We have grown from a few thousand pageviews a month in 2013 to 30 to 40,000 now.

2

May 25, 2016WebRTC Hacks - Twilio Signal 20163

Chad Wallace Hart Consulting

Lots of definitions of Hack3

May 25, 2016WebRTC Hacks - Twilio Signal 20164

Chad Wallace Hart Consulting

This is probably my favorite. Quick or inelegant solution 4

May 25, 2016WebRTC Hacks - Twilio Signal 20165

Chad Wallace Hart Consulting

Hack #1: Motion Detecting Baby Monitor

WebRTC Hacks - Twilio Signal 2016https://webrtchacks.com/baby-motion-detector/

#May 25, 2016

Chad Wallace Hart Consulting

September 2013

My first hack6

Detecting motion

WebRTC Hacks - Twilio Signal 2016https://github.com/ReallyGood/js-motion-detection

#May 25, 2016

Chad Wallace Hart Consulting

Using the HTML5 Canvas to detect motion

7

Hack #1: Motion Detecting Baby MonitorWebRTC Hacks - Twilio Signal 2016https://webrtchacks.com/baby-motion-detector/

#May 25, 2016

Chad Wallace Hart Consulting

September 2013

My first hack8

Lessons LearnedSDKs & cloud services make WebRTC super simpleUse HTML5 Canvas on your media streamYou dont need to know what youre doingWebRTC Hacks - Twilio Signal 20169

#May 25, 2016

Chad Wallace Hart Consulting

September 20139

Hack #2: Build your own phone company with WebRTC and a weekend

WebRTC Hacks - Twilio Signal 2016https://webrtchacks.com/own-phoneco-with-webrtc/

#May 25, 2016

Chad Wallace Hart Consulting

January 7, 2014

What would it take to make my own personal VoIP service10

Build your own WebRTC ServerBack-end StackServer LogicWebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

EasyRTC for WebRTC signalingExpress & NodeAWS Ubuntu image from Bitnami

11

Lessons Learned: Building out a Back-endSignaling: easier than expected Cloud setup wasnt so badDont skip SSL for HTTPSDont skip TURN serverDont get detached from UX

WebRTC Hacks - Twilio Signal 201612

#May 25, 2016

Chad Wallace Hart Consulting

12

Hack #3: How to train a dog with JavaScriptWebRTC Hacks - Twilio Signal 2016

https://webrtchacks.com/javascript-dog-trainer/

#May 25, 2016

Chad Wallace Hart Consulting

November 201413

WebRTC Hacks - Twilio Signal 2016This is Levy

#May 25, 2016

Chad Wallace Hart Consulting

I had a bull dogHe liked to sleep on the couch14

WebRTC Hacks - Twilio Signal 2016Levy liked our old couch

#May 25, 2016

Chad Wallace Hart Consulting

WebRTC Hacks - Twilio Signal 2016

We got a new couch.Levy wasnt welcome here.

#May 25, 2016

Chad Wallace Hart Consulting

But them we bought a new couchSleeping on the couch was a no-no

16

WebRTC Hacks - Twilio Signal 2016

Levy didnt care

#May 25, 2016

Chad Wallace Hart Consulting

Fun with my kids toys (& IoT)

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Tessel.ioElenco Snap Circuits rover

18

Quick proof-of-concept

WebRTC Hacks - Twilio Signal 2016Could I mix WebRTC & IoT to train my dog?

#May 25, 2016

Chad Wallace Hart Consulting

WebRTC Hacks - Twilio Signal 2016Not fun: getting organizedSignaling ServerWeb server IoT deviceBrowser-based monitor appBrowser-based viewing appMMS API

#May 25, 2016

Chad Wallace Hart Consulting

Lots of nodesSignaling server from OSS Simple WebRTCNode for my web servertessel-based rover also running nowLight weight monitor app that does motion detectionBrowser app that does recordingTwilio for MMS20

Fun: seeing it workWebRTC Hacks - Twilio Signal 2016

https://webrtchacks.com/javascript-dog-trainer/MMS Alert

#May 25, 2016

Chad Wallace Hart Consulting

Fun: seeing it workWebRTC Hacks - Twilio Signal 2016https://webrtchacks.com/javascript-dog-trainer/

#May 25, 2016

Chad Wallace Hart Consulting

Lessons LearnedNew features for free: recording MMS is easier than writing an app to get mobile notificationsApple makes things difficultMore things means more opportunities for short RTC sessionsWebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

23

Hack 4: ThirdEye: WebRTC + Computer vision

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

June 201524

Start boring..

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Adding computer visionWebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

26

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Solving real problems

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Pretend developers can win

#May 25, 2016

Chad Wallace Hart Consulting

Other lessons learnedGathering context from real time streams isnt so hardDont make the signaling harder than it needs to beSomeone really needs to make a wifi WebRTC cameraWebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Thinking about machines & RTC 2015 Chad Wallace Hart ConsultingPerson to person calling because of machinesMachine makes a call when something happensSend machine real time audio/video for processingMachines send other machines audio/video for real time processingWhole new categories of interactions that will drive RTC growth

#May 25, 2016

Chad Wallace Hart Consulting

P2P: something happens get someone on the phone to talk about itM2P: dog trainer example where you get calledP2M: computer vision example where you just want to process the streamLooking forward to the day when AI bots talk to other AI bots using real time voice & video31

My Next Hack: Adding WebRTC to Toys?

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

Raspberry Pi

32

WebRTC Hacks - Twilio Signal 2016

#May 25, 2016

Chad Wallace Hart Consulting

33

WebRTC Hacks - Twilio Signal 2016

WebRTC hacks in the wild

Chad Wallace Hart Consulting

https://upload.wikimedia.org/wikipedia/commons/9/90/Flickr_-_brewbooks_-_Palm_Jungle_-_Hawaii_Tropical_Botanical_Garden.jpg34

The browser as a real time media processorCanvasWeb AudioWebRTC Hacks - Twilio Signal 2016

http://www.html5rocks.com/en/tutorials/webaudio/games/http://diveinto.html5doctor.com/canvas.htmlMediaStream = canvas.captureStream(framerate)var microphone = context.createMediaStreamSource(stream);var peer = context.createMediaStreamDestination();

#May 25, 2016

Chad Wallace Hart Consulting

Media stream = canvas.captureStream(framerate)https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html35

Hacks that are new: make your own conferencing server

WebRTC Hacks - Twilio Signal 2016https://webrtchacks.com/web-audio-conference/

#May 25, 2016

Chad Wallace Hart Consulting

Hacks we dont like

WebRTC Hacks - Twilio Signal 2016

https://webrtchacks.com/dear-ny-times/

#May 25, 2016

Chad Wallace Hart Consulting

WebRTC Hacks - Twilio Signal 2016

http://randomwalker.info/publications/OpenWPM_1_million_site_tracking_measurement.pdf

#May 25, 2016

Chad Wallace Hart Consulting

http://randomwalker.info/publications/OpenWPM_1_million_site_tracking_measurement.pdf

This is a real problem with more than 700 of the top 1M sites using WebRTC trackingStill small vs. other forms38

Hacking a hack the WebRTC notifierWebRTC Hacks - Twilio Signal 2016

https://webrtchacks.com/webrtc-notify/

#May 25, 2016

Chad Wallace Hart Consulting

Han-Ka39

Production Hack: skip the P2P

WebRTC Hacks - Twilio Signal 2016

https://webrtchacks.com/slack-webrtc-slacking/

#May 25, 2016

Chad Wallace Hart Consulting

Retrospective: long, but not impossible jump from a hack to realitySecurityTURN serviceElasticityRedundancyVersioningComplianceMulti-partyMonitoringActive testSecurityiOSAndroidInternet ExplorerSafariUX timingBandwidth checksDevice checksFailure recoveryWebRTC Hacks - Twilio Signal 2016Server-sideClient-side

#May 25, 2016

Chad Wallace Hart Consulting

WebRTC Hacks - Twilio Signal 2016

WebRTC!https://upload.wikimedia.org/wikipedia/commons/2/26/USAF_EOD_explosion.jpg

Chad Wallace Hart Consulting

https://upload.wikimedia.org/wikipedia/commons/2/26/USAF_EOD_explosion.jpg42