Starting this year, Jana decided to enter the China market. One of the first questions that came to our mind was, how can we enable our Chinese users to download our app, quickly and reliably?
Wait…It’s already available to download!
Due to the absence of Google Play Store in China, there are over 20 third party android app stores available in the local market. The top 4 players take 80% of the market share, according to the following chart from a recent market report:
(We will have more in-depth discussions about the android app store market in China and the how Google Play Store re-launch may affect the ecosystem in another post, stay tuned!)
Therefore, the solution to our question seems straightforward: just upload our app to those app stores and our Chinese users can download it immediately!
As we started the application process to those app stores, we found out that our app was already listed and available to download from many of them. Isn’t that great? It turned out that some local app stores check Google Play Store, maybe regularly, and list popular and highly ranked foreign apps into their own stores, even though the developers of such apps did not apply to them. Similarly, local app stores would propagate some apps to their peers.
Mission Completed? Not really
We found that there are three major challenges when dealing with local app stores:
- We really cannot rely on the assumption that local app stores will automatically list and update our app. First of all, all app descriptions, screenshots and keywords are directly copied from Google Play Store, which are all in English. This won’t attract too much attention of our potential Chinese users. In addition, most of those app stores will not update your app in time when you update your app in Google Play Store. This means a large percentage of Chinese users will be using an outdated version at any given time.
- There are risks that applications to upload or update your app on those app stores may get denied. For example, some simply do not accept any apps from a company without a local business entity, or one thinks (by mistake) our app includes offerwalls or inappropriate content. It is also possible that they suddenly consider our app as a competitor and thus deny the application.
- There is no API available to support referral detection as in Google Play Store. Therefore, we need to create a separate referral mechanism to enable referral code manual input (please refer to another post coming soon on how we enable referrals in China for more details).
Our Solution, first attempt
We decided to enable Chinese users to directly download from our server, in addition to app store channel. This not only largely mitigates the risk that our Chinese users may not be able to get access to a new version from local app stores but also enables us to develop a referral mechanism for better user experience and one that is within our control.
Hosting our app on AWS S3 seems to be an immediate solution that requires the least engineering efforts. However, we soon learnt that this won’t work for two reasons:
- AWS S3 servers can be blocked by the Great Firewall anytime. In fact we tried a few S3 buckets in different regions globally and found only one that Chinese users can get access to. It sometimes was blocked too. To use AWS China service, you need to have a local business entity with required local legal documents, which will take quite a lot of time and efforts to get.
- Quality of traffic is poor and fluctuates greatly:
- WIFI: As mobile data is still expensive in China, most of our Chinese users will use WIFI to download our app. (Remember Jana’s mission? Make the Internet Free for the Next Billion!) Therefore this was the scenario that we focused on testing the traffic quality. 40% of testers took more than 40 seconds to download our app of size 8M, if local testers did not use their phone at all during tests. As they are usually using other apps, average time to download were estimated to be more than 2 minutes in a more realistic scenario, according to interviews.
- 3G network: Although 4G is available in China, we hardly found any users using it to download our app, as 4G network expense is still too high. With 3G network, 90% of downloads took more than 40 seconds, and 20% failed. Between 6pm and midnight, 100% of test downloads took more than 3 minutes.
Our solution round 2: when you are in Rome do as Romans do
We found that to host our app on a local server is currently the best way. There are plenty of available servers in China. Some provide CDN services similar to Akamai, others cater to some specific sectors such mobile apps. It takes time to understand which service satisfies our functional needs the best by discussing with their sales and engineers. In addition, it is critical to understand other business constraints, for example, whether they require clients to have a local business entity or any specific legal documents, or whether they accept foreign currencies for bill payment.
According to our tests, with WIFI, 50% of our users can download our app within 10 seconds during tests, and the rest within 24 seconds. With 3G network, 100% of tests completed within 52 seconds and none of them failed. App download speed is one of the questions that we will always ask during user interviews, and our users always appreciate the fast download!
But we will not just stop here. We are building features to record every download time, to better understand the actual performance. Also, we are building features to regularly test the performance of the local server, and alert us in the first place when performance drops below threshold.
Interested in exploring China mobile market? We are hiring!