Remote Config & Beyond!
Hello !
I am Ayushi Gupta
Android Engineer at hotstar
You can reach me out at:
Twitter : @22guptaayushi
Email : ayushig@hotstar.com
About Hotstar
● #1 OTT platform in India
● Over 350M+ downloads
● 1 Day,100M users, 2.5X increase in concurrency
● Available in >15 languages
● Variety of content
○ Live/On-Demand
○ Sports/News/TV/Movies
○ Regional Catalogue
Let’s talk about scale
2012
8M
Felix Baumgartner’s
Supersonic Jump
YouTube
2018
3.1M
NBC’s Super Bowl
NBC Sports App
2018
10.3M
IPL 2018 - Finals
hotstar
May 2019
18.6M
IPL 2019 - Finals
hotstar
July 2019
25.3M
World Cup - India vs New
Zealand
hotstar
Product Goals
● AGILE Development
● Many apps solving only one problem
● Develop Seamless User Experience
● Release features progressively
● Keep App size low
● Customer obsessed decisions on scale
Client journey to 25M
Legacy App : Not Agile
● Releases were super slow (6 week cycle)
○ At scale, feature release was risky
○ More cautious development
○ High validation time
● Risk taking abilities
● Too many hotfix rollouts
● Monolithic legacy architecture
Engineering Requirements
● High Risk - High Return at Scale
● Minimise the blast zone
● Move away from “Monolithic Legacy Architecture”
● Improve engineering hygiene
● Bring down engineering cost
● Increase agility
● Adopt new design guidelines!
● Create smoother and seamless experience
Project ROCKY
Rewrite vs Refactor
Rewrite Refactor
● Modify existing working
code.
● May require longer time
● Understand existing logic.
● High engineering cost
● No backward compatibility
● More risky
● Change features drastically.
● Cleaner approach
● Refer requirements
● More testing
Scale Factor
● 300 million devices to update
● It’s not a backend
○ Rollback needs time
○ There is always residual users
● Backup plan - A must have!
There are still 0.5%
users on our oldest
version!
Building from scratch
Legacy
Module
Rocky
Module
Intelligent
Orchestral
Layer ?
Building from scratch
● “Don’t mess with something which is already
Working”
● Smart combination of rewrite & refactor
● Define new architecture - MVVM
● Feature by feature movement
Old Search
● Simple, naive UI
● Multi - step search
● No smart option availability
User Preferred Search
● New hypothesis
● Implement new design
● Can’t risk existing user
experience.
● New code from scratch
Quest for Config Management
Need of the hour
User Targeting 2
Feature GatesFeature Gates1
Scale 4
A/B Experiments3
Rolling Upgrade
● Release one feature at a time
● A/B controlled updates
● Measure feature key metrics
● Measure user experience via funnels
● Decision to switch to B!
Legacy
Module
Rocky
Module
Remote Config to rescue
● Change behaviour of app at runtime
● Handles the caching by its own !
● Release gently and feature gating
● Quirks:Propagate Remote Config updates in real time !
Preferred search results
● Reduced searches
● 6% faster search for
User
● Faster discovery of
content
● More Watch Time
Old Search
New Search
Time
No.ofsearchedevents
● Keep full support for older screens
● Don’t break what is working
● Adapting to changing backend
Resiliency
Shiny rocky !
● Super modular
● Highly agile app
● Every week release cycles
● Adaptive to fast moving changes
● Every feature gated , releases
● A/B experiments
● Accident management
Beyond Remote Config...
Challenges with Remote Config
● Huge numbers of keys at config
● Many A/B experiments running simultaneously
● Limit Access in Production
● Optimise Developer Time
● Different Builds for Different Product Requirements
Hotstar Config Editor
● In app Config Editor
● Enable only for DEBUG
Builds
● Key Name based Search
● Instant change
● No server call
● One build for all
Hotstar Config Editor
We have some ideas!
Thank You !
Any questions ?
Remote Config and Beyond

