Java aimed at wireless world

When Nextel and Motorola announced the release of their new i85s and i50sx mobile phones in April this year, the long-anticipated confluence of wireless telephony, mobile computing and the Internet seemed finally to have arrived in earnest—around here, anyway. Although similar devices have been circulating in Japan and Korea for some time, the Nextel handsets are the first and only mobile phones available in the U.S. that can run real applications. But they will not be alone for long: A number of other vendors, including Nokia, Siemens and Sony, have promised to unveil their own similar devices very soon.

All these smart mobile devices have at least one thing in common: They are, or will be, Java-enabled. It is no exaggeration to say that Java may be emerging as the key enabling technology and the development language of choice for wireless.

Certainly that is the hope of Sun Microsystems, whose Java 2 Micro Edition (J2ME) underpins the latest innovations in this market. Sun and its wireless partners first announced J2ME—a stripped-down version of Java that resides on handsets and PDAs—in 1999, hoping to inspire Java jocks to create mobile data apps. Although the standard and enterprise editions of Java had enjoyed success on desktops, laptops and particularily servers, it was not until J2ME's arrival that it found its way to devices with small screens, simple controls and limited memory.

J2ME allows developers to build Java runtime environments smaller than 200 KB that sacrifice some of the features of the standard edition, but are compatible with regular Java environments.

Dan Hushon, Global Manager of the Java Pervasive Technology Practice at Sun, insists that Java is actually driving wireless development. "Java is definitely a driving force in the wireless space," he said. "It offers developers huge advantages in terms of security, portability and the sheer numbers of Java developers."

Hushon is probably right, at least about the numbers. The ranks of Java developers are burgeoning, and interest in wireless development is spreading. In a recent survey of 521 developers conducted by Santa Cruz, Calif.-based market research firm Evans Data Corp., 30% of respondents said they plan to use J2ME for their wireless projects, 25% plan to use Palm Inc.'s OS and 22% plan to use Windows CE.

In addition, worldwide usage of smart, handheld devices is growing at a fierce pace. Industry analysts at Framingham, Mass.-based IDC expect the global market for these devices to grow from 12.9 million units in 2000 to more than 63.4 million units by 2004.

In Japan, J2ME is already a widely used wireless development technology. NTT DoCoMo (the cellular spin-off of Japanese telecom giant NTT) has shipped an estimated 2 million J2ME-based cell phones in recent months. The company expects to ship 20 million by the end of the year. Two other Japanese cell phone service providers, Vodaphone Group and KDDI, also plan to offer Java-equipped phones.

Programmer "mindshare" was an important factor in Nextel and Motorola's decision to Java-enable their new handsets, says Ben Ho, Director of Strategic and Partner Marketing at Nextel, Reston, Va. With an estimated 2.5 million programmers worldwide coding in Java, they liked their chances of attracting new applications to their hardware. But there were other factors, too.

"Java really enhances our service offering," Ho said. "It gives us an improved GUI, much better than the menus associated with WAP [Wireless Application Protocol]. And Java lets you continue to use your apps when the network isn't providing coverage. The applications reside right on the handset, and Java enables persistent memory, so you can actually store data on the handset."

Java's portability has made it attractive to wireless developers. Some of the respondents in that Evans Data survey told researchers that Java-based applications were their first pick because of their ability to run on different hardware platforms.

Warren Wilson, director of the global and wireless practice at Boston-based research firm Summit Strategies, said that Java's ability to remain device-independent makes it a natural choice for wireless development.

"Until recently," Wilson said, "development of wireless apps has been very silicon-specific. Many companies have yet to standardize the types of wireless devices their employees use. If workers using their own PDAs and cell phones all want to use a particular enterprise application, it's tough for the IT department to deploy and update an app across the different devices. Java makes application development and management a whole lot easier, faster and less costly."

Beyond device independence, platform portability and the installed programmer base, there is the language itself, which Barry Geipel, software architect at Malmö, Sweden-based Telelogic, and lecturer on Java and alternative technologies at the University of California, Irvine, said is—or should be—Java's greatest selling point.

