Why Free Software usability tends to suck (2002)

28 points by isagalaev


david_chisnall

Completely agreed on all points. In particular two key points:

Every contributor to the project tries to take part in the interface design, regardless of how little they know about the subject.

I actually have studied human-computer interaction, though I'm not an expert, and the number of times I've seen people in F/OSS projects strongly advocate for things that user studies have repeatedly shown to be bad for discoverability or correct use is depressing. Part of the problem here is a general one of not respecting expertise in fields other than your own, which is often quite strong in F/OSS communities but by no means exclusive to them.

There's also the problem that, if something ships with a bad UI, the active developers will use it a lot. Familiarity is something that you often optimise for in good UI design[1]. People already know how to use a bunch of things when they encounter a new tool (physical or software). If, when doing things other tools do, they interact with your tool in the same way, that's less to learn. But if someone has five years of experience working with a specific bad UI every day, they will have learned to work around all of its limitations. Changes will objectively make them less productive, even if they would make every other new user in the future more productive.

Many hackers assume that whatever Microsoft or Apple do is good design, when this is frequently not the case. In imitating the designs of these companies, volunteer projects repeat their mistakes, and ensure that they can never have a better design than the proprietary alternatives.

I really cannot emphasise this one enough. Windows is a showcase of terrible design and it's depressing to see people copy them (including in trivial to fix things, like putting the buttons the wrong way around in dialog boxes). Apple generally did a lot better (though recently they've lost the plot entirely) but the really important thing about the Apple UI was that it solved a lot of problems that relate to the specific abstractions that they exposed. Trying to expose the same UI for different abstractions doesn't work. They also fitted a bunch of their abstractions around the limitations of early hardware (this shows up, particularly, in how some of their abstractions scale when you go from dozens of documents to tens of thousands on a computer). Their more modern UIs include things that try to address these limitations but also retain the old ones, often in confusing ways. Unless you understand why the choices were made, you will almost certainly build something worse even if you do a fairly faithful copy.

[1] I'm not going to say 'UX'. Today, even people who know what they're talking about say 'UX', which is sad. When this article was written, 'UX' was a very useful filter word. Anyone who actually understood the bits of psychology behind good UI design and how to measure usability talked about HCI. Failed artists who wanted to push their 'vision' in spite of not bothering to think about how the thing was used and who called themselves 'designers' in spite of not understanding what design actually is, talked about UX.