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 countries 137.000+ meeting rooms 1.250.000 shared elements in 2014 3
Take a look at DEMO TIME 4
The concept for ? E [ ¿ * … 5
Synchronization
Screen sharing VS frustrating experiences are delivered here your bad upload connection goes here 6
Screen sharing VS B B B B everyone downloads the same content CDN upload the document to our CDN B 7
Sync in B B B B watching slide 3 in 200ms or less WebSockets and/or WebRTC Data Channel JSON.stringify(go to slide 3); B 8
Collaboration === Collisions B B B B ?? ?? ?? JSON.stringify(go to slide 4); JSON.stringify(go to slide 3); B 9
Operational Transformations 10 Source: http://en.wikipedia.org/wiki/Operational_transformation
Google Wave Operational Transformations 11 Source: http://www.waveprotocol.org/whitepapers/operational-transform
Managing operations in … ? E youtube_play map_zoom youtube_stop map_pan > 100 events youtube_jump … … 12
Architecture
Architecture for Non-relational DB Frontend instance Relational DB CDN browser client MCU Real-time channel 13
Architecture for Room A Frontend instance Room B Frontend instance Relatively small instances to serve a few rooms Relatively small MCUs to serve a few rooms Memcache and/or REDIS to reduce DB pressure 14
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) + Fast recovery and traffic spikes adaptation + No need for complex configuration - difficult to monitor - difficult to adapt for very dynamic rooms 15
How do we pays the bills at This is a very complex distributed brain This is a “silly” router Frontend instance $0 $something Javascript ( 95.000 lines of code) Javascript ( 95.000 lines of code) Python ( 5000 lines of code) HTML5 HTML5 ( 47.000 lines of code) 16 CSS3 CSS3 (29.000 lines of code)
How do we pays the bills at - Most expensive infrastructure MCU - Knowing your traffic helps A LOT. $MONEY Real-time channel 17
What we are building now…
The future at NOW THE FUTURE Javascript ( 95.000 lines of code) Javascript HTML5 ( 47.000 lines of code) HTML5 CSS3 (29.000 lines of code) CSS3 Modules & Closures WebComponents 18
The future at NOW THE FUTURE ?¿ [ * Room profiles ? ¿ ? ¿ [ * Custom rooms 18
The future at NOW THE FUTURE dead by scale change room migration MCU MCU MCU groups Real-time Real-time 18
Questions?
Thank you contact@mashme.tv www.mashme.tv facebook.com/MashMeTV @mashmetv Calle Cronos, 20. 28037 (Madrid)
Recommend
More recommend