So you’ve developed a truly unique and exciting new mobile app for your business, only to find that most users are closing the app before it has a chance to launch. However disheartening it may be, the truth is that mobile users are notoriously impatient, and we can hardly blame them for that. After all, convenience is largely what makes the mobile experience so attractive to consumers. If they wanted to wait in a checkout line, they would’ve gone to the store.
The good news is you’re not alone. Startup time bloat is one of the most common issues with mobile apps, and it can be a real problem for even the largest and most successful businesses in the mobile space. In many cases, talented developers have dedicated a lot of time and resources to perfecting every feature of an app, but by focusing exclusively on growth, they inadvertently neglect to maintain performance. This unfortunately results in users abandoning the app before getting to experience its full value.
In this blog post, we’ll address the consequences of startup time bloat, and identify some of its main causes, as well as why they’re frequently missed by even the most capable mobile teams.
And don’t forget to check out our startup time eBook if you’d like an even deeper dive.
What happens when there are issues with startup time?
The most obvious consequence is also the worst: users close your app, delete it, and never so much as think about it again. You see, we weren’t kidding when we said that mobile users are impatient when it comes to startup times. They are so impatient, in fact, that the optimal startup time for any mobile app is less than two seconds.
Yes, you read that right. Not two seconds. Less than two seconds.
It seems like an aggressive goal, but it wouldn’t be the standard if it wasn’t attainable. In reality, the possibility that users abandon your app if you can’t meet this startup time is extremely likely. The latest available data tells us that up to one quarter of end users discard an app after their initial experience. That means if your startup time is frequently over two seconds, you might as well wave goodbye to 25% of potential new users on a daily basis.
You also have competitors to think about. When users abandon your app, they don’t suddenly retire from using mobile services, but rather, they seek convenient alternatives. You may have even done this yourself as a mobile user, and likely have interchangeable apps on your phone for this very reason. For example, you might have downloaded more than one food delivery app, and when one of them is giving you trouble, you immediately switch over to the other. And if you haven’t already deleted the one that failed the first time, you’ll certainly be tempted if it ever happens again.
Bottom line, a bloated startup time is a serious liability. It can prevent you from acquiring new customers, and increase churn among your established customer base. No matter how innovative your app may be, many mobile users simply won’t wait around more than a few seconds to experience it.
What causes slow startup times?
Mobile apps today are increasingly sophisticated, having advanced features alongside the complex codebases needed to support them. With larger teams continually expanding the surface area of their mobile experience, there are any number of ways that unforeseen complications can arise. Sometimes, solving issues with startup time is simply a matter of determining the actual cause. Here are just a few common causes of slow startup times.
Differences between mobile and web
Many teams fail to take into account the major differences between their mobile and web platforms. This is understandable, as the actual services provided on each platform might indeed be extremely similar. But when you focus on the environments themselves, they couldn’t be further apart.
For one, your web platform corresponds to a largely sandboxed browser that connects to a server, which means it operates from a fixed, controlled environment, with fewer variables that are easier to troubleshoot. Mobile apps, on the other hand, can be accessed from hundreds of distinct devices — smartphones, tablets, POS systems, TVs, IoT, and much more — all of which have vastly different CPU, memory, storage, and network connectivity. Mobile devices also operate in dynamic environments, and app performance can be affected by anything from connectivity issues related to location, to settings such as low-power mode. Essentially, the complexity of variables involved in mobile environments make them difficult to test, and it can be impossible to determine a cause if you don’t know where to look.
Poor quality SDKs
Software development kits, or SDKs, often add important measuring and monitoring to your mobile applications, but the insights they provide your team won’t be as valuable if they’re slowing down your startup times. And this happens way more often than you might think.
This is a particularly common issue when it comes to third-party SDKs. It often makes sense to leverage them for undifferentiated functionality like mapping, ads, payments, and authentication. After all, they’re convenient and free up time for your team to focus on the bigger picture. But when third-party processes carry on unchecked, you have no way of knowing if they’re following best practices. Without being proactive about monitoring them, you risk your own app’s performance being hindered by code that no one on your team is familiar with. This doesn’t mean you should always avoid third-party SDKs — it just means you shouldn’t take for granted that providers are delivering the quality you need.
Issues with backend monitoring
Backend monitoring can be a great tool for troubleshooting web issues, but many businesses fail to realize its limitations when it comes to the performance of mobile apps. Far too often, a lack of device-side monitoring and an overreliance on server-side monitoring leaves teams perplexed about the cause of bloated startup times.
We see this happen frequently at mobile teams before they use Embrace. They discover slow startup times, but when they ask the backend team to check the performance of certain endpoints, the backend tells them everything is fine. This is because they’re using the wrong tools for the job, and when performance is only measured from one perspective — server-side — you’re completely missing what’s happening on a user’s device. Backend monitoring won’t reveal issues like connection errors, timeouts, freezes, and slowdowns that are caused from network congestion, connectivity changes, or failing third-party network calls. The only way to have true visibility is to monitor both on the device and on the backend.
Summing it all up
The importance of optimizing startup time for your mobile application cannot be overstated. The faster you get your users to experience your core value, the more likely they are to come back again and again. You should put measures in place to proactively detect any regression in startup time so you can swiftly address the issue. Increasingly, successful mobile teams are seeking comprehensive solutions that surface and help solve user-impacting issues like startup time bloat.
Embrace is a data driven toolset to help mobile engineers build better experiences. We are a comprehensive solution that fully reproduces every user experience from every single session. Your team gets the data it needs to proactively identify, prioritize, and solve any issue that’s costing you users or revenue.
Request a demo and see how we help teams set and exceed the KPIs that matter for their business!
Deliver incredible mobile experiences with Embrace.
Get started today with 1 million free user sessions.Get started free