With a projected 7 billion mobile users by 2021, mobile is becoming the most dominant digital touchpoint for customer engagement. Annual mobile app downloads are projected to reach 258 billion by 2022 — a 45% increase from 2017. But downloads alone do not indicate mobile success — retention and engagement are key. While there are many factors that influence these metrics, application performance may be one of the most critical.
Application crashes can increase churn and damage brand reputation. In fact, app crashes cause more than 70% of uninstalls. Because Google ranking algorithms now downrank apps with stability problems, uptime and performance can even influence download metrics. It is imperative that organizations are delivering high-performing mobile applications and that the developers supporting those applications have the ability to identify and remediate errors efficiently.
But due to the growing complexity of the application ecosystem, this can be easier said than done. Developers are often limited by a lack of visibility and control over mobile devices. They have no way of knowing every device’s attributes or predicting which other apps and system processes may be competing for compute power. Mobile app developers are no strangers to segmentation faults and bus errors. And programming for such a diverse array of devices creates its own set of challenges. Flaws in native code, third-party dependencies or, in rare cases, even in the system libraries, can bring down the entire application.
Developers today are under pressure to deliver code faster than ever before. Even when rigorous testing processes are in place, the increasing complexity of application development will inevitably cause errors. Monitoring is an important component of application delivery, but the changing ecosystem calls for the reinvention of application performance monitoring that incorporates rich context and actionable insights.
Rethinking Application Performance Monitoring
While companies with faulty code are dealing with the fallout, those that rely on modern application performance monitoring (APM) are shipping better code more quickly and with less risk. Legacy monitoring tools focus more on system behavior, offering performance metrics on availability, throughput, and latency, but miss the mark when it comes to actionable insight that helps mobile developers make sense of complexity and quickly get to the root cause of errors.
On mobile — as with all native applications — it is important to have context beyond a crash. Developers need rich details supporting the error, such as the types of phones impacted, the number of users impacted, the specific actions a user took when the error was thrown, or even the storage capacity and battery life of the user's phone at the time the app crashed. These details are especially important for mobile developers because of the vast array of devices and native libraries used in programming. Having this information enables them to immediately triage and prioritize problems.
When developers can also identify the exact release and commit the error is tied to, they can quickly remediate the issue to minimize the breadth of impact. Developers can also move this feedback into the development cycle. By capturing every single exception and crash users encounter, meaningful trends will surface to help prioritize issues and avoid replication in future software release.
It is also important to consider that modern applications are not self-contained — they have multiple runtimes across the stack, causing added complexity in monitoring. Support for mobile, coupled with similar support for web, gives developers a complete picture, which is key in today’s application-centric landscape.
Innovation in the mobile space shows no signs of slowing, so developers must take proactive steps to address the factors that derail mobile app development and wreak havoc on user experience. By taking a modern approach to APM, incorporating rich context and actionable insights, and syncing this information across all of their applications, developers can code better and faster, ensuring their companies remain successful and competitive in the mobile world.