SlideShare a Scribd company logo
1 of 26
Screensharing made easier
Arnaud Budkiewicz, Sr Director of Video Engineering, W3C Member
“Can everyone see my screen?”
“Screen sharing is broken”
How to make screen sharing great again?
1. Enhance your Desktop experience, that you control 100%
2. Work hard on Performance
3. Contribute: W3C, WebRTC, Chromium, Firefox, Webkit
Bring
confidence
before sharing
What do you want to share today?
Browser experience:
UX is too complex for most common use cases
● Tabs are non-discoverable
● 2 extra clicks are required
○ No selection by default
○ “Share” button not in focus by default
● Hitting “ENTER” make the picker window
disappear
What do you want to share today?
Desktop experience:
Screens and Applications listed in ONE screen
● No tabs
● No extra click is required
○ Screen #1 selected by default
○ “Share” button in focus by default
● Hitting “ENTER” starts sharing
Screen 1 Screen 2 Screen 3
Bring
confidence
while sharing
What are you really sharing?
Browser experience:
Non-customizable notification bar
● Moveable but in the way by default,
blocking presentation materials
● Is part of what is shared
● If you click “hide”, it’s difficult to get it back
“Hall of mirror” if the preview is too big
Desktop experience:
Halo around the shared screen/application
● Easy-to-find notch at the top of the screen
● Halo and notch removed from the video stream
No “hall of mirror”
● Application is automatically resized
in a small form factor
● and removed from the video stream
What are you really sharing?
Bring control
while sharing
Take control of the viewer experience
Browser experience:
With one screen,
It’s very complex to share screen,
see other participants,
and control your experience
at the same time:
1. Use tab sharing
2. Start slides presenter view
3. Exit the full screen mode
4. Adjust windows manually
No annotation on a full-screen
Take control of the viewer experience
Desktop experience:
Use the Presenter Mode from your favorite
Presentation application
The meeting window is removed from what
you share, so you can place it anywhere on the
screen and keep control of your experience
Annotate when you share your entire screen
or an application
Implementation
Vanilla Electron
Electron (Chromium + Node.js)
● Native Electron modules (C++)
● Part of the code is inside Web Application
Electron
Chromium
Node.js
Web App.
WebRTC
Capturer
Native
Module
Canvas
Frame
Frame
PROS:
● No Electron/WebRTC/Chromium patches
● Easy to switch to next Electron version
Vanilla Electron
CONS:
● A lot of unneeded code:
○ JS Wrappers
○ JS Callbacks
○ JS Timers
● Logic is scattered between JS and C++
● Executed in renderer process
○ JS processes throttled
Electron
Chromium
Node.js
Web App.
WebRTC
Capturer
Native
Module
Canvas
Frame
Frame
Modified Electron
Modify WebRTC, Chromium, Electron
● Implement custom features by
direct changes in WebRTC lib.
Electron
Chromium
Node.js
Web App.
JS
WebRTC
Capturer
Native
Module
Capturer
Native
Module
Electron
Chromium
Node.js
Web App.
JS
Modified Electron
PROS:
● Fully native implementation
● Executed in Main process
○ No JS engine
○ No throttling
● Better image quality
● Cutting-edge contributions from community
CONS:
● Maintenance of WebRTC patches
● Custom Electron builds
WebRTC
Capturer
Native
Module
Capturer
Native
Module
Performance
Performance on Windows
Power Consumption
● Native Capturer in Vanilla Electron
● Custom Electron is up to 2x better
● Close from WebRTC M87
Dell Precision 5510: i7-6820HQ @ 2.80GHz + Intel HD Graphic 530 + NVIDIA Quadro M1000M
Performance on Mac
MacBook Pro 15” Mid 2015: i7-4980HQ @ 2.80GHz + Intel Iris Pro
Power Consumption
● Native Capturer in Vanilla Electron
● Custom Electron is 2x better
● Close from WebRTC M87
What’s next?
In Major Browsers
● AV1 in M90+
● Share a portion of the screen
● And more to come...
RingCentral Overlay Mode
Web and Desktop experience
“Weather person” visual effect
● helps the presenter hold the audience’s
attention
● allows the audience to keep an eye on the
presenter while following the material
being presented
Questions?
@RingCentralDevs
developers.ringcentral.com
Thank You.

