Transcript
Page 1: WebRTC on Mobile Devices: Challenges and Opportunities

WEBRTC ON MOBILE DEVICES:CHALLENGES AND OPPORTUNITIES

Vladimir Beloborodov

Technical Manager / CTO at Mera Software Services

+ =

Page 2: WebRTC on Mobile Devices: Challenges and Opportunities

“WebRTC”

Page 3: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 4: WebRTC on Mobile Devices: Challenges and Opportunities

“Web” as in “web-browser”?

Yes! But more than that…

Page 5: WebRTC on Mobile Devices: Challenges and Opportunities

Data

Page 6: WebRTC on Mobile Devices: Challenges and Opportunities

“Neophyte View” on WebRTC

Data

Page 7: WebRTC on Mobile Devices: Challenges and Opportunities

Source of photo: https://www.flickr.com/photos/jon_ovington/4315834126

“With WebRTCI can build my own Skype!”

Page 9: WebRTC on Mobile Devices: Challenges and Opportunities

• Contact Centers

• Enterprise Telecom

• Carriers / OTT

• Communication featuresin consumer electronics

Telecom: A “No-Brainer” Vertical

Page 10: WebRTC on Mobile Devices: Challenges and Opportunities

“Telecom View” on WebRTC

Data

Shared Screen*

* Screen sharing is coming to the WebRTC standard

Page 11: WebRTC on Mobile Devices: Challenges and Opportunities

“ ommunication”

can be more than just

“plain Telecom”

Page 12: WebRTC on Mobile Devices: Challenges and Opportunities

• Human-to-Human

• Human-Machine Interactions

• Machine-to-Machine (?)Why not?

Page 13: WebRTC on Mobile Devices: Challenges and Opportunities

Noise

Data

Page 14: WebRTC on Mobile Devices: Challenges and Opportunities

Note that WebRTCcan also be a great matchfor many other new andemerging technologies…

Page 15: WebRTC on Mobile Devices: Challenges and Opportunities

Data

Natural Language

Processing

Page 16: WebRTC on Mobile Devices: Challenges and Opportunities

“Communication-Centric” Model Changes…

19th century – 2000s:

“Communication as a product”

2000s – 2010s:

“Communication as a service”

Page 17: WebRTC on Mobile Devices: Challenges and Opportunities

…Into “Domain/Problem-Centric” Model

2010s – … :

“Communication as a feature”,

“Communication as a function”

Page 18: WebRTC on Mobile Devices: Challenges and Opportunities

“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

Page 19: WebRTC on Mobile Devices: Challenges and Opportunities

Remote Support. “Assistant-as-App”.

• Personal consulting and coaching

• “Post-training” performance support

• “Amateur support”. Situational assistance.

• Augmented-reality-based guidance

Page 20: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 21: WebRTC on Mobile Devices: Challenges and Opportunities

http://www.onato.com/projects/vex.html

VEX ~ RemoteInsurance 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.”

Page 22: WebRTC on Mobile Devices: Challenges and Opportunities

Social Engagement. Accessibility.

• Public reporting and journalism

• Elderly support services

• Sign-language translation services

• Assistance to blind people

Page 23: WebRTC on Mobile Devices: Challenges and Opportunities

http://www.bemyeyes.org/

Page 24: WebRTC on Mobile Devices: Challenges and Opportunities

Peer-to-Peer Interactions. CDN.

• Remote control services and functions

• “Robotic telepresence” and “avatars”

• Content delivery services

• Secured peer-to-peer transactions

Page 25: WebRTC on Mobile Devices: Challenges and Opportunities

http://bem.tv/

Page 26: WebRTC on Mobile Devices: Challenges and Opportunities

https://streamium.io/

Page 27: WebRTC on Mobile Devices: Challenges and Opportunities

http://www.doublerobotics.com/

Caveat: Their SDK only used WebRTC voice and video. Data channel anyone?

Page 28: WebRTC on Mobile Devices: Challenges and Opportunities

Time forquickdemo…

Try it!

