Old Hardware Emulated :POSE Emulating The Palm Pilot (Part 1)

 

PDA's Come of Age!

WorkPad C500, a IBM-branded Palm Pilot

In The Beginning....
When one looks on the grand-scale, the Palm Pilot was the tech equivalent of the Roman Empire. Everything before it, while introducing new concepts; was tied to the past. Everything after it's introduction was molded in its image, including the products made by their competitors. On one hand,  It's very easy to be dismissive of the Palm Pilots as we take our tech for granted. However, one does this living in a world that was essentially shaped by them.

1996 was a different time. Smartphones were in the prototype stage, a decade away from general use or acceptance. The PDA's of the time were seen as rich, expensive toys for corporate executives, out of the hands of us mere mortals. One might have known one or two people who owned a Apple Newton or Psion handheld. After the introduction of the Palm Pilot, PDA's and their eventual successor, the smartphone, became a indispensable part of our life.

The acceptance of the Palm Pilot occurred at a very rapid rate. Those Psions and Newtons quickly ended up in their shadow. By 2000, the Palm Pilot was the dominate PDA platform and reigned supreme.

How did the Palm Pilot dominate handheld computing so quickly? Where did the Palm Pilot succeed where the Apple Newton and others failed?
Palm Computing And Graffiti
Palm Computing was founded in 1992 by Jeff Hawkins. One could say that Jeff Hawkins was as instrumental to Palm in the same manner that Steve Jobs was for Apple and the Macintosh. Palm Computing originally developed software for the Zoomer, a PDA made by Casio for Tandy which utilized a pen-based version of the Geoworks graphical environment. Geoworks (which I will do a separate article after I finish my Windows 3.0 articles) was a alternate GUI environment that briefly competed with Windows on PC's. Geoworks was also used in portable, embedded devices, such as those early PDA's. Palm Computing wrote the PIM (Personal Information Management) software that ran under it. A PIM is essentially a digital personal organizer.

Along with the PIM software, Palm Computing also wrote ground-breaking handwriting software. Called Graffiti, it registered letters that were made from a single stroke. Graffiffi was originally developed for the Zoomer PDA and other Geoworks-based devices as well as the Magic Cap handheld (another failed PDA which employed the room/desk metaphor). Graffiti was eventually ported to several platforms like the Apple Newton as a alternate handwriting system, the Nokia Symbian platform, and Windows Mobile.

When it came to implementation, Graffiti was fundamentally different from the software used on the Newton. The Newton would eventually conform to the person's natural writing style. The main issue with this though is that their is a lot of trial-and-error (mostly error) before the software learned that person's particular writing style.

Graffiti was the opposite in that the person would conform to its handwriting system and learn how to write the characters instead of the software conforming to that person's writing style. In theory, this should have made Graffiti much harder to use in comparison to the Newton because the user was conforming to the software, not the other way around. In practice though, Graffiti was so easy and natural to use as it largely conformed to how the person drew characters in real life. Thus, many could master the system in no time. 

Jeff Hawkins reasoned that people could learn Graffiti in the same manner that they learned how to write and type. Writing isn't a skill that people are born with, along with typing. They have to be learned. If people devote themselves to learning those skills, then they could learn how to use Graffiti as well. Especially given that the software largely conformed to the basic shapes of the letters that people already knew, shortening the learning curve.
Time To Take The Ball
Frustration grew as this very capable software was being confined to failing platforms that had no future. Jeff became convinced that in order for his ground-breaking software to be a success, he would need to create his own platform instead. He understood the software, and could easily create the hardware to take advantage of it.

What happened next became one of the weirdest anomalies in computing history. Instead of finding success by copying Apple, a product would achieve that great success by essentially doing the complete opposite instead.

Apple - Create a large device that's inconvenient to carry around
Palm - Create a device that could actually fit in a pocket

Apple - Create a device that tries to  be anything for everyone  while trying to do everything  (but ends up pleasing no one as their are known hardware constraints)
Palm - We don't need that damn kitchen sink. Just advertise the device as a simple organizer so people don't develop unrealistic expectations. Along with this,  tear that page out of the Microsoft developers handbook and make our SDK's very affordable and easily accessible. Provide developers tools that can run on both MacOS and Windows. We will let the developers figure the device out!

Apple - Throw in a powerful ARM CPU to perform all those task (while killing those precious batteries in the process)
Palm - We love batteries, and you do too! We will make the device as energy efficient as possible. We will use a processor which will make this design goal achievable. Sure, a portable Motorola 68030 isn't no ARM 610, but that 32-bit processor is still much more powerful than the 8 and 16-bit offerings, just as affordable, and doesn't massacre the battery like the 610. It gets the job done, and does it well enough too!