"It's true that Java gives you platform independence," Geipel said. "But to me, that's really a side benefit. One of Java's greatest benefits is simply that it lets you write better object-oriented systems. Whenever you go to a Java environment, you greatly increase your [developers'] ability to work rapidly, because the systems are much more understandable. I think you're going to begin seeing much higher quality wireless products coming out of Java development."

Mark Jamtgaard, CTO of 2Roam, a Redwood City, Calif.-based wireless infrastructure company, agreed: "Programmers are more productive in the Java environment. And that's important nowadays. Everyone is under the gun. There was wired Internet speed. Now there's wireless Internet speed, which is ten times that rate. There has been so much investment in this space. Everyone can see how pervasive mobile phones are, and everyone has seen how huge the Internet became. The convergence of those two has set this thing on a rocket."

Of course, Java is not without its faults. A compiled Java class is not compact. The whole runtime environment is several megabytes at its smallest. And, despite its portability, different browsers implement Java differently, which makes it hard to write a Java applet that works well in all browsers.

"Java brings a number of impressive capabilities to wireless," Wilson said. "But it also suffers from some of the same challenges from which it suffered in its early days—mainly performance issues."

And Java is not without competitors in the wireless market. San Diego-based Qualcomm, for example, has developed the Binary Runtime Environment for Wireless (BREW) platform, which the company introduced in January. BREW is a thin apps environment that gives developers yet another open, standard platform for wireless devices. But apps developed on BREW will operate only on handsets with Qualcomm Code Division Multiple Access (CDMA) chipsets. CDMA is a method for transmitting simultaneous signals over a shared portion of the spectrum. The foremost application of CDMA is the digital cellular phone technology from Qualcomm, which operates in the 800 MHz band and 1.9 GHz PCS band. CDMA phones are noted for their excellent call quality and long battery life.

According to Wilson, Qualcomm wants to position BREW as complementary to J2ME. "I think that's a smart move," he said, "especially given the skepticism with which the wireless industry currently views Qualcomm. If you're not in the CDMA camp, you see Qualcomm as the enemy, despite its technological strengths."

In May, the company made the BREW SDK available to developers as a free download from its Web site. The BREW SDK includes a number of Windows-based tools that allow developers to create and test their apps in a standard development environment for specific phones.

Another important J2ME competitor is Kada Systems, a Burlington, Mass.-based company that has developed a clean-room implementation of a Java Virtual Machine. The Kada VM comes with APIs to provide a small footprint Java deployment environment on handheld devices.

Jim Acquaviva, Kada's CEO, said that J2ME is too stripped-down. The Kada VM, he said, allows for more memory and RAM on the device than J2ME, and it lets developers use the same Java tools they already use. Kada is currently working with database vendors, such as Oracle and Sybase, to enable applications that would allow users to access databases from wireless devices.

According to Shekar Mantha, Kada's founder and CTO, whether it is Sun's J2ME or his own Kada VM, Java is destined to become the de facto app development language for wireless. "There's just nothing in terms of competition on the horizon," he said. "Java is easy. More than 90% of the universities in the U.S. are teaching object-oriented programming using Java. You have a breadth of programmers from which to choose. Java has security and portability capabilities that you can't get with C or C++."

Acquaviva agreed: "Java is the language of the network. With J2EE's emergence, standards in Java messaging and Java transaction services, we have a framework available for integration of end-point-to-server processing. Those are standard, well-known frameworks on the J2EE side, and they are easy to transport to the wireless environment. We aim to enable client-side Java on mobile devices and to tie into that architecture. Java is the language of the Internet, and investment in the Internet over the next three to five years will be fundamentally and primarily in the wireless space."

Wilson agrees that Java is playing an important role in the evolution of wireless. Nevertheless, whether any one language, standard or technology will ever dominate the wireless market, he said, is still very much an open question.

"There is a tremendous amount of competition in this space to develop platforms that do some or all of the same things that J2ME does," Wilson said. "Java may seem to be a dominant technology right now, but the picture is going to become more complex before things settle down."

