SlideShare a Scribd company logo
1 of 42
WebRTC Standards &
Implementation Q&A
Amir Zmora
TheNewDialTone
Dan Burnett
StandardsPlay
Alex Gouaillard
WebRTC by Dr Alex / Citrix
Watch video recording of this session
http://ccst.io/e/webrtcstandards5
Session sponsored by
WebRTC.ventures is a custom design and development shop dedicated to building WebRTC based applications
for web and mobile. We have built end-to-end broadcast solutions for events and entertainment clients,
telehealth solutions for multiple clients, live support tools, as well as communication tools for a variety of other
applications. WebRTC.ventures is a recognized development partner of TokBox and has also built native
WebRTC solutions
Session sponsored by
Blacc Spot Media is comprised of a collaborative team of designers, developers and thought leaders specializing
in Web-Real Time Communications (WebRTC). Blacc Spot Media was founded in April 2011 with the goal of
creating innovative solutions using new technologies such as WebRTC. Our team works on strategic projects
developing custom applications, enterprise platforms and mobile applications for a wide array of clients.
We use CrowdCast….It’s WebRTC
WebRTCStandards.info
Sponsored by
About Us
• Amir Zmora • Dan Burnett • Alex Gouaillard
Save The Date: July 18
Register Now: http://ccst.io/e/webrtcstandards6
Next Session
JavaScript Promises in WebRTC
(Excerpted from WebRTC 101, Copyright 2015-
2016 Digital Codex LLC, Used with Permission)
Single-threaded programming
• Great for fast calls
• Fails for blocking calls
a = a+1;
a = getHugeFileFromInternet();
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
How to suspend/resume execution?
• Events
• Possibly multiple listeners called multiple times
• But event might occur before listeners added!
• Callbacks
• Typically called once, but guaranteed
var btn = document.querySelector('.btn');
btn.addEventListener('onclick', function() {
// do something cool
});
var ms = getUserMedia(successCB, failureCB);
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
What are they?
• New feature defined in Promises/A+
• https://promisesaplus.com
• Planned for ES 6
• http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
• Supported today by all browsers in some form
• https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
No, really, what are they?
• Promise: An object that eventually will either be fulfilled with a value or rejected with a
reason
• Constructor takes function with resolve (fulfill) and reject callbacks
• Async code goes inside
• Promise has 'then' method that registers fulfill and/or reject handlers
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Making promises
function pleaseWait(duration) {
var p = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve("I waited");
}, duration);
};
return p;
}
pleaseWait(5)
.then(function(x) {
console.log("promise fulfulled: " + x);
})
.catch(function(y) {
console.log("promise rejected: " + y);
});
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Making promises
function pleaseWait(duration) {
var p = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve("I waited");
}, duration);
};
return p;
}
pleaseWait(5)
.then(function(x) {
console.log("promise fulfulled: " + x);
})
.catch(function(y) {
console.log("promise rejected: " + y);
});
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Chaining promises
• If your resolve/reject fct returns a promise it can be chained
pleaseWait(5)
.then(logSomethingAndReturnPromise)
.then(function() {
return pleaseWait(10);
})
.then(function() {
console.log("all done");
})
.catch(function(y) {
console.log("failed somewhere: " + y);
});
Watch out for tricky special cases!
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Promises in WebRTC
• Originally all async API calls used callbacks plus immediate errors
• All async APIs have changed to use Promises instead
• but not fully implemented yet
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
getUserMedia()
• Different from the rest we'll see in that old syntax remains
• Old syntax
• New (additional) syntax
var ms =
navigator.getUserMedia(constraints, successCB, failureCB);
var msPromise =
navigator.mediaDevices.getUserMedia(constraints);
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
createOffer/Answer()
• Old syntax
• New (replacement) syntax
pc.createOffer(successCB, failureCB, offerOptions);
pc.createAnswer(successCB, failureCB);
var offerPromise = pc.createOffer(offerOptions);
var answerPromise = pc.createAnswer();
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
setLocal/RemoteDescription()
• Old syntax
• New (replacement) syntax
pc.setLocalDescription(localSDP, successCB, failureCB);
pc.setRemoteDescription(remoteSDP, successCB, failureCB);
var undefinedPromise = pc.setLocalDescription(localSDP);
var undefinedPromise = pc.setRemoteDescription(remoteSDP);
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
addIceCandidate()
• Old syntax
• New (replacement) syntax
pc.addIceCandidate(candidate, successCB, failureCB);
var undefinedPromise = pc.addIceCandidate(candidate);
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Promise(ing) resources
• Jake Archibald's Tutorial
• http://www.html5rocks.com/en/tutorials/es6/promises/
• Balint Erdi Tutorial
• http://www.toptal.com/javascript/javascript-promises
• About those special cases
• http://javascriptplayground.com/blog/2015/02/promises/
• Mozilla Promise page
• https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
Copyright 2015-2016 Digital Codex LLC,
Used with Permission
Interoperability vs. Compatibility
Codecs
Security
Connectivity
APIs
ORTC
Things that go over the wire Developer Interfaces
The SIP Case Study
• Defines: Procedures, Syntax, Media related stuff…
• No standard APIs
Is It Interoperable?
• In theory: YES
• Reality: Vendor specific implementations… One of the reasons we have SBCs in the
middle
Why WebRTC is Different
• Defines APIs
• Nothing to do with signaling
• Not so many implementations
• Embedded in browsers
• Services are mainly closed islands
• Typically exiting the island through SIP GWs
Interoperability, Compatibility and Backwards
Compatibility are still important for WebRTC
• Browser versions
• Mobile SDKs
• Private compilations of WebRTC into clients or server functions
See a post on this topic
https://thenewdialtone.com/webrtc-api-compatibility/
WebRTC Interoperability Tests at IMTC
Browsers before WebRTC
Did not need to test against each others.
Stand alone, in-browser, in-tab, testing of web app was enough.
JS API (Specification) testing
• Use case: I want to test if a given browser supports spec X.
• Scope: within a browser.
• Owner: W3C – “test the web forward”, Browser testing & tools WG
Browsers Interoperability (JS API)
• Use Case: I want to write a web app based on Media Device and WebRTC/ORTC APIs
that works (does not generate JS error) whatever the browser, the browser revision,
version, Operating system, …
• Scope: all browsers, all OS, one browser at a time.
• Owner: Unclear. Adapter.js and appRTC are behind a google CLA, but have many
external contributors.
Browsers Interoperability (On the wire)
• Use Case: I want to test my web application communicating with itself running on two
different browsers, on two different OSes: e.g. chrome on Mac against edge on win 10.
• Scope: Two browsers communicating, possibly running on two separate
machines/instances with different OSes, for all possible pairs of [browsers] x [OSes].
• Owner: Unclear. Specs are IETF’s. Google as some tests Cr x FF. NTT has some tests
Cr x FF. IMTC took the lead and sponsor the development of a testing framework.
• There are three simplifications of this use case:
• single page tests (two PC objects in the same page)
• tab-to-tab (two PC objects in different page, but in the same browser)
• browser to browser (two PCs object in different browsers, running on the same
machine/instance)
Browsers Interoperability (On the wire)
• Mozilla developed steeplechase, but is limited in testing resource to run it through all the
OSes and versions. Moreover most of the existing tests are written to run in isolation, and
cannot be reused for interoperability testing between two browsers.
• For interoperability between two browsers, you also need an app, with a signaling server
to be able to test. Google has been testing interop between chrome and firefox through
appRTC.
• Testing the network part is a challenge on its own, and specific tools have been or are
being developed to address those:
• NTT’s NAT combinations browser to browser tests (ETA: April 2016)
• Mozilla NAT server written in python
Interop. between browser & !browser (On the wire)
• Use Case: I want to test my web app running in a browser, against the corresponding
native app, or against a gateway/media server, which would understand the same
signaling format, and use the same signaling transport protocol.
• Scope: Browser to non-browser, for each pair of [browser] x [device||server]
• Owner: unclear, Multiple.
The specifications are slightly different for non-browser clients, e.g. for ICE, MTI codecs,
and so on. Tests expectation need to be adapted.
WebRTC stack testing (native, IoT, …)
• Use Case: I want to use a webrtc implementation in my native app (desktop or mobile). I
possibly want to modify part of the code, but still run the “standard” tests on it, either to
check if it is still safe to use, and or to report bugs to the stack owner using their own
tests for reproducibility.
• Scope: Native apps’ webrtc lib
• Owner: respective webrtc stack owners.
IMTC WebRTC Testing
• Interop testing is not in the scope of W3C nor IETF, IMTC fills that gap
• Already developed an automated interop. Testing framework for multiple OS,
Browser, version, plugins. Limited to 1:1.
• Next steps (Q3/Q4):
• extend to more OS and more Browsers
• extend to multi party calls
• Support simulcast
IMTC WebRTC
Testing – infoViz
• http://www.slideshare.net/alexpiwi5/2016-q1-webrtc-testing-state-of-the-art
Save The Date: July 18
Register Now: http://ccst.io/e/webrtcstandards6
Next Session
Session sponsored by
WebRTC.ventures is a custom design and development shop dedicated to building WebRTC based applications
for web and mobile. We have built end-to-end broadcast solutions for events and entertainment clients,
telehealth solutions for multiple clients, live support tools, as well as communication tools for a variety of other
applications. WebRTC.ventures is a recognized development partner of TokBox and has also built native
WebRTC solutions
Session sponsored by
Blacc Spot Media is comprised of a collaborative team of designers, developers and thought leaders specializing
in Web-Real Time Communications (WebRTC). Blacc Spot Media was founded in April 2011 with the goal of
creating innovative solutions using new technologies such as WebRTC. Our team works on strategic projects
developing custom applications, enterprise platforms and mobile applications for a wide array of clients.
Thank You
Amir Zmora
TheNewDialTone
Dan Burnett
StandardsPlay
Alex Gouaillard
WebRTC by Dr Alex

