Insights in building real-time experiences with WebRTC - - PowerPoint PPT Presentation

insights in building real time experiences with webrtc
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Insights in building real-time experiences with WebRTC

@VictorSanchez victor@mashme.tv

slide-2
SLIDE 2

2

What is ?

Social video-collaboration platform Based in the cloud Integrates many tools Startup spin-off from UPM

slide-3
SLIDE 3

3

How big is ?

800.000+ users in 72 countries 137.000+ meeting rooms 1.250.000 shared elements in 2014

slide-4
SLIDE 4

4

Take a look at

DEMO TIME

slide-5
SLIDE 5

5

The concept for

? E [ ¿ * …

slide-6
SLIDE 6

Synchronization

slide-7
SLIDE 7

6

Screen sharing VS your bad upload connection goes here frustrating experiences are delivered here

slide-8
SLIDE 8

7

Screen sharing VS

B B

upload the document to our CDN

B B B

CDN everyone downloads the same content

slide-9
SLIDE 9

8

Sync in

B B

JSON.stringify(go to slide 3);

B B B

watching slide 3 in 200ms or less WebSockets and/or WebRTC Data Channel

slide-10
SLIDE 10

9

Collaboration === Collisions

B B

JSON.stringify(go to slide 3);

B B B

JSON.stringify(go to slide 4);

?? ?? ??

slide-11
SLIDE 11

10

Operational Transformations

Source: http://en.wikipedia.org/wiki/Operational_transformation

slide-12
SLIDE 12

11

Google Wave Operational Transformations

Source: http://www.waveprotocol.org/whitepapers/operational-transform

slide-13
SLIDE 13

12

Managing operations in

? E

youtube_play youtube_stop youtube_jump map_zoom map_pan … …

… > 100 events

slide-14
SLIDE 14

Architecture

slide-15
SLIDE 15

Frontend instance

13

Architecture for

CDN MCU Real-time channel browser client Non-relational DB Relational DB

slide-16
SLIDE 16

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

slide-17
SLIDE 17

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

  • difficult to monitor

+ Fast recovery and traffic spikes adaptation

  • difficult to adapt for very dynamic rooms
slide-18
SLIDE 18

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

$0

$something Javascript ( 95.000 lines of code) HTML5 ( 47.000 lines of code) CSS3 (29.000 lines of code)

slide-19
SLIDE 19

17

How do we pays the bills at

MCU Real-time channel $MONEY

  • Most expensive infrastructure
  • Knowing your traffic helps A LOT.
slide-20
SLIDE 20

What we are building now…

slide-21
SLIDE 21

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

slide-22
SLIDE 22

18

The future at NOW THE FUTURE

? ¿ [ *

Room profiles

? [ * ¿ ?¿

Custom rooms

slide-23
SLIDE 23

18

The future at NOW THE FUTURE

MCU Real-time dead by scale change MCU Real-time room migration MCU groups

slide-24
SLIDE 24

Questions?

slide-25
SLIDE 25

Thank you

contact@mashme.tv www.mashme.tv @mashmetv facebook.com/MashMeTV Calle Cronos, 20. 28037 (Madrid)