2008-02-04

Rhythmbox

I've been in process of "switching" to Linux for roughly forever. Well, since 1998, anyway. I'd been a happy user of Plan 9, IRIX, and Solaris before then (in decreasing order of happiness), as well as being a rather unhappy AIX and SunOS user. I'd seen Linux, but hadn't seen the point. And then in 1998, I found myself with a Sun Ultra 10 on my desk. For reasons that escape me now but which doubtless involved some Solaris decrepitude, I experimented with Linux/SPARC. I remember being shocked at how much faster Linux was than Solaris on the same hardware, but I also remember that I soon gave up and went back to Solaris because the X11 server was unstable.

Still, a seed was planted, and my next desktop box deliberately had all its parts chosen for their known compatibility with Linux (still a necessity then) and I've hardly looked back. RedHat almost put me off, with its insistence that I deal with package dependencies manually, but Debian offered a solution to that, and Ubuntu offered a solution to the sadly typical Debian choice between a repository of broken packages and a repository of packages so stale they could almost ship with Solaris; Ubuntu's six-month cycle offers a good compromise between these two positions, and Ubuntu does a mostly good job of reducing the number of choices Debian expects me to make by offering me reasonable enough default choices. Ten half-working solutions are not better than one mostly-working solution, or, to be honest, one half-working solution.

The only problem is that I live a dual life: developer by day and, well, developer by night. But a different kind of developer. One who has to maintain his own machine and let real people have accounts on it. Because of this, I've been using Macs since 2001. Initially because I wanted a Unix with a nice UI for myself. And although nothing comes close to Mac OS for "nice UI", Linux is still my preferred Unix because I'm a developer. And as a developer, I don't think you can beat Linux. (The obvious exception being if you plan to make money by selling commercial software.) So I've been slowly moving away from Mac OS, and using Linux for more and more things.

RSS was a big sticking point, but I finally gave in to a friend's recommendation of Google Reader. I don't love it (I find its behavior when I scroll or click in an article annoying at times), but it's good enough, and its killer feature is the usual web app advantage of being able to use it from any of my computers, regardless of where I happen to be. Plus it doesn't have ridiculous delusions of being a sovereign app like some of its desktop competition.

RSS, then, is sorted. What's left? At the moment, I use the Mac for Mail and iTunes. I want to keep my mail on my own IMAP server, but I can't stand Evolution or Thunderbird, so I'm sort-of writing a mailer in my copious free time. That's a bit dormant right now. Linux mailers are uniformly awful, and appear to be suffering from an "editor wars" kind of mentality where they're too beholden to their audience of diehards to worry about real people, but it's not hard to imagine that the desktop mailer just isn't going to be very relevant in the future. More than most things, mail lends itself to being a web app because almost everyone's mail is on a machine other than the one right in front of them anyway.

None of this is what I wanted to talk about, though. I wanted to say that I'm divorcing iTunes. I didn't realize how easy it would be, and I haven't seen this spelled out anywhere, so I'm spelling it out here in the hope that it will be useful to someone else.

My situation was that I already had all my music on my Linux box, in exactly the structure that iTunes uses, courtesy of rsync(1). What I thought I wanted was something to convert my iTunes ~/Music directory (and the iTunes database within) into something that a Linux music player would understand. It turns out that there's no need for any such thing. Rhythmbox is perfectly capable of doing the right thing, using the metadata from ~/Music and not duplicating the .mp3 files, and is even capable of checking for changes. So (if you configure it to check for changes, which it doesn't by default) you don't even need to tell it if you add new .mp3 files.

Rhythmbox itself is perfectly adequate. It has the usual GTK+ habit of seeming to take up a lot more screen space than it actually seems to need, and the slider for jumping about within a track doesn't work very well, but the interface is obvious enough and the filtering is fast enough, so it'll do just fine.

Maybe the fact that Rhythmbox can use your iTunes library is so blindingly obvious it doesn't need mentioning, but I didn't know, and I was actively trying to switch to Linux, and had been actively looking for a way to do this. Sometimes you need to explicitly say that something "just works", even if you think your users should feel able to take it for granted.

Someone should write some kind of HOWTO for switching to Linux from the Mac. Maybe I could, presupposing I ever manage to complete the transition!