More Related Content

What's hot

Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on MobageMasaki Nakagawa
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular appsMartin Hochel
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007lucclaes
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaShekhar Gulati
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGiCarsten Ziegeler
 
Open Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and ComplianceOpen Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and ComplianceAll Things Open
 
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...0xdaryl
 
Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Nikolai Blackie
 
GR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf
 
C#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course ContentC#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course ContentSVRTechnologies
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In ActionHazem Saleh
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack ImplementationMert Çalışkan
 
[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In ActionHazem Saleh
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive ProgrammingRossen Stoyanchev
 
[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache Cordova[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache CordovaHazem Saleh
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeAll Things Open
 
Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Luis Lopez
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - EnglishAlexandre Gouaillard
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014Ryan Cuprak
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 

What's hot (20)

Test Engineering on Mobage
Test Engineering on MobageTest Engineering on Mobage
Test Engineering on Mobage
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular apps
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGi
 
Open Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and ComplianceOpen Source Licensing: Types, Strategies and Compliance
Open Source Licensing: Types, Strategies and Compliance
 
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
JavaOne 2015 CON7547 "Beyond the Coffee Cup: Leveraging Java Runtime Technolo...
 
Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...Top ten integration productivity tools and frameworks - Integration Saturday ...
Top ten integration productivity tools and frameworks - Integration Saturday ...
 
GR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting GrailsGR8Conf 2011: Adopting Grails
GR8Conf 2011: Adopting Grails
 
C#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course ContentC#.net, C Sharp.Net Online Training Course Content
C#.net, C Sharp.Net Online Training Course Content
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
 
[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action[Devoxx Morocco 2015] Apache Cordova In Action
[Devoxx Morocco 2015] Apache Cordova In Action
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive Programming
 
[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache Cordova[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache Cordova
 
A Tour of Open Source on the Mainframe
A Tour of Open Source on the MainframeA Tour of Open Source on the Mainframe
A Tour of Open Source on the Mainframe
 
Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.
 
2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English2016 February - WebRTC Conference japan - English
2016 February - WebRTC Conference japan - English
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 

Viewers also liked

Gentrification in Wicker Park and Pilsen
Gentrification in Wicker Park and PilsenGentrification in Wicker Park and Pilsen
Gentrification in Wicker Park and Pilsenlizziemj
 
Pilsen, chicago
Pilsen, chicagoPilsen, chicago
Pilsen, chicagoncanulli
 
Pilsen Powerpoint
Pilsen PowerpointPilsen Powerpoint
Pilsen Powerpointtneubeck
 
Melissa Sobin // Senior Anthropology Honors Thesis
Melissa Sobin // Senior Anthropology Honors Thesis Melissa Sobin // Senior Anthropology Honors Thesis
Melissa Sobin // Senior Anthropology Honors Thesis Melissa Sobin
 
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...vlearnqtp
 
Mural-power point =)
Mural-power point =)Mural-power point =)
Mural-power point =)Adan Figueroa
 
Murals
MuralsMurals
MuralsRenata
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingAnjali Rao
 
Writing Identification Tests
Writing Identification TestsWriting Identification Tests
Writing Identification Testsdessandrea
 
Test and some test types (ev elt)
Test and some test types (ev elt)Test and some test types (ev elt)
Test and some test types (ev elt)theryszard
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software TestingNishant Worah
 
Language Testing: Approaches and Techniques
Language Testing: Approaches and TechniquesLanguage Testing: Approaches and Techniques
Language Testing: Approaches and TechniquesMonica Angeles
 

Viewers also liked (19)

Gentrification in Wicker Park and Pilsen
Gentrification in Wicker Park and PilsenGentrification in Wicker Park and Pilsen
Gentrification in Wicker Park and Pilsen
 
Pilsen
PilsenPilsen
Pilsen
 
Pilsen, chicago
Pilsen, chicagoPilsen, chicago
Pilsen, chicago
 
Pilsen Powerpoint
Pilsen PowerpointPilsen Powerpoint
Pilsen Powerpoint
 
Melissa Sobin // Senior Anthropology Honors Thesis
Melissa Sobin // Senior Anthropology Honors Thesis Melissa Sobin // Senior Anthropology Honors Thesis
Melissa Sobin // Senior Anthropology Honors Thesis
 
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
HP ALM, HP QC 11,QC 11, Quality Center 11, SAP TAO, SAP TAO 3.0, SAP TAO 4.0,...
 
Top 10 Qualities of a QA Tester
Top 10 Qualities of a QA TesterTop 10 Qualities of a QA Tester
Top 10 Qualities of a QA Tester
 
Mural-power point =)
Mural-power point =)Mural-power point =)
Mural-power point =)
 
