Much has been written about the iPhone’s lack of ability to run third party apps in the background, a limitation that has likely been imposed to conserve CPU, RAM, and battery. This is something that will undoubtedly be made possible with a future hardware upgrade (potentially as early as the next iPhone), but in the meantime, are there any ways to improve the user experience with only a software upgrade?
My proposal has nothing to do with running apps in the background, but rather, to improve the way the native out-of-the-box apps run in the foreground. As an iPhone user, my ultimate annoyance is receiving a text message notification while using an app, and not being able to reply to the message without exiting the app. The proposed solution (demonstrated in the video below) has the messaging interface open up in the foreground when “Reply” is tapped, rather than exiting the app. It is my assertion that this task is light enough as to not cause any performance problems in terms of CPU, RAM, or battery.
Notice that the messaging interface is a “lite” version of the stand-alone messaging app. The Edit button has been replaced with Done, and the ability to step back to view all conversations has been removed. These limitations are imposed to keep the user as focused as possible, and to prevent them from delving into other conversations while an app remains opened underneath.
The same concept could be re-used for the iPod app. Double tapping the home button to summon the iPod pop-up dialog is a great touch, but it could be taken a step further if the user had the ability to select a track from their catalog, rather than just the standard play, pause, advance forwards and backwards options.
I believe these improvements fall directly in line with Apple’s modus operandi: start with something simple and build on it. This philosophy as it pertains to Apple was given a great run-down by John Gruber over at Daring Fireball a few months ago. The quotation of Gall’s Law that starts off the entry is especially relevant to this blog:
“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”
(Bonus points if you catch the reference in the video).