Things about GNOME that Suck, Part One

John Williams

January 29, 2006

Well, after GNOME.conf.au I have been re-invigorated. My desire to contribute to GNOME has risen, so here is my first concrete action. Unfortunately it isn't a patch or anything as concrete as that. What is it then? I have resolved to blog every second day about one and only one thing that bugs me about GNOME. On alternate days I will blog about things that I love about GNOME. When I have run out of those things, I will stop. ;-)

So, without further ado, here is Gripe Number One from me. UIs that block on I/O. In particular: yumex, Gaim and Evolution. I suspect that the reason why I notice this and it bugs me so much is that (at home) I am on a 56k modem connection. Waiting on a response from the network really exposes those "no-repaint" moments.

What to do about it? There has been discussion on this planet recently about multi- threading vs. not. Perhaps the one way to drive the point home is for people who develop network-using applications to dogfood their project using a network throttler. Have a fat pipe? Maybe that's why your application looks unprofessional.

Update: someone asked for evidence of Gaim blocking on I/O: here it is:

3:25 PM


Things about GNOME that Rock, Number One

John Williams

January 30, 2006

Well, I have had about a dozen comments on my previous blog entry (Things about GNOME that Suck, Part One), all of which were along the lines of, "yeah, me too". I have had one private email from someone (whose opinion I respect) who suggested that it's not very nice to criticise people in public. I have some sympathy for this view, but do not entirely agree with it. But, if anyone here objects to my criticism, please let me know! I would not want to piss off a bunch of people for whom I have huge respect and admiration.

As I said in my previous entry, I want to criticise and praise on alternate days. So here is my first item of praise. :-)

One thing about GNOME that rocks HARD is the community spirit, and the ease with which can become involved and contribute within the bounds of one's abilities. I am not a developer, but I feel that I can and have contributed something, however small, to GNOME. (I also feel that I could do much more, but that's a different story.) This is something about GNOME that should not be underappreciated. So to all you other people in the GNOME community: Hello! And thanks!

4:52 PM


Things about GNOME that Suck, Number Two

John Williams

January 31, 2006

(Editorial note: I am trying to keep these posts short and to the point. I have had about 20 responses to them so far, all but one positive. So I will keep going for now.)

The woeful state of multimedia. Specifically: handling the (in)ability to play some formats.

A typical scenario that occurs at least once a week for me is that I will attempt to play a multimedia file (usually a movie), and the application I use can not deal with it. That's actually fine, especially if you are free software/anti-patent bigot like me. What bugs me, however, is that the shell (Nautilus?) will happily launch the application, or allow you to associate the application with the particular MIME type, when it is known that the application is unable to deal with the file. (I use Totem, Xine, and Mplayer by the way.)

I was going to post about something else today, but this one leapt to the fore in my brain after I had waited for a long time for a file to download (5Mb on a 56k connection) after Firefox offered me the option to save it to disk or open it with Totem. Totem starts up and then tells me it can't handle that file. OK, so it was a WMV. Try again with the Quicktime version of the file. Same result. DVDs? With Totem? Forget it. That's why I have to have three media players: to handle all the formats that I come across.

GNOME "Just Works"? GNOME is simple? I don't think so. And considering the ubiquity of multimedia in today's computing experience, I see this as a major impediment to encouraging people to start using GNOME.

The way forward: can we change the MIME type infrastructure to disallow the user associating applications with MIME types that they cannot handle? Nautilus offered to open a VOB file with Gedit. I can't remember associating Gedit with VOB files, and I am pretty sure that I would not have done so on purpose. Perhaps a distribution associated VOB files with Totem. But why would one do so? We know that will cause failure and frustration.

More: can the error dialogue of Totem be changed to give the user a clue about how to install plugins and where to find them? And perhaps a link to a page describing GNOME's stance on proprietary formats? (Does such a page exist?) I have hope on this front, and want to publicly thank the Gstreamer people for their efforts.

/EndTransmission

2:41 PM


Things about GNOME that Suck, Number Three

John Williams

January 31, 2006

I am running out of things that suck about GNOME. That's cool! By that I mean that all the other things I would have to say really belong in bugzilla, not here :-)

But today's gripe is this: the bug reporting, triaging and fixing system appears to be fundamentally broken.

I will base my commentary of these premises:

1. All software has bugs
2. Users hate bugs
3. Users find it very difficult to produce useful (to developers) bug reports
4. Bugs cause lost productivity for both users and developers (who have to fix them)
5. Bug fixing is often very difficult
6. The sheer number of bugs is a severe psychological barrier to fixing them

Immediate conclusions that follow are:

