Short paper for CHI 2004, HCI Overviews by Calum Benson, Matthias Müller-Prove, Jiri Mzourek
© ACM, 2004. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in CHI 2004, Extended Abstracts doi.acm.org/10.1145/985921.985991
Working as a usability professional in the open source arena is a challenging task. The decentralized and engineering-driven approach of open source projects can be at odds with corporate processes and usability engineering methodologies. Nonetheless, there is great potential for large corporations to contribute to open source projects. Providing usability know-how that leads to usable and useful products is a win-win situation for developers, the corporations, and – most importantly – the users.
Author Keywords open source software development, usability, multinational corporate environment
ACM Classification Keywords H.5.2 User Interfaces
There is some truth in the common notion that open source systems have poor user interfaces. Often they are created by engineers for engineers. The feedback cycle with real users does not exist because there are few usability experts participating in open source development processes. This problem is well-known and has been discussed in previous papers and conferences [1].
Sun Microsystems, Inc. is a large, multinational corporation with engineering teams around the world, and a long tradition in building systems on open standards. Sun’s involvement in the usability of open source projects is a natural continuation of this strategy.
This field represents new challenges for HCI professionals. They have to meet corporate needs like consistency, documentation, support, and conformance to development processes [2]. On the other hand HCI professionals need to interact with engineers worldwide and evangelize usability to an unseasoned community.
This paper examines our current experience from the NetBeans, GNOME, and OpenOffice.org projects.
NetBeans is an integrated development environment that provides the foundations for Sun’s Java development tools. It was one of the first open source projects started at Sun in June 2000.
Sun is the main contributor to NetBeans, and the only HCI contributor. The biggest accomplishment of the NetBeans HCI group has been establishing a user interface specification document as part of the development process [3]. Such documents now describe the detailed interaction and visual design of the majority of new features.
Sun’s HCI group performs regular usability studies of NetBeans, and publicizes the results. Usability issues are given equal importance to functionality bugs, and are tracked in the same database. Graphics such as splash screens, icons, and other artwork form a large part of the project, and are contributed exclusively by Sun’s designers under an open source license. Sun’s user experience contribution also includes accessibility, localization into Japanese and Simplified Chinese, as well as documentation.
What are the biggest challenges?
Sun has contributed usability resources to GNOME, a free, cross-platform desktop environment, since August 2000.
Sun’s first major input was a usability study of GNOME 1.2 [4]. This offered the first feedback that many developers had received from real users, and the impact was profound. Consequently, the community formed the GNOME Usability Project (GUP), a cross-community group of HCI practitioners and students. Four of Sun’s usability staff have served in this group, one role of which is to publish the GNOME Human Interface Guidelines [5]. Developers have been quick to adopt these guidelines, partly due to the GNOME Release Team’s decision not to ship applications with too many open usability bugs.
As with NetBeans and OpenOffice.org, accessibility is an increasingly important aspect of GNOME usability. Sun designed the GNOME accessibility framework on which several innovative assisitive technologies are now being built [6].
Finally, Sun has written or improved much of the GNOME user documentation, translated it into several languages, and returned the results to the community. So what challenges remain for GNOME and the usability professionals who wish to contribute?
Sun is the main contributor to OpenOffice.org, the leading office application on Linux and the main competitor to Microsoft Office. The project was open-sourced by Sun in October 2000. The differences between OpenOffice.org and Sun’s StarOffice are unimportant in this context – StarOffice features are ordinarily incorporated into OpenOffice.org, and vice versa.
The StarOffice User Experience Team includes professionals from all fields of HCI, including GUI and interaction design, usability engineering, linguistic expertise, accessibility, and globalization. The latter is especially important, as OpenOffice.org is localized into more than 30 languages.
The requirements for a release of OpenOffice.org come from several sources. Sun’s marketing team gathers the product requirements from business customers, while the open source community files requests for enhancements in the bug tracking system. In general, the development process follows Sun’s product life cycle: the Product Requirements Document is succeeded by the Product Concept Document (PCD). The PCD is discussed heavily in community newsgroups because the PCD represents the agreement of the features that will be addressed in the next release. The annual OpenOffice.org conference also offers many opportunities for vivid discussions between Sun and members of the open source community [7].
The StarOffice User Experience team also plays a major role in the next design phase: writing specifications. These describe in detail the new features and design changes for the user interface. As with source code, these documents are contributed back to the community [8]. The design process is supported by internal Sun usability studies, and external studies conducted by, for example, HCI students [1].
Although usability is still a relatively new concept for open source projects, it is starting to exert some influence, for example, in the form of studies and guidelines. A number of challenges remain to be met, however, many of which are common to all open source projects.
We believe that defining and integrating a suitable usability methodology into open source processes should be the first priority. It is also vital for each project to agree on its target audience, and to specify a clear and preferably centralized decision-making process.
Ultimately, it is in the open source movement’s fundamental interest that its systems are widely-used. The contributions of HCI professionals are essential to gain market share and to find the way to the user.
“The last morning of CHI I went to a talk on professional usability in open source projects, which was a pretty good, though simplistic, summary of the various papers and blog rants I've read on the topic over the years.”