You Are Here:

Porting The Positive 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 / 8 July 2004

Table of contents

This is the first porting and usability article in our Tip Of The Month series. It covers the basics of porting and usability; in subsequent articles we'll take a closer look at various related topics, including porting different application features, how to optimize the user experience, and how to test several products at once.

By definition, porting is a term used to describe the process of translating software to run on different computers and/or operating systems than it was originally written for. Generally, there are financial reasons behind porting: porting makes the application available for a larger customer segment. In the optimum case, a product is developed in such a scalable way that it can be ported to other platforms easily, still offering a positive user experience. For example, mobile game developers aim to build their game engines in such a way that after one fully featured version is produced, well-adapted solutions for different platforms can be built based on that original version.

Porting is not just about porting code to a new platform; it's also about porting the user experience. The goal of porting should be a satisfied user, not just a functioning application. By exploiting usability principles, you can analyze the amount and nature of the devices and the interfaces of the products that the application needs to be adapted to.

Back to top

The ABCs of porting

Porting an application from one device platform to another can be quite challenging for application developers.

  • First of all, the application needs to be designed to be portable right from the start — which is done by carefully separating the abstract functionality from the user interface (UI) implementation.
  • Second, the application engine should be flexible, to allow new features to be added.
  • Third, developers need to redesign the user interface to fit the conventions of all supported platforms.
  • Fourth, developers need to consider localization issues such as different languages, cultures, and user groups.

When redesigning an application UI for a new platform, designers should have an instinctive familiarity with the UI of the new platform. It is often far too easy to keep some bits of the old user interface in the new platform. Developers who are familiar with the original UI of an application might not even notice they're breaking user interface conventions in the new platform, because they instinctively know how to use the application, even if they are not familiar with the new device they are using. However, actual application users might be stunned by an application that works contrary to all of their knowledge about their mobile phone.

A worst-case scenario is that an application works with the logic of some other device, and thus entirely against all user expectations. Unfortunately, this scenario is not so rare. Too often, softkeys are used in novel ways, terminology originates from some other device, or graphical UI elements are unfamiliar. A key issue in successful porting is involving actual users of target devices in product development. Your test users won't be of much help if they have tested your products in all imaginable devices, because they will be blind to how the application should work in a single device. It is also a good practice to recruit advanced users of target devices for user testing sessions, especially if you are somewhat unfamiliar with the target platform's conventions.

However, the UI designer responsible for porting an application to a certain platform should be very familiar with the target platform. This knowledge cannot be acquired simply by testing the device for a few weeks. You must familiarize yourself with different handsets in the platform and study UI style guides and usability guidelines. And of course, nothing beats actually using the device as a primary phone for a sustained period of time.

Issues that should be double-checked when designing an application for any platform include the navigation logic and terminology used in the application menus and use of controls such as softkeys and a stylus. Some of these issues are handled in the UI style guides and usability guidelines available at Forum Nokia. It is always a good idea to compare your application with existing applications in the platform.

Back to top

Startup tips for developers

Define the target group:

  • How do users of the target platform differ from previous platform users?
  • Are similar products currently in use in the target group, and if so, how are their UIs implemented?

Familiarize yourself with the target platform UI:

  • Become familiar with the new platform early on, before the porting project begins. Use a device from the target platform as your primary phone for a period of time.
  • Examine UI style guides and usability guidelines.

Conduct user testing:

  • Test with actual users of the target platform.
  • Recruit advanced users of target devices.

This article series will continue in the end of July, when we'll take a closer look at porting different application features.

References

Usability Guidelines at Forum Nokia Usability

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: qdcZidentifierQSxhttpE3aE2fE2fwwwE2eforumE2enokiaE2ecomE2fmainE2fhtmlE5freadersE2fportingE5ftheE5fpositiveE5feE78perienceE2ehtmlX qfnZupdatedQDx2008E2d10E2d16X qdcZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ qdcZtypeQUqwebZE52esourceQ qdcZtypeQUqwebZInformationE52esourceQ qdcZtypeQUqwebZPageQ qdcZtypeQUqfnTypeZE52esourceQ qdcZtypeQUqfnTypeZWebpageQ qdcZtypeQUqmarsZManagedE52esourceQ qdcZtypeQUqrdfsZE52esourceQ qfnZdistributionQUxhttpE3AE2FE2FforumE2EnokiaE2EcomE2FX qfnZtypeQUqfnTypeZE52esourceQ qfnZtypeQUqfnTypeZWebpageQ qmarsZlanguageQUxhttpE3AE2FE2FswE2EnokiaE2EcomE2FlanguageE2D1E2FenX qrdfZtypeQUqwebZInformationE52esourceQ qrdfZtypeQUqwebZE52esourceQ qrdfZtypeQUqwebZPageQ qrdfZtypeQUqfnTypeZE52esourceQ qrdfZtypeQUqmarsZManagedE52esourceQ qrdfZtypeQUqfnTypeZWebpageQ qrdfZtypeQUqrdfsZE52esourceQ qrdfZtypeQUqfnZE45E78cludedFromGeneralE4CistingsQ