Summary Good performance along with good user interface design is what gives your mobile application elegance. Having good performance also enables you to expend development capital on extending the functionality of your application. When you have good performance, you have the freedom to move your application in new and exciting directions. If your mobile application has struggling performance, it is similar to having a poor-quality roof over your head; you will spend all your time running from spot to spot patching things until you finally decide the whole roof needs to be replaced; this is not an enviable position to be in. Good performance happens by choice and through disciplined execution, poor performance happens by default. Explicitly choose good performance and make it the top goal of your mobile development efforts.Interdependencies between different modules will creep in as you write code and develop your application. The more code you write, the more the application solidifies and leaves you with less freedom to make radical changes to the system. Great performance often requires radical redesign, and the best time to fix performance problems is right when they are created. There are two ways to ensure this: (1) Have firm performance goals tied to each of your development milestones and do not declare success and exit a milestone until the stated performance goals have been met. (2) Measure and analyze your performance as you go along.All performance is subjective. If your application feels slow, unresponsive, or sluggish, it is. Pay careful attention to the details of what makes the subjective experience of using your application good or bad. For this reason, it is good to prototype and test ideas on real people using real devices. People using mobile devices demand feedback from their devices. Without device feedback in response to their requests, users quickly become anxious. Keep minimizing user anxiety at the top of your mind. Do not leave users guessing whether something is happening; let them know promptly that good things are going on inside the device to service their requests.Finally, be creative. Almost all problems are solvable given enough hard work and creativity. If you have hit what seems to be a fundamental performance limit in your algorithms, perhaps it is time to review what the core purpose of your application is and consider whether there are novel ways of achieving that goal. Great ideas come from solving problems that at first seem intractable. Thinking creatively about performance can be both fun and rewarding. |