This section explains about adaptive design and development patterns.
What is the most effective way to create an application which offers maximal user experience for different UI styles?
“Write once, run everywhere” is a very compelling way to save time and effort for any developer targeting as many phones as possible. The traditional approach has been to have many compile time switches. Compile time adaptation requires you to create, test and distribute many different builds, each targeted at different phone families. This is a lot of work.
Adaptive design brings several financial and time-to-market benefits, including the following:
Fewer builds and distributions > lower cost
Easy to manage and distribute as there is no need of a different code for each device.
Less testing > lower cost
Less testing is needed per device.
Less bugs and maintenance > lower cost
A well written piece of code will have fewer bugs and maintenance issues than several similar cut-and-paste variants for different targets.
Faster time to market > more revenue/downloads
Faster adaptation to new and existing devices.
Wider device support > more revenue/downloads
Easier adaptation to new and existing devices.
Better MIDlets > more satisfied customers > more revenue/downloads
Optimal/maximal experience for each device’s capabilities instead of designing with the least common denominator.
In many cases, a single runtime adaptive build is all that you need for Nokia Series 40 devices and Nokia Asha software platform devices. This significantly reduces the development, testing and maintenance burden. In some cases, build-time adaptation is still useful. For example: If there are many images which cannot be easily modified at runtime, they can be modified at the build time.
Most projects can be built for multiple Nokia devices as a single project which adapts automatically to the phone on which it is running. One important factor is that High-level UI components have maintained source and binary compatibility, while their style and UX has been refreshed in the latest Series 40 and Nokia Asha software platform devices. Our examples will cover the recent Nokia Series 40 non-touch, touch and type, and full touch as well as the Nokia Asha software platform 1.0 phones, but the same techniques can be applied to older phones also, if needed.
There are several specific design patterns and best practices for making one application run well across the Nokia Series 40 and Nokia Asha software platform product line. These are divided in the following sections into basic patterns followed by best practices for adaptive interface design, keyboard input and touch input.