1. Minimizing the number of bugs leads to greater productivity and happiness for both users and developers, and hence should be a major goal of GNOME.
2. In order to achieve that goal, the quality of bug reports must be increased
3. Because users have limited ability (regardless of motivation) to increase the quality of bug reports, the more the bug reporting system can be automated, the better things will be for both users and developers.

So, what is the way forward? I can think of three broad areas:

1. Forget trying to make bugzilla more friendly to non-technical users. It could probably be done, but other, easier paths will lead to the same destinations. (By the way, the recent improvements are totally awesome!)

2. Delete all bugs from bugzilla and start again. (Tell everyone that we're doing this, and why.) Devote massive resources to the triaging system. Make sure that every bug that gets assigned to a developer is assigned to the corrects developer, has sufficient information to be useful, and is not a duplicate.

3. Bug Buddy needs love. Lots and lots of love. And when it has been loved so much that it is limp, it should be loved some more. Bug Buddy is not usable for non-technical users. Not convinced? Let me show you what I mean. (At last, some bling!)

Testing the latest Evolution from CVS:

Hmm... trouble! Better report it. Press the "Inform Developers" button. First Bug Buddy tells me that my information is out of date. Well, it told me that last night too, and I updated it then, but I suppose things may have changed. OK, download updates and wait while "Bug Buddy gathers information". Inspect the stack trace and confirm that it appears to be, indeed, about evolution-exchange-storage. But wait, what's this? Bug buddy tries to help me by eliminating duplicate bug reports. Cool! But what's all this about products that have nothing to do with evolution-exchange-storage? How is that relevant? Wouldn't it be better to present information about the application that crashed?

Whatever. Let's go to the next step. What's this? I have to choose the application that I'm reporting on? Doesn't Bug Buddy know already? It's got the stack trace. And couldn't the system that launched Bug Buddy tell what has crashed? Never mind. Let's try to pick the application. But wait, it's not there!

Oh, maybe evolution-exchange-storage is not an application. But hang on, Evolution is, why isn't it there? Oh well, try "Products" instead. (Puzzling over the difference between an "Application" and a "Product".) What now? Why are there so many duplicate entries, and how can I tell which one I should choose? And where is evolution-exchange-storage?

Hmmm. Oh, wait. I've been using GNOME for years, and I recall that once upon a time it was called "Ximian Connector". Look under "X", no, ... OK, there is a "Connector" (or two), one of them is (probably) the right one. Hang on, why is "Crossover" in this list? I have never installed that, ever, on any of my computers! Whatever ...

What's next? I have to tell Bug Buddy what version of the product I am reporting on? Can't the system that launched Bug Buddy provide that information? And what about "Severity"? How do I decide what to put in there?

Whew! Finally I get to actually type in the bug report. It appears there should be exactly three steps to reproduce a bug. OK, I suppose I can adapt my experience to that framework. Now, once the information is entered, I get to choose what to do with the report. I have to choose between saving it as a text file, or emailing it. (Why can't I do both? What if mailing fails? Do I have to go through all this again?)

Yay! At last! The bug report has been filed. I feel a warm glow of satisfaction at having fulfilled my duty as a non-developer member of the GNOME community: I have filed a (damn good!) bug report. But wait, have I really? If I check bugzilla.gnome.org it does not appear to be there. Even days later. What's going on? Perhaps the mail did not get through? How do I check? What was that about sendmail in the mailing options?

Discover mailq, and the fact that the bug report was not, as claimed, file. Dismayed to find that now I have to learn how to configure sendmail. It's about enough to make a poor user want to cry...

3:20 PM


Things about GNOME that Suck, Number Four

John Williams

January 31, 2006

First, let me thank all the people who have been posting comments on my blog entries. I never expected such a positive and encouraging response to this series! For those of you who have not read the comments, I can summarize the frequency distribution of classes of comments as follows:

1. "Right on! Keep up the good work": lots.
2. "That's bullshit/You suck": none.
3. "What about ?": some.

Thanks! But just to reiterate: If you think that I am being unfair, or am JPW (Just Plain Wrong), please let me know. I could let this go to my head otherwise... ;-)

So, Gripe Number Four: The desktop environment does not remember the size and position of windows.

Premises:
1. The purpose of computers is to make the lives of humans better and easier
2. Computers are for automating tasks that are boring and repetitive
3. GNOME is simple and easy to use
4. GNOME "Just Works".

Data:
Every time I start the applications that I use every day (Evolution, Firefox, Gaim, a couple of terminals, Emacs) I have to arrange the size and locations of the application window, both across virtual desktops and within each desktop.

Conclusion:
At least one of the premises are false.

I know that it is a deliberate policy decision of the Metacity hackers to not handle this functionality. I also know about Devil's Pie (thanks Ross!). But I still find the premises compelling. I don't want them to be false. Do you?

3:10 PM


Things about GNOME that Rock, Number Two

John Williams

January 31, 2006

One comment on a previous post was along the lines of "Why aren't you praising GNOME software? The software should be number one, community is secondary." I am trying in this series "Things about GNOME that {Rock|Suck}" series to avoid talking about specific applications. IMHO that sort of feedback belongs in bugzilla, whereas I am trying to comment on GNOME as a desktop environment and developer platform, i.e. as a whole rather than particular components applications. I hope that makes sense. So, without further ado, Rock Number Two:

Increasing integration of applications, for example Evolution and Gaim. (And now Evolution and Tomboy!) The more that central information stores such as evolution-data-server (and the MIME tye system, DBUS etc.) permeates the desktop, the cooler things will be for a humble user like myself. That is real usability (as opposed to discoverability). Fewer mouse-clicks and keystrokes == more productivity in my book.

Someone else commented that I need screenshots in these posts ("people love bling"), and I was going to include some in this post. However I am currently running the latest CVS build of GNOME, and neither Evolution or Gaim work for me. I thought it was more important to test and report bugs than produce spiffy blog entries, but hey, that's the sort of guy I am...

8:05 PM


Things about GNOME that Rock, Number Three

John Williams

February 05, 2006

I have previously written about the GNOME community and how it is so good. However since starting this "Things about GNOME" series I have been astounded at the number and quality of positive comments on the series.

I can only reiterate then, that the GNOME community ROCKS! To be specific, the ability of the community to absorb criticism in good faith is truly inspiring from the perspective of a GNOME user (as opposed to a developer).

But now I have a problem. As a user of Windows XP, Fedora Core 4 and Ubuntu Dapper Drake, I am trying to think of things that I really like about GNOME that Windows XP does not have. To be honest, nothing really leaps out at me. Don't get me wrong, I can't see myself ever stopping using GNOME, but I at this stage I can't see many obvious advantages of GNOME over Windows. This is GNOME as a desktop environment. I can't comment on GNOME as a developer platform, as I am not a developer.

This leaves aside the issue of individual GNOME applications. There are a few GNOME applications that I like better than the corresponding Windows options. I think that I will start blogging about those in the future.

As always, if you find these posts pointless, tiresome or offensive, please let me know.

6:21 PM


Things about GNOME that Rock, Number Four

John Williams

February 05, 2006

When I started this series, I said that I would blog about things that suck and rock on alternate days. I got out of sequence, posting two sucks in a row, so now I am posting the second rock in a row, because I am the kind of guy who likes things balanced.

So, Rock Number Four: Search functionality. Specifically deskbar-applet, Beagle and Dashboard. These (and other related) tools are seriously cool, and help me in my daily work immensely. I know that Beagle isn't specifically a GNOME application but it is the focus on findability (of objects) that I want to point out as an area of GNOME that is Way Cool.

Now, the bad news. I have decided I can't keep up with the Rocks. (It's so much easier to criticize.) But on the other hand, I seriously can't think of many more things about GNOME that "suck" either. I think I will do one more "suck" and then rename the series (in view of the upcoming GUADEC track) "Thoughts about ToPaZ", in other words, "Things about GNOME that could be improved, but don't actually suck."

