05-830, User Interface
Software, Spring, 1999
Lecture 2, January 13,
1998
Copyright © 1999 - 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.
- mail readers
- spreadsheets
- hypertext document reading
- automated-teller machines (ATM)
- Virtual Reality
- Multi-media
- Interactive, "real-time" games
- Controlling machinery
Metaphors
- Interaction metaphors = tools, agents: "electronic secretary"
- Content metaphors
- desktop
- paper document
- notebook with tabs
- score sheet , stage with actors (Director)
- accounting ledger (spreadsheet)
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
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.
Features That Might Be Included in Benchmarks
- Drawing freehand objects (Paint)
- Setting properties of objects
- Selecting and manipulating objects with the standard selection handles
mechanism
- Keeping objects connected (constraints)
- Keeping properties of objects consistent
- Multi-font, multi-line text editing
- Filtering (testing) textual typed values for correctness
- Keeping the values in the proper range
- Converting values among types -- Yes/No -> boolean, strings ->
numbers
- General parsing of input.
- E.g, as answers to Wizards
- User Interfaces for small devices (e.g., PalmPilots)
- Support for Multi-media
- Video in the interface
- Sound output
- Real animations
- "Real-time" interaction, as in games
- Multiple-people interactions
- Undo
- Single level
- Multiple level
- Coverage of widgets (does it have a full collection of widgets?)
- Support for Gestures, Speech input, etc.
- Support for 3D
(Bold shows items not adequately covered by previousdes year's
benchmarks, in my opinion.)
Back to 05-830 main page