SlideShare a Scribd company logo
1 of 31
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

More Related Content

Similar to Remote Config and Beyond

Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Is Auth0 worth it vs. Build your own identity management
Is Auth0 worth it vs. Build your own identity managementIs Auth0 worth it vs. Build your own identity management
Is Auth0 worth it vs. Build your own identity managementOytun Eren Sengul
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and UpdateChris Schalk
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)Movel
 
Introducing Scrum a Collaboration Game
Introducing Scrum a Collaboration GameIntroducing Scrum a Collaboration Game
Introducing Scrum a Collaboration GameAgile ME
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQASymphony
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCNew Relic
 
Apps engagement & retention
Apps engagement & retentionApps engagement & retention
Apps engagement & retentionHenrique Marassi
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoC4Media
 
Hypothesis driven development
Hypothesis driven developmentHypothesis driven development
Hypothesis driven developmentDuri Chitayat
 
Webinar: 2 Billion Data Points Each Day
Webinar: 2 Billion Data Points Each DayWebinar: 2 Billion Data Points Each Day
Webinar: 2 Billion Data Points Each DayDataStax
 
Fixed distributed agile
Fixed distributed agile Fixed distributed agile
Fixed distributed agile Perfecto Mobile
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure FirstKris Buytaert
 
What's new in android M(6.0)
What's new in android M(6.0)What's new in android M(6.0)
What's new in android M(6.0)Yonatan Levin
 
Sidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersSidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersDicoding
 
AMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideAMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideOptimizely
 

Similar to Remote Config and Beyond (20)

Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Is Auth0 worth it vs. Build your own identity management
Is Auth0 worth it vs. Build your own identity managementIs Auth0 worth it vs. Build your own identity management
Is Auth0 worth it vs. Build your own identity management
 
Agile Scrum Methodologies
Agile Scrum MethodologiesAgile Scrum Methodologies
Agile Scrum Methodologies
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)The Art of the Minimum Viable Product (MVP)
The Art of the Minimum Viable Product (MVP)
 
Introducing Scrum a Collaboration Game
Introducing Scrum a Collaboration GameIntroducing Scrum a Collaboration Game
Introducing Scrum a Collaboration Game
 
Introducing scrum
Introducing scrumIntroducing scrum
Introducing scrum
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product Roadmap
 
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYCDraftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
Draftkings: Launching w/ Confidence at Scale, FutureStack17 NYC
 
Apps engagement & retention
Apps engagement & retentionApps engagement & retention
Apps engagement & retention
 
CI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and MockitoCI/CD: Lessons from LinkedIn and Mockito
CI/CD: Lessons from LinkedIn and Mockito
 
Common Sense Agile
Common Sense AgileCommon Sense Agile
Common Sense Agile
 
My portfolio
My portfolioMy portfolio
My portfolio
 
Hypothesis driven development
Hypothesis driven developmentHypothesis driven development
Hypothesis driven development
 
Webinar: 2 Billion Data Points Each Day
Webinar: 2 Billion Data Points Each DayWebinar: 2 Billion Data Points Each Day
Webinar: 2 Billion Data Points Each Day
 
Fixed distributed agile
Fixed distributed agile Fixed distributed agile
Fixed distributed agile
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
What's new in android M(6.0)
What's new in android M(6.0)What's new in android M(6.0)
What's new in android M(6.0)
 
Sidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion UsersSidiq Permana - Building For The Next Billion Users
Sidiq Permana - Building For The Next Billion Users
 
AMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server SideAMC Networks Experiments Faster on the Server Side
AMC Networks Experiments Faster on the Server Side
 

More from Hotstar

Airflow based Video Encoding Platform
Airflow based Video Encoding PlatformAirflow based Video Encoding Platform
Airflow based Video Encoding PlatformHotstar
 
How Chaos Engineering is practiced at Hotstar
How Chaos Engineering is practiced at HotstarHow Chaos Engineering is practiced at Hotstar
How Chaos Engineering is practiced at HotstarHotstar
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providersHotstar
 
Analysing high throughput data in real time
Analysing high throughput data in real timeAnalysing high throughput data in real time
Analysing high throughput data in real timeHotstar
 
Scaling Hotstar.com for 10Mn concurrency
Scaling Hotstar.com for 10Mn concurrencyScaling Hotstar.com for 10Mn concurrency
Scaling Hotstar.com for 10Mn concurrencyHotstar
 
Build intelligent, real-time applications using Machine Learning
Build intelligent, real-time applications using Machine LearningBuild intelligent, real-time applications using Machine Learning
Build intelligent, real-time applications using Machine LearningHotstar
 
Build real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaBuild real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaHotstar
 
Amazon AI Conclave, Bangalore 2017
Amazon AI Conclave, Bangalore 2017 Amazon AI Conclave, Bangalore 2017
Amazon AI Conclave, Bangalore 2017 Hotstar
 

More from Hotstar (8)

Airflow based Video Encoding Platform
Airflow based Video Encoding PlatformAirflow based Video Encoding Platform
Airflow based Video Encoding Platform
 
How Chaos Engineering is practiced at Hotstar
How Chaos Engineering is practiced at HotstarHow Chaos Engineering is practiced at Hotstar
How Chaos Engineering is practiced at Hotstar
 
WebSDK - Switching between service providers
WebSDK - Switching between service providersWebSDK - Switching between service providers
WebSDK - Switching between service providers
 
Analysing high throughput data in real time
Analysing high throughput data in real timeAnalysing high throughput data in real time
Analysing high throughput data in real time
 
Scaling Hotstar.com for 10Mn concurrency
Scaling Hotstar.com for 10Mn concurrencyScaling Hotstar.com for 10Mn concurrency
Scaling Hotstar.com for 10Mn concurrency
 
Build intelligent, real-time applications using Machine Learning
Build intelligent, real-time applications using Machine LearningBuild intelligent, real-time applications using Machine Learning
Build intelligent, real-time applications using Machine Learning
 
Build real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache KafkaBuild real time stream processing applications using Apache Kafka
Build real time stream processing applications using Apache Kafka
 
Amazon AI Conclave, Bangalore 2017
Amazon AI Conclave, Bangalore 2017 Amazon AI Conclave, Bangalore 2017
Amazon AI Conclave, Bangalore 2017
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 

Recently uploaded (20)

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 

Remote Config and Beyond

  • 1. Remote Config & Beyond!
  • 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
  • 16. Quest for Config Management
  • 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
  • 28. We have some ideas!

Editor's Notes

  1. Now let me give you a small walk through of client’s journey to the scale of 25 Million.
  2. Let’s take a walk through across the biggest client project that happened in Hotstar - Project Rocky .
  3. So we finally thought to take a bet on Firebase Remote Config.
  4. Now let’s go beyond Remote config
  5. 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.