SlideShare a Scribd company logo
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 Mobage
Masaki 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 apps
Martin Hochel
 
Google Dev Day2007
Google Dev Day2007Google Dev Day2007
Google Dev Day2007
lucclaes
 
Developing Great Apps with Apache Cordova
Developing Great Apps with Apache CordovaDeveloping Great Apps with Apache Cordova
Developing Great Apps with Apache Cordova
Shekhar Gulati
 
Embrace Change - Embrace OSGi
Embrace Change - Embrace OSGiEmbrace Change - Embrace OSGi
Embrace Change - Embrace OSGi
Carsten 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 Compliance
All 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 Grails
GR8Conf
 
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
SVRTechnologies
 
Apache Cordova In Action
Apache Cordova In ActionApache Cordova In Action
Apache Cordova In Action
Hazem 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 Implementation
Mert Ç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 Action
Hazem Saleh
 
Intro To Reactive Programming
Intro To Reactive ProgrammingIntro To Reactive Programming
Intro To Reactive Programming
Rossen Stoyanchev
 
[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache Cordova[ApacheCon 2016] Advanced Apache Cordova
[ApacheCon 2016] Advanced Apache Cordova
Hazem 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 Mainframe
All 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 - English
Alexandre Gouaillard
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
Ryan 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 hour
Brian 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 Pilsen
lizziemj
 
Pilsen
PilsenPilsen
Pilsen, chicago
Pilsen, chicagoPilsen, chicago
Pilsen, chicago
ncanulli
 
Pilsen Powerpoint
Pilsen PowerpointPilsen Powerpoint
Pilsen Powerpoint
tneubeck
 
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
 
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
Stacey Brown-Sommers
 
Mural-power point =)
Mural-power point =)Mural-power point =)
Mural-power point =)
Adan Figueroa
 
Murals
MuralsMurals
Murals
Renata
 
Mural painting ppt
Mural painting pptMural painting ppt
Mural painting ppt
Pratibha Singh
 
Adapting JIRA For Scrum
Adapting JIRA For ScrumAdapting JIRA For Scrum
Adapting JIRA For Scrum
Paul René Jørgensen
 
Using JIRA Software for Issue Tracking
Using JIRA Software for Issue TrackingUsing JIRA Software for Issue Tracking
Using JIRA Software for Issue Tracking
Anjali Rao
 
Writing Identification Tests
Writing Identification TestsWriting Identification Tests
Writing Identification Tests
dessandrea
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
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 types
Confiz
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Language Testing: Approaches and Techniques
Language Testing: Approaches and TechniquesLanguage Testing: Approaches and Techniques
Language Testing: Approaches and Techniques
Monica 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 WebRTC
Alexandre Gouaillard
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
Kunal Bhatia, MBA Candidate, BSc.
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
Tommy Williams
 
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
 
Node.js Tools Ecosystem
Node.js Tools EcosystemNode.js Tools Ecosystem
Node.js Tools Ecosystem
Rocket Software
 
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 Scale
Oracle 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 Source
Perfecto by Perforce
 
Phonegap android angualr material design
Phonegap android angualr material designPhonegap android angualr material design
Phonegap android angualr material design
Srinadh 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 Interoperability
Amir Zmora
 
JS digest. November 2017
JS digest. November 2017JS digest. November 2017
JS digest. November 2017
ElifTech
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
ForgeRock
 
Resume
ResumeResume
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
 
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
Bret McGowen - NYC Google Developer Advocate
 
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
Tim Burks
 
DYI - Starting your own webrtc project
DYI - Starting your own webrtc projectDYI - Starting your own webrtc project
DYI - Starting your own webrtc project
Alexandre 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 Strategy
Amir 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.0
Amir 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 revisited
Amir 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 meeting
Amir 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.0
Amir 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 Constrains
Amir 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 Changes
Amir 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 interoperability
Amir Zmora
 
WebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards UpdateWebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - Standards Update
Amir 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 Gap
Amir 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 way
Amir 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 Recording
Amir 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 WebRTC
Amir 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

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 

Recently uploaded (20)

Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 

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