CS 6751 -- Human-Computer Interface
Assignment 2: Interface Design
Due February 21
Objectives
The objective of this assignment is to combine the various skills and
techniques that you have learned in this course to a user interface
design problem. In Assignment 1 a methodology for finding out
information about the user population was practiced. The assignment also
provided practice in observing users and relating the user's behavior
to the design of your proposed interface. Assignment 2 asks you to
apply all of these skills to making a prototype of your
proposed interface.
The assignment also has a sub-objective, that of giving practice in
developing a "good" user interface within the constraints of the
design environment. The classic constraint in user interface design
is the small amount of time allowed to build an acceptable interface
for the user. Due dates for this assignment impose a similar
constraint requiring decisions about which user interface features
can be included in the design given the minimal amount of time
available. A second constraint--as common as the first--is the
constraints of the external user, the software and the hardware
environments. User interface designs need to adapt to the history of
prior interfaces, to the consistency requirements of similar interfaces
and to the limitations of the hardware and development software that
will be used. To simulate a portion of these constraints, you are
being asked to design a prototype of your system using a graphical
user interface builder tool.
Directions
Your basic task is to design a prototype of your proposed user
interface. You can use any available graphical user interface
prototyping tool that you would like, for example, Hypercard, Visual
Basic, UIMX, Director, etc. In class you will learn about Sun's
dtbuilder system, so it is clearly an option. You should be able to
get much of the interface functionality working, but clearly you will
not be able to implement all back-end application functionality. You
should be able to build and connect to enough of the application
functionality to be able to conduct a usability evaluation with
benchmark tasks in the next assingment.
You are expected to apply the information you have gathered about your
intended user in the two previous assignments to your design. The
assignment will have 7 steps. They are:
- Develop a set of design criteria about what the interface should
provide to its users. This is more than the typical requirements
list for software design. In addition to describing the functions the
system should perform, the design criteria should contain user
information.
For example, if you were designing a calendar system, your design
criteria might be, "have appointment book open to current date
because this is the date that is most frequently accessed by the
user." Use the information from Assignments 1 and 2 to aid in
developing the design criteria.
- Sketch out your design on paper through mock-ups and
storyboards. You may sketch out more than one design. For each
design, be sure that it is described in enough detail so that users
can see screen display changes and individual inputs that they would
need to make if they were using the designed interface.
- Elicit user input and changes on your design. You can query your
friends, parents, colleagues, or significant others.
- Repeat steps 2 and 3, adapting your design to match what you
have learned about the design from showing it to potential users.
- Learn a particular GUI builder tool well enough to develop
screen layouts for your design. You are not being asked to build a
complete implementation of your design, but enough of a prototype to
demonstrate the design to users, and to run basic benchmark tasks
against.
- Implement your design using a GUI builder tool and/or GUI
toolkit.
- Write up you design including a description of the processes you
went through in making the design follow the needs and psychology of
the user.
What you should turn in
Turn in the same style (from the first assignment) 10-page maximum
HTML write-up on the design process that was conducted. The write-up
should include, in order, the following items:
- A short recap of your target application.
- A description of the design criteria and rationale for your new
system. Utilize the knowledge gained from Assignment 1 and describe
how that influenced your design.
- A summary of the design process you utilized, the mock-ups and
storyboards generated along the way, and the choices you made.
- A description of the final design. Please use screen shots and
figures to help illustrate how the interface works.
- A conclusion describing what is good about your design and what
you are not very happy with but have had to include in the design
given the constraints of the design problem and the trade-off
decisions you needed to make.
IMPORTANT HINT: The previous assignment prepared you for this design
assignment. Look back at the evaluations you have performed and
transfer the concepts in these evaluations to assessing your
design.
Note that the included storyboards, mock-ups, system pictures, etc.,
can be put in an appendix and they need not count against your 10
pages.
Also turn in one page that lists the file and path to your interface
design if it is here on our UNIX system (otherwise, let us know what
you did and on what platform). Tell us whether this is a description
file, an executable, both, other, etc.
You will be graded on the quality of your user interface, the
creativeness of your design in solving the user interface
problems you encountered and your ability to incorporate into
the design process the user data you collected in Assignment 1.
After you turn in your assignment, we will be scheduling 15 minute
demo sessions when your group will demonstrate your interface to the
instructor and TA. This will be your chance to give us a feel for the
interactive nature of your design, and to see its functionality in
more detail.