Lecture 9 - User Interface Design
Lecture 9 - User Interface Design
Presented by:
Dr. Yasmine Afify
yasmine.afify@bue.edu.eg 1
User Interface vs. Human Computer Interaction
2
UI Hall of Shame
3
A Brief History of Screen Design
Many Fields
Vague captions
Visually cluttered
Monochromatic
Ambiguous Green text on black
messages Background
A 1970s Screen 4
A Brief History of Screen Design (Cont.)
6
Redesigned
7
UI Hall of Shame
8
Importance of User Interface
• Usability strongly affects how software is perceived, because the user
interface is the means by which the software presents itself to the
world.
• A Harris poll (reported in the Wall Street Journal 11/8/05) found that
ease of use (61%), customer service (58%), and nohassle installation
(57%) are the most important factors US adults consider when
purchasing a new technology product.
• Usable software sells. Conversely, unusable software doesn’t sell.
• Bad user interface design can also cost lives.
• The usability problems may go unreported.
9
Our Objective
• Understand the many considerations that must be applied to the
interface and screen design process.
• Understand the rationale and rules for an effective interface design
methodology.
• Design and organize graphical screens and Web pages to encourage
the fastest and most accurate comprehension and execution of screen
features.
• Choose screen colors and design screen icons.
• Perform the User Interface design process, including interface
development and testing.
10
Importance of User Interface (Cont.)
• In fact, user time is getting more expensive every year.
12
14
15
Usability
• Usability measures how well users can use the system’s functionality.
17
Usability
• Usability measures how well users can use the system’s
functionality.
Usability
18
Learnability
Learnability
Is it easy to
learn?
Information
Consistency Affordance Feedback
Scent
19
Consistency
20
Types of Consistency
21
Metaphor
22
Affordances
How an interface communicates nonverbally, telling you how to operate it.
Perceived and actual properties of a thing that determine how the thing could be
used.
23
Feedback
• How the system changes visibly when you perform an action.
• When the user successfully makes a part work, it should appear to
respond.
Push buttons depress and release.
Scrollbar thumbs move.
Dragged objects follow the cursor.
25
Visible View State
26
Information Scent
• Information scent
Cues on a link that indicate how profitable it will be to follow the link to its
destination
• A Link should smell like the content it leads to.
27
Usability
• Usability measures how well users can use the system’s
functionality.
Usability
28
Efficiency
• Once Learned, Is it fast to use?
• We’re concerned with the channel between the user and the system; how
quickly can we get instructions and information across that interface?
29
Efficiency
Efficiency
Once learned, is
it easy to use
Pointing Shortcuts
Efficiency Defaults
History
Autocomplete
Aggregation
Anticipation
30
Fitt’s Law
• Specifies how fast you can move your hand to a target of a certain size
at a certain distance away within arm’s length.
• Time T to move your hand to a target:
T = RT + MT
RT is reaction time: the time to get your hand moving
MT is movement time: the time spent moving your hand.
31
Definition of Fitt’s Law
T = a + b log2 ( + 1 )
Time to complete pointing task = f (distance to target, size of target, pointing device)
• Depends only on index of difficulty log2(D/S + 1)
• As the target size (S) goes up, time (T) goes down (S↑T↓).
• As the target distance (D) goes up, time (T) goes up (D↑T ↑).
• a, b pointing devices properties (lower is better)
33
Improve Mouse Efficiency
• Make frequently-used targets big
The Bigger the target, the easier the pointing task is.
• Put targets used together near each other
• Use screen corners and screen edges
• Avoid steering tasks
• Example: Cascading submenus
• Steering tasks are so much slower than pointing tasks.
• When you can’t avoid it, minimize the steering distance
34
Efficiency
Efficiency
Once learned, is
it easy to use
Pointing Shortcuts
Efficiency Defaults
History
Autocomplete
Aggregation
Anticipation
35
Keyboard Shortcuts
• Keyboard Commands
• Menu accelerators
36
Defaults and Pending Deletes
• Defaults are common answers already filled into a form.
- They provide shortcuts to both beginners and frequent users
- They help the user learn the interface by showing examples of legal entries.
37
History
• Offer recently-used or frequently-used choices
38
AutoComplete
• Minimize typing by autocomplete.
39
Aggregation
• Think about ways that a user can collect a number of items – data
objects, decisions, graphical objects, whatever – and handle them all
at once, as a group
40
Anticipation
• Anticipation means that a good design should put all needed
information and tools within the user’s easy reach.
41
Usability
• Usability measures how well users can use the system’s
functionality.
Usability
42
Safety
Safety
Are errors few &
recoverable?
43
Error Prevention
• Avoid actions with very similar descriptions (different things should
look and act different)
• Keep dangerous commands away from common ones
44
Error Messages
• Be precise
• “File missing or wrong format”
• “File can’t be parsed”
• “Line too long”
• “Name contains bad characters”
• Restate user’s input
• Not “Cannot open file”, but “Cannot open file named paper.doc”
• Speak the user’s language
• Not “FileNotFoundException”
• Hide technical details (like a stack trace) until requested
45
Error Messages
• Give constructive help
• Suggest Reasons and Solutions (Why error occurred and how to fix it)
46
Error Messages
• Be polite and non-blaming. Save the user’s face; don’t worry about
the computer’s.
47
UI Software Architecture
48
Model-View-Controller (MVC)
View handles output & low-level input (device events)
• sends high-level events (selection-changed, button-activated,
or textbox-changed) to the controller
change
events
Model
Model maintains application state
• implements state-changing behavior
• sends change events to controller
MVC
• Model
The Model component corresponds to all the data-related logic that the
user works with. This can represent either the data that is being transferred
between the View and Controller components or any other business logic-
related data. For example, a Customer object will retrieve the customer
information from the database, manipulate it and update it data back to the
database or use it to render data.
• View
The View component is used for all the UI logic of the application. For
example, the Customer view will include all the UI components such as text
boxes, dropdowns, etc. that the final user interacts with.
50
MVC
• Controller
Controllers act as an interface between Model and View components to
process all the business logic and incoming requests, manipulate data
using the Model component and interact with the Views to render the
final output. For example, the Customer controller will handle all the
interactions and inputs from the Customer View and update the
database using the Customer Model. The same controller will be used
to view the Customer data.
51
MVC Interactions
• All actions begin in the view through events generated by the user. The controller
provides listeners for the events. The controller also has the ability to manipulate
the state of the view objects in a way which offers a response to the events
generated by the user.
• The controller interacts with the model by either requesting information from
the data source based on user-generated events, or by modifying the data based
on these events.
• The model provides the programming interface which the controller must use to
access the database, i.e., the controller does not interact directly with the
database.
• The view interacts with the model only to know about type information and
other data abstractions held in the model. The View/Model interaction should be
"minimal" because the manipulation of data is to be done through the controller.
52
Advantages of Model-View-Controller
• Separation of responsibilities
• Each module is responsible for just one feature
• Decoupling
• View and model are decoupled from each other, so they can be
changed independently
• Model can be reused with other views
• Multiple views can simultaneously share the same model
54
Reference
55
Thank You