werror

There was some complaints not long ago on Planet GNOME about projects using Werror as default for their compile and the value/cost of it. I am currently using latest Fedora Development which comes with an updated GCC version. This is causing the GStreamer build to fail from CVS (and we haven’t gotten around to fixing all the issues yet), but it has actually also shown why having it is a good idea. Cause atm GStreamer is the only multimedia project I am able to compile at all (by turning off werror) using GCC 4.1. Xine, mplayer and VLC are all failing to build for me. So by fixing all these things for previous versions of GCC and other compilers made GStreamer compileable with this latest incarnation. My point is that unless werror is turned on by default nobody is going to bother fixing those warnings, which means that the code is less likely to be compileable as is with other compilers or future versions of your current compiler. Also since the GStreamer community has done this for a long while now, incrementally fixing outr build with new versions of GCC etc., the job of removing the warnings isn’t overwhelming. I think that for some GNOME modules (and most software in general) the job of making them warning free has at this point become so big that nobody can manage to build up the energy to even try.

vmware server

We are planning on supporting Solaris with our plugins. Thanks to Sun we now have a SPARC box in our office to build and test our plugins on for the SPARC platform. Also to have a Solaris Intel build available I looked into the recently announced free vmware server product. Struggled a little to get it going on my Fedora development system as the config problem had some problems finding/using the kernel headers, but a patch called vmware-any-any-update97 sorted me out. One thing I have to say about vmware is that is it a very nice product. When using it you get the feeling of using something very polished and the GUI feels (and is) something actually made for running on your linux system, not an afterthough or sidejob of a GUI meant for a windows system.

GStreamer and GTK on embedded systems

I mentioned earlier some of the things that happened at 3GSM in
regards to GStreamer and GTK+. By combining that information with our current engagements at Fluendo and the dealings we have had at Fluendo in wake of 3GSM I think we are now in a situation where almost every major chipmaker in the embedded sector plans to or is already offering a SDK for their boards and chips using GStreamer for the multimedia handling and GTK+ for the GUI. And what is maybe even more interesting is that these efforts have come about due to the customers of these companies asking not only for a ‘linux SDK’, but for an SDK including GStreamer and GTK+. I don’t know the exact reasons for why our mindshare suddenly have exploded, but apart from the endorsement of GNOME and GTK+ from the major distributions I think we owe a lot of this to Nokia and the Maemo environment. Currently I know of hardware products under development using GStreamer and GTK+ such as TV’s, PVR’s, Media Center solutions, set-top boxes, portable music players, web tablets and mobile phones. It will be a year or two before these products starts hitting the market, but the current development is nothing short of amazing. The chipmakers seems believe that for embedded market will be focus on two major stacks going forward, WinCE and the Linux/GStreamer/GTK+ combo. Pretty cool stuff in my book :)

Dependence on non-free drivers

The effort to create a more beautiful effort is moving us quickly into a situation where the future desktop depends on hardware acceleration provided from the graphics card. The problem is that while 2D drivers are available as free software for the most part, the major graphics cards makers keep their 3D drivers closed. If you wanted good 3D acceleration under Linux the non-free NVidia and ATI drivers has been the way to go for a long time now.

So adding a ‘hard’ dependency on 3d hardware acceleration will implicitly mean we are basing our free desktop on non-free drivers feels like a step backwards. On the other side I don’t feel not going down the route of making our solution more visually appealing and hopefully also more usable is a viable option either, so I am not suggesting that these efforts gets rejected or stopped.

Hopefully the increased use of 3D will also lead to increased interest among free software developers to actually make free 3D drivers (and thus finding enough resources to overcome the difficulty of reverse engineering current cards) or that the increased use of 3d will increase the pressure from distribution makers and consumers to get ATI and NVidia to open their drivers. Anyway I hope I am wrong to be a bit worried about how this ends up and instead this leads to a big increase in contributions to things like MesaGL

Icon removal issue

