Top Factors in Choosing a PDA for Java

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.

Cost

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.

Table 2.1. Differences in Philosophy

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.

Table 2.2. A Sampling of PDA Prices (circa December 2002)

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.

Corporate Standard

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.

Richness of Functionality

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.

Richness of Java Support

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.

Wireless Support

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.

Market Share?Actual and Trend

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.

Figure 2.1. Changes in PDA market share

graphics/02fig01.gif

Direction?-Where Will the Vendor Be in Two Years?

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.