Stay tuned. Or not. :-)

10:56 PM


Thoughts about GNOME 2.16

John Williams

February 08, 2006

Now that GNOME 2.14 is almost out I would like to propose an overarching goal for GNOME 2.16. Codenames that reflect this goal are:

GNOME 2.16: No New Features.

or

GNOME 2.16: Polish, polish, polish.

Yes, you heard me. I would like to see six months of GNOME development love going in to fixing bugs and improving the GNOME infrastructure in terms of documentation and web sites. I know that would be boring for many of you, but please: think of the children! Ooops, I mean users.

By "Bug Fixing" I mean not only clearing things out of bugzilla, but also attending to the things that are often talked about as being in need of improvement. I am willing to help where I can. Please bear in mind that I am not a developer, but apart from that, feel free to approach me with tasks. I don't want to be just a complainer ;-)

I was impressed by a comment made at GNOME.conf.au in Dunedin recently. Someone mentioned the how the policy in New York City of "Zero Tolerance" to crime worked so well. Apparently the story is that if even the smallest of crimes (like littering and jaywalking) are not tolerated, there is a corresponding fall in the crime rate for the more major crimes. The reasoning behind this is (IIRC) explained in the book "The Tipping Point".) Please, if I'm getting these details wrong, let me know.)

I am reminded of the situation with TeX, and also LaTeX: there are practically no bugs in these packages. We can argue about why this is, or whether it is possible for GNOME to emulate the acheivements of Donald Knuth, but the point remains that bug-free software is possible, and that feeping creaturism must be resisted.

