Contents
1. Problem Description
MIDP Item and Command objects have different appearances and layout on different devices. The MIDP "widget" layout model was designed in order for an application to have a graphical appearance similar with the phone's system one. However, this make it impossible to have the same user experience across devices, additionally application graphical appearance is rarely consistent with the phone system application. The MIDP 3 expert group is reviewing the model in order to be able to have consistent user experience across different devices. In the meantime, workaround solutions are needed. Applications that use the Command keys. 2. Solution Description
Without using and existing additional GUI, achieving a consistent application user experience across different devices is a not small development. Prototypes and fast track development should use a third party GUI library or give up on GUI consistency. LINK - Implement GUI on top of Canvas The most robust option is to rely on a restricted and ad-hoc GUI library implemented on top of a standard Canvas object. Some developer implement their own GUI library, other use the popular J2ME polish library (check license to see if it is compatible with you business model). Ideally, the library should have the same API as the standard MIDP API considered fragmented, basically faking/reproducing the MIDP class hierarchy, names, methods and fields. Only display semantics should be revised. Although it is a form of code duplication, it is acceptable since the duplication is not inside the application but across the platform library and the application. Advantages of this approach are the following:
Special care must be taken in the design and in the implementation of GUI libraries in order for it to be directly usable on different devices without porting. If the library needs to be ported as often as the application which does not use it, there is not benefit. Obviously the library must be as small and fast as possible since it will sit on top of a heavy library stack. Two versions of the library, one for MIDP 1, another for MIDP 2 is a good compromise.
This solution is already used by most professional coders: games developers and browser developers. None 3. List of Affected Devices
All devices 4. Keywords
Command, Key Assignement, GUI Copyright 2006 Sun Microsystems, Inc. and Orange SA All Rights Reserved. | ||||||||||||
|
| ||||||||||||