for Java ME applications on mobile devices is quite a challenging task,
because MIDP's flexibility allows it to be used in hundreds of different
device models, with different form factors, hardware, screen sizes and
input methods. Such wide availability makes Java ME applications attrac-
tive to a range of users (enterprises, gamers, and casual users), all of
whom need to be considered when creating effective UIs for MIDlets.
There are many differences (see Table 2.1) between the hardware and
software environments in which Java originated (desktop computers) and
the ones found in mobile devices, such as Symbian smartphones.
Table 2.1 Differences between Java environments
Windows, Linux and
Mac OS Personal
768 or bigger
Landscape or portrait orien-
Touch screen (with stylus)
Touch screen (with fingers)
16 bit and higher, usually
32 or 64 bit
16 bit (top phones)
1GHZ+/512MB RAM +
These differences (and the many others that exist) make it inappropriate
to port Swing or AWT toolkits directly to mobile devices. They would
suffer from poor performance (due to slower processors and smaller
memory), usability problems (there cannot be multiple windows on a
mobile phone) and poor input mechanism compatibility, as this varies
greatly among devices.
2.3.1 LCDUI Model for User Interfaces
The LCDUI toolkit is a set of features for the implementation of user
interfaces especially for MIDP-based devices. LCDUI is a generic set of
UI components split into two categories, high-level and low-level.