Professional Palm OS Programming


Professional Palm OS Programming is everything programmers need to create applications for the world?s most popular operating system for handheld devices.

Veteran Palm developer Lonnon Foster, who has been developing commercial applications for the platform since its introduction nearly a decade ago, provides readers with hands-on instruction, lots of code, and advice that only comes from the trenches ? giving readers everything they need to build cutting edge applications and ...

See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (13) from $1.99   
  • New (3) from $12.50   
  • Used (10) from $1.99   
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any coupons and promotions
Seller since 2011

Feedback rating:



New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New Condition not used

Ships from: Murphy, TX

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2008

Feedback rating:


Condition: New

Ships from: fallbrook, CA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Seller since 2014

Feedback rating:


Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Sort by
Sending request ...


Professional Palm OS Programming is everything programmers need to create applications for the world’s most popular operating system for handheld devices.

Veteran Palm developer Lonnon Foster, who has been developing commercial applications for the platform since its introduction nearly a decade ago, provides readers with hands-on instruction, lots of code, and advice that only comes from the trenches – giving readers everything they need to build cutting edge applications and take advantage of the features of both Garnet and Cobalt.  Coverage includes:

  • Building forms, menus and user interfaces
  • Managing memory
  • Tying into Palm’s standard applications such as the Calendar, Phonebook, or Tasks
  • Storing program data on removable storage cards
  • Building network enabled applications
  • Creating web applications for Palm
  • Working with Palm OS new support for Web Services
  •   Programm ing for new device features such as jog dials, rocker switches, 5-way navigators
  • Working with sounds, graphics, multimedia, and new high-resolution color screens
  • Encrypting and decrypting data
  • Wi-Fi, Bluetooth and wireless networking

and more…

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
The Palm OS platform now runs everything from cell phones to gaming devices -- and there's not much the new multimedia and Wi-Fi enabled Palm OS "Cobalt" can't do. The platform definitely takes some getting used to, though. In this book, two extremely experienced commercial Palm developers systematically introduce both Cobalt (Palm OS 6) and its widely used predecessor, "Garnet," and present scores of insider techniques for making the most of them.

All the basics are here -- forms, user interfaces, memory management, data storage, graphics, even integrating your software with Palm's built-in applications. Everything connection-related is here, too, from Bluetooth to Web services to conduit programming (which you don't want to try without help). You'll even explore the platform's leading development tools, from CodeWarrior 9.3 to PalmSource's own PODS. Simply put, this book's breadth and depth make it indispensable. Bill Camarda, from the June 2005 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9780764573736
  • Publisher: Wiley
  • Publication date: 4/11/2005
  • Series: Wrox Professional Guides Ser.
  • Edition number: 1
  • Pages: 954
  • Product dimensions: 7.42 (w) x 9.24 (h) x 2.02 (d)

Meet the Author

Lonnon R. Foster is a programmer and writer who has spent the past nine years creating desktop applications, database front ends, Web sites, communications software, technical documentation, and handheld applications. He has been developing Palm OS applications almost as long as the platform has existed, starting with his first Pilot 5000 and progressing to more complicated wireless software for Symbol’s 1700 series. Lonnon fills his sparse free time with tactical tabletop gaming, recreational Perl coding, and reading everything he can get his hands on.

