Last month I gave a talk for UPA Boston, this is a summary of that talk.
Over the last five years we've seen a shift in mobile applications. For about 30 years people thought of mobile phones as an extension of traditional phones. They would make calls and that was the primary use. Over the last 10 years we've added features like voice mail, texting and even basic web browsing. It wasn't until just the last 4-5 years that the next wave of mobile has taken off.
Mobile phones today are dominated by three classes of devices, 16 button, 60 button keyboard and new touch devices. There are about 1Billion 16 button phones, 50-100 million keyboard phones and about 20-40 million touchscreen phones. I'm mostly talking about this last category of emerging phones though some principals apply to both keyboard phones and 16 button phones.
The key difference between the phones of yesterday and the phones of today are a combined set of capabilities and technologies that fundamentally change the user experience. These include:
- Always connected - email/web/etc
- Adaptive input screen (control every pixel)
- Touch/Gesture interface
- Apps you can download
A lot of these technologies existed either in isolation or in awkward implementations. Together they allow for a much richer application experience. This has become a platform that is fun, exciting and profitable for application developers.
Design for existing behaviors
When designing an application it's key to keep scenarios in mind. A scenario is the basic story of how a person may use the application. The important thing when thinking about scenarios is that actions tend to stay the same but the way you complete those actions changes. Behavioral changes are difficult and rare. It's much easier to design tools that encourage and support existing behaviors. Similarly it's much easier for end-users to adopt your application or tool into their existing behaviors rather then changing established patterns.
Designing for Mobile
When designing for mobile remember that people are out in the real world. Your application needs to be a good alternative to the desktop/laptop. The factors for this type of design should include:
- Input methods - make it easy and minimal to get information into the device.
- Form Factor - Design for a smaller screen size and make it easy to read and get information back out of the device.
- Location - Take location into account
- Efficiency - A mobile application should be quick and efficient
- Tap - most similar to click
- Tap & Hold - magnify, copy/paste, selection/make dragable
- Swipe - scroll, secondary action/delete option
- Pinch - Zoom
- Shake - Undo/Refresh/Clear