CS 4753 -- Human Factors in Software Development

Assignment 1: Usability Evaluation

Due November 4


Part 1 -- Questionnaire Design

Objectives

In the course of their professional careers, computer scientists will often be faced with the task of gathering data from future users of the computer systems they are planning to build. These instances of data gathering will grow as the use of computers spreads to a larger audience, as the tasks that computers are applied to becomes more extensive and as the requirements for well designed human-computer interfaces grows. Without training in data gathering techniques, the computer scientist is left in a position of potentially designing questionnaires or conducting interviews that, at best, provide no useful data, and at worst, give erroneous information.

This component of the assignment is designed to give you practice writing, testing and administering a questionnaire to a true user population. Although it does not train you in the very fine points of questionnaire design, it does alert you to the basic problems in obtaining valid responses from humans.

In addition to practice in valid questionnaire design and questionnaire administration, the assignment asks you to focus information about a user interface to a computer system. Its intent is to help you develop probing skills (through good question design). These skills can then be used to find out what failures and successes users are having with a system and even the underlying causes for these successes and failures.

Directions

This part of the assignment will have 7 steps. They are:
  1. Selection of a computer interface/system as your topic area.
  2. Selection of an existing interface to study.
  3. Preparation of a draft questionnaire (1-2 pages).
  4. Piloting of the draft questionnaire.
  5. Preparation of a final questionnaire.
  6. Administration of the final questionnaire.
  7. Analysis of the results.

Description of Study Problem

You are being asked to develop a questionnaire to find out information about a user interface which relates to the interface design you will be asked to develop in the series of course assignments that follow. The first task for you to do is to select the user interface you intend to develop. Once you have selected your design task, you will be in a position of collecting information about potential users of the interface.

One of the methods of collecting this information is to look at existing user interfaces that have things in common with the interface you are designing, i.e. the computer program accomplishes the same or similar tasks, or you believe that the task that the program supports is in many ways similar to the task you will be supporting with your interface design. For example, if you were building a design for an interface which helped users find out which books were available in the school library system, you might look at the existing interface for accomplishing this task.

In selecting the interface you will design in this course, it is important not to make the interface too big or too complicated. Designing a word processor is out of the question. You will also later be developing this interface with a graphical prototyping tool, so choose something that you believe will be tractable to build.

Below are some potential interface designs to examine. Feel free to come up with your own ideas too.

The type of information you are to obtain about the user interface through the careful design of your questionnaire is the following: Unfortunately, the questions above can't be used directly because they won't generate very good answers. Question 1 is too ambiguous. Question 2 is much too broad to get useful answers. Question 3 is too difficult for new users. Question 4 is again ambiguous and users do not have the information to answer question 5. Also, since the amount of difficulty a person has with the system depends on that person's previous experience, whether they are computer science majors, whether they are highly motivated, whether they have a good friend who is helping them out a lot and whether they are very intelligent, questions have to be asked about all these factors as well.

Design a questionnaire to administer to the users of the system of your choice. Administer that questionnaire to about 3 compatriots to determine if they understand the questions in the same way you meant the questions. You do this by giving them the questionnaire to fill in and then asking them what their answers mean and what they thought your question meant. (This is called pilot testing the questionnaire.) Once you have received feedback from your trial respondents, use this to redesign your questionnaire. If the design changes drastically, it is a good idea to test your questionnaire again on a couple additional friends.

When you feel your questionnaire has been tested enough and will work on the targeted set of users, find 4 or 5 users who fit the eligibility requirements for your survey. Ask these users to fill out one of your questionnaires. (We wouldn't use such a low number of respondents in a real study, but it's OK here.)

Summarize the data collected from your questionnaires. The structured question answers are usually presented as percentages, e.g., 25 percent responded ``strongly disagree'' to the question, ``Should the system always have menus available?'' Often the percentages are presented across demographic data, e.g., ``30 percent of the women and 35 percent of the men would like to have less commands to learn.'' A clear way to present this information is in tables.

Use the data results of your questionnaire to suggest changes that might be made to the user interface to make it easier for users to learn and use the system. These can be changes in manuals and training as well as detailed changes to the interface commands and the documentation.


Part 2 -- Observing Users

Objectives

The objective of this component of the assignment is to give you practice in evaluating human-computer interfaces. This practice is intended to help you develop evaluation criteria appropriate to particular interfaces you may be designing. The evaluation, in turn, can guide future design decisions.

