Browse DevX
Sign up for e-mail newsletters from DevX


Avoid the 9 Common Flaws of Unportable Mobile Java Apps : Page 3

Portability is a huge concern, especially in wireless development, but developers who fail to incorporate portability concerns into their app design from the outset are doomed to repeat the same dumb mistakes over and over. Find out the nine most common design flaws in J2ME applications and get your apps out of the quicksand and into the air.




Building the Right Environment to Support AI, Machine Learning and Deep Learning

6) Ignoring Localization Issues During Initial Development
Multiple languages are also important in gaining broad application distribution. Porting from one language to another has challenges if not handled correctly. The time to consider these principles is during development—not after the English version is finished:
  • Avoid using custom table fonts. If an application utilizes custom font tables stored in separate PNG files, the code must be able to handle Unicode Basic Latin and Latin-1 Supplement characters. Specifically, ranges 0021-007E and 00A1-00FF (see these charts for the Basic Latin and Latin-1 supplements).
  • Construct UI elements with text with at least 30 percent expansion room. This is to provision for less compact languages like German.
  • Compose string resources in complete sentences or phrases. Concatenated strings should rarely be used.
  • Text in help screens, about screens, or any other screens that are text intensive should be able to handle word wrapping.
  • Avoid using images as text. If text is used in images then translated versions of the images should be provided.

7) Making Use of Proprietary APIs
MIDP 1.0 was a great starting point for J2ME programming and for creating applications in mobile devices. Unfortunately, it was missing a lot of functionality needed for game developers to create. Many handset manufacturers dealt with this limitation by adding proprietary APIs to handsets to enable advanced capabilities for sound and graphics. These proprietary APIs can make it difficult to put the applications on new devices because some APIs are "mappable" between devices, while others aren't. Generally avoid using custom APIs if you wish to ensure portability.

8) Creating Applications that Are Too Big
Keep the application size below 64KB. Some of the most popular devices in the world have a hard upper limit of 64KB, and if the game is to be used by large quantities of consumers, it will need to work on these devices. If you absolutely need a larger size for a complex application, then consider making a light version for the devices with the 64KB limit as well.

9) Ignoring De-facto Industry Standards
Over the last couple of years, J2ME has emulated the Wild West when it comes to GUI rules and standardization of application look and feel. Although there are no mandated rules in place, the industry is starting to standardize on the way it wants menus and hotkeys handled. It is important to include a Main Menu within every application. In addition to all of the application specific requirements, the main menu must include an option for Help, About, and Exit.

Portable from the Very Start
With so many different devices and languages that need to be supported for commercial success, it is critical to begin factoring in portability at the beginning of development not when the application is complete. Avoid these mistakes, and you may find your effort rewarded with conserved company resources, reduced time to market, and applications that are more highly valued by publishers and operators alike

Simon Keogh is Director of Product Management for Tira Wireless, makers of the Tira Jump platform, which automatically ports J2ME applications across a variety of handsets and languages. For more information visit www.tirawireless.com.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date