- We design and build extraordinary applications for companies looking to make the next great idea a reality.
- learn more
Songbird 0.3: Why aren’t Ajax folks more geeked about “the Firefox of media players”?
Songbird, the open-source, Mozilla-based media player, received its 0.3 "developer pre-release" on Oct. 30. The UI hasn't changed much since the 0.2.5 "developer preview," but things continue to evolve under the hood. Better yet, the documentation and demos keep getting better. Check out the developer center for information about using XUL to build add-ons or using the JavaScript API to integrate your webapp with Songbird's media player.
If you've yet to experience Songbird, a little background is in order. The project is run by Pioneers of the Inevitable, a Bay Area company founded by veterans of Winamp and the Yahoo! Music Engine. Building on Mozilla's XULRunner platform and the VLC media player, Songbird aims to unite a web browser, a media jukebox and an online media player into a skinnable, extensible, open-source application. At this stage, the app is a long way from challenging the likes of Windows Media Player, let alone iTunes. But as it grows, it promises to cultivate the same kind of fervent user and developer communities as Firefox, Thunderbird and other Mozilla projects.
I first became aware of Songbird via a Boing Boing post. I'm surprised it hasn't generated more noise in the various Ajax feeds and news sources. With all the excitement about specialized browsers and desktop webapps, from Mozilla Prism to Google Gears and Adobe AIR, it seems like Songbird would be earning a lot of buzz. Maybe I'm just not hanging out at the right water coolers.
As an Ajax developer and huge music nerd, I'm looking forward to playing with the JavaScript API. It promises seamless integration between webapps running in the Songbird browser and the media player itself. Imagine iTunes, but instead of a built-in browser that only supports the iTunes store, you've got a Firefox clone that plays well with music vendors, P2P networks, MP3 blogs and any other internet music resource. Visit a music mag, for instance, and see all of its featured downloads automatically show up as a playlist in the media player (as in the Hype Machine example above). Visit an online music store and experience an iTunes-esque purchase experience. Indie-music brands such as eMusic and the aforementioned Hype Machine have already gotten on board. To see Songbird's API in action, compare these sites in Firefox and Songbird.
Songbird's add-on ecosystem is cool, too, especially for long-time Firefox developers. They can adapt existing add-ons with just a few tweaks. (GreaseMonkey, for instance, has already been ported.) But Songbird's API allows for more radical innovation than Firefox's add-ons. Instead of simply adding context menus and pop-up dialogues, you can rewire the entire UI of the media player. One example on the developer site shows how to replace the single play/pause button with individual play, pause and stop buttons. That's a trivial example, but a telling one.
I'm already salivating about the cool stuff I'll be able to do with add-ons:
Tag-parsing madness
Imagine Doug's AppleScripts for iTunes ported to XUL. Like a lot of people, I'm obsessive about my meta tags, and I can't wait to use JavaScript regexes to bend them to my will en masse. I'm also hoping that Songbird will record all of its meta data in the music files themselves instead of socking some of it away in the music library. With iTunes, if you decide to rebuild your library in another player - or even in a different iTunes installation - you lose things like star ratings and play counts. It's a real bummer.
Huge libraries
The flat XML database in iTunes scales horribly. Get above about 100 gigs of music and performance slows to a crawl. This problem has only gotten worse with the bloat of Cover Flow, Quicktime integration and all the other features I don't need. I have 450 gigs, most of it ripped from my huge CD collection, and I've had to separate it into four separate libraries (using Libra) just to get decent performance. That sort of defeats the whole "any song at any time" promise of the MP3 era. Enter SQL Lite, which is how Songbird stores its own media library. I've got high hopes that a relational-database back end coupled with open-source how-to will make Songbird the media player of choice for folks with enormous libraries.
Interface freedom
iTunes and its Smart Playlists are all about endless, automated mixes. But I'm an old-school mix-tape guy. At the end of each year, all of my friends usually get a four-CD retrospective of the year's best tracks as compiled by me. But with iTunes, it's excruciating to build a "source" list of possible tracks for these multi-disc epics, then slot the tracks into individual discs and experiment with sequence. You can only view one playlist at a time, so every time you decide to move a track from one playlist to another, it's a multi-step operation. Imagine an interface where I could see my "source" list and all of my target lists at once, and where drag-and-drop defaulted to a "move" operation rather than a "copy" operation. With XUL and JavaScript, I'll be able to build any specialized interface I want and swap it in for Songbird's default UI.
Sure, most of my needs are pretty specialized, but I hardly think they're unique. And that's the point of an extensible, open-source player. You're free to build the features YOU want to see and share them with others like you. That's a lot more productive than griping over at the iLounge forums about iTunes's shortcomings.
I know Songbird isn't the only open-source, component-based music player out there, but it is the only one that's drawing on the power of the Mozilla Foundation. Firefox has shown how disruptive the Mozilla community can be in the browser market, which, like the music-player market, is dominated by a single product. Songbird may not topple iTunes any sooner than Firefox topples IE, but it should provide a powerful alternative and perhaps put some competitive pressure on the folks in Cupertino. It was extremely shrewd of Pioneers of the Inevitable to hitch their wagon to Mozilla's. I'm definitely going along for the ride.
Songbird links
Songbird posts
- Boing Boing interview with Songbird architect Rob Lord
- Ars Technica
- C|Net
- Internetnews.com
- Alpha's Place
- Blog of the Vicious Beast
- Views of a Discerning Critic
- Current_
- Hardware Beyond the Hype
Technorati Tags
Topics: Firefox, Firefox Extensions, Innovation, Javascript, Music, Open Source, Songbird
Comments: 8 so far
Leave a comment
About Pathfinder
Recent
- Thanksgiving 2008: What We’re Thankful For (In Rails)
- iPhone SDK: Testing with TextMate & GTM
- GWTQuery - JQuery-like Syntax in GWT
- Ask the readers: How do I fire native browser events in Prototype.js?
- News Rollup for the Week of November 17, 2008
- Rails ThreatDown!
- Automated Deployments Rock
- Bandwidth profiling Flex projects and more with Charles
- iPhone SDK: UIViewController Testing & TDD
- Icons are evil; so are menus - unless you do them right
Archives
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
- June 2006
- May 2006
- April 2006
- March 2006



Yay!
When do we get to see a cool sample Songbird-aware website?
mig
Comment by mig, Thursday, November 1, 2007 @ 11:42 pm
Want to know why I don’t care?
Take a close look at the screenshot. Less than 10% of the screen area is devoted to functionality I care about, like the play button and the volume control. I don’t need banner ads, web browsing, useless online stores.
Perhaps it’s better than iTunes, but that’s not hard to do. Maybe it has a “stop” button instead of a “pause” button. Trying to get iTunes to stop playing music reminds me of an old movie, Colossus: The Forbin Project, about an evil supercomputer that couldn’t be turned off without blowing up the world. Sometimes it seems the best way to stop iTunes is to pull the plug out of the wall socket.
If you want to make a music player that I’ll take seriously, try following in the footsteps of foobar2000, VLC and other programs that play music, period.
Comment by Paul Houle, Friday, November 2, 2007 @ 6:53 am
People are talking…
People are talking, talking ’bout people
I hear them whisper, you won’t believe it
– Bonnie Raitt
To follow up on Rob’s post from a few days ago, 0.3 has been out crossing the tubes of the Internet. As people noted, 0.3 is quite a huge step up
Comment by Songbirdnest.com, Friday, November 2, 2007 @ 1:31 pm
Know why it sucks?
It’s in very unstable beta for more then a year now. New features are added without taking notice at bugs that make Songbird unusable. The main thing about a music player is playing music. The rest is bonus. No more fancy features should be added untill the stuff works.
It’s also very slow. My experience was 3-4 times slower then amarok with a music collection of 100GB.
I don’t get the point about spending so much time on marketing songbird while it still sucks
Comment by Paco, Friday, November 2, 2007 @ 4:31 pm
I’ve been using Songbird for several months now, and I adore it. For the comment above about how much of the screen is functionally used and not banner ads, the web portion is only there when you’re accessing it. Otherwise, it’s a similar screen setup as itunes, with the song listings below in the main window along with search classes (artist, song, etc.) The web portion is nice if, like me, you go to music blogs like fluxblog. That i can go to website and have my browser automatically que up all the songs on the page, listing their relevant track data, and putting it in a sortable, browsable list is awesome. I can read about the bands while listening to their tunes, and without having to download the song, import it into my media player, find it, then play it. It’s way easier and convenient. I’ve had no problems with speed with my “meager” 60 gig collection.
For stability, it’s crashed a handful of times since i started using it, and it’s still just a .3 release. I have problems with itunes as much as that. To each their own, I spose. I just wanted to comment that some users are happy with the application. ^_^
Comment by Rico, Sunday, November 4, 2007 @ 12:30 pm
XUL Is a memory hog, and javascript is not the quickest thing in the world. On the other hand, songbird is a great way to find new music.
Comment by Elijah, Sunday, November 4, 2007 @ 2:05 pm
Spend some time with Amarok and you’ll completely forget about Songbird.
Comment by Brett, Wednesday, November 7, 2007 @ 6:25 pm
I remember seeing Songbird when it was in one of it’s first beta stages. I think it didn’t even have tabbed browsing then. It seemed like a great idea but the lack of tabs made me uninstall it. So when I saw RC 1 I redownloaded it. But it won’t play music on my system for reasons unknown to me. Talk about one MAJOR key feature missing.
Comment by Chris, Tuesday, November 11, 2008 @ 7:09 pm