Optimizing Performance for Native Mobile Applications
Optimizing Performance for Native Mobile Applications
In recent years, companies have put tremendous effort into improving the performance—that is, the speed and reliability—of their mobile sites and mobile Web applications, with the goal of driving sales. This is not surprising, given the sheer size of the mobile commerce opportunity and the fact that an increasing percentage of overall online commerce sales are occurring through the mobile channel.
In a recent survey, 49% of smartphones and tablets owners said they will be using their mobile devices this holiday season to search for and buy gifts—an astounding 200% increase from last year's holiday shopping season.
Clearly, mobile site and mobile Web apps are important—but strong performance for native mobile applications is essential. The aforementioned survey found that more than one-third of smartphone and tablet users will be using company-specific native mobile apps this holiday season. Since app users tend to be loyal—repeat customers with significant lifetime value—the stakes for delivering highly satisfying, high-performance app experiences are huge. In spite of this knowledge, native app performance snafus—for example, crashes, freezes, errors, slow launch times, apps that never properly launch — are common.
How can companies better protect and enhance the performance of their native mobile apps? Consider the following:
Recognize that wireless networks and devices aren't always conducive to excellent performance. Native mobile apps may be preinstalled on a device, but ultimately these apps can only run as fast as the network allows. So, companies can't just test native app performance over WIFI and assume their end users are having an excellent experience. Rather, companies need to assume the lowest common denominator of wireless network capabilities and measure the true end-user experience at the most likely connection speeds, including dial-up.
In addition, developing apps for mobile devices requires close consideration of the constraints of these devices. A tablet, for example, may be a lot more functional than a basic smartphone. But, if basic smartphones are prevalent among a customer base, the performance of a native mobile app must be assessed from the perspective of this lower-end device user in order to truly reflect what users are experiencing.
Proactively monitor performance for all native app downloads, 24/7. Companies need to know what's going on with their native apps at all times, especially when performance is going awry. It's not ideal to discover something is wrong only upon seeing a one-star rating in an app store. By then the damage to company reputation is likely already done.
In addition, the very nature of native mobile applications—often accessed by customers on the go hunting for deals—places an ultimate premium on speed and convenience. The worst thing that can happen to an end-user is that an app crashes or shows error messages. Capturing crash reports for individual failed mobile visitors is essential for identifying and fixing functional problems before a larger number of users are impacted.
Use common monitoring practices for native apps and mobile Web apps—even though one is native and the other is a standardized Web technology. Specifically, this means that companies must combine end-user experience monitoring across multiple app versions and device types with deep-dive diagnostics. Mobile Web applications depend on a wide range of Web and network technologies performing well, including carriers, ISPs, and CDNs.
Native apps depend on these same factors, as well as an additional set of factors including signal strength, battery level, and device memory. Even if a native mobile app is built with excellent code, there are a host of other external factors that can impact performance. Regardless of the type of app, there needs to be an end-to-end view of performance from the end-user perspective so that companies can quickly see, understand, and address the source of performance problems—whether it's a code issue or something else.
Take end-user performance information to the next level. As with mobile Web apps there are free tools available to help monitor real end-user native mobile app experiences. But going beyond end-user performance monitoring, these tools reveal valuable performance trend information and patterns over time, such as which version of an app performs best and which device profiles and geographic regions are the strongest and weakest adopters of an app. This type of information can be used to prioritize testing across various devices and browser versions, as well as guide smarter business decisions.
For example, companies can note if the latest version of their app represents a significant performance upgrade, or if it's zapping battery and memory too quickly to result in any performance advantages. By having this information, companies can then adjust their marketing strategies accordingly—for example, to prioritize marketing one version of an app over another. As another example, a company may notice application usage trends in particular regions and countries. This information can help you understand where you may need to prioritize your application marketing and visibility efforts.
Even though a company may offer a native app, recognize that people might not use it. It can be wrong to assume people are going to download a native app just because one is available. Consumers routinely use both forms of mobile native apps and mobile Web apps, and if they're rushed, they might go straight for the mobile site versus taking the time to download a native app. Delivering a superior mobile experience all around presents a tremendous business opportunity. To succeed in today's mobile world and comprehensively reach engaged end-users at or near the point-of-sale, companies can't “put all their eggs in one basket,” so to speak. Instead, they need to focus on performance excellence in both areas.
On a related note, many organizations deploy “fall back” strategies for native mobile apps, including switching to Web views when a problem is detected that may take some time to fix, like a coding issue. For obvious reasons, the mobile end-user interaction should be as consistent and high-quality as possible when toggling across touchpoints.
To sum it up: Where native mobile apps are concerned, companies face tremendous performance pressures. The challenge of managing and maintaining performance across multiple app versions and devices can be quite daunting. Fortunately, by leveraging performance management techniques carried over from the realm of desktop and mobile Web apps, companies can more effectively ensure highly satisfying user experiences with native mobile apps.
Overall, this enables companies to spend less time troubleshooting, get more positive reviews, and focus time and attention where it matters—on developing new features for the app and growing the user base.
Klaus Enzenhofer is a technology strategist for the Compuware APM Business Unit.