Professional Usability
in Open Source Projects:
GNOME, OpenOffice.org, NetBeans

Calum Benson
Matthias Müller-Prove
Jiri Mzourek

Agenda

Our projects

Open Source software

Challenges of Open Source

Contributions to improve Usability

Conclusion

Open Source Software

Collaborative development

Communication in public

Ability to adopt the software to different needs

Distributed ownership of code

Does this imply ownership of modules?

Engineer(ing) driven

Several contributors vs. one major contributor

The integration of software cannot be achieved by committee, where everyone has to put in their own additions (featuritis again). It must be controlled by dictatorial artists with full say on the final cut.

Ted Nelson, 1990

Challenges

Attitude of developers

Communication is scattered between different channels.

Responsibility for the product rather than just for his code

Process – Early involvement of usability and clearly defined decision-making process

Defining the target audience – We assume that users on mailing lists are not typical users.

Usability Contributions (1/3)

Conduct Usability Tests

Public reports for GNOME and NetBeans

Form User Interface Teams

GNOME Usability Project (GUP)

StarOffice User Experience Team

NetBeans User Interface Project

Provide User Interface Guidelines

Gnome Human Interface Guidelines, 2002

NetBeans UI Styleguides

Usability Contributions (2/3)

Spread the Word

Online Chat: GNOME engineers and usability professionals use online chat (IRC) a lot for direct communication.

Mailing Lists and Newsgroups

Task Tracking System like BugZilla and IssueZilla work well for tracking UI issues and requests for enhancement (RFE).

Conferences: GUADEC, OOoCon, NetBeans Day

Usability Contributions (3/3)

Plan the Process

Defining the target user and collecting user requirements

Sun’s Product Life Cycle – Concept Document is base of development for OpenOffice.org

Commitment to a definite schedule

Specifications – public for OpenOffice.org and NetBeans

Conclusion

Integrating a suitable usability methodology into open source processes should be the first priority.

Providing usability know-how that leads to usable and useful products is a win-win situation for developers, the corporations, and the users.

Professional Usability
in Open Source Projects:
GNOME, OpenOffice.org, NetBeans

Calum.Benson@sun.com
Matthias.Mueller-Prove@sun.com
Jiri.Mzourek@sun.com

Screenshot shows a couple of the GNOME desktop preferences dialogs, localised into Dutch. (Not default theme/layout).

GNOME is a desktop suite and development framework for Unix and Linux.

Sun joined the GNOME project in August 2000

to provide expertise in usability, accessibility, and documentation.

--

GNOME = GNU Network Model Environment = Desktop environment + development libraries

Project founded 1999

Sun joined because it needed a modern alternative to CDE on Solaris-- good choice because of Sun's history of working with open projects and standards.

Usability Professionals

Calum Benson member of GNOME Usability Project (GUP)

Screenshot of US version of StarOffice on GNOME.

OpenOffice.org is an office suite for Windows, Unix/Linux, and MacOS X

StarOffice is Sun’s commercial version of OpenOffice.org.

Open-sourced by Sun in October 2000

NetBeans is an integrated development environment for Java.

NetBeans provides the foundations for Sun’s Java development tools.

Open-sourced by Sun in June 2000

--

Usability Professionals

Jiri Mzourek – leader of NetBeans UI Project

UI Project exists from the beginning

Just Sun employees

– joined forces

Target Audience: User profiles, Personas

Attitude / Target Audience: Even with Sun's first GNOME usability test, a vocal minority insisted that the results were invalid because “all the participants were Windows users” (which wasn't entirely true, but the subjects were all new to GNOME/Unix). Likewise, developers have objected to the movement towards solid defaults and away from packed preference dialogs and ultra-configurability, claiming it was “dumbing down” the interface.

Exactly who GNOME's target audience should be has been debated ever since, and to this day it's primarily left up to each distribution to put their own slant on the desktop (e.g. JDS = aimed at windows users, XD2 = more of a macintosh feel, RedHat = enterprise users, debian = developers(?)).

Sun's first contribution to GNOME was usability test. First large-scale feedback that developers had ever had from users outside of the project. Consequences:

- Formation of GNOME Usability Project – intended to be a 'UI consultancy' for the GNOME project.

- Publishing of Human interface Guidelines (partly based on JL&F)

- Addition of “usability” keyword to bugzilla – allowed usability issues to be filed alongside functionality bugs for the first time.

- UI review of entire desktop now carried out by GUP prior to each point release-- only UI changes recommended during this process are allowed to be made prior to the release.

Usability Testing is a field where universities and students can contribute to Open Source Projects like U of Berkeley for OOo

NetBeans UI Styleguides are based on Java Look and Feel Design Guidelines

GNOME:

- Mailing lists: usability mailing list was set up at the same time as GUP. However, it's still primarily 'regular developers' who contribute and discuss issues (since they far outweigh the number of users and usability people who use the project mailing lists), and there is no recognised decision-making process, so there is quite a high signal to noise ratio.

- Bugzilla : all usability issues are marked with 'usability' keyword and copied to all GUP members for comment. In general they are treated with the same priority as functionality bugs. This is successful because discussion is much more focused than on mailing lists, and a decision-making process is in place: in general, at least two members of GUP must agree on the solution to any usability issues. Also has the highest proportion of input from regular users, as GNOME comes with a simple GUI for submitting issues/bugs to bugzilla.

-IRC: used successfully to communicate in real-time with non-local developers and other members of the GUP. Less useful for online 'meetings' (as were originally tried by the GUP) due to timezone issues, 'talking' over each other due to network latency etc., and not a great place to meet 'regular users' as it's still quite a technical/intimidating technology and no IRC client is part of core GNOME desktop.

Mail and News is “one-way communication”

Conferences offer opportunities to get in touch with users, but they are mostly for developers and marketing.

GUADEC – June 2004 in Kristiansand, Norway

OOoCon – September 2004 in Berlin, Germany

NetBeans Day – June 2004 in San Francisco, CA

community members /= target audience

A lot of similar issues like in closed source, but taken into extreme

Some new challenges, but also new opportunities!

Matthias Müller-Prove

2004-03-31T12:30:30

Matthias Müller-Prove