Pondering the preliminary results of OSS usability research, Part 1 - Port 25: The Open Source Community at Microsoft
< Back to Blogs
Pondering the preliminary results of OSS usability research, Part 1 by Paula Bach on August 01, 2007 03:35PM

In my last blog I talked about interdisciplinarity and multidisciplinarity and a little bit about my research this summer. In part 1 and 2 of this blog I am going to talk more about the research I have been doing here at Microsoft. Over the last few months I have been looking at a phenomenon called usability expertise. Anybody who has had difficulty using a product has some experience with usability expertise. Usability expertise is knowledge about how to design an artifact to ensure users experience product effectiveness, efficiency, and satisfaction in a specified context of use. Even if people are not experts in Human Computer Interaction (HCI), they can experience a lack of usability expertise in the design of the product.

HCI experts are actually quite rare because the field is young and underdeveloped. The field of HCI is newer than computer science. HCI grew out of computer science about fifteen years after the software engineering crisis in the sixties and although Human Factors is about fifty years old, it has not necessarily been linked to software engineering like HCI has. Software development has included a user interface role to design and develop the human-computer interface, and although some companies still employ user interface developers, HCI experts include UI designers, Usability Engineers, User Experience Researchers and Designers, and Interaction Designers—roles that go beyond the interface and include field research, visual design, and lab studies, for example.  

Although the obvious place to look for usability expertise is in the knowledge of HCI experts, I am interested in what role this expertise plays in software development. Just having HCI experts available is not enough to ensure good usability. I want to know who has usability expertise, how it is communicated among project members, and how it is used to make decisions. To find these things out the research looks at both proprietary and open source software development settings. What I am reporting here is an overview, or summary, of preliminary findings. I am still analyzing the data and will publish “official results” in the next year and a half while I work on and finish my dissertation. The research seeks to understand the role of usability expertise in software development and takes that understanding to inform the design of a feature or tool on CodePlex that will support usability expertise for projects interested in making sure their software is usable by their intended user base.

Usability expertise in the context of design is related to design rationale, or more specifically usability design rationale. Design rationale is the "the capture, representation, and use of reasons, justification, notation, methods, documents, and explanations involved in the design of an artifact" (from the book Design Rationale by Moran and Carroll). Since design rationale is a well defined concept that has many details, its presence in real design discussions may be fragmented. This fragmentation might be better understood as usability expertise. So a rough definition of usability expertise might be the “stuff” needed to talk about and make decisions about usability during software development. The “stuff” could be the elements in design rationale or something people have not talked before. In this sense my discoveries made while investigating the role of usability expertise could be groundbreaking or they could be well known in the software development communities. Either way reporting the findings of the role of usability expertise should be interesting. In fact, several people, both at Microsoft and the open source communities I surveyed have already stated that they would like to see the findings, so this is encouraging.

I am collecting data in a number of ways: surveys, interviews, and observations. I surveyed people at Microsoft who are part of the software development process of a project, namely usability experience researchers and designers, developers, and program managers. In the open source world I posted the survey to major projects who met criteria for overtly caring about usability, namely that they had a usability list and at least one person listed as a usability expert. The Microsoft usability expertise survey is still collecting responses, and although I am still working with the data on the open source survey, I can mention a few things.

In the open source survey, fatigue affected about half of the 125 respondents with 56 making it to the last question. The survey had two open ended questions asking about the importance and challenges of usability in open source. Usually open ended questions are best saved for the end after other more important questions are answered. The tradeoff was that the open ended questions were important and that the survey could have biased the open ended responses if they were at the end because the survey included questions that asked about specifics with the importance of and challenges with usability.

Data clustered around categories of ease of use, simplicity, and consistency for usability importance, with each category claiming about a quarter of the responses. About 10% of the respondents stated that issues related to system performance were important for usability. Usability challenges included about a quarter of the respondents reporting that challenges with usability in open source software development were developer based. This included not valuing usability, not having usability expertise other than self-referential (based on own experience), and communication problems related to common ground. Common ground is when two people reach a mutual understanding such that one person knows that the other person knows that the first person knows. Common ground is more difficult to reach in computer-mediated environments than in face-to-face environments because not as many channels exist to help with understanding—in face-to-face you can use people’s expressions and gestures to help you understand what they are saying. Other categories included lack of resources and lack of process (both at about 10% of the responses). Other questions I am asking the data include the following:

1.    Who has usability expertise?

2.    How is usability expertise communicated?

3.    How is usability expertise used to make decisions?

4.    Who cares about usability expertise?

5.    How available is usability expertise?

The data may not be able to answer the above questions in full, but it will get me closer to asking different questions that may be more relevant to the data. I am conducting interviews which may also be able to address the questions and get at depth surveys cannot.

I have been scheduling and conducting interviews with Microsoft people and will report on those preliminary findings in the next blog. I will conduct the open source interviews via video conference when I get back to Penn State. The open source usability people I am going to talk to are all over the world: US, Canada, Germany, Australia, and France.

I have also been observing three open source projects looking at email lists and other interesting things like conversations in the bug tracker, how a usability issue is handled in the bug tracker, and reading UI specifications. I chose three ‘big’ open source projects that attend to usability. I wanted diversity in the projects and a wide user base. I spent 8 weeks observing the workings of usability in Firefox, KDE, and OpenOffice.org. The discussions on the email lists vary considerably. Some are short and polite with a developer inquiring about the usability of a particular design change or feature he is thinking about. Others are heated and get users, developers and usability people involved trying to hash out the merits of a feature.

