-
Get a monthly update on best practices for delivering successful software.

After my enthusiastic support for the open-source Songbird media browser, I recently got the chance to sit down (virtually) with Stephen Lau, Songbird's developer evangelist. Stephen was full of thorough, informative answers about Songbird's technical underpinnings, business model, development methodology and roadmap to version 1.0.
Agile Ajax: For software that's still pretty far from a polished, commercial 1.0 version, Songbird has attracted a devoted following and an active user base. How and why do you think that's happened?
Stephen Lau: We owe it all to our fans! The users that have adopted Songbird have definitely put up with some growing pains as we get closer to our consumer 1.0 release, but they've done so because they see the value in having a completely open platform as a media player. They are the type of users who are early adopters, music geeks, tech geeks, etc. and as near as we can tell, Songbird's following has grown via word of mouth (blogs, reviews, etc.) from our users.
Agile Ajax: The big news at Songbird right now is the Top 40 challenge, in which you've encouraged the Songbird community to port the 40 most popular Firefox plug-ins to Songbird by the end of January. Was this a bid to galvanize developer excitement or what? How do you balance the desire to make Songbird a full-fledged Firefox stand-in with the need to get core features and Songbird-specific plug-ins up and running?
Stephen Lau: Yeah - the Top 40 project has been going really well, actually. I've been really psyched by the response so far. One of the things we get "for free" by being based off of Firefox is its amazing extension framework. One of the Mozilla community's greatest assets is its openness as a platform: witness the extensions that support multiple apps (Firefox, Seamonkey, Flock, Thunderbird, etc.). It seemed only natural to us that Songbird should try as much as possible to be a good citizen in that community. So yeah, it's a bid to galvanize developer excitement in that we want existing Mozilla/Firefox developers to know that Songbird can run their extensions as well.
The beauty of having Mozilla's open-ended extension framework is that the limitless ecosystem of extensions means we don't need to balance Songbird as a full-fledged Firefox stand-in. We (the Songbird team) can focus on core features and developing frameworks, APIs, etc. and other 3rd party developers can build on top of our platform to create new and interesting extensions or websites that are more relevant to the Open Media Web. That being said, yeah, we definitely see a ton of value in Songbird being the key to unlocking and making available all that media on the web - and we expect that over time as developers see that same value, we will start to see more Songbird-specific add-ons.
Agile Ajax: What can you tell me about the Songbird business model? How is Pioneers of the Inevitable going to monetize?
Stephen Lau: Ahhh it wouldn't be a Songbird interview if there wasn't a question about our business model, would it?
So POTI, Inc. currently monetizes through two models: licensing and affiliate. Our licensees grok that combining service + software + device into one user experience totally simplifies their customer's media consumption experience. They license the Songbird Player, build functionality on top of the Songbird platform (both client side via enhancements to the Songbird Player, as well as service side via utilization of things like the Webpage API and upcoming Songbird Widgets) and then distribute their own branded experience. MySQL is a near perfect example for this type of business, building a commercial software business model on top of their open source offering.
Affiliates are our second model. Songbird is distributed direct to consumers as well as via our licensing partners, which allows media relevant services (e.g. music blogs, search engines, music stores, social networks, etc.) to get their services front and center to a demographic composed of media-savvy, early-adopter, audiophile geeks. The very people that would be most likely to utilize said services. The Mozilla Firefox + Google deal is a classic working example of this model. Mozilla reported $66.8 million in revenue during 2006, the majority of which came from their Google affiliate deal.
Agile Ajax: What's the software development process like inside the Songbird Nest? How are your teams structured?
Stephen Lau: That's an interesting question actually - we took a fair bit of criticism from our fans for the amount of time it took between 0.2.5 and 0.3 (but nothing on the order of Duke Nukem Forever or anything), so we actually have recently moved to an Agile-based development process with considerably shorter release cycles with more focused feature sets. This worked really well for us during the 0.4 development cycle. We were able to get 0.4 out less than 2 months after 0.3. Our development teams are probably best viewed as two teams: a larger group working on the "bird", or the Songbird client/app itself, and a smaller team of Rails developers working on the "nest", meaning all of Songbird's web properties (the add-ons site, the translation webapp, etc.)
Agile Ajax: You're a commercial software company building your product atop an open-source platform controlled by a benevolent non-profit. What's your relationship with the Mozilla Foundation like?
Stephen Lau: Building a commercial software company on top of an open source platform is not a new idea ... MySQL, Red Hat, Novell, and even big corporations like Sun and IBM have or are currently building products atop open source platforms. I don't think the benevolent non-profit being at the head is any different than the benevolent dictator. We've certainly got a really healthy relationship with the Mozilla project in terms of sending patches back upstream, filing and fixing bugs in Mozilla code, etc. A lot of the Songbird and Mozilla developers all know each other, and ask and answer questions of each other all the time. We all hang out on the same IRC channels, and a bunch of the Songbird developers honed their skills working on the Mozilla platform.
Agile Ajax: I can understand the benefit of hitching your wagon to Mozilla's. They've got a huge brand that can rub off on Songbird and an extremely popular and powerful software platform. But what about the danger? How much is Songbird's course determined by Mozilla's?
Stephen Lau: Yeah, I think Songbird's overall message and vision - of the Open Media Web and promoting ideals like open standards, open formats, and open protocols - gains significant weight by building on the Mozilla platform and brand. People see what Firefox did for the web as a whole and it's natural to see the parallel vision for Songbird and media on the web. I don't think Songbird's course is necessarily determined by Mozilla; like any open-source project, we build off what Mozilla does and leverage what they've built, but we're free to fork at any time. We've certainly got patches to the Mozilla source already that we maintain separately for Songbird.
That said, our vision and goals align very strongly with Mozilla's Manifesto, so we're not worried.
Agile Ajax: XULRunner is a work in progress, but you guys are using it on a pretty wide scale. What's it been like building atop a shifting foundation? Do you know of other software projects that are using it in the same way Songbird does?
Stephen Lau: Well there are certainly some pretty large projects using XULRunner (beyond the obvious Mozilla projects: Firefox, Thunderbird, SeaMonkey and Sunbird) ... and strangely enough the three that come to mind besides Songbird are all media-related: Miro, Joost, and the Flickr Uploadr. They're all leveraging the cross-platform nature of XULRunner to develop an app or platform that allows for web/service integration and media interaction.
While tracking XULRunner trunk is certainly a moving target, we've had good success snapshotting XULRunner and building on top of the snapshot. This allows us to QA against a stationary (if not stable) target.
Agile Ajax: Songbird also builds on the VLC codebase. Can you talk a little bit about the decision-making process there?
Stephen Lau: For the same reason many software decisions are made: it was there.
VLC was a media core available on Windows that supported a ridiculous amount of formats for us. Though, because it's GPL, we couldn't sub-license it as part of the Songbird Player to licensees. This is where GStreamer fit our needs better given its LGPL license. We ended up developing Songbird to utilize GStreamer for our Linux builds, which fit really well with the majority of distributions now utilizing GStreamer for its pluggable backend. We liked the GStreamer approach so much, we actually helped fund porting GStreamer to Windows and Mac, and we hope to consolidate our default media core to GStreamer on all our platforms.
Because we support GStreamer, VLC, Windows Media, and Quicktime media cores, our platform is actually quite modular. I think we'll most likely always support users plugging in different media cores into Songbird (whether for a licensee's requirements, or for a user's needs).
Agile Ajax: What does the roadmap to 1.0 look like? Do you guys have everything planned out ahead by release number/release date? Or do you take a more Agile approach to targeting specific features and bug-fixes only a release or two at a time?
Stephen Lau: A little bit of both actually. We try to adhere to the Agile approach. We do have a list of "big picture" features that we'd like to see by major milestones (e.g. our 1.0 consumer releases), but we generally plan specific features and bug-fixes a couple of releases at a time.
Our roadmap to 1.0 is placing a major emphasis on consumer-readiness. While this isn't going to be full feature parity with iTunes, Winamp, etc. (they've had a few years head start on us there), this does mean ironing out bugs, and adding the day-to-day features that would prevent someone from using Songbird as their daily media player.
Of course we're still continuing to develop our unique and differentiating features which are part of my next answer....
Agile Ajax: Mainstream users happily settle for iTunes, while real geeks are more likely to support foobar2000 or Amarok. What need is Songbird trying to fulfill?
Stephen Lau: This is a question a lot of people have ... and too often it's flippantly answered with "Well, Winamp has a browser too!" or "I already have a web browser - why do I want my media player to have a browser as well?" What Songbird brings is true and proper integration between its media player heritage and its web browser roots.
What's one of the hardest "things to do" regarding music? It's not playback, or management. If all we needed to do was play the media on our hard drive, then existing players are more than adequate for that. A problem that everyone has is, "How do I find and acquire new music?" And that's one of the big holes that Songbird fills. It makes the music discovery experience on the web so much better by making it easy for users to play back and download music they find on music blogs, etc. Additionally, our webpage API allows people to build out music services such as music stores and blogs really easily. Not only can they build it out easily, it will also have a seamless user experience not unlike Apple's iPod + iTunes + iTunes Store experience.
Agile Ajax: One of the things that initially got me interested in Songbird was the possibility that it would scale better than iTunes. I have 500GB of music split between five iTunes libraries. Am I the type of user to whom Songbird plans to cater?
Stephen Lau: We definitely plan to cater to you. With that in mind, though, we do have some scaling issues at the moment that we need to work on. Whether this will happen by our 1.0 release is unclear at the moment.
Agile Ajax: iTunes tightly couples a media player with a music store/video store/podcast directory/etc. How will Songbird's open-source, API-based model encourage less tightly coupled but similarly compelling integration? How, for instance, will I be able to use Songbird to manage my podcast subscriptions the way I can in iTunes?
Stephen Lau: You nailed it right there - iTunes has created a really tightly integrated vertical silo. If all you want to do is live within the world that Apple serves you, then you can probably be quite happy there. Songbird's approach is to take what the web did for online services, and apply it to media. Prior to the web, you had vertical silos and communities (e.g. Compuserve, AOL, Prodigy, etc.) that didn't interoperate or have common lines of access. What Songbird's APIs do is free up media stores to be media stores. They can focus on supplying creative new media content, and allow Songbird to handle the tight integration with the media player.
Personally, that's the huge strength of the web to me.... It's the graph of all these disparate and innovative nodes that are accessible through a common client. If people can use Firefox to browse any website, why should they need to have all these various downloaders and clients to access each independent music store or media service? Seems silly, doesn't it?
Certainly a huge chunk of this effort will need to come from the services side as partners, but yeah - some of this will come from the client in terms of features like podcast subscriptions, music blog subscription, etc. We're focused on building those features into the client to enable people to build out those really cool services using the Songbird platform.
Agile Ajax: Do you ever worry that iTunes will simply "me, too" some of Songbird's most compelling features or create some sort of cross-integration between Safari/Webkit and iTunes?
Stephen Lau: Sure - I think no matter what industry you're in, you have to worry about your competitors. But our core message of an open platform connecting any service to any device is completely counter to Apple's experience. Apple doesn't want people to leave the iTunes silo and experience third-party web services, or connect third-party devices. Doing so would gouge their iTunes Store revenue, or iPod revenue. Songbird, not having a music store or a portable device, is free to come up with compelling features to link third parties directly to consumers - or other third parties for that matter.
Apple could create an iTunes client with embedded WebKit, sure. But, like I mentioned above, WinAmp already has a web browser in it. Whoopee. Without compelling features like APIs bidirectionally connecting the media-player experience with the browser experience, it's only marginally better than running Firefox alongside your media player.
Agile Ajax: Songbird 0.4 came out over the holidays. When should we expect to see 0.5, and what changes/enhancements will it bring?
Stephen Lau: We hope to get 0.5 out in the late-February timeframe. Our two big features that are new for 0.5 are actually really cool. One is MTP support, which opens up Songbird to a huge world of portable devices obviously. The second is what we're tentatively calling Media List Page Views. What this allows is for developers to develop new "library views," i.e. ways for a user to visualize/browse their music library and playlists. For instance, CoverFlow could be a Media List Page View. One of our developers has coded up a crazy Google Maps mashup view of a user's media library. And as usual, we're spending a ton of time squashing bugs and readying the player to bring it closer to our planned summer-ish 1.0 release.
Related posts:
Topics: Music, Open Source, Songbird