Expandable

Palm devices are simple, but are designed to be expandable. This was true from the very first Palm device to the current models. Let’s look at hardware and then software to see what this means.

Hardware Expandability

Palm devices come with very few types of built-in hardware features. While hardware features have changed over the last six years, this has been not so much an addition of features as an improvement of the existing ones. See Table 1-4.

Table 1-4. . Palm hardware features

Feature

Early units

Current units

ROM/Flash RAM

512K

2 MB

RAM

128K

8 MB

Screen type

Black and White

Grayscale and color

Infrared

No

Yes

Connection type

Serial

USB and serial

There are Palm OS devices that have bar code scanners, modems, MP3 players, and memory sticks; they are just not on every device. Likewise, you can buy modems, cell phone attachments, keyboards, and Global Positioning System (GPS) add-ons for a Palm handheld. From this, it is easy to see that Palm’s strategy is to have this minimal set of basic features and encourage licensees and other hardware device makers to offer optional device enhancements.

There has also been quite a bit of hardware differentiation for expandability among the Palm OS licensees: Handspring has their Springboard modules, Sony devices have MemoryStick expansion, Handera supports CompactFlash cards, and Palm’s m500 and m505 support MultiMedia cards and Secure Digital (SD) cards.

Software Expandability

Palm has used the same strategy with software. The original Palm Computing built-in applications included Date Book, Address, To Do list, Memo Pad, Calculator, and Password Protection. Palm added a new built-in application for expenses to the PalmPilot and a built-in mail application to the PalmPilot Pro. That’s a list of six software applications that expanded to eight. Compare this with a standard list of Pocket PC applications and you will see a different strategy at work. Rather than trying to provide all of the customers’ possible needs themselves, Palm has depended upon others to expand what’s available. They focused on creating an OS and offering development tools that made the device attractive to developers.

The result of this strategy is over 10,000 Palm OS applications (as of mid-2001). While no one would deny that this range of software and hardware comes in part from Palm’s success in defining the handheld space, it is also true that the software and devices have, in turn, made Palm successful.

Developing for the Platform

From the beginning, Palm has had several advantages that have made it an easier platform for which to write software. These include:

  • A free Software Development Kit (SDK)

  • Lots of documentation

  • Support in many different formats (email, conferences, knowledge bases, etc.)

  • A vibrant developer community

Because of decisions like these, the Palm OS continues to rapidly acquire developers—to the tune of 1,000 per week. All these people, whether they create mainstream software, vertical applications, or cool device add-ons, are an essential part of the Palm economy.

Expandability and the future

More is coming in the future for the Palm OS and its devices. Bluetooth, or short-range radio networking, will become quite important in the near to mid-term future for the Palm OS. Unlike infrared, which requires a short range (within 1 meter) and a line of sight (you have to point the infrared devices at each other), Bluetooth can work over longer ranges (on the order of the size of a conference room), and can work without directly pointing two devices at one another.

You might wonder how such a technology can be useful to Palm. Here is an example: a Bluetooth cell phone could be kept in a backpack or purse. A Bluetooth headset could transmit a voice to or from the cell phone and the user. The Bluetooth-enabled Palm OS device could communicate with the phone to ask it to dial. The device could also use the phone to do TCP/IP.

Currently, of course, you can use a headset, but it has to be connected to the phone with a wire. You can also use a Palm OS device to dial the phone or to do TCP/IP over the phone connection. Again, you either have to use a wire or infrared (which requires careful holding to make sure the connection isn’t broken).

Expandability allows users to accomplish different tasks

Palm has made their platform expandable because they know different users want to accomplish different tasks with their handhelds. Rather than trying to create one handheld that can accommodate everyone’s every possible need, Palm has created an OS that can run on a range of handhelds and support a variety of applications. Palm added a small number of applications that accomplish common tasks easily and quickly. More importantly, it has created an open OS that allows developers to write software and lets users do more specialized tasks. It has also encouraged hardware designers to specialize in different kinds of Palm OS devices and hardware add-ons.

Get Palm OS Programming, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.