Even a few vendors who should be considered competitors are embracing J2ME. RIM and Palm, for example—enterprises with established developer platforms that offer some of the same capabilities as J2ME—are jumping on the Java bandwagon. RIM reportedly decided to support J2ME because of Java's huge developer base. Developers, they reasoned, will be more interested in writing apps that they know can run over any sort of mobile device.

Whatever the platform, the growth of wireless development in the U.S. is likely to be driven by forces from wireless markets in Europe and Asia, Wilson said. Outside the country, demand for app-running mobile phones has come primarily from consumers. Currently, an estimated 72% of Japanese cell phone owners routinely connect to the Internet, compared with 6% in the U.S. The numbers are similar for much of Europe. But the primary growth of the U.S. wireless market, at least initially, is expected to come from businesses. Summit Strategies believes that, in North America, business applications will drive the initial big markets in wireless. So J2ME's ability to deliver a "richer user experience" may not matter much for a while.

"The graphics, animation and color—things that are going to be very important in consumer apps—are probably less important in business apps," Wilson said.

In any event, Americans may have a harder time than the rest of the world adapting to the tiny screens of mobile computing devices, Wilson said. PC penetration in this country is approaching 60% of households; those computer users are accustomed to seeing their E-mail and Internet on full-size screens.

"To them the wireless experience looks like a glass half empty," he said. "For the rest of the world, it's a glass half full."

Although U.S. networks are considerably behind our Asian and European counterparts when it comes to SMS and other consumer-oriented mobile features, Wilson said, U.S. businesses are further along in Internet-enabling their enterprise apps. So American businesses are likely to be more wireless-ready.

All of which is fine with Ben Ho, who expects the new Nextel phones to appeal to his company's primary customer base: corporate users and small- to medium-sized business owners. Nextel claims 8.3 million customers worldwide; it also claims that some 5.3 million Internet-ready handsets are in the hands of those customers. Virtually all of those users are business customers.

"There are some consumers in among these users," Ho said, "but they are primarily business customers. [The] consumers, [are] probably people who use the phones for both business and personal use.

Ho expects the selection of Java applications available for the new Nextel handsets to grow quickly and his company plans to support many of them. "We think it will go from tens to hundreds in the next couple of months to thousands in the next six to 12 months," he said.

In fact, Nextel has established its own developer program, through which the company will support J2ME wireless developers working on applications for Nextel phones with testing, strategy, marketing and other resources. Ho says that they will establish tiers of applications. To earn the top-tier label, "Nextel Compatible," an app will have to go through rigorous testing, he said.

The Motorola i85s and i50sx handsets are also the first wireless handsets with Mobile Information Device Profile (MIDP) certification from Sun, and Motorola is one of the first handset manufacturers to be compliant with Connected Limited Device Configuration (CLDC). This certification allows J2ME technology-enabled iDEN handsets to carry Sun's Java technology logo.

According to Sun, the CDC "is a Java Community Process effort that has standardized a portable, Java building block for consumer electronic and embedded devices. The CDC configuration of J2ME provides for a virtual machine and set of core libraries appropriate for use with an industry-defined profile, such as the Foundation profile."

Sun defines the MIDP as "a set of Java APIs that, together with the CLDC, provides a complete J2ME application runtime environment targeted at mobile information devices, such as cellular phones and two-way pagers. The MIDP specification addresses issues such as user interface, persistence storage, networking and application model. The MIDP provides a standard runtime environment that allows new applications and services to be dynamically deployed on the end-user devices."

The phones will eventually provide access to office E-mail and management and sales applications, Ho said. The phones have 640 KB of storage space for programs, and 120 KB of that space is used by pre-loaded applications. The target size for most programs is 10 KB to 50 KB.

Currently, applications are downloaded to the phones from a PC via a cable. But sometime this summer, Nextel plans to take the PC out of the equation, allowing "over the air downloads." Users will soon be able to call a Nextel rep and have their handsets provisioned while they wait, Ho said.

And what kind of apps reside today on these state-of-the-art, smart, mobile devices? So far there's an expense pad application, a calculator suite, a metric converter, an application called "Stairs" that allows builders to calculate the rise and run for a staircase, and one Tetris-like game called Borkov, from Sega.