Thursday, May 1, 2014

Usability Themes in Open Source Software

For about the last two years, I've been working hard on my Master's degree. This was an interesting program, M.S. in Scientific & Technical Communication. I had a lot of great classes, including a directed study in Usability, in which I explored Open Source Software & Usability. I expanded this into my Master's capstone project, "Usability Themes in Open Source Software."

It is my pleasure to share my capstone project with you:
Note on the different versions: When I generated the EPUB ebook, I fixed a few minor formatting errors from the PDF. The MOBI ebook is a conversion from EPUB.

7 comments:

  1. I downloaded and read the pdf. Cool that you opened with a quote from the Tao of Programming and closed with a dedication to Sara. It's good to hear that the two of you are still together.

    As to the stuff in the middle of the paper: Thank You for suggesting that programmers actually do usability testing, even if it's informal or small-scale.

    I've suspected for a while that nobody does usability testing, even in more formal environments. I don't remember anybody doing usability testing at 3M for their internal applications.

    But I think the reason why some programmers avoid questions of usability is not simple lack of interest or oversight. We programmers learn quick that designing for usability is painful! You ask 6 people in a room how they expect to pull a record from a database, and you get 6 different answers. 1 or 2 answers may be quite novel. And because you asked their opinion, they expect it will be respected and implemented. Ugh.

    I found it interesting that nowhere in your paper were the words "right-click". I would not be surprised if you told me that none of your testers thought of that to accomplish their tasks.

    Your subject of usability would suggest a prior step of following UI standards for appearance and operability; do you have any thoughts on this?

    Very interesting!

    ReplyDelete
  2. Thanks Larry! I've also suggested elsewhere (including this blog) that developers should start with a prototype. Work through a paper version of the interface, or create a simple mock-up image or screenshot so you can see how users would interact with that interface before you get too far into coding.

    Usability is perceived as hard, and I used to think that way too. But after working on this project, I realize that usability isn't very difficult at all. You can learn a lot about how people use a system by just watching them use it. And you don't need very many testers to get a good idea of what is working well and what needs to change. Even as few of 5 testers will give you enough information to provide useful usability feedback.

    Of course, a usability test is different from what you describe. It sounds like you are talking about a focus group on new functionality. That's a "blue sky" discussion about what users might like to see in the next version. You are likely to hear all kinds of things in that kind of discussion. But there are ways to focus a discussion to get useful information, so people can prioritize the new features for you. We do this all the time in my meetings with campus, when I query different user groups for the biggest technology needs on campus. For example, I use an affinity exercise to help focus the discussion. You get all kinds of suggestions, but the affinity exercise helps to identify the big takeaways.

    ReplyDelete
  3. "I found it interesting that nowhere in your paper were the words "right-click". I would not be surprised if you told me that none of your testers thought of that to accomplish their tasks."

    Actually, quite a number of testers used right-click, especially in the file manager (Nautilus). This is probably because most of the testers were Windows users, and Windows users have become "trained" to use right-click in the file manager.

    ReplyDelete
    Replies
    1. I envy you for your users.

      My latest adventure has landed me at a public school district in Hastings, MN. Since Windows has featured right-click as a basic UI interaction for only 19 years, many of my clients have not yet acclimated. Indeed, many still have trouble using the Start menu.

      Delete
  4. "Your subject of usability would suggest a prior step of following UI standards for appearance and operability; do you have any thoughts on this?"

    In my conclusions, I provide 5 themes of successful usability. One of those is that programs should look and act like other programs on the same system - so a Mac program should look and act like other Mac programs, a program for Windows should look and act like other Windows programs. (Left unsaid is that if you make the same program available for another platform, you should "tweak" the interface to look and act like other programs on the other platform.)

    This does suggest that developers should follow UI standards for the platform they write for. For example: if you are writing a program for GNOME, you should look at the GNOME Human Interface Guidelines so that your program looks and acts like other GNOME programs.

    ReplyDelete
    Replies
    1. I think you hit the target right in the middle, but I was trying to bring up issues both shallower and deeper than that.

      By shallower I mean developers cannot always agree on what the basic widgets do. Browsers are great examples of this. Opera shows me an icon in the window's upper-left which activates the Control menu (with Minimize, Maximize, Close, Move, etc.) IE hides the icon, but you can still click the upper-left to get the Control menu. Chrome hides the icon and provides no response to a left-click. There are other examples (such as the drop-down list that selects an option on one screen, but triggers an action on another,) but I fear I've already grouched enough at the kids on my lawn.

      By deeper, I think about programs that have tossed aside the traditional menu bar in favor of ... whatever they invented. Or even OSs that have so completely changed how the UI functions that a single upgrade comes with a steep learning curve. But I'm probly just being crotchety again. :)

      Delete
    2. I think since "the network is the computer" and doing everything in the Cloud (via a web browser), the web browser has started to become the new "desktop." At least, a lot of people (especially the browser folks) see it that way. And as a result, the web browser starts to implement its own standards. The reasoning is that if the browser is the desktop, then you don't need to respect the operating system desktop standards.

      But as we can see in my usability test in GNOME, users don't see it that way. They still want the web browser to look and act like other programs on the computer. So I argue that programs should look and act like other programs on the same system - so a Mac program should look and act like other Mac programs, a program for Windows should look and act like other Windows programs. That's a key component of usability.

      Delete