How to Enhance User Experience by Improving Mobile App Performance
How to Enhance User Experience by Improving Mobile App Performance
What’s one of the biggest predictors of mobile app success? Performance. Here's how to whip your mobile app into shape so performance problems don’t cost you.
Join the DZone community and get the full member experience.Join For Free
Sensu is an open source monitoring event pipeline. Try it today.
What’s one of the biggest predictors of mobile app success? Performance. Here’s how to whip yours into shape so mobile app performance problems don’t cost you downloads, revenue, and brand perception.
Poor Mobile App Performance: A Horror Story
I can vividly remember one of the horrors I faced due to poor mobile app performance, which occurred while traveling across Europe with nothing but two friends, a backpack, and my iPhone in tow.
All summer long, I relied on mobile apps for getting from one place to the next. Naturally, it was essential that they work properly in order for my trip to go smoothly.
And it was pretty smooth, until one occasion when I had to book a flight for the three of us to go to Bari, Italy from Vienna.
I found a flight, and 15 minutes later (a really long time thanks to the slowness of the app), I finished going through the steps of purchasing three tickets. I hit submit, expecting to see a confirmation page that assured me all had gone well with the transaction.
Nope. The next page never loaded!
After clicking the same submit button over and over again to no avail, I entered a panicked state as I wondered what this meant for me (and my wallet!).
Did my payment go through? Did I need to repeat the process all over again (ugh)? If I did do it all over again, would I end up being charged twice if it had actually worked the first time?
Whether my fears were founded or not, it was not a pleasant experience. I stopped using the app and lost trust in the company (that I won’t name but rhymes with mice-pine).
It goes to show that just one negative experience a customer has with your app can seriously trouble or end your relationship with them.
Indeed, it’s important for apps to work well in order to maintain or elevate a consumer’s opinion of a brand because a poorly functioning app could sour it.
The findings of a 2015 mobile app user survey conducted by Dimensional Research showed that 80% of app users will only attempt to use a problematic app three times or less and 36% said that an app with slow performance issues made them have a lower opinion of the company.
In this post, I’ll explain how mobile app performance affects ratings and revenue and share tips for improving performance in order to maintain or elevate your brand’s reputation.
What Is Mobile App Performance?
Performance is one of the factors of app quality that has to do with how it behaves when experiencing certain load sizes and in various other situations. For example, does the app load slowly or crash every time it experiences a peak in user activity, like when you launch a special promotion?
Performance is a product of multiple factors: the server, mobile device, network, and programming of the app itself.
Unfortunately, a user may have a poor experience with your app’s performance, even if the cause of the issue has nothing to do with the app itself.
In the previously mentioned survey by Dimensional Research, 55% of respondents have held an app responsible for performance issues although many admitted they didn’t know what the causes of those issues were.
Why Mobile App Performance Matters
In the same Dimensional Research survey, nearly all users (96%) stated that performance is important, while over three-quarters (76%) shared that it is “very important” or “critically important.” The same study even showed that users actually care more about the performance of an app than its price.
What’s the Target for Mobile App Performance?
While there is no magic number, several surveys and studies have shown that two seconds or less is the optimal amount of time it should take for an app to load in order for users to be satisfied.
In accordance with that, according to a survey by Akamai, 47% of consumers expect web pages to load in two seconds or less and 20% expect mobile apps to load instantly.
Users are fickle.
When a mobile app’s performance doesn’t meet user expectations, there is a very high chance they will abandon it, resulting in a loss of potential revenue.
Ratings can also suffer, which leads to a decline in downloads. One app maker reported that even a 0.1 drop in an online app rating caused a 5% decline in downloads, while a 0.3 decrease resulted in a 60% drop. What a difference!
Although not terribly common, 7% of users will write a bad review if an app has errors, crashes regularly, or stops responding, and 8% will give it a poor star rating for the same reasons.
On the flip side: When your app performs well, it can be a huge money maker.
On average, mobile shoppers are more engaged, spend more, and shop more often.
Tammy Everts, a mobile performance expert from SOASTA, conducted a case study showing that a one-second decrease in page load time resulted in a 27% increase in its conversion rate.
In the same study, mobile pages that loaded in an average of 2.4 seconds enjoyed the peak conversion rate (1.9%) over a span of 30 days.
This has been reflected in many studies of web page performance as well. For instance, according to a report by SOASTA and O’Reilly, Intuit cut its load time in half and saw a 14% increase in conversions.
In another example, after increasing page speed by 60%, President Obama’s fundraising site raised an additional $34 million for his campaign in 2011. Evidently, performance is important for all apps (web or mobile) and for everyone … even if you are the President of the United States!
In short, any company that produces web or mobile apps should make performance a primary concern, integrating performance testing as a mandatory part of the QA process.
It is no wonder, then, why many tech companies are hiring performance testers in order to stay competitive. That being the case, if you’re looking for a new skill to learn or a career change, you may want to consider becoming a certified performance tester!
Tips and Tricks to Improve Mobile App Performance
Now that we’ve covered the need for superior mobile app performance, let’s look at some of the ways to enhance it. Some are easier to implement than others. But if made, these changes will be worthwhile.
Caching is a part of a computer’s memory that stores recently used information. It can store web pages, images, files, etc. on its local hard drive to provide rapid access to them while improving performance and decreasing traffic on the network.
Downloading external resources takes time, so make sure to cache your images.
Compress and resize images
When you compress an image, you minimize its size in bytes without greatly degrading its quality. There are several sites that do this, but the one I typically use is compressor.io.
Also make sure that the size of the image is right because it’s a waste of bandwidth to rely on the browser to scale a high-resolution image into a smaller width and height. So, you want to make sure images are adequately sized and ready to go off the bat.
Re-Use Data templates
When the app has to load multiple templates, that slows it down. To make the app faster, load fewer templates by reusing them.
Reduce HTTP Requests
Use fewer HTTP requests required to fetch the resources for each page in order to simplify things for your app.
Use Loading Validations
People perceive load times as 15% slower than they actually are. So, even perception of performance matters.
Make your app load in a way that makes it seem to be going faster, even if it isn’t!
One way to do so is to have it provide some visible, instant feedback as the application waits for the background response. Putting something up during the loading process will give users the perception that it’s loading quicker.
Load Data as You Need It
If your app requires a large amount of data, it’s useful to only load it as you need it. Don’t make the user wait longer than necessary to start viewing parts of the app.
Splitting up the assemblies will help accomplish this. You could also pre-load/pre-fetch data, if possible, so that when the data is needed, the user doesn’t have to wait.
Create an Offline Mode
In the event that the network connection drops while the user is in the middle of completing an action, it’s smart to alert them as to why their action cannot be completed. Then give them the option to save the data for later, so they can resume the activity once the connection has been re-established.
This will at least give them some peace of mind — certainly more than I had when I experienced my own problems with the travel app!
Test for Performance Early and Often
Apps must undergo all sorts of testing to ensure that they work as intended, are compatible across devices and networks, etc. They should also be rigorously tested for performance and monitored frequently.
One misconception that many developers have is thinking you have to wait until the end of development to start the testing process. It’s actually a time and cost saver to test as you go, when bugs and performance issues are smaller and easier to fix.
Use the Right Tool for Performance Tuning
There are several tools on the market to execute mobile performance tests, but my favorite is Monkop due to its ease of use for testing Android apps.
You simply upload your .apk and, if you so chose, test data and scripts (although not necessary). Monkop then tests your app for performance, security vulnerabilities, and functionality on multiple real devices.
It’s a great performance tuner because it runs a deep performance analysis that includes checking response time and resource consumption (cpu, memory, data transfer, render, database, etc).
It then sends you a report with everything you should know about your app, its weaknesses, and how you can fix them.
Put an APM (application performance monitoring) system in place
APM refers to the monitoring and management of performance and availability of software applications. APM helps detect and diagnose deep-level application performance problems to maintain an expected level of service across the board.
It monitors two sets of performance metrics: those that have to do with the performance the user experiences (like average load times) and those that measure computational resources that the app uses for the load.
Make your company’s culture performance-centric
As TechBeacon editor Todd DeCapua has stressed many times, performance is now everyone’s concern from the engineering department to the marketing department.
Organizations should get behind the attitude of testing early and testing often.
If all stakeholders support the vision of having high-performing apps, it will be easier to devise a plan and stick to it. It’s also important for everyone to be aware of the causes of slow performance so that issues can be detected and remedied sooner.
Mobile app performance directly affects user retention rate, ratings, number of downloads, conversions, and ultimately, revenue.
If you commit to creating a high-quality app that meets or exceeds user performance expectations, your users will want to use it over and over again, elevating their perception of your brand and strengthening the relationship they have with it.
Published at DZone with permission of Kalei White . See the original article here.
Opinions expressed by DZone contributors are their own.