Part of the Smart.fm iPhone App Story
Update: The app was just released. Download it from iTunes now.
When last we posted about the Smart.fm iPhone app the team had moved from design into development. In the few months since we have been hard at work bringing our ideas to life. The combined team, working across many time zones and many miles of ocean collaborated almost daily. We tackled issues on the server side. We tackled issues on the device. We tested scenarios and we tweaked the design when implementation revealed new ways to solve problems. During app development I’ve taken note of some themes that arose time and again. Here’s four that stood out.
A great experience is responsive
Software that looks good and works right will fail if it is not fast. With a mobile experience this is especially true. Mobile devices are inherently more resource constrained than PC’s. Users expect to dive into an app on their phone, complete a task and then get out. Seconds count. Heck, milliseconds count. In building the Smart.fm iPhone app the team likely spent more time on performance tuning than anything else. As an Internet connected service, the app is constantly downloading information over the network. We had to find techniques to download just what’s needed in the moment. API tuning improves download times and client-side caching reducing the amount of downloading needed. The final design for data synchronization results in the user seeing some shorts bursts of network activity while browsing around. Taking advantage of this pattern, the team came up with a clever “loading” animation. If we did our job well, the burden of waiting for a download will actually help to make the app feel even more fun!
A great experience is correct
The Smart.fm app is designed to work a lot like the iPod app. A user has numerous goals with many items. They select a goal and begin studying it with the learning game Alexa described earlier. If a user leaves the game, either by returning to browse goals or by quitting the app then their state needs to be saved and resumed at a later time. In addition, the user’s study progress needs to be synced back to the Smart.fm web site so that they can continue learning on a PC. And wait! What if the user studied that same goal, or another one in the mean time… download that progress and figure out the user’s total progress across all goals. And wait! Since goals are “alive” other users might have added new items, so download them too.
What seems like a pretty simple app design on it’s surface reveals quit a bit of complexity during implementation. I think we all know of applications that offer plenty of utility are are unusable due to bugs. It goes without saying that errors in software are not a good experience. During the development of this app we worked diligently to test and remove bugs…. and test and test and test. The hope is that our users get an error-free experience that lets the fun shine though.
A great experience is choreographed
Brandon Schauer always talks about the cupcake. In fact, I find it hard to get him not to talk about it. And to be honest, I love the metaphor; it’s infectious. The concept is this: a cupcake, a birthday cake and a wedding cake are each perfect in their own scale. A cupcake may be smaller than a wedding cake, but it is no less delicious. You take a bite and are completely satisfied. The cake, the icing and the decoration on that cupcake is just right. Perhaps you’d like a second helping, but you don’t wish you were eating a slice of birthday cake. The cupcake is small, but complete.
During the development of this iPhone app the team had to cut some features due to time and resources. In deciding what to remove, and how deeply to cut, we need to ensure that the app was still tasty and satisfying. A Smart.fm app that didn’t allow a user to study would be incomplete for sure. But what about some of the social network aspects of the service? Could those be removed from the first version without it feeling lacking? What about multiple types of quiz games… do we need those too? What’s the cupcake of a Smart.fm iPhone app?
A great experience ships!
I’m happy to say that the iPhone app has been submitted to Apple and is very close to being in your hands. There is always a time at which a developer must decide that their work is refined enough for customers to use. The hope of course is that this time is not dictated such that the application is incomplete or full of bugs. Our team was able to work towards a ship date that allowed both the freedom to “do it right” and “just get it done”. Screenshots of the app are available at http://smart.fm/iphone. Early in November we anticipate seeing a smiling Smart.fm owl sitting in the iTunes app store. Thanks for all of your interest and patience!
On a personal note, I want to say that it has been a joy working with the Smart.fm team. Not only does the service live up to it’s name, but the folks who work behind the scenes are some of the brightest I’ve met