This part has three sub-objectives. The first of these is to give you practice in the detailed observation of users at work with interfaces. Analysis of the user behavior is intended to give you skills in observing humans at the micro-level needed for understanding user problems.

The second sub-objective is to alert you to very basic differences in user behavior and to the multiple ways users will interpret information presented to them and generate what is to them, very intelligent guesses about what is needed to use the interface.

Once of the basic assumptions that humans have about their counterparts is that we all think alike. This is far from the truth, especially with the differences in skilled training that occur in today's society.

The third sub-objective is to give you practice in distinguishing between the functionality of a computer system and its usability. The computer system may do all the tasks that the user needs to perform with the system, but the user may be required to organize the steps to perform these tasks in an order which is extremely foreign to the way the user thinks about the tasks.

Note: This part of the assignment is focused only on the usability analysis of the interface not on the functions that might be needed for the new design. It is assumed that this functionality was captured in the first part.

Directions

This portion of the assignment will have 3 steps. They are:
  1. Develop at least 3 criteria for evaluating your existing analogous interface.
  2. Conduct the evaluation of the interface.
  3. Analyze the results of the evaluation.

Hints for Selecting Evaluation Criteria

Below are a series of suggested evaluation mechanisms that you might consider in performing this assignment. The list is far from complete and although you are welcome to use these hints, it is important to develop your own criteria as well.

LEARNING:

TASK USABILITY: DOCUMENTATION: OVERALL USABILITY:

Hints for Implementing Evaluation Criteria

In addition to setting up the evaluation criteria, you must use it. Here are some hints for implementing the first LEARNING item into evaluation tests.
  1. Set up a test to see how long it takes to learn part of the user interface:

    Build a set of tasks, e.g., in searching for books in the card catalog system, it might be handwritten notes on titles, authors and subjects to look at in researching a course paper. You would learn a subset of the system's commands. Do this by mentally rehearsing the command set. Time yourself. When you think you have mastered the command set, look at your set of handwritten notes and write down beside each one, the set of commands you would do to perform the search. Try to do the same thing the next day.

    Have one of your colleagues from class learn an equivalent set of commands for the another tool. The colleague should perform the same tests on the same set of commands. Compare the times and errors.

  2. Measure how many things there are to learn:

    List a set of basic tasks that your analogous interface must do for anyone beginning to use it. Count the number of commands you will need to learn to perform these tasks.

    For a more detailed measurement, add 10 to your count every time a different format for the command needs to be learned.

  3. Measure how easy the commands are for novices to learn:

    Teach a friend who knows nothing about computing two of the interface commands. Ask them to explain how the commands work after you feel that you have adequately described the command. Ask them to describe as many situations as they can in which they believe the commands can be used. Write down any conceptual errors they make in expressing their understanding of the commands.


What to Turn In

The results of your questionnaire and usability examination must be written up and submitted by the specified due date. Only one report should be turned in per team. Within the team, you must negotiate how much work and which tasks the different individuals will be responsible for. The grade you receive will apply to all team members. The members will be polled, however, for their opinions on how much each individual has contributed to the team. We reserve the right to adjust individual scores with respect to this feedback.

You will be using HTML and the WWW to write up your assignment and submit it to us. Your write-up should be the equivalent of about 10-12 pages when printed out in hard-copy. DO NOT make your write-up much longer than this. On the specified due date, turn in a hard-copy of the report and also a path to a readable version of the file(s) involved in the report. We will copy these files over to the class file space for safe keeping.

With respect to the first part you should include:

In regard to the second part of the assignment, you should include: Items such as the actual questionnaires, figures, references and materials of that type can be included in an appendix, and need not be counted against your page total.

What you will be evaluated on

You will be judged on both the content of your submission and its presentation. In terms of content, you will be judged on creativity, thoroughness, adhering to good human-computer design principles, etc. We will judge how good your questions were, and whether they were well planned to elicit the type of information you sought. We will evaluate whether the evaluation and tasks you ran were appropriate. The success or failure of your experiments don't really matter (whether the interface was ``good'' or ``bad.'') What matters is if your evaluation process was well-designed to uncover the type of information you were seeking.

In terms of presentation, you will be judged on quality of writing, expressiveness, and grammatical correctness. It is important not only to conduct the right types of usability evaluations, but also to do a good job of communicating your techniques and methods.