Sun Micro- systems' JavaOne show held last week in the US was designed to focus the attention of some 40,000 programmers on the latest technologies for building Java-based applications that run on mobile devices.
Sun and other firms see Java as the ideal technology for building a new breed of Web-based business applications that can be extended to users of personal digital assistants (PDA), handheld computers and mobile phones.
The reason is simple. "Because of all the different sizes and shapes of these devices and the different operating systems, the quickest way to deploy business applications on them is to write them in Java," said Larry Roshfeld, a senior vice president at Aether Systems, a US-based wireless integrator. "Java makes even more sense in a highly fragmented market than in a homogenous market."Despite unstable early code, limited network connectivity and other shortcomings in Java, some of the earliest programmers working with a new version of Java for handheld devices - Java 2 Micro Edition (J2ME) - remain enthusiastic.
"What Java brings to the table for users is interesting network applications [on handheld devices]," said Frank Greco, CEO of CrossRoads Systems, a US-based development company. "For developers, it brings many, many potential customers."Motorola is among the device makers hoping to exploit Java's capabilities. The company's semiconductor business will demonstrate a Java version of the company's iDEN handset, which is dubbed Condor and is slated for availability later this year. What Motorola wanted for the phone was applications.
"Java will bring to the wireless handset an enormous amount of flexibility because of its programmability," said Anne Marie Larkin, vice president at Motorola's wireless software group. By mid-2001, Motorola plans to be shipping a line of Java-based personal cellular devices for games and other interactive entertainment applications.
Because there are so many types of handheld devices, hardware manufacturers and software developers have been pressuring Sun to create a Java structure that's flexible and adaptable.
J2ME is designed now as core code, on top of which are added specialised features and APIs. J2ME has at least two virtual machines, the more complete one for somewhat larger devices such as Nokia's Communicator line of handsets, which blend a mobile phone and a computer. The second virtual machine, the Kilobyte Virtual Machine (KVM), is for simpler mobile phones and embedded systems.
A series of "profiles" will add specific Java APIs, for certain types of devices and markets, to the underlying J2ME software. The soon-to-be-unveiled Mobile Information Device Profile adds HTTP support and a user interface for the more powerful, larger-screened mobile phones or PDAs.
Network connectivity has been evolving slowly for J2ME, CrossRoads' Greco says.
His programmers were frustrated by the lack of network features in the earliest version of the KVM for the PalmOS.
Partly to address such concerns, Sun has crafted Java interfaces that will insulate applications from the underlying network protocols, said Eric Shu, a Sun group marketing manager.
Vendors and developers can, in effect, plug in underneath this framework whatever specific Net connections their devices need, he said.
The evolution of the software foundation is being matched by a slew of new systems-level boards and specialised Java implementations aimed at device manufacturers. The Java APIs that are part of the J2ME, coupled with the promise of faster processors and Java code execution, are a heady mix for corporate developers.
"When Java, as a lingua franca, is spoken by clients as well as servers, we can then distribute corporate data," said Farooq Butt, a strategic business manager with Motorola. "We can't predict what will happen when Java is unleashed on mobile devices."