Usability and Open Source
The Linux Journal posted an excellent article today by Jim Hall about usability and open source software. Usability is far too often glossed over, or ignored completely in open source projects. Other times, usability is confused with design, and the thought that making something look pretty will have the same desired affect as making it easy to use. It is understandable that usability is often overlooked in open source projects. After all, developers already know how to use their own software, and are generally familiar with their chosen environment. Open source may well be about “scratching your own itch”, but if you would like your project to appeal to a wider audience, even an informal usability test could go a long ways.
In the article from the Linux Journal, Hall explained how he did a small usability test with a handful of college students. The students were mostly Windows users, and claimed to have little experience with computers. They were given a laptop running “Fedora 17 Desktop Edition”, and asked to perform a series of tasks with Gedit, Firefox, and Nautilus while Hall observed and took notes. The results showed that users were able to use each application to perform basic tasks, but became confused when asked to do something outside of the obvious functionality of the application. Users were able to navigate Firefox without issue, but had trouble changing the default font in Gedit, and creating a bookmark to a file in Nautilus.
The type of testing that Hall did is often the most useful, especially for developers. Users will do things with your application that you never dreamed of, and become confused with things that you think are as clear as the nose on your face. When I was in grad school we did usability testing using a commercial application called Silverback. The application would both record the screen and use the built in webcam to record the users face while the user accomplished the requested tasks. One of us would sit with the user and take notes during the session, and we would then review the video after the fact and count the number of mouse clicks and determine how much time the user spent accomplishing each requested task, or if they were able to accomplish it at all. The recording of the users face was extremely useful, especially when coupled with the notes taken during the test. Facial expressions would match up with notes like “seems to be confused on step 6”, and help show if and when in the process the user was becoming frustrated.
If you have never contributed to the open source community, this is a great place to start. Usability issues are bugs, the same as any other type of deficiency in the application. Anything that inhibits the user from using the software in the way they choose to accomplish the task at hand is a problem. If you are a developer, do yourself a favor and sit with an in experienced user and show them your software. Don’t teach, don’t coach, and don’t tell them where to click, just let them get lost and watch where it goes. You might find that you have a deeper understanding of your own project than you ever did before. If you would know your application, show it to someone else.