Monday, December 15, 2008

Rockbox - I hated it, now I like it




On iTunes I can be listening to a podcast or an audio book then pause and sync with my iPod. When I hop into the car and hit play it continues where I left off. If I plug in my iPod when I get to work and I have iTunes there I can hit play and continue right where I left off. I want to have the latest podcasts handy at all times, and it would be nice to have some music on my digital media player as well. Syncing with iTunes mostly satisfies this goal by allowing me to select what playlists to sync, including smart playlists (which can search by relative published dates like "this week"). The last I checked, iTunes only supports auto-fill on the iPod shuffle which has always confused me. I want to have my latest podcasts, and then don't waste the rest of the space... fill it up with some random music - it's better than leaving it empty.

Portable media players are built to be sold, which sometimes coincides with usability and customer satisfaction, sometimes not. People use these things when they are away from their computers - running, gardening, doing housework, or driving. If a player makes me stop running or makes me pull off my garden gloves it fails to follow it's primary purpose - play what I want and get out of the way. From what I can tell, most people don't listen to podcasts or audio books. They load the music, shuffle, and never touch the thing outside of an occasional skip forward. When you listen to an audio book or podcast you need to pause when you get a phone call or talk to the toll booth dude - music you just let it go. Sometimes you miss something and need to scrub backwards. Often you need to fast forward past commercials. Podcast listeners also update their player daily, something that music-only users are unlikely to do. These features do not seem unreasonable, but most players perform badly with these requirements, and the iPod is no exception.

This is all fine, except I don't use iTunes. My computers these days are filled with Linux goodness. Linux distributions normally include Rhythmbox, Banshee, or Amarok depending on which way you swing. I don't have much experience with Amarok, but as of today Rhythmbox and Banshee both are unreliable for use with a portable media device. Yes, you can get them to work once, twice, or five times in a row, but that sixth time is a big fat failboat. They are sooooo close to being good, but in the meantime I end up not listening to my podcasts in the car.

The iPod is designed to work with iTunes and specifically attempts to lock out third-party clients - even though Apple doesn't make a client for my platform. MTP devices as I understand are more open to different clients - but that still has not led to a reliable experience for my MTP device.

Banshee supposedly worked well syncing MTP devices, so I scored this Sansa c240 for $20 in hopes of being able to reliably listen to podcasts in my car again. Nope, it was no more reliable than the iPod - it'd flake out every few sync attempts. The firmware on this bad boy was beyond horrible. Each time the device starts the volume is at 50% - no matter where it was last time. To turn up the volume you must find a song, play it, then press the volume up button about ten times (can't hold it) to turn it up all the way. On the plus side, at least it will remember where you were in a song if you happen to navigate back to the exact same track after booting. Oh booting - that's another thing. It took about ten seconds to boot this thing up which is a long time to sit there waiting to find a song so you can turn up the volume. The default theme made it near impossible to see what was selected, and scrubbing through a track was super slow and difficult.

Enter rockbox, an open source firmware for a number of media players that is loaded with features. I had tried rockbox in the past on my iPod Mini, but was turned off by the unnecessary complexity of the system. This weekend though I put the latest rockbox on my Sansa, and I am rather impressed. After messing with the settings I now have a player that boots up much more quickly and resumes my podcast exactly where I was last. I solved by syncing problem quite simply - by not doing it. The Sansa is a mass storage device so I can just copy things to it manually - but once I get off my butt I'm going to just set up rsync to automatically make sure I have only the freshest of podcasts loaded when I plug it in. Rockbox can build it's database on startup, which so far has been working quite well. With the iPod or Sansa syncing with Banshee it would always rebuild the music database, which blew away the bookmark on what I was listening to - and I spend half the drive home trying to scrub through an hour-long podcast trying to get to where I left off.

The games and applications with Rockbox are quite impressive running on this craptastic Sansa. I particularly like bubbles, which appears to be a rebuild of Frozen Bubble, a simple Linux puzzle game. Once I get my podcasts syncing correctly I'll probably write up a script to do an automatic playlist generation. I'd like to have a playlist each day that sorts my podcasts by published date so I can just play the top item to hear the latest content.



Further Thoughts

The Sansa device has a micro-SD card slot in it, which is nice because I have a 1GB card laying around (it's virtually useless in my Moto Razr). The default firmware seems to just do an either/or thing - it cannot use the card and the built-in flash. Rockbox can and does use both, effectively doubling my storage capacity. I can use one card for music and the other for podcasts if I want. The reason that the screen is unreadable with the default firmware is because they blew out the contrast for some reason... that and the fact that it is a horrendous display. Rockbox lets me turn down the contrast.

Format support is a big reason some people choose rockbox. Normally I couldn't give a shit about formats, I am fine using the patent-encumbered mp3 format. That said, I've noticed that sometimes albums gathered from nefarious places are in a lossless format like FLAC. If I don't feel like reconverting them I can just slap it on rockbox and it works fine. Ogg vorbis is pretty popular among those who care about openness, so occasionally I may download a podcast in ogg format. Being able to play this on-the-go may come in handy someday.