Palm OS
Palm OS (also known as Garnet OS) is a discontinued mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS. Following Palm's purchase of the Palm trademark, the currently licensed version from ACCESS was renamed "Garnet OS". In 2007, ACCESS introduced the successor  to Garnet OS, called Access Linux Platform; additionally, in 2009, the main licensee of Palm OS, Palm, Inc., switched from Palm OS to webOS for their forthcoming devices. Creator and ownership. Palm OS was originally developed under the direction of Jeff Hawkins at Palm Computing, Inc. Palm was later acquired by U.S. Robotics Corp., which in turn was later bought by 3Com, which made the Palm subsidiary an independent publicly traded company on March 2, 2000. In January 2002, Palm set up a wholly owned subsidiary to develop and license Palm OS, which was named PalmSource. PalmSource was then spun  off from Palm as an independent company on October 28, 2003. Palm (then called palmOne) became a regular licensee of Palm OS, no longer in control of the operating system. In September 2005, PalmSource announced that it was being acquired by ACCESS. In December 2006, Palm gained perpetual rights to the Palm OS source code from ACCESS. With this Palm can modify the licensed operating system as needed without paying further royalties to ACCESS. Together with the May 2005 acquisition of full rights to the "Palm" brand name, only Palm can publish releases of the operating system under the name  'Palm OS'. As a consequence, on January 25, 2007, ACCESS announced a name change to their current Palm OS operating system, now titled "Garnet OS". OS overview. Palm OS was a proprietary mobile operating system. Designed in 1996 for Palm Computing, Inc.'s new Pilot PDA, it has been implemented on a wide array of mobile devices, including smartphones, wrist watches, handheld gaming consoles, barcode readers and GPS devices. Palm OS versions earlier than 5.0 run on Motorola/Freescale DragonBall processors. From version 5.0 onwards, Palm OS runs on ARM architecture-based processors. The key features of the current Palm  OS Garnet are: Included with the OS is also a set of standard applications, with the most relevant ones for the four mentioned PIM operations. Version history and technical background. Manufacturers are free to implement different features of the OS in their devices or even add new features. This version history describes the officially licensed version from Palm/PalmSource/ACCESS. All versions prior to Palm OS 5 are based on top of the AMX 68000 kernel licensed from KADAK Products Ltd. While this kernel is technically capable of multitasking, the "terms and conditions of that license specifically state that Palm  may not expose the API for creating/manipulating tasks within the OS." Palm OS 1.0. Palm OS 1.0 is the original version present on the Pilot 1000 and 5000. It was introduced in March 1996. Version 1.0 features the classic PIM applications "Address", "Date Book", "Memo Pad", and "To Do List". Also included is a calculator and the Security tool to hide records for private use. Palm OS 1.0 does not differentiate between RAM and file system storage. Applications are installed directly into RAM and executed in place. As no dedicated file system is supported, the operating system depends on  constant RAM refresh cycles to keep its memory. The OS supports 160x160 monochrome output displays. User input is generated through the Graffiti handwriting recognition system or optionally through a virtual keyboard. The system supports data synchronization to another PC via its HotSync technology over a serial interface. The latest bugfix release is version 1.0.7. Palm OS 2.0. Palm OS 2.0 was introduced on March 10, 1997 with the PalmPilot Personal and Professional. This version adds TCP/IP network, network HotSync, and display backlight support. The last bugfix release is version 2.0.5. Two new applications, "Mail" and "Expense" are added, and  the standard PIM applications have been enhanced. Palm OS 3.0. Palm OS 3.0 was introduced on March 9, 1998 with the launch of the Palm III series. This version adds IrDA infrared and enhanced font support. This version also features updated PIM applications and an update to the application launcher. Palm OS 3.1 adds only minor new features, like network HotSync support. It was introduced with the Palm IIIx and Palm V. The last bugfix release is version 3.1.1. Palm OS 3.2 adds Web Clipping support, which is an early Palm-specific solution to bring web-content to a small  PDA screen. It was introduced with the Palm VII organizer. Palm OS 3.3 adds faster HotSync speeds and the ability to do infrared hotsyncing. It was introduced with the Palm Vx organizer. Palm OS 3.5 is the first version to include native 8-bit color support. It also adds major convenience features that simplify operation, like a context-sensitive icon-bar or simpler menu activation. The datebook application is extended with an additional agenda view. This version was first introduced with the Palm IIIc device. The latest bugfix release is version 3.5.3. As a companion, Palm later offered a "Mobile  Internet Kit" software upgrade for Palm OS 3.5. This included Palm's Web Clipping software, MultiMail (which was later renamed to VersaMail) Version 2.26 e-mail software, handPHONE Version 1.3 SMS software, and Neomar Version 1.5 WAP browser. Palm OS 4.0. Palm OS 4.0 was released with the new Palm m500 series on March 19, 2001. This version adds a standard interface for external file system access (such as SD cards). External file systems are a radical change to the operating system's previous in-place execution. Now, application code and data need to be loaded into the device's  RAM, similar to desktop operating system behavior. A new Universal Connector with USB support is introduced. The previous optional Mobile Internet Kit is now part of the operating system. Version 4.0 adds an attention manager to coordinate information from different applications, with several possibilities to get the user's attention, including sound, LED blinking or vibration. 16-bit color screens and different time zones are supported. This version also has security and UI enhancements. Palm OS 4.1 is a bugfix release. It was introduced with the launch of the Palm i705. The later minor OS update to version 4.1.2 includes  a backport of Graffiti 2 from Palm OS 5.2. Palm OS 4.2 Simplified Chinese Edition is targeted especially for the Chinese market with fully Simplified Chinese support, co-released with Palm OS 5.3. No device has been manufactured with this version up to now. Palm OS 5.0. Palm OS 5.0 was unveiled by the Palm subsidiary PalmSource in June 2002 and first implemented on the Palm Tungsten T. It is the first version to support ARM devices and replaced the Kadak AMX68000 kernel with the custom MCK kernel, named for its developer, that was written in-house by Palm. Applications  written for the prior OS versions use the older DragonBall 68K instruction set and are supported via the "Palm Application Compatibility Environment" (PACE) emulator in Garnet. Even with the additional overhead of PACE, Palm applications usually run faster on ARM devices than on previous generation hardware. New software can take advantage of the ARM processors with small units of ARM code, referred to as "ARMlets". With a more powerful hardware basis, Palm OS 5 adds substantial enhancements for multimedia capabilities. High density 320x320 screens are supported together with a full digital sound playback and record API. Palm's separate  Bluetooth stack is added together with an IEEE 802.11b Wi-Fi stack. Secure network connections over SSL are supported. The OS can be customized with different color schemes. For Palm OS 5, PalmSource developed and licensed a web browser called "PalmSource Web Browser" based on ACCESS' NetFront 3.0 browser. Palm OS 5.2 is mainly a bugfix release, first implemented in the Samsung SGH-i500 in March 2003. It added support for 480x320 resolutions and introduced the new handwriting input system called Graffiti 2; the new input system was prompted by Xerox' lawsuit win against Palm. Graffiti 2 is based on  Jot from CIC. The last bugfix release is version 5.2.8. Palm OS 5.3 Simplified Chinese Edition released in September 2003, added full Simplified Chinese support, further support for QVGA resolutions, and a standard API for virtual Graffiti called "Dynamic Input Area". This version first shipped on Lenovo's P100 and P300 handhelds. Palm OS Garnet (5.4) added updated Bluetooth libraries and support for multiple screen resolutions ranging from 160x160 up to 480x320. It first shipped on the Treo 650 in November 2004. This version also introduced the "Garnet" moniker to distinguish it from Palm OS Cobalt 6.0. The last bugfix  release is version 5.4.9. Garnet OS 5.5 dropped the "Palm" moniker and, , is the current version developed by ACCESS. This version is dedicated for use inside the "Garnet VM" virtual machine. Garnet VM was announced and released by ACCESS in November 2007 as a core part of the Access Linux Platform and as an emulator allowing Nokia Internet Tablets to run applications written for the Garnet OS. In June 2010, ACCESS release Garnet VM version 6 (a.k.a. Garnet VM Beta 6 1.05b). Palm OS Cobalt. Palm OS Cobalt (6.0) was the designated successor for Palm OS 5. It was introduced  on February 10, 2004, but is no longer offered by ACCESS (see next section). Palm OS 6.0 was renamed to Palm OS Cobalt to make clear that this version was initially not designated to replace Palm OS 5, which adopted the name Palm OS Garnet at the same time. Palm OS Cobalt introduced modern operating system features to an embedded operating system based on a new kernel with multitasking and memory protection, a modern multimedia and graphic framework (derived from Palm's acquired BeOS), new security features, and adjustments of the PIM file formats to better cooperate with Microsoft Outlook . Palm OS Cobalt 6.1 presented standard communication libraries for telecommunication, Wi-Fi, and Bluetooth connectivity. Despite other additions, it failed to interest potential licensees to Palm OS Cobalt. Third-party OS enhancements. Several licensees have made custom modifications to the operating system. These are not part of the official licensed version. Modernization. For several years, PalmSource had been attempting to create a modern successor for Palm OS 5 and have licensees implement it. Although PalmSource shipped Palm OS Cobalt 6.0 to licensees in January 2004, none adopted it for release devices. PalmSource made major improvements to Palm OS Cobalt with  the release of Palm OS Cobalt 6.1 in September 2004 to please licensees, but even the new version did not lead to production devices. In December 2004, PalmSource announced a new OS strategy. With the acquisition of the mobile phone software company China Mobilesoft, PalmSource planned to port Palm OS on top of a Linux kernel, while still offering both Palm OS Garnet and Palm OS Cobalt. This strategy was revised in June 2005, when still no device with Palm OS Cobalt was announced. PalmSource announced it was halting all development efforts on any product not directly related to its  future Linux based platform. With the acquisition of PalmSource by ACCESS, Palm OS for Linux was changed to become the Access Linux Platform which was first announced in February 2006. The initial versions of the platform and software development kits for the Access Linux Platform were officially released in February 2007. As of January 2011, the Access Linux Platform had then yet to ship on any devices, however development kits then existed and public demonstrations had been showcased. Palm, Inc. the main licensee of Palm OS Garnet did not license Access Linux Platform for their own devices. Instead, Palm developed  another Linux-based operating system called Palm webOS. On February 11, 2009, Palm CEO Ed Colligan said there would be no additional Palm OS devices (excepting the Centro being released to other carriers). Palm was focusing on Palm webOS and Windows Mobile devices. On April 1, 2009, Palm announced the availability of a Palm OS emulator for its webOS. Built-in applications. Palm OS licensees decide which applications are included on their Palm OS devices. Licensees can also customize the applications. Standard Palm OS applications. Note: On the newer models, the standard PIM apps "Address", "Date Book", "Memo Pad" and  ToDos were replaced by their improved counterparts "Contacts", "Calendar" "Memos" and "Tasks". The Palm's Address program stores contact information, keyed by any of several user-definable categories. Entries are displayed and sorted in last name, first name order (this can be changed only to Company, Last Name order). There are five slots for phone or e-mail, each of which may be designated Work, Home, Fax, Other, E-mail, Main, Pager or Mobile (the slot designations cannot be changed) The newer Contacts app adds the following features: several addresses, 9 new fields: Website, Birthday, More phone numbers, Instant  Messaging with quick connect. Calc turns the Palm into a standard 4-function pocket calculator with three shades of purple and blue buttons contrasting with the two red clear buttons. It supports square root and percent keys and has one memory. It also has an option to display a running history of the calculations, much like the paper-tape calculators that were once common. Date Book shows a daily or weekly schedule, or a simple monthly view. The daily schedule has one line per hour, between user-selected begin and end times. Clicking on an empty line creates a new  event. Empty lines are crowded out by actual events, whose start and stop times are shown by default bracketed in the left margin. The newer Calendar app adds the following features: New Day view, use of categories for events, event location, event can span midnight, event details, birthdays as timeless events. It supports time zone designation for events, a feature lacking in some more recent competitors. An event, or appointment, can be heralded by an alarm, any number of minutes, hours or days before it begins. These alarms sound even when the unit is switched off. Appointments can recur in  a specified number of days, weeks, months or years and can contain notes. Expense tracks common business expenses. No totals are calculated on the Palm. The user must sync with a host computer and view the expense data in a worksheet (templates for Microsoft Excel are supplied). HotSync integrates with the user's PC. Usually activated by a press of the physical HotSync button on the Palm's cradle (a dock station), this application communicates with various conduits on the desktop PC to install software, backup databases, or merge changes made on the PC or the handheld to both devices . It can communicate with the PC through a physical connection (USB on newer models), Bluetooth or IrDA wireless connections, and direct network connections on devices with networking capability. In addition to the conduits provided by the licensee, developers can create their own conduits for integration with other Palm OS applications and desktop products. For example, a time tracking package could provide a conduit to communicate information between Palm OS and Windows executables. A Backup conduit included with the HotSync software backs up (and restores, if necessary) most of the data on a Palm OS device. This allows users to hard  reset their Palm—thus clearing all of the data—with few noticeable consequences. This also allows users to migrate to new Palm devices of the same Palm OS version, a feature that is helpful to those who lose or damage their device. Some models of Palm keep their data storage in volatile memory and require constant power to maintain their memory. Although these handhelds attempt to save the contents of memory in low battery situations by not "turning on," leaving a "dead" handheld for an extended period of time can cause this reserve power to be used up and the  contents of storage memory to be lost. Some later Palms use NVRAM or microdrive for storage. Memo Pad can hold notes of up to 4,000 characters each; the newer Memos app increases field size from 3 to 30 kB. Memos are ordered in two ways: alphabetically, and manually (which allows the user to choose the order of the memos), and memos can be grouped in user-configurable categories. Memo Pad is for text only, not for drawings, and text can be entered using the Graffiti alphabet, using hardware or software keyboards, or using the 'paste' function. When Palm devices first  became available, some Palm users started to create and exchange Memo Pad documents containing generally useful information, which came to be known as Memoware. To do list creates personal reminders and prioritizes the things the user has to do. Each To Do List item may also have: a priority, categories (to organize and view items in logical groups), attached Note (to add more description and clarification of the task). To Do List item can be sorted by: due date, priority or category The newer Tasks app features the following improvements: new interface, repeating tasks, alarms, etc. Preferences (also referred to  as Prefs) shows program files with a special preference panel type which are not shown by the normal launcher. Programs can be changed by switching the type to and vice versa. Palm OS contains approximately 15 preference panels by default and new preference panels can be added just like any other application. Preference panels allow users to manage a number of settings, including Graffiti settings, sound settings, text shortcuts, network settings and the system time. Security (which is a panel on newer Palm OS devices) is used to configure Palm OS's security settings. These include the password needed to  display hidden records and unlock the device when locked, as well as set up an automatic lockdown time or inactivity threshold. On the PC, only Palm Desktop honors this password but other PC programs can view everything—in other words, all the data protected by this password can be seen by anyone opening the .dat files using a text editor or word processor. Common third-party core OS applications. Starting with Palm OS version 5.2, Palm created customized versions of the common PIM application. Some new features have been added, e.g. support for Address categories, Ringtone associations to users, longer  memo texts, etc.. They were also renamed to reflect designations from Microsoft Outlook, thus Address became "Contacts", Datebook became "Calendar", Memo Pad became "Memos" and To do list became "Tasks". Blazer is a web browser for Palm handhelds. The versions 1.0 and 2.0 run on Palm OS 3.1 or higher handhelds, but they needed a proxy server which has been shut down, so they can no longer be used. Version 3.0 is used on the Treo 600 smartphone. The current version of Blazer is Blazer 4.5, which is compliant with most major standards. It is generally bundled with newer smartphones  and newer Palm devices capable of accessing the Internet. Palm's Note Pad can be used for quick drawings. With neat handwriting, 20–30 words will fit on one page; for more text, Memo Pad is the better choice. There are three sizes of pen width, plus an eraser and a background color change feature in some models. It is possible to draw a very simple map. The more "advanced" desktop version saves the Memo pad drawings to the desktop. As of 2006, most new Palm handhelds include Photos, which creates a digital photo album used to view pictures on a  Palm OS device. As with all the other photo programs, photos can be beamed to other mobile devices. Each photo can be labeled and organized into separate photo albums. A slideshow can also be shown for a specific album, and each photo in the album will be shown full screen. Photos can be edited with the Palm Photos PC software (Windows only), and when the photos are transferred to the handheld they will contain all changes made to the photo. The Palm Photos software is available in the Zire 71, Tungsten C, Tungsten E, Tungsten T2, Tungsten T3 and several  others. With the support for Video, Palm Photos was later renamed to "Media" and even later to "Pics& Videos". Some models feature the ability to make voice recordings which are synced using the Voice conduit and can be viewed on a desktop with the Voice Memo application which is part of the Palm Desktop Suite. Third-party applications. There are many successful applications that can be installed on a Palm OS device. As of 2008, there were more than 50,000 third-party applications available for the Palm OS platform, which have various licensing types, including open-source, and various closed  licensing schemes such as freeware, shareware, and traditional pay-up-front purchase. HackMaster is an extension manager for Palm OS that includes several patches improving OS features. Other third party OS extensions also require HackMaster to work. Application development. Palm OS Garnet applications are primarily coded in C/C++. Two officially supported compilers exist: a commercial product, CodeWarrior Development Studio for Palm OS, and an open source tool chain called prc-tools, based on an old version of gcc. CodeWarrior is criticized for being expensive and is no longer being developed, whereas PRC-Tools lacks several of CodeWarrior's features . A version of PRC-Tools is included in a free Palm OS Developer Suite (PODS). OnBoardC is a C compiler, assembler, linker and programming editor that runs on the Palm itself. Palm OS Cobalt applications are also coded in a variation of gcc, but the Cobalt compilers have fewer limitations. There are development tools available for Palm programming that do not require low-level programming in C/C++, such as PocketC/PocketC Architect, CASL, AppForge Crossfire (which uses Visual Basic, Visual Basic .NET, or C#), Handheld Basic, Pendragon Forms, Satellite Forms and NSBasic/Palm (Visual Basic like languages). A Java  Virtual Machine was previously available for the Palm OS platform, however on 12 January 2008, Palm, Inc. announced that it would no longer be available. Palm, Inc. further said "There is no alternate Java Virtual Machine that we are aware of for Palm OS." Waba and a derivative of it, SuperWaba, provide a Java-like virtual machine and programming language. A version of the Lua language, called Plua, is also available for Palm; however, due to the fact that it requires an additional runtime to be installed along with the application, it is only used for mainstream applications by a  minority of software companies. Quartus Forth is an ISO/ANSI Standard Forth compiler that runs on the Palm itself. It also has an interactive console for dynamic development and debugging. Three environments allow programming in Pascal for Palm OS. The free PP Compiler runs directly on the handheld computer, while PocketStudio is a Delphi-like IDE for Windows Computers that has a visual form designer and generates PRC files for being transferred to handhelds via HotSync. The third option was HSPascal, developed by Danish developer Chriten Fihl, based on his experience with the High Speed Pascal compiler for various 16 -bit computer systems, including the Commodore Amiga. As Palm has no connection drivers that enable the transfer of data with a server DBMS (Oracle, mySQL, MS SQL Server), the programmer can use Middleware software that enables this connectivity. A roughly R4RS-compatible implementation of Scheme, LispMe, provides the Palm platform with a GPL-licensed onboard Lisp REPL with some Palm OS-specific adaptations, but although it is functionally a compiler it does not produce code that operates outside the development environment, so its use is restricted to prototyping. Legal issues. Palm OS has been involved in various lawsuits over the  years.