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

References

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 http://www.joelonsoftware.com/navLinks/fog0000000247.html

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

Windows
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore98/HTML/_core_the_user_interface_guidelines_for_microsoft_windows.asp

MacOS X
http://developer.apple.com/techpubs/macosx/Essentials/AquaHIGuidelines/index.html

Java
http://java.sun.com/products/jlf/

GNOME
http://developer.gnome.org/projects/gup/hig/1.0/

KDE
http://developer.kde.org/documentation/design/ui/



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
Planning

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

Prototyping

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

Unlined
Heavy enough to endure repeated testing and revisions


5-by-3-inch cards

Use as construction material
Taking notes


Adhesives

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


Markers

Colored pens and pencils
Highlighters
Fine and thick markers


Sticky note pads

Acetate sheets

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

White-out

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

Practice

Doc 3, Some GUI Slide # 13

Conducting a Test


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

Greeter
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


Facilitator
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
Computer

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


Observer

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