Page 29: WebRTC on Mobile Devices: Challenges and Opportunities

http://blog.uppersideconferences.com/award-winners-webrtc-2014-conference-expo/

Data Channel award

Page 30: WebRTC on Mobile Devices: Challenges and Opportunities

“Communication as a Function”

…makes perfect sense in many desktop-based scenarios

Page 31: WebRTC on Mobile Devices: Challenges and Opportunities

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/

Page 32: WebRTC on Mobile Devices: Challenges and Opportunities

“Communication as a Function”

…can be done with several Telecom or Web technologies

Page 33: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 34: WebRTC on Mobile Devices: Challenges and Opportunities

• Enhanced ICE-based NAT Traversal• Secure media and data transport• Common subset of media codecs• Signaling over existing peer connection

• and more

Page 35: WebRTC on Mobile Devices: Challenges and Opportunities

“Communication as a Function”

+ =

Page 36: WebRTC on Mobile Devices: Challenges and Opportunities

“Communication as a Function”

+ =

Page 37: WebRTC on Mobile Devices: Challenges and Opportunities

WebRTC on Mobile? Choices, choices…

Web AppNative

Mobile App

Hybrid Mobile App

Page 38: WebRTC on Mobile Devices: Challenges and Opportunities

WebRTC-related Considerations

• WebRTC libraries for native apps

• WebRTC direct support in WebView

• WebRTC in embedded browser

• WebRTC in 3rd-party browser apps

Page 39: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 40: WebRTC on Mobile Devices: Challenges and Opportunities

Some More Considerations

• End-customer preferences / requirements

• Support for prev. versions (platform / browser)

• Required skillset and dev tools

Page 41: WebRTC on Mobile Devices: Challenges and Opportunities

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” *

* “Bowser”: https://getbowser.appspot.com/

++ Not guaranteed in case of vendor-customized Android firmwares

Page 42: WebRTC on Mobile Devices: Challenges and Opportunities

WebRTC Options on iOS

Open-source libs• Google WebRTC• OpenWebRTC (Ericsson)

WebRTC in WebView No native support

Embedded browser No

3rd-party browsers “Bowser” *

* “Bowser”: https://getbowser.appspot.com/

Page 43: WebRTC on Mobile Devices: Challenges and Opportunities

Google WebRTC

Ericsson OpenWebRTC

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.

Page 44: WebRTC on Mobile Devices: Challenges and Opportunities

Diversity of H/W Platforms and Options

Page 45: WebRTC on Mobile Devices: Challenges and Opportunities

Preserve video proportions

UI and UX with WebRTC

One screen layout may not fit all

Device orientation affects bothUI layout and “camera layout”

Preview of local front camera normally “mirrors” the user

Page 46: WebRTC on Mobile Devices: Challenges and Opportunities

WebRTC App Behavior

Background mode considerations

“Wi-Fi only” / “Wi-Fi and Cellular”

Lighter comm. channel optionsfor narrow-bandwidth conditions

Handle “edge cases” and errors

Page 47: WebRTC on Mobile Devices: Challenges and Opportunities

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, enjoyH/W acceleration on platform/lib

Page 48: WebRTC on Mobile Devices: Challenges and Opportunities

Hybrid Mobile Applications

A typical definition:

“Applications combining elements of bothnative applications and Web applications.”

Page 49: WebRTC on Mobile Devices: Challenges and Opportunities

How Well Can “Web” Play “Native”?

App / domain

logic and models App UI*

Performance-demandingfeatures and capabilities

* This may work great for certain apps and customers. Yet, generally, be careful.

Page 50: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 51: WebRTC on Mobile Devices: Challenges and Opportunities

Source of photo: https://www.flickr.com/photos/befuddledsenses/2904000882

Page 52: WebRTC on Mobile Devices: Challenges and Opportunities

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

Page 53: WebRTC on Mobile Devices: Challenges and Opportunities

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 BeloborodovTechnical Manager / CTO at Mera Software Services

Page 54: WebRTC on Mobile Devices: Challenges and Opportunities

Recommended