So you’ve probably seen the many white killer/task management applications on the Apple® App Store and the Android™ Market, there are currently at least 15 on the market. These applications are designed to show mobile app users what uses the most battery and space on their devices. The lesson we can learn from the many task management applications in the marketplace? People care a lot about performance. The good news is that there are a lot of things mobile app developers can do to enhance the performance and user experience design of their apps.
Networks & Processors
One of the biggest considerations to optimize these is to consider the platforms, processors and networks. Different hardware on different platforms will be targeted to different markets. Meaning a Droid X and a Droid Incredible might appeal to two different audiences. If you know that the application you are creating will likely target someone using the Droid Incredible, try to consider the processing capability of that device. It’s not always as easy as targeting the performance to a particular processor, but try to target it towards a median and you’ll have a good starting place for optimal performance.
Another way to optimize performance for your mobile app is to circumvent the network whenever possible. This means that the app will live locally, and rely mostly on the processing capability rather than the network.
Graphics, Audio & Video
Compression and limited media will be your biggest friend in the speed department, because they always come with huge file sizes. This can be somewhat of a battle because one of the most interesting parts of an app is how it looks. Here are some of the ideas that the W3C had in reference to ‘Optimizing Response Time’ for media:
- Aggregate static images into a single composite resource (sprites)
- Include background images inline in CSS style sheets
- Make sure to save image files are saved in PNG, in ‘Flat File’ form
According to the Android Developer Development Guide, the two biggest principles a mobile app developer can follow is:
- Don’t do work that you don’t need to do.
- Don’t allocate memory if you can avoid it.
While these two suggestions sound somewhat obvious, think how easy it is to commit both of them. The problem is that often people with great app ideas and mobile app developers get bogged down in the code, or too many features get added. The foreshortened term ‘app’ should help you think about the function of your app, it is a ‘shortened’ version of a regular application. Which means it doesn’t have to have everything but the kitchen sink.
Additionally, the W3C released “Mobile Web Application Best Practices,” which includes a section on ‘Sparing the Network.’ Some of the best bits of advice we found were:
- Use transfer compression to reduce network bottlenecks
- Cache resources by fingerprinting resource references
- Cache AJAX Data
- Minimize External Resources
- Avoid redirects to minimize latency
To optimize your app performance, finding a qualified mobile application development company is key. They will not only be able to translate your needs into a mobile framework, but conduct the development for speed, performance and usability.