Remote Config and Beyond

  • 1.
  • 2.
    Hello ! I amAyushi Gupta Android Engineer at hotstar You can reach me out at: Twitter : @22guptaayushi Email : ayushig@hotstar.com
  • 3.
    About Hotstar ● #1OTT platform in India ● Over 350M+ downloads ● 1 Day,100M users, 2.5X increase in concurrency ● Available in >15 languages ● Variety of content ○ Live/On-Demand ○ Sports/News/TV/Movies ○ Regional Catalogue
  • 4.
    Let’s talk aboutscale 2012 8M Felix Baumgartner’s Supersonic Jump YouTube 2018 3.1M NBC’s Super Bowl NBC Sports App 2018 10.3M IPL 2018 - Finals hotstar May 2019 18.6M IPL 2019 - Finals hotstar July 2019 25.3M World Cup - India vs New Zealand hotstar
  • 5.
    Product Goals ● AGILEDevelopment ● Many apps solving only one problem ● Develop Seamless User Experience ● Release features progressively ● Keep App size low ● Customer obsessed decisions on scale
  • 6.
  • 7.
    Legacy App :Not Agile ● Releases were super slow (6 week cycle) ○ At scale, feature release was risky ○ More cautious development ○ High validation time ● Risk taking abilities ● Too many hotfix rollouts ● Monolithic legacy architecture
  • 8.
    Engineering Requirements ● HighRisk - High Return at Scale ● Minimise the blast zone ● Move away from “Monolithic Legacy Architecture” ● Improve engineering hygiene ● Bring down engineering cost ● Increase agility ● Adopt new design guidelines! ● Create smoother and seamless experience
  • 9.
  • 10.
    Rewrite vs Refactor RewriteRefactor ● Modify existing working code. ● May require longer time ● Understand existing logic. ● High engineering cost ● No backward compatibility ● More risky ● Change features drastically. ● Cleaner approach ● Refer requirements ● More testing
  • 11.
    Scale Factor ● 300million devices to update ● It’s not a backend ○ Rollback needs time ○ There is always residual users ● Backup plan - A must have! There are still 0.5% users on our oldest version!
  • 12.
  • 13.
    Building from scratch ●“Don’t mess with something which is already Working” ● Smart combination of rewrite & refactor ● Define new architecture - MVVM ● Feature by feature movement
  • 14.
    Old Search ● Simple,naive UI ● Multi - step search ● No smart option availability
  • 15.
    User Preferred Search ●New hypothesis ● Implement new design ● Can’t risk existing user experience. ● New code from scratch
  • 16.
    Quest for ConfigManagement
  • 17.
    Need of thehour User Targeting 2 Feature GatesFeature Gates1 Scale 4 A/B Experiments3
  • 18.
    Rolling Upgrade ● Releaseone feature at a time ● A/B controlled updates ● Measure feature key metrics ● Measure user experience via funnels ● Decision to switch to B!
  • 19.
  • 20.
    Remote Config torescue ● Change behaviour of app at runtime ● Handles the caching by its own ! ● Release gently and feature gating ● Quirks:Propagate Remote Config updates in real time !
  • 21.
    Preferred search results ●Reduced searches ● 6% faster search for User ● Faster discovery of content ● More Watch Time Old Search New Search Time No.ofsearchedevents
  • 22.
    ● Keep fullsupport for older screens ● Don’t break what is working ● Adapting to changing backend Resiliency
  • 23.
    Shiny rocky ! ●Super modular ● Highly agile app ● Every week release cycles ● Adaptive to fast moving changes ● Every feature gated , releases ● A/B experiments ● Accident management
  • 24.
  • 25.
    Challenges with RemoteConfig ● Huge numbers of keys at config ● Many A/B experiments running simultaneously ● Limit Access in Production ● Optimise Developer Time ● Different Builds for Different Product Requirements
  • 26.
    Hotstar Config Editor ●In app Config Editor ● Enable only for DEBUG Builds ● Key Name based Search
  • 27.
    ● Instant change ●No server call ● One build for all Hotstar Config Editor
  • 28.
  • 29.
  • 30.

Editor's Notes

  • #7 Now let me give you a small walk through of client’s journey to the scale of 25 Million.
  • #10 Let’s take a walk through across the biggest client project that happened in Hotstar - Project Rocky .
  • #20 So we finally thought to take a bet on Firebase Remote Config.
  • #25 Now let’s go beyond Remote config
  • #32 Hello Everyone ! Welcome to the talk. I will be talking about how and why we used Remote Config @ Hotstar. I will be sharing my learnings based on evolving the Hotstar to every user reach across the world.