Get off the geek crack, part 1

What is it about PRIMARY paste that makes geeks love it so much?

You can’t use it to overwrite something (because selecting to overwrite… kills the thing that’s stored). Most mice have the middle button as a wheel, and clicking that is awkward. It’s also inaccurate: I tend to move the wheel a tiny bit, so I don’t paste where I meant to.

It’s non-discoverable. It breaks the rule that each application is its sacrosanct space (because gedit forgets its selection while I’m selecting in bluefish). It doesn’t follow standard GUI grammar.

What so hard about clicking and using CTRL-V? If your left hand isn’t on the keyboard, what’s it doing?

Forums and Mailing lists

Vuntz writes that we should all join the GNOME forums, and he’s quite right.

But he also says he’s not a big fan of forums, and this raises an interesting point about barriers to involvement with GNOME.

To put it simply: Users hate mailing lists. They prefer forums. Developers hate forums. They prefer mailing lists.

I can tell you why I hate mailing lists:

Technical reasons:

  1. I get too much email from lists. Most threads I don’t care about.
  2. I use webmail, so I can’t use clever filters to file my mailing list mail in folders.
  3. I use webmail, so I don’t get threaded discussions laid out nicely.
  4. If I use digest mode, replying is a pain, and I miss out on fast-moving discussions.
  5. If I don’t use digest mode, I forget to hit Reply-All.
  6. Each time I want to do something to do with another part of GNOME, I have to sign up to yet another mailing list, and get yet more mail.
  7. Archives are in a separate place from current material: one is on the web, the other in my inbox. When I find something in the archive, I can’t reply to it.

And social reasons:

  1. Mailing lists feel silent. When you join, it’s hard to get a feel of the place.
  2. Because they’re archived and googled, you’re wary of putting a foot wrong because your mistakes are preserved for ever.
  3. Threads often dwindle out with no resolution, and there’s no real indication of this (and replying to ancient emails is frowned upon, apparently, whereas on forums there is the culture of the ‘thread bump’.)
  4. Threads fork and are hard to keep track of.

Overall, mailing lists just seem wrong: they are a push medium, in the age of the pull medium. With a mailing list, my mailbox feels like it’s getting spammed all the time. With a forum, I go to the forum when I want to read messages. I read the ones I choose. I get notification only about the threads I’ve replied to: the one’s I am interested in. If I want to talk or read about another topic, I go to another board.

So we have a social barrier between developers and users that’s caused by technological reasons. Feasibly, it wouldn’t be too hard to fix this. There are already webforum gateways to mailing lists, but how about setting one up on the GNOME servers, as an official part of the GNOME forums?

And while we’re discussing this, would any developers care to list their reasons for disliking forums?

I don’t use GNOME

I use GNOME to work on GNOME documentation, but it’s mostly the only thing I use GNOME for.

My two main computer activities are using the web, and word processing. I sometimes do use GNOME for the former, but the latter never happens. And there’s a very simple reason. It’s called OpenOffice.org Writer.

I’m not claiming MS Word is wonderful, far from it. It crashes a lot, and it has a great number of bugs and irritations. But OOo is missing features I consider essential.

For a long time the biggest problem was the lack of a word count. No, it’s not April 1 any more.

Now it’s the lack of what I’ll call ‘Normal View’. Looking at the comments, I’m not the only one who considers this a problem. This is a showstopper, as far as I’m concerned. I don’t just hate typing in Page Layout view, I can’t do it. It wastes space, and it’s distracting to see page breaks go by when I type.

Then there are niggles. Things like the absence of an italics pointer. The developer comments that the toolbar tells you what formatting is currently in place, but could they tell me how tell where my cursor is in Homer’s Iliad? In an italicized, sans-serif font?

We have more Frank Sinatra metabugs when it comes to behaviour that, right or wrong, is now part of the standard word processing landscape: removing paragraph formatting, or clicking in the left margin of text to select lines or paragraphs, or not highlighting empty space, or being able to copy a wordcount into a document.

All this adds up to making OOo Writer a frustrating experience. I’d like to use it, but I can’t.

If OOo wants to take advantage of Microsoft’s delay, its developers have some work to do. There’s a big group of users out there whose hearts are already with OOo. We just need a little bit more so we can make the change.

Who’s a GNOME user?

Do GNOME developers actually use GNOME? I’m not sure they do.

When I’m working on documentation I use the following:

I have the folder with the files I’m working on open in Nautilus. I can open XML files in Yelp with the Open With context menu. Thanks for a script from Brent, I can validate DocBook from the context menu too. However, if I’m working on more than one set of documentation, I have several folders which are all called ‘C’. And Nautilus could do more. It would be nice if the validation script had been easier to make. I’d like to be able to make a patch without having to switch to a terminal and look up the command.

For editing DocBook, I use Bluefish. It’s good, but the old version I have on my Ubuntu is slow for the very large documents I work on. There’s also a very irritating GTK bug which makes moving lines of source around a real pain. Nobody else seems to have noticed this one before. Do GNOME developers actually use GNOME?

I use Meld to work with CVS. It allows the basic commands: update, diff, commit. That’s enough for me. It uses a two column layout to show diffs which is really neat. There’s a few niggles though: copy and paste shortcuts don’t work in its location bar, for example. Ctrl-X/C/V should work anywhere I can select text. Repeat, anywhere. And its general model is a little bizarre. I click ‘New’ to get a new folder listing. Yes, it’s a new thing, but it’s not what I understand a New button to represent.

