Tue, 21 Apr 2009
Banshee as the default mediaplayer?
Jo Shields posts about his intention to propose switching Rhythmbox for Banshee in Karmic. (I'm trying to convince him to apply to be a MOTU, or at least an Ubuntu member, so he can be on Planet Ubuntu.) He's not the first to suggest it, but he is in the right place to make the proposal for this release.
I'm personally quite happy with Rhythmbox, and haven't really tried Banshee, though for my use I imagine they are pretty similar. (Two things that would be definite benefits for me would be remembering what I was doing when I closed it when it starts, and understanding mix CDs better). I can certainly understand some of the arguments for switching as well, so I wouldn't be against it.
There is an idea on Brainstorm about this, and while Brainstorm can't capture the intricacies of the debate, it suggests that Rhythmbox is quite popular with the people that voted (though it's not clear how many had tried the alternatives.)
This post isn't really to argue one way or the other, or to attempt to cover all the criteria by which a decision will be made. My point is to emphasise that the Banshee developers have done themselves a great favour in this debate by making one aspect of switching easier. The have implemented importing from Rhythmbox. This means that any switch wouldn't mean that all users had to re-import their collection.
That's not everything that is involved in switching, and indeed, many of the issues around trying to change a default don't have good answers, and that's something we should work to improve as a community.
You don't have to spend time implementing importers for every similar application out there, but easing migration from commonly used apps can help users switch, and is a big benefit when trying to switch a large number of users painlessly. Also, while importing is useful, it's not the ideal solution. A common storage format, and shared storage would be superior in many ways for this purpose.
Jaunty's almost ready
Jaunty just froze a little bit more, with the last few normal uploads being done. From here on in it's mainly about getting the CDs perfect for release, which will hopefully go smoothly.
Over the last few days there have been a number of people working on Universe to get it in to the best shape we could in the remaining time. We did a pretty good job of it too, towards the end we were scavenging around for any more fixes that were ready to upload. As always, with more people we could have done more, but it seemed to be a very smooth landing this time.
The sponsorship queue is virtually all things that were not appropriate for Jaunty, with just a couple of desirable fixes not making the cut (we'll work to have those in jaunty-updates ASAP). In addition to that, NBS was clear, meaning that there were no outstanding library transitions or similar, and there are very few uninstallables. Obviously we would want all of these numbers to be zero, but you can't have that with a time-based release schedule. Unfortunately the FTBFS list is rather long (mainly due to toolchain changes), but it's generally infrequently updated packages on there, which will tend to be of less interest.
The MOTUs also did a fantastic job of the python 2.6 transition, which was a huge job, and a compressed timeframe to do it in. Unfortunately there are going to be some issues with the change in the default python for some time to come, but given the state of python a couple of months ago this is a great acheivement.
Also, I'll make special mention of the Mono 2.0 transition. Co-ordinated by Jo Shields, and thanks to a lot of people on both the Debian and Ubuntu sides, this was completed with very little fuss. It was a great example of co-ordinating work on a large number of packages, and of collaboration between Debian and Ubuntu. I also think that it showed some of the advantages of the Ubuntu method of development over the Debian one, but the shared work trumps that.
If you are reading this thinking "You might think you did a good job, but what about this bug that I provided a patch for 3 months ago, why didn't you fix that?" then all I can really do is point you to the sponsorship process. Yes, it sucks that not knowing about this cost you, but reviewing every bug with an attachment tagged "patch" is currently a little out of our reach. I'm always looking for ways to improve this, and I hope one day we can do that, but in the meantime using the sponsorship process will help get your patch included.
Mon, 06 Apr 2009
Indicator support for Empathy
As well as the new notification bubbles, jaunty now has something called the "indicator-applet", or various other names. If you are running Jaunty you may have seen it as an envelope in your panel. Not much is taking advantage of it yet, with only Evolution and Pidgin having the necessary support until recently.
The purpose of this applet is to give you access to messages that are waiting for you, regardless of the source. You can see some of Ted's early sketches on the idea, or the early draft of the spec for some information. Having this place gives you one place to look to respond to a message you received, and is part of the strategy to solve the issues caused by having notifications without actions. It also allows you to launch the main windows of the applications so you don't need to have an icon for each in the notification area.
As I don't use pidgin the only thing taking advantage of the menu was evolution, so I went to find which of the other apps I use had support. I first grabbed a more recent version of gwibber which had support, and sent a quick merge request to improve the support. There was little else I could do there though, as Ryan had done a great job already, and all I had to do was hook up a callback so that gwibber would open when you clicked on a message you received from someone.
I then moved on to Empathy, and found a bug requesting support be added. I decided to relax this weekend by working on something completely different and trying to add this support.
I found the libindicate API easy to work with, though it is un-documented currently there is not too much too it, and it has quite some similarity with libnotify. After finding my way around the empathy internals, learning more about gtk+ and encountering a bug in libindicate that I spent some time investigating I had something mostly working. It's not ready to merge yet, but it is most of the way there, and covers the most common cases.
You can see a quick video of the interaction, which shows the concept behind the menu as well. (Yes, I am talking to myself in that video, as Ted said, working on IM apps can be quite lonely as you continually send yourself messages).