WebRTC, and most of HTML5 tecnologies as File API, WebGL, WebWorkers, ...,answer to a common problem, i.e. to make 'in browser' apps able to do operations impossible before, as access to the video and audio stream by a javascript api.
2. WebRTC
Plug-in free realtime communication …
WebRTC is a free, open project that enables web browsers
with Real-Time Communications (RTC) capabilities via
simple Javascript APIs.
source: webrtc.org
3. WebRTC
Just another JS API
or
WebRTC is a new front in the long war for an
open and unencumbered web
Brendan Eich (Mozilla CTO and inventor of JavaScript)
?
4. Browser Piercing
Once upon a time ...
LDP: Firewall Piercing mini-HOWTO
François-René Rideau
v0.97, 24 November 2001
5. Browser Piercing
a Javascript Application cannot
➔ access the filesystem
and then File API
➔ open full-duplex socket connection
and then WebSockets
6. Browser Piercing
a Javascript Application cannot
➔ use graphics accelerator
and then WebGL
➔ span multiple threads
and then WebWorkers
7. Browser Piercing
a Javascript Application cannot
➔ acquire audio and video
and then WebRTC
➔ communicate P2P
and then WebRTC
28. Yes BUT
VideoChat already exists and we are too late to build skype without
skype ...
●
●
Video chat:
○ SimpleWebRTC
○ easyRTC
○ webRTC.io
Peer-to-peer data:
○ PeerJS
○ Sharefest
29. Yes BUT
● getUserMedia: gives us real time stream from the cam
● we can draw the <video/> into a <canvas/>
● from the canvas we can extract pixel data getImageData()
and then elaborate.
30. Computing (GWT 4 us)
goals
- Almost native performance
- Manage complex algorithms and applications
31. Computing (GWT 4 us)
goals
- Almost native performance
- Manage complex algorithms and applications
our approach
- javascript as a target language (GWT)
- hand written optimized pieces of code
36. What’s next
Our approach
● use TypedArrays everywhere
● offload computation to the graphic
accelerator through WebGL
● help the JIT compiler/optimizer by asm.js