Murals
MuralsMurals
Murals
 
Mural painting ppt
Mural painting pptMural painting ppt
Mural painting ppt
 
Adapting JIRA For Scrum
Adapting JIRA For ScrumAdapting JIRA For Scrum
Adapting JIRA For Scrum
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
 
Writing Identification Tests
Writing Identification TestsWriting Identification Tests
Writing Identification Tests
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Test and some test types (ev elt)
Test and some test types (ev elt)Test and some test types (ev elt)
Test and some test types (ev elt)
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Language Testing: Approaches and Techniques
Language Testing: Approaches and TechniquesLanguage Testing: Approaches and Techniques
Language Testing: Approaches and Techniques
 

Similar to WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability and API Compatibility

Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCAlexandre Gouaillard
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)QAware GmbH
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...Amir Zmora
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourcePerfecto by Perforce
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material designSrinadh Kanugala
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityAmir Zmora
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017ElifTech
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsForgeRock
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps ZNetLive
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCTim Burks
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc projectAlexandre Gouaillard
 

Similar to WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability and API Compatibility (20)

Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge InteroperabilityWebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
 
Resume
ResumeResume
Resume
 
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
Webinar by ZNetLive & Plesk- Winning the Game for WebOps and DevOps
 
Where should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and moreWhere should I run my code? Serverless, Containers, Virtual Machines and more
Where should I run my code? Serverless, Containers, Virtual Machines and more
 