Glenn Bachmann is a noted author of several books and articles on Palm OS programming and mobile computing. Glenn is also president and founder of Bachmann Software, a leading provider of wireless file management, networking, backup, and printing software products for Palm OS, Pocket PC, and Symbian handheld computing platforms. Founded in 1994, Bachmann Software ( has established itself as a leading contributor to the mobile and wireless economy through its utility software products and partnerships with many of the key companies in the mobile computing arena. Bachmann’s PrintBoy, FilePoint, Mobile Backup, and Mobile Utilities are among the best-selling software utilities for handhelds and smartphones.

Read More Show Less

Read an Excerpt

Professional Palm OS Programming

By Lonnon R. Foster

John Wiley & Sons

ISBN: 0-7645-7373-X

Chapter One

The Palm OS Success Story

Since the release of the Pilot 1000 in 1996, devices running Palm OS have become synonymous with the term "handheld computer." Through the years, the designers of Palm OS have consistently been able to combine just the right mix of features to make a personal digital assistant (PDA) that is easy to integrate into almost any user's lifestyle. Designing an application that takes advantage of the strengths of the Palm OS platform requires an understanding of not only how the platform works but also why it was designed the way it was.

This chapter explains some of the thinking that has made the Palm OS platform so successful. It also points out important design considerations for developers of handheld applications. Finally, it provides an overview of the increasingly diverse world of Palm OS devices and the array of hardware capabilities they encompass.

The Palm OS Success Story

How has Palm OS maintained its position as the leader in handheld platforms, even in the face of capable challengers such as Microsoft Windows Mobile and Symbian OS?

One could debate the pros and cons of these and other worthy contenders for the title of "best handheld operating system" but the truth is that Palm OS continues to achieve a magic combination of simplicity and extensibility that attracts device manufacturers, developers, and users tothe platform.

This success is all the more impressive when you consider that Palm OS has remained the leader throughout a period of time when the definition of a "PDA" has expanded from a simple personal organizer to a robust application platform-all the way through to the present time when it is becoming increasingly difficult to find a handheld that does not play music, take pictures, play games, or double as your cell phone.

What makes Palm OS a great platform for so many developers and handheld users? There are many reasons, but these are among the most important:

Palm OS is small, fast, and efficient. Rather than suffer inevitable bloat as new features are added to the latest handhelds, Palm OS remains true to its core values and instead offers extensibility to its licensees, enabling them to build devices that add advanced features to the core operating system. Palm OS is easy to use. Devices that use Palm OS allow users to perform common tasks with a minimum of dialog boxes, menus, and screen navigation. Many common tasks are accomplished with a single button press or stylus tap. Palm OS allows simple and fast desktop synchronization. The Palm OS HotSync design enables one-button synchronization of data between the desktop and handheld. Despite having years to learn from Palm OS, other platforms have yet to approach the simplicity and ease of use that Palm OS HotSync offers. Palm OS embraces diversity. The number and diversity of licensees is a testament to how well the designers of Palm OS enable handheld manufacturers to adapt it to a wide variety of tasks, from multimedia to wireless communications. This is in direct contrast to other platforms, where devices tend to be fairly similar in form and function.

Palm hit upon a perfect combination of these factors with its first device, and it has resisted the temptation to cram marginally useful features into new Palm devices. Intelligent selection of such features has fashioned these devices into handy tools instead of merely expensive toys.

Comparing Desktop and Handheld Application Design

There are significant differences between a desktop computer and a handheld device-enough differences that designing a handheld application must be approached differently from designing a desktop application. Many elements must be kept in mind when designing a Palm OS application:

Diversity of handheld form factors Expectation of performance Limited input methods Small screen size Processing power Battery life Limited memory RAM as permanent data storage

Diversity of Handheld Form Factors

Although certainly some desktop computers are more capable than others and often come with varying sets of peripherals, in general the vast majority of desktop computers are reasonably suited to run just about any desktop software application. By contrast, Palm OS handhelds are an extremely diverse target for the application developer to consider. The form factor and capabilities built into a given target handheld device may in fact determine whether or not your application makes sense for the target user, or indeed whether it will run at all.

Consider an application that depends on Internet connectivity. Whether or not a given target device supports a way to connect to the Internet is clearly going to dictate whether the device and its user will be a reasonable target for the application. What about smartphones? Are you willing to limit your application's audience by including functionality that depends on the presence of telephony features? How about if your application requires a high-resolution color screen? Is it worth it to create a low-resolution, grayscale version of your application for older devices?

Although this can be considered a challenge for the application developer, it is also a benefit. The designers of Palm OS have produced a unique platform that is adaptable to a wide range of handheld form factors. Handheld manufacturers have responded by producing Palm OS handhelds that, in many cases, are specifically oriented toward a certain type of user (for example GPS, telephony, or entertainment). As the developer, you can elect to take advantage of the knowledge that the owner of a given device is guaranteed to have a specific capability available to them.

Expectation of Performance

Desktop application users usually don't mind waiting a few seconds for a program to load because they plan to use the application for an extended period of time-and they probably aren't going anywhere anytime soon.

Compare this with a handheld user on the go. A person using a Palm OS handheld will need to look up a piece of data (such as a phone number) quickly or spend a few seconds jotting down a note, while in the middle of performing some other task. Someone who is talking to clients on the phone or trying to catch a bus doesn't have time to watch a "wait" cursor spin while an application loads.

Speed and efficiency are key to a successful Palm OS application. Writing fast code is only a small part of the equation; the user interface must be simple, intuitive, and quick to use. The application should allow for rapid selection and execution of commands. Functions that people use the most should require less interaction than those that are used less frequently.

Limited Input Methods

A desktop system is ideal for entering large quantities of data. A keyboard and a fast processor allow desktop users to input lots of text easily into the computer in a short period of time.

Modern Palm OS handhelds come with a variety of supported data input methods. Virtually all support the standard Graffiti method of entering special shorthand strokes using a stylus on the handheld screen. Graffiti works remarkably well for many users. Palm OS also supports a popup, onscreen keyboard. However, there are now several handhelds with tiny built-in QWERTY keyboards (such as the palmOne Treo smartphone) and there are handhelds with a larger, laptop-sized keyboard (the Alphasmart Dana). There are also third-party add-on keyboards that communicate with the handheld by serial connector, IrDA, or Bluetooth.

With the possible exception of the Alphasmart Dana, and despite the numerous attempts made by handheld and smartphone manufacturers to make it easier to enter data on their devices, developers must realize that expecting a user to enter anything longer than a short note is asking a lot of the user.

As an alternative to direct input on the device, HotSync technology provides an easy way to get large amounts of data from the desktop to the handheld. One of the major advantages of Palm OS over other competing mobile platforms is the attention paid to making synchronization powerful yet easy to use. Many software applications leverage this capability by assuming that mass data entry will be performed on desktop machines, which then synch that data to their handheld. This kind of symbiosis between the desktop computer and the handheld plays to the strengths of both devices.

However, don't let this discourage you from writing applications that use a Palm OS handheld as a data collection tool. With intelligent interface design, you can perform data entry quickly and efficiently on such a device.

Small Screen Size

Current desktop machines have large monitors that generally run at a minimum resolution of 640 × 480 pixels, although with prices of display monitors continuing to decline, most computer users choose to run their systems at even higher resolutions. With this kind of screen real estate to play with, displaying large amounts of information and a complex user interface in the same space is easy.

By contrast, most Palm OS handhelds have a screen about six centimeters on a side, with a resolution of 160 × 160 pixels. Current high-resolution models support up to only 320 × 320 pixels of screen space, a far cry from the acreage available on a desktop computer. Even the new Cobalt version of Palm OS is designed to support a maximum of 320 × 480 pixels. Unlike desktop displays, keeping devices small enough for users to carry in their shirt pocket is a unique requirement for handhelds.

Designing applications to use such a small screen is a challenge. Displaying the right information is more important than fitting as much information on the screen as possible. You must strike a balance between showing enough information and keeping the interface uncluttered and simple to use.

Requiring users to scroll through several data screens to find the information they want will make your application frustrating to use. Find logical groupings of data and offer the user a way to filter different views of that data. The To Do List application is a good example of data filtering; its preferences allow users to choose quickly what subset of the list to display. Implementing the standard Palm OS userdefined categories also can help users zero in on exactly the data they want to view.

Unlike desktop machines, which are plugged into wall outlets and sport powerful and fast processors, Palm OS handhelds must rely on batteries for power, which limits them to slower processors. The small processor on such a device is not well suited to intense computations.

If your application has both handheld and desktop components, consider doing all the intensive number crunching on the desktop portion. Agreat example of relegating processor-intensive tasks to the desktop machine is Doc, the de facto standard for large text documents on Palm OS. Several converter applications exist for the desktop machine, which perform the computationally intensive conversion and compression of a large text document to Doc format. The newly formatted document then can be transferred to the handheld during the next HotSync session. All that the Doc viewer application on the handheld needs to concern itself with is displaying the document; the faster desktop computer has handled all the hard stuff.

Processing Power

Most handheld models sold today sport ARM (Advanced RISC Machine) processors, which are much more powerful than the slower processors of the earlier Palm OS devices. Although developers must consider the fact that there are millions of older handhelds out there, some of the processing power limitations imposed on developers in the early days have been lifted, at least to a certain degree.

Graphics-intensive games and processor-intensive image converters and viewers are two examples of applications that only a few years ago would have been unthinkable. If you are faced with a similar computationally intensive task that is part of the application you are developing, you are still advised strongly to consider how important it is for that task to be performed on the handheld instead of being offloaded to the desktop. However, at least now you have an option.

Battery Life

Another factor related to processing power is the issue of battery life and your application's impact on it. Although a proliferation of devices can play music, video, and games and surf the Internet, these tasks take their toll on battery life. At a minimum, your application should not be such a drain on battery life that the handheld cannot survive a typical full day of usage without needing to be recharged.

Limited Memory

As memory prices continue to drop, desktop applications can afford to be less choosy about how they deal with memory. When your application has 64 MB or more to play with, it can load huge data structures into RAM and leave them there the entire time the program is running.

Compared to desktop computers, Palm OS handhelds have very limited memory space for running applications. Though Palm OS handhelds continue to grow in their total amount of RAM, with some topping out at 16 MB, only a small fraction of that (one-sixteenth or less) is available for dynamic memory allocation, application global variables, and static variables. Application stack space is even tighter, often only 4K or less. Versions of Palm OS prior to 3.0 have considerably less room, so designing applications that are compatible with older Palm OS handhelds can be somewhat challenging.

When designing your application, consider that such things as deeply recursive routines, large global variables, and huge dynamically allocated data structures are not Palm OS-friendly.

RAM as Permanent Data Storage

Hard drives provide desktop computers with abundant permanent storage for vast amounts of data. Palm OS handhelds have considerably more limited storage space because they must store both applications and data in RAM. Although many Palm OS handhelds support secondary storage on memory expansion cards, this storage is usually limited to data. Applications cannot run directly from an expansion card, so they must either reside in RAM or be copied to RAM from the card before running.

As of this writing, available memory on a reasonably modern Palm OS handheld ranges between 8 MB and 128 MB. This type of limited storage dictates that handheld applications remain as small as possible. Avoid adding features to your application that will be used infrequently; if a feature will be used by fewer than 20 percent of users, leave it out.

For example, features that globally modify an application's data, but will see only infrequent use, are prime candidates for inclusion in a companion program on the desktop. Acommand that removes duplicate entries in a database would be perfect for the desktop; it's not likely to be used very often on the handheld, and omitting it from the handheld application makes the program smaller and more efficient.

Your application should pack its data tightly before writing the data to memory. Not only will this reduce the amount of RAM required to store your application's data but it will decrease the amount of time that HotSync needs to synchronize the data with the desktop computer.

Designing Applications for Smartphones and Other Wireless Devices

From a communications perspective, the way in which a handheld or smartphone connects to other computers and peripherals definitely impacts how developers must think about features that they take for granted on desktop computers: accessing the Internet, local area networks, and peripherals such as printers. Considering the following:

Many connection types Connection speed Mobile-user expectations Connection reliability


Excerpted from Professional Palm OS Programming by Lonnon R. Foster Excerpted by permission.
All rights reserved. No part of this excerpt may be reproduced or reprinted without permission in writing from the publisher.
Excerpts are provided by Dial-A-Book Inc. solely for the personal use of visitors to this web site.

Read More Show Less

Table of Contents

Ch. 1 The Palm OS success story 1
Ch. 2 Understanding the Palm OS 11
Ch. 3 Introducing the development tools 45
Ch. 4 Writing your first Palm OS application 77
Ch. 5 Debugging your program 115
Ch. 6 Creating and understanding resources 151
Ch. 7 Building forms and menus 169
Ch. 8 Programming user interface elements 199
Ch. 9 Managing memory 255
Ch. 10 Programming system elements 267
Ch. 11 Programming graphics 311
Ch. 12 Programming multimedia 349
Ch. 13 Programming alarms and time 359
Ch. 14 Programming tables 387
Ch. 15 Storing and retrieving data 469
Ch. 16 Manipulating records 501
Ch. 17 Using secondary storage 567
Ch. 18 Sharing data through the exchange manager 617
Ch. 19 Using the serial port 673
Ch. 20 Communicating over a network 703
Ch. 21 Learning conduit basics 725
Ch. 22 Building conduits 743
Ch. 23 Programming navigation hardware 813
Ch. 24 Odds and ends 827
Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)