Magic Numbers for App Performance

Magic Numbers for App Performance

App Performance: The Magic Numbers

How fast is fast enough? How slow is too slow? App performance is the top priority for most app product managers, but most don’t know why performance is so important, let alone how to interpret those numbers. Here is an introduction to the what, why and how of app performance numbers.

Performance means many different things to different people. We are talking about speed. How long does it take to from the time you launch an app, until it is completely loaded and ready to do your bidding? How long does it take to show that menu when you tap? How long does it take to load that post in your feed? That is what matters. Users don’t forgive your app if it has a slow server, or has lots of graphics that take time to load. Users don’t care if your app has to check the network for the latest news before you can show it to them. Users expect apps to be fast, and all they care about is what they see. 

If the user doesn’t notice, it doesn’t matter

Apps are designed for people. Every moment the user is waiting for an app to respond, is a moment they consider quitting the app, or just moving on to something else. The good news for app teams is that people are organic?—?they can’t detect delay if that delay is small enough. It takes some time for light to hit the eye, pass through the visual cortex of the brain, and be there long enough for the image to be passed up to conscious processing. Your app can look ‘instantaneous’ even when it is not. Very few people can detect delays less than 100 milliseconds. That is 1/10th of a second. You have full 1/10th of a second when your app to do anything it likes without anyone noticing. Granted, thats not much time, but that phone is a supercomputer and apps can often load images and most data that is already downloaded or cached in the app just in time for the user to think it was instantaneous. Many of the best apps are able to complete over 90% of the actions in their app in less than 30ms. Here is the timing profile of a well written, fast as lighting app that even has to talk to the network on each launch. There are no excuses?—?it is possible to be this fast…


Very few people can detect delays less than 100ms.

When do most people notice ‘lag’? 300 milliseconds. About 80% of people will notice something as delayed if it takes more than about 1/3 of a second. There are few interesting things about this 300ms point. If you have something in your app that takes 200ms or less, you probably won’t gain much from improving your apps performance in that area. If you have areas of your app that take longer than this to load, your users are noticing. There is no official data, but the longer your app takes to load the more likely users are to abandon your app, get frustrated and post a negative review, or even switch to a competitive app. 

A study by Twinprime shows over half of users abandoned a mobile transaction last year. 37% of those abandoned transactions were due to app performance. A little math shows that an estimated $9B dollars in potential transactions were abandoned due to app performance in a single year. Glancing at the timing measurements for this popular coffee app--how much money might performance have cost them last year?


Most people notice delays greater than 300ms

Performance impacts your bottom line. Statistics on mobile apps are sparse but we can learn from web page performance surveys to get an idea. If we had great mobile statistics, we’d like see that app user’s patience is even less than that for desktop web pages (Data from Kissmetrics)

  • 40% of people abandon a website that takes more than 3 seconds to load.
  • A 1 second delay in page response can result in a 7% reduction in conversions.

Where does lag come from? There are many sources of performance issues, from slow content servers, to mobile networks, but more often than you would think?—?the app itself. If an action in your app requires a network call, it is best if you can preload the data in the background before the user asks for it, so they don’t feel the pain of the network. Here are some real-world, and typical numbers for a popular app that represent how much lag is attributed to each portion of a network-dependent action.


A typical network call will cost at least 1000 milliseconds, and users notice.

The lesson of this timing chart is to never make network calls in realtime. Most apps make unnecessary realtime calls to the network and don’t do enough pre-caching of content. If your app has to make a network call on demand, make sure your servers are fast, you make only one call, the content is cached, and you spend as little time as possible updating your UI with the data from the server.Abandonment. That’s such a sad word, but app users will abandon your app if your launch time is slow too. We have been talking about the performance of actions inside the app, but what about launch time? Users are a bit more patient and understanding about an apps launch time, but they will abandon your app if it is slow. About 60% of users expect an app to launch in less than 2 seconds. If your app is taking longer to load, even if it has a beautiful spinner or splash screen to trying to hide the delay, users will give up on your app.

60% of users expect an app to launch in less than 2 seconds

So, what are the magic numbers for app performance? 100ms, 300ms, and 1second and 2 seconds:


Keep these in mind when developing your app, deploying your server, and designing your app’s user interface.

—?Jason Arbon, CEO Appdiff.com

To get a free, automatic and detailed performance report for your mobile app, see us at Appdiff.com. Appdiff lets you see where your app’s user experience needs urgent attention, and makes sure your app will never get slower. Appdiff makes it easy to track your app’s performance on every new version with no code and no setup, just great data and insights. Help us make the app world a little bit faster say hello: [email protected]

Example, Appdiff performance report:


References:

Costs: Kissmetrics Data

Twinprime study on abandoned transactions

Foursquare Engineering blog post breaking down performance issues.

Launch timing, Compuware Study

要查看或添加评论,请登录

Jason Arbon的更多文章

  • AI Coding Agents--Websites Tested

    AI Coding Agents--Websites Tested

    The hottest demos these days are AI Coding Agents — and the competition among them is fierce. These AI coding…

    1 条评论
  • 2025: AI in QA Predictions

    2025: AI in QA Predictions

    Every QA professional will need to demonstrate how they’re leveraging AI in 2025. The technology is accelerating…

    19 条评论
  • AI and the Testing Triad

    AI and the Testing Triad

    ‘AI Testing’ represents a new category of software testing. Until now, testing has existed as a duopoly of Manual…

    21 条评论
  • AI and Testing Podcast: STARWest Keynote

    AI and Testing Podcast: STARWest Keynote

    Ever feel like you blink and the tech world's moved on without you? Yeah. Well, buckle up, buttercup.

    12 条评论
  • QnA: AI for your Testing Career

    QnA: AI for your Testing Career

    There were too many questions to get to during my session at #TestMuConf 2024 Conference presentation, that we couldn't…

    2 条评论
  • AI’s Testplan for CrowdStrike

    AI’s Testplan for CrowdStrike

    We’ve heard a lot about the Crowdstrike issue from human engineers and testers — but, surprisingly, we haven’t heard…

    4 条评论
  • AI Changed My Coding Style

    AI Changed My Coding Style

    I’ve found that coding with an AI partner has dramatically transformed my coding practices and style?—?some of those…

    4 条评论
  • GPT4o: Safety Tests Start to Fail

    GPT4o: Safety Tests Start to Fail

    A test suite monitoring AI safety just starting failing— not sure what to do. Test results are up at https://www.

    9 条评论
  • Testers Discuss AI

    Testers Discuss AI

    Thanks to Marcel Veselka , Juraj ?abka for a fun conversation that spanned AI, and the future of testing. makeITfun…

    7 条评论
  • AB Testing Podcast: AI (Part 2)

    AB Testing Podcast: AI (Part 2)

    Thanks again to Alan and Brent for inviting me to geek out with them--always a blast because they are amazingly open…

    7 条评论

社区洞察

其他会员也浏览了