Java to dominate consumer electronics?
Yes, if it's lean and mean
The danger of fragmentation
An efficient Java-Linux combination would be a powerful candidate to provide the standard basis for consumer devices from phones to automotive systems, but there is another weakness that currently holds J2ME back from achieving its full potential - its tendency to fragmentation.
Uniformity is important for developers seeking the broadest possible base for their applications. It will also become an issue for users if they do as Nokia hopes and start running multiple phones for different purposes - portability of applications between them will then be more critical than in the current closed world.
Currently, many large handset makers have their own Java implementations that are tightly integrated with and optimised for their designs, as Nokia and Symbian do. But most have got behind the push for greater uniformity through common APIs, seeing the advantage of attracting developers and boosting the overall market for Java phones, which currently command a higher margin than other models.
For instance, Sun joined the major handset makers earlier this year to launch the "Java Verified" program, which is designed to enable Java mobile apps to run on phones from multiple vendors with only one certification required. Sun will manage and operate the scheme, and the certification will be based on the work of Java Technology for the Wireless Industry (JTWI), a group within the Java Community Process that seeks to plan future directions for mobile Java.
The JTWI, which is dominated by Sun and Nokia, aims to lay out an overall architecture for J2ME in mobile phones, which is still incompletely standardised, identifying configurations, profiles and APIs, such as MIDP 2.0, that are essential for compliance. This will not necessarily be welcome among the operators. They tend to favour Java because it does not make them dependent on a single supplier, but they are used to operating in high-walled gardens and keeping their particular platforms tightly closed. With Java becoming a tool for differentiation of applications and services, they are seeking to turn it to their advantage as the Japanese and Korean carriers have always done.
The Japanese operators have all developed their own sets of Java extensions to support their highly differentiated handset specifications, and Vodafone has now taken a leaf out of its Japanese subsidiary's book, using that company's extensions, JSCL, as the basis for the Vodafone Service Class Library, which under-pins Vodafone Live!
Sun has made several moves recently to rein in such behaviour. The latest version of J2ME's Mobile Information Device Platform (MIDP 2), is more all-encompassing than its predecessor, leaving less leeway for the proprietary extensions that have plagued mobile Java. MIDP 2 should be standard in new handsets from midyear.
Sun argues that, as the work of initiatives like JTWI increase the base functionality of J2ME, there will be less requirement for extensions. Device specific API extensions have proliferated on mobile phones because the MIDP profile is targeted at all mobile devices and so omits many phone-specific requirements, such as address books and particular user interface behaviour. But the claim ignores the politics - the operators' all-important strategy of gaining control of the handset platform.
It also skates over the primary carrier requirement from any architecture - that it supports flexibility of design so that customised models can be cheaply and easily created. While Java-based technologies such as Esmertec's new component-based applications environment make J2ME more suitable for this purpose, there is the risk that, with JTWI, Sun is trying to create too generic a platform for mobile phones ranging from games-optimised devices to business-focused PDA hybrids.