Building Apps for Fast Growth Markets

Truecaller has been honored to take part, for the first time, at the Google Play Playtime event in London last 28th of September. Playtime is annual event series, which is run in 12 countries globally. The scope of the events is to offer developers the opportunity to inspire each other and to learn tips and best practices about how to grow apps or games business, and succeed on Android and Google Play.

IMAGE DESCRIPTION

Truecaller has been honored to take part, for the first time, at the Google Play Playtime event in London last 28th of September. Playtime is annual event series, which is run in 12 countries globally. The scope of the events is to offer developers the opportunity to inspire each other and to learn tips and best practices about how to grow apps or games business, and succeed on Android and Google Play.

Sergio Cucinella, Software Engineer of the Android Team at Truecaller, held a presentation about building applications for the fast growing markets. The session, that was part of the Lightning Talks, was live recorded and is available on the YouTube channel of Google Android Developers.

The presentation provides a brief introduction about emerging markets, and continues on how to create great experiences. The presentation finally ends on how the definition of ‘free’ can be a little bit different in those markets.

It is well known that when companies and entrepreneurs want to launch new products, they always think about the western markets: North America and Western Europe. These markets have a fair amount of potential users, in fact, at the end of 2014 there were 163M smartphone users in USA and 197M in Western Europe. These markets are also facing a growth during the years, but it is moderate.

What we tend to underestimate is the potentials that all the other markets can have in the distribution of an application; at the end of 2014 there were 522M smartphone users in China, 270M in India and 122M in the MENA region. It is also important to remember that the next billion Internet users is going to come from those regions, this means that they are going to keep experiencing an extreme growth in coming years.

It is extremely easy to build great products with our brand new high end devices, with almost unlimited data plan on fast LTE networks. We tend to forget sometimes what is the norm in emerging markets:

  • The devices are usually dual sim, the screens are not very big, the resolutions are not very high and even the new devices are relatively CPU and memory constrained. Obviously not everyone can afford new smartphones, therefore many users buy second hand devices that are even more CPU, GPU and memory constrained. They might not be running the latest version of Android and most likely they are not going to receive any update;
  • People usually have prepaid data plans. They are not very cheap so the users use the connectivity only when it is extremely needed. If we think that the smartphone might be the only entry point for some users to Internet, than it is clear that they really care about data usage;
  • The networks are slow, 3G is now a norm, and they are congested. Even WiFi is slow because it is usually based on slow landline connections and it is not always available.

For these reasons, the key for building great experiences for these markets are:

  • We cannot rely on an always-on Internet connectivity, therefore we have to enable the users to open and at least partially use the application when they are offline;
  • The applications need to have some sort of caching layer and the cache itself has to be proportional to the available memory on the devices;
  • It is a good idea to bundle ldpi and mdpi resources, maybe xxxhdpi are not fundamental for those markets;
  • The image download size dominates the data usage of an application. This means that we should try to download thumbnail or preview images and to postpone as much as possible the download of the full size image; when we do that we need to ensure that it is displayable on the device because it may be simply too big. Pre-scaling should be done on the server side since it is cheaper;
  • Being that the devices not very powerful, it is better to consider the animations and the transitions that really make sense and are important for the product. In the end it is better to provide a simple but smooth experience rather than pretty but laggy one;
  • It is crucial to provide a native experience in our applications, therefore it is fundamental to invest in both localization and translations.

It is very interesting to understand what free really means for people. Many applications are freely downloadable from the Play Store, but that is not enough! People from the emerging markets focus a lot on the application size. This is due to the fact that they are using prepaid data plans and therefore downloading an application involves certain costs. As an example an Indian user spends roughly 2 euro cents for downloading Truecaller, while downloading LinkedIn costs almost four times that. If we also take into account that often are released weekly updates due to bug fixes and other small improvements, it is understandable that users question themselves whether it is worth spending that money for such an update.

In order to minimize these type of costs for the users, we should keep in mind that:

  • Size matters! We need to do anything we can for ensuring that the application size is as tiny as possible;
  • Localizations are great for the experience, but they require quite some space. For this reason we should consider bundling only the ones that critical for the business. It is also important to check that the unsupported localizations are removed; they might be bundled in used libraries;
  • It is fundamental to check that unused resources are removed. We should take advantage of tinting and color filtering so that icons can be reused. Do not forget to optimize the images and experiment with other image formats;
  • Use ProGuard for compressing the application as much as possible;
  • Be careful with the libraries you include. They can dramatically increase your application size. It is good to remember that Google Play Services can be imported modularly.

We hope this gives you a general idea on how to optimize applications for the fast growing markets and that you will start optimizing yours in case you are not already doing it.