Cold Start Times: An Analysis of Top Apps
We’ve stressed that apps need to start up quickly in a prior blog post, but how fast do existing apps start? Here we examine the startup times of the top 100 apps in Google Play and share the insights we find.
Background: Three Types of App Starts
There are actually three different types of app starts: first starts, cold starts, and warm starts.
First starts are what you’d expect them to be – when a user opens your app for the first time after installing it. First starts are the slowest because the mobile operating system and the app need to initialize a lot of data, such as creating a SQLite database or compiling multidex files into native code. While first starts should be as short as possible, they only occur once per app install/upgrade, so continuously measuring them isn’t as significant as measuring the other types of starts.
Cold starts occur when users open your app after they haven’t ran it for a while. Cold starts are “cold” because mobile operating systems remove inactive apps from memory to make room for active apps. Cold starts are thus slow because the app’s code, assets, and objects have to be reloaded or recreated. If users open your app a few times a day, each of these starts is a cold start, so cold starts are very important for better user experience.
Warm starts occur when users quickly return to your app after switching away. The app is still “warm” in memory, so warm starts are often very fast.
To summarize, among the three types of starts, cold starts affect user experience and conversion the most and should be the focus of optimization. Below we examine cold start times of top apps.
What Are Cold Start Times for Top Apps Like?
To study app cold start times, we picked the top 100 non-game apps ranked by Google Play. Google Play ranks apps based on a number of different elements including download volume, performance, user ratings, and social media popularity, most of which change over time. Our ranking data was fetched on January 6, 2016, and apps were continuously profiled until the publication of this post.
We excluded games because users have higher tolerance for slow game starts, as they know the games have to load a lot of graphics resources. We also excluded apps that we don’t currently support, such as those that require bank accounts and credit cards (e.g., Uber).
Our benchmark devices are Nexus 5 phones (representing mid-range devices) with Android 4.4 (the most popular Android version at the time of study).
We’ve compiled the data in the following graph:
There are a number of interesting insights in this data. Let’s look at the top 25 apps first. Of them, 10 apps start in under or around 2 seconds, 20 in under 3 seconds – these apps are pretty quick to start up. Instagram is one of the fastest apps to start up, which is not surprising given the huge effort the Instagram developers put into profiling and optimizing their Android app. With a 4.3 second startup time, The Weather Channel and Snapchat are the slowest of these top apps.
Of the top 50 apps, 22 apps start in under or around 2 seconds, and 40 in under 3 seconds. The Chromecast app is the fastest with a 0.8 second start time. Surprisingly, the Weather Channel and Snapchat are still the slowest apps in the group.
Of the top 100 apps, 39 apps start in under or around 2 seconds, and 73 in under 3 seconds. Chromecast is still the fastest with its 0.8 second start time. Magic Piano overtakes Snapchat and the Weather Channel to be the slowest, with an 11.1 second startup.
There’s a clear trend here. Most top apps are relatively fast - 40% start in under 2 seconds and 70% in under 3 seconds. This makes a lot of sense given the amount of time good developers devote to performance optimization.
We’ve also compared the top apps that fall into the same category. We did so by analyzing each app’s primary function. For example, while Snapchat has the capabilities to send a normal tex-based message (and could be classified under “Messaging”), it primarily acts like a social platform through which users can share their experiences in real-time, like Facebook. We’ve compiled the data into the following graph:
Among all music streaming apps, the fastest is My Mixtapez. It’s followed closely by Spotify, which starts in 1.6s - half the average start time for the category. Spinrilla is by far the slowest, taking 7x longer than the top app in the category.
WhatsApp is the fastest app in this category, nearly 4x faster than the slowest (GO SMS Pro). Unsurprisingly, Facebook Messenger is one of the fastest messaging apps on the market. Mid-tier apps like Kik take significantly longer to start and apps with even smaller dev teams (like Talkatone and GO SMS Pro) are excruciatingly slow to start. It’s interesting to note that the apps that advertise their call functionality in their titles take longer to start, despite the fact that the faster apps also offer the same features.
On average, the top shopping apps were slightly faster than the top messaging apps. The e-commerce industry knows that giving impulsive users quick access to products will generate more revenue. eBay is by far the fastest shopping app to start, which makes sense given its lack of hung methods. It’s about 2.5x faster than OfferUp, the slowest Shopping app in the dataset. Groupon, on the other hand, boasts the longest list of problem methods in its category. These performance issues can partially be attributed to the use of Roboguice for dependency injections. An easy way for them to improve would be to use Dagger instead.
No surprise here, Instagram is the fastest app in the category. Like we mentioned before, Instagram developers have focused specifically on optimizing start times in the last year, and it’s really paid off for them - Instagram starts up 4x faster than the slowest app in the category, Snapchat. This is pretty surprising - we’d expect popular apps to be way faster, yet Snapchat is an odd exception.
We were surprised to see the disparity between the start time of YouTube and YouTube Kids. Our profiling discovered that YouTube Kids spends significantly more time with dependencies. This, coupled with the extra time spent implementing restrictions, could explain the difference in start time.
We would expect applications in this category to start quickly, considering they advertise the ability to speed up users’ devices. Z Speed+ is the fastest app in this group, taking a .2s lead over DU Battery Saver. It’s nearly 3x faster than the slowest app in the category, DU Speed Booster & Antivirus.
Photo editing software are extremely popular in the mobile industry, as users like to touch up their clicks before sharing them with their friends. Photo Grid is lightning fast, starting up in just 1.1 seconds. It’s a full 8x faster than Photo Editor Pro, which takes a scary 8.8 seconds to start up.
An interesting tidbit we noticed was that apps whose names include the word “Pro” (i.e. Photo Editor Pro and GO SMS Pro) were often some of the slowest in their categories :). Simply saying your app is good is not enough - you have to prove to users that your app can really perform.
Overall, top apps are pretty quick except a few outliers. We cannot stress enough that fast startup is an integral part of what makes them so successful. Good developers are constantly looking to reduce start time, and as a great developer, you should too.