In selecting a PDA platform for Java development, there are a number of factors that come into play. In consideration of these factors, it is important to remember that the two leading subclasses of PDAs?Palm OS devices and PocketPCs?are fundamentally different devices with quite different philosophies behind them. The major differences are listed in Table 2.1.
It is mainly owing to the differences in design philosophy that different J2ME configurations target the two types of device. Although Java will run on both devices, the richness of the Java platform varies, according to the capabilities of the device, and, accordingly, the configuration.
PocketPCs are generally more expensive than Palm OS devices. For the purpose of comparison, four top-end devices were selected of each type. The street price was informally surveyed and compared. Table 2.2 lists the results in no particular order; prices are given in U.S. dollars.
Palm OS Devices | PocketPCs |
---|---|
PIM heritage. The original Palm OS devices were basically high-end PIMs with larger screens and the ability to write rather than type. | PC heritage. The PocketPCs are basically miniature PCs. |
Simple functionality. The Palm approach has been to do a few simple tasks very elegantly. | Rich functionality. The PocketPC approach has been to start with Windows and take functionality out, but leave a PC feel to the device. Hence, the Start menu and the file system remain the same. |
Low processing power and long battery life. Palm OS devices have 20 MHz or 33 MHz CPUs, and typically 8 M of memory. The new ARM-based[a] Palm OS devices likely to appear in 2003 will match PocketPC speeds and memory capacity. | High processing power and shorter battery life. PocketPCs currently have 206 MHz or 400 MHz CPUs,[b] and typically 32 to 64 M of memory. |
[a] ARM is a processor used in many classes of device and is produced by ARM Ltd.
[b] In comparing device speed, keep in mind that a 20 MHz device does not necessarily run applications 10 times slower than a device with a 200 MHz CPU, especially if the two devices have different hardware architectures, as do Palm devices and PocketPCs.
PocketPC | Low | High | Palm OS | Low | High |
---|---|---|---|---|---|
Casio E-200 | $600 | $650 | Handspring Treo 270 | $500 | $700 |
HP iPaq 3970 | $715 | $780 | Palm m515 | $300 | $400 |
Compaq iPaq 3870 | $537 | $680 | Palm i705 | $298 | $450 |
Toshiba e740 | $550 | $600 | Sony CLIE PEG-NR70V | $510 | $600 |
Average | $601 | $678 | Average | $402 | $538 |
From this selection of high-end PocketPC and Palm OS devices, we can see that PocketPC devices are roughly 25?50% more expensive than high-end Palm OS devices.
Whether you are an in-house developer targeting internal users, or a developer targeting the corporate market, corporate standards for PDAs will affect your choice of platform. According to the Winn Technology Group[1] (as of December 2002), the Palm OS has been chosen by 85% of the Fortune 1000 companies that have selected a standard handheld operating system.
Source: Top Ten Reasons to Choose a Palm Powered Handheld, 2002, http://www.palmsource.com/includes/top_ten_reasons_to_choose_palm_powered.pdf.
From a Java developer's perspective, the functional richness of the platform depends on whether you have access to it from Java. All PDAs have standard PIM functions (i.e., address books, notes, task lists, and calendars). The PIM optional package is designed to allow easy access to PIM functions of a PDA from Java. PersonalJava does not specifically have a PIM API, but it provides access to the functionality of the underlying operating system and application through JNI. However, the degree of accessibility through JNI depends on the availability of an API library to access the functionality.
The support for Java is important if you are a Java developer wanting to write applications for PDAs. Although PersonalJava is richer in Java APIs and closer to J2SE than MIDP and the CLDC optional packages, PersonalJava lacks the APIs to access PDA-specific features.
Although both Palm OS and Pocket PC platforms are becoming wireless-enabled with WiFi and Bluetooth, the availability of these features to a Java application is limited. It will probably take some time for the Java APIs for wireless to emerge and mature, and then for vendors to add these APIs to their Java Virtual Machines (VMs) on PDAs.
In the 1990's, Palm OS was the dominant PDA operating system in the market. Since that time, through several iterations of its offering, Microsoft has challenged that dominance and has been reasonably successful. In 2002, Pocket PCs were a strong alternative and growing in market share.[2] Figure 2.1 shows the change in market share over a three-year period. The trend in that time has been that PocketPC has increased share, whereas Palm devices have decreased share.
Sources: http://zdnet.com.com/2100-1103-836270.html and http://zdnet.com.com/2100-1103-948358.html.
With most PDA vendors likely to have released new models based on the Intel XScale CPU by the time this book is published, soon the hardware difference between Palm OS?based devices and PocketPC?based devices will have diminished. Palm OS 5 is visually and functionally similar to previous versions, although the memory constraints of previous Palm OS versions have been lifted.