It's Chumby time!
For the last year or so, my HTPC has been laying dormant, only occasionally waking up. As cool as it was, it wasn't really practical - the screen was too small watch anything, and I had no room to put a bigger screen in my room. Plus it was just too fiddly and slow to navigate through my content with a remote. So for the last year, it has been working as a ridiculously overpowered alarm clock.
It just became silly, and wasted a large amount of power doing nothing (yeh, I'm being green), so I looked around for something to replace it. Unfortunately, for some silly reason, cool, practical and alarm clocks just don't seem to mix, unless you went for an iPod alarm clock dock (e.g. JBL's OnTime) or a mini stereo system (e.g. Bose Wave II). The nicest one I could find was the Philips AJL308, which was good in concept, but had buggy and very basic software, plus the screen looked washed out and colours were uneven.
Then I remembered the Chumby. It's hard to describe what it is, because it can do a lot of things. Essentially, it's a wifi-enabled alarm clock with a touchscreen. But rather than just syncing the time up with internet clocks, you can setup widgets and it will scroll through the information on your screen, including news, weather, engadget, digg etc. It is available in black, pearl or latte - I got the pearl one.
At the point in time, it is US only so their store won't ship internationally. However you can use the various forwarding services out there to get one. I used PriceUSA who were awesome - great service, prompt delivery, and kept you in the loop through whole way. It ended up costing me around 250 AUD, which is a bit more than the 180 USD retail cost when converted even including shipping, but the options are few unless you know people in the US. None of the functionality is affected by the US limitation, although obviously most of the content available on it is US content.
The out of box experience is great. It comes in a bag, not a box (although it was probably shipped in one for protection):
Plug it in (you'll need to bend the pins or get an adapter to get the US plug working - adapter supports 240V fine though), turn it on, and you'll be prompt with the intro tour:
The characters are funny, and the tour is actually useful. Alright, so the Chumby doesn't have the Apple 'brushed metal' cool factor to it, but has its own cute kind of cool feel to it. And it permeates through the whole device - it is designed to be like a soft beanbag, with soft leather sides and beans inside the bottom. You get a pack of 3 charms to add some bling to your Chumby, plus you have to give your Chumby a name, reinforcing the notion that it is yours.
Next you have to setup network connectivity, otherwise the Chumby will be fairly useless. It supports everything up to WPA-PSK (plus hacks to make it support networks with landing pages). It only has wireless connectivity, so connecting a cable is out of the option (without other devices anyway).
A few more settings have to be done, including timezone, and then its time to activate it with the Chumby Network. Activation isn't compulsory, but without it the Chumby would be fairly useless because all the widgets come from the Chumby Network. Again, its pretty painless, and at times very slick - the Chumby Network knew exactly when I had authenticated my Chumby and proceeded automatically.
Once activated, a default selection of widgets are available on the device, including New York Times, engadget and chumball. You can pick and choose widgets from the Chumby Network website. Chumball is interesting because it is one of the few widgets that make use of the accelerometer built into the Chumby. Yep - it has an accelerometer built in. The Chumby device is full of unused bits, including the microphone on the front, and the battery connector at the bottom.
It is worth noting that given certain conditions, the Chumby Network will inject ads into your widget stream, called a channel. At the moment, if you have less than 6 widgets in a channel, ads are avoided. This injection of ads isn't made very clear on the website which has disappointed some people. The argument is that it pays for the Chumby Network, and the ad model is similar to what you get on TV; after all, the Chumby is kind of like an internet TV. Most of the ads are videos (currently, there are CBS ads running), although the sound is disabled unless you tap the screen. Because it is a US device, the ads are naturally US oriented. I personally don't mind them, but others might and it isn't very clear in their product material.
The Chumby can also be used as a fairly flexible music player. Music can be provided via USB, iPod (except the iPod Touch and iPhone as they lack the 'act as a disk' functionality), SlimServer/SqueezeCenter, or a variety of internet radio streams. The downside is that it can only play OGG and MP3 files/streams. That rules out a lot of internet radio streams out there, particularly the commercial ones, which broadcast using WMA. Reason is that WMA has a licence that is too restrictive. RealPlayer streams are also out, probably for a similar reason. Luckily, the Chumby team are working on a USB radio dongle addon to all you to tune into FM radio - the code is already mostly there, so it should be released soon.
Sound quality is surprisingly good for a device this size. Bass is fairly non-existent, and the sound does get tinny at times, but it doesn't distort, even at high volumes. It is also loud enough to fill a decent sized bedroom - should definitely be loud enough to wake you up if it is sitting on your bedside table.
Speaking of sitting on your bedside table, the device has a night mode as well, which dims the screen ahd only shows the time, so it isn't shining in your face at night and rotating through widgets for no reason.
So back to the main use case - the alarm clock. You can set a particular volume, so it isn't blaring at you in the morning, and isn't so soft you can't hear it. You have the option of setting multiple alarms (not sure of the limit). For each alarm, you can set a particular day, weekdays, weekends, or a certain day of the week. The time can be set to the minute. You can choose what it should play from any music source, and for how long (so it won't keep playing continuously if you're not bed that night). There is a snooze function as well, and you can preset the interval (in 5 minute increments). Finally, you can make it do something when it activates, including turning night mode on/off, or changing to a certain channel.
It is definitely usable as an alarm clock, and even has a switch on the top for you to whack. But there are some deficiencies. Firstly, it has no battery backup feature, so if the power goes out, it won't wake you up (although the battery connector on the bottom is supposed to provide this functionality in the future). Also you cannot choose the snooze interval when the alarm is ringing - it will always snooze to the preset interval. It doesn't have a sleep function (although you can emulate one). And there is no increasing volume feature - the music just starts. Ok, maybe I am nitpicking a bit.
From a typical person's perspective, it is a very usable and viable alternative to your boring alarm clock. As a bonus, it only consumes around 4 watts of power, which is probably on par with most alarm clocks even though it does a lot more.
But that's only half the fun of getting a Chumby. The Chumby is designed to be hackable. It is based on an ARM processor, and runs a stripped-down version of Linux. You can SSH into it by activating the SSH daemon via an easter egg. The Chumby will also execute scripts on startup from an attached USB stick (give it a name of debugchumby and place it in the root folder of the USB stick), and you can override all sorts of things by having certain files on your USB stick. The Chumby wiki is a great source of information.
The most painful thing when hacking the Chumby is probably cross-compilation. Because the Chumby uses an ARM processor, programs compiled for desktops (typically x86 or IA64) won't work on it. You'll have to set up a cross compilation environment on your Linux machine - the toolchain is available here. Even with the toolchain precompiled, it is still painful, as GCC support for ARM is still iffy in parts, plus the ARM processor has no floating point match coprocessor (only a software implementation) so many things (e.g. video and SETI@Home) are out of the question, unless an optimized fixed point version is available.
I tried compiling ffmpeg and mplayer for WMA support (the inbuilt BlueTune player source code doesn't include WMA code, but does support it), but gave up after numerous tries (I'm not the most knowledgeable cross-compilation expert obviously).
If only the Chumby used the new Intel Atom chip instead... then it might get a bit expensive :)
Luckily, the Chumby devs have made various runtimes available on the Chumby, including Python, Ruby and Java. Stick them on your USB stick, and you're off - no more cross-compilation stuff, at the cost of performance, resources, and possibly functionality. I used it to load the python-based lastfmproxy so I can have last.fm playing on my Chumby - see here for details.
Might have been more expensive than a typical alarm clock, but I definitely thought it was worthwhile (appeals to the geek in me, and is practical as well!). The major downside for me is the lack of ability to turn into commercial radio, via the internet or FM, but hopefully that will be remedied in the near future.