Adventures with Chumby
I am now the happy owner of one of the coolest gadgets I have ever experienced, the Chumby. At first glance, this diminutive computer appears to be nothing more than a Web-connected alarm clock. This, in and of itself, is a neat idea, and worth the price of admission for me. However, the Chumby is much more than a simple alarm clock, Web-connected or not. To that end, I made a conscious decision when the Chumby was on its way to me from the factory in China not to have the Chumby in the bedroom. Such a useful device should be in a room where people can take advantage of it while they're awake.
The Chumby, at its heart, is a small embedded computer wrapped in a soft, squeezable shell made of plastic and leather. If you want to get technical, the Chumby is powered by a 350MHz ARM processor and contains 64MB of SDRAM and 64MB of NAND Flash ROM. For output, it has a 3.5" LCD color touchscreen, 2W stereo speakers, two USB 2.0 full-speed ports and a headphone jack. For input, it has the aforementioned touchscreen, a squeeze button on the top, and an accelerometer for motion and tilt sensing. It connects to the Internet via 802.11b/g, which means you need to have a wireless network of some sort. Power is supplied by an external AC adapter, and there also is a connector for a nine-volt battery for emergency power.
The Chumby displays small Flash movie “widgets”. These Flash movies can do anything that Flash movies can do within the limits of the Flash-Lite-3 embedded Flash player that the Chumby runs. In practical terms, this means it can play most Flash movies that run in version 8 or lower of the Flash browser plugin. Some features were added in version 9 of the browser plugin that are not supported in Flash-Lite-3.
A lot of thought and care has gone into the design of the Chumby, and every effort appears to have been made to make the Chumby as easy to use as possible. Even the packaging contains some nice touches, such as the linen bags the Chumby arrives in instead of yet another box. The bags are useful and mean less waste—always a good thing in my book.
The user interface also is well designed. My very nontechnical wife was able to find her way around the Chumby easily. There even is a nice movie that plays when you turn the Chumby on for the first time that gives you a quick tour of the interface and main features.
Once I had the Chumby unpacked and connected to my network (and had given the little charms that I found in one of the bags to my kids), it was down to business. My original thoughts on what I wanted to do with the Chumby were to turn it into a kitchen assistant with a favorite recipes database that it served up from either a built-in or in-house Web server, a recipe search widget (to search the recipes in the database, or find new ones on-line), a music player, a shopping list creator, a meal planner, a calendar, a photo album, an egg timer, a calculator and a plain-old alarm clock. Ten things shouldn't be too hard, right? Well, my success was mixed. Some things worked out great, and others, not so much. I haven't given up on getting all of the above working eventually, but not all of them work at this time.
My first order of business was to try to create some Flash widgets, and I quickly found there are some major downsides to having Flash be the preferred method of application development on the Chumby. The good part is that the Flash software from Adobe is easy to use and can create all sorts of things. The bad part is that said software—apart from it being proprietary, closed-source and available only for Windows and Macintosh—costs twice as much as the Chumby, and there are no easy-to-use open-source alternatives to the Flash programming environment that run on Linux.
There has been some progress in this area, mostly along the lines of simple environments for writing and compiling Adobe's Action Script language into Flash movies, but the best of these, FlashDevelop, is Windows-only. I'm also not too keen on learning yet another programming language. There are some Linux GUI tools that are in the proof-of-concept stage (meaning they look nice but don't work).
Another option for me would have been to hack the underlying embedded Linux operating system on the Chumby and add something like embedded GTK or KDE, but I quickly put that out of my mind, as I don't think I have the chops to avoid turning the Chumby into a paperweight in the process.
So, I went with what I had, and what I could find. The upside to this approach is that new widgets are being released all the time—more than a dozen in the few weeks that I've had the Chumby—and people are constantly thinking up new things for their Chumbys to do.