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
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/