Build Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPCBuild Great Networked APIs with Swift, OpenAPI, and gRPC
Build Great Networked APIs with Swift, OpenAPI, and gRPC
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
 

More from Amir Zmora

FlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN StrategyFlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN StrategyAmir Zmora
 
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...Amir Zmora
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0Amir Zmora
 
WebRTC Standards & Implementation Q&A - IP address privacy revisited
WebRTC Standards & Implementation Q&A - IP address privacy revisitedWebRTC Standards & Implementation Q&A - IP address privacy revisited
WebRTC Standards & Implementation Q&A - IP address privacy revisitedAmir Zmora
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingAmir Zmora
 
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...Amir Zmora
 
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0Amir Zmora
 
WebRTC Standards & Implementation Q&A - The Future is Now2!
WebRTC Standards & Implementation Q&A - The Future is Now2!WebRTC Standards & Implementation Q&A - The Future is Now2!
WebRTC Standards & Implementation Q&A - The Future is Now2!Amir Zmora
 
WebRTC Standards & Implementation Q&A - The Future is Now!
WebRTC Standards & Implementation Q&A - The Future is Now!WebRTC Standards & Implementation Q&A - The Future is Now!
WebRTC Standards & Implementation Q&A - The Future is Now!Amir Zmora
 
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...Amir Zmora
 
WebRTC Standards & Implementation Q&A - WebRTC Constrains
WebRTC Standards & Implementation Q&A - WebRTC ConstrainsWebRTC Standards & Implementation Q&A - WebRTC Constrains
WebRTC Standards & Implementation Q&A - WebRTC ConstrainsAmir Zmora
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...Amir Zmora
 
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
WebRTC Standards & Implementation Q&A - Legacy API Support ChangesWebRTC Standards & Implementation Q&A - Legacy API Support Changes
WebRTC Standards & Implementation Q&A - Legacy API Support ChangesAmir Zmora
 
WebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperabilityWebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperabilityAmir Zmora
 
WebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards UpdateWebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards UpdateAmir Zmora
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...Amir Zmora
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapAmir Zmora
 
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard wayWebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard wayAmir Zmora
 
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream RecordingWebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream RecordingAmir Zmora
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCAmir Zmora
 

More from Amir Zmora (20)

FlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN StrategyFlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
 
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
 
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
 
WebRTC Standards & Implementation Q&A - IP address privacy revisited
WebRTC Standards & Implementation Q&A - IP address privacy revisitedWebRTC Standards & Implementation Q&A - IP address privacy revisited
WebRTC Standards & Implementation Q&A - IP address privacy revisited
 
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meetingWebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
 
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
 
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
 
WebRTC Standards & Implementation Q&A - The Future is Now2!
WebRTC Standards & Implementation Q&A - The Future is Now2!WebRTC Standards & Implementation Q&A - The Future is Now2!
WebRTC Standards & Implementation Q&A - The Future is Now2!
 
WebRTC Standards & Implementation Q&A - The Future is Now!
WebRTC Standards & Implementation Q&A - The Future is Now!WebRTC Standards & Implementation Q&A - The Future is Now!
WebRTC Standards & Implementation Q&A - The Future is Now!
 
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
 
WebRTC Standards & Implementation Q&A - WebRTC Constrains
WebRTC Standards & Implementation Q&A - WebRTC ConstrainsWebRTC Standards & Implementation Q&A - WebRTC Constrains
WebRTC Standards & Implementation Q&A - WebRTC Constrains
 
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
 
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
WebRTC Standards & Implementation Q&A - Legacy API Support ChangesWebRTC Standards & Implementation Q&A - Legacy API Support Changes
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
 
WebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperabilityWebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Standards & Implementation Q&A - All about browser interoperability
 
WebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards UpdateWebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards Update
 
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...WebRTC Webinar & Q&A -  All About Microsoft & WebRTC Hosting Guest Speaker Ja...
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
 
Web rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards GapWeb rtc standards live session #13 - The Browser-Standards Gap
Web rtc standards live session #13 - The Browser-Standards Gap
 
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard wayWebRTC Webinar & Q&A -  Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
 
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream RecordingWebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
 

Recently uploaded

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 

Recently uploaded (20)

Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability and API Compatibility

  • 1. WebRTC Standards & Implementation Q&A Amir Zmora TheNewDialTone Dan Burnett StandardsPlay Alex Gouaillard WebRTC by Dr Alex / Citrix
  • 2. Watch video recording of this session http://ccst.io/e/webrtcstandards5
  • 3. Session sponsored by WebRTC.ventures is a custom design and development shop dedicated to building WebRTC based applications for web and mobile. We have built end-to-end broadcast solutions for events and entertainment clients, telehealth solutions for multiple clients, live support tools, as well as communication tools for a variety of other applications. WebRTC.ventures is a recognized development partner of TokBox and has also built native WebRTC solutions
  • 4. Session sponsored by Blacc Spot Media is comprised of a collaborative team of designers, developers and thought leaders specializing in Web-Real Time Communications (WebRTC). Blacc Spot Media was founded in April 2011 with the goal of creating innovative solutions using new technologies such as WebRTC. Our team works on strategic projects developing custom applications, enterprise platforms and mobile applications for a wide array of clients.
  • 7. About Us • Amir Zmora • Dan Burnett • Alex Gouaillard
  • 8. Save The Date: July 18 Register Now: http://ccst.io/e/webrtcstandards6 Next Session
  • 9. JavaScript Promises in WebRTC (Excerpted from WebRTC 101, Copyright 2015- 2016 Digital Codex LLC, Used with Permission)
  • 10. Single-threaded programming • Great for fast calls • Fails for blocking calls a = a+1; a = getHugeFileFromInternet(); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 11. How to suspend/resume execution? • Events • Possibly multiple listeners called multiple times • But event might occur before listeners added! • Callbacks • Typically called once, but guaranteed var btn = document.querySelector('.btn'); btn.addEventListener('onclick', function() { // do something cool }); var ms = getUserMedia(successCB, failureCB); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 12. What are they? • New feature defined in Promises/A+ • https://promisesaplus.com • Planned for ES 6 • http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts • Supported today by all browsers in some form • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 13. No, really, what are they? • Promise: An object that eventually will either be fulfilled with a value or rejected with a reason • Constructor takes function with resolve (fulfill) and reject callbacks • Async code goes inside • Promise has 'then' method that registers fulfill and/or reject handlers Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 14. Making promises function pleaseWait(duration) { var p = new Promise(function(resolve, reject) { setTimeout(function() { resolve("I waited"); }, duration); }; return p; } pleaseWait(5) .then(function(x) { console.log("promise fulfulled: " + x); }) .catch(function(y) { console.log("promise rejected: " + y); }); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 15. Making promises function pleaseWait(duration) { var p = new Promise(function(resolve, reject) { setTimeout(function() { resolve("I waited"); }, duration); }; return p; } pleaseWait(5) .then(function(x) { console.log("promise fulfulled: " + x); }) .catch(function(y) { console.log("promise rejected: " + y); }); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 16. Chaining promises • If your resolve/reject fct returns a promise it can be chained pleaseWait(5) .then(logSomethingAndReturnPromise) .then(function() { return pleaseWait(10); }) .then(function() { console.log("all done"); }) .catch(function(y) { console.log("failed somewhere: " + y); }); Watch out for tricky special cases! Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 17. Promises in WebRTC • Originally all async API calls used callbacks plus immediate errors • All async APIs have changed to use Promises instead • but not fully implemented yet Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 18. getUserMedia() • Different from the rest we'll see in that old syntax remains • Old syntax • New (additional) syntax var ms = navigator.getUserMedia(constraints, successCB, failureCB); var msPromise = navigator.mediaDevices.getUserMedia(constraints); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 19. createOffer/Answer() • Old syntax • New (replacement) syntax pc.createOffer(successCB, failureCB, offerOptions); pc.createAnswer(successCB, failureCB); var offerPromise = pc.createOffer(offerOptions); var answerPromise = pc.createAnswer(); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 20. setLocal/RemoteDescription() • Old syntax • New (replacement) syntax pc.setLocalDescription(localSDP, successCB, failureCB); pc.setRemoteDescription(remoteSDP, successCB, failureCB); var undefinedPromise = pc.setLocalDescription(localSDP); var undefinedPromise = pc.setRemoteDescription(remoteSDP); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 21. addIceCandidate() • Old syntax • New (replacement) syntax pc.addIceCandidate(candidate, successCB, failureCB); var undefinedPromise = pc.addIceCandidate(candidate); Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 22. Promise(ing) resources • Jake Archibald's Tutorial • http://www.html5rocks.com/en/tutorials/es6/promises/ • Balint Erdi Tutorial • http://www.toptal.com/javascript/javascript-promises • About those special cases • http://javascriptplayground.com/blog/2015/02/promises/ • Mozilla Promise page • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise Copyright 2015-2016 Digital Codex LLC, Used with Permission
  • 24. Codecs Security Connectivity APIs ORTC Things that go over the wire Developer Interfaces
  • 25. The SIP Case Study • Defines: Procedures, Syntax, Media related stuff… • No standard APIs Is It Interoperable? • In theory: YES • Reality: Vendor specific implementations… One of the reasons we have SBCs in the middle
  • 26. Why WebRTC is Different • Defines APIs • Nothing to do with signaling • Not so many implementations • Embedded in browsers • Services are mainly closed islands • Typically exiting the island through SIP GWs
  • 27. Interoperability, Compatibility and Backwards Compatibility are still important for WebRTC • Browser versions • Mobile SDKs • Private compilations of WebRTC into clients or server functions See a post on this topic https://thenewdialtone.com/webrtc-api-compatibility/
  • 29. Browsers before WebRTC Did not need to test against each others. Stand alone, in-browser, in-tab, testing of web app was enough.
  • 30. JS API (Specification) testing • Use case: I want to test if a given browser supports spec X. • Scope: within a browser. • Owner: W3C – “test the web forward”, Browser testing & tools WG
  • 31. Browsers Interoperability (JS API) • Use Case: I want to write a web app based on Media Device and WebRTC/ORTC APIs that works (does not generate JS error) whatever the browser, the browser revision, version, Operating system, … • Scope: all browsers, all OS, one browser at a time. • Owner: Unclear. Adapter.js and appRTC are behind a google CLA, but have many external contributors.
  • 32. Browsers Interoperability (On the wire) • Use Case: I want to test my web application communicating with itself running on two different browsers, on two different OSes: e.g. chrome on Mac against edge on win 10. • Scope: Two browsers communicating, possibly running on two separate machines/instances with different OSes, for all possible pairs of [browsers] x [OSes]. • Owner: Unclear. Specs are IETF’s. Google as some tests Cr x FF. NTT has some tests Cr x FF. IMTC took the lead and sponsor the development of a testing framework. • There are three simplifications of this use case: • single page tests (two PC objects in the same page) • tab-to-tab (two PC objects in different page, but in the same browser) • browser to browser (two PCs object in different browsers, running on the same machine/instance)
  • 33. Browsers Interoperability (On the wire) • Mozilla developed steeplechase, but is limited in testing resource to run it through all the OSes and versions. Moreover most of the existing tests are written to run in isolation, and cannot be reused for interoperability testing between two browsers. • For interoperability between two browsers, you also need an app, with a signaling server to be able to test. Google has been testing interop between chrome and firefox through appRTC. • Testing the network part is a challenge on its own, and specific tools have been or are being developed to address those: • NTT’s NAT combinations browser to browser tests (ETA: April 2016) • Mozilla NAT server written in python
  • 34. Interop. between browser & !browser (On the wire) • Use Case: I want to test my web app running in a browser, against the corresponding native app, or against a gateway/media server, which would understand the same signaling format, and use the same signaling transport protocol. • Scope: Browser to non-browser, for each pair of [browser] x [device||server] • Owner: unclear, Multiple. The specifications are slightly different for non-browser clients, e.g. for ICE, MTI codecs, and so on. Tests expectation need to be adapted.
  • 35. WebRTC stack testing (native, IoT, …) • Use Case: I want to use a webrtc implementation in my native app (desktop or mobile). I possibly want to modify part of the code, but still run the “standard” tests on it, either to check if it is still safe to use, and or to report bugs to the stack owner using their own tests for reproducibility. • Scope: Native apps’ webrtc lib • Owner: respective webrtc stack owners.
  • 36. IMTC WebRTC Testing • Interop testing is not in the scope of W3C nor IETF, IMTC fills that gap • Already developed an automated interop. Testing framework for multiple OS, Browser, version, plugins. Limited to 1:1. • Next steps (Q3/Q4): • extend to more OS and more Browsers • extend to multi party calls • Support simulcast
  • 37. IMTC WebRTC Testing – infoViz • http://www.slideshare.net/alexpiwi5/2016-q1-webrtc-testing-state-of-the-art
  • 38.
  • 39. Save The Date: July 18 Register Now: http://ccst.io/e/webrtcstandards6 Next Session
  • 40. Session sponsored by WebRTC.ventures is a custom design and development shop dedicated to building WebRTC based applications for web and mobile. We have built end-to-end broadcast solutions for events and entertainment clients, telehealth solutions for multiple clients, live support tools, as well as communication tools for a variety of other applications. WebRTC.ventures is a recognized development partner of TokBox and has also built native WebRTC solutions
  • 41. Session sponsored by Blacc Spot Media is comprised of a collaborative team of designers, developers and thought leaders specializing in Web-Real Time Communications (WebRTC). Blacc Spot Media was founded in April 2011 with the goal of creating innovative solutions using new technologies such as WebRTC. Our team works on strategic projects developing custom applications, enterprise platforms and mobile applications for a wide array of clients.
  • 42. Thank You Amir Zmora TheNewDialTone Dan Burnett StandardsPlay Alex Gouaillard WebRTC by Dr Alex