Editor's Corner

GUEST COMMENT
Optimizing mobile content is more than a guessing game
By Allen Lau, CTO and co-founder, Tira Wireless

Today there are over 400 different Java-based handsets on the market, with 20+ new devices being introduced each month, and no end in sight. Optimizing mobile content for all the different Java-capable phones is one of the key challenges for the expanding mobile games market. Each device has its own idiosyncrasies and knowing exactly how a given device will perform under thousands of different conditions is essential.

Mobile devices also run the gamut of complexity, leading to drastic differences in performance and speed of applications. If these differences are not taken into account the application can easily run too fast or too slow, images can be compromised, and the device could run out of memory as it tries to load too many graphics on a low-end device.

Here's a simple example to illustrate the problem: the Nokia 6630 is 10 times faster than the Nokia 7210, supports an unlimited JAR size, has over 1000kb of available heap memory, and a resolution of 176x208 pixels. The 7210 is much slower, has a 64kb JAR size limit, 215kb of available heap memory, and a mere 123x128 pixel resolution. This disparity is just one of hundreds of examples of what developers must contend with in optimizing their applications for global deployment.

Then there's another issue to consider: there are over 140 mobile operators with mobile Java programs -- the majority of which have their own custom requirements and guidelines.

Given all these obstacles and constraints, it is simply not possible to put off optimization until the end of the development and hope it all works out. Rather, it is important to address all the key optimization factors throughout the development/porting cycle. In other words, applications need to be designed from the outset with portability, localization and optimization in mind.

To read the rest of this guest comment, along with Allen's optimization tips and guidelines, click here.