Feel a bit bad about making fun of good efforts, but there was a very good example of a non-decision being made quoted the other day on OSDL Desktop Architects group mailing list. It was said that one of the things that had been agreed upon at the meeting in Portland was that when people where recommending GUI toolkits they would recommend those which allowed cross-platform development. On the face of it seems like a meaningful agreement, but in reality its not. If you look at what people actually use on GNU/Linux today its Gtk, FLTK, Qt, wxWindows, Swing, SWT and XUL and to some degree Motif. So I guess the agreement is that nobody recommends Motif…Wow the power of people coming together and making hard compromises 
All posts by uraeus
Major stuff from Fluendo
Ok, so we did some major stuff at Fluendo before I ran off to go home to Norway for Christmas. The first thing, which I hope to send out some
announcements on today, is that we released a cost free MP3 plugin to the world. You can read our press release about it here and find more information on our MP3 information page, including source code information. The binary (for GStreamer 0.10) is available from our
webshop which we also officially opened now (and plan to add more plugins to as soon as they pass through our newly minted beta program). A big part of this is that we also offer a cost free distribution agreement for distributions, allowing any distribution which wants it to ship with working GStreamer mp3 support out of the box. Due to the patents involved the mp3 plugin will of course not technically be free software (even if we have made the source code available under the MIT license) so only Banshee and Totem currently can be shipped with it currently, although some other projects do have efforts underway to add an excemption clause like Totem’s, and also some of the newer projects like Pitivi use the LGPL to be compatible.
Fluendo jobs in France
Fluendo also have a French subsidiary now, in Lyon. In that regard we are hiring a couple of developers to work in Lyon with us on our multimediabox/media center software. You find information on the job
here at monster.fr. I encourage anyone who reads this to repost this job add to any french language mailing list and IRC channel where it would be relevant.
Fluendo Beta Program
So we are finally ready to start a beta program for some of the plugins we developed (Windows Media for intance). Due to this we are accepting requests from interested parties to join our beta program. If you are interested mail me at christian at fluendo dot com, and tell me what distro you are using and also if you have some basic linux/unix skills (like being able to run gdb and get a backtrace.
Those accepted into and how participates in the beta’s will get a free copy of the final plugins.
Guess I am becoming a usability nazi
I guess the ‘just works’ philosophy of GNOME have made me assume that whenever something works in a non-optimal way by default it is ‘broken’ codewise so I don’t check if there is a way to change its behaviour. So for a long time I have been irritated by the Gaim message ‘window list’ entry continuing to ‘blink’ even after I read a message (only going away when I reply). Today I ended up taking a look at the Gaim preferences and discovered that there is an preference entries to make it stop blinking on focus or mouse click. Not sure if its truly needed functionality or just options put in to cover up broken default behaviour. Anyway Gaim behaves the way I want it now, which is good 
There is a mock-up for a new print config dialog available for viewing. Not sure if I like it or not, but it might just being based on FLTK makes it looks weird. What struck me that its a bit strange to have page full of settings, and then have a button with the name ‘settings’ at the bottom. ‘DJ5850 Specific Options’ or something like that might be a better name for the button. According to a mail on the osdl list that button should bring up a page with multiple tabs worth of settings, so I guess those tabs will be named ‘More settings’, ‘Even More settings’ and ‘Most settings’ 
What is the ‘best’ http library
So we want to add a http plugin in GStreamer which is desktop neutral.
I first wanted to use libsoup, but it will start depending on gconf soon, so unfortunatly that takes it of the table.
It seems to me that Curl and Neon are the two main options to build our plugin upon. My current idea is to go with Neon, but if anyone have some good arguments for Curl or something else, please let me know 
What to do with features nobody wants to implement
Tim Janik had a post about never rejecting a feature request, which got me thinking about an issue in the GStreamer bugzilla. We have a gazillion requests for support for every weird audio or video format under the sun. With weird formats I am talking about things like gameboy audio, NES audio, computer game video formats and things like that.
So these kind of requests seldom comes with patches and I tried asking for such a few times. They are also not something you don’t generally get anyone interested in helping out with, as people who just want to help out on GStreamer prefer working on something that a large numbers of users might actually enjoy, as opposed to something only the 5 person linux-based gameboy audio format community might get a thrill from 
So my opinion is that such features will only ever enter GStreamer if the bugreporter is interested in doing it him/herself. And if that not the case they are just ‘bugzilla clutter’.
So we are left with a situation where we have tons of stuff ‘cluttering’ bugzilla, yet it feels a bit bad closing them as they are valid feature requests and of course you can ignore the bugs by excluding enchancements from your bug search for instance (although that also filters out the more realistic feature enhancements).
Now I realize of course that the lack of gameboy audio format support makes GStreamer useless for people like Linus, and that we are fucking idiots for not diverting resources from for instance improving VoiP support over to work on supporting such formats, but in the meantime I a trying to figure out a usefull way to deal with these bug reports 
Usability
The little flamewar with Linus about usability do bring up a few good points. So usability was made a focus for the GNOME 2.x series and a lot of good have come of that, but it has had some unforseen side effects.
First of all, the vast majority of GNOME users and developers don’t know the details of why certain things are like they are in any given module, we only know the details of the select modules we develop/follow closely. The issue of printer options as discussed is one good example, I had no idea (before the Linus thread) why things where the way they where.
The problem is that we and the community in general have started to assume that UI design decisions are behind everything in GNOME being the way they are. So when people come complaining about missing printer options, the assumption is that that its a design decision and not simply something not implemented yet (as was the case in the printer options case) or Havoc simply not having had the time and interest to work on Linus’s mouse button mapping issue enough to bring it to completion. Yet, out there people assumed this things where caused by design decisions, even people relativly close to the development community, and often people would even give this assumption as the answer to anyone they talk with who brought up the issue.
The rate to which this belief has become embedded in peoples conception is actually amazing. I have had multiple discussions with people complaining about this or that in GNOME, and when looking into it finding that the reason something is the way it is has nothing to do with a ‘make it simple’ design decision, but simply that the developers haven’t gotten around to it yet, or in some cases not being aware of the usecase/need. And I have then found that when returning with this information I actually have to spend a lot of time convincing people that their wanted functionality XY is simply a lack of developertime/awareness and not a concious UI design decision.
This is a problem in many ways. It creates fertile grounds for silly misunderstandings like the issues brought up by Linus.It might also cause a lot of people to not create patches adding the functionality they want because they assume its omission is on purpose and thus hindering people from joining the project.
On the other hand I guess it do mean people have a lot of faith in the level of the UI design work going into GNOME, since they obviously assume nothing is in GNOME or ever happens in GNOME without a lot of UI thought having gone into it 
Stop playing those songs!
So its seems RIAA is topping themselves. I guess their success at stopping the filesharers have left them with lawyers who need something to do. So now going after people who share notes or lyrics too. The argument seems to be that having people sing popular songs around the campfire causes artists to starve. Saddest part is that this ugly behaviour where first started by a Norwegian organisation called Kopinor.
Be aware, their next goal is to have you arrested for humming in the car.
libmms
In what almomst feels like being inconsistent I am happy to announce the availability of libmms 0.2. This latest version now includes mmsh support so you can listen to any MMS stream out there. Check out the download site for details. Edgard Lima updated the MMS plugin to GStreamer 0.10 and this release, so in gst-plugins-bad you know find the mmssrc plugin.
GUADEC sightseeing
Wingo and I took the train to Villanova yesterday to check out the town that will be the scene of next years GUADEC. We ate lunch there and strolled around the city and the beach for a few hours. The town seems pleasant and the connections are excellent. Even if people arrive at the main Barcelona airport it is very easy to get there with a short train ride from the Airport to Barcelona Sans and then another short train ride out to Villanova. Villanova is a bit comparable to Kristiansand in terms of size it seems, but maybe a bit more compact than Kristiansand was. And much cheaper :). The resturant we went to had very good food, Wingo claimed they had the best fish he tasted for far in Spain an I got a really nice desert, blackberry youghurt ice with fresh strawberries.
Software updates
Tried updating my system this weekend in the hope that a newer version of Evolution would fix a crasher bug I had. Ended up upgrading a lot of stuff, including Firefox. Firefox 1.5 seems nice, and it was good to check my svg comparison test to see how it fares against the Inkscape and librsvg. One strange thing though is that it seems to default to quite large font sizes in its GUI for some reason, and I was not able to re-adjust it. Evolution still crashed though so I ended up filing a bug on it.
New release of gnome-themes-extras
I had basically given up maintaining gnome-themes-extras, but yesterday, having a public holiday here in Spain, I sat down, merged the latest changes from David Vignoni, went through the bugzilla reports and put together a new release. gnome-themes-extras 0.9.0 is out!. Special thanks to the translators and Josselin Mouette (who contributed the cool new mixer icons). Even ended up doing some more work in CVS after the release, so expect a new release soon. Just going to give Thos a few days to do some long promised Gorilla work.
GStreamer and DRM
Thought I should use the chance to clear up some questions about GStreamer and DRM that has popped up over the last few days since my last DRM blog entry.
How will the DRM stuff be implemented? Will it take over my system and not allow me to do the stuff I do today with GStreamer?
The DRM additions are being done as a separate helper library and using special plugins. This means the core of GStreamer and the current plugins will remain untouched by this change. The DRM enabled plugins will be able to playback both DRM’ed content and normal non-DRM’ed content in the formats they support. You can have both your current free software plugins and any drm enabled plugins installed even if they support the same formats.(Just like GStreamer 0.8 could play back mp3’s using both the libmad plugin or the ffmpeg plugin). This DRM implementation is not something that tries to hide itself on your system like the Sony CD stuff, it will be there in plain view with clearly marked packages if you choose to install it.
So no, it will not in any way ‘take over your system’.
Why would I want to install the DRM additions?
Because they give you access to playback things you wouldn’t otherwise. Many music stores only offers DRM’ed WMA files for download, and without a system supporting Windows DRM these files are useless on your Linux system. DRM also includes stuff such as the protection mechanism on the upcoming high-definition DVD’s.
That said, what DRM systems actually get supported depends on more than just having the technical infrastructure in place, like being allowed to ship support for the various DRM systems etc. Some of the DRM system vendors disallow desktop Linux support by default for instance due to fears that the open nature of GNU/Linux will make it to easy to circumvent..
Still couldn’t I just wait for JLJ and friends to reverse-engineer these DRM systems? Like what happened with DVD CSS?
Sure. But that means you have to wait for quite a bit after each such system is released and no distribution will probably dare to actually ship it. But I am sure that such things will be done also in the future and I am also sure there will be GStreamer plugins using them, like there is a GStreamer plugin doing DVD CSS.
Is it really possible to do DRM as Free Software?
Sun claims they have a system that does so (and has released code to prove it).
I haven’t looked in detail to how it works, but I would say that saying in general that open source DRM is impossible is like saying that GPG can’t be secure since its free software. There might be some ramifications of being free software which will make the resulting system have conditions for use that makes it painful, like a requirement for being online when playing back as an example, but its definetly not impossible.
What DRM systems will you support?
The DRM system is being developed in such a way that anyone who wants can implement a DRM module for their DRM system of choice. Fluendo will probably support a couple of DRM systems ourselves, but it is not sure at this point in time that we will provide them for use outside the embedded market. Customer interest and what kind of contracts we are able to negotiate will decide that.