App Performance

How to unlock new markets using a mobile CDN

How to unlock new markets using a mobile CDN

TL;DR: While deploying your app or service for any user in the world has never been so easy, this decision actually has a lot of technical implications. From needing to support substandard devices and having to deal with poor quality networks, this can become a nightmare to ensure the app’s performance is up to your standards. In this article, we will show how a mobile CDN can turn this nightmare into a dream.

Emerging markets: who are they and how are they growing

As a developer and performance geek, it’s a little bit hard for me to think about emerging markets as a pure financial definition. While they are deeply tied, for me it’s all about the network infrastructure and device pool that is available in each country. Essentially, the things that define how painful it is to achieve good global performance (not only for me but for Google as well).

To leave the realm of meaningless definitions, let us focus on what is my take on these markets. We have the Southeast-Asia market (India, China, Indonesia, Thailand), the Latin-America market (Brazil, Argentina, Colombia, Mexico), the Sub-Saharan Africa market (Nigeria, Kenya, South Africa, …), and the Eastern/Southeastern European market (Russia, Poland, Czech Republic, Turkey, …).

How are these markets growing? According to App Annie, at a fast pace. In 2021, some of these markets already dominate some relevant app statistics such as the number of hours spent daily in apps and the number of app downloads.

 


Not only usage has been growing, but also revenue and with pretty interesting numbers as you can see here, here, here, here, or here. So the economics are there and are appealing enough to consider the decision of entering these markets. However, there are some caveats there. Let’s dive a little bit into what type of markets you’re entering from a technology perspective. 

A developer’s view of the problem

As we noted before, two of the most relevant pain points for performance in emerging markets are the network and the device pool. Let’s put our market research suits and try to understand the dimension of this issue with some data. 

Networks

I love people that share data. I cannot state this enough. Cable.co.uk has done an amazing job showing how fast broadband connections are around the world. They shared this very illustrative image (you can actually get the raw data here). What you can see in the picture is the average speed in megabits per second (Mbps) for a set of regions.

Source

It’s fairly easy to see how we might get into trouble in terms of app performance for users in these regions. However, this is just one side of the picture. We should also be looking at mobile speeds. The above report does not contain this information, but we can gather it from the Speedtest Global Index. Looking at the median download speed of mobile connections, we can see that most of the countries in emerging markets are well below 25Mbps, whereas countries in more mature markets are almost exclusively above 50Mbps. 

 

 

In the above chart we can see that, if the users are over a mobile connection instead of a broadband connection, we will face similar challenges w.r.t. user experience. Not looking good from a network perspective… How about from a device perspective?

Devices

Let’s make a simple exercise. Using data from AppBrain, let us see which are the devices with the most market share by region (this is oversimplifying, especially in a fragmented market such as the Android smartphone market, but this should be enough to illustrate my point). 

 

From the above picture, we can draw a very simple conclusion. Devices with the most market share in more mature markets (US, Canada, South Korea, …) have good characteristics. A lot of flagship devices, WiFi 5/6 support, 5G support in many cases, a performant CPU, and great memory characteristics. On the other hand, devices with the most market share in emerging markets reveal quite the opposite. Many of them only support WiFi 4 and have limited CPU / memory characteristics. 

Implications

Ok, none of the above is really surprising… What you really like to know is how your app performs in these emerging markets. Let me give you some small examples of the most basic impact. 

We regularly perform tests to assess the performance of network protocols in several geographic regions. These tests focus on metrics that matter for a particular app segment/app behavior. I want to show you the impact of networks and devices on two particular KPIs: video startup time and resource download using a 10Mb file.

Let us focus on a particular geography, say India. Of the data we collected, 90% of the users over WiFi in India were using a 2.4GHz network. Looking at both KPIs, we can see that over 2.4GHz both KPIs take almost 3 times more (on average) than the 5GHz counterpart. Don’t forget: 90% of your users will be on the bad side of the chart! 

 

 

Will your app work in such an environment? For instance, we know from Akamai that each added second to the video startup time results in an increase in abandonment rate, which is not great news according to the latest performance data from Conviva: 

conviva report
Source

The same logic applies to other verticals as well: e-commerce, mobile gaming, and so on… 

For your strategy to succeed, you need to have in place the right tech stack that will ensure that users have a good experience 

Deploying for emerging markets: the untold truth

There are a few aspects that are almost mandatory to every service in order to ensure a good user experience. Perhaps the most relevant is to place your content as close as possible to your user base (since latency is perhaps the biggest enemy of network protocols). Yes, that’s right, we’re talking about deploying a CDN. This may sound simple, but have you ever looked at how CDN PoPs are generally distributed? Let’s look at Amazon Cloudfront, GCP, and Cloudflare PoP locations.


Anything that catches your eye? Perhaps Cloudflare is at this point the CDN that better covers the regions of emerging markets, but you can definitely see that there are almost no PoPs in emerging markets…

But let me come back to the most relevant issue from my point of view. Putting your content close to your users is not enough!!! We know that most of the performance issues relate to the last mile, a problem no CDN solves. Go no further. In the data above, both the content and our user base were in India. Nevertheless, you could see that the impact of the wireless link on performance was huge. This means that to ensure a good user experience, a protocol that is able to overcome the challenges of wireless communication must be in your stack. 

Oh, I almost forgot, there’s one last detail I wanted to mention: scale. If you are targeting emerging markets it’s mostly because of their size, right. This means billions of users. What happens if you run a service on top of an underperforming network layer? Users of your service will end up taking more resources of your infrastructure, in particular computational resources (more concurrent connections, more packet retransmissions, …), which could mean you need to scale on infrastructure to accommodate for this. Now, if you were Disney+ you would probably be able to run your services at scale for billions. But do you really want to manage all of this?

Mobile CDN: a solution tailored for emerging markets 

All the above caveats can be circumvented by our mobile CDN strategy. First and foremost: our CDN uses a network protocol tailored for wireless communications (Bolina). Using a protocol that solves the issues of the last mile allows you to provide a better user experience to users in emerging markets. This means better KPIs, improved app quality (e.g. no need to reduce image or video quality for these regions), and indirectly, fewer workarounds in your app to deal with the specificities of the networks found in emerging markets (i.e. more time for developers to focus on the product instead of solving network-related performance issues).

 

 

However, our mobile CDN is more than just the protocol we use. The architecture under which it was built, allows us to deploy a PoP practically in any place of the world as long as there is some infrastructure provider in this region (note that I said infrastructure provider and not cloud provider!). The reason is that we deployed our CDN using Kubernetes, leveraging on the awesomeness of its auto-scaling tools that allows us to manage multiple different providers in a single environment.

Codavel Pops

In the end, a mobile CDN offers you 

 

More control over last-mile performance regressions

Seamless Scalability

Deployment in any region,

closer to end-users

Better QoE on any device

under any network conditions


If any of this made sense to you and you want to give it a ride, please contact us for a quick test!

Talk to an expert