More Related Content

Similar to Krank Geek April 2021 - Screensharing made easier

Making apps for the Apple TV
Making apps for the Apple TVMaking apps for the Apple TV
Making apps for the Apple TVSally Shepard
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenSheikhMoonwaraAnjumM
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTCvline
 
Installable web applications
Installable web applicationsInstallable web applications
Installable web applicationsLiveChat
 
Usability Testing on Mobile Devices - No More Excuses!
Usability Testing on Mobile Devices - No More Excuses!Usability Testing on Mobile Devices - No More Excuses!
Usability Testing on Mobile Devices - No More Excuses!UXPA Boston
 
web-rtc presentation on TNC 2013, Technical Advisory Committee meeting
web-rtc presentation on TNC 2013, Technical Advisory Committee meetingweb-rtc presentation on TNC 2013, Technical Advisory Committee meeting
web-rtc presentation on TNC 2013, Technical Advisory Committee meetingJan Meijer
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartNokiaAppForum
 
Develop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosDevelop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosLuke Stapley
 
Introduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup AmsterdamIntroduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup AmsterdamThreeDee Media
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 IntroductionAjesh Issac
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx engCineSoft
 
Laurent Duveau: Windows App Studio
Laurent Duveau: Windows App StudioLaurent Duveau: Windows App Studio
Laurent Duveau: Windows App StudioMSDEVMTL
 
Building Applications for HoloLens
Building Applications for HoloLensBuilding Applications for HoloLens
Building Applications for HoloLensDamir Dobric
 
Cloudy with a Dash of Universal Apps
Cloudy with a Dash of Universal AppsCloudy with a Dash of Universal Apps
Cloudy with a Dash of Universal AppsShahed Chowdhuri
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsSoumow Dollon
 
Game Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, IndonesiaGame Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, IndonesiaHarum Nugroho
 

Similar to Krank Geek April 2021 - Screensharing made easier (20)

Making apps for the Apple TV
Making apps for the Apple TVMaking apps for the Apple TV
Making apps for the Apple TV
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKraken
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
Installable web applications
Installable web applicationsInstallable web applications
Installable web applications
 
Usability Testing on Mobile Devices - No More Excuses!
Usability Testing on Mobile Devices - No More Excuses!Usability Testing on Mobile Devices - No More Excuses!
Usability Testing on Mobile Devices - No More Excuses!
 
web-rtc presentation on TNC 2013, Technical Advisory Committee meeting
web-rtc presentation on TNC 2013, Technical Advisory Committee meetingweb-rtc presentation on TNC 2013, Technical Advisory Committee meeting
web-rtc presentation on TNC 2013, Technical Advisory Committee meeting
 
Andreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo QuickstartAndreas Jakl, Qt Symbian Maemo Quickstart
Andreas Jakl, Qt Symbian Maemo Quickstart
 
Develop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By CocosDevelop Games With Cocos Creator - A Game Engine By Cocos
Develop Games With Cocos Creator - A Game Engine By Cocos
 
Introduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup AmsterdamIntroduction to WebGL - 1st WebGL meetup Amsterdam
Introduction to WebGL - 1st WebGL meetup Amsterdam
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 Introduction
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx eng
 
Laurent Duveau: Windows App Studio
Laurent Duveau: Windows App StudioLaurent Duveau: Windows App Studio
Laurent Duveau: Windows App Studio
 
Windows App Studio
Windows App StudioWindows App Studio
Windows App Studio
 
Building Applications for HoloLens
Building Applications for HoloLensBuilding Applications for HoloLens
Building Applications for HoloLens
 
Cloudy with a Dash of Universal Apps
Cloudy with a Dash of Universal AppsCloudy with a Dash of Universal Apps
Cloudy with a Dash of Universal Apps
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our Tips
 
Developing NuGet
Developing NuGetDeveloping NuGet
Developing NuGet
 
Game Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, IndonesiaGame Development with Unity3D 5 in Bandung, Indonesia
Game Development with Unity3D 5 in Bandung, Indonesia
 
SWT - Technical Deep Dive
SWT - Technical Deep DiveSWT - Technical Deep Dive
SWT - Technical Deep Dive
 