The most often used design rationale, or type of usability expertise, is self-referential. The people on the lists, and in the beginning mostly users or user/developers respond to the feature proposal, speculate about the usability of the change based on their own experience. Since most of the users on the lists are advanced or power users, this might not be representative of the main user base, at least for the three projects I was studying. I don’t know if they have any data about the user base, but it may be that the email lists are only one input to the decision making about usability of those projects. Despite the openness of the discussion list and other aspects of the development, there are other decisions that are made ‘behind the scenes’. Possibly, the ‘behind the scenes’ usability expertise that contributes to decision making about which usability fixes to include in the next release is similar to how proprietary usability expertise is used in decision making. This is something I will consider when investigating the role of usability expertise in both environments.

Comments RSS
  1. einhverfr said:

    This is actually a huge set of questions. Although I was not invited to take part in the survey I will offer my feedback as it relates to LedgerSMB, the largest open source project I am involved in. Usability is a particularly complex problem for LedgerSMB because the usage cases can vary substantially from one customer to another, thereby forcing us to separate usability concerns from the rest of the code. ERP solutions are funny that way. Usability issues also frequently get a lot of heated discussion on our lists for a number of reasons, but this is freqently related to the above problem. In our project, the core team does not include anyone with a formal background in user experience. I have done some testing for Microsoft and did pay attention to user experience issues there. Chris M has built a large content management system for a major university. And other people have brought other aspects of the field to the table through their experiences. However, there is only one group of experts who we truly rely on: the users themselves. One strength of open source software development is that the developers and users communicate more closely than in other fields, allowing us to better understand their specific needs and usage/interaction cases. User interface and usability discussions happen on the -users lists, and occasionally get started on the -devel lists as well. When changes are made to the software, we generally make proposals on both the -devel and -users lists. This helps us determine what users think of the changes, whether there are technical merit issues, and the like. My approach which I believe is shared with the rest of the core team is that we need to empower all users to use the software as they see fit and hence every usability objection needs to be taken seriously even if it cannot immediately be acted on. Who cares about usability? We all do. This is why we sometimes have heated arguments over some issues. How available is usabiity experience? Users have experience with this software and generally bring in experience from other applications. They are the experts but are not infallible (sometimes they want to do things which are mathematically wrong and our job is to find out what they really want and determine how we can get it to them in a way which is mathematically right). So while formal expertise is generally lacking, everybody has some experience in the field and out of that discussion comes an attempt to deliver a better, more usable package. BTW, one other issue we have is that our target user base is unusually broad, comprising everyone from people who want to do all admin stuff from the command line to those who want to have a simple point-and-click installer. Because this is a server/client application which is marketed to everyone from mom-and-pop shops to midsize corporations, we have to deal with a wide range in desired user experiences. I am sure you can appreciate the challenge.... (i.e. we compete with everything from Quickbooks Basic to Sage 500, MS Dynamics, and the like).

    posted at 02:29PM 08/14/2007
  2. Thanks for the feedback. I have some comments. Have also seen that in OSS people, developers and users alike, care about usability. This is different from the early days of software development where nobody really even knew about usability. In this respect usability has come a long way. I have also seen a lack of formal expertise, and is projects where formal expertise is present, it appears not to be present in ways that are optimally effective. For example, usability experts make comments about the design changes or usability bugs, but may have to find a developer to make changes. And even if a developer is available and agrees to code the change, it has to make it into the bug tracker and through QA, and so on. So even the most agreed upon, glaring, usability issue might not get fixed. Users are no doubt an excellent resource for finding and reporting usability issues. However, it may be that the most affected users are not the ones on the -user lists. Also there is a dimension missing. We usually learn much when we can observe users in the field because self-reporting can sometimes be difficult to interpret, which is related to what you say about users doing things that are mathematically wrong. In the same way, context of use can make a usability issue more or less severe for any given user. I have also seen heated arguments about proposed changes that might affect usability. These arguments are good because they often result in a list of rationales from which design tradeoffs can be debated and decided upon. I would be interested in talking to you further about your experiences with usability in LedgerSMB. If you are willing, please go to my website and email me.

    posted at 11:20AM 08/24/2007
  3. mjmartin said:

    It's very interesting that einhverfr mentions accounting packages. I tend to find them extremely unfriendly and I would consider myself an 'advanced user' when it comes to other software like MS Office, Apache, Linux, Windows, PHP etc. For me, all of these packages completely ignore a segment of the market: small business. We have a small amount of employees, two directors, VAT registration, dividends etc. Yet even today because we don't have the resources to hire someone with the skills (by skills I mean someone who can work QuickBooks/Sage etc), we're stuck doing the accounts in Excel. To me, Sage is aimed at the advanced accounting user with an Outlook-esque interface. QuickBooks tries to hold your hand too much but doesn't tell you enough about how it's treating your figures. 'GNU Cash' is more about personal accounting, like MS Money. In Excel, I can see exactly what the software is doing with our money. Interface design and usability in this area needs to be like MS Word 2007 - which enables me to go back and forth in the workflow rather than making me jump through hoops and generate 'reports' just to find out what our income/outgoings were since incorporation. Being a director of a software company is tough enough, having to deal with the complexity of accounting packages is not want I want to be doing with my time, I want to be writing code, pitching for tenders, supporting our clients/customers, not worrying that I tagged something as 'exempt' as opposed to 'zero-rated' or worrying about 'reconciling' etc. Sorry to moan about my gripes in a specific area but this is somewhere where both commercial and open source software has been truly negligent.

    posted at 12:15PM 08/24/2007
  4. Port 25 said:

    Developing software has been an engineering discipline with formal methods. The evolution of software methods has ranged from the now outdated waterfall method to formal specification languages with precise semantics. Despite having methodologies, software

    posted at 02:43PM 09/10/2007
Post a Comment
*
*