I’ve been thinking a lot about the behavior of the bookshelf app I helped build recently, in particular two functions: the document loading and performing a search. iBooks was generally used as the benchmark for app performance. I don’t think there’s anything wrong with that, though it’s probably safe to say that Apple’s apps are allowed much freer access to system resources than, so matching them might not be a realistic goal.
What’s important, though, isn’t necessarily that we’re as fast as iBooks, but that we give the illusion of it through what Luke Wroblewski calls “Functional Optimism.”
The basis of this principle is that the app assumes that the user’s function will be successfully performed and responds immediately with an animation.
On loading, iBooks has a slower opening animation (the book comes forward and then flips open)–I’m assuming that the document is loading in the background during this–then allows users to immediately begin reading pages as they load. The app assumes that it will all load eventually, and doesn’t bother users with the details.
When searching, iBooks provides an animation where the results window pulls down, before any results have actually been loaded. Because it’s so immediate and responsive, the animation gives the illusion that the search is faster than it actually is.
Incorporating one or both of these techniques would similarly help our own apps feel faster.