DELIVERY & GIFT DETAILS:
Usually ships within 24 hours
Delivery Time and Shipping Rates
Eligible for gift wrap & gift message.
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:
and more…
More Reviews and RecommendationsLonnon 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 (www.bachmannsoftware.com) 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.
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
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:
and more…
| 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 |
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
(Continues...)
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.
loading...
loading...
loading...
Terms of Use, Copyright, and Privacy Policy
© 1997-2009 Barnesandnoble.com llc