SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
WEBRTC ON MOBILE DEVICES:
CHALLENGES AND OPPORTUNITIES
Vladimir Beloborodov
Technical Manager / CTO at Mera Software Services
+ =
“WebRTC”
WebRTC is
a technology
for peer-to-peer exchange
of media (audio, video) and data
between web*-clients
in (near) real time
* Note: “web” here is in a broader sense than just browsers and in-browser apps
“Web” as in “web-browser”?
Yes! But more than that…
Data
“Neophyte View” on WebRTC
Data
Source of photo: https://www.flickr.com/photos/jon_ovington/4315834126
“With WebRTC
I can build my
own Skype!”
Amir Zmora
@AmirZmora
If I Hear of Another New “Cool” #WebRTC
Talking Heads Service I’m Going to Scream
http://bit.ly/1KuKCnZ
Original tweet: https://twitter.com/AmirZmora/status/602817737728126977
• Contact Centers
• Enterprise Telecom
• Carriers / OTT
• Communication features
in consumer electronics
Telecom: A “No-Brainer” Vertical
“Telecom View” on WebRTC
Data
Shared
Screen*
* Screen sharing is coming to the WebRTC standard
“ ommunication”
can be more than just
“plain Telecom”
• Human-to-Human
• Human-Machine Interactions
• Machine-to-Machine (?)
Why not?
Noise
Data
Note that WebRTC
can also be a great match
for many other new and
emerging technologies…
Data
Natural
Language
Processing
“Communication-Centric” Model Changes…
19th century – 2000s:
“Communication
as a product”
2000s – 2010s:
“Communication
as a service”
…Into “Domain/Problem-Centric” Model
2010s – … :
“Communication
as a feature”,
“Communication
as a function”
“Communication as a Function”
• Context-awareness and context-preservation
• Instant availability (in the given context)
• Integration with/into problem-specific tools
• Selection of communication options/channels
• Personalization (user preferences/profiles)
• Integration with the surrounding environment
Remote Support. “Assistant-as-App”.
• Personal consulting and coaching
• “Post-training” performance support
• “Amateur support”. Situational assistance.
• Augmented-reality-based guidance
https://www.vida.com/
Suggested reading: “Why ‘Assistant-As-App’ Might Be the Next Big Tech Trend”
https://www.linkedin.com/pulse/why-assistant-as-app-might-next-big-tech-trend-nir-eyal
http://www.onato.com/projects/vex.html
VEX ~ Remote
Insurance Appraisals
“Users can video chat with
the appraiser so that
appraisals can be quickly
and effectively performed
from the office. Video
sessions are archived for
possible liability disputes.
Hi resolution photos can be
taken by the appraiser at
any time to ensure all
details are captured.”
Social Engagement. Accessibility.
• Public reporting and journalism
• Elderly support services
• Sign-language translation services
• Assistance to blind people
http://www.bemyeyes.org/
Peer-to-Peer Interactions. CDN.
• Remote control services and functions
• “Robotic telepresence” and “avatars”
• Content delivery services
• Secured peer-to-peer transactions
http://bem.tv/
https://streamium.io/
http://www.doublerobotics.com/
Caveat: Their SDK only used WebRTC voice and video. Data channel anyone?
Time for
quick
demo…
Try it!
http://blog.uppersideconferences.com/award-winners-webrtc-2014-conference-expo/
Data
Channel
award
“Communication as a Function”
…makes perfect sense in many
desktop-based scenarios
Side-note: Desktop goes “mobile” too…
Source: http://thenextweb.com/mobile/2012/02/21/ubuntu-for-
android-could-turn-your-phone-into-a-powerful-desktop-computer/
Source: https://www-ssl.intel.com/content/www/us/en/compute-stick/intel-compute-stick.html
Source: https://www.apple.com/macbook/
“Communication as a Function”
…can be done with several
Telecom or Web technologies
Native or hybrid application logic Web-application logic
WebRTC API(s)
in some other
programming
language(s)
Implementation of the “Web” API part of WebRTC
This API is standardized by the WEBRTC group in W3C
(including interactions with other parts of HTML5)
Implementation-specific API
Implementation of the “RTC” mechanisms of WebRTC
These mechanisms are standardized by the RTCWEB group in IETF
(NAT traversal, media negotiation, mandatory codecs, and the like)
Underlying platform
• Enhanced ICE-based NAT Traversal
• Secure media and data transport
• Common subset of media codecs
• Signaling over existing peer connection
• and more
“Communication as a Function”
+ =
“Communication as a Function”
+ =
WebRTC on Mobile? Choices, choices…
Web App
Native
Mobile App
Hybrid
Mobile App
WebRTC-related Considerations
• WebRTC libraries for native apps
• WebRTC direct support in WebView
• WebRTC in embedded browser
• WebRTC in 3rd-party browser apps
Some General Considerations
• Native “look and feel” on target platforms
• Application responsiveness. Usage of gestures.
• Native platform capabilities. Storage options.
• Support of external H/W devices / accessories
• Access to local media sources and outputs
Some More Considerations
• End-customer preferences / requirements
• Support for prev. versions (platform / browser)
• Required skillset and dev tools
WebRTC Options on Android
Open-source libs
• Google WebRTC
• OpenWebRTC (Ericsson)
WebRTC in WebView Starting 5.0 “Lollipop”
Embedded browser Starting 5.0 (with Chrome) ++
3rd-party browsers Chrome, Firefox, “Bowser” *
* For more details on “Bowser” visit https://getbowser.appspot.com/
++ Not guaranteed in case of vendor-customized Android firmwares
WebRTC Options on iOS
Open-source libs
• Google WebRTC
• OpenWebRTC (Ericsson)
WebRTC in WebView No native support *
Embedded browser No
3rd-party browsers “Bowser” *
* iOS apps can use WebRTC in WebView, including a W3C-specs compliant JavaScript API.
For example, look at “Bowser” (https://getbowser.appspot.com/)
or Cordova plug-in “iosrtc” (https://github.com/eface2face/cordova-plugin-iosrtc).
WebRTC Open-Source Implementations*
* Mozilla plans to “join the club” too, offering their Firefox WebRTC engine.
* For ORTC, the ORTC project offers their own open-source prototype.
OpenWebRTC
Diversity of H/W Platforms and Options
Preserve video proportions
UI and UX with WebRTC
One screen layout may not fit all
Device orientation affects both
UI layout and “camera layout”
Preview of local front camera
normally “mirrors” the user
WebRTC App Behavior
Background mode considerations
“Wi-Fi only” / “Wi-Fi and Cellular”
Lighter comm. channel options
for narrow-bandwidth conditions
Handle “edge cases” and errors
Advanced and “hack-ish” topics
Codec ordering in SDP matters.
Changing it may help, but you
must know well what you do.
(Pre-)balance UX and system load
with WebRTC constraints
Find out what codecs, if any, enjoy
H/W acceleration on platform/lib
Hybrid Mobile Applications
A typical definition:
“Applications combining
elements of both
native applications and
Web applications.”
How Well Can “Web” Play “Native”?
App / domain
logic and models App UI*
Performance-demanding
features and capabilities
* This may work great for certain apps and customers. Yet, generally, be careful.
JS-Hybrids: More Than One Approach
Approach Example dev options
Packaged web apps Microsoft ManifoldJS
“WebView UI” apps Cordova / PhoneGap
JS-based apps with
“shared” native UI
NativeScript
JS-based apps with
“per-platform” UIs
React Native
Source of photo: https://www.flickr.com/photos/befuddledsenses/2904000882
Between here and the horizon…
• WebRTC official standard (“WebRTC 1.0”)
• “Object RTC” (ORTC) and “WebRTC 1.1”
• Microsoft Edge with ORTC on board
• Screen sharing. Many other additions.
• WebAssembly + WebRTC
The Centaur icon is by EliRatus from the Noun Project.
Other icons used in this presentation were made by Freepik from www.flaticon.com.
mera.com
@VladimirTechMan
linkedin.com/in/vladimirtechman
Thank you for your time and attention!
Vladimir Beloborodov
Technical Manager / CTO at Mera Software Services
WebRTC on Mobile Devices: Challenges and Opportunities

Contenu connexe

Tendances

Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTCDan Jenkins
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceTsahi Levent-levi
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC OverviewArin Sime
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile IntegrationGiorgio Natili
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTCvline
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and TelehealthArin Sime
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTCArt Matsak
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo IIILawrence Byrd
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Javaamithap07
 

Tendances (20)

WebRTC DataChannels demystified
WebRTC DataChannels demystifiedWebRTC DataChannels demystified
WebRTC DataChannels demystified
 
Getting started with WebRTC
Getting started with WebRTCGetting started with WebRTC
Getting started with WebRTC
 
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit PreconferenceWebRTC for Telco: Informa's WebRTC Global Summit Preconference
WebRTC for Telco: Informa's WebRTC Global Summit Preconference
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTC
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To Webrtc
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC Overview
 
WebRTC in the Real World
WebRTC in the Real WorldWebRTC in the Real World
WebRTC in the Real World
 
WebRTC and Mobile Integration
WebRTC and Mobile IntegrationWebRTC and Mobile Integration
WebRTC and Mobile Integration
 
A Practical Guide to WebRTC
A Practical Guide to WebRTCA Practical Guide to WebRTC
A Practical Guide to WebRTC
 
WebRTC on Mobile
WebRTC on MobileWebRTC on Mobile
WebRTC on Mobile
 
WebRTC - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History Lesson
 
WebRTC and Telehealth
WebRTC and TelehealthWebRTC and Telehealth
WebRTC and Telehealth
 
Introduction to WebRTC
Introduction to WebRTCIntroduction to WebRTC
Introduction to WebRTC
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 
DevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDKDevCon5 (July 2014) - Acision SDK
DevCon5 (July 2014) - Acision SDK
 
WebRTC Business Use Cases | WebRTC Conference & Expo III
WebRTC Business Use Cases  |  WebRTC Conference & Expo IIIWebRTC Business Use Cases  |  WebRTC Conference & Expo III
WebRTC Business Use Cases | WebRTC Conference & Expo III
 
WebRTC with Java
WebRTC with JavaWebRTC with Java
WebRTC with Java
 
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web WorldAsterisk World (January 2014) - Taking Enterprise Telephony into the Web World
Asterisk World (January 2014) - Taking Enterprise Telephony into the Web World
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 

En vedette

SthlmWebRTC #1 :: OpenWEBRTC introduction
SthlmWebRTC #1 :: OpenWEBRTC introductionSthlmWebRTC #1 :: OpenWEBRTC introduction
SthlmWebRTC #1 :: OpenWEBRTC introductionEdvina AB
 
OpenWebRTC and Bowser
OpenWebRTC and BowserOpenWebRTC and Bowser
OpenWebRTC and BowserEricsson
 
Fundamentals of a personal computer
Fundamentals of a personal computerFundamentals of a personal computer
Fundamentals of a personal computerspooky282
 
IoT and WebRTC
IoT and WebRTCIoT and WebRTC
IoT and WebRTCArin Sime
 
WebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsWebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsAmir Zmora
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Luis Lopez
 
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Brian Pulito
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Luis Lopez
 
IP for the Networked Society
IP for the Networked SocietyIP for the Networked Society
IP for the Networked SocietyEricsson
 
OpenWebRTC – not just for video chat
OpenWebRTC – not just for video chatOpenWebRTC – not just for video chat
OpenWebRTC – not just for video chatEricsson
 
Quick dive into WebVR
Quick dive into WebVRQuick dive into WebVR
Quick dive into WebVRJanne Aukia
 
Firefox Extension Development
Firefox Extension DevelopmentFirefox Extension Development
Firefox Extension Developmentphamvanvung
 
WebVR with Three.js!
WebVR with Three.js!WebVR with Three.js!
WebVR with Three.js!誠人 堀口
 
Introduction to The VR Web
Introduction to The VR WebIntroduction to The VR Web
Introduction to The VR WebLiv Erickson
 

En vedette (20)

SthlmWebRTC #1 :: OpenWEBRTC introduction
SthlmWebRTC #1 :: OpenWEBRTC introductionSthlmWebRTC #1 :: OpenWEBRTC introduction
SthlmWebRTC #1 :: OpenWEBRTC introduction
 
OpenWebRTC and Bowser
OpenWebRTC and BowserOpenWebRTC and Bowser
OpenWebRTC and Bowser
 
Fundamentals of a personal computer
Fundamentals of a personal computerFundamentals of a personal computer
Fundamentals of a personal computer
 
IoT and WebRTC
IoT and WebRTCIoT and WebRTC
IoT and WebRTC
 
WebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and SolutionsWebRTC for Mobile - Challenges and Solutions
WebRTC for Mobile - Challenges and Solutions
 
Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...Improving GStreamer performance on large pipelines: from profiling to optimiz...
Improving GStreamer performance on large pipelines: from profiling to optimiz...
 
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
Could Iot be WebRTC's greatest source of innovation? (The IIT RTC Conference ...
 
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
Implementing a WebRTC endpoint in GStreamer: challenges, problems and perspec...
 
IP for the Networked Society
IP for the Networked SocietyIP for the Networked Society
IP for the Networked Society
 
OpenWebRTC – not just for video chat
OpenWebRTC – not just for video chatOpenWebRTC – not just for video chat
OpenWebRTC – not just for video chat
 
Quick dive into WebVR
Quick dive into WebVRQuick dive into WebVR
Quick dive into WebVR
 
Firefox Extension Development
Firefox Extension DevelopmentFirefox Extension Development
Firefox Extension Development
 
JavaScript Web Workers
JavaScript Web WorkersJavaScript Web Workers
JavaScript Web Workers
 
Estudo 01
Estudo 01Estudo 01
Estudo 01
 
WebVR with Three.js!
WebVR with Three.js!WebVR with Three.js!
WebVR with Three.js!
 
Web vr creative_vr
Web vr creative_vrWeb vr creative_vr
Web vr creative_vr
 
WebVR - JAX 2016
WebVR -  JAX 2016WebVR -  JAX 2016
WebVR - JAX 2016
 
Javascript the New Parts
Javascript the New PartsJavascript the New Parts
Javascript the New Parts
 
Introduction to The VR Web
Introduction to The VR WebIntroduction to The VR Web
Introduction to The VR Web
 
20160713 webvr
20160713 webvr20160713 webvr
20160713 webvr
 

Similaire à WebRTC on Mobile Devices: Challenges and Opportunities

Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Brian Pulito
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCChad Hart
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...Brian Pulito
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeCaridy Patino
 
Native WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & TipsNative WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & TipsAjeet Singh
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??learjk
 
Things I wished I knew before building my first WebRTC app - RTE2020
Things I wished I knew before building my first WebRTC app - RTE2020Things I wished I knew before building my first WebRTC app - RTE2020
Things I wished I knew before building my first WebRTC app - RTE2020Alberto González Trastoy
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Tom Deryckere
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreJonathan Jeon
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
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
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile WebMrJ1971
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Quobis
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureMotorola Mobility - MOTODEV
 
Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Chad Hart
 
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
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile WebBarbara Bermes
 

Similaire à WebRTC on Mobile Devices: Challenges and Opportunities (20)

Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
Wading through the mobile WebRTC developer gauntlet (IIT RTC Conference sessi...
 
Kamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTCKamailio World 2017: Getting Real with WebRTC
Kamailio World 2017: Getting Real with WebRTC
 
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
The Enterprise wants WebRTC -- and it needs Middleware to get it! (IIT RTC Co...
 
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - RecifeThe challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
 
Native WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & TipsNative WebRTC Mobile App Development: Tools & Tips
Native WebRTC Mobile App Development: Tools & Tips
 
WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??WebRTC - Is this a Game changer??
WebRTC - Is this a Game changer??
 
Things I wished I knew before building my first WebRTC app - RTE2020
Things I wished I knew before building my first WebRTC app - RTE2020Things I wished I knew before building my first WebRTC app - RTE2020
Things I wished I knew before building my first WebRTC app - RTE2020
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
DDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su LotusDDive- Giuseppe Grasso - mobile su Lotus
DDive- Giuseppe Grasso - mobile su Lotus
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
Future of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App StoreFuture of Mobile Web Application and Web App Store
Future of Mobile Web Application and Web App Store
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
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
 
HTML5 and the Mobile Web
HTML5 and the Mobile WebHTML5 and the Mobile Web
HTML5 and the Mobile Web
 
Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)Webinar WebRTC HTML5 (english)
Webinar WebRTC HTML5 (english)
 
HTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the FutureHTML5 vs Native Android: Smart Enterprises for the Future
HTML5 vs Native Android: Smart Enterprises for the Future
 
Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017Boosting business with WebRTC - ClueCon 2017
Boosting business with WebRTC - ClueCon 2017
 
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
 
Developing for Mobile Web
Developing for Mobile WebDeveloping for Mobile Web
Developing for Mobile Web
 

Dernier

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 

Dernier (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 

WebRTC on Mobile Devices: Challenges and Opportunities

  • 1. WEBRTC ON MOBILE DEVICES: CHALLENGES AND OPPORTUNITIES Vladimir Beloborodov Technical Manager / CTO at Mera Software Services + =
  • 3. WebRTC is a technology for peer-to-peer exchange of media (audio, video) and data between web*-clients in (near) real time * Note: “web” here is in a broader sense than just browsers and in-browser apps
  • 4. “Web” as in “web-browser”? Yes! But more than that…
  • 7. Source of photo: https://www.flickr.com/photos/jon_ovington/4315834126 “With WebRTC I can build my own Skype!”
  • 8. Amir Zmora @AmirZmora If I Hear of Another New “Cool” #WebRTC Talking Heads Service I’m Going to Scream http://bit.ly/1KuKCnZ Original tweet: https://twitter.com/AmirZmora/status/602817737728126977
  • 9. • Contact Centers • Enterprise Telecom • Carriers / OTT • Communication features in consumer electronics Telecom: A “No-Brainer” Vertical
  • 10. “Telecom View” on WebRTC Data Shared Screen* * Screen sharing is coming to the WebRTC standard
  • 11. “ ommunication” can be more than just “plain Telecom”
  • 12. • Human-to-Human • Human-Machine Interactions • Machine-to-Machine (?) Why not?
  • 14. Note that WebRTC can also be a great match for many other new and emerging technologies…
  • 16. “Communication-Centric” Model Changes… 19th century – 2000s: “Communication as a product” 2000s – 2010s: “Communication as a service”
  • 17. …Into “Domain/Problem-Centric” Model 2010s – … : “Communication as a feature”, “Communication as a function”
  • 18. “Communication as a Function” • Context-awareness and context-preservation • Instant availability (in the given context) • Integration with/into problem-specific tools • Selection of communication options/channels • Personalization (user preferences/profiles) • Integration with the surrounding environment
  • 19. Remote Support. “Assistant-as-App”. • Personal consulting and coaching • “Post-training” performance support • “Amateur support”. Situational assistance. • Augmented-reality-based guidance
  • 20. https://www.vida.com/ Suggested reading: “Why ‘Assistant-As-App’ Might Be the Next Big Tech Trend” https://www.linkedin.com/pulse/why-assistant-as-app-might-next-big-tech-trend-nir-eyal
  • 21. http://www.onato.com/projects/vex.html VEX ~ Remote Insurance Appraisals “Users can video chat with the appraiser so that appraisals can be quickly and effectively performed from the office. Video sessions are archived for possible liability disputes. Hi resolution photos can be taken by the appraiser at any time to ensure all details are captured.”
  • 22. Social Engagement. Accessibility. • Public reporting and journalism • Elderly support services • Sign-language translation services • Assistance to blind people
  • 24. Peer-to-Peer Interactions. CDN. • Remote control services and functions • “Robotic telepresence” and “avatars” • Content delivery services • Secured peer-to-peer transactions
  • 27. http://www.doublerobotics.com/ Caveat: Their SDK only used WebRTC voice and video. Data channel anyone?
  • 30. “Communication as a Function” …makes perfect sense in many desktop-based scenarios
  • 31. Side-note: Desktop goes “mobile” too… Source: http://thenextweb.com/mobile/2012/02/21/ubuntu-for- android-could-turn-your-phone-into-a-powerful-desktop-computer/ Source: https://www-ssl.intel.com/content/www/us/en/compute-stick/intel-compute-stick.html Source: https://www.apple.com/macbook/
  • 32. “Communication as a Function” …can be done with several Telecom or Web technologies
  • 33. Native or hybrid application logic Web-application logic WebRTC API(s) in some other programming language(s) Implementation of the “Web” API part of WebRTC This API is standardized by the WEBRTC group in W3C (including interactions with other parts of HTML5) Implementation-specific API Implementation of the “RTC” mechanisms of WebRTC These mechanisms are standardized by the RTCWEB group in IETF (NAT traversal, media negotiation, mandatory codecs, and the like) Underlying platform
  • 34. • Enhanced ICE-based NAT Traversal • Secure media and data transport • Common subset of media codecs • Signaling over existing peer connection • and more
  • 35. “Communication as a Function” + =
  • 36. “Communication as a Function” + =
  • 37. WebRTC on Mobile? Choices, choices… Web App Native Mobile App Hybrid Mobile App
  • 38. WebRTC-related Considerations • WebRTC libraries for native apps • WebRTC direct support in WebView • WebRTC in embedded browser • WebRTC in 3rd-party browser apps
  • 39. Some General Considerations • Native “look and feel” on target platforms • Application responsiveness. Usage of gestures. • Native platform capabilities. Storage options. • Support of external H/W devices / accessories • Access to local media sources and outputs
  • 40. Some More Considerations • End-customer preferences / requirements • Support for prev. versions (platform / browser) • Required skillset and dev tools
  • 41. WebRTC Options on Android Open-source libs • Google WebRTC • OpenWebRTC (Ericsson) WebRTC in WebView Starting 5.0 “Lollipop” Embedded browser Starting 5.0 (with Chrome) ++ 3rd-party browsers Chrome, Firefox, “Bowser” * * For more details on “Bowser” visit https://getbowser.appspot.com/ ++ Not guaranteed in case of vendor-customized Android firmwares
  • 42. WebRTC Options on iOS Open-source libs • Google WebRTC • OpenWebRTC (Ericsson) WebRTC in WebView No native support * Embedded browser No 3rd-party browsers “Bowser” * * iOS apps can use WebRTC in WebView, including a W3C-specs compliant JavaScript API. For example, look at “Bowser” (https://getbowser.appspot.com/) or Cordova plug-in “iosrtc” (https://github.com/eface2face/cordova-plugin-iosrtc).
  • 43. WebRTC Open-Source Implementations* * Mozilla plans to “join the club” too, offering their Firefox WebRTC engine. * For ORTC, the ORTC project offers their own open-source prototype. OpenWebRTC
  • 44. Diversity of H/W Platforms and Options
  • 45. Preserve video proportions UI and UX with WebRTC One screen layout may not fit all Device orientation affects both UI layout and “camera layout” Preview of local front camera normally “mirrors” the user
  • 46. WebRTC App Behavior Background mode considerations “Wi-Fi only” / “Wi-Fi and Cellular” Lighter comm. channel options for narrow-bandwidth conditions Handle “edge cases” and errors
  • 47. Advanced and “hack-ish” topics Codec ordering in SDP matters. Changing it may help, but you must know well what you do. (Pre-)balance UX and system load with WebRTC constraints Find out what codecs, if any, enjoy H/W acceleration on platform/lib
  • 48. Hybrid Mobile Applications A typical definition: “Applications combining elements of both native applications and Web applications.”
  • 49. How Well Can “Web” Play “Native”? App / domain logic and models App UI* Performance-demanding features and capabilities * This may work great for certain apps and customers. Yet, generally, be careful.
  • 50. JS-Hybrids: More Than One Approach Approach Example dev options Packaged web apps Microsoft ManifoldJS “WebView UI” apps Cordova / PhoneGap JS-based apps with “shared” native UI NativeScript JS-based apps with “per-platform” UIs React Native
  • 51. Source of photo: https://www.flickr.com/photos/befuddledsenses/2904000882
  • 52. Between here and the horizon… • WebRTC official standard (“WebRTC 1.0”) • “Object RTC” (ORTC) and “WebRTC 1.1” • Microsoft Edge with ORTC on board • Screen sharing. Many other additions. • WebAssembly + WebRTC
  • 53. The Centaur icon is by EliRatus from the Noun Project. Other icons used in this presentation were made by Freepik from www.flaticon.com. mera.com @VladimirTechMan linkedin.com/in/vladimirtechman Thank you for your time and attention! Vladimir Beloborodov Technical Manager / CTO at Mera Software Services