So. Banshee as a default media player for Karmic, replacing Rhythmbox. You’ve read the analysis on the Internest, you’ve read ill-informed tripe from pretend-journalists, and you’re running in fear of a switch to a “worse” player. Well, it’s time to lay down a little dose of reality for all you naysayers.
Firstly, Ubuntu’s feature freeze is at the end of August – giving about 6 weeks for Banshee to gain “default” status before that train leaves the station and Rhythmbox sticks around for another cycle. And there are real-world issues that NEED to be resolved within those six weeks for it to happen. This isn’t conjecture, it’s the result of chats with the Desktop team – I think we both still agree on the points we agreed on in Barcelona, and that means picking the “right” player, regardless of what it is, when the time comes to choose.
- Release schedule. Karmic won’t ship with a beta (1.5.x) Banshee release, and it certainly won’t ship with 1.4.3 – so the Desktop team require assurances that 1.6.0 be released before FinalFreeze (end of October) in order to make the switch NOW in preparation. This is entirely upstream’s lookout, so on this point, the ball’s in their court entirely – I’m not trying to apply pressure, I’m simply stating the state of play as-is.
- Documentation. Banshee needs offline (GNOME Help System or similar) documentation, which Rhythmbox already has. Right now, all it has is a link to the (dead) Banshee wiki. I understand Canonical folks were looking at this – if you want to help with this one, try talking to jcastro on GIMPnet #banshee.
- Music Store. I agreed with Seb at UDS that we should include support for a music store (Rhythmbox supports two), and picked Magnatune at random as it happens to work for me in Rhythmbox. This was likely a mistake – Magnatune have no coherent or usable API, and it makes it VERY hard to turn their store into a useful integrated feature. However, there is the beginning of some work on this – if you want to help add a music store to Banshee, then either speak to Max Battcher to cooperate on Magnatune support, or look into making a Jamendo/other-store plugin (should be much easier to support as Jamendo have a real API) based on Gabriel Burt’s Amazon branch. Support for Amazon itself should sadly be considered dead in the water, due to an abusive change from Amazon to prevent Free Software integration.
- Accessibility. This is an important topic for Ubuntu to be accessible to everyone. Banshee makes use of five custom-made widgets, which all require support for Atk, the Gtk+ accessibility toolkit. However, there are sadly a number of nasty bugs in Atk# which have thrown a spanner in the works, and by the sound of it those bugs cannot be fixed any time soon (as they break the Atk# API). You should try speaking to the Gtk# maintainer Mike Kestner if you want to help at the back-end, or hacker extraordinaire Gabriel Burt for tips on where to help at the Banshee end. The specific bugs for the a11y issues are BNC476836 and BGO533030. It should be considered reasonable (even if it makes packagers like me cry) for Banshee to bundle a private copy of Atk# from SVN, rather than using the current stable release – F-Spot does this already for GIO#
There are also some specific issues which you can help with – at the very least by testing existing patches – which may not be blockers, but are functional regressions versus Rhythmbox.
- Gapless playback. This is being spearheaded by Christopher James Halse Rogers, our fearless GNOME-Do packager in Ubuntu/Debian. This is being handled in upstream bug BGO440952 – why not lend a hand? Sadly, Rhythmbox’s support for gapless cannot be recycled, as Rhythmbox uses its own custom gapless engine (rather than using GStreamer’s built-in support). RAOF’s patch is ALMOST there, but still goes to hell in a couple of circumstances (or did last I tested it), so why not try it out?
- Folder watching. Currently, Banshee isn’t aware when you add/remove tracks to/from the folder which you told it your music is in, requiring a library rescan. There’s an open bug on this one too, at BGO385965, primarily being worked on by Christian Martellini (with help from others like Gabriel). Why not try it out, or lend a hand?
More generally, there’s a page on the Ubuntu Wiki listing other odds and sods, which you can use as a point of reference. So. Want to help make Banshee awesome enough to greet newcomers to Ubuntu? Take a look at the list above, and pick something which you feel you can contribute towards. Want to keep Rhythmbox in charge? Take a peek at their wiki. In either case, let’s make sure Ubuntu remains awesome for new and existing users alike! All you need is a little C# knowledge to work on patching, or know how to use “patch” and “make” to test things – you can even use Boo, a Python-like scripting language, to do stuff if you like. Oh, and a few suggestions for airy fairy pie-in-the-sky changes to be made to Mono on Ubuntu as a whole, to make the whole thing much nicer for the distro folks looking to deal with bugs. Support ARM in mono-debugger! Support retracing (apport-style) in mono-debugger! Support mdb files in pkg-create-dbgsym! I’m sure there are plenty more things that could help here – try asking in #ubuntu-devel on Freenode for suggestions of how you could help the folks there, or #mono on GIMPnet for how to help the folks there.
If Banshee doesn’t make the cut this cycle, I have no doubt that it’ll be ready for another punt next time around – and that whomever ends up attending the next UDS can make the case that it’s a great idea to move, given how many issues and bugs were resolved and how it’s grown far more awesome in a short space of time – and, at the same time, fending off stiff competition from post-GSoC Rhythmbox. Remember, kids, competition drives innovation!