Designing Successful Mobile Applications
By James Hobart
President & CEO
As with any emerging technology, we
are in a period of discovery with mobile computing. Usability plays a major role in this
discovery equation. Best practices
still apply, but they need to be mapped to a new paradigm -- the mobile interface.
This year,
many large organizations are deploying mobile solutions to their field service workers and
attaching mobile solutions to leverage existing ERP implementations. The end users who
ultimately strive to be more productive with this new breed of user interface will largely
determine the success of these mobile solutions, as the wireless Internet becomes a
reality.
Our work on several
large-scale enterprise mobile design projects has led to some discoveries in the area of
usability, which seem to repeat themselves across several vertical industries. We have a
lot more to learn, however the following ideas should help shed some light on the process
of creating successful mobile interfaces.
Importance of the
Form Factor
We view the form
factor of the mobile device as an integral part of the presentation model look and feel of
the mobile solution. To date, our research has shown telephone form factors to be overly
restrictive in all but the simplest of tasks. Palm and CE devices allow for a larger
interface; however, our experience to date in running either Java applications or browser
applications has been somewhat disappointing. Specifically, we have found that the limited
screen real estate and limited processing power of the current palm devices is very
restrictive for performing moderate to complex line of business applications. In addition,
we have found stability issues in running the latest release of J2ME (Java 2 Micro
Edition) on these devices. Mid-size devices, like the Epoch Psion, allow for direct
keyboard entry and better Java support; however, the larger than palm/CE form factor can
be a problem in some deployment scenarios.
Separate the User
Interface from the Business Logic
Many of the new
mobile applications will need to support occasionally connected users. This need presents
significant data replication/synchronization issues for enterprise systems. Our experience
has found that using a best practice of separating the user interface from the data and
logic layers will provide your team with more flexible options for deploying your back-end
content with a variety of front-end mobile devices.
By using this
approach, your team can implement an XML-based message format to exchange data between the
server and various client devices.
Rethink your
Interface Design
Transferring your
existing client/server or web design into a mobile application can be difficult. Mobile
devices support a wide array of screen sizes and resolutions. You will also need to
support both horizontal and vertical screen layouts.
The most troublesome
usability issues arise when you try to implement complex, multi-step tasks that are so
common with enterprise applications. For instance, the task of capturing the details of a
sales order on a mobile device can be very cumbersome and time consuming as compared to
using a paper-based method or traditional full-sized laptop. Implementing complex tasks
such as this require a rethinking of the design and the methods used to collect the sales
order data. The use of additional defaults, role-based personalization of the user
interface, and extensive use of progressive disclosure techniques to shield non-important
data from the user are critical for creating usable, complex mobile applications.
In addition, you
need to rethink normal navigation and content display to deliver clear, concise content
with minimal navigation menus, so that the limited display area can be devoted almost
entirely to the content in front of the user. Of course, you must completely rethink
complex desktop interaction techniques, like drag and drop and multi-windows, and address
them with visual design patterns more suited for the limitations of a mobile deployment
platform.
Perform Usability
Testing
Maturity of best
practices and known successful design layouts for mobile computing are still in the
formative stages. New mobile devices are being introduced at an ever-increasing rate with
little effort towards industry-standard display sizes, button placement, and physical form
factors. As your team establishes new designs to address your mobile work force, you need
to move beyond the situation of having each developer promote a particular opinion on
interface design styles and instead validate your decisions with formal usability testing.
This process will provide a statistical and factual basis for your design decisions and
more adequately ensure that your design will be successful when deployed in the field. Our
experience has shown that field workers expect their mobile devices to be both intuitive
and reliable and to use their new mobile applications with little or no training.
Implement Mobile
Design Standards
Once you have
established successful mobile designs and have validated your assumptions with formal
usability testing, you need to document and capture these best practices to leverage your
design work across all of the teams in your organization. These standards, checklists, and
developer resources should be stored in a centralized web-based standards repository that
is available to all of your developers, product managers, and others with influence over
the user interface of your mobile solutions. A self-managing process needs to be
implemented that encourages developers to follow and use the standards, thus, ensuring
consistency and high levels of quality across the applications deployed on your mobile
devices.
Successfully
deploying your mobile applications requires a very close working relationship with your
end users and product managers. Mobile solutions are deployed on very personal devices
that are used while performing other tasks such as driving, walking, and meeting with
other people. If your design forces the user to focus on the interface and not at the task
at hand, lower productivity and poor user acceptance will likely result. Creating a
seamless interface with the proper form factor and matched with appropriate user tasks can
create a very empowering environment for your end users. This can enable them to gain
significant productivity benefits from the emerging wireless web.