book review


27
Aug 10

Book Review: Tapworthy

The Book

Tapworthy: Designing Great iPhone Apps by Josh Clark

“Designing a tapworthy app means designing for an economy of time, attention, and space.”

The Review

Tapworthy is an indispensable resource for developers trying to make quality mobile applications for all platforms.  While the book uses iPhone apps and user interface elements to illustrate the concepts discussed, many of the observations made about the mechanics, human interactions, and the psychology of what makes great applications are applicable to all mobile applications.

The book does a good job of exploring the user interface elements found in iOS apps and provides a good summary of how and why you would use the elements in your designs.  The coverage of this material is quite good but pales in comparison to the exploration of what goes into making a tapworthy app.  It is in this exploration of what makes a tapworthy app that I got my two main takeaways from the book.

The first is to be ruthless when cutting scope and narrowing the focus of your app.  To help developers and designers do this, a series of questions are provided and discussed.  It is amazing how quickly issues with your design arise when your ideas are subjected to simple questions like:

  • What does your app do and why?
  • What specific problem does your app uniquely solve for users?
  • What makes this app mobile?
  • What mobile context are you designing for?
  • Why would you use this app when you are away from your computer?

These questions are straightforward and may seem somewhat obvious, but they are an easy way to vet ideas.  If you can’t quickly provide a compelling answers for these questions, then you might not have a best selling app idea.  Conversely, the questions can be used to identify weaknesses that might need more attention and potentially turn a good idea into a great one.

The second takeaway was to recognize the three mobile contexts: microtasking, local, and boredom. To make a good app, you need to tightly wrap the answers to the 5Ws (who is the user, what are they doing, why are they doing it on a mobile, where are they, and when are they doing it) around one or more of these.  Something common among the most successful apps is how easy it is to identify the answers to the 5W questions plus which mobile context it applies to.  When the scope of an app is perfectly tailored to a specific scenario or use case, users will find that every tap has a payoff and accomplishing tasks within the app will seem effortless.  Efficiency becomes a feature.

The Summary

There is so much to like about this book.  Tapworthy forces us to ask the right questions in designing mobile apps and provides invaluable tips and insights about maximizing your app’s user experience.  If you are serious about making good apps, do yourself a favor and pick this book up.  You won’t regret it.


26
May 10

Book Review: Professional Android 2 Application Development

pa2ad

Reto Meier’s Professional Android 2 Application Development does a great job of educating the reader on what is necessary for developing Android applications. Core application fundamentals and advanced Android features are presented to the reader via a series of real-life application examples.  Readers who work the examples and leverage the breadth of coverage provided on the Android 2 framework will be well on their way towards establishing an excellent foundation for building compelling Android applications.

After giving the customary history lesson and tour of the toolsets and development environment, the first half of the book deals with the components that make up an application. Chapters are devoted to activities and life cycle, UI views, data and file access, and key Android concepts like intents (message-passing mechanisms) and content providers (ability to expose data to other apps).

Once the fundamentals have been covered, the remainder of the book is spent exploring the advanced and optional features available in the SDK. Android-centric concepts like background services, notifications and widgets are given the same in depth treatment given to the fundamentals so you get a lot of the “why” along with the how. Features and functionality that naturally lend them to being abstracted away via an API like media playback, GPS and Bluetooth are given adequate coverage of what is available via the framework and, where pertinent, the Android-specific behaviors are highlighted.

While the book is divided into fundamentals and advanced topics, continuity is maintained throughout via the example applications used to emphasize the concepts presented. By building the to-do list, compass, and earthquake monitoring service applications while reading through the book, passive learning is transformed into active, directed learning. Unlike some programming books I’ve read in the past, these examples do real work, accomplish specific real-life tasks, and provide some utility once completed. Readers are not just extending these applications one feature at a time, they are also adding one key concept to their proverbial tool belt while doing it.

The speed at which the Android platform is being evolved and improved upon is staggering. Since April 2009 there has been 4 major releases of the Android OS with a 5th release rumored for this fall. While the breadth of coverage provided for the APIs and framework is nice while it is still relevant, the real strength of this book comes building an understanding of the core Android fundamentals. Readers looking for a solid introduction to Android development need to look no further than Professional Android 2 Application Development.