Old Hardware Emulated :PalmSim Emulating PalmOS 5 Devices As An Empire Collapses
A Series Of Unfortunate Events.
When one examines the history of Palm, it reads out like The Rise And Fall Of The Roman Empire. Whereas the first half of the Palm saga reads as a very glorious rise, the second half is basically a Greek tragedy. Forces, both internal and external, would chip away at the giant to the point where Palm become a shadow of its former self. Eventually it's savior became its destroyer as HP took what little of Palm remained and ran it into the ground before passing it off the corpse to LG.
On one hand, PalmOS survives as a repurposed platform to drive LG smart TV's. Even then, considering where the platform was in the early 2000's, Palm really was just a shadow of its former self. Palm as we know doesn't exist anymore. For a platform that had so much promise and potential, it really did go down the tubes. How did Palm get there?
Downfall In Baby Steps
It's often said that things often end not with a bang, but with a whimper. This is the case of Palm. The company made a series of mistakes that by themselves, wouldn't not have destroyed the company. Other issues that afflicted Palm were events that were beyond the company's control. Again, by themselves, these events wouldn't not have done permanent damage. However, when they occur in constant succession, they start to cause the company and its platform to deteriorate.
The company took its success for granted. Palm Computing dominated the PDA ecosystem. PalmOS dominated the software scene with a library populated with thousands of apps. The Palm Pilots was synonymous with the PDA. These handhelds were practically printing money for their company. Everybody wanted there products. The Palm devices were the iPhones of there day.
On March of 2000, 3Com spun the company off and Palm went public with a IPO which quickly took the markets by storm. By the end of the first day, Palm's stock was trading at $95 a share, and the company was worth more than Ford and General Motors combined. Within a year though, the country was in a recession and the tech bubble burst. Then 9/11 occurred along with the economic fallout from it that lasted for sometime afterwards.
A good company would have contingency plans for those unexpected events. Palm weathered these events and was ready to take on the world. However, the company became affected by adversity of their own making. Palm had been unable to attract the users that were essential for there survival: corporate users.
While Palm had been highly successful with the typical consumers, there devices have never really caught on with corporate user. In the very beginning, many of these users were Psion holdouts that later migrated to Handspring. From there, these users gravitated towards the WinCE handhelds and RIM's Blackberry pagers. These platforms kept chipping away at Palm's market-share.
Management failed to adjust to changing tech trends. On the lower-end of the market, they were facing intense competition from the Nokia smartphones running Symbian OS on the S60 platform. These smartphones, along with the J2ME Java runtime, became a massive success in the marketplace.However,
from managements perspective, the early 2000's couldn't have been
better. Sure, their have been a few hiccups along the way and they
needed a new OS. However, there was no rush as their handhelds were
selling like hotcakes. Despite the financial issues, Palm Computing was
still loaded from money from its IPO. From Palm's perspective, how hard
is it to write a new OS? Apparently though, time was much more fleeting
than realized.
Not only was the OS showing its age, but so was its hardware offerings. Sure the Motorola DragonBall worked wonders for those who used there PDA's for appointment keeping, playing simple games, image viewing, checking email and surfing that low-bandwidth internet. However, the iPaq and successor devices showed that PDA's were now capable of MP3 and video playback. The expectations of the general consumer were changing. Despite its cool-sounding name, the DragonBall wasn't up for those new task.
A New CPU Means A New OS
Palm decided to go with the ARM processor. This was a very logical choice as the ARM is a capable processor that is able to handle those new task that consumers demanded. Also, ARM already had a established reputation among the handheld makers by this time. Now they needed was the new OS. PalmOS would largely be re-written to take advantage of the new platform as the ARM processor uses a different instruction set compared to the DragonBall.
When PalmOS was originally written to run on the Palm Pilot in 1996, it had to be designed to run on a handheld that had only 128KB of RAM. As such, features like multitasking, memory protection, and security was removed to make the OS much more responsive and reduce overhead. The kernel was written in a monolithic style where it did everything. The drivers, hardware, and the OS was handled by the kernel. This design actually works well as long as there isn't hardware diversity. However, once modems, audio, bar-code scanners, etc. enter the picture, then the kernel has to be rewritten to accommodate those particular devices. This is different from Windows CE where the driver for that peripheral can be loaded without modifying the kernel.
These design choices made perfect sense in 1996 when trying to create a OS that needed to run on a 33MHz Motorola 68k processor with 128KB of RAM and a 160 by 160 monochrome pixel display. However, with 200-400MHz ARM processors that were driving 16 and 32-bit color displays and loaded with 8-64MB's of RAM, the current incarnation of PalmOS would be inadequate to drive these features. Palm's advantages quickly turned into disadvantages as Windows CE and Symbian were reaping the benefits of this new hardware while running circles around PalmOS.
Palm had the perfect opportunity to reinvent itself. Their would be greater performance gains when switching from 68k machine code to ARM. Palm can now become that multimedia powerhouse like the WinCE handhelds. Sony licensed PalmOS for their critically acclaimed Clie devices which would rival the iPaqs. The new version of PalmOS, code-named Garnet, was still compatible with the thousands of applications that have been developed for the previous Palm handhelds. Applications compatibility was a must for those who heavily invested into the platform.
Compatibility for older applications was provided via the Palm Application Compatibility Environment (PACE). PACE is an emulator that also provides the framework to run older Palm applications. The ARM processor didn't natively support Motorola 68k code. As such, the emulator would have to translate Motorola machine code into something that the ARM understands. In theory, there would be a performance bottleneck as the code has to be translated line by line. However, the ARM processor was much faster than the Motorola DragonBall, and as such, the performance of the ARM more than made up for the code translation of the Motorola 68k.
Palm wrote a custom kernel for the ARM processor. The new kernel had “more or less the same functionality”* as the old kernels used on PalmOS 1-4. Since PalmOS1-4 were monolithic in nature, that strongly implies that OS5 was the same design as well. However, the kernel features could be extended, thus implying a hybrid kernel at least. I'm quite curious about how easy or hard it was to add driver support for peripheral devices on Palm OS 5 compared to Windows CE. Could the new PalmOS hold up to CE.
PalmOS 5 still didn't have support for preemptive multitasking, multithreading, or security either. While such features were planned as future updates, they were never incorporated into the OS. Most power-user that value such features were using the other platforms instead. Despite these shortcomings, PalmOS 5 still made a strong showing among casual users.
Palm Tries To Become The Microsoft Of The PDA Realm
Palm have already licensed their OS to several interested OEM’s during the late 90’s. In the 2000’s, Palm doubled down on this idea by splitting the company into two: PalmOne and PalmSource. PalmOne was responsible for hardware development while PalmSource handled OS development and OEM licensing. The idea was that development was more streamlined as one company only had to deal with hardware while the other only had to deal with software. In actual practice, this was one of the dumbest things that Palm did. Often times, hardware decisions were often dictated by software capabilities and demands. Other times, the software developers need to work with the hardware team to tailor the OS to the hardware specs. Confusion ensured along with product delays.
While reckless, splitting the company between the software and hardware divisions wouldn't have destroyed Palm Computing if done right. However, doing things correctly wasn't in Palm's DNA. Regardless, splitting the company was a massive mistake. Palm's inability to release that hit product afterwards was the straw that broke the camel's back. While there Tungsten and Zire handhelds did well enough, they were just standard, run-of-the-mill PDA's that people expected. RIM and Microsoft was setting the world on fire with there offerings. Palm was no longer the trend setter, playing catching up with it's competitors.
Homecoming
Starting in 2003 and completed the next year, Handspring and PalmOne merged, bringing the original developers: Jeff Hawkins, Donna Dubinski, and Ed Colligan, back into the company. However, there really wouldn’t be much of an homecoming as Palm was compounded by various problems. The trio arrived at a company that was split into two and rapidly draining money as they were losing market-share to RIM, Microsoft, and Nokia.
This isn't the last article about Palm. We will cover the later incarnations of the OS along with WebOS and that train-wreck called HP!
Comments
Post a Comment