Insights in building real-time experiences with WebRTC
@VictorSanchez victor@mashme.tv
Insights in building real-time experiences with WebRTC - - PowerPoint PPT Presentation
Insights in building real-time experiences with WebRTC @VictorSanchez victor@mashme.tv ? What is Social video-collaboration platform Based in the cloud Integrates many tools Startup spin-off from UPM 2 ? How big is 800.000+ users in 72
@VictorSanchez victor@mashme.tv
2
What is ?
3
How big is ?
4
Take a look at
DEMO TIME
5
The concept for
6
Screen sharing VS your bad upload connection goes here frustrating experiences are delivered here
7
Screen sharing VS
upload the document to our CDN
CDN everyone downloads the same content
8
Sync in
JSON.stringify(go to slide 3);
watching slide 3 in 200ms or less WebSockets and/or WebRTC Data Channel
9
Collaboration === Collisions
JSON.stringify(go to slide 3);
JSON.stringify(go to slide 4);
?? ?? ??
10
Operational Transformations
Source: http://en.wikipedia.org/wiki/Operational_transformation
11
Google Wave Operational Transformations
Source: http://www.waveprotocol.org/whitepapers/operational-transform
12
Managing operations in
youtube_play youtube_stop youtube_jump map_zoom map_pan … …
Frontend instance
13
Architecture for
CDN MCU Real-time channel browser client Non-relational DB Relational DB
Frontend instance
14
Architecture for
Room A Frontend instance Room B Relatively small instances to serve a few rooms Relatively small MCUs to serve a few rooms Memcache and/or REDIS to reduce DB pressure
15
Why small instances in
+ Allow to cache many DB requests (for example room content, participants, history, …) + If a small instance or MCU fail casualties are minimal (a few rooms) + No need for complex configuration
+ Fast recovery and traffic spikes adaptation
16
How do we pays the bills at
Frontend instance Javascript ( 95.000 lines of code) HTML5 CSS3 Python ( 5000 lines of code) This is a very complex distributed brain This is a “silly” router
$something Javascript ( 95.000 lines of code) HTML5 ( 47.000 lines of code) CSS3 (29.000 lines of code)
17
How do we pays the bills at
MCU Real-time channel $MONEY
18
The future at
Javascript ( 95.000 lines of code) HTML5 ( 47.000 lines of code) CSS3 (29.000 lines of code)
NOW
Modules & Closures Javascript HTML5 CSS3
THE FUTURE
WebComponents
18
The future at NOW THE FUTURE
Room profiles
Custom rooms
18
The future at NOW THE FUTURE
MCU Real-time dead by scale change MCU Real-time room migration MCU groups
contact@mashme.tv www.mashme.tv @mashmetv facebook.com/MashMeTV Calle Cronos, 20. 28037 (Madrid)