building apps for india
TRANSCRIPT
Why?
› 2014 - 140 million - Cisco› 2015 - 210 million - Ericsson› 2016 Feb - 220 million - Counterpoint
Why?
› 2014 - 140 million - Cisco› 2015 - 210 million - Ericsson› 2016 Feb - 220 million - Counterpoint› 2020 - 702 million - Cisco
Why?
› 2014 - 140 million - Cisco› 2015 - 210 million - Ericsson› 2016 Feb - 220 million - Counterpoint› 2020 - 702 million - Cisco› 2021 - 810 million - Ericsson
What?
› Cross tier cities› Literacy, wealth disparity› Same product - different expectations› Spread of vernacular users
Stay slim! Stay humble!
› Choose libraries intelligently› Apply proguard carefully› Remove redundant resources
Stay slim! Stay humble!
› Choose libraries intelligently› Apply proguard carefully› Remove redundant resources› Ask permission only if necessary
Stay slim! Stay humble!
› Choose libraries intelligently› Apply proguard carefully› Remove redundant resources› Ask permission only if necessary› Avoid multidex at any cost
Onboarding
› Keep bare minimum steps› Let user choose critical preference› Let app predict other preferences
Onboarding
› Keep bare minimum steps› Let user choose critical preference› Let app predict other preferences› Set theme for Splash screen
Login / Sign up
› Delay till first transaction› Prefer mobile number with OTP› Look for slim and fast SDK options
Login / Sign up
› Delay till first transaction› Prefer mobile number with OTP› Look for slim and fast SDK options› Provide an option to login as Guest
Responsive UI
› Flatten UI hierarchy › Build custom UI components› Reuse UI components as much› Avoid fancy animations
Localisation
› Universal language› National language› Lengthy language(s)› Mirror language(s)› Sign language!
Errors are not exceptions
› No connection found› Slow connection› No content found› Server error / Invalid response
First steps
› Cancel out of scope requests› Eliminate redundant fields› Extend login session automatically
First steps
› Cancel out of scope requests› Eliminate redundant fields› Extend login session automatically› Send only fitting size images
First steps
› Cancel out of scope requests› Eliminate redundant fields› Extend login session automatically› Send only fitting size images› Adjust number of threads
Prioritize requests
› P1 - Most important request› P2 - Other lightweight requests› P3 - Icon, zip, media, etc.,
Prioritize requests
› P1 - Most important request› P2 - Other lightweight requests› P3 - Icon, zip, media, etc.,› P4 - Background updates
Prioritize requests
› P1 - Most important request› P2 - Other lightweight requests› P3 - Icon, zip, media, etc.,› P4 - Background updates› P5 - Analytics - beacons, events
Become user’s friend
› ConnectivityManager.isActiveNetworkMetered› Build lite or no image mode› Process screens in LIFO order
Become user’s friend
› ConnectivityManager.isActiveNetworkMetered› Build lite or no image mode› Process screens in LIFO order› Batch multiple requests / HTTP 2.0
Engagement
› Let user configure notifications› Make it easy to share via popular channels› Support deep link to each content page
Engagement
› Let user configure notifications› Make it easy to share via popular channels› Support deep link to each content page› Log & solve top x% crashes every sprint
Engagement
› Let user configure notifications› Make it easy to share via popular channels› Support deep link to each content page› Log & solve top x% crashes every sprint› Exploit staged roll-out option well
Personalization
› Learn from usage pattern› Allow user to block / unblock stuffs› Let navigation to related content be easy
Personalization
› Learn from usage pattern› Allow user to block / unblock stuffs› Let navigation to related content be easy› Build option for user to delete history
Personalization
› Learn from usage pattern› Allow user to block / unblock stuffs› Let navigation to related content be easy› Build option for user to delete history› Stay ethical
Testing
› Automate, automate & automate› Manually test for min. config device› Include top used devices from user base
Testing
› Automate, automate & automate› Manually test for min. config device› Include top used devices from user base› Include special (notorious) devices
Testing
› Automate, automate & automate› Manually test for min. config device› Include top used devices from user base› Include special (notorious) devices› Airplane, Elevator and 2G testing
Monetisation
› Prefer S2S over client side SDK› Choose native ads as much › Evaluate client SDK before using
Monetisation
› Prefer S2S over client side SDK› Choose native ads as much › Evaluate client SDK before using› Always keep ON/OFF switch at backend
Thank U!
Arun Babu A S PLove building apps with best user experience.
https://in.linkedin.com/in/arunasphttps://www.facebook.com/arunbabuasp