I, and almost all of my normal user buddies, HATE new features almost as much as we hate bugs. (OK, that's an exaggeration.) But honestly, whenever we hear that our versions of Windows, Office or whatever is going to be upgraded, we groan. Because amongst all the new features there is almost never anything actually useful, and all we get are new bugs. Often we have to learn new ways of doing things that don't seem any better than the existing ways. And most of the old bugs don't go away either. The "upgrade" cycle seems to be driven by the IT department needing new central management functionality rather than the actual users demanding new features.

Adding new features to software is largely driven by commercial imperatives, where common business wisdom goes along the lines of "constant innovation is not just the key for success, but a necessity for survival". We in the GNOME community do not have these imperatives.

Adding features is necessary (as opposed to fun) only when we have a desire to produce a system that is a replacement for other systems. (Getting people to start using GNOME in place of something else.) In that case it is necessary to match a large subset, but by no means all, of the system that you are trying to replace. If we are talking GNOME and GNU/Linux versus Windows XP and Mac OS X, there are a few major areas to achieve parity:

1. Multimedia handling
2. Printing
3. Laptop support

Wouldn't it be great if you could buy a new laptop, pop a CD of the latest version of you favourite distro in the drive and install the sucker with no more hassle than if you were trying to install one of the other systems? (Note I am not saying "with no hassle"!)

And then, imagine you could use your laptop without feeling like a second class citizen in the computing world, because your system can't read/play certain files or plug in to the local corporate infrastructure. Wouldn't that be great?

How much of this simply can't be done because hardware and software manufacturers will not let GNU/Linux and GNOME hackers have access to the relevant information? How much of it could be acheived by simply setting it as a goal? I do not pretend to have these answers.

Having re-read this article before posting I realise that I have been ranting. (Actually, I knew that as I was writing it.) I am hesitant to publish this rant, but I will; if only to find out if anyone shares my pain ;-)

Oh, and before I forget:

THANKS!

Thanks to all you GNOME hackers for making a really good GUI for GNU/Linux (and others). A really good desktop environment that has the potential to be great. If it was crap I would just switch to KDE :-)

Love,

John

9:47 PM


Where to from here?

John Williams

February 09, 2006

I am continually amazed at the number of positive comments I get on my blog articles: it seems that I am not alone in some of my thoughts! That is always reassuring :-)

The things that I have been blogging about, the comments that I have been receiving, and the recent controversy on the desktop development list (sparked by discussion of the recent showcasing of Novell Linux Desktop) have all started me thinking about this:

Has GNOME lost its way?

By "GNOME" I mean the GNOME "community" as well as the bunch of zeroes and ones that are currently chugging through my computer's CPU. I do not mean to imply that things are bad, it just seems to me that we seem to be somewhat aimless and fragmented. I am not suggesting that we need a benevolent dictator like Linus Torvalds or Larry Wall, or that we need more structure or formalism. (It may be that we do, but I remain to be convinced on that score.)

What I am am suggesting is that we need to articulate our shared values and goals a bit more explicitly. (I think the place for this is the eagerly anticipated but oft-delayed new developer.gnome.org site.) In particular, we need a longer term plan that just the next six months (the next realease) and more concrete than the mythical Three Point Zero.

Can we start to think about 2.16, 2.18, 2.20 and 2.22 and publish these plans on live.gnome.org? Can we nail down a few things we want to achieve in the next two years and track our progress toward them? I think that this would help unify us and give us a common goal much more than anything I see in public channels right now.

10:46 PM


GNOME 2.16: Polish, Polish, Polish

John Williams

February 12, 2006

The feedback on my blog after my last post seems to make it clear that there is some support for the theme/direction/goal of the next release of GNOME to be something along the lines of:

In other words, we pretty much have the feature-set we need, now we need to concentrate on making the Desktop Environment not get in the way of users as they go about their work or play. Of course, the boundary between DE and application suite is somewhat hazy in many people's minds (not least my own!).

What is the feeling in the developer community toward this goal? The comments I am getting seem to be from people who characteris themselves as users, although I am sure that some of them are developers also. I would really like to here from people about this.

P.S. Some people have been asking for a more permanent list of the points that I have been raising in these posts. That will be Coming Soon. ;-)

10:00 PM


Copyright 2006 http://gnomerocksmyworld.blogspot.com/