2010/02/21

XMMS2Con

I am on my train back to Gothenburg from Malmö where I spent the weekend with the cool XMMS2 people. I think everything went very smooth and it was very very productive. We got a lot of things done and a lot of code merged. I will outline some of the highlights in this post, as I am certain that other participants also will do in their blogs.

First of all, 0.7 DrNo was released. This was the first thing we did, even before the Con started. It was way overdue, it actually was almost a year since we did the 0.6 DrMattDestruction release. There are a lot of reasons for this very delayed release. I think most of the people in the team are starting to feel the effects of their "real life". Some have become fathers, others has been busy with work, school and other activities that has to take precedence. But as always, when we get together and get to it, we get a lot of work done. I think I am not the only one to feel a bit energized and have a lot of ideas that would be cool to realize, let's see how long that lasts this time :-)

The most discussed topic on the Saturday was GenIPC. What is GenIPC you might ask yourself? Well if you have been around and tried to write any XMMS2 bindings at any point you know that it involves a lot of manual labour for wrapping all the functions the server implements. GenIPC is the answer to that. Our plan is to have the IPC definition in a XML file, which then can be used to generate the code for each binding. One of the benefits of this is that it will be easier to add new functions to all bindings, the other great benefit is that it will be easier to implement native bindings for all languages, since you only need to write the serialization and the code generator and the rest will be taken care of for you. Tilman have done some great work with GenIPC and the server side of it was merged directly after the DrNo request. On Saturday Tilman, Anders and Henrik discussed a lot of improvements for GenIPC in order to allow for function overloading and default arguments. This work is now well under way and I hope to see it in the master branch pretty soon, since I want to convert native Qt4 bindings to GenIPC and also finish my Objective-C bindings.

Next big project that Seb and Daniel looked at was S4. S4 is our homegrown database backend that is supposed to replace the SQLite backend we have now. The rational behind this is that we horribly misuse the SQL part of SQLite and forces our datamodel it. This leads to bad performance, lot of code overhead and so on. S4 solves this by introducing a datamodel that fits our use case a lot better. Preliminary tests shows that S4 is a lot faster when you have a lot of entries in the database, in fact the only time it's slower is when you do advanced queries that uses regex matching and that's slow almost everywhere :-) This will probably be reworked so that we don't use regex, but rather globbing as we had with SQLite. I hope to see S4 merged soon.

We did have some talk about workflow and how to improve the visibility of the topic branches and we have started to try out Gitorious, I hope that everyone will be satisfied with it. I think that workflow discussions warrants it's own blog posts so I will try to write it up later in the week. In the meantime you can checkout our Gitorious team page. And if you want to get in on the action, just tell me or Anders.

Next big step which also warrants it own blog post will be about our information reorganization, redesign of wiki and move to xmms2.org instead of xmms2.xmms.se. Stay tuned.

Oh, and thanks to everyone that came out, I had a great time organizing it and I am more than willing to do it again. I also want to make sure to thank Purple Scout AB for hosting us, if you attended and liked it, drop a line to twitter or on your blog to thank Purple Scout as well.


1 comment:

Seo Jong Do said...

following me please