SDSU CS 580 Client-Server Programming
Fall Semester, 2002
Some GUI
Previous    Lecture Notes Index    Next    
© 2002, All Rights Reserved, SDSU & Roger Whitney
San Diego State University -- This page last updated 12-Sep-02


Rettig, Marc. Interface Design When You Don't Know How, Communications of the ACM, Jan. 1992, Vol. 35, No. 1, pp. 29-34

Rettig, Marc. Prototyping for Tiny Fingers, Communications of the ACM, April. 1994, Vol. 37, No. 4, pp. 21-27

Doc 3, Some GUI Slide # 2
Recommended Reading

User Interface Design for Programmers, Joel Spolsky, 2001

There is a printed longer version of the book. The on-line version is free and will get you started.
Design of Everyday Things, Donald Norman, 1990

This is an excellent book, is entertaining and only costs $16. Anyone that designs or builds anything has to read this book.

These books do not cover the mechanics building a GUI. They do not cover which fonts and colors to use. They just get you started thinking about the really important questions related to GUI design.

Doc 3, Some GUI Slide # 3
GUI Clients & Servers

GUI Clients
Users do not care about the client-server protocol

Don’t expose the user to the client-server protocol

Doc 3, Some GUI Slide # 4

Interface Design When You Don't Know How

Basic Rule for Good Visual Design

Hire a graphic/GUI designer

Doc 3, Some GUI Slide # 5
Basic Rule for Almost Everything Else

Painstakingly follow established standards

All major interfaces have published detailed standards for user interface design






Doc 3, Some GUI Slide # 6
User Interface Standards Manual

Produce standards manual for the project

Manual should address the following:

What symbols are there?
How do they relate to each other?
How do they relate to the things they represent?
How do they relate to the user?

Doc 3, Some GUI Slide # 7
The Process

Doc 3, Some GUI Slide # 8

Set a short time limit (4 weeks) on the planning process

Planning Documents

Document One

Defines design goals
Sets the direction for the work
Identifies open problems that need to be researched

Document Two

Project plan for next four months
Describe series of tasks, each no longer than two weeks

Document Three

Plan for user testing

Document Four

Definition of Iterative Process

Doc 3, Some GUI Slide # 9


Problems with Software Prototypes

Software Prototypes take too long to build and change

Testers tend to comment on "fit and finish" issues
Get comments on selection of colors, fonts and buttons
Developers spend time on colors, fonts and buttons

Developers resist changes

Managers resist change

Software Prototypes set false expectations

Single bug in a software prototype can halt a test

Doc 3, Some GUI Slide # 10

Lo-fi or Paper Prototypes

The Kit

White paper

Heavy enough to endure repeated testing and revisions

5-by-3-inch cards

Use as construction material
Taking notes


Tape: clear, colored, double-backed, etc.
Glue sticks
Post-It glue
White correction paper


Colored pens and pencils
Fine and thick markers

Sticky note pads

Acetate sheets

Scissors, X-acto knives, straightedges, Band-Aids


Doc 3, Some GUI Slide # 11

Build A Paper Prototype

Set a short deadline

The prototype will be done by 4:00 this afternoon
Tomorrow at 9:30 we will demo the prototype
Just get a first pass on all aspects of the prototype
It will be "wrong" so don't spend weeks on it

Construct Models, not illustrations

Build the parts of your prototype so they can be used
The parts need to move around
User will use the model, must see the changes
On early models don't be picky - get ideas down
Later models can look "professional"

Doc 3, Some GUI Slide # 12

Preparing for a Test

Select your users

Know the demographics of your users
Educational background
Knowledge of computers
Typical tasks involved in their job
Can use "surrogate users"
People with same demographics of your users
Undergrads are cheap available labor
May wish to avoid actual customers, employees, friends, and family
Testers should represent the whole range of users
Do at least one in-house test with surrogates and one field test with typical end users

Prepare test scenarios


Doc 3, Some GUI Slide # 13

Conducting a Test

It takes four people to get the most out of a test

Welcomes users
Puts users at ease
Users often worry about:
Flunking the test
Co-workers finding out how they did
Answering the question correctly
Have users fill out forms - experience profile

Runs the test
Gives users instruction
Gives user hand written tasks to perform
Encourage the user to express their thoughts
Elicit the user's thought during the tests
Makes sure test runs on time

Doc 3, Some GUI Slide # 14

Runs the computer
Moves the model in response to users "actions"


Takes notes
One observation per index card

Doc 3, Some GUI Slide # 15

The Test

Video tape the test

Before starting the test, explain the process to the user

Debrief the user after the test

During the test, don't:

Give user hints
Laugh, gape, gasp, or say "a-ha"
Don't display any reaction to the user's actions

Evaluate the Results

Go through all the notes taken during the tests

Use post-it notes to put comments on components of prototype that need change

Copyright ©, All rights reserved.
2002 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA.
OpenContent license defines the copyright on this document.

Previous    visitors since 12-Sep-02    Next