How to build Android apps for the next billion users?

Amit Shekhar
MindOrks
Published in
4 min readMay 29, 2019

Who are the next billion users?

There are many users who will be coming to the internet for the first time and will be accessing the internet for the first time. In India, a huge number of users are coming online for the first time every year. They will have a variety of mobile devices.

And in the real world, there are many different varieties of Android devices available with different constraints associated with them like flaky internet connection, slow internet speed, low free disk space, low memory available at runtime, small screen size. Because of all of these constraints, the Android Development has become very challenging. We as a developer need to work hard and optimized our Android applications for these available constraints. We as a developer should take this challenge and make it happen.

Today, we are going to discuss how to build the Android apps for the next billion users as the next billion users come with a huge business opportunity for the existing companies as well for the new companies. As great business comes with great responsibilities. We need to work hard for this. Today, we will learn how to make it happen.

In the below video, we have discussed “How to build Android apps for the next billion users?

How to build Android apps for the next billion users

Here the important pointers to keep in mind while developing the Android app for the next billion users:

  • Slow internet speed: We need to ensure that our app works well on slow and flaky internet connection. There are many things need to be done by us in this case. We need to consider the data compression very seriously to fetch the data fast even if the internet speed is slow. We also need to make the app work offline when there is no connection. We need to consider the offline first approach. Use caching smartly to avoid redundant network calls and save battery. Avoid so many internet calls, we can batch the network calls if required. Try to do most of the data syncing on wifi if applicable. There are much more which we have discussed in the above video.
  • Low device memory: We do so many processing on the devices which takes so much memory. We can use Facebook’s device-year-class library that analyzes an Android device’s specifications and calculates which year the device would be considered “high end”. Now, we know more about the device, we can do a task which needs more processing on the high-end devices, and we can delegate the task to the server for the low-end devices depending on the requirement. We can skip the animations on the low-end devices.
  • Low free disk space: We need to store the data very smartly on the devices. We need to calculate the cache size on the basis fo the space available on the disk. Create a mechanism to delete the data when required.
  • Security: Nowadays, users are more concerned about their data. We as a developer need to work to make our Android App very secure. Do not store any key in our Java/Kotlin code directly. We can store the secret key in the C++ compiled SO file so that it can’t be reverse engineered. We need to have a secure connection for data transfer using HTPPS.
  • App Size: The size of your APK is another concern. We should decrease our APK size to get more downloads as the users check the app size before downloading. Data has proved that less the app size, more the chance of getting download and less the chance of getting uninstalled. Use Android App Bundle to decrease app size. Use proguard to reduce app size. We have discussed more the above video. You can also go through the blog dedicated to it: How to reduce APK size in android?
  • Localization: We must localize our Android App and make it available in local languages for the users so that they can access the application in their native languages very easily.
  • Test on different screen sizes: We must test the Android Applications on different screen sizes how it is working on different screen sizes. We should optimize the UI for the different screen sizes.

Happy Learning :)

Clap, share if you like it and follow me for the updates.

--

--

Amit Shekhar
MindOrks

Co-Founder @ Outcome School | Coder | Teacher | Mentor | Open Source | IIT 2010-14 | Android | Machine Learning | Backend