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