Conduits and the Palm OS Platform

Basic Operations

Using a Palm Powered handheld connected to a desktop computer, you can perform the following operations:

  • synchronize data stored on the handheld with data stored on the desktop computer
  • back up data stored on the handheld to the desktop computer
  • install handheld application databases that have been stored on the desktop computer

The handheld features a processor that is significantly slower than the processors on most desktop computers. Because of this, PalmSource encourages developers to write applications for Palm Powered handhelds that off-load processor-intensive tasks to the desktop computer. Specifically, handhelds are intended for applications such as the following:

  • portable data entry
  • portable data viewing
  • remote transactions

Applications that perform the following operations are considered more suitable for the desktop computer's processing power:

  • high-volume data entry
  • backing up data
  • printing
  • configuration
  • data storage

HotSync® Manager is a desktop application that manages communications with the handheld. This application is described in Chapter 5, "Introducing HotSync Manager." HotSync Manager uses a communications API, called the Sync Manager API, to handle the actual sending and receiving of bytes to and from the handheld, which makes HotSync Manager and the Sync Manager API independent of the connection type.

Typical communication connection types include:

  • direct serial cable connection
  • infrared connection
  • modem connection
  • network connection

Software Components

The following are the software components of the Palm OS platform that enable you to synchronize desktop and handheld data:

  • Desktop applications, which are developed by you or another developer, run on a desktop computer and operate on data that is sent to or retrieved from a handheld.
  • Palm OS applications are developed to run on any Palm Powered handheld. These are also referred to as handheld applications.
  • The HotSync Manager application runs on a desktop computer and communicates with a handheld. When the user presses the HotSync button, HotSync Manager awakens and calls each of the conduits that are properly installed and configured on the user's desktop computer.
  • The HotSync client launches on the handheld when the user presses the HotSync button on the cradle. This handheld application wakes up HotSync Manager and responds to Sync Manager requests to access databases on the handheld.
  • Conduits are modules that plug into HotSync Manager, which calls each in turn to read and write data on both the handheld and desktop. You use the Conduit Development Kit to create conduits. Generally, when you develop a handheld application that shares data with a desktop application, you also develop a conduit to synchronize the data between the two.
  • The Sync Manager API provides a programmatic interface that conduits use for communicating with a handheld. This communications API allows the conduit to remain independent of the connection type between a handheld and a desktop computer.
  • Notifiers are called by HotSync Manager to tell programs on the desktop computer that HotSync Manager is running. A notifier is a Windows DLL that you create to tell your desktop application that your conduit is modifying its desktop data. This behavior ensures that the application and its associated conduit are not both changing data at the same time. Note that notifiers are called only by the Windows version of HotSync Manager.