Memory and real estate defines Java midlets

Storage, the user interface, and the tradeoff between portability and tight access to native device features -- these are some of the issues developers have to contend with when writing applications for mobile devices.

In the Java 2 Micro Edition (J2ME), these considerations are handled by the mobile Internet device profile (MIDP), which defines the application programming interfaces (APIs) for mobile devices, said Steve Ritter, technology evangelist at Sun Microsystems Inc. Ritter was speaking at Sun's TechDays developer conference in Singapore last week.

J2ME is aimed at devices with less power than the standard PC, such as mobile phones, PDAs (personal digital assistants) and the digital set top boxes for televisions. Under J2ME, configurations and profiles have been created to incorporate both device-specific APIs and standard Java class libraries.

The MIDP -- the programs are called Midlets -- is targeted at devices within a specific memory range: the implementation must fit in a small footprint of 128K bytes of memory, and be able to run on a low-end processors, said Ritter.

Among other things, the MIDP specifies how data is stored in mobile devices. "There is no hierarchical file system on a mobile phone," Ritter pointed out. "Instead, there is a lightweight record-oriented database, and each record is essentially an array of bytes with a unique identifier."

Another important consideration for mobile applications is the user interface. The majority of mobile devices are one-hand operated, and have small screens, Ritter said. And not all of them have pointing devices.

Under the MIDP, the user interface is split into two layers. A higher-level API is aimed at applications that require maximum portability, and do not have access to the underlying native device features. The low-level API is targeted at applications that require close access to hardware. Ritter cited the example of gaming applications, which require access to key strokes and display features.

"However, when you use low-level APIs, you sacrifice portability," he pointed out.

The profiles defined by the MIDP sit on top of the connected limited device configuration (CLDC), one of two configurations defined by Sun, the other being the connected device configuration or CDC.

The configurations are specified based on memory because that quantifies how much can be squeezed into a device, said Ritter. The CLDC includes the definition of the Java virtual machine for mobile devices. The Java virtual machine is a self-contained operating environment that is separate from the host operating system. This enables Java programs to run the same way, regardless of the underlying hardware or software.

More about: Sun Microsystems

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
Users posting comments agree to the Computerworld comments policy.
Login or register to link comments to your user profile, or you may also post a comment without being logged in.
Related Whitepapers
Latest Stories
Community Comments
Whitepapers
All whitepapers
Sign up now to get free exclusive access to reports, research and invitation only events.
Featured Download
/downloads/product/14/gimp/

GNU Image Manipulation Program (GIMP)

When you think Open Source software, you may think of half-baked programs too hard to use, or perhaps lacking power. Well, think again. This Open ...

Computerworld newsletter

Join the most dedicated community for IT managers, leaders and professionals in Australia