Feb 02 Reviews
Volume Number: 18 (2002)
Issue Number: 02
Column Tag: Book Review
Palm OS Web Application Developer's Guide
by Andrew Downs
Introduction
I recently purchased the book Palm OS Web Application Developer's Guide by Ben Combes et al (Syngress Publishing, Inc.) My original intent was to use parts of the book to validate my work on a Web Clipping Application (WCA) prototype. However, after completing my spot-checks, I realized that this is exactly the type of book that would have saved me a lot of time during the application design and implementation phases. If you are working in the web clipping arena, you probably need this book.
If you are familiar with Palm Inc.'s developer documentation, you know there are some useful PDF docs and sample code available, but the cutting-edge Palm OS technologies are not easy to figure out in a short timeframe. Part of the problem involves having to search and traverse the web site looking for information. Having the most important information available in one book is very convenient.
What's in the book?
The topics include several that you would expect: an overview of web clipping, constructing WCAs with text and images using the Palm tools, using forms in your application, session tracking, and customization (based on the user's current location, definitely cool). There are even a few relevant history lessons.
Each chapter includes a Frequently Asked Questions section at the end, as well as a checklist of the major points discussed (with brief descriptions). The latter, titled Solutions Fast Track adds a nice touch. My only complaint about this area is that the book's sole appendix is simply a consolidated reprint of all those checklists.
Most chapters include sidebars aimed at improving your deployment success rate, helping you locate bugs more quickly, and so on. I found the various tips relevant and informative. Plus, they break up the reading just enough to get your attention.
There are more HTML examples than C examples; so source code junkies in the audience might be inclined to regard this as yet another non-programming book. Don't make that mistake. The C examples are few but get the point across clearly. Plus, writing HTML pages that render well on a Palm device is not an easy task, especially if you are attempting to distill the typical desktop browser-oriented web page. Hence, the need to discuss HTML.
If the ever-growing number of device and network configurations makes your head spin, then you will appreciate the book's coverage of various device models (Palm V vs. Palm VII vs. Handspring Visor), both wireline and wireless modems, and the wireless network (including proxy server) used by the Palm VII and Palm.Net service.
I was pleasantly surprised at the consistency of the presentation, considering that there are four authors listed on the cover. Either one person did the lion's share of the writing, or the editor(s) took the time to make sure the individual styles meshed well.
There were a few grammatical oddities that I didn't catch on my initial read, such as missing words ("as", "the"), but they were infrequent enough so as to not mar the reading experience.
What's different about this book?
For starters, there is an entire chapter on debugging WCAs. How often do you find that in a programming book? Not often enough.
The book includes a chapter on integrating WCAs with other applications on Palm devices, including launching other applications. There is also an entire chapter devoted to INetLib (the Internet Library). This last item is particularly useful because the amount of sample code freely available to INetLib developers was minimal (and may still be by the time you read this).
Since this book concentrates on Web Clipping Applications (and not standard Palm applications), it wisely eliminates the typical chapter or two devoted to rehashing the standard Palm application skeleton. However, the book does include a discussion of modifying the application event loop for the purpose of watching for incoming data on a socket.
What would be nice to have?
Here are a few topics that are not covered, but would make useful additions for a second edition:
NetLib examples. This topic is already covered in one other Palm OS book that I am aware of, but it would be useful to show the differences when using INetLib versus NetLib. Why consider NetLib? Because it shipped for several years before INetLib, allowing your application to run on older devices and OS versions.
Short Messaging Service (SMS). This is a telephony technology that was added to Palm OS 4.0. While not an absolute necessity for web apps, it adds the ability to actively send a small amount of data to or from a device. It would make a nice notification feature when integrated with a WCA.
Conclusion
If you are involved in developing web-based Palm OS applications at this time, or are considering such a project, you need to read this book. I estimate it would have saved me forty hours of effort (searching the Palm developer web site, posting questions to the mailing list, experimenting with APIs, etc.) over six months. Given its price of $49.95, this book should pay for itself almost immediately. Even if you are simply curious about the technology, having such a great amount of detail available in one resource is extremely convenient.
Andrew Downs teaches programming courses at Tulane University College. You can reach him at andrew@downs.ws.