Friday, August 23, 2013

Applying Usability in Open Source Software

Open source software developers have created an array of amazing programs that provide a great working environment with rich functionality. At work and at home, I routinely run Fedora Linux on my desktop, using Firefox and LibreOffice for most of my daily tasks.

But as great as open source can be, we've all shared or heard the same comments about certain open source programs:

  • “___ is a great program … once you figure out how to use it.”
  • “You can do a lot in ___ … after you get past the awkward menus.”
  • “You’ll like using ___ … if you can learn the user interface.”

That’s the problem, right there. People shouldn't have to figure out how to use a program, aside from specialized tools. Typical users with average knowledge should be able to operate most programs. If a program is too hard to use, the problem is more likely with the program than with the user.

Most open source programs are written by developers for other developers. While some large open source programs such as GNOME and Drupal have undergone usability studies, most projects lack the resources or interest to pursue a usability evaluation. As a result, open source software programs are often utilitarian, focused on the core functionality and features, with little attention paid to the user interface.

So, how can open source developers easily apply usability to their own programs? It depends. Typical methods run the gamut from interviews and focus groups to heuristic reviews and formal usability tests.

However, such formal practices are often antithetical the open source software community. Open source developers mostly prefer functionality over appearance. While some projects may have a maintainer who dictates a particular design preference, most programmers view menus and icons as “eye candy.”

With that in mind, open source software developers should consider the usability methods that apply well to the culture of open source software development. I propose this list:

Heuristic review
An experienced usability expert reviews a program design, and presents a marked-up list back to the developer with suggestions for improvement.
Prototype test
Ask testers to evaluate a mock-up of a program design, even if that design is just screenshots on paper.
Formal usability test
Testers use the program according to a set of scenarios, and an observer notes where they have problems.
Testers use a program against a set of scenarios, then fill out a questionnaire about what worked well and what should be be improved.

You don’t need years of usability experience to apply usability in open source software development. Developers can learn a lot just by sitting down with a few users and watch them use the software.

Whatever method you choose, the value of usability testing is doing it during development—not after the fact. Apply usability testing a few times; at each round of testing, you will have identified a number of issues that you can fix, and further improve your project.

No comments:

Post a Comment