3 Challenges Mobile App Developers Must Tackle
There are millions of mobile apps. How can developers ensure their mobile apps get adopted and used?
By Jarrett Bariel, Push Technology
The iOS, Android and Windows app stores are overflowing with games, educational resources and even critical business tools. As of July 2014, there were 1.3 million apps available to Android users alone!
With so many options available, mobile users are discerning about which apps they download and keep, prioritizing those with fast load times and engaging user interfaces. As a result, only 20 percent of apps are used more than once after being downloaded; the rest are deleted in favor of more performant apps.
To succeed in this competitive environment, application developers are realizing they must improve the performance of their apps across the board. Looking at speed, scale and power, below are some of the most prominent challenges facing developers today that should be tackled head on to achieve the most optimal app performance.
App Performance Reigns Supreme
Historically, users have had little patience for webpage load times; 47 percent of users will abandon a website that doesn’t load within two seconds. That trend has carried over to the mobile landscape in recent years, with almost half of consumers expecting mobile apps, websites and other content to load on their devices in two seconds or less. For developers, that can be a daunting challenge, especially as they face rising data levels from next-generation technology like the Internet of Things.
To the consumer, though, it doesn’t matter whether an app needs to load a few megabytes or even petabytes of data. They just want fast load times. If an app takes longer than three seconds to load, 40 percent of users will abandon it without a second thought.
Developers should look at data to help solve this challenge. If an app requires large amounts of data, it will need time to load on a user’s device. To improve speed and load times, think back to the evolution of webpage development, where speed has plagued developers for years. As the webpage became more complex, pages required larger and larger data packets. Developers discovered that they could create static landing pages that live in devices’ historical memory and then load updates on top of that. That meant that each navigation or change required a much smaller amount of data processing, dramatically increasing performance speeds.
The same concept holds true for app development. If a user is playing a game, the app will automatically load the latest move, without reloading the entire interface, reducing the amount of data that needs to be sent to a device and ensuring the app runs quickly and efficiently.
Usage Peaks a Blessing and a Curse
Once a mobile app has been released into the market and starts to gain traction with users, development teams typically breathe a sigh of relief. After all, the hard work is finished! But, not so fast. The work doesn’t end once an app is deployed and, for some, it may be just beginning.
Take, for example, StubHub’s app incident last year on the opening day of major league baseball season. Due to higher-than-expected traffic, StubHub’s app crashed under the stress of high demand, resulting in frustrated fans and lost sales to competing apps. Planning ahead for the popularity of its app on this critical day could have saved baseball fans – and ticket sellers – a lot of headaches.
Once an app is released, developers need to continuously re-evaluate its performance level. A truly performant app facing a sudden increase in user adoption has to scale. Back-end cloud technology can help protect against sudden jumps in usage by adding or removing resources as needed when traffic levels change.
This cloud bursting model is advantageous because it helps businesses only pay for the extra compute resources that are needed and puts the app user experience first. In fact, developers can set scaling rules that automatically run behind the scenes so that they save on resources and, in most cases, cut down costs.
Mobile Device Power Limitations
Addressing the performance issues of speed and scale will only help if an app can work against the physical challenges of the mobile device itself – namely, battery life. U.S. adults spend up to three hours per day on their mobile devices, making resource utilization a key concern for developers.
A consumer won’t keep an app that drains device battery life. In fact, they’re likely to realize that a poorly written app is zapping their battery life, and they’ll end up deleting the app to make room for those that can run on minimal battery power.
Resource efficiency begins by looking at how much data needs to be loaded for an app to run. One solution is to minimize redundant downloads. For developers, this means implementing a subscription model on clients that will display changes only when they are updated by the publisher (server). This limits the data that needs to be returned to an app from the server side.
Similarly, reducing the size of the content that needs to be delivered can help optimize performance and user experience. For instance, decreasing the size of images on the server side will mean less data that needs to be sent to a user’s mobile device – saving battery life in the process. By planning ahead for resource efficiency, developers can maintain a high quality app experience and safeguard an ideal battery life.
Meeting Mobile App Challenges
In the end, these are just a few of many factors that mobile developers need to account for to ensure optimal app performance for their users. But by addressing fundamental changes early on within the app development process and continuously reevaluating the performance of an app, developers can ensure they provide the best possible user experience and hopefully gain an advantage in the marketplace.
Jarrett Bariel is senior field engineer at Push Technology. Jarrett has spent more than 10 years working in a variety of industries in both business and technical roles, from architecting and developing APIs to leading development teams. For the last four years, Jarrett has primarily consulted clients on how to architect, design and implement technical solutions. He has worked directly with organizations like the European Space Agency, the BBC, NBC Universal, Corbis Motion and IBM, to bridge the gap between business and development requirements.