To many of us, the best-known open source software (OSS) project is the Linux operating system, which has become wildly popular for being free and versatile. Linux also has a reputation for being challenging, at best, for nongeek users. Frankly, even a Linux distribution that claims to pay special attention to usabilitysuch as Ubuntuis still a challenge even for reasonably knowledgeable users like me, for instance. Managing updates, removing programs, disk partitioning, even finding my files are less than transparent processes.
A few years back I was stunned to read an article on NewsForge, an online newspaper that focuses on Linux and Open Source, which acknowledged that maybe open source software just might have a usability problem. The author, Frans Englich, went on to declare that open source developers, having demonstrated their ability to solve any problem that they choose to tackle, could and should solve their usability problems on their own, without recourse to "outsiders ."
Englich went on to query, while opining (or whining) that what little usability knowledge was available in the OSS community consisted of mere opinions and anecdotes: "But if I want to learn how to write phrases understandable by users or what colors to use that still allow color-blind people to use my software or how to best name categories for efficient navigation, I can do nothing but listen to people’s opinions in the matter. Where is the open source community’s pool of facts and knowledge covering usability issues?"
Even commentators on the article agreed that usability is merely a matter of opinion.
At the time, I found myself wondering what remote desert island Englich lived on that he should believe, in 2004, that no solid, tested, reliable guidance on usability and interaction design was available to his community. I was astounded by the seeming arrogance that "we’re so smart, we’ll figure it out ourselves!" As if OSS developers have no access to a good bookstore or to any of the many excellent Web sites that provide the results of years of research and testing in usability and interface design. There are dozens (hundreds?) of good books, free online resources, associations such as UPA and SIGCHI, and so on. Can’t open source developers afford to buy a book or access a free resource on the Web? What’s the problem? One wonders if OSS teams ever considered finding a Web designer or usability expert to ask if there might be standards that could be shared.
Part of the problem might well be that human factors engineers and usability experts have little incentive to join an open source project. But there’s no lack of literature on usability and open source; one would think that such attention would indicate an interest in getting involved. Open source has become mainstream, with support from Sun, IBM, and other corporations that contribute code and legitimacy. Are corporate supporters providing usability testing and interface design resources, or just code? The results reflect poorly on them if the OSS product is not usable! In addition, release of Web widget libraries and UI and patterns with consistent results enable reliable repetitive design. There’s no excuse today for claiming ignorance or lack of resources.
Meanwhile, I’m also wondering if there’s some connection between open source development techniques and the rise of agile development strategies and the related variations (extreme programming, scrum, and so on). Both methods rely on a team of developers turning out usable code on an iterative schedule with frequent internal releases, so that the product can be tested and refined. Iterative development has been effective in replacing the traditional waterfall development process (design, build, test, release) with what I call the shampoo method: Lather, rinse, repeat. Or, as Leisa Reichelt puts it, "waterfall bad, washing machine good ."
Unfortunately, the similarities between open source development and agile development don’t end there. They also seem to share a certain distaste for contributions from interaction designers, usability engineers, and even information developers. Despite claiming to seek multidisciplinary teams of broadly talented people, the talents of those who can improve usability and user acceptance up front often go missing. Too often the team presumes that all the skills required are already present among team membersafter all, they’re all computer users and learned how to write in school, so they know what users need and how to write help for them. What more do you need?
Fortunately for agile development, many of the companies into which agile is making inroads already have user-experience departments, usability labs, and teams of professional technical communicators who are already tasked with making attractive, effective, and usable interfaces with helpful text and even assisting in guiding development of the interactions that will be exposed to users. These same talents are available to open source teams, if the right opportunities and incentives are in place.
Fortunately as well, open source software development has not gone unnoticed and unstudied. Papers and workshops from CHI 2002, 2004, 2005, and 2006 addressed various aspects of OSS and HCI. And a lengthy, thorough study by Nichols and Twidale [2, published in First Monday in 2003, provides considerably better analysis and recommendations than I could ever achieve hereI recommend you read it before we delve into the current state of open-source and HCI in the November-December issue of <interactions>. Join the fun.
Note: It was Human Factors International that said "Usability is free" on one of their buttons: http://www.humanfactors.com/downloads/hfibuttons.asp
About the Author:
Fred Sampson is a senior member of the Society for Technical Communication (STC), past president of the Silicon Valley Community of STC, and current vice president for finance of ACM SIGCHI. In his spare time, Fred works as an information developer at the IBM Silicon Valley Lab in San Jose, California. He can be contacted at email@example.com.
©2007 ACM 1072-5220/07/0700 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2007 ACM, Inc.