Apple - Provide the device at a steep cost.
Palm - Provide a device for the masses, not the classes (Let's invoke Jack Tramiel and Sir Clive Sinclair!)

Newton - Provide the user with a operating system that, while powerful and fully capable, can be intimidating for new users.
Palm - Keep it simple

Jeff needed money to implement his idea. As a result, he sold his company to U.S. Robotics, a manufacture known for making computer modems. They had the funds and resources to make his dream device possible.

Jeff carried a small wooden plank in his pocket that conformed to the form factor of the device, and told the engineers to make the hardware fit to those specifications. The Palm would come with a stylus that made using Graffiti much more natural and intuitive as it mimicked writing.
Introduction
While the price of $299 was still plenty of money, it was well within the price point of many budgets, and was far cheaper than the Newton. Not only that, as new models and revisions were introduced, the price of the Pilots would fall rapidly, making them even much more enticing for those that wanted one. Putting away some money from a couple of checks would make this device yours. One didn't need to sell their soul and empty their life-savings. The Palm Pilot 1000 and 5000 were introduced in March 1996 and sold under the U.S. Robotics name.

So what did $299 get you in 1996? The first Palm Pilots used a 32-bit Motorola 68328 processor, which was essentially a handheld, low-power version of the 68000/68030 CPU that ran at 16MHz. The device came with a stylus and a LCD screen that ran at a resolution of 160 by 160 pixels. The Pilot 1000 shipped with only 128KB (Not Mega or Gigabytes) of RAM, while the 5000 shipped with 512KB. Their was internal memory storage of 2MB's.

Both the Pilot 1000 and 5000 shipped with PalmOS 1.0, which was designed to fit within that little RAM space. Even with only 128/512KB of RAM, PalmOS ran very well. The bottom part of the Palm had four hard applications buttons (Date book, address book, to do list, and Memo Pad), while there were four soft button to open the program launcher, menu, calculator, and finder. Their was also a input area to draw characters and perform data entry. Palm was committed to making the device as simple and utilitarian as possible. In many ways, one realizes how absurd the system specs are compared to modern standards. At the same time, it's was beyond impressive considering what the Palm engineers were able to incorporate in such a small form factor with little RAM. Was their anything that they couldn't do! 

Their was no comparison. Even now, modern devices don't stack up battery-wise with the Palm Pilots. They were the most efficient handhelds I've ever ran across (IBM WorkPad C500). The original 1000 and 5000 devices used two AAA batteries. Most later devices had their batteries integrated. I don't know how those early Pilots fared battery-wise, but battery usage on my WorkPad was very minimal. The screen would blank-out after a few minutes of in-activity. For that WorkPad, the battery in blank-out mode would last about a week before it needed to be charged again.  (Try that with a modern smartphone!) Even during constant heavy use, that Palm could last throughout the day before needing a recharge. Even then, their would still be about 1/3 juice for the Palm to run on at the end of the day. (and that's after heavy use!) Charging the battery completely took about 3 hours. I can make the safe assumption that many owners of these early Palms used AAA NiCAD rechargeable batteries as well. 
Software
The SDK's were made available shortly after launch.  They supported both Windows And MacOS.  Like with any new platform, it would take time for developers to understand it's inner workings. Despite this though, third-party applications were coming, and they would be coming in rapid succession too. By the end of 1996, their were a couple dozen programs available for the Palm. By the end of 1997, a couple hundred. By the end of 1998, their would be a couple thousand programs available. To say that software developers embraced the new platform would be a understatement.

The built-in applications were meant to be simple, but yet powerful and capable. A with any portable handheld, their needs to be synchronization software for users to load documents and programs. This was done with the "cradle", which is a docking station which functioned as both a charger with later models and to synchronize data and programs. In the days before USB, synchronization was done with a RS-232 serial port connection syncing between the desktop computer and the Palm. USB was around the corner though, and later docking stations supported the new standard when it started to proliferate. 

Synchronization was done with the Palm Desktop software , which also doubled as a PIM organizer. Their were versions released for both Windows and MacOS.

Emulation
As with any platform that I'm covering, the history of the Palm Pilot will be represented via emulation. The SDK included a emulator for the Palm Pilot handheld. This is similar to how Psion provided emulators for software developers so they could tested applications without needing the actual hardware.

POSE, or Palm OS Emulator, allowed for emulation of the devices while providing nifty features like skins to mimic the look and feel of the hardware on the computer screen. POSE ran on Windows (95/98/ME, and later XP)and MacOS (8.6 and 9.x Classic). I had issues running POSE on Windows 7. However, it runs great under my XP virtual machine. However, the emulation isn't CPU exact. As a result, on newer, multi-core CPU's, the emulator will run very fast.

The source code for POSE was later released under the GPL open-source license. POSE had been ported to Linux and later Android as the PHEM emulator. You can use a classic handheld OS on a modern handheld OS! 

Like most emulators, POSE will need a ROM file, which is not bundled with the emulator. They are intellectual property of Palm (or whoever owns them now as Palm has been  passed around several times over the years). A ROM can be extracted from the device itself, or if one knows Google search like the back of their hand, they can find the files floating around somewhere on the Internet as well. Starting POSE on Windows isn't that hard. Just fire up the program, tell the emulator to use the ROM file in whatever folder/directory it's located, and fire it up. One can select different skins as well, altering the look of the emulated system.

Software can be installed under POSE. Palm programs were distributed with the PRC file extension.

POSE Emulator for Windows running Palm OS Version 1.0 with the emulator skin

Some of the programs that shipped with the Palm Pilot.

No platform is complete without games. These games were downloaded from a archived version of the U.S. Robotics website. The Palm programs had a PRC file extension. They can be installed on the POSE emulator or a real device using the Palm Desktop software.

Final Thoughts
This is the first of many articles covering the Palm platform, from it's amazing rise, to it's unfortunate downfall, and everything in between. Part two will focus on the evolution of the platform, and how the Palm Pilot became leaders in the market.
Articles of Interest

Comments

Popular posts from this blog

WeatherStar 4000 Simulator For Windows (Part 1)

Classic Systems Emulated: Windows 95 (Part 1)

Classic Systems Emulated: Windows 3.1 OEMS

Old Hardware Emulated :Psion Model 3a Emulated On DOSBox Windows

Classic Systems Emulated: OS/2 Version 2.0 On PCEM

Old Hardware Emulated - Windows Mobile 5.0

Old Hardware Emulated : Pocket PC 2000/2002

Old Hardware Emulated :Einstein emulating the Apple Newton (Part 3)

Classic Games Emulated: Revisiting NFS High Stakes Modding

OS/2 Warp 4