Do you develop mobile apps? Or do you work with developers to make your app ideas come to life?
They say it’s the gold rush for mobile apps, though according to Techcrunch, this rush might be over.
Either way, whenever there’s an app being created, the focus often seems to be put on a few things.
How many downloads does the app get? Was it featured by Apple or Google?
How much buzz and PR can it get? Can you get an influencer, like LeBron James, to tweet about it?
Well, I’m here to say, good luck! Because all of that is good and all, but even if your app happens to answer those questions with positive responses -- if it’s slow -- nobody cares. Your app’s got to have good performance.
Performance isn’t as sexy a topic as the number of downloads an app has or LeBron mentioning it on his Twitter feed, but nobody wants a slow mobile app experience ... period!
Where in life are you going to hear someone tell you that your performance doesn’t matter? At home? Work? What about school? The theater?
Nobody wants bad performance!
It definitely matters when it comes to mobile. Many people have flocked to create Android, iPhone, and Windows apps in hopes of striking gold. I’m not here to tell you how you can do that -- sorry to disappoint! But I am here to tell you how you can give yourself at least a shot.
The users of mobile apps are often the same people who use desktop applications. But when you’re mobile, you tend to care about very different things compared to when you’re in front of your desktop or laptop.
When you’re on a mobile device, you may be on the go, out and about, or on your way to work -- or anywhere. Because of that, mobile users are more concerned about things that are fast -- there’s no time to wait for something to happen on your mobile device. “Speed, speed, speed” is the operative term here.
If that same person is at home -- on their desktop or laptop -- things can be very different. They may have a Verizon FiOS or Comcast cable Internet connection. Those connections are usually much faster than on mobile, and that user may be doing other things. While speed is still the key here, it’s not as pressing as if that same person was on a mobile device.
So it’s a very big deal when a user is on their mobile device. The app needs to be as fast as possible.
Not convinced? Let me give you three numbers to explain why your app needs to be fast:
Exhibit A: Unreasonable crash
According to a 2013 survey released by application performance vendor Compuware, some 56 percent of users experienced some sort of performance problem when using mobile apps. The survey shows that these problems were anything from app crashes to slow app launches to apps that simply would not launch at all.
I’ve installed a few of those apps that don’t launch. And as a mobile user, you probably have, too, and you don’t even have to think hard about it.
You download an app that you think will do what it says in the description. But then it takes forever to come up or it doesn't come up -- and if it does come up, then all of a sudden, it crashes.
A study released in 2014 by AppDynamics, another application performance software vendor, has that number as high as 65 percent for users in the United States.
So those are a couple of the statistics that you have to deal with when creating an app.
Exhibit B: Exiting stage left
Even worse stats: According to a study done by app analytics software provider Localytics, some 23 percent of users abandon an app after just one use!
So you don’t have a lot of chances here to make a good impression.
This 23 percent number could be the result of a number of different things at play. It could be that certain apps don’t have the right feature a user wants. Or they don’t have the information the user thought they were going to get.
Whatever the reason, you don’t want it to be performance related. In a lot of ways, the performance of an app is in your control.
How the app is designed and how certain app calls are made can both affect its performance.
Also, being cognizant of the types of devices your users are on when they use the app is important.
In that same Compuware study I mentioned above, it showed that about 80 percent of users would try an app once or twice more, and then they move on if performance isn’t better. So again, at the end of the day, you don’t have a lot of chances at this.
Exhibit C: Exercising deletes
In the study by AppDynamics - done with an institute in London -- 86 percent of users in the United States uninstall apps because of performance problems. This study surveyed users in both the U.S. and UK, and saw that both sets of users uninstalled those apps the same day they downloaded them.
You saw from the other studies that the performance reasons could be almost anything -- crashes or a slow app. What this study shows though is that 39 percent of those users who uninstalled the apps went to try a different app.
If you’re trying to get in on this gold rush -- in the gaming space or other popular app categories where there are many alternatives -- this puts you at a disadvantage. And what’s probably worse is that, not only do users uninstall the app, some 19 percent of them tell their family and friends about their experience.
We all hear about word-of-mouth marketing as being one of the best forms of marketing. Getting others to sing your app’s praises is great.
Well, this happens in the reverse, too. So even if the app was fixed later, there is a chance that certain people will never use it because of that 86 percent that told their family and friends about their bad experience.
Is your app ready for success?
You have a lot of control over the performance of your app. You don’t want to miss the opportunity to capitalize on that and not put your app in the best position to succeed.
To do this, there are a number of things that you want to do during development, either before your next app release or before your app goes live for the first time. You want to take care of these things ... because you have control. You have the power!
But what things do you control?
Before I go into that, let me ask you -- have you seen this commercial from HPE?
This article isn’t a commercial about how good or bad HPE is. I’m not advocating for the company, or any other vendor, for that matter. But this commercial struck a chord with me because it is talking about being prepared for an app launch.
It is showing two guys who come off as lead developers for a business app, and how they have prepared for the app launch based on how they anticipate the app being used -- and by how many users. They are able to do this by implementing HPE’s “hybrid infrastructure,” where their app is able to support 1 million users easily, and up to 30 million if needed.
Developers and app owners should be thinking about stuff like this. If your app succeeds, will you be able to support all those users you think you can get?
You develop apps with the thought that you’re going to get a flood of users. It doesn’t always work out that way, but if you do, will your app even be able to support these users?
If you use a backend service, will that service be able to support a flood of users? Is your app ready for this level of success?
To answer these questions, you need to understand what it means to have good and bad performance.
Let’s talk about...
What is performance? What do you think about when you hear the word “performance?”
When people -- both IT and non-IT alike -- think about performance, it seems the first thought can be about a performance review. You know -- like the ones you get from your human resources department and have to discuss with your manager. You meet with her or him, and you have to show how well -- or sometimes, how bad -- you did in the past year or half-year or whatever.
This isn’t the same performance I’m talking about. But in a way, it’s very similar.
In the case of HR, they’re looking at an employee of the company or organization and how well this person performed the job they were given.
In the case of an app, you’re looking at how well it performed the job you have given it. You’re also looking at how well the app responds. When a user taps the screen, how quickly does the app show the user what they need to see?
Performance is typically thought about in a couple of different ways -- one way is web performance, and the other way is mobile performance.
Both of these ways are somewhat intermingled. When you think of web performance, people are generally thinking of performance on their desktop or laptop. But when you talk about mobile performance, this refers to mobile websites and mobile apps on mobile devices.
While our focus here is mainly on mobile performance, many apps utilize backend services that send data across the web. These apps make use of SDKs and APIs that send traffic over your mobile device’s Internet connection. You have your Google Mobile Analytics, Flurry Analytics, ad networks, etc. All these things go across a device’s mobile network connection.
Whichever you’re using, there are three things you should always be concerned about when it comes to performance that you have some control over:
Your app needs to be available, right? It needs to be in the app store for users to be able to download. Once they do download it, they must be able to launch it.
I mentioned earlier the study from Localytics about the percentage numbers of apps crashing. If your app keeps crashing whenever a user taps on it on their device screen, it ultimately gets deleted.
To those users, your app is not available. So in terms of performance, you want to make sure that your app is available to service your users.
Those of us in the IT and networking space are very familiar with the term “throughput.” We know that it’s how much data an app is sending and receiving successfully, usually measured in bits per second. Whether you’re using some sort of backend service, like Google’s Firebase, Kinvey, Facebook’s Parse (Goodbye to Parse), or some other backend service to save data, the storage on the mobile device itself counts too. Whatever it is, how much data is being moved in and out of the network or in and out of storage is very important.
Every second counts!
You want throughput to be as high as possible for your app. You want it to be able to send as much data as fast as it can so that the user can see your app’s requested screens faster.
3. Response time
Response time? This is what I call the granddaddy of all performance metrics. This is the most important piece that affects performance.
When a user downloads your app, and they launch it, it needs to launch fast. There’s no room for slow here!
They start using it and going from screen to screen. Those screens need to be screaming and coming in fast for the user.
I will talk later about what users typically expect, but know that response time needs to be as low as you can possibly get it.
Whether your app is on Android, iOS, or Windows, whatever capabilities those platforms offer to make your app faster and more responsive, you need to look at using. Whether it’s going from screen to screen during game play -- whatever it is a user is doing in your app -- response time is very key and important.
In my next article, I’m going to go into some details why these metrics are important.
Can you come up with other performance metrics you can be looking at? Leave a comment below.
Photo credit: Wikimedia / Rizkyharis