It seems that some icons got removed from the gnome-icon-theme recently which has caused both problems and some debate. To me there are two issues here. The first is that I think we should start seeing our collection of icons as part of our ABI stability promise. Removing and changing icons names at regular intervals have been the norm for some time now, and as someone who has worked on maintaining themes its been a pain. Application developers and users also have a right to be upset if icons they IMHO rightly could expect to be there suddenly are gone and their applications breaks due to it.

The issue of wether we should have those icons displayed in Nautilus is another separate issue. I don’t have any strong feelings on it, but I think it would have been a better approach to at least add an option of getting those textual descriptions back through a gconf key enabling emblems. So that the people who wanted to keep textual descriptions could do so by enabling one gconf key and emblems would appear where before ‘hardcoded’ images where used. That solution would also allow for a more i18n friendly setup.

GNOME Webshop available or ?

One thing that was worked on by the board last year, or mostly by David Neary, was getting a GNOME webshop going.
Well it seems we got beaten to the punch
. Well at least we know what the Gnome looks like now :)

Good wine experience

I used to play the Magic the Gathering card game a lot some years ago. I came across an advertisement for a MtG computer game the other day which made me remember that there used to be a computer version of the original card game. I found the demo online of the original game and tried running it under Wine. Worked like a charm, I was almost suprised when both the installation and running of the game worked perfectly. Only minus was that sound support didn’t seem to work, but still I had some fun hours playing with the simple demo decks :) Good going Wine hackers.

Virgin Radio UK

Usually when you contact a media company through their public communication channels you feel you are sending stuff into the void.
I have had a very positive experience with
Virgin Radio UK
in this regard as they have updated their streams page fixing all the issues we have pointed out with them, randing from playlist problems to misnamed stream naming. Anyway now their streams
have perfect playlists and correct naming. A few bugs to sort out on our side still to handle everything, but I am sure we get there. Thanks to James at Virgin Radio for his help and assistance.

Emusic followup

Also Edward at the office signed up for emusic now. He tends to download whole albums more than me so the lack of a nicely working Linux client came up. Found the open source EmusicJ created by Robin Sheat. Works very nicely.

Good progress on 0.10 items for 2.14

Just noticed that Ross closed the port GStreamer to 0.10 bug as resolved. Things are also looking good on the GNOME Media side with the planed release for today making sure everything is ported and working nicely.

Julien and Tim have also been making very good progress on getting Totem up to speed, with Julien commiting first stage support for .sub subtitle files to CVS yesterday. And now working on polishing it up with proper seeking support.

Another long standing issue now getting some attention is that of multiple soundcards and USB soundcards. Jürg Billeter is now hacking on the problem and hopefully this will give us a really sweet solution for this problem. Go Go Jürg!

Travelling in Barcelona

So I got of my lazy ass yesterday and onto my bike. I biked all the way up to Tibidabo which is a church and ammusement park located on a mountain behind the city. It was heavy going getting up there, especially as I had no clue on how to get there I just biked straight ahead, which meant making my way through some residential areas and also through narrow forrested paths climbing the mountain. Going down as easier as I just followed the main road, although I thought I where to freeze my fingers off :)

Pain in multimedia keyboard land

After my latest update of Rawhide I suddenly noticed my multimedia keys had stopped working. It turned out the feature had been removed as it didn’t work as expected. Instead one is supposed to use the keyboard layout settings now to choose the keyboard one have and it will contain mappings for any multimedia keys on your keyboard. A couple of things strike me, the first is that we should be very clear on communicating this switch, to many people assume or like to foster the assumation that we remove features for the fun of it. So it should be made clear that the feature is not removed, but moved. That said I am not sure our new solution is good enough, problem is that multimedia keys are horribly unstandarized and I fear the keyboard layout list might grow very long and ungainly with this approach. Part of the problem is that even with the same hardware maker the keys don’t seem to have a standard mapping. For instance in the layout menu there is a Inspiron 8xxx option, but they key-mappings for it doesn’t seem to match with my inspiron 8600 keyboard. Anyway, Bastien and Crispin is working on a Wiki page with some explanations on how to add your keyboard to the system so maybe it will at not be all bad.

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’ :)

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 :)

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.