Java News from Tuesday, September 20, 2005

Nokia and Vodafone have submitted Java Specification Request 258, Mobile User Interface Customization API, to the Java Community Process. According to the JSR,

The overall goal is the specification of an API that allows the customization of the look and feel of the user interface components in a mobile device or platform. This can be achieved by allowing the API to access the customization properties of user interface (i.e. the themes), providing a mechanism to achieve a uniform customized look and feel in the user interface components, regardless of their underlying implementation mechanism.

The API should have the following functionality:

The initial requirements for the API are:

Access to a collection of customization properties is provided through a vocabulary. This vocabulary may be specific to a device or a platform. The customization API will try to identify a common vocabulary for the properties. However, the API should be an open and flexible framework for accessing any device-specific or platform-specific properties. The properties are not limited to UI APIs, but may include also application platform properties like application icons, tones etc.

The specification enables implementations where the customization uniformly affects all user interface elements of applications (both native and Java) in the device or platform, thereby achieving a unified user experience across the device.

The JSR expert group will study whether there is a need to have application-specific customization capabilities, or the need to extend the customization capabilities to functional elements such as menu extensions and browser bookmarks.

This JSR will specify the UI customization API as an Optional Package API, and does not assume any specific application model or UI toolkit. The Optional Package can be used by any J2ME application using any supported application model, running on any J2ME Profile.

The API can be utilized in the creation of a customized look and feel for custom UI components, but it does not define any APIs for creating those custom components. The custom components are created using the facilities available in existing UI toolkits.

The expert group will also study whether there is a need to specify an over-the-air (OTA) transmission/serialization format for the customization property / UI theme data.

Comments are due by October 20.