Modern Software Experience

2008-12-02

Songbird

Change of Tunes

When I started migrating from my old to my new PC, one decision was very easy: no more iTunes. Apple’s iTunes for Windows is hardly a media player, its focus changed to an iTunes store front years ago already.

It is easy to complain about its bloat and sluggish response. It is natural to complain about Apple’s dirty tactics "update" to try and push its Safari browser and install its stupid Bonjour service.

What really annoys about iTunes are all the processes it installs. These processes take away valuable memory, and quite a lot of it. AppleMobileDeviceService.exe is taking some 2,5 MB, iPodService.exe is taking some 4 MB, and iTunesHelper.exe is taking roughly 9 MB. That is 15,5 MB of memory gone. Not 15,5 KB, but 15,5 MB. It’s ridiculous already, and it are just the numbers that Task Manager reports, the actual numbers could be higher.

On a 512 MB PC, 15,5 MB is more than 3% of the total RAM. Depending on configuration, it is between 5 and 10 percent of what remains once Windows, drivers and antivirus software and stuff have been loaded. Even on a PC with 1 GB of RAM, 15 MB is a significant chunk of memory.
By the way, that is just the memory. Every process, even an idle one, takes up some processing power too…

Apple expects me to offer that all memory at the iTunes altar just because its programmers don’t know how to write an efficient Windows program. I expect Apple to understand that I don’t want to use its program until it shapes up.

iTunes replacement

Songbird is the ideal iTunes replacement. It is free, open source, very much looks and feels like iTunes, will import your iTunes library, and can even automatically update its index if you bought something from the iTunes store again.

I’ve switched to using Songbird as my media player since early November.
I don’t buy music encumbered by Digital Restriction Management (DRM), so I don’t have an iTunes library with Apple FairPlay tracks. I just use iTunes as media player. From what others who did sell their soul to and buy their rock from Apple tell me though, iTunes import is slow.

Firefox

media browser

Songbird has a lot in common with Firefox. Songbird is not just a media player, it is a media player for the web. It is also a web browser. It is browser with an integrated media player. It is a media player with an integrated browser. Songbird is a media browser.

Firefox add-ons

Songbird is a web browser based on Firefox code. Songbird does not just use the same Gecko browser engine as Firefox does, but is actually based on the Firefox code. It even has Firefox’s customisable search box.
Like the Flock browser, Songbird is based on Firefox code - and in both cases, an important practical upshot is that they are compatible with many Firefox extensions.

Firefox themes are not likely to look very well in either Flock or Songbird unless they were developed with Flock or Songbird in mind, but the rest seems to work just fine. I started by installing NoScript and then choose a random selection of Firefox add-ons, with mixed results.

When I tried with a release candidate, NoScript installed fine, but AdBlock Plus was still incompatible. Songbird does not say why it is incompatible, but does detect and tell you about the incompatibility as soon as it is done downloading and tries to install it.

Songbird add-ons

Songbird does not support all Firefox add-ons, but does support Songbird add-ons. These add-ons are divided into the five categories Appearance, Playback & Management, Content & Discovery, Web Browser and Developer Tools.

Media Flow

The MediaFlow add-ons adds a Cover Flow interface. I like the idea, but am not happy with the implementation. Songbird does not need to rebuild its index every time you start it, but apparently MediaFlow does need to do something like that. When I had added some fifty albums, I started to notice delays in retrieving the album art already. This delay did not just occur on start-up, but every time I switched from any other view to library view.

The Wikipedia Extension will show the Wikipedia entry for the currently playing artist. LyricMaster retrieves lyrics. I quite like that one. It is simple and fast.

playback of restricted content

The more interesting add-ons are the ones that allows playback of Apple’s "FairPlay" audio files obtained from the iTunes music stores, and the one that allows playback of protected Windows Media Audio files. There’s one that support copying to and from iPods and one that adds support for the Media Transfer Protocol (MTP), for better support MP3 players geared towards Windows Media Player (Microsoft Zune, Blackberry 9500, Nikon Coolpix cameras, Palm mobile phones, Samsung Yepp, etcetera).

The functionality of these add-ons is so important that these should be bundled with Songbird itself.

feathers

Songbird themes are known as feathers. Many feathers just change it colours or theme, others make Songbird look like iTunes or the Windows Media Player.

Changing feathers seems to trigger an immediate close-down and restart, but it is just the user interface that disappears for a moment. All open browser tabs remain open and Songbird continues to play the current track without any interruption or hiccup.

add-on interface

The Songbird add-on interface is much like that in Firefox. It alerts you to updates and will search for updates on commands. I had installed version 0.70 and gone crazy by installing a few dozen add-ons. When I upgraded from version 0.70 to 1.0 Release Candidate 3, it told me which add-ons were incompatible, immediately offered to search for updates, and then kept checking from time to time.

Because Songbird is a browser, you can even browse through the add-ons from within Songbird, and install them by clicking the Download button. Actually, when you visit the Songbird add-on pages using Songbird, the Download button is replaced by an Install button.

There is one serious problem with the Songbird add-on site. It is not JavaScript-free and it does not work until you allow scripting. You should not have to allow scripting, but at least the NoScript extension allows you to specify that you trust www.songbirdnest.com without having to allow scripting for all websites.

Songbird user interface

multi-platform

The overall user interface is very iTunes-like. It has the same library view of your collection. The overall interface seems logical, there are keyboard shortcuts and it supports context menus.

It does not feel entirely right, and that is perhaps because it really is a multi-platform interface. It does not support ribbons, and perhaps deviates a bit from Windows conventions.

multi-language

Songbird supports multiple languages and locales. It supports English, yet annoyed by defaulting to Amglish instead of English. International software should default to either English or the system locale, not to whatever locale someone on the development team happens to use.

pains

Songbird has multiple panes, and these are very configurable. You can resize panes. You can decide to hide or show panes. Additional plug-ins may provide more content. A pane may be used to display more than one thing and have a small control to let you switch between those.

customisable

Songbird’s look is very customisable. You can either download a feather (Songbird theme) or develop your own. You can hide many panes to make it smaller, but it won’t get really small, because the player control demands a minimum wide. You can switch to mini player mode.

One problem I noted with the mini player mode is that when you try to switch feathers, it will also switch back to full player mode. Today’s 1.0 release did not fix that UI mistake.

When you minimise Songbird it displays on the Windows TaskBar like any other boring Windows program, it does not have a special DeskBand mode like the Windows Media Player does. It does not provide a gadget in support of the Windows Vista sidebar either.
DeskBand mode is planned for a future version.

There are a few third-party Vista gadgets that support multiple media players, but I know of any that supports Songbird yet.

As you play and rate songs, Songbird automatically creates play list of the most played and highest rated ones. You can manually creates play lists by dragging and dropping songs from the library view. You can import and export play lists in the PLS format.


ripping & burning

Apple iTunes allows me to rip a CD. Windows Media Players allows me to rip a CD. WinAmp supports ripping, but Songbird 1.0 does not include any ripping capability.

Songbird isn’t Songburner either. You will need another application to rip and burn CDs. Songbird 1.0 simply does not support CD-Audio discs at all.

resource usage

Start-up seems a bit slow, just enough to make me wonder whether the size of my library has significant impact on it. Start up of version 1.0 seems faster than the release candidates, but it there is still a wait of maybe two seconds before anything shows on screen, so it definitely needs to be improved further.

Playback seems very efficient. On my Intel Q6600 Quad-Core running Vista, its resource usage is hardly noticeable. Its memory usage was some 120 MB, but that was only because I was trying a few dozen plug-ins. When I disabled them all and restarted, its memory usage was 60 MB. Be sure to watch the memory usage of those plug-ins. After settling on about a dozen plug-ins, memory usage right after start up is about 86 MB.

The Songbird developers will have to watch that memory footprint. Sure, it is a complete browser, and Firefox easily uses just as much, but 60 MB is a considerable chunk of memory, and about four times as much as the Windows Media Player uses.

music stores

Apple iTunes is a front-end for the iTunes store, and Apple is not eager to offer access to other stores. Songbird is a front-end for any store. There is a plug-in for browsing and buying from Magnatune.com. There is plug-in for the eMusic Store. There is an early plug-in for Jamendo. There is a toolbar for allmusic. There is a BitMunk plug-in.
You are not locked into or restricted to any one store.

Most stores do not have Apple’s deep pockets to create their own music player. Besides, who wants a different player for every store? Surely, you’d rather have one player that you can use with any store. An open front-end like Songbird provides easy access to all stores. All the store has to do is to provide a plug-in.

speed

I was very happy to note that in between the release candidates for 1.0 and the actual 1.0 release, the Songbird team focussed their efforts on improving performance, to make sure it can handle large database. They managed to reduced memory usage as well. Details are in the Songbird blog post. I am still not to thrilled about its memory usage, but at least they are paying attention to it.

technology

Songbird is not overloaded with technology. Some of the technological important stuff is in the add-ons instead of Songbird itself.

Songbird is based on Firefox code. That means that is a real, fast and highly standard-compliant browser. It is not just using the Gecko browser engine, but can even use many Firefox extensions.

Like Firefox and Thunderbird, Songbird’s user interface is built in XUL, Mozilla’s user-interface language. That makes it easy to provide the same interface on multiple platform.

Songbird supports MP3, Ogg Vorbis, FLAC and more.
Songbird uses the GStreamer multimedia framework, which is also used in Nokia Internet tablets. Many of Songbirds’s core capabilities are really GStreamer capabilities.

conclusion

open

Songbird is an open media browser; it lets you browse, buy and play music without fencing you in.

Songbird is open in every way. It is open source and free to download, use and adapt. It has an open architecture that allows third-party plug-ins. It is music store front-end, but does not limit you to any particular store. Songbird provides full access to the many labels and sites that provide DRM-free music. Songbird plays Apple’s and Microsoft restricted formats, but does not foist another format with limited usability on you. It is available on multiple platforms.

user interface

Songbird user interface is flexible, and surely good enough, but lacks support for modern user interface elements like ribbons and gadgets makes. A completely unnecessary mistake is that the installation defaults to Amglish. Songbird does support English.

Songbird 1.0’s major shortcomings are the lack of a ripper and visualisations. It does not even include an equaliser. Some of the add-ons need work too, but if the success of Firefox is any indication, picking Songbird to manage your digital music is the smart thing to do.

multi-talented

Songbird can not just replace iTunes. Songbird is multi-store, multi-language, multi-platform and multi-format. It is free, open source, integrates with the web, and customisable through themes and plug-ins. Start-up is a bit slow, playback requirements are modest, but its RAM demands are not.

updates

2012-07-01: BitMunk

BitMunk sees to be gone. The link has been removed.

2012-11-08: Songbird Blog

The Songbird blog appears to have lost all post but those of this year.
The broken links to the 2008 blog posts Performance Improvements for 1.0 and Songbird 1.0 is here have been removed.

links

also mentioned

media players

browsers

Firefox add-ons

Songbird feathers

Songbird add-ons

stores

Songbird plug-ins

stores

technology