Category Archives: GNOME

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.

ESD to GStreamer: The Road Ahead

So I put up a Wiki page on live.gnome.org at the suggestion of Stefan Kost (who deserves a lot of gratitude from the community for his steadfast work on the GStreamer API docs). Anyway, anyone who have some input on this should edit that Wiki page with your scenarions, suggestions and ‘I will work on this’ statements :)

Updating the 770

Anyone who have a 770 I recommend you upgrade your firmware by downloading the latest image from maemo.org. It is much more stable and seems faster than the normal production image for me. Also be sure to grab some extra Applications.

GNOME 2.14 and GStreamer

One question posted to my last blog entry which also pops up on IRC at times is the question of when GNOME will be ported over from esound to using GStreamer everywhere, so people can get sound events etc. and so on without using esound. I also noticed the issue being mentioned in the Ubuntu wiki of things they hoped for. The reason it hasn’t happened yet is due to both the eternal lack of developer resources, but probably more importantly some uncertainty about how to do it in a way which not likely to cause tons of issues.

Today esound provides three things to libgnome: a simple play_file API, sound sample caching and remote sound playback. It also provides some well tested backends for a lot of different platforms.

GStreamer could easily provide the play_file API, and at the same time improve format support a lot, so that part is relativly easy to address. Since GStreamer have a esound plugin and also plugins for other popular soundservers the third item is also taken care of.
The problem is what to do with the sample caching. When this has been discussed in the past the idea proposed was that there is some sort of API added in GStreamer which provides abstraction for sample caching with some kind of fallback when the underlaying system don’t support it.

Especially this last item could be a lot of work, depending on how ambitious you are. The simples solution is not to cache when the underlaying system don’t support it, and I am starting to feel this is the approach we should go for.

So anyway the job is relativly well defined, but since it touches core modules in GNOME which calls for extra carefullness and needs some GStreamer devel design work and implementation it has so far been something no-one either confident enough for and/or felt they have time for. So in terms of developer resources we are stuck between new contributors feeling the task a bit overwhelming and experienced contributors being swamped with items they feel are more critical.

Anyway, I still hope we get around to doing this switch soon, we know it is much wanted.

Ubuntu stuff

I have become aware of some cool stuff relating to Ubuntu over the last few days. The first thing I saw was the project called Nexenta which is putting Ubuntu on top of the OpenSolaris kernel. I have been of the opinion that this is exactly the kind of thing Solaris needs to get people to test it out.

Another thing I discovered was the launchpad stuff. Which I have seen before, but I guess I sort of resdicovered it now as the form have solidified a bit. Anyway seeing it now I was amazed and impressed with the openness of the Ubuntu development process, a big kudos to the Ubuntu team for this. As a Fedora user I wish my distro was developed in the same open manner.

SVG stuff

Came accross this Open Office SVG theme today by Pinheiro, which was made to give OO a KDE’ish look. Anyway I tried viewing the full set with librsvg/nautilus and they all rendered perfectly for me (afaict). It gave me a good feeling as it is not that many releases ago that every new icon set released uncovered a few rendering bugs. Pinheiro also mentioned that TrollTech is working on integrating SVG support into Qt, which was nice to hear. Things have come a long way over the last couple of years, when I started looking into SVG the setup was a very spec uncompliant librsvg and a crash prone sodipodi. Today the picture looks so much better, and Inkscape especially have really caused the usage of SVG to take off. I hope the Synfig team adds SVG support to their app, it would rock to have Synfig to make SVG animations.

gnomedesktop.org stuff

I have been an editor at gnomedesktop.org for the last couple of years, posting stories as time have allowed. Before that I was the editor for the gnome hosted newsite. I always felt that while gnomedesktop.org was GNOME biased in the same manner that linux journal is linux biased or Windows magazine is windows biased, we where still editorially indepdent. Learned yesterday that not everyone else in the community are willing to accept that. I haven’t discussed the issue much with Stro, who is gnomedesktop.org editor-in-chief so I don’t know how he sees it. Stro ended up pulling a story yesterday, which I have no issue with as he is the chief editor and as such it is his call, but I do not want us to end up as the GNOME version of Pravda.

Bloat and the measurement of it

Ok, so after some mail activity Benoit created a patch which displays ‘writeable memory’ in the GUI, which gives a better approximation of actual usage compared to the older numbers. Waldo Bastien pointed me to a blog entry from Lubos Lunak about a tool called exmap which displays something its calls ‘effective memory’ which Lubos thinks is a relativly decent value for describing how much memory an application actually use. I made a screenshot showing both the patched gnome system monitor and exmap displaying the memory usage of the clock applet. If those numbers are to believed the clock applet uses somewhere between 3 and 6 MB of memory, which might seem a bit on the high side. (but lets remember that the ‘clock applet’ is not just a clock, its a calendering application integrating with evolution data server giving you an overview of your monthly meetings etc.).

Anecdotaly exmap is the first app I ever used outside the Mandrake admin tools which use the perl-GTK2 bindings to write its GUI. Maybe there still is some hope for Perl :)

Not sure panel-applets are a good/easy testcase for memory measurement, so I looked at X-Chat using these new numbers too, exmap reports effective memory usage of 3.6 MB, g-s-m reports writeable memory at 8MB and resident memory of 11.6MB (resident memory number seemed to be the ‘old’ number people tended to be using when discussing memory usage).

The USB soundcard story

So as I have blogged about at an earlier point in time I have a Sound Blaster Audigy NX2 USB soundcard which I bought for the specific purpose of being able to play movies on my laptop with surround sound.

Even though I did google about it beforehand I managed to fool myself into believing this card was actually fully supported under Linux, which it isn’t. The S/PDIF output is not supported at all in fact, due to missing documentation from Creative Labs. Which is really sad, Creative Labs where among the first of the major hardware vendors to hire someone to work on linux support, and if they now don’t even provide proper hardware docs anymore then that is a sad development. Do anyone know if they still have a linux driver developer on their payroll? Anyway, I tried mailing the contact person listed on the opensource.creativelabs.com website about the docs, hopefully I get a positive reply.

Anyway as I also talked about before the state of USB soundcard handling under linux is not a beautiful chapter in itself, even when just using it in stereo mode with Totem/Xine it reverted back to the internal soundcard just after the DVD menu for some reason. And since I had lost the .asoundrc file I wrote the first time I tried I spent about as much time this time too finding out exactly what to put in it. Most entries I googled out said stuff like ‘here is what my .asoundrc file looks like, not sure what it exactly does, but it works for me’…..

I fear that as the Fluendo DVD player comes closer we end up having to fix up parts of the lower stack a bit to overcome the pains like this.

Anyway, Tired of the whole problem I bought a 60 Euro DVD player yesterday. Was able to watch Hidalgo yesterday using it on my widescreen lcd tv usinig s-video and connecting to my surround system using a optical cable. Neato! Now I only need to figure out how to disable to region checking on the system.

Pirates and Parrots

It is a well known fact that Pirates and Parrots go together. It is kinda like wizards and cats. But how many historical pirates did actually have a parrot? A good question you might say, and one we might never find the true answer too. Yarr!