Palm OS Programming
Authors: Hu Wen-Chen 
Published: May 2011

Programming for Palm devices is not a trivial task and it is especially hard for beginners starting their first assignment. This chapter is not intended to be a comprehensive Palm programming guide, but rather to give an overview of what a Palm program is and how it works. For details of how to create Palm OS application programs, extensive coverage of this topic is provided by the Palm OS Developer Documentation at the URL (http://www.palmos.com/dev/support/docs/) (PalmSource, Inc. (2004a,b,c). The following steps for getting started with Palm OS programming are taken from PalmSource Inc. (2006): 1. Join the Palm OS Developer Program: Enroll as a member of Palm OS Developer Program at the URL (https://www.developerpavilion.com/palmos/ page.asp?page_id=175) in order to download tools such as Palm OS Developer Suite and receive updates of Palm information. 2. Choose a core platform: There are two versions of the Palm OS core platform: Palm OS Garnet (above Palm OS 5.3) and • Palm OS Cobalt (Palm OS 6). and three Palm OS application types: • Palm OS 68K applications, • Palm OS 68K applications with PACE Native Objects, and • Palm OS Protein applications. 3. Choose a programming language and tools: Although most Palm OS applications are written in C, development environments are available that will let developers create Palm OS applications in a number of different languages including C, C++, Visual Basic, or Java. 4. Learn the basics of Palm OS programming: Basic documentation related to Palm OS programming includes: • Introduction to Palm OS Development Suite, which is a conceptual introduction to all of the tools delivered with Garnet OS Development Suite. It can be found at at the URL (http://www.access-company.com/developers/ documents/docs/dev_suite/PalmOSDevSuite/ToolsTOC.html) • Garnet OS 68K SDK Documentation, which contains documentation on the 68K software development kit. It can be found at the URL (http://www. access-company.com/developers/documents/palmos/index.html). Also, there are several considerations that developers need to keep in mind as they design and build their applications: • Small screen size. • Usage patterns: for example, a handheld may be turned on 40 times in 1 hour. • Limited input methods. • Various wireless connectivity. • Limited computing power. • Short battery life. Actions such as wireless communications, sound, extended animation, or other tasks that occupy the CPU for long periods of time consume a great deal of power. • Small memory. Expansion is often limited to the capacity of an SD card. • Persistent data storage. • Backward compatibility. 5. Consider wireless-enabling applications: Palm powered devices can connect with networks and with each other in an increasing number of ways, including infrared, Bluetooth, Wi-Fi, and cellular telephony. Programmers can benefit from exploring these opportunities, discovering new grab tips, tools, and insights and learning how PalmSource can help test new applications and deploy them in the wireless marketplace. 6. Tailor solutions to specific devices: Although Palm OS forms the core of every Palm powered device, some devices have features that are specific to that device from a Palm OS licensee.