COM3375, Human Computer Interaction -- Spring 1999, Professor Futrelle

Details of Assignment #5, due at the beginning of class #5, April 27, 1999.


This assignment is a further elaboration of your ideas and plans for your class project for the quarter.

Developing your project can proceed iteratively. You can develop some ideas, refine them, discard some, add some new ones, etc. over the next few weeks as you home in on your project. There are a number of goals for your project, but the two major ones are:

  1. Develop a system using Visual Basic 5.0 that does some interesting task or at least develops a good HCI for a task even if you system doesn't actually do all the things that the task would require.

  2. Relate your system design to the various principles of HCI beyond obvious consistencies, many of which are built in because you're using VB. You may relate your design to the principles in our textbook, but you need to include discussion of a few references you find in the library or on the web that are relevant to your project.

For this assignment, #5, you are to produce four short documents, plus a few figures, if possible. Each document need only be about a page or a little less (single-spaced). The documents are:

  1. An Introduction and Overview of your project, describing what the system is to do and what HCI principles it will involve. This should be closer to half a page.

  2. A sketch of a User Manual for your system. This should include an outline or Table of Contents for you manual as well as a few paragraphs that are samples of the material you'll include in the manual, so I can assess the style and approach you will take in writing it.

  3. HCI topics and principles you'll be focusing on. I particularly want you to focus on short- and long-term memory issues -- what does the user know or is the user expected to remember at various points in the use of your system. What is the user's mental model of the system (see the note below). Include a few references and use the full and proper format for them. They may be identical to some you've found already, in Assignment #4.

  4. Programming strategies and details. Discuss how you'll use forms, dialogs, menus, files, databases, and graphics -- whichever of them you plan to use. Discussion of how your program will keep track of the system state, what various flags/parameters are set and used at various points in the interactions. How and what data might be stored in system variables or in files or databases.

Note on Mental Models:

A mental model is the set of objects, their properties, actions that can be done, as held in a person's mind. More abstract mental models might include a set of priorities or ordering of difficulty of tasks, memory of organization of things, etc.

Before doing a task, a user has a model of the task to be done, sometimes in very general form, e.g., "I need to write a note about mental models for the class web site." The user also has a model of the general approach to the task as well as some specific ideas about how to go about it -- "Open my site in CyberStudio here on my Mac, update the page and move it to the site." So the mental model can involve knowledge of the domain and tools and tasks as well as details of how to reach a goal.

Both long-term and short-term memory (LTM and STM) are involved in mental models. A user might hold in STM the fact that he/she saved a copy of the file within the last five minutes. They hold in LTM how to use a certain application or the file and directory in which certain information was stored a couple of weeks ago.

An important aspect of mental models is that different people may have very different mental models of the same topic because of their expertise or goals. A beginner might only know "save" and a CS person would know that the bytes are written to magnetic disk which is why the file copy is rather reliably stored. My model of updating a file may be very vague -- I wait until the file is opened before deciding what to do. Or it might be more specific -- I have a certain piece of information to add in a particular place -- all this modeled in my head before I start.

Some of the more interesting mental models arise in the use of metaphors. We might think of electrical current as "liquid flowing through a pipe" and an electrical resistor as a constriction in the pipe. One of the most famous metaphors that exist is the use of space as a metaphor for time. For example we say, "That's behind us now." or "We'll get to that down the road." or "Time marches on". So people can have a mental model of time that is based on their more concrete model of space. Famous metaphors in computer systems are pipes in Unix and pictures of file folders in GUIs.

Of course, a person's mental model constantly changes as they find out more (and forget other things).