You Are Here:

Optimizing The User Experience v1.0

Register Today

Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.

Register Login
Community Highlights

Wiki article of the week

Zoom and Rotate Gestures in FlashLite for touch-enabled devices

Champion of the month

Jackson Feijó Jackson Feijó
Read more about Jackson on the Champions website.


Forum Nokia Events

Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa

Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India

LeWeb
December 09, 2009
Paris

Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki

Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9:30am New Delhi, noon Beijing


View all

Version 1.0 /18 Aug. 2004

Table of contents

This is the third and final porting and usability article in our Tip Of The Month series; it covers user experience optimization. The first and second articles, "Porting The Positive Experience" and "Focus On Features," discussed the basics of porting and the decisions involved in porting application features, respectively.

Frequently, mobile developers face a challenge in optimizing their applications to several different devices. Nokia Develop/Optimize is a practical programming paradigm that describes how to leverage the strength of Nokia’s developer platform approach while acknowledging and addressing device variations. While the developing phase is all about building platform- and device-independent application engines, optimization is all about getting the most or best out of a specific product.

Optimization is often necessary not only for achieving the best possible user experience, but also sometimes because of known issues in a device. And while the main financial reason for porting the application to a new platform is to make the application available to a larger customer segment, the reason for optimizing is to make the application more desirable for a smaller customer segment by taking full advantage of the target device's capabilities.

Once again, the focus should not be on just making the code run better or faster on a certain device, but on making the user experience better. If a consumer has invested in a mobile device with special features, such as rich sounds or light messaging, it is reasonable to expect that s/he would also be more interested in applications that support these special features. After all, the user has chosen the mobile device for a particular reason. Conversely, it can be frustrating to have a music phone with applications that take no advantage of the possibilities, but play ear-splitting noises instead.

In a way, the usability design of a mobile application can be divided into platform-independent knowledge and platform- and device-specific knowledge. The platform-independent “usability engine” consists of knowledge about users and user groups, their motivations, and their needs, which are hopefully recognized in the application design. User-centered design methods such as task analysis and expert reviews can be used in developing the usability basis of the application(s).

The platform-dependent "usability engine" is based on complying with the user interface style (and usability guidelines) of the platform. User-centered design methods such as usability tests, group tests, and expert reviews can be used in developing the platform-dependant usability principles for the application(s).

Back to top

User testing 300 different product versions

A big problem in mobile development is that there are a vast number of mobile devices and user interfaces. Porting one application to different platforms and optimizing it for different devices can mean almost a hundred different versions of the product. If the application is localized to different languages and cultures, the number of versions grows even more. It is no surprise that mobile developers are striving to use tools that enable automated software testing of different versions. But how do you user test 300 different software versions? The answer is, you don’t, unless you do it wisely. Fortunately the nature of user testing is inherently different from software testing, and often you do not even have to consider testing all product versions with real users. The key is to focus the tests on relevant product versions.

For example, you can start by testing the application with only the most common device from each platform. Later on, you can conduct more focused, in-depth tests on those versions with notable differences. Different language versions should be tested with native users. As time goes by, you can gather a database of user studies that cover all the main products, devices, languages and cultures, user groups, and technologies.

Back to top

Learning by doing

To avoid repeating mistakes, take full advantage of previous user tests when porting new applications to the same platform. One key issue in developing usable mobile applications is planning how usability information is used in development organization. Usability problems that are identified should be fixed not only in the current product version, but in all other relevant product versions, too. Some usability problems need to be fixed at the platform level, and some at the application engine level. Sometimes usability problems may even be identified from other products.

Back to top

Optimizing tips for mobile developers

  • Make the application more desirable for owners of certain devices by optimizing it.
  • Focus on optimizing the user experience, not just the code.
  • When porting, be willing to drop, add, or redesign features if needed.
  • Gather usability information by testing relevant product versions:
  • User test the base application(s) first.
  • User test different language versions with actual representatives of the target culture.
  • User test different platform versions with expert users of the target platform.
  • Finally, conduct supplementary user tests with different user groups, with specific mobile devices, and with specific product versions.
  • A vast number of different application versions may make user testing a challenge, but this is no reason to neglect user studies. On the contrary, more attention should be paid to user studies because of the challenges.
  • Take full advantage of the user tests. The test results should be used to develop platform-specific parts of the application and the application engine, as well as to help your organization avoid making the same mistakes again.

References:

Develop/Optimize Case Study: Macrospace's Dragon Island
Developer Platforms: Guidelines For Testing J2ME™ Applications
Understanding Nokia Develop/Optimize
Usability Guidelines at Forum Nokia Usability Web site

Back to top

Print the document

Rate This

Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
RDF Facets: qdcZidentifierQSxhttpE3aE2fE2fwwwE2eforumE2enokiaE2ecomE2fmainE2fhtmlE5freadersE2foptimizingE5ftheE5fuserE5feE78perienceE2ehtmlX qfnZupdatedQDx2008E2d10E2d16X qdcZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqfnTypeZE52esourceQ qdcZtypeQUqfnTypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZdistributionQUxhttpE3AE2FE2FforumE2EnokiaE2EcomE2FX qfnZtypeQUqfnTypeZE52esourceQ qfnZtypeQUqfnTypeZWebpageQ qmarsZlanguageQUxhttpE3AE2FE2FswE2EnokiaE2EcomE2FlanguageE2D1E2FenX qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqfnTypeZE52esourceQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqfnTypeZWebpageQ qrdfZtypeQUqrdfsZE52esourceQ qrdfZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