An Open Proposal to Canonical

Firstly, this post is a personal one. I am not speaking on behalf of the Banshee community, any corporation, foundation, or my maintainer peers.

Since Banshee will be shipped in the upcoming release of Ubuntu, Canonical has decided it will take 75% of the Amazon MP3 referral revenue that, in the upstream/default codebase and configuration of Banshee, has historically been donated to the GNOME Foundation, a nonprofit organization.

25% will continue to flow to the GNOME Foundation. Of course this change will only affect those running Banshee as distributed by Canonical/Ubuntu. Other builds and distributions are unaffected.

Given that this decision appears to be final, I propose to Canonical my vision of the execution of this revenue sharing from a technical and accounting perspective:

  • Let Banshee handle the revenue sharing on the banshee.fm server. Currently, when launching the Amazon MP3 store in Banshee, the user is redirected through a proxy on banshee.fm. This proxy does a few important things:
    • Use IP address geo-location to redirect users to the most appropriate Amazon MP3 store (e.g. amazon.fr, amazon.com, etc).
    • Inject the appropriate Amazon MP3 referral code depending on the store chosen (and in this new case, also depending on whether the user is coming from a Canonical build).
    • Act as a level of indirection in case changes are made on Amazon’s side – if something happens, we can update our server and users remain unaffected as software updates do not need to be pushed.
    • Finally send the user to Amazon MP3.
  • With revenue sharing happening through the existing proxy, we can ensure that funds to the GNOME Foundation are delivered through the existing referral codes, and in a timely manner. We will be able to continue to provide public disclosure of referral revenue for GNOME.

    I am very concerned about accountability, and want to ensure that 25% is indeed making it to GNOME in a timely manner, consistent with what we already have in place.

Additionally, as part of Canonical’s decision to donate 25% of Banshee’s Amazon MP3 referral revenue to GNOME, they have also stated that 25% of referral revenue from their own UbuntuOne Music Store and from referral revenue from their builds of Rhythmbox will also be donated to the GNOME Foundation. I applaud them in this choice, especially around U1MS, as this is their own service and investment.

However, as partly implied by the Ubuntu News article on the matter, one thing that does concern me is that while this issue was discussed between Canonical and the Banshee maintainers many times, I am not aware of Canonical involving anyone in the actual Ubuntu community. I will be interested to see how we end up handling this matter technically, and what, if anything, Canonical does regarding packaging, patching, and involving the existing Ubuntu packagers and contributors.

Finally, I am excited about the new potential Banshee has in the near future to generate truly significant referral revenue for the GNOME Foundation as we near Banshee 2.0 and its availability on Windows and Mac OS X, where we will fully control its distribution as an upstream.

Banshee, GNOME, & Amazon MP3

GNOME Love!The Banshee logo During Gabriel’s talk at GUADEC, after working with members of the GNOME Foundation board, we were very excited to announce that the Amazon MP3 Store in Banshee would begin using an Amazon Affiliate ID, and that 100% of all revenue generated through this affiliate ID will go to the GNOME Foundation!

This means that any time you purchase MP3s through Banshee’s integrated Amazon MP3 Store, you are helping the GNOME Foundation help others.

These funds can be used in a number of creative ways that ultimately better Free & Open Source software and its communities.

We look forward to the future around this initiative, and hope that your purchases will help with things like sponsoring participants at conferences, organizing hackfests, and so on.

So what are you waiting for? Go buy some music!

Announcing Banshee 1.7.3

The Banshee logo We’re very proud to announce the release of Banshee 1.7.3, which brings some much anticipated WebKit goodness: the Amazon MP3 Store and the Miro Podcast Directory integration. Amazon MP3 downloading is fully supported, separate from the integrated store itself. There are also a handful of other smaller new features and enhancements, and a good deal of bug fixing as well.

Download Now

Amazon MP3 Store

This new extension provides a source from which users can browse, search, preview, purchase, and download music from the Amazon MP3 store in all countries where it is offered: United States, United Kingdom, France, Germany, Austria, Switzerland, and Japan.

Amazon MP3 Store in Banshee
Watch the Banshee Amazon MP3 Store Screencast!

Music that is purchased through the new integrated Amazon MP3 store will automatically begin downloading and importing into the Banshee music library.

When previewing music on the Amazon MP3 store in Banshee, the previews will play through Banshee, showing up in the header, and not through Flash.

Amazon MP3 Downloader

The support for Amazon MP3 is not limited just to the store. If you decide to purchase music through your regular web browser, Amazon MP3 will provide a .amz file, a sort of playlist that indicates how the MP3s can be downloaded.

Banshee now associates itself with these .amz files and will download and import the MP3s referenced in them.

Banshee Amazon MP3 support

The Amazon MP3 Store and Downloader extensions are entirely separate. This allows you to pick your preferred user experience for purchasing music through Amazon MP3. The Amazon MP3 Store extension can be disabled if desired and the downloader will still work with an external web browser.

