These slides talk about:
How and why we use remote config?
How we planned our rolling upgrade for our client app to reach 25 MN?
How new shiny rocky was built at Hotstar?
How we roll out features at such a huge scale.
Introducing Hotstar config editor to world and talks about Hotstar’s plans in future with remote config.
2. Hello !
I am Ayushi Gupta
Android Engineer at hotstar
You can reach me out at:
Twitter : @22guptaayushi
Email : ayushig@hotstar.com
3. 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
4. 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
5. 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
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
● 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
10. 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
11. 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!
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
17. Need of the hour
User Targeting 2
Feature GatesFeature Gates1
Scale 4
A/B Experiments3
18. 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!
20. 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 !
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 full support 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
25. 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
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
Now let me give you a small walk through of client’s journey to the scale of 25 Million.
Let’s take a walk through across the biggest client project that happened in Hotstar - Project Rocky .
So we finally thought to take a bet on Firebase Remote Config.
Now let’s go beyond Remote config
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.