A project log for Restoring the Palm Foleo

From 2005-2007, I worked on a Linux-powered netbook that never got an official release. Now I'm making it work again.

Ben CombeeBen Combee 10/23/2020 at 05:170 Comments

The Foleo was the first embedded Linux device I worked on in my career.  When I first joined the team, we were still evaluating software stacks.  I'd been recruited out of developer relations at PalmSource by one of my old contacts who had been at Handspring which had then merged with the old Palm hardware group to form palmOne.  I'd been supporting devs on Palm OS for several years, but was looking forward to defining a new generation of hardware.

Originally, we'd been looking at using Gtk+ as the UI widget framework with it drawing to the device framebuffer, but it was proving to be heavier.  We ended up keeping the glib part of GTK as a system library for data structures, but going with DirectFB as the graphics engine.  On top of DirectFB, we took the LiTE widget system, then built our own libraries called Hx and HxUI.  The "Hx" name comes from an early code name of the device, "Hollywood".  As names got leaked, we'd take on other code names, including McGuffin and Falcon.  For a few weeks, the device's boot screen was based on this graphic:

We didn't hide the fact that we were using Linux.  We had a terminal emulator based on DFBTerm that was a standard system app.  When you started it, you'd be right at the Linux prompt, although I think you didn't have root until you did a sudo command.  It was pretty easy to recompile common command line tools to run on it, and I had both Frotz and Nethack working on it in the first year.

Our big applications included a version of Palm's VersaMail software that would use Bluetooth to sync a mail database with your Treo phone.  When this worked, it was really great; you literally could be looking at a mail on your phone, stick the phone in your pocket and open up the Foleo, and be replying to the message in a matter of seconds.  Unfortunately, sync is a notoriously hard software problem.  It also couldn't run in standalone mode, so even if you had a WiFi connection, it couldn't talk over POP or IMAP to your mail server; it relied on the phone to be the connection to ensure everything stayed in sync.

We also had a suite of office applications ported from one of the Palm OS suite, a PDF viewer, an image viewer, a calculator, a file manager, the settings app, an application installer, and a web browser.  If I remember correctly, our original web browser was a port of WebKit, but it was proving to be slow, so we swapped it out for a version of Opera that we licensed.

In the months before the Foleo was to be released, we worked with many 3rd party developers that had supported Palm OS with great applications, and we had several games, movie and audio players, personal information managers, and image editors nearly ready to go when the project was cancelled.