The presentation basically covers the use cases of how to follow a safer path when rolling out new features to the users. How Firebase as a tool, helped Hotstar to provide the safer approach and release the app gently to millions.
Old codebase maintenance ▸ Handle the huge scale of 100+ million users. ▸ New features on old screens. e.g. Game on Old Watch Page ▸ Time crunch - IPL was coming!! ▸ Big Bang vs Progressive. Refer our blog: Rearchitecting apps for Scale ▸ Tech stack
requiring an app update ▸ Modular approach. But how to test both screens? Say New vs Old Search ▸ A/B Testing ▸ Users Targeting - Rolling out exclusive features only to certain audiences ▸ Support two Backends at the same time and switch depending upon the performance. ▸ Service which would scale for millions having all the necessary infra already available. 10+ million peak concurrency. ▸ Refer our blog here: App : Release Gently — Feature Gates & A:B Goals
at runtime ▸ Handles the caching by its own. Stores the config in FirebaseRemoteConfig object when activateFetched is called. ▸ Release Gently and Feature Gating ▸ Quirks: Cache Expiration Time!! Firebase Remote Config
Game, KeyMoments, Live etc. ▸ Old Watch vs New Watch Page ▸ Firebase Remote Config: Fail-safe approach ▸ Feature-Gate using Users in Random Percentile ▸ More than just a knob. Audiences, Events and A/B ▸ A/B Experiments based on Remote Config ▸ Optimisation Metric ▸ Roll out the leader
in creating a segment of users ▸ Segment can be created based on Event or User Properties ▸ We created the segment of users where Emoji was not working as expected ▸ We rolled out the Emoji to all except the affected ones thus preventing unwanted behaviour on Watch Page
in getting the insights of user actions ▸ User Properties are attributes which typically describe the segments of the user base. ▸ Firebase logs some properties and events automatically like App Version, Country, Device Brand, Model etc. ▸ Log your own custom property as we did at Hotstar like build_flavor ▸ Log Custom Event to measure your optimisation metric for A/B
insights of how your app is performing. ▸ Logs all the HTTP/S network requests automatically along with app start up time(traces) ▸ Breaks down the perf data based on Device Model, Carrier, OS Level, Country and App Version ▸ Provides the functionality to customise the traces for perf capturing like checking app load time when new screen is created ▸ DebugView to view the logged events