Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

13
webRTC plugins for other browsers Dr. Alex Gouaillard CTO Temasys Communications W3C / IETF webRTC Working Groups Member

description

 

Transcript of Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Page 1: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

webRTC plugins for other browsers

Dr. Alex GouaillardCTO Temasys Communications

W3C / IETF webRTC Working Groups Member

Page 2: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Reference code: appRTC / appRTCDEMO

Desktopchrome firefox IE Safari Opera ref client

GUM 18+ 17+Plugin needed

12+

nonePC 20+ 22+ 18+DC 26+ 22+ 18+

GAE N/A

iOSsafari firefox chrome Opera ref client

against apple policy (2.17) appRTCDEMONot complete

yetN/A

Androidfirefox chrome Opera ref client

24+ 29+ 18+

appRTCDEMO24+ 29+ 18+24+ 29+ 18+

N/A

Brought to you thanks to:

Google Inc.Intel CorporationMIPS TechnologiesMozilla FoundationOpera Software ASAVonage Holdings CorpTemasys Communications

Page 3: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Nov 11, 2011GoCast.it

2012 2013 2014

Sun, 22 Jul 2012webrtc4all

JuneMarch

16 Mar 2014 - FrozenMountain

04 Apr 2014 - Tokbox

15 Jan 2014 - Temasys

05 Feb 2014 - Priologic

The reality of webRTC plugin (not exhaustive, not flash)

Page 4: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Nov 11, 2011GoCast.it

2012 2013 2014

Sun, 22 Jul 2012webrtc4all

JuneMarch

05 Feb 2014 - Priologic

1st

Open Source plugin to support

IE

2ndOpen Source

plugin to support IE

3rd

Open Source plugin to support

IE

UC Strategies, NoJitter, by phil Edholm, june 12

“Priologic's CEO, Doug Pelton, says that other teams have done great work enabling WebRTC in the IE browser and have done it for free, but to date none have been open sourced.”

Priologic PR, june 10

“Priologic will release the first-ever open source WebRTC plugin for IE prior to WebRTC IV in Atlanta June 17-19, 2014.”

PR Business as usual … .

Page 5: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: criteria 1

- Proprietary vs Generic

Proprietary plugin either forces you to use a given BE, or forces you to use a given API (or both). One need to rewrite app.

Generic plugin implements the webRTC specs, allowing any site or API/SDK written on top of webRTC to work out of the box. It’s FREE as in freedom.

Page 6: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

DO

NE

FR

OZ

EN

I

N C

ALL

CO

NN

EC

TIO

N

HA

ND

SH

AK

E (

SD

P O

/A)

.

new

checking

connected

disconnected

failed

Completed

close

new

gathering

complete

CALLER SIG-SERVER CALLEE

stable

have-local-offer

stable

Close

CHAT

ENTER

WELCOME

OFFER

ANSWER

Create PC

Add local stream(s)Create offer<modify sdp>SetLocal(offer)Sending offer

Create PCSetRemote(offer)addRemoteStream(s)Add local stream(s)Create answer<modify sdp>SetLocal(answer)Send answer

stable

Have-remote-offer

stable

new

gathering

complete

onIceCandidate<Filter candidates>Send candidate

<Filter candidates>addIceCandidate

onIceCandidate<Filter candidates>Send candidate

<Filter candidates>addIceCandidate

new

checking

connected

disconnected

failed

Completed

close Close

© Temasys Communications, pvt, ltd, 2014 Document provided under CC BY-NC 4.0

CANDIDATES

PeerConnection

ICEConnection

ICEGathering

SetRemote(answer)addRemoteStream

BYE

GENERIC

IS

HARD

Page 7: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: APIs – webRTC is a moving target

- Doubango: complete up to JSEP-02 (2012)- GoCast.it: complete up to JSEP-03 (2013)- Temasys: complete latest JSEP-06, webRTC 1.0

Others… well, they have their own proprietary API

Sometimes:• no getUserMedia,• no PeerConnection,• no DataChannel,

but you get “getSelfie()” so …. It’s cool… I guess…

Page 8: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: criteria 2

- SecurityFollow the IETF security document (prompt for hardware access, protect against cross origin attacks, protect against cross plugin instance stream sharing, ….)

To avoid:- People taking picture or video of you- People taking screenshot when you’re banking online- …Without your consent.

Among other problems…..

Page 9: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: Security – Why screen sharing was pulled out.

Browser vendors and W3C work really hard to make the web a better, more secure place. They are not happy when some vendors bypass security

Page 10: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: criteria 3

- Test Suite: “if it ain’t tested, it’s broken.”

- webRTC is a moving target,

you have to test with the same standards as the browsers

You have to test against the browsers

Page 11: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: criteria 4

- Integration layer:if you spend more than a day installing, you won’t use it.

- Provide integration layer (adapter.js is a good candidate)- Provide examples- Provide support (yes, to your otherwise competitors as well)

- Ex: jsSIP on safariwith a generic pluginin less than a dayno change in app codeno support needed

Page 12: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Comparison: Overview

provider webRTC API

API version Security middleware plugin type Browser support OS Support Test Suite Integration

Temasys YES 2014 (06) YES YES NPAPI ActiveX all win, mac YES YES

GoCast YES 2013 (03) YES YES NPAPI ActiveX

Allnot complete

win, macnot complete YES YES

Doubango YES 2012 (02) YES NO NPAPI ActiveX all win NO YES

Tokbox NO - YES YES ActiveX IE win N/A YES

Frozen mountain NO - ? NO JAVA

ActiveX IE win N/A YES

Priologic NO - NO NO ActiveX IE win NO NO

Page 13: Plugin for other browsers - webRTC Conference and Expo June 2014 @ atlanta

Next steps: Build chain of trust (37 companies so far)

Help deliver Native implementation faster.- Bring webRTC to webkit – all can help- Keep working in the standard committees and in ORTC Community

Group to bring MS to the table.

Desktopchrome firefox IE Safari Opera ref client

GUM 18+ 17+plugin webkit

12+

appRTCDeskPC 20+ 22+ 18+DC 26+ 22+ 18+

GAE N/A

iOSsafari firefox chrome Opera ref client

webkit appRTCDEMO

N/A