Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Zoom and Rotate Gestures in FlashLite for touch-enabled devices
Jackson Feijó
Read more about Jackson on the Champions website.
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
Version 1.0 / 8 July 2004
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.
Porting an application from one device platform to another can be quite challenging for application developers.
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.
Define the target group:
Familiarize yourself with the target platform UI:
Conduct user testing:
This article series will continue in the end of July, when we'll take a closer look at porting different application features.
References