Palm OS

Palm OS was the operating system that ran the Palm Pilot and its successors, and later the handhelds made by Handspring and other licensees. It was designed for devices with very little memory, a slow processor, and a battery that had to last for weeks, so the whole system was built around frugality. Applications were small, the user interface was simple, and the system was tuned to do one thing quickly and then get out of the way.

The application model is documented in the official Palm OS Programmer’s Companion, part of Palm’s developer documentation. A Palm application is identified by a four-character creator ID and a database type, and the operating system communicates with it through launch codes rather than a conventional main loop driven by the program. When the user taps an application’s icon, the system sends a normal-launch code; other launch codes tell an application to respond to events such as a global find, an alarm, or a system reset. This structure let the OS hand control to applications for short bursts while keeping the resident system tiny.

Code and data on a Palm device were stored as databases rather than ordinary files. An executable application shipped as a .prc (Palm Resource Code) file, a resource database containing the program’s code segments together with its user-interface resources such as forms, menus, bitmaps, and strings. Persistent application data lived in companion .pdb (Palm Database) files. Because storage was battery-backed RAM rather than disk, the system manipulated these databases in place, and the HotSync conduit model synchronized them with a desktop PC.

Developers built Palm OS software primarily in C against the Palm OS SDK, whose headers and documentation defined the system’s APIs for the user interface, the database manager, networking, and hardware. Palm released a series of SDKs (versions 1.0 through 5.0 are preserved in community archives), and the platform’s small footprint and clear conventions made it approachable, which in turn produced one of the first large ecosystems of downloadable third-party applications on a handheld.

Palm OS dominated the PDA market through the late 1990s and early 2000s before the rise of connected smartphones. Later versions added color, multimedia, and ARM-based hardware, and the platform was eventually rebranded Garnet OS, but its lasting contribution was a coherent, resource-frugal application model that showed how a small mobile device could host a rich and varied software catalog.