Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Build Android apps for the next billion users

Build Android apps for the next billion users

With my colleagues Amrit Sanjeev and Rajeev Kumar, we presented this talk at Google I/O 2019. We highlight facts from NBU regions and tips to use to help you creating applications for these users.

Yacine Rezgui

May 09, 2019
Tweet

More Decks by Yacine Rezgui

Other Decks in Programming

Transcript

  1. Next Billion Users 126 207 49 191 40 97 458

    1,300 32 205 158 29 45 96 58 104 143 261 33 68 772
  2. NBU market 350 million internet users in South-East Asia 50%

    smartphone users are in Asia 40 million new users come online in India every year
  3. NBU are changing internet Mobile-only mindset No desktop computers (only

    11% of Nigerian have one) Instinct for ubiquitous computing 30% of search queries made using voice in India Demand for localized content Not only translation, adapted to culture & environment
  4. Languages diversity official languages in Africa & Asia 119 million

    Indian are bilingual 314 Languages spoken in Nigeria 500 official languages written in 13 different scripts just for India Hindi, the 4th language in terms of global speakers isn’t even in the top 30 languages for web content 23
  5. Various devices Huawei, Oppo, OnePlus & Xiaomi (China) Micromax (India)

    AfriOne (Nigeria) Transsion Consider including them in your test devices Different OEMs Lower specs Longer hardware upgrade
  6. Disparate internet access WiFi isn’t reliable People don’t have it

    at home 4G is faster than WiFi in those countries Users turn data off multiple times a day 95% of mobile plans are prepaid users No continuous connection throughout the day Some websites may be offered or restricted by telcos Included in mobile plans or blocked because of government regulations
  7. Growth opportunity Asia Pacific will account for +50% of this

    growth 40% of 1.6 billion new connections by 2020 from these countries: China India Nigeria Indonesia Pakistan
  8. App Bundles For every 3 MB increase to an APK’s

    size, we see a decrease in the install conversion rate of 1%. ~70% of people in emerging markets consider the size of an app before downloading it
  9. On Demand modules Optimize to usage Developers can separate certain

    functionality/ resources of the app and later allow the user to download these on demand. This not only provides flexibility to change the app based on user behaviour and usage but also reduces the initial install size of the app.
  10. feature2-xxhdpi.apk feature2-xhdpi.apk feature2-hdpi.apk ... feature2-x86.apk feature2-x86_64.apk feature2-armeabi.apk ... feature2-en.apk feature2-fr.apk

    feature2-de.apk ... (feature1-master.apk) (feature2-master.apk) (feature3-master.apk) (base-master.apk)
  11. Conditional modules Serving the right module Conditional modules allows for

    targeting different modules for installation based on device configuration. This allows for providing a more customized experience for the user based on the device.
  12. In NBU regions the default device language is set to

    English, so apps usually provides and in-app setting to change the app language. Apps that have migrated to App Bundle format can use Language split api to download the appropriate language splits based on the user setting in the app. Language splits api Download languages support on demand こんにちは привет 안녕하세요.
  13. In-app update API App update cycles are longer in NBU

    countries and IAU provides a standard way to notify users when a new app update is available . This API provides a choice of immediate and flexible flow following all the Google Play targeting rules
  14. SMS Consent API OTPs without SMS permission • Privacy concerns

    addressed • Works without custom formatting like SMS retriever API • No SMS permission required • Better user experience
  15. With the plethora of devices and varying network conditions, there

    is a greater need to understand real world app performance. This product automatically collect stats and helps identify the origin of issues breaking data into dimensions. Firebase Performance monitoring Understanding real world performance
  16. Adapt product & content to market With more and more

    app releasing globally, assuming that everyone would want to use your app in English is a mistake. It’s not only your app that needs localization but also the listing and graphics in Google Play. Localization 日本人 English 普通话 русский español ไทย ﻰﺑرﻋ 日本人 हंद ◌ी
  17. • Use Proguard • Use ApkAnalyzer to analyze of your

    app • Minimize resource use from libraries • Remove unused resources • Support only specific densities • Use drawable objects • Reuse resources • Use Android App Bundles • Don't include all languages Reduce your app size
  18. • Crunch PNG files • Compress PNG and JPEG files

    • Use WebP file format • Use vector graphics • Use vector graphics for animated images • Remove unnecessary generated code • Avoid enumerations • Remove debug symbols from native binaries • Avoid extracting native libraries Reduce your app size
  19. • Monitor available memory and memory usage • Release memory

    in response to events like onTrimMemory to release caches and objects to reduce memory pressure. • Don't create unnecessary processes, unless you have short living services that may be bound from other apps. • Use services sparingly, use JobScheduler instead • Use optimized data containers Manage your app’s memory
  20. • Avoid memory churn by reducing number of garbage collection

    events to occur Manage your app’s memory
  21. • Do not drop data • Don't expose raw data

    • Don't interrupt the user • Got a lot to do? Do it in a thread • Don't overload a single activity screen Keep your app responsive
  22. • Design your UI to work with multiple screen resolutions

    • Do conserve the device battery Keep your app responsive
  23. Amrit Sanjeev Developer Advocate, Google Rajeev Kumar Snr Software Engg,

    Google Yacine Rezgui Developer Advocate, Google Thank you! developer.android.com/performance Helpful resources