LWN.net Logo

Why Free Software has poor usability, and how to improve it

Free software usability is the focus of an article on Matthew Paul Thomas's blog. He identifies 15 problems and proposes solutions to each. "With volunteer projects, though, any incentive is much weaker. The number of users rarely makes any financial difference to developers, and with freely redistributable software, it's near-impossible to count users anyway. There are other incentives — impressing future employers, or getting your software included in a popular OS — but they’re rather oblique."
(Log in to post comments)

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 10:11 UTC (Tue) by maxim_levitsky (guest, #53259) [Link]

Very good article.

Although the attitude of software developers that forbid including more flexibility and
options isn't good in my opinion.
Flexibility makes the program be more usable to more people.
I for example am very rarely happy with default settings of any program,
and the program that has most options usually fits me better.

I think that plugins are the best way to have both clean, and customizable interface.

(And I do mean that plugins should be shipped with application, but some can be disabled)

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 10:29 UTC (Tue) by russell (subscriber, #10458) [Link]

I totally agree.

I would love to have a global knob that I could tweak to expose more or less options/settings
in all apps ( for me a lot more ).  It's better to spend time learning the application, rather
than looking for a different application.

It would be interesting to try make the desktop modelled on the unix way of doing things.
Lot's of small specialised tools that connect with pipes to build the desired workflow.  Could
that be done?

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 11:20 UTC (Tue) by epa (subscriber, #39769) [Link]

So the answer to the problems caused by having too many options is... another option!

To some extent this already exists. Look at Firefox. There are the common preferences in the Tools->Options window, but if you want to fiddle some more you can go to about:config. GNOME applications often have more things in gconf than they expose in the user interface.

But the cost of adding extra options is not just in a more cluttered UI (these KDE screenshots are instructive of how options, settings and other user interface 'crack' can spoil an application), but also in more code paths to write and test and more places for bugs to hide. Also, arguably, that it distracts attention and brainpower from the more important task of making the default configuration just work.

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 21:27 UTC (Tue) by alecs1 (guest, #46699) [Link]

I am really dissapointed to see such a link here on LWN. I mean that is simple KDE bashing, in
my opinion almost lame, not entirely as the guy had some point.

As for the rest of the idea, not many code paths are introduced by simply showing a part of
the settings to the user, a radio button and two text fields in a settings window do not
really add to the code complexity. If some value is user configurable, the complexity is going
to be there anyway, be it that the settings are changed via ini file, GUI, about:config table
or some other method.

And I need to stress that different people like different things, and as an example think the
Mozilla programs and many of the GNOME ones are quite bad in exposing settings, while Kate,
Konqueror and the Kcontrol part for configuring KWin are the good examples.

Thunderbird example I never had the time to report:
Tb defaults to some non unicode char set, so for example characters like "ă" transform
into "a(" in the name of the recipients. 
Now, Thunderbird is not able to understand the trick that is just made (unlike Outlook, that
doesn't do the trick, but understands it) and will cut the address when using it again. 
How to change that? Well, go to about:config and search for strings that look like encoding.
Have fun, it took me 20 minutes on my computer, I never tried again on the coleagues' ones. I
never had to think about such details with KMail.

Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 0:54 UTC (Wed) by drag (subscriber, #31333) [Link]

> I am really dissapointed to see such a link here on LWN. I mean that is simple KDE bashing,
in my opinion almost lame, not entirely as the guy had some point.

It's worth point out examples of things to avoid and what to do to avoid it. Also it's worth
noting that the Linux Hater fellow has contributed code to KDE in the past.


Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 6:01 UTC (Wed) by alecs1 (guest, #46699) [Link]

True, I missed the point of the LHB site entirely.

Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 8:44 UTC (Wed) by epa (subscriber, #39769) [Link]

Surely your Thunderbird example is a textbook case of where the default settings should just
work and *not* require fiddling with the configuration.  Rather than add an option to change
'encoding' from a dialogue box (which still will not fix the problem for 99% of users who have
no way of knowing that 'encoding' is the cause of the bug), effort is better spent on fixing
the app.

simplicity and simplicity

Posted Aug 5, 2008 12:36 UTC (Tue) by strcmp (guest, #46006) [Link]

the problem with simplicity and 'non complex programs' is that a simple user interface often
needs vastly more complex program code, especially if the problem to solve is naturally
complex or very broadly defined. combining lots of algorithm options into a program that 'just
works' needs heuristics to guess these options right -- which makes it harder to use for
people in the know who then have to guess how to make the program so what they want. expecting
to get things like 'parental controls, a setup assistant, or the ability to import settings
from competing software' from 'a culture of simplicity, by praising restrained design and
ridiculing complex design' is just wrong from the developer's viewpoint, and as the developers
are just human too, they do what they are able to and let the other parts for others. not
every developer is a specialist in parental control library interfaces, software packaging and
installation on heterogeneous systems or parsing and importing foreign file formats. for the
developer just scratching the own itch it is completely natural to 1) start with the 'doing
the job' part of the program and 2) evenly spread out the complexity between functional code
and user interface.

simplicity and simplicity

Posted Aug 5, 2008 13:41 UTC (Tue) by brianomahoney (subscriber, #6206) [Link]

... and after all this complexity it may silently do
what, with apologies to Jodi "You want _NOT_", UIs are
not the end of life, and if you need complex things done
__your_way__ you are better off scripting them from components.



Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 13:22 UTC (Tue) by tzafrir (subscriber, #11501) [Link]

Instead of spending more time listening to the words of the "usability expert", what could
make it simpler for volunteer UI designers to submit patches?

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 14:09 UTC (Tue) by tetromino (subscriber, #33846) [Link]

Not requiring designers to submit patches, for one thing. UI designers *design* the UI.
Meaning, they make a mockup in Glade or even in an image editor, and explain how it should
behave. It's the coders' job to turn the JPG into C.

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 16:25 UTC (Tue) by iabervon (subscriber, #722) [Link]

Designers shouldn't have to submit patches to code, but their results should go into the
project source anyway. I think one of the reasons that there isn't a big designer presence is
that there isn't a diff/patch equivalent for designs. In order for a person to really
participate in a project, they need to be able to propose changes to the existing state in
such a way that other people can review and discuss them and where other people can also
propose alternatives.

Another issue is that designs tend not to directly constrain the code in a computer-verifiable
way, so it's easy for the project and a design to diverge.

Why Free Software has poor usability, and how to improve it

Posted Aug 8, 2008 19:11 UTC (Fri) by Baylink (subscriber, #755) [Link]

This answer capsulizes all that's wrong with this article in the real world.

In that Real World, most open source projects, even to this day, start off being built for a
constituency of one: the programmer who creates them.

That's not an environment that admits of most of the "helpful fixes" the author of TFBE
suggests... and in my experience, most of the projects that have tried to do all that stuff
and act all big and corporate... have failed,  Quickly.   Sourceforge is *littered* with
projects with great descriptions and no code.

As much as I hate to admit it, being myself a designer/analyst, coders still take precedence
in the FOSS universe, and will for some time to come... and perhaps that's as it should be.

If you can *do* those things in a project more power to you... but they all seem to require
Cathedral-control to implement, to me...

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 16:47 UTC (Tue) by tzafrir (subscriber, #11501) [Link]

The UI designer has an idea in his head. How can I test this idea in practice?

Screenshots of a mockup are one alternative. But you can't really use that, and have to rely
on the designer's word for most things.

For instanec, for developers we have version control systems. And multiple ways to test
patches. We make the build process as simple as possible so every developer with a little
patch could easily test it, and also get others to test it.

Why Free Software has poor usability, and how to improve it

Posted Aug 5, 2008 15:28 UTC (Tue) by dkite (guest, #4577) [Link]

I'll rephrase or corrupt if you like a famous saying:

Premature usability is the root of all evil.

My problem with the linux desktop isn't that the button order, or
whatever.
It is simply that it has yet to do everything I need. I would much prefer
that the developers spend their limited time and resources filling the
functionality requirements first.

A second problem is that is comes back to the old shiny object. I've
finally
come upon a driver for my ati card that actually recognizes and uses the
resolution of my monitor. I had to build it, and install it, but it works
without the eternal fiddling. And I finally have a driver that doesn't crash.
Oddly enough, having reliable, working, simple to use software for the basics
of the computer operation has more to do with usability than some layout of a
dialog. And usability experts don't have much to contribute in this
endeavor.

And third, my experience with the word usability when connected with some
change in free software has almost univerally meant that I can't do something
anymore. There are actual experts now who are overcoming this prejudice, and
I welcome their efforts. Meritocracy means someone has to prove their
worth.

When someone produces something like 
http://weblog.obso1337.org/2008/expert-review-of-knetwork...
which represents hours of work and thought, what can you say. Free software
needs this contribution.

Derek

Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 12:44 UTC (Wed) by tnoo (subscriber, #20427) [Link]

No idea what he is talking about. Xmonad, Emacs, Python, Latex, git, mc 
is just productive, and unmached in usability by any commercial product. 

If I watch experienced people use software designed with man-years 
of "usability research" I get nervous: endless clicking through dialogs, 
popup boxes, single/double-click confusion, no virtual desktops, chaotic 
file system layout, uninstallers all over the place.. c'mon.

People designing their own software to their own needs is what counts. 
And since there is choice, everyone can use the most productive software 
for their taste and need (ever evolving, off course).

tnoo

Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 22:22 UTC (Wed) by renox (subscriber, #23785) [Link]

Not everybody agree with your evaluation of LaTeX:
http://science.slashdot.org/article.pl?sid=08/07/29/0039201

The first replacement possible given is FrameMaker, which is much easier to learn (the
usability is harder to evaluate as it depends on your need).

Also, I think that LaTeX as a language sucks: there was a project which used a Lisp-like
syntax which was planned as a replacement, I found it much more readable (which surprised me,
because I'm not found of Lisp's readability for programming), I couldn't find the project
name, I guess it went nowhere.

So sure LaTeX is used, now does it have *good* usability?
I don't think so..

Why Free Software has poor usability, and how to improve it

Posted Aug 6, 2008 22:59 UTC (Wed) by nix (subscriber, #2304) [Link]

Lout is definitely more usable, and its equation typesetting is almost as 
good as TeX's by this point. (@Filter alone would make it worth switching, 
but when you add local definitions and a nearly-functional way of 
composing pages, it starts to look really nifty.)

Lout's biggest downside is that it doesn't do Unicode nor ever will :(

Why Free Software has poor usability, and how to improve it

Posted Aug 7, 2008 9:40 UTC (Thu) by renox (subscriber, #23785) [Link]

Thanks. That was Lout I was talking about but 10min of googling 'LaTeX alternative' and things
like that didn't help.

Too bad about Unicode support though.

Why Free Software has poor usability, and how to improve it

Posted Aug 7, 2008 21:09 UTC (Thu) by nix (subscriber, #2304) [Link]

Lout's syntax isn't really Lisp-like: no brackets, at most two non-named 
parameters... I'm not sure I can describe anything it's like other than 
itself, although it has some functional aspects.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds