App Performance Is Essential For Mobile Startups
Modern startups must often go mobile. They also benefit from seeking minimum viable products (MVP) that can get to market quickly and immediately create value for customers. However, in the rush to get to market, it is very easy to ignore performance issues.
An application that works well in a test environment may grind to a halt if a user has been running it for a while. In order to avoid user performance complaints down the road, a mobile startup should pay attention to the following topics.
On an iPhone 4S, 40MB of memory consumption is enough to draw a warning and 213 MB will grind things to a halt. Even with iPad 3’s relatively sizable memory, 550MB is a point of no return for an application.
In order to maintain the type of compactness and energy consumption that has made them ubiquitous, mobile devices will always be limited in memory. This means that developers must be very smart with memory allocation, usually being more careful about instantiating objects than with a desktop or server.
There is sort of a Catch 22 with mobile development: we must mind the memory limitations of the systems, but we must also cache as much as possible. This is because accessing data over mobile network forms a serious bottleneck. Latency will kill an application if it continuously pulls in data, meaning that app performance depends upon downloading as much useful data as possible in “bursts.” It is a difficult balancing act considering that it takes only a few dozen MB to choke down an app.
Modern mobile devices tend to have multiple cores. Given the fact that memory AND mobile network latency are deal breakers for app performance, mobile developers cannot avoid good concurrent programming techniques. Mobile developers must do everything they can to avoid blocking on a main thread. Android allows developers to leverage any experience that they have with Java multithreading. iOS accomplishes concurrency using Apple’s technology called Grand Central Dispatch (GCD).
At the end of the day it’s important to understand that while business demands may push mobile, you need to plan mobile as part of your overall strategy instead of assuming your web product can be “mobile” with a few CSS tweaks