October 19, 2011

A Look at (Or a Listen To) Banshee 2.2

The Banshee released version 2.2 recently. Since it had been a while since I last explored Banshee on the desktop (although I have used the MeeGo flavor on a netbook), I decided to take a look — or a listen, to be more precise. On the surface, the app does not depart much from the iTunes-clone approach taken by essentially every other music app in the open source ecosystem. But Banshee is well-designed and has the potential to forge ahead in some interesting new directions.

You can download Banshee from the project's Web site, with stable builds available for openSUSE, Ubuntu, Fedora, Debian, Mandriva, and Foresight Linux, not to mention Mac OS X, Windows, and source code bundles. Linux users should have no trouble simply grabbing the latest copy (or adding the relevant package repository). Mac and Windows users will have a tougher experience, because the Mono app framework — one of Banshee's dependencies — is probably not installed by default. Have no fear, the instructions for every OS are specific and clear.

You may also want to look at the extensions provided for Banshee. They extend the application's functionality in a variety of ways. Some are what I consider fluff — visualizations, lyrics, plug-ins that search YouTube, and other tangential activities that do not really alter the core listening experience. They're fine if you like that sort of thing. But more important are the extensions that hook Banshee into other media sources or enable support for new formats. The main suite of extensions is packed into one bundle called the "Banshee Community Extensions," which is supplied as its own package by most modern Linux distributions.

