kranky geek webrtc 2015 - optimizing the customer experience

16
Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | ps & Tricks for Optimizing the ustomer Experience (CX) with WebRTC itha Pulijala cle Communications

Upload: kranky-geek

Post on 20-Feb-2017

610 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 2: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 3: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 4: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 4

Today’s Customer Journeys are Complex

Multiple Devices Multiple Networks Multiple Channels

Page 5: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 5

Broken Journeys Drive Customers Away

Page 6: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |

CX Tip 1: Enable Seamless Journeys

6

Page 7: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 8: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 9: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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…

Page 10: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

CX Tip 2: Identify and Solve Weak Points

10

Page 11: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 12: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 13: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 14: Kranky Geek WebRTC 2015 - Optimizing the customer experience

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

Page 15: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. | 15

Page 16: Kranky Geek WebRTC 2015 - Optimizing the customer experience

Copyright © 2015 Oracle and/or its affiliates. All rights reserved. |

Thank You!

16