SlideShare ist ein Scribd-Unternehmen logo
1 von 54
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
A jQuery for WebRTC
A jQuery for WebRTCA jQuery for WebRTC
A jQuery for WebRTCThomas Gorissen
 
Introduction To Webrtc
Introduction To WebrtcIntroduction To Webrtc
Introduction To WebrtcKnoldus Inc.
 
WebRTC Overview
WebRTC OverviewWebRTC Overview
WebRTC OverviewArin Sime
 
WebRTC in the Real World
WebRTC in the Real WorldWebRTC in the Real World
WebRTC in the Real WorldTsahi Levent-levi
 
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 - a History Lesson
WebRTC - a History LessonWebRTC - a History Lesson
WebRTC - a History LessonTsahi Levent-levi
 
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
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Reportsrinivasa teja
 

Was ist angesagt? (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
 

Andere mochten auch

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
 
JavaScript Web Workers
JavaScript Web WorkersJavaScript Web Workers
JavaScript Web WorkersTobias Pfeiffer
 
Javascript the New Parts
Javascript the New PartsJavascript the New Parts
Javascript the New PartsFederico Galassi
 
Introduction to The VR Web
Introduction to The VR WebIntroduction to The VR Web
Introduction to The VR WebLiv Erickson
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

KĂźrzlich hochgeladen

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vĂĄzquez
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

KĂźrzlich hochgeladen (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

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