When launched, Banshee uses a thin playback-control strip along the top of the window, and a sidebar on the left that gives you one-click access to the supported media sources. Whichever one you are using at the moment takes up the rest of the window. Naturally, most people are expected to spend the bulk of their time in the "Music" source underneath "Libraries" — this is your collection of audio files, which you can browse and sort ad infinitum. Banshee also includes your playlists under the Music heading, which I find very limiting. The "smart playlists" for recent additions and favorites are nice, but if you like compiling custom playlists you will rapidly run out of room in the sidebar, and you will find that using names longer than about twelve characters results in them being cut off with an ellipsis. Also found under the "Libraries" heading are podcasts, videos, and audiobooks (about which we'll say more later).

Beneath "Libraries" is the other main source category, "Online Media." This includes all of the web music stores, online storage services, and podcast or streaming audio channel directories that Banshee or its extensions hook into. It also includes a sub-category for "Shared Music" which includes network services like DAAP servers and UPnP shares. One of the nicest things about Banshee is that it automatically discovers and lists reachable media servers. I can't tell you how annoying it is to have to walk through a multi-step process to add a networked server in some other media players, particularly when they insist that you supply the details of the protocols used as step one. I actually care about media playing software, and I can barely tell you the differences between DAAP and UPnP — how can anyone expect a casual user to do the heavy lifting?

Unless you have never listened to music before, you already have your digital audio collection saved somewhere on disk. Banshee lets you "import" your collection by specifying its location in the filesystem, and it will subsequently watch the folders you choose for new or modified content. It also has a flexible CD audio ripping tool built in, as well as one of my favorite features: a built-in "metadata fixer." This utility lets you locate duplicate Artists, Albums, and Genres, and merge them by correcting the relevant labels embedded in the metadata tags.

Welcome to 2.2

Speaking of metadata woes, one of the new release's key features is duplicate song detection, which is an optional extension. It is not quite as simple as detecting duplicates in artist and album names, because it relies on matching multiple metadata entries, but it is certainly more useful. I can live with the occasional "Of/"of" capitalization difference between various tracks, but actually having duplicate copies of a file is a waste of space. Also new among the 2.2 extension pack is AlbumArtWriter. This extension saves the automatically-fetched album cover images that Banshee looks up online into the album folders. The upshot is that you do not have to manually look up and save images separately, and they will be accessible to any other media program.

Banshee 2.2

On the playback front, 2.2 now supports SPC700 files (a format used for video game music), default equalizer settings, and support for XSPF playlists — a way to pre-populate streaming media stations from Icecast or other servers. There is also a "mini-mode" display option, which is good news for those who listen to music all day long while trying to get work done. Banshee offers a lot of features, but in its default mode it also likes taking up a bulky percentage of your screen space.

The connectivity features of the new release may be of more practical value (except for SPC700 collectors, obviously). This version adds synchronization support for a long list of new hardware, including the Notion Ink Android tablet and the Barnes & Noble Nook Color. Most mobile smartphones are already supported, because at the very worst they can operate as USB Mass Storage devices when plugged in to the computer, but devices like tablets and e-readers are not nearly as standardized.

There is also new support for the eMusic service and store. Like other supported online music stores (such as Ubuntu's or Amazon's), you can browse the Web site to look for tracks and make purchases, and Banshee will download your new acquisitions. But it can also re-download all of your old purchases using the stores' implementation of "digital lockers," which is a boon for people with multiple machines or who have suffered hard drive failure or loss.

In addition to the new primary features, there are a lot of minor improvements, including several fixes to the way notification messages, application indicators, and sound menu controls work in GNOME 3 and Ubuntu. It is a relief that Banshee supports both desktop environments, since it looks like both are here for the foreseeable future.

On the development front, there are lots of intriguing new projects on the horizon. UPnP support, which at the moment is implemented as an extension, may become part of the default code base. Even better is Banshee's migration to an all-GStreamer playback engine under the hood.

Not All Cookies and Rainbows

There is a lot to like about Banshee 2.2, but it still has several important weaknesses you need to be aware of going in.

First and foremost — and it pains me to say this — but I think that audiobook support has actually gotten worse with time. Banshee is one of the only audio players that attempts to let you manage your audiobooks separately from your music, and that is a good thing. You never want to turn on shuffle mode and catch a randomly-selected chapter from the middle of a book in between songs. But Banshee's audiobook module is just plain broken.

The interface is there: a separate link under "Libraries" and separate preferences for storing your collection, but it doesn't work. The only way to import audiobook files to is to import them into the music library first, then manually drag each file to the Audiobooks category — after which they may or may not still live on in your music library. But the Audiobook browser is nonfunctional, bookmarks do not work at all, individual chapters are not recognized as coming from the same title, and so on and so on. In previous versions, you could at least set the audiobook preferences to watch a separate folder for new material; in 2.2 you can apparently still set the preference, but it has zero effect.

The thing that makes all of this breakage worthy of criticism is the fact that audiobook support is not an add-on provided by the community: it is a shipping component in the default builds. Audiobook support is even mentioned as one of the top bullet points on the Features page. Banshee does such a good job organizing music and podcasts that the fact that audiobooks are broken and the project knows it but still advertises it is an embarrassment. Fix it or turn it off, but leaving it as is is inexcusable.

On a related note, the project makes a big deal out of the extension mechanism, but it does not do much (if anything) to maintain quality control. Sure, any particular extension for any application can be good or bad; what I mean is that there is no compatibility checking, no review, and no update mechanism. That makes every extension a crap shoot. There are some extensions that I really like in theory (such as the Internet Archive extension that hooks into old radio series), but periodically something changes in Banshee and they no longer work.

Without a repository or a feedback mechanism, there is really nothing you can do. The Internet Archive extension, for example, no longer has a working UI: the columns are fixed-width and unreadably narrow, and it picks up the wrong theme colors from GTK, leaving some of us with white-on-light-gray text. Banshee is right to aim for building an extension ecosystem — it just needs to take some cues from Mozilla about the proper way to manage one.

All in all, I like Banshee's approach to audio management: it does a much better job of treating disparate types of content in ways that are appropriate to the content type. In contrast, too many audio players lump local music files, podcasts, and streaming media into one amorphous library, or try to shoehorn adding a DAAP music share into the same workflow used for adding a new album folder.

Banshee also does a good job at taking care of automatable tasks for you (the album art writer and automatic duplicate-detectors, for example). I hold out hope that future releases will fix the outstanding bugs with audiobooks and extensions — then we can talk about other important usability issues, like the program's penchant for calling streaming media services "radio." But just about every audio player does that....

Click Here!