PalmPilots ubiquitous at JavaOne, despite device's current decaffeinated status

3Com offers Conduit Development Kit (Java Edition), but what about JVM?

This year's JavaOne Java Developer Conference revealed one of the big trends involving Java: the emergence of Java-enabled, Java-aware, and Java-compatible gadgets and gizmos, both in prototype and in practice.

Conference attendees were welcomed to JavaOne with the gift of a handsome signet ring containing a Dallas Semiconductor chip embedded with Sun's Java Card 2.0 technology, capable of computing a digital signature, transferring business card information, and encrypting the data.

Java Rings served as an apt introductory example of the plethora of unconventional computer devices demoed at JavaOne. Pavilion exhibits showcased lead-encased portable warehouse-tracking devices; remote controls; flat, textbook-sized, hand-held network computers; Java SmartCards and SmartCard-readers; cash and financial transaction machines; Java-enabled Web phones; oscilloscopes; and even a fully-automated coffee factory.

The original intent of Java was to provide a seamless operating system and development environment for smart gadgets, appliances, consumer devices, institutional technology systems, and embedded devices. Then, for a couple of years, the advent of the Web sidetracked -- and at the same time advanced -- the development and acceptance of Java through the use of Java-enabled Web browsers. But the proliferation of Java-enabled computer devices that don't follow the conventional desktop PC model seems to have brought the use and potential of Java full-circle in this regard.

One gadget that stood out at this year's JavaOne was the 3Com/Palm Computing Inc. PalmPilot personal digital assistant (PDA). While I won't venture a guess of the percentage of conference attendees toting a PalmPilot, observation at the show indicates this popular PDA has crossed the threshold of trendiness and technostatus into the realm of cellular phones and pagers as a convenient business tool.

Comprising 66 percent of the global handheld device market, the PalmPilot -- now called the Palm Computing Platform device by 3Com -- may very well be the most successful PDA on the market. Easily fitting into the palm of your hand without sacrificing the readability of text or icons, the PalmPilot boasts a base of 10,000 developers and hundreds of applications, both commercial and freeware/shareware.

Besides running someone else's application on your PalmPilot, the PalmOS allows you to construct your own app -- right on the handheld PDA itself. Right now, you can write C/C++ code on the device (though inputting characters directly via the stylus on the Graffiti handwriting-recognition writing area can take time), compile it, and run it immediately. For this reason, the PalmPilot is a hot ticket item for developers as well as business executives.

The PalmPilot is compatible with Java, but its Java support doesn't measure up to its C/C++ support because of the nature of Java development coupled with the physical limitations of such a small consumer device. 3Com released the Conduit Development Kit (Java Edition) (CDK-JE), which allows you to design a Java application (JDK 1.1x-compliant and JDBC-accessible) on the desktop, transfer the data from the application to the device through a specialized pipe (the "conduit"), and access the data via an application present on the Palm.

Although the potential for using conduits is immense (think enterprise databases, front-end interfaces to mainframe applications, customized intranet services, etc.), Palm-enthusiastic JavaOne attendees were disappointed to learn that the PalmOS still lacks the crucial Java Virtual Machine (JVM).

Daniel Pifko, Product Manager of Palm Computing Inc.'s Software Engineering Tools, explained the reason for this: In order for the Palm Computing Platform device to be as small, lightweight, and affordable as it is, its developers had to make some carefully-chosen sacrifices -- namely RAM-type memory, processing power, and the ability to handle and manage dynamic heaps. Like most non-desktop computer devices, the Palm Computing Platform device was optimized for specialized use; for instance, much of its bank of resources are dedicated to quickly turning on and accepting data input. Compared to a desktop computer or another type of computerized device -- which typically is turned on once a day, takes a minute to boot, and runs a number of robust applications all day -- the Palm Computing Platform device (which users turn on an average of 22 times per day) just doesn't have enough physical resources to devote to large-scale or even mid-size applications or environments.

A full-blown Java VM requires about 9 megabytes -- well beyond the scope of a PalmPilot. Palm Computing Inc. checked into alternatives to using a standard Java for enabling Java on the handheld device. One potential solution was to create a specialized compiler that optimizes Java applications for use on the device. Palm Computing developers quickly realized that this solution, while possible, would defeat the whole purpose of Sun Microsystem's Write Once, Run Anywhere philosophy.

Palm Computing developers made about a dozen attempts to create a working model of Java for the device, half of which involved designing a lightweight JVM. But even the lightest JVMs turned out to be more than 1 megabyte -- and with an OS and physical device that can support 2 megabytes at best, any JVM is just too bulky.

Sun recently introduced PersonalJava (pJava) specifically for use with gadgets and consumer devices. Developers at Sun hope to incorporate pJava into the popular Palm Computing Platform device in the near future. Palm Computing developers, while always eager to develop and release new solutions, are wary about this possibility. PersonalJava is, after all, yet another JVM -- and past experience has demonstrated that JVMs are just too big, and the Palm is just too small.

But when there's a will, there's a way. Java enthusiasts hope the Palm will incorporate an efficient JVM by the time next year's JavaOne rolls around. In the meantime, you can make due with the Java Conduit solution. The CDK-JE includes the Java Conduit API specification, API functional libraries, header files, JDK 1.1x-compliant class definitions, four useful source code examples, a reference and guide, HotSync Manager 2.0 and 3.0, the Sun and Java Runtime Environment (JRE), and an AvantGo Web channel manager as a bundled product.

A 10-year veteran of the Internet, Mariva H. Aviram is an Internet consultant and writer covering the computer industry. Mariva's published works include articles in c|net, NetscapeWorld, and InfoWorld. Recently, Mariva wrote XML For Dummies Quick Reference, which is pending publishing by IDG Books Worldwide. For more information, visit

Learn more about this topic

  • Palm Computing Inc. PersonalJava
  • Dallas Semiconductor's Java ring debut at JavaOne