Join CTO Moataz Soliman as he explores the potential impact poor performance can have on your bottom line. 👉 Register Today

ebook icon

App Performance

General

iOS App Performance Monitoring Best Practices

When we talk about iOS app performance, the term "performance" can mean just about anything, but you hear it all the time. Anything and everything can be related to performance. In this specific case, we're talking about technical application performance monitoring. This is still a broad term when it comes to performance monitoring — should you be looking at CPU usage? Stability? UI speed? The quick answer is yes! Understanding how your app performs from a technical perspective is vital to understand the user experience it offers, but doing so isn’t very straightforward and requires a lot of detailed context to help make sense of all the raw data.

Before we get into details of the how to monitor your iOS app performance and what to use for it, let's take a quick look at why the importance of app performance cannot be understated.

In this post, we're going to examine the following key aspects of iOS mobile app performance that need to be monitored. The list can go on and on with increasingly specific metrics, but these cover the main technical iOS performance monitoring metrics.

  • Stability
  • App launch time
  • UI response time
  • Network performance
  • Logic execution speed
  • Aggregated performance

iOS Performance Monitoring Metrics and Targets

App stability

App stability is measured in crashes per session or user. The industry standards for crash-free rates to target are:

Crash-free users > 99 %
Crash-free sessions > 99.95 %

One of the best ways to both monitor and help improve your app’s stability is with a crash reporting tool.

Instabug lets you know your crash-free rate and monitors crashes occurring in real time. By catching upticks in crashes before they affect a majority of users, you can quickly adapt to many issues. Instabug’s crash reporting also gives you a detailed breakdown of why a particular crash is occurring, along with a complete stack trace to resolve issues.

Additionally, Instabug gives you visibility over other fatal stability issues like Out Of Memory (OOM) and (ANR) errors, capturing their detailed context and allowing you to easily debug them with tools like flame graphs and AI SmartResolve.

App launch time

App launch speed is very indicative of the overall quality of your app and sets the user’s first impression. Based on an analysis of the top 100 apps, 39% complete a cold app launch in under or around two seconds, and 73 in under three seconds. Ideally, you should be targeting a cold app launch time of 1.5-2 seconds, a warm app launch time of under 1 second, and a hot app launch time of under 0.5 seconds.

Of course, your mileage may vary depending on the nature of your app. With Instabug APM, you can set your own threshold for the app launch time you’re trying to achieve. And based on that, you can see if it’s poor, average, or good and easily determine if slow launches are related to app versions, devices, or OS versions.

Learn more about cold, warm, and hot app launches.

Learn more about optimizing mobile app launch time.

Network response time

Network calls play a huge role in the speed and responsiveness of your app. Studies show that to be competitive, your app should respond to user requests within 1 second. It also indicates that many apps fail to meet that due to unreliable or slow services.

Because Instabug’s SDK is built with iOS devices in mind, you can track the full round trip of your network requests as seen on the client-side and be alerted to timeouts and issues. Most APM tools will settle for tracking server-side, but this won't give you the full picture. And for even more control and visibility, with Instabug APM you can also track custom URL patterns.

Learn more about optimizing mobile network performance.

Logic execution speed

To best understand your end-user experience, you need to be able to assess your client-side logic and see how long specific traces in your app take to execute. On average, key traces should be completed in under two seconds.

To help tackle these issues, Instabug’s performance monitoring lets you define custom execution traces to track, and you can set target thresholds for your traces.

UI response time

Users can experience UI hangs for various reasons. If there’s a longer than usual delay (250ms on average) or a failure to respond to a user’s input, it’s considered a UI hang.

UI hangs interrupt the focus of your app's users, increasing their cognitive load and delivering a choppy performance. You should aim to detect and fix them as soon as possible before the negative reports and comments start streaming in. Instabug APM gives you a detailed distribution of UI hang occurrences per screen to help you easily identify where your app’s UI is unresponsive.

Aggregated performance

To gain a bird's-eye view of your app's performance and align your team over a north-star KPI, you need to combine all these different metrics. The Apdex score serves as a quick tell-all score that highlights your app’s overall performance as perceived by users and makes it much easier to align the team around one KPI and communicate it to all stakeholders.

Instabug’s app Apdex score tells you whether your app’s overall user experience is Unacceptable, Poor, Fair, Good, or Excellent, and you can track it over time and across versions. For more granular analysis, you can also see individual Apdex scores for app launch, specific app traces, and specific network requests.

Learn more about the Apdex score.

Boost your iOS App Performance With Instabug

Instabug APM helps you take a proactive approach towards improving quality instead of waiting for a crash or error to occur or hearing negative feedback from users. You’ll be able to identify possible bottleneck situations and keep your app running as fast as possible. By staying on top of monitoring, you can allocate and adjust resources to keep your app performing to the best of its capabilities.

Learn more:

Instabug empowers mobile teams to maintain industry-leading apps with mobile-focused, user-centric stability and performance monitoring.

Visit our sandbox or book a demo to see how Instabug can help your app

Seeing is Believing, Start Your 14-Day Free Trial

In less than a minute, integrate the Instabug SDK for iOS, Android, React Native, Xamarin, Cordova, Flutter, and Unity mobile apps