When users are working on a windowing system they engage in three
phases of interaction: Task environment setup, switching and task
executions (Figure ). Since users are typically
dealing with a number of tasks simultaneously, they can be in more
than one phase for different tasks and there are quite likely a lot of
switchings among tasks.
Task environment setup is the act of accessing pieces of information from an information source, opening windows for them, and arranging them on the screen suitably for the task. As an example, in order to setup their task environment, programmers examine their program directory structure to find the source code files related to their current task, open source code files in multiple windows and arrange them on the screen.
Since users are typically switching among a number of tasks quite frequently during the day, switching performance is also measured. Switching is changing the screen contents to an existing task environment setup to meet the information demands. For example, while the programmer is editing piece of source code a look at the specifications may be needed to check conformance.
Task executions are actions performed on information contained in open
windows in a task environment layout. An example is to search through
a number of source code files to find the cause for a certain bug in a
program. There are many types of task executions. For the purpose of
this experiment, I identified four basic task execution types:
Sequential scan, comparison, determine context + scan, and recall
context + scan (Figure ). Although they are not
claimed to cover all the task executions users do in a windowing
system, it is a very basic set of executions.
Sequential scan is looking sequentially through a number of information pieces to find a specific information, such as a function call in a program source code. Comparison is examining a number of information pieces based on one or more factors, such as examining a number of program source codes to determine the faulty one. It is different from sequential scan because programmers tend to glance back and forth among many source codes multiple times till they comprehend the distinctions well enough to make a conclusion. Determine context + scan is a filtering based on discriminating factor of information pieces to establish a context for further scanning. For example, once the bug is thought to be in a certain source code file, then scanning is carried out only for functions in that file. In recall context + scan, the context is not determined, but rather recalled based on previous interaction with the same pieces of information.
Each subject is tested on the information store of a hypothetical
student who is enrolled in two courses. Course materials, partners,
homeworks, correspondence with the professor, teaching assistants and
classmates are organized in a hierarchical structure for each
course. As a part-time worker in a computer software company, this
student is also responsible for two projects. Project materials such
as the program source code, documents, reports and correspondence with
the partners and the boss are organized in a hierarchical
structure. This student also has a number of other roles like the
organization of a birthday party and some duties at home
(Figure ).
User performance is measured on task environment setup, task environment switching and task execution on three degrees of task environment complexities: low, medium and high, represented by 2, 6 and 12 windows, respectively. In the context of the student role, the task environments have been chosen as follows: The low complexity task environment includes two documents of a course project, the medium complexity task environment includes six e-mail messages from the boss at the job, and the high complexity task environment includes twelve pieces of project programming code at the job.
Each subject performs task environment setup, switching and task
executions at all of the three task environment complexities. Subjects
are given a six session schedule
(Table ), where the order of task
environment complexities varies for each subject. Two task executions
are performed at each session, a total of 4 for each task complexity,
covering all the task execution types. According to the schedule each
subject makes 3 task environment setups, covering all three different
task environment complexities, 3 task environment switchings, and 12
task executions total. The same schedule is used for both of the
interfaces, but the task set is changed. According to
Table
, Subject 1 starts with the low
complexity task environment setup (i.e. (L) ). After performing two
task executions at low complexity, medium complexity task environment
is setup. After the two task executions at medium complexity the
subject is asked to switch from the medium to the low complexity task
and perform the remaining two task executions at the low complexity
task environment. The subject then continues on setting up the high
complexity task and so on. Task sets used in the experiment can be
found in Appendix
.