Imagine Java as a set of three types of Lego blocks, says Eric Chu, director of the Java ME platform in Sun’s Client Systems Group.
The bottom unit contains two “configurations,” including CDC (connected device configuration) and CLDC (connected limited device configuration). Sitting on top, the next block contains “profiles,” a set of system services that are critical to an application platform.
The third block, on top of this software stack, contains “optional packages” such as Bluetooth, or Instant Messaging functionality.
Depending on the device some of these optional packages may not be there; in general, this is where different handset vendors differentiate their phones from other vendors.
Taken together, these elements comprise Java ME.
“As we evolve the software, we need to link up with the hardware evolution,” Chu explained. “As so-called advanced capabilities become common, then the standard Java mobile platform should have these functionalities. So we evolve with the marketplace. That’s why in the Java Community Process we have OEMs and carriers involved in determining when these optional packages become part of the standard platform. At Sun, we’re not the right people to figure out the timing. What we can do is help vendors and operators to understand that if you want developers to focus on certain applications then you need to have these functionalities.”