Sun’s Java has some traction in mobile devices,
but it lags behind modern standards, especially in user interfaces.
Sun has a plan to change that, while others say the best approach is to start over.
Java programs for mobile phones have always been somewhat controversial. In theory, software vendors and their programmers should love the economy and efficiency of creating one version of code that works on any device. In reality, Sun Microsystems’ flagship programming language until a few years ago had a reputation for bloated code and mobile support that did not keep pace with other industry advances.
Now, the wheels are in motion to make mobile versions of Java just as advanced as what consumers get in the Apple iPhone – an important trend because Apple itself does not plan any Java support.
Work began a decade ago with a project called Personal Java, which evolved into Java 2 Micro Edition and then was renamed JavaME. JavaME has a lightweight version for devices such as cell phones and a larger version for systems such as automobiles and set-top boxes. From the light version, called CLDC, there are two subversions – the commercial Java Wireless Client and an open-source edition called PhoneME.
The problem with Java Wireless Client, Sun’s senior product line manager Florian Tournier said, is that the recently released version 2.1 is lacking in customization tools. Application interfaces created with it tend to look dated. “Right now we’re working on the next release,” which is version 2.2 due by the end of this year, he said. “The release focuses on optimization and enabling a lot more customization for the look and feel of the environment.”
The existing version 2.1 does include some iPhone-like support, such as the ability to use accelerometers, but that is not yet widely known. Sun has a team dedicated to educating handset makers and carriers around the world and for getting feedback about other ways to improve mobile Java tools, he said.
Also on the agenda is support for the evolving Mobile Services Architecture (MSA), which contains wide-ranging code libraries. The MSA is currently in version 1.0, with version 1.1 due soon, so the Java Wireless Client update will need to reflect that, Tournier said. An MSA 2.0 specification is also being planned but few details are available yet.
Sun also looks to the open-source PhoneME community for new technology, added senior technologist and Java evangelist Terrence Barr said. Projects such as Floggy, which is a framework for maintaining application persistence, have a good chance at becoming new code libraries (known as JSRs) and therefore could become part of some future Java Wireless Client release. Open-source developers also frequently suggest bug fixes and security patches, he said.
START FROM SCRATCH
Whether Java will ever be perfected for mobile phones is still debatable. Mark Young, CEO of startup HipLogic and a former Sun J2ME staff engineer who led the Mobile Web Services specification, said the programming language’s limitations are substantial enough that it makes more sense to start over. His company recently emerged from stealth mode and announced a software development platform which give consumers iPhone-like control of the applications and customization on their devices’ home screens.
“I couldn’t build the kind of applications that I wanted to. It’s almost completely broken from a business case perspective. Just to change anything on J2ME takes two years,” he said. HipLogic’s abstraction layer supplants the traditional menu deck, although it can be designed with an exit option, he explained.
HipLogic plans to release its tools early next year. The company raised $4.5 million from Benchmark Capital this year and plans to license its software to handset manufacturers and wireless operators. A live trial already took place with an unspecified Tier 1 operator, he said. Advertisements also could be included but that decision is for HipLogic’s customers to make, he added.
In the field, opinions on Java’s future in mobile devices vary. Some major companies, such as handset makers Motorola and Nokia and carriers Sprint and Vodafone, already embrace mobile variations of Java. Motorola includes support in “nearly 100” products; Nokia hosts a very active mobile Java discussion forum; Sprint’s Wireless Toolkit is based on Sun’s own tools; and Vodafone Group, for its part, offers developers the Betavine.net community which is also heavily Java-influenced.
Venki Seshaadri, president of the Silicon Valley Java Users Group, said his members’ interest in using mobile Java definitely increased recently, because of the applications possible in high-end devices such as the iPhone and because of less expensive smartphones becoming more accessible to the general public. Sun is not doing well at informing developer groups about its updates and therefore some people are becoming more interested in the Google Android approach, he said. However, he said, the 2.2 upgrade this fall sounds appealing. “I think that would probably make a big difference in the market,” he said. “It has to be very nimble and be able to run very quick and effective on the mobile devices.”
Meanwhile, HipLogic’s Young said he understands that many people think fixing JavaME or rebuilding it from scratch is an overwhelming and possibly futile endeavor. “I welcome the skepticism of it all because what we’re doing is big and if it does work, it’ll be huge. I don’t expect a lot of people to really grasp what we do until the dust settles.”