But forget multitasking. Even MS-DOS had the concept of "shell to another program and when that one exits, return to the caller". You don't need multitasking for that. It's one program that's running at any given time. Yet PalmOS doesn't have even that...

It does have that concept -- it's SysAppLaunch. However, it's a launch mechanism that's optimized for quickly calling a routine or small function from another execute-in-place program, which is why it doesn't setup the called program completely. On an OS 3.0 device, there may not be enough space in the dynamic heap for two programs to have their global variables available at the same time, since the dynamic heap was less than 64K large.


However, the whole OS was designed to run on a slow 16MHz 68K processor with 128K of memory as the entire storage for both user data and runtime activity. That's the original Pilot 1000, and anything that wasn't needed to let you do four PIM applications wasn't considered for the original design.

It seems that all the design efforts have been concentrated on the user interface. It's quite good there - the API is very rich and one can do almost anything easily enough - although I wish it had Windows-style radio buttons instead of the "pushbuttons" it currently has and that implementing a tabbed form and scroll bars on lists and tables was a bit easier (I mean - supported by the API so that you didn't have to do everything manually yourself).

Pushbuttons were chosen because they effectively showed state and took up less screen real-estate, something important on a 160x160 B&W screen.


Many of the key design decisions go back to "what do we need for this product". That continues through the whole evolution of the 68K versions of the OS, as it primarily changed based on direct needs of the next PDA that Palm was producing. It really wasn't until OS 4 that the system was actually viewed as a platform supporting a whole family of devices, and by that time, there was a huge legacy.

-- Ben Combee, Senior Software Engineer, palmOne, Inc.
   "Combee on Palm OS" weblog: http://palmos.combee.net/
   Developer Forum Archives:   http://news.palmos.com/read/all_forums/


-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/

Reply via email to