This book shows you how to create a Palm application and a conduit. It assumes that you have the Palm OS documentation (available at the Palm Computing web site, http://www.palm.com/devzone) and know where to find things in it. Before showing you how to create an application, we also spend some time explaining the difference between a good application and a bad one; in other words, we tell you how to design for this platform.
Part I, gives you the big picture. You learn about the devices, their history, their development environments, and the right way to design a Palm application.
We happily admit that this chapter is unabashedly partisan. Would you want someone who doesn’t like the Palm Computing platform telling you about it? We also describe which features can be found on which devices and what you can expect to see in the future.
Here we show you the choices in development environments and the range of languages you can use.
We ruminate about the best way to design a Palm application and offer you some advice. We end this chapter by showing you the design of an application and its accompanying conduit that we are going to create in the book.
Part II, takes you inside a Palm application. We describe its structure, user interface elements, and the Application Programming Interface (API) for the various parts of the application.
We take you through the whole cycle of a Palm application, from the time it is launched by the user to the moment it quits.
Here you’ll learn how to create the various user interface elements of the application—everything from buttons to alerts, from lists to gadgets.
We explain the unique way the Palm OS creates data structures and stores data on a Palm device.
We show you how to create menus and the items in them. You also learn how to use Palm’s Graffiti shortcuts and which menus should be where.
We cover a little bit of this and a little bit of that in this chapter. The topics are tables, find, beaming, and barcodes (for use with the Symbol SPT 1500, a Palm Computing platform handheld).
This chapter gives you a detailed look at communications on a Palm OS device, everything from serial to TCP/IP.
Last, but most important, we turn to the crucial topic that is the bane of every programmer’s existence—debugging. We show you how to figure out what’s wrong with your code.
Part III, covers conduits. Just as we created a Palm application, we do the same for conduits. This section includes everything from a complete description of the parts of a conduit to development platforms for them and code walkthroughs. Unlike the other two sections, these chapters build on each other and should be read in order.
We start once again with the bigger picture. After we describe all the general things you need to know about conduits, we finally turn to a small amount of code that forms the shell of a conduit.
This chapter takes you a step further, and you see how to upload and download data between the desktop and the conduit.
In this chapter, we show you a conduit that uses full-blown data syncing, with the exchange of data depending on where it has last been modified. We also describe the various logic problems you encounter with a device that can synchronize data on various desktops.
We return to the topic of debugging, this time of conduits.
This appendix lists Palm developers’ resources.
There are a few standard approaches people use to read a book on programming.
The skip-through-and-read-what’s-interesting approach
The cover-to-cover approach
The in-front-of-a-computer-trying-to-create-your-own-application approach
If you choose this approach, view Part I as background information. This section is more essential for beginners to the Palm Computing platform than for old-timers. If you already know which development environment you are going to use, you can ignore Chapter 2. If you want to understand the design decisions we made in the sample application and what makes the difference between a good and a bad Palm application, then you need to read through Chapter 3.
Part III won’t make much sense unless you read it in order. Each chapter builds on the previous chapter.
We didn’t write the book in this order, but it seemed like the right progression at the time.