Chapter 6 - GUI and Interactive Input Methods
Chapter 6 - GUI and Interactive Input Methods
1
Graphical User Interfaces and
Interactive Input Methods
• Why Interface Matters
• A Few Questions
• Interface styles
• Purpose of UI Design
• Brief History of UI
• Characteristics of UI Design
• UI Design is Difficult
• Language Model for Command Line and UI’s
• Design Methodology
2
Why Interface Matters…
Not just applicable to computer interfaces!
3
A Few Questions
• What are some interfaces you like and dislike?
• How could “intelligent” interfaces help or get in the way of users?
• Is it possible to accommodate users of all levels with a single
interface?
• What is your ideal interface?
– general use (operating system / work environment)
– specific applications
4
An Extreme
• “Microsoft Word” at its worst (Microsoft)
5
Interface styles
• Some of Interface styles
– text input
– direct manipulation
– point & click, drag & drop
– adaptability
– “intelligent” interfaces, agents
– social interface
– general purpose and specific task design
6
Purpose of UI Design
The user interface is the key to productivity
• Provide usable, functional, safe, efficient systems for people
• Concentrate on user-centered design:
– design for your user, not your hardware
• UI now much more important than features
High Level goals of UI
• Make easy things easy; make hard things possible
• Optimize human factors
– Make your interface comfortable, as well as attractive
• Maximize speed of learning
• Maximize speed and ease of use
• Minimize error rate
• Enhance the User Experience!
• Consistency with user’s expectation
Note: These goals cannot all be fully accommodated in the same interface. We must 7
determine which goals are most important for the user and the purpose of the application.
Characteristics of UI Design
The nature of the beast
• Collaborative
• Iterative
• Multi-disciplinary
Players in the UI design game
• Hardware engineers
– devices for graphics, video, audio, force feedback…
• Human Factors engineers
• Graphic designers
• Perceptual psychologists
• Cognitive scientists
• Software engineers
• UI designers 8
UI Design is Difficult
• In many modern programs, the user interface code constitutes the bulk of program, i.e., 70-80%
• For the most part, the user interface is the key to the success or failure of a program
• Computer speed increases by Moore’s law, humans do not
• Creating a good UI is often harder than software engineering because UI design requires much
more than software engineering skills
• Some people believe UI design is unimportant because they misunderstand the design
process/methodology
• Nowadays, software companies can be very picky about choosing who designs their user
interfaces because the user interface defines the product
9
Computer vs. Human
Performance
10
Language Model for Command Line and UI’s
A user interface is not static – it is a time-dependent dialogue between user and
machine, i.e. a communication protocol
Conceptual level
Meaning
Functional/semantic level
13
Design Methodology
The overall steps
• Analyze
• Formalize
• Synthesize
• Evaluate
• Implement
• Test
14
Design Methodology
Analyze
• Requirements definition
• User(s) definition
– novice, casual user, power user…
• Working environment
– office, home, school…
Formalize
• Define design goals
Synthesize
• Conceptual design
• Semantic design
• Dialogue design
• Syntactic design
• Lexical design
• Graphic and other design modalities
• Documentation design
15
Design Methodology
Evaluate
• Design review
Implement
• Prototyping
• Implementation
• Software debugging
Test
• User interface debugging
• Usability testing
16
Design Methodology
Process model
• “Waterfall” model, a step-by-step approach, a pipeline; for user interface
design
• Model is not a hierarchy: has feedback loops
Analyze
Formalize
Synthesize
Evaluate
Implement
Test
17
UI Design Guidelines