I rarely have to use the terminal. I ssh-add my CVS password (yes, I know technically it’s not a CVS password, but it’s the password I type to use CVS, so that makes it my CVS password). I occasionally use XSLT, because I’m gradually converting ugly tables to variablelists. And I check out modules when I find another set of docs that need work. And then I have to go dig up the command, navigate to the correct folder, and so on. I tried using links on the desktop to commonly-used folders, but links in Nautilus are completely useless, because they don’t take me to a spot in the hierarchy, they create a clone of it. What on earth is the point of that?

Last of all, I have X-chat open (except when it closes when I hit Ctrl-A to select some text I’ve typed, which is unforgivable). I’m in the docs channel of course, and the french GNOME channel, and the general gnome-hackers channel where I can often be heard asking questions like ‘How does this feature work?’ People probably think I’m a n00b asking in the wrong place.

The Live CD

I booted up the 2.14 live CD for the first time.

We still have that spelling mistake in one of the videos.

I broke the new search tool in Nautilus in under thirty seconds. This is the feature that was touted all over as being ‘fantastic’ and a real leap forwards. Sorry, it’s not.

Why do I always get the impression that coders only consider usability and documentation as an afterthought, something to be tagged on at the last minute?

Pseudobug #2: Waiting for Godot

Suppose your washing machine was broken. You call out the engineer. He says ‘Sure, we could fix it. But your kitchen floor’s uneven. We’ll wait until someone else fixes that.’

We’re doing this all the time.

Yes, perhaps it’s more productive and a better use of developer time to wait until library Foo is available, or some new standard is implemented. But in the meantime, users are having to put up with problems, and they’re watching us twiddle our thumbs over it.

When library Foo could be years away, we can’t keep putting things off.

Users matter. They’re who we exist for. Hurting the users to save developer time is not nice.

Meta-bug #1: Frank Sinatra

There’s not much as frustrating to a wannabe contributor to FOSS who’s filed a bug, as a response of WONTFIX and NOTABUG from a developer.

These aren’t bugs. They’re metabugs. There is no known fix.

Metabug #1 occurs when the developer believes he is Frank Sinatra. Other desktop environments and applications may have done something a particular way for decades, but the developer doesn’t care. He’s doing it His Way.

An example is double-click word select. Keep the mouse button held down, and you can extend the selection word by word, right? Firefox has this marked as a bug (and hence metabug #1 doesn’t apply here, but pseudobug #1 does: ‘Problem has been known since before the flood’, or in this case 1999), but some applications don’t even let you select anything after you’ve done this and don’t see this as a problem. You’ve selected a word? Good for you! You’re not selecting anything else with that, surely?

Coming of age

The time has come — it’s been coming for a while — when FOSS must decide what it is. Who is it for?

Slashdot was quite rough on our 2.14 release. Cue the usual misinformed rants about each version of GNOME removing features. One poster writes “Supposedly many options will confuse the user. Come on. These users are using Linux.”

Should FOSS never be for more than geeks?

The matter of GIMP recently reared its ugly head on NewsForge recently. And there, someone writes in comment:

And these demands that the developers do x or y, what’s that nonsense about, this is free open source software, you didn’t pay for it, you don’t write any documentation for it, but you want it the way you want it? Talk about childish. So yes, if you don’t like one of these projects, either don’t use it, or contribute to make it better. But please, this is not a commercial project, it’s made by volunteers. If photoshop has features you don’t like, and you paid hundreds of dollars for it, you have every right to complain and try to get adobe to fix it. But if someone gives you a present, which is what this kind of software is at its heart, why on earth do you think you have the right to question the quality of that present?

Well, I’m going to tell you that users have every right. We exist for them.
What is Linux? What is GNOME? If it’s just something we do for kicks, then sure, we can tell griping users to get lost. It’s our ball and we’re doing what we like with it.

But if we’re serious about providing an alternative to other operating systems, if we’re serious about providing choice and quality, then we have a duty, and we have to take it seriously.

Without users, we’re just a bunch of geeks indulging in mutual back-rubbbing. I am honoured to join the ranks of bloggers here at blogs.gnome.org, but take a second to look at the faces. What do you see? Pretty much nothing but 20-something geeks.

We have to look beyond our circle, and beyond our mindset. The command line is a burden on the memory and the fingers. Emacs and vi are bizarre and arcane forms of self-torture. Primary paste wastes more time (with mis-selection and mis-clicks of that mouse wheel) than it saves. GIMP was designed by monkeys on crack. Enough. Time to let go and move on.

When users tell us such a feature is too complex, or crazy, or the interface sucks, we have to take heed. When users clamour for something to be fixed, we have to listen and prioritize accordingly. If you still think you’re hacking for fun, you’re in the wrong place.

I think it’s time for us to grow up. Some kicking and screaming may be involved, and some egos bruised. Let’s get to work.

Manuals aren’t sexy

In the words of someone on #gnome-hackers, ‘Documentation isn’t sexy’. Well, dang. I joined the wrong project. #gnome-sex, anyone?

Documentation is never going to garner great accolades either. Nobody’s going to say ‘Hey, this piece of software has the best manual ever!’ It really only gets a mention if it’s pretty bad.

So it was nice to see the review of 2.14 on Linux.com mention the documentation, even if it was only as ‘the stuff that’s in Yelp’. Though they managed to spot our number one problem — ‘At times, the text in Yelp refers to older releases.’ — and they say we need polish. They’re not wrong.

I was pretty confident the docs team had tracked down and stamped out nearly every mention in the User Guide of features not seen since GNOME 2.6 (yeah, it was that bad), but there are the application manuals to consider too.

So still a lot of work to do on the documentation, and as I said, there’s a few rough patches in the User Guide. Those I intend to fix for 2.14.1.