San Francisco -- Java giants Motorola, Nokia and Sun Microsystems are plowing separate paths for the future of cell phone software. The widening divergence in their commercial Java products--and differences of opinion about how to keep Java open--threatens to fracture the broad community of Java developers.
Sun last week announced Java Mobile FX, a high-end software package for cell phones based largely on desktop Java software it recently acquired from Savaje Technologies. Sun also disclosed its plans for making Java open source.
Motorola and Nokia executives said news of the Sun mobile software took them by surprise. They also expressed concerns about some of the details of Sun's open-source plans.
The two compa- nies are basing their Java road maps on software drawn from separate pools of open-source software.
"There are a number of issues [with Sun's open-source plans] that are making us nervous," said Jon Bostrom, senior director of Java technology at Nokia. Before he joined Nokia four years ago, Bostrom was one of the leaders behind Sun's mobile Java effort.
"Motorola is open sourcing Java in a whole different way from IBM and a different way again from Nokia and from Sun. The whole Java Community Process could be threatened," said Chris Porthouse, a senior product manager at ARM Ltd., whose chips run most of the Java mobile software. The JCP is an industry organization set up by Sun for creating Java standards.
All sides agree Java needs to be open and must move up to support a coming generation of more powerful handsets with rich media capabilities. They also want to see mobile Java support Web 2.0 constructs that let users create services by mixing and matching code from various applications. But each company has its own beliefs about how best to accomplish those goals.
Sun rolls 'jPhone'
Sun hopes to sell its Mobile FX code as a complete binary package for delivering graphics- and feature-rich handsets with a look and feel similar to the Apple iPhone. Sun is mainly targeting Taiwan's cell phone makers, hoping to get its software into handsets shipping early next year.
To capture attention at the JavaOne Conference announcement here last week, Sun created a mockup of the software on a handset from Taiwan's First International Computer. But Motorola, Nokia and others complained that Sun released few details about the software.
One Sun engineer said the code is based on the desktop version of Java--Standard Edition (SE)--ported to a Linux core. Sun is expanding the application programming interfaces of the original Savaje software to include support for the Mobile Services Architecture, a set of Java standards that includes Web services capabilities. The code requires at least 32 Mbytes of RAM and a 200-MHz ARM 9 processor.
Java Mobile FX is "a complete desktop-scale environment that puts the network in your hand," said Richard Green, executive vice president of Sun's software group, announcing the product in his keynote address at JavaOne here.
Sun CEO Jonathan Schwartz expressed high hopes for the future of the software as an enabler for phones that ultimately will be the devices with which users in the developing world will first link to the Internet. "We tend to look at the PC and say, 'That's the Internet,' but that's not reflective of the real opportunity around the world," said Schwartz.
Others took a more skeptical view. "The Savaje technology has been tried before and got zero uptake, so I don't see why it will be any different [coming] from Sun. I don't understand the value proposition," said Bostrom of Nokia.
"The SE library does not fit into 32 Mbytes, so they will have to subset it. I wonder how they will do that," he added.
Indeed, with Mobile FX, Sun will be competing directly with Java partners such as Nokia.
"We are providing a full software stack for the cell phone, like the Nokia Series 60 [software], so I guess we are in competition with them," said Tim Cramer, executive director of customer solutions in Sun's software group.
For its part, Nokia is working with Sprint on a radically different approach to next-generation mobile phones. The duo intends to apply Java code from the business-oriented OSGi Alliance to mobile systems for the first time, starting with Nokia E series phones that will ship this summer on Sprint's 3G cellular network.
Separately, Sprint will test the software next year on its WiMax network.
Cell phone as server
OSGi supports embedded Web server capabilities and dynamically downloadable systems software objects that essentially turn a handset into a server. Nokia and Sprint expect that to open the door to a collaborative computing model that lets handsets become more flexible and interactive, potentially generating services such as new social-networking capabilities on the fly, without going through a central computer.
"The idea of phones as static things you got from a manufacturer was OK until now," said Bostrom. "Now the design cycle is getting too long--it's about 18 months--and you need to get a lot of people to agree on what's going into the phone. By the time it hits the streets, that phone is no longer what people want."
The OSGi software is more flexible because "it provides a component model and middleware layer that we have never had in mobile," Bostrom said.
The two companies have put a flexible set of management capabilities into the software so that a carrier or a company's IT staff can remotely control or repair a handset.
"That's what got Sprint excited. It could be a real differentiator for them," Bostrom said.
Moto rides MIDP
Motorola is pursuing Java unity by riding the Java subset known as the Mobile Information Device Profile.
"The only way to cut out fragmentation is to go with a common code base, and we have a 10-year history of a Java run-time environment based on MIDP," said Mark VandenBrink, a fellow in Motorola's cellular group.
The company shipped one of the first Java-based phones using MIDP 1.0 in 1999. Last year, it released an open-source version of its implementation of MIDP 2.0. It is now working on a version of MIDP 3.0, being defined in the Java standards group for probable release late this year.
The expert group now defining MIDP 3.0 is one of the largest among the Java standards efforts, with more than 100 people involved, VandenBrink said. The new version creates a class of so-called liblets, or library elements that a handset can dynamically download as needed. It also improves handset security and graphics.
MIDP is the best basis for tomorrow's mobile devices, said VandenBrink. "The OSGi software is interesting, but it's not simple enough for most people to implement efficiently," and it has no track record in mobile systems, he said.
Some observers expressed concerns that with its move to the desktop-derived Java Mobile FX, Sun might phase out support for the mobile subset of Java on which MIDP is based. That is not the case, Sun's Green said during a press Q&A session. But he also opened the door to further fragmentation in mobile by revealing that Sun is considering the release of an embedded version of its Solaris operating system geared for mobile systems.
"We will be flat out keeping the [mobile Java] platforms going," Green said. "We have had a lot of discussions about an embedded version of Solaris. I would not be surprised if we put a lot of energy into it. But we will do this [Mobile FX product] first."
While the details of the struggle are new, the underlying problems are as old as Java itself. The Sun-developed language has been widely used in handsets for years and now appears on as many as 1.8 billion cell phones, according to Sun. But the implementations of Java on handsets vary so widely that developers complain they must write applications that are specific to each OEM or carrier.
"Java has had the promise of 'write once, run anywhere,' but we haven't achieved that yet," said Motorola's VandenBrink. "It's a matter of standardizing on a code base."
For years, Java proponents like Motorola have pushed Sun to be more open about Java as a way to create such a common base. But Sun's latest efforts have only fueled more talk about fragmentation.
At JavaOne, Sun announced it is making its OpenJDK developer kit open source through version 2.0 of the General Public License (GPL). It also set up an interim governing board for open-source Java comprising two Sun executives and three open-source activists.
Nokia's Bostrom criticized Sun's moves, saying the GPL is more restrictive than such alternatives as the Apache licensing model. He also said the board gave Sun too much control. "In a really open model everyone can jockey for who has control, and the deck is not stacked from the word go," he said. "With Sun's move, the deck is pretty stacked. This is not a level playing field for Nokia. It doesn't seem very open to me."
Nokia is active in both the JCP standards group, set up by Sun, and the Eclipse Foundation, favored by backers of the OSGi Alliance's Java standards.
VandenBrink of Motorola noted that with its OpenJDK, Sun has made its Java compilers and tools open source. Unlike Motorola, however, Sun is not opening up its run-time environments, such as the new Mobile FX code.
Mark Thomas, director of Java technologies for IBM, took a more conciliatory view of Sun's new governing board. It is an interim group, he noted, and starting with a small team of five could enhance its effectiveness. Thomas also praised Sun for reaching out to the developers it invited to the board and expressed confidence that big companies such as IBM will be able to have their say as work progresses.
In a separate effort to unify Java development tools for computer, mobile and consumer environments, Sun last week announced Java FX, a developer tool and scripting language for content creators.
See related image