05-830, User Interface Software, Spring, 2001
Lecture 2, January 17, 2001
Copyright © 2001 - Brad Myers
Previous
Lecture . . .
Next Lecture
Input Devices
-
QUERTY keyboard (other types)
-
Mouse (1, 2 or 3 buttons)
-
Other pointing devices:
-
Pens or pucks on tablets
-
"Light pens" on screens
-
DataGloves, eye tracking, etc.
-
"Bat" 3-D input device
-
Speech input
-
Computer-connected camera
-
presence
-
free-space gestures
-
eye-tracking
Output Devices
-
Older:
-
TTY on paper
-
24x80 terminals: "glass-TTY"
-
Vector screens
-
Raster-scan screens
-
LCD panels
-
Tiny, Room-size, portables, "normal size"
-
3-D devices
-
Head-mounted displays
-
Stereo
-
"Real" 3-D
-
Speech output
-
Non-speech audio
Examples of different types of applications
-
word processors
-
drawing programs, etc.
-
hierarchy displays, like file browsers
-
mail readers
-
spreadsheets
-
hypertext document reading
-
World-Wide-Web browsing
-
Form-based entry
-
automated-teller machines (ATM)
-
Virtual Reality
-
Multi-media
-
Interactive, "real-time" games
-
Controlling machinery
Metaphors
-
Content metaphors
-
desktop
-
paper document
-
notebook with tabs
-
score sheet , stage with actors (Director)
-
accounting ledger (spreadsheet)
-
stereo (for all media players)
-
phone keypad
-
calculator
-
Web: "Shopping Carts"
-
Quicken: "CheckBook"
-
Interaction metaphors = tools, agents: "electronic secretary"
User Interface Styles
-
A method for getting information from the user or interfacing with a user.
-
Some styles:
-
Question and answer,
-
Single character commands and/or function keys,
-
Command Language,
-
Menus
-
Forms/Dialogue Boxes
-
Direct Manipulation
-
WYSIWYG
-- really is a subclass of DM, not another style
-
Gestures
-
Natural Language
-
Usually, interfaces provide more than one style:
-
Command language for experts with menus for novices
-
Menus plus single characters (Macintosh & Windows)
-
Appropriate style depends on type of user and task.
-
Important issues:
-
Who has control?
-
Ease of use for novices.
-
Learning time to become proficient
-
Speed of use (efficiency) once become proficient.
-
Generality/Flexibility/Power (how much of user interface with this technique
cover?)
-
Ability to show defaults, current values, etc.
-
Skill requirements required (e.g., typing)
Nielsen describes 1, 2 & 3 as "line-oriented"
1) Question and Answer:
-
Computer asks questions, user answers.
-
Used by some simple programs, and also expert systems.
-
"Wizards" in Microsoft products
-
Telephone interfaces ("press 1 for sales, 2 for support, ...")
-
Pros and cons:
-
+ Easy to implement (writeln, readln)
-
+ Easy for novices
-
- Can't correct previous errors, or to change your mind.
-
-
Except in Wizards, often have a "Previous" button
-
- Can be slower for experts
2) Single character commands and/or function keys:
-
Function keys can be labeled.
-
Pros and cons:
-
+ Fastest method for experts.
-
+ Easy to learn how.
-
+ so easier to provide telephone support ("just hit the F1 key now")
-
+ Usually very simple to implement.
-
- Hardest to remember which key does what.
-
- Easy to hit wrong key by mistake
3) Command Language:
-
User types instructions to computer in a formal language.
-
Pros and cons:
-
+ Most flexible.
-
+ Supports user initiative.
-
+ Fast for experts.
-
+ Possible to provide programming language capabilities for macros,
customization, etc.
-
+ Takes less space on screen
-
- Hardest for novices.
-
- Requires substantial training and memorization.
-
- Error rates usually high.
-
- Syntax is usually very strict.
-
- Poor error handling.
-
- Hard for user to tell what can do.
-
Implementation difficulty depends on availability of tools like LEX &
YACC, and the complexity of the language.
-
Related form is programming language extensions, such as in Lisp.
4) Menus:
-
Pros and cons:
-
+ Very little training needed
-
+ Shows available options
-
+ Allows use of recognition memory (easier than generation)
-
+ Hierarchy can expand selection
-
+ Default or current selection can be shown.
-
+ Ability to show when parts are not relevant (e.g., greyed out)
-
+ Can be used for commands and arguments
-
+ Reduces keystrokes (compared to command languages)
-
+ Clear structure to decision making.
-
- Usable only if there are few choices
-
- Slow for experienced users (need accelerators)
-
- If big hierarchy, commands can be hard to find
-
- Uses screen space
-
Most effective with pointing device.
5) Form Filling
-
Like menus except have text/number fields that can be filled in.
-
Often used on character terminals (e.g., for data entry).
-
Macintosh and Windows Dialog Boxes are another example.
-
Pros and cons: (Similar to menus)
-
+ Simplifies data entry.
-
+ Very little training needed
-
+ Shows available options
-
+ Allows use of recognition memory (easier than generation)
-
+ Ability to show defaults and current values.
-
+ Ability to show when parts are not relevant (e.g., greyed out)
-
- Consumes screen space.
-
- Expensive to internationalize.
-
Most effective with pointing device.
-
Apparently, most user interfaces are of this form
-
Specialty of Visual Basic
WIMP (Windows, Icons, Menus, Pointing Device) Interfaces include 6 and
7
6) Direct Manipulation
-
Definition:
-
Visual Model of the world
-
Visual objects that can be operated on
-
Results of actions are reflected in the objects immediately.
-
Objects, once operated on, can be further operated on.
-
Term coined by Ben Shneiderman
-
Original system: Sketchpad from 1962
-
"Object-oriented" from user's point of view
-
As opposed to "function-oriented"
-
Usually select object, then give command
-
Hollan argues this user feel more important to DM than Shneiderman's
methods
-
Pros and cons:
-
+ User initiated
-
+ Easy to learn, intuitive, analogical
-
+ Fast to use for object that are on the display
-
+ Easily augmented with menus and forms
-
+ Provides closure of actions and gesture.
-
+ Errors can be avoided.
-
+ High subjective satisfaction (fun).
-
- Can be inconvenient and slow if user knows the name of an undisplayed object,
but must find it anyway.
-
- Limited power; not all desired actions have a DM analog.
-
- Difficult to provide macros, other user extensible/customizable features.
-
- Difficult to implement.
7) WYSIWYG:
-
"What you see is what you get".
-
Like direct manipulation, but more so.
-
Pros and cons: (Similar to direct manipulation)
-
+ Can always tell what final result will be.
-
- Screen image may be hard to read/interpret, especially if screen resolution
is too low.
-
- Cannot show hidden structure (how the picture was made).
-
- May be very slow at run-time (e.g., page breaks)
-
- Extremely difficult to implement.
-
- WYSIATI: What You See Is All There Is - lack of structure; no ability to
show structure
"Non-Command" or "Next-generation" Interfaces:
-
"Natural" actions invoke computer response.
-
8) Gestures and 9) speech
-
Issues: mis-interpretation, feedback
8) Gestures:
-
Like user would mark on paper.
-
Pros and cons:
-
+ Can be very natural to learn.
-
+ Often faster to execute than other techniques.
-
+ Give command and parameters together
-
- Many gestures are hard to do with a mouse.
-
- Users must memorize gestures.
9) Natural Language
-
E.g., a subset of normal English.
-
Includes speech
-
Pros and cons:
-
+ Theoretically easiest for learning.
-
+ Speaking is the fastest output technique.
-
- Rather slow for typing
-
- Requires clarification dialog.
-
- Unpredictable.
-
- General systems are impossible with today's technology.
-
Research with Bernhard Suhn showing that if factor in correction times, speech
input may be slower and less natural than typing, etc.
Back to 05-830 main page