kranky geek webrtc 2015 - optimizing the customer experience
TRANSCRIPT
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Tips & Tricks for Optimizing the Customer Experience (CX) with WebRTC Amitha Pulijala Oracle Communications
1
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
cus·tom·er ex·pe·ri·ence
The sum of all experiences a consumer has with a supplier of goods or services, over the duration of their relationship with that supplier.
2
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
What do Customers Expect from Great Experiences? CONSISTENT VIDEO & VOICE CONNECTED INTERACTIONS PERSONALIZED JOURNEY EFFICIENT SERVICE REWARDING RELATIONSHIP
3
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 4
Today’s Customer Journeys are Complex
Multiple Devices Multiple Networks Multiple Channels
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 5
Broken Journeys Drive Customers Away
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
CX Tip 1: Enable Seamless Journeys
6
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Session Connectivity and Reliability • Customers expect a seamless experience across
– “Web” style Browser reloads – “Web” style “Back Button” navigation – Native app crashes – IP network connectivity changes (WiFi <-> 4G) – Device Handoffs – Server-side failures
• This can be solved using the concept of Session Rehydration – Ability to keep the session alive when connectivity is
interrupted and recreate it as soon as the connectivity is re-established
7
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |
Session Rehydration • In the event that the local app state is reinitialized,
either due to a user reload of the page, or a decision within the app to reload itself it is possible to keep an existing session alive, via a process called "rehydration“
• Inspired by the approach described in IETF rtcweb-jsep-03 draft
• Upon reconnect, resurrect the session (voice, video, Data Channel) – Client Information (sessionId etc) is stored in LocalStorage – Completely reliable signaling protocol – WebSocket connection is kept for a short time and the message
resynchronization happens when clients is reconnected – Restart ICE procedures, send new SDP
8
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Dynamic Media Peering • Fast call set up times impact the customer experience • WebRTC call set up procedure takes a considerable amount
of time to establish a session – Gather Candidates, Prioritize, Exchange with remote party – Connectivity Checks
• This can be solved by – Dynamic Media Peering
• Prioritize the candidates that are most likely to work first (“relay” or “TURN” candidates)
• Establish the connection • Try in parallel whether the parties can communicate directly • If they can, then the media switches to a direct channel seamlessly
– Trickle ICE • Alternately, trickle ICE reduces the time necessary for ICE processing to complete
9
Connecting…
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
CX Tip 2: Identify and Solve Weak Points
10
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Don’t Be Afraid To Take a Step Back! • Patchy videos and mid call-drops impair Customer
Experience • The solution for this is:
– Use webrtc-stats API to measure • Jitter • Packets Lost • Bandwidth
– RTCP feedback mechanisms, CPU/Frame Rate, Battery! – Fall back to Low Resolution Video -> Audio depending on the
bandwidth, packet loss – Network options, handoffs WiFi -> LTE-> 3G – Encode the same video stream twice in different resolutions and
bitrates – Simulcast!
11
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
The World is a chatty place! • Customers expect to stay “engaged” when they wander away
from the app without draining device resources – battery power • This can be solved by:
– Optimizing the WebSocket connections with Push Notifications • Hibernation of the session during periods of inactivity • Session rehydration upon wake up/ call resume
– Mobile Push Notification Gateway • Manages connectivity to APNS, GCM; registers and activates multiple apps • Supports templates • Delivers push notifications to iOS and Android
– Chrome Push Notifications – Service Worker, W3C API • On desktop and mobile browsers
12
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Elephant in the Room • Interoperability is the “Key” to success in the enterprise
applications • 60% of the Oracle’s Enterprise Customers run their
desktop applications on Internet Explorer • How to solve IE stop gap on desktop?
– Plug-ins for multiple versions of IE – Microsoft Edge – getUserMedia Support
• How about Safari? – Stop gap hedged by native WebRTC support
13
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Mobile…is different! • Customers do not like if their video calls quickly
drain the battery on their device • Hardware acceleration on mobile
– Video coding with dedicated hardware allows for better video performance as well as significant battery savings
– Stopgap - Fallback to H.264 where VP8 is not supported by the native chip sets
– VP9, Daala, Thor - the war never ends!
14
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 15
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |
Thank You!
16