CS 4753 -- Human Factors in Software Development

A Summary of the Interface Design Project

Written by Drew Kessler


Project Overview

Designing a new interface is generally not a quick and easy task. This is mainly because the relationship between a person's efficiency and satisfaction with a range of interface designs is not entirely defined. Current characteristics of interfaces are well understood, such as described by Fitt's law which describes the ability of a person using a mouse to select a target given the target's size and distance from the initial position of the mouse. We also know that in most cases, blue writing on a blue background is not particularly easy or pleasant to read. However, given an interface that satisfies most conventional user interface guideline, there is as yet no computer algorithm to determine that interface's usability. Basically, people are complex creatures who have very different experiences and ideas that they bring to the task at hand. The most accurate method of judging an interface's usability is to try it out on people who will use it, or people with the same characteristics of the people who will use it. It is usually the case that the intended user will do something completely different from what you expect. Getting an interface right the first time is about as likely as winning that big stuffed bear at the amusement park throwing softballs at beer bottles.

The biggest frustration that comes from trying to win the stuffed bear occurs when you realize that the game is heavily rigged against you. Similarly, the game of user interface design is usually heavily rigged against you. The biggest frustration of user interface design can come from designing exactly what the target users ask for, and discovering that they do not perform much better than before, or are still not particularly happy with the interface. Often target users are not aware of fundamental usability problems with the interface they have in mind or the one they currently use, or they are not good at communicating their ideas to the designer.

In this project, you will be designing an interface for a computer application of your choosing. As a reflection of the difficulty of this task, the project is divided into three parts which, collectively, will take a school quarter to complete. As a reflection of the difficulty of finding out what the target users' want and need, and the importance of determining those requirements for you design, one third of the project will be devoted to studying an interface which has a similar functionality to the application you have chosen to develop an interface for.

Interface Selection

Your first task will be to chose an application to develop an interface for. You can chose an application that already exists in one form or another, such as a class registration system, a library book search system, a plane reservation system, or a VCR show recording system; or you could chose an application that doesn't yet have a true computer interface to it, such as washer/dryer controls, an on-line catalog ordering system (a la Home Shopping Network), or a pizza ordering system. You should keep two things in mind, though, as you are thinking about which interface to design. First of all, you will need to test your interface on someone who can at least pretend to be a member of the target user population. Because of this, an interface to controls to an airplane might not be a good choice. Second, you will need to identify an existing interface that provides users with a similar functionality to the application you are developing an interface for. In addition, you will need to observe people using that interface. For this reason, choosing an application that already exists and is commonly used by college students or fellow office mates will make life simpler for you. As this is an exercise in interface design, and exercises tend to operate in the most rosy of worlds, you may assume that your interface design can use the best computer hardware available to you (color workstation with mouse, and perhaps sound).

Assignment 1

After you have identified the interface you wish to design and the comparable existing interface, you are ready to start evaluating the usability of the existing system. To that end, in part one of the first assignment you will develop a questionnaire to evaluate the existing system. The purpose of the questionnaire is to determine what users like about the existing system, what they dislike about it, and what gives them the most difficulty. If you have some specific ideas as to what interaction styles you would like to use in your new interface, you will want to include some questions on the questionnaire to determine user's reaction to your ideas. (If you find out your users occasionally work in a crowded computer lab, then perhaps having users enter their password by voice input would not be a good use of the voice input interface technique.) Be sure to find out what the existing interface gets right in addition to finding faults in the system. No use reinventing the wheel if a change isn't crucial to your new interface design.

Questionnaire design is almost as thorny a problem as interface design. You will want to prepare at least one draft which you try out on a friend who is willing to give you an honest opinion. Avoid at all costs leading questions and multiple choice questions with vague or overlapping choices. In addition to what is presented in class, helpful guidelines can be found in ``Questionnaire Design'' by M. A. Sinclair and ``Some Quantitative Considerations in Questionnaire Design and Analysis'' by F. R. Brigham. Keep in mind that you will want to keep your questionnaire short. Make sure that each question answers or contributes to the answer to a question you have identified as a way of evaluating the existing interface or collecting reactions to ideas for your new interface (take especially great care in not asking leading questions here).