Screencasting for the budget-friendly teacher
Screencasting for the budget-friendly teacherScreencasting for the budget-friendly teacher
Screencasting for the budget-friendly teacher
 

Recently uploaded

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

Krank Geek April 2021 - Screensharing made easier

  • 1. Screensharing made easier Arnaud Budkiewicz, Sr Director of Video Engineering, W3C Member
  • 2. “Can everyone see my screen?”
  • 4. How to make screen sharing great again? 1. Enhance your Desktop experience, that you control 100% 2. Work hard on Performance 3. Contribute: W3C, WebRTC, Chromium, Firefox, Webkit
  • 6. What do you want to share today? Browser experience: UX is too complex for most common use cases ● Tabs are non-discoverable ● 2 extra clicks are required ○ No selection by default ○ “Share” button not in focus by default ● Hitting “ENTER” make the picker window disappear
  • 7. What do you want to share today? Desktop experience: Screens and Applications listed in ONE screen ● No tabs ● No extra click is required ○ Screen #1 selected by default ○ “Share” button in focus by default ● Hitting “ENTER” starts sharing Screen 1 Screen 2 Screen 3
  • 9. What are you really sharing? Browser experience: Non-customizable notification bar ● Moveable but in the way by default, blocking presentation materials ● Is part of what is shared ● If you click “hide”, it’s difficult to get it back “Hall of mirror” if the preview is too big
  • 10. Desktop experience: Halo around the shared screen/application ● Easy-to-find notch at the top of the screen ● Halo and notch removed from the video stream No “hall of mirror” ● Application is automatically resized in a small form factor ● and removed from the video stream What are you really sharing?
  • 12. Take control of the viewer experience Browser experience: With one screen, It’s very complex to share screen, see other participants, and control your experience at the same time: 1. Use tab sharing 2. Start slides presenter view 3. Exit the full screen mode 4. Adjust windows manually No annotation on a full-screen
  • 13. Take control of the viewer experience Desktop experience: Use the Presenter Mode from your favorite Presentation application The meeting window is removed from what you share, so you can place it anywhere on the screen and keep control of your experience Annotate when you share your entire screen or an application
  • 15. Vanilla Electron Electron (Chromium + Node.js) ● Native Electron modules (C++) ● Part of the code is inside Web Application Electron Chromium Node.js Web App. WebRTC Capturer Native Module Canvas Frame Frame
  • 16. PROS: ● No Electron/WebRTC/Chromium patches ● Easy to switch to next Electron version Vanilla Electron CONS: ● A lot of unneeded code: ○ JS Wrappers ○ JS Callbacks ○ JS Timers ● Logic is scattered between JS and C++ ● Executed in renderer process ○ JS processes throttled Electron Chromium Node.js Web App. WebRTC Capturer Native Module Canvas Frame Frame
  • 17. Modified Electron Modify WebRTC, Chromium, Electron ● Implement custom features by direct changes in WebRTC lib. Electron Chromium Node.js Web App. JS WebRTC Capturer Native Module Capturer Native Module
  • 18. Electron Chromium Node.js Web App. JS Modified Electron PROS: ● Fully native implementation ● Executed in Main process ○ No JS engine ○ No throttling ● Better image quality ● Cutting-edge contributions from community CONS: ● Maintenance of WebRTC patches ● Custom Electron builds WebRTC Capturer Native Module Capturer Native Module
  • 20. Performance on Windows Power Consumption ● Native Capturer in Vanilla Electron ● Custom Electron is up to 2x better ● Close from WebRTC M87 Dell Precision 5510: i7-6820HQ @ 2.80GHz + Intel HD Graphic 530 + NVIDIA Quadro M1000M
  • 21. Performance on Mac MacBook Pro 15” Mid 2015: i7-4980HQ @ 2.80GHz + Intel Iris Pro Power Consumption ● Native Capturer in Vanilla Electron ● Custom Electron is 2x better ● Close from WebRTC M87
  • 23. In Major Browsers ● AV1 in M90+ ● Share a portion of the screen ● And more to come...
  • 24. RingCentral Overlay Mode Web and Desktop experience “Weather person” visual effect ● helps the presenter hold the audience’s attention ● allows the audience to keep an eye on the presenter while following the material being presented