This is the second part in our series taking a closer look at free and open-source software:
the real costs, the barriers, and the trade-offs; the best FOSS
alternatives to “brand name” software; and the resources to help you
make the most of it.
One of the on-going criticisms of free or open-source software
(FOSS), as a general class of software, is that it’s lacking in usability.
But what does “usability” really mean — to software developers and to
those of us who depend on a collection of software to carry out the
essential tasks?
Usability is closely related to usefulness, of course, but
it’s more specifically about ease-of-use. As users of software, we’re
primarily concerned with the usability of the interface between us and
the program — the graphics, text, and sounds that the program presents
to us, and the actions such as keystrokes or mouse movements that we
use to control the program.
More simply, we can think of usability in terms of its 5 key components:
-
Learnability: How easy is it for new users to learn how to use the system, and become proficient with it?
-
Efficiency: How quickly can you perform the tasks you want to do, once you’ve learned the software?
-
Memorability: When you haven’t used the software for a while, how easily can you pick it up again?
-
Errors: How often do you make errors with the software, and how eay is it to recover from them?
-
Satisfaction: How pleasant do you find the experience of using the software?
As mentioned, FOSS comes in for a lot of criticism for a failure to
measure up in all these areas. Matthew Paul Thomas, who views FOSS from
a ringside seat on the Ubuntu team and has been wrestling with this
issue for years, offers 15 reasons why free software has poor usability, along with suggestions for how the development process might be improved.
Many of these problems are with volunteer software
in general, not Free Software in particular. Hobbyist proprietary
programs are often hard to use for many of the same reasons. But the
easiest way of getting volunteers to contribute to a program is to make
it open source… [and] it’s in Free Software that we see volunteer
software’s usability problems most often.
His article gives an interesting glimpse into the software
development process, but I suspect that many of those underlying
problems that a concerned developer may see so clearly are often much
less obvious to us — the average users, who see the software only from
one side of the interface.
After all, how much do we care about the elegance of the underlying
code, or whether a specific function was patched in as an afterthought?
As long as the software works, right?
But “programming and human interface design are separate skills, and
people good at both are rare,” Thomas notes. A shortage of skilled
designers in the volunteer pool for open-source projects means that
design aspects may not come fully into play until after the coding has
begun — and that can have a direct impact on the user experience.
[T]he more code has been written, the harder it is to fix a design
problem — so programmers are more likely not to bother, or to convince
themselves it isn’t really a problem. And if they finally fix
the interface after version 1.0, existing users will have to relearn
it, frustrating them and encouraging them to consider competing
programs.
It’s true, isn’t it?
When we install a major update, and suddenly face an unfamiliar
screen or can’t find a much-used menu item, we lose some of the sense
of familiarity that’s such a big (and personal) part of how “usable”
the software has become for us through the habit of use.
In fact, I’d like to nominate
“Familiarity” as item number 6 on that list of usability components — because, when it comes down to firing up your computer and getting tasks done, the hands-on user is the best judge of any program's usability.
What do you think? How does open-source software compare to "brand name" software for ease-of-use, in your experience?