O'Reilly Network    
 Published on O'Reilly Network (http://www.oreillynet.com/)
 See this if you're having trouble printing code examples

A Palm Introduction

by Chris Halsall
   Further Resources for Palm Computing

The Palm Computing Platform, An Overview.

An Introduction to Palm Programming.

• The entire book by O'Reilly & Associates is online, Palm Programming: The Developer's Guide.

Released in 1996 from an unlikely source -- US Robotics, a modem manufacturer -- Palm Organizers now enjoy the dominant position in the Personal Digital Assistant (PDA) market place with approximately 80% of the market. It's not been an easy climb for the Palm, however, having to overcome Apple's Newton, Microsoft's Windows CE, and several smaller players like Psion.

The key to the Palm's success has been its simplicity and open development options. A lot of thought went into the PalmOS and applications, to ensure that people could do things quickly, efficiently, and without unneeded eye-candy that added nothing to functionality. The fact that anyone could develop applications for the Palm meant that developers were attracted to the platform in droves, creating a huge inventory of commercial, shareware and free applications.

There are a wide range of Palms on the market today, each targeted for a slightly different audience. The III series is the workhorse variety; these handhelds tend to be the cheapest and thus the most popular. For example, the IIIe, with 2 megabytes of RAM, can be found for less than $150 USD now. The Palm V series is targeted more towards executives, being slightly smaller, with a sexy metal case and built-in rechargeable batteries. The last series currently available, the Palm VII models, are very similar to the IIIs in appearance but have built-in wireless capability and an antenna.

Also in Linux and Your PDA:

Making the Palm/Linux Connection -- There's plenty of Linux software for Palm users. Here are a few tricks to help you make the connection.

All Linux PDA: Fact or Fiction? -- Have you heard about the Yopy?

In addition to handhelds built directly by Palm Computing, there are also third-party manufactured units such as the Handspring Visor models or the IBM Workpad. They all are running the PalmOS, licensed from Palm, and have the same buttons, touch-screen and writing area. Each has different amounts of built-in RAM and expansion abilities, and some will have flash ROMs that will let you upgrade your OS.

Just what is a Palm Organizer?

Palm Organizers are full computers, but tiny enough to be held in the hand and designed to be used to help people stay organized. Most models are approximately 3 by 4.5 inches and about 3/4 of an inch thick. They have touch-sensitive displays that are 160 pixels square; depending on the model, these will be either plain black-and-white, grey-scale, or color.

Instead of a keyboard, there's an area beneath the display where a special kind of handwriting, "Graffiti," is used. In addition to this, there are four "soft" buttons for "Home," "Menu," "Calc," and "Search." Lastly, there are physical buttons for "Calendar," "Phone List," "Lists," and "Memos," plus scrolling and power buttons.

Most Palms have processors which are about twice as powerful as the first model of Macintosh computers, although some newer models are even faster. Most models are powered by a pair of AAA batteries, while the higher-end versions have built-in rechargeables. Battery life can provide weeks of regular use. While not something you'd run an RC5 key search on, these devices are certainly powerful enough for most handheld applications.

It's important to realize that Palms are not intended to replace a desktop or laptop, with their full environments, but instead are designed to be satellite computing devices supporting people while they're away from their desk.

All Palms have a serial port which is used to synchronize information between the Pilot and the desktop by way of an adapter cable or cradle. While on the road, a modem can be used instead to update information. Some Palms also have an infrared (IR) port, which can be used to communicate between the devices and desktop machines if they're appropriately configured. And of course, wireless models can always be connected, providing they're in a service area.

Palm software

A key feature of the Palm design is that new software can be uploaded to the devices, supplementing or completely replacing the pre-installed software. The devices come with date book, address book, to-do list, memo pad, e-mail, and expense applications built in, with each application reading and writing well-documented database files. Enhancing a Palm simply involves finding an application you want to run and uploading it. There are lots of applications available -- some commercial but also a great many that are free.

Palm devices don't have a hard drive, so everything is stored in a nonvolatile RAM drive. Palm applications are simply files in this file system, ending in .prc, and sit alongside any database files they create, usually ending in .pdb. The "Applications Launcher" presents the user with a list of all the .prc files on the Palm, with applications optionally categorized to the user's preferences.

This means that managing software is quite easy, since each application usually involves uploading just one file to the Palm, plus one or more database files. Backing up the device involves copying and saving these same files. On the Internet, Palm software is often distributed either packed into an archive format, or simply as an uncompressed .prc. Installing new software can be as easy as downloading from the Web with a browser and then uploading to the device.

There are many sources for software to run on the Palm OS. The first stop should probably be the Palm Software Connection at http://www.palmpilot.com/resources/shareware.html, which links to a great many applications, most of which can be downloaded, installed, and run immediately. Some are designed for use with particular software on the desktop, but most are stand-alone or use a standard data-interchange format through a "conduit," so different Palm and desktop apps can inter-operate.

Another interesting source of Palm apps is the RedHat "Powertools" directories since version 6.0, available from most RedHat FTP mirrors. Contained within are several categories of applications, some quite useful. Other sources include PalmGear at http://www.palmgear.com/, Tucows PDA site at http://pda.tucows.com/palm/, and Handango! at http://www.handango.com/palm_software.shtml. There are certainly others; these are simply my most commonly frequented.

As with all software decisions, evaluation of many solutions is often the best way to find the perfect fit. A large amount of free software is available, all the way up to free GPL programs, and these are worth hunting down and trying. As with any system, it's a really good idea to back up before installing a new application or, at least, before launching it for the first time.

The quality of the software available ranges from absolutely amazing to rather underwhelming. And often this doesn't correlate with price -- some of the apps I personally use the most are GPL, like DiddleBug and CSpotRun, while one app I paid $30 for always crashes on me.

The Palm and its competitors

Microsoft just recently announced their (lucky?) third attempt at getting Windows CE working correctly and accepted by users. Now called Pocket PCs and Windows-enabled, the devices continue to rely on power-consuming high-speed processors, large memory arrays and color displays to deliver multi-media ability on devices that really aren't ready for it. Until Microsoft realizes that functionality, not creeping featurism, is what's needed in handheld devices, I don't think Palm has much to worry about from Pocket PCs.

An area where I think Palm will soon have some competition is in handheld and embedded Linux devices. As it's taking time for Linux to gain desktop market-share, it will similarly take a while for it to get a strong foothold in the PDA market as well. Also, Palm Computing isn't standing still, with new devices and wireless features announced just recently.

For end-users, right now, PalmOS-based devices are probably the best choice of PDA, especially for Linux/Unix users. The software selection simply cannot be matched by any other PDA solution, with a developer base similarly large. No Palm is complete with only the software included, though, so be sure to spend some time downloading and experimenting with some of the available extra tools.

For developers, the PalmOS is a good platform to start on since it's free to develop for and has a large user base to market to. Those interested in catching the handheld Linux wave might find advantage in developing Palm versions as well, if the application allows it. And since Palm devices are available off the shelf immediately, prototyping and testing can be done while the Linux devices come to market.

I personally don't know anyone who's used a Palm for a week, and was then willing to give it up. Within a few weeks of buying my first Palm, a second was purchased for my wife. They are simply too handy not to have. Providing they're used to jot down every appointment and item to be done, nothing will ever slip again. Of course, if you don't tell your Palm, it can't tell you.

Editor's Note: Linux users who want to learn more about using the Palm should take a look at Chris Halsall's companion article, "Using the Palm with Linux." Also, don't miss Derrick Story's report on the YOPY, possibly the first PDA running the Linux operating system being produced by a startup in Korea.

Chris Halsall is the Managing Director of Ideas 4 Lease (Barbados). Chris is a specialist... at automating information gathering and presentation systems.

Discuss this article in the O'Reilly Network General Forum.

Return to the O'Reilly Network Hub.

Copyright © 2009 O'Reilly Media, Inc.