After ironing out the problems in your first draft, administer your final questionnaire to a group of people. If your user population is all Georgia Tech students, go to the student center with a pile of questionnaires and ask people if they have 5-10 minutes to answer a few questions about . Be sure to tell them you are evaluating the interface, not testing them. People who are eating lunch (especially if they are alone) usually don't have anything better to do, and will be willing to help. If your population is computer users, do the same in a computer lab. Classmates will probably be the most willing to help, but they might have too much computer experience to provide an accurate evaluation of a computer system as seen by the user population.

From the questionnaire in the first part of this assignment, you should have good idea of what the users of an interface like about it, dislike about it, and what they have problems with. The purpose of the second part of the assignment is to demonstrate the usability of the existing interface, and the consequences of what is wrong with the interface. By this time, you should have a good idea of what the overall design of the new interface will be. What you would like to do is demonstrate that the differences between your new interface and the existing interface address specific usability problems or issues of the existing interface. Decisions about how your new interface will look and feel need to be based on some information as to how users will use the interface, and what will be best for their attempts at completing the task they are trying to do. The second part of this assignment is an opportunity to provide that basis.

In the assignment you will identify a few criteria with which to measure the performance of the interface's users, determine a few representative tasks that demonstrate the existing interface's characteristics in relation to those criteria, and perform a usability study using the tasks and a few representative users. The criteria should reflect goals of good usability: easy to learn, easy to recover from mistakes, easy to use, provides good feedback and state information, etc. Examples of criteria are time to complete certain tasks, number of errors committed, number of repeated errors, and number of attempts to get help (successfully and unsuccessfully).

Having identified the criteria, develop a few benchmark tasks that will allow you to obtain measures for those criteria. Kathleen Gomoll's article ``Some Techniques for Observing Users'' will be helpfully in determining your benchmark tasks and method of administering your usability test. Once again, the closer the people who you administer your usability test to are to the actual user population, the better your results will be.

In the report about Assignment 1, be sure to describe your new interface, the existing interface, and their relationship. Also, identify the questions your were seeking answers to, and what answers you got. Back these up with the results of the questionnaire. Remember that the reader is more interested to hear what the evaluation of the existing interface was than what the specific answers to the questions of the questionnaire were. With regard to the second part of the assignment, be sure to make explicit the relationship of the criteria to the tasks, and what the results of the usability study mean in terms of evaluating the existing interface, and in terms of what should be included in the design of the new interface.

Assignment 2

In the second assignment you will design your new interface, and implement that design on a design tool of your choosing. You should do your best to incorporate as much of what you learned from evaluating the existing interface into your design for the new interface. As you design your new interface, you will want to save periodic copies of the interface design: the first paper sketches and screen dumps of each stage of your computer interface design. As you create the interface using a user interface toolkit of some sort, be sure to avoid the pitfall of programming more functionally than needed. The purpose of the interface is to demonstrate the features that make it unique and potentially better than what exists already, to produce a complete working system.

When you have developed most of the design which contains the essence of the new interface, take a paper copy of the design (either sketches or screen dumps of all relevant screen states), and present it to a representative of the user population. Do a mock-up of a run through of the application to get some initial feedback on the design as it is. Leave some time to change the design if needed, because, as mentioned before, chances are it will need some changes.

In the write-up for the second assignment, be sure to demonstrate clearly that the design you have developed follows quite logically from the information gathered on the existing interface, or how the information gathered from the existing interface turned out to be misleading and why.

Assignment 3

The last assignment is a repeat of the usability study portion of the first assignment, except that the subject of the evaluation is the interface you have designed rather than the existing interface. If appropriate, you may need to add additional tasks or replace tasks to evaluate as much of the new interface as possible. You might want to make a comparison with the existing interface, though. In that case, you will want to perform the same benchmarks on both interfaces. Don't forget to give an exit questionnaire to your participants. You will want to know their characteristics (computer experience, etc.) to see if there are any correlations with the data you collect, and you will want to get some feedback on your interface. Chances are, even after all of your work, the participants will find a few things that they didn't like. It is important that you discover what those are, and in the write-up, comment on how you would deal with the problems identified in the next iteration of the design.