How does usability impact open source software development? How might usability be applied to open source software?
Today, many popular computer programs are written under an “open source” or “Free” software license. Generally, “open source” means that the program’s source code, the computer instructions that define the program’s operation, is available for anyone to view and edit. In open source software, other developers may use the source code to add new features and functionality to a program, and contribute those changes back to the program’s author or maintainer.
This open access to the program’s source code allows ideas and information to flow between programmers, which in turn enables rapid development of enhancements and bug fixes. An open source program can quickly grow from an interesting proof of concept used by a few developers to a mature, stable application used by many general users.
However, open source applications are frequently written by developers for other developers. While some larger open source projects (i.e. GNOME) have performed usability studies, most projects lack the resources or interest to pursue a usability examination. Many open source programs are often utilitarian, focused on functionality and features, with little attention paid to the user interface. This lack of focus on usability in open source software can mean open source programs are underutilized because they are perceived as difficult to use.
In my study, I will do a “deep dive” on the usability of open source software user interfaces, and examine how usability might be applied to open source software programs in general. I intend to perform a case study of a specific open source software program, a usability examination of menus and icons. The output will be a publishable research paper that discusses the usability of open source software and the results of a case study, including a proposed reorganization of menus.
A key part of this project is the case study of a specific open source program. Managing scope is important.
I will avoid open source programs that serve a very limited audience - for example, programming tools, special utilities, and other programs that are intended for advanced users. Similarly, usability results from simple open source programs would not “scale up” to larger programs. At the other extreme, programs that are overly complex or have very deep menus would be impossible to manage within this scope. For example, programs such as OpenOffice, LibreOffice, or even Firefox that have rich menus would expand the usability evaluation to such an extent where the results may not be applicable to other open source programs.
Icons are an important part of usability, and today's graphical programs often leverage some icon set to represent program actions. Typical examples are a “toolbar” of commonly-used activities, such as copy and paste, or bold and italics. Programs that exist solely in text mode, or other programs that do not make use of icons in the user interface, will yield limited usability results that apply to a small subset of users. Text-only programs will not be included in the study.
The right open source program for this usability case study needs to strike a careful balance:
- Generally useful to a wide audience
- Not overly technical without becoming trivial
- Not too many menus
- Some icons without being purely icon-driven
This study will employ one or more of the following types of usability testing: (list derived from Preston)
- Heuristic Review: Evaluators independently examine a user interface and judge its compliance with a set of usability principles. The result is a list of potential usability issues or problems.
- Prototype Test: Test a design using an animated prototype with realistic scenarios.
- Formal Usability Test: Using a stable product, or even a prototype, test a reasonably large number of subjects against a variety of defined scenarios. Formal usability tests are often conducted in controlled environments.
- Questionnaires: Users respond to a formal questionnaire about their experiences using the product.
Calum Benson, Matthias Müller-Prove, Jiri Mzourek. “Professional Usability in Open Source Projects: GNOME, OpenOffice.org, NetBeans.” (ACM)
David M Nichols, Michael B Twidale. “Usability Processes in Open Source Projects.”
Alice Preston. “Types of Usability Methods.” STC Usability SIG Newsletter,
Eric S Raymond. “The Cathedral and the Bazaar.”
David M Nichols, Michael B Twidale. (2003). “The Usability of Open Source Software.” First Monday 8(1).
David M Nichols, Michael B Twidale. (2005). “Exploring Usability Discussions in Open Source Development.” Proceedings, 38th Annual Hawaii International Conference on System Sciences, HICSS-38, Track 7: “Internet and the Digital Economy,” p.198c.