Other ways to download .amz files include opening manually with your operating system’s file manager, the Import Media dialog available through the Media → Import menu, or the command line client distributed with Banshee: $ bamz foo.amz. Bamz will download the .amz contents in the current directory, and will not import the MP3s into the Banshee library automatically.

For more information on the Amazon MP3 integration in Banshee 1.7.3, read my previous blog posts on the two separate extensions:

Miro Podcast Directory

Miro Guide Screenshot

Building on the same new WebKit integration in Banshee 1.7.3 as the Amazon MP3 Store, a new Miro Podcast Directory extension has been implemented. The source integrates with miroguide.com, allowing users to discover, stream, and subscribe to podcasts in a way never before possible in Banshee.

Much more work for tighter integration with the Miro Podcast Directory will come in future releases.

Bulk Metadata Fixup Extension

A new tool is available from the Tools → Fix Music Metadata menu item that allows for bulk metadata fixing. This feature proposes to merge artists and albums that vary only by case, & vs and, etc.

Other Enhancements

  • Visual separators were added in the source view between categories of sources: special (Now Playing, Play Queue), local media, and online services.
  • Item counts in the status bar are now culturally formatted (e.g. in en_US show 1,000 instead of 1000).
  • Improved downloading and visual refreshing of new cover art.
  • Visual tweaks to the grid view album artwork hover effect.
  • Developers:new Banshee.WebBrowser API for creating embedded WebKit web browsers and sources. Currently used by the new Amazon MP3 store, Miro Guide, and the Wikipedia context pane.
  • Developers:new Hyena.Downloader API for performing downloads and easy HTTP operations: HttpFileDownloader, HttpStringDownloader, etc.
  • Distributors:the webkit-sharp dependency was dropped, and instead we now take a dependency directly on libwebkit 1.2.2+ for the new Banshee.WebBrowser API.

Amazon MP3 Store in Banshee

The Banshee logo I’ve landed a new extension in Banshee — an integrated Amazon MP3 Store source. This source allows you to browse, search, preview, purchase, and download music from the Amazon MP3 web site.

Building on last week’s announcement of the Amazon MP3 downloader extension, the Amazon MP3 Store extension allows for tighter integration and a better user experience — music can be explored and purchased all from within Banshee.

Amazon MP3 Store in Banshee
Watch the Banshee Amazon MP3 Store Screencast!

I employ no gimmicks. The extension is very simple, just embedding a WebKit GTK web browser, and integrates with a few hooks:

  • Intercepts audio/x-mpegurl content, to stream previews. This provides natively integrated music previews that play in Banshee, not in the web page via Flash.

  • Intercepts audio/x-amzxml content, the playlist (or “download queue”) that Amazon provides after a purchase, and load through the Amazon MP3 downloader extension to immediately begin downloading the newly purchased music. This eliminates the need for Amazon’s external downloader. Everything happens from within Banshee.

  • Set a cookie ahead of time so that the Amazon MP3 web site is aware that a downloader is installed (Banshee), making the purchasing experience faster and less confusing.

  • Search the Amazon MP3 store from the usual Banshee search box.

  • Provide basic web-browser navigation controls: back, forward, refresh, home.

Amazon MP3 SourceAs simple and obvious as this approach may be, the reality is that this integrated experience was previously unseen on the Linux Desktop. This approach levels the music purchasing playing field — no extra software to install, no browsers, file managers, or mime systems to configure, and no more manually importing externally downloaded music. Just click, buy, and enjoy.

The code is all committed and available for immediate use in Banshee’s git master branch. It will be available in the next release for packaging: 1.7.3.

Remember, Amazon MP3 music is all DRM-free, and there is tons of free content on Amazon as well for you to try the extension out if you’re not up for purchasing more music just now.

Amazon MP3 downloader support in Banshee

The Banshee logo I’m very excited to announce I have just landed support for downloading and importing your Amazon MP3 purchases into Banshee.

It is a simple extension that understands the download queue file that Amazon delivers after a purchase is made. Linux Desktop integration is provided so that your web and file browsers associate Banshee with the download queue file.

Banshee Amazon MP3 support

Further improvements are on the way, but I’ve downloaded many albums in Banshee at this point (and subsequently burned a decent amount of money!) Of course, there are a number of free downloads that Amazon offers, which were good for testing. Unfortunately, I didn’t think to look for these until I had finished the feature.

In addition to the integrated Banshee extension, there is a command line client called bamz. It requires Banshee to be installed for support libraries, but does not integrate with your Banshee library in case you are into that sort of thing. By default, bamz downloads the tracks into your current working directory with the following structure: $PWD/<Artist Name>/<Album Title>/NN. Track Title.mp3.

bamz command line client

I will be merging the Amazon MP3 support into the 1.6 stable series, and it is currently available in Banshee’s git master branch. Enjoy!