0% found this document useful (0 votes)
53 views

03 User Interface Principles

The document is a lecture on user interface principles. It discusses the gap between how programmers see code and how users interact with products, and how user interfaces bridge this gap. It then covers various principles for designing intuitive user interfaces, including proximity, similarity, continuity, symmetry, figure/ground relationships, hierarchy, affordances, structure, sequence, and minimalism. The lecture emphasizes designing interfaces based on an understanding of human cognition, memory, vision and actions.

Uploaded by

John Patlol
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

03 User Interface Principles

The document is a lecture on user interface principles. It discusses the gap between how programmers see code and how users interact with products, and how user interfaces bridge this gap. It then covers various principles for designing intuitive user interfaces, including proximity, similarity, continuity, symmetry, figure/ground relationships, hierarchy, affordances, structure, sequence, and minimalism. The lecture emphasizes designing interfaces based on an understanding of human cognition, memory, vision and actions.

Uploaded by

John Patlol
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 105

3 — User Interface Principles

From Code to Product


gidgreen.com/course
User Interface
“The aspects of a computer system or
program which can be seen (or heard or
otherwise perceived) by the human user,
and the commands and mechanisms the
user uses to control its operation and input
data.”
— Free On-Line Dictionary of Computing

From Code to Product Lecture 3 — UI Principles — Slide 2 gidgreen.com/course


Layers of a product

Core

From Code to Product Lecture 3 — UI Principles — Slide 3 gidgreen.com/course


The problem
I want to see MOV r0, #10
this guy’s face ADD r0, r0, r1

How do we bridge this gap?

From Code to Product Lecture 3 — UI Principles — Slide 4 gidgreen.com/course


The solution
I want to see MOV r0, #10
this guy’s face ADD r0, r0, r1

I can use Skype Function call in


on my mobile Skype app

I will press his Touch event


name in the app detected

From Code to Product Lecture 3 — UI Principles — Slide 5 gidgreen.com/course


Channels of communication
Pressing buttons

Flashing lights

Pointing on screen

Image on screen

Talking and singing

Playing sound

Being photographed

Vibration

Moving the device

From Code to Product Lecture 3 — UI Principles — Slide 6 gidgreen.com/course


But it’s still very limited

From Code to Product Lecture 3 — UI Principles — Slide 7 gidgreen.com/course


Lecture 3
•  Introduction
•  Vision
•  Cognition
•  Memory
•  Action
•  Emotion

From Code to Product Lecture 3 — UI Principles — Slide 8 gidgreen.com/course


Proximity

From Code to Product Lecture 3 — UI Principles — Slide 9 gidgreen.com/course


Similarity

From Code to Product Lecture 3 — UI Principles — Slide 10 gidgreen.com/course


Similarity

From Code to Product Lecture 3 — UI Principles — Slide 11 gidgreen.com/course


Movement

From Code to Product Lecture 3 — UI Principles — Slide 12 gidgreen.com/course


Proximity

From Code to Product Lecture 3 — UI Principles — Slide 13 gidgreen.com/course


Similarity

From Code to Product Lecture 3 — UI Principles — Slide 14 gidgreen.com/course


Similarity

From Code to Product Lecture 3 — UI Principles — Slide 15 gidgreen.com/course


Continuity

From Code to Product Lecture 3 — UI Principles — Slide 16 gidgreen.com/course


Symmetry

From Code to Product Lecture 3 — UI Principles — Slide 17 gidgreen.com/course


Continuity and Symmetry

From Code to Product Lecture 3 — UI Principles — Slide 18 gidgreen.com/course


Ambiguity

From Code to Product Lecture 3 — UI Principles — Slide 19 gidgreen.com/course


Grids

From Code to Product Lecture 3 — UI Principles — Slide 20 gidgreen.com/course


Photo by Sha Sha Chu
Figure and Ground

From Code to Product Lecture 3 — UI Principles — Slide 21 gidgreen.com/course


Figure and Ground

From Code to Product Lecture 3 — UI Principles — Slide 22 gidgreen.com/course


Hierarchy
1

5
4
3

From Code to Product Lecture 3 — UI Principles — Slide 23 gidgreen.com/course


Tunnel Vision

Photo by Ali Khurshid

From Code to Product Lecture 3 — UI Principles — Slide 24 gidgreen.com/course


Tunnel Vision

From Code to Product Lecture 3 — UI Principles — Slide 25 gidgreen.com/course


Visual affordance

Source: ChrisElyea.com
From Code to Product Lecture 3 — UI Principles — Slide 26 gidgreen.com/course
Visual affordance

From Code to Product Lecture 3 — UI Principles — Slide 27 gidgreen.com/course


Structure
Thank you for your reservation. Your indoor
table has been booked for four people at 8 in
the evening on Tuesday January 6th 2012 at
Sushi Samba. The address is 245 Park Avenue
South, between East 19th and 20th Street. You
must arrive by 8.15pm to maintain your
reservation. In the event of problems, please
call the restaurant on 2124759377. Note that
the minimum charge is $50 per person.

From Code to Product Lecture 3 — UI Principles — Slide 28 gidgreen.com/course


Structure

Thank you for your reservation.


Sushi Samba Date Tue 6 Jan
245 Park Avenue South
(212) 475–9377 Time 8.00pm
Latest 8.15pm
People 4
Table Indoors
Minimum $50/person

From Code to Product Lecture 3 — UI Principles — Slide 29 gidgreen.com/course


Structure

Thank you for your reservation.


Sushi Samba 245 Park Avenue South (212) 475–9377

Date Tue 6 Jan


Time 8.00pm
Latest 8.15pm
People 4
Table Indoors
Minimum $50/person

From Code to Product Lecture 3 — UI Principles — Slide 30 gidgreen.com/course


Prominence

From Code to Product Lecture 3 — UI Principles — Slide 31 gidgreen.com/course


Prominence
1

2
3
4

From Code to Product Lecture 3 — UI Principles — Slide 32 gidgreen.com/course


Sequence

Source: xkcd.com

From Code to Product Lecture 3 — UI Principles — Slide 33 gidgreen.com/course


Sequence

From Code to Product Lecture 3 — UI Principles — Slide 34 gidgreen.com/course


Sequence

From Code to Product Lecture 3 — UI Principles — Slide 35 gidgreen.com/course


Sequence

From Code to Product Lecture 3 — UI Principles — Slide 36 gidgreen.com/course


Sequence

From Code to Product Lecture 3 — UI Principles — Slide 37 gidgreen.com/course


Clutter

Photo by Metro Centric


From Code to Product Lecture 3 — UI Principles — Slide 38 gidgreen.com/course
Clutter

From Code to Product Lecture 3 — UI Principles — Slide 39 gidgreen.com/course


Minimalism

“Perfection is achieved, not


when there is nothing more to
add, but when there is nothing
left to take away.”
— Antoine de Saint-Exupéry

From Code to Product Lecture 3 — UI Principles — Slide 40 gidgreen.com/course


Minimalism

The face of a $400b company

From Code to Product Lecture 3 — UI Principles — Slide 41 gidgreen.com/course


A few words about sound…
•  Don’t do it, unless…
–  Audio/video player
–  Game or other experiential product
–  Alert from desktop/mobile app
–  Phone number entry
–  Reassuring key clicks
–  Accessibility
•  Let users switch it off

From Code to Product Lecture 3 — UI Principles — Slide 42 gidgreen.com/course


Lecture 3
•  Introduction
•  Vision
•  Cognition
•  Memory
•  Action
•  Emotion

From Code to Product Lecture 3 — UI Principles — Slide 43 gidgreen.com/course


The ideal interface

From Code to Product Lecture 3 — UI Principles — Slide 44 gidgreen.com/course


Implementation model

From Code to Product Lecture 3 — UI Principles — Slide 45 gidgreen.com/course


Mental model

From Code to Product Lecture 3 — UI Principles — Slide 46 gidgreen.com/course


Talk to people

From Code to Product Lecture 3 — UI Principles — Slide 47 gidgreen.com/course


Metaphors

From Code to Product Lecture 3 — UI Principles — Slide 48 gidgreen.com/course


Overly literal metaphors

From Code to Product Lecture 3 — UI Principles — Slide 49 gidgreen.com/course


Mapping

Source: UXHero.com
From Code to Product Lecture 3 — UI Principles — Slide 50 gidgreen.com/course
Mapping
þ

ý

þ

ý

þ
From Code to Product Lecture 3 — UI Principles — Slide 51 gidgreen.com/course
Unnecessary burdens

From Code to Product Lecture 3 — UI Principles — Slide 52 gidgreen.com/course


Unnecessary burdens

From Code to Product Lecture 3 — UI Principles — Slide 53 gidgreen.com/course


This one’s for real

adminapps.utep.edu/changepassword
From Code to Product Lecture 3 — UI Principles — Slide 54 gidgreen.com/course
Examples + Defaults

From Code to Product Lecture 3 — UI Principles — Slide 55 gidgreen.com/course


Interruptions

From Code to Product Lecture 3 — UI Principles — Slide 56 gidgreen.com/course


Interruptions

From Code to Product Lecture 3 — UI Principles — Slide 57 gidgreen.com/course


Lecture 3
•  Introduction
•  Vision
•  Cognition
•  Memory
•  Action
•  Emotion

From Code to Product Lecture 3 — UI Principles — Slide 58 gidgreen.com/course


Two types of memory
Short-term Long-term

Contents Current task Life history

Capacity Tiny (7 items?) Huge

Recall Instant Slow

Retention Short Eternal

Accuracy Perfect Poor

Just like… CPU cache Lots of floppy disks

From Code to Product Lecture 3 — UI Principles — Slide 59 gidgreen.com/course


Modes

From Code to Product Lecture 3 — UI Principles — Slide 60 gidgreen.com/course


Modes

From Code to Product Lecture 3 — UI Principles — Slide 61 gidgreen.com/course


Modes

Drawing Selection

From Code to Product Lecture 3 — UI Principles — Slide 62 gidgreen.com/course


Modes

From Code to Product Lecture 3 — UI Principles — Slide 63 gidgreen.com/course


Context

Photo by jima
From Code to Product Lecture 3 — UI Principles — Slide 64 gidgreen.com/course
Context

From Code to Product Lecture 3 — UI Principles — Slide 65 gidgreen.com/course


Instructions

Image by Zoagli

From Code to Product Lecture 3 — UI Principles — Slide 66 gidgreen.com/course


Instructions

From Code to Product Lecture 3 — UI Principles — Slide 67 gidgreen.com/course


Instructions

From Code to Product Lecture 3 — UI Principles — Slide 68 gidgreen.com/course


Comparisons

From Code to Product Lecture 3 — UI Principles — Slide 69 gidgreen.com/course


Offer, don’t ask

From Code to Product Lecture 3 — UI Principles — Slide 70 gidgreen.com/course


Offer, don’t ask

Car$ /bin/set-temperature 73f


Temperature set OK

Car$ /bin/rear-demister on
COMMAND NOT RECOGNIZED

From Code to Product Lecture 3 — UI Principles — Slide 71 gidgreen.com/course


Overviews

From Code to Product Lecture 3 — UI Principles — Slide 72 gidgreen.com/course


Autosuggest

From Code to Product Lecture 3 — UI Principles — Slide 73 gidgreen.com/course


Show what’s old

From Code to Product Lecture 3 — UI Principles — Slide 74 gidgreen.com/course


Show what’s new

From Code to Product Lecture 3 — UI Principles — Slide 75 gidgreen.com/course


Consistency

Source: bhc3.com

From Code to Product Lecture 3 — UI Principles — Slide 76 gidgreen.com/course


Learned mapping

From Code to Product Lecture 3 — UI Principles — Slide 77 gidgreen.com/course


Learned affordance

From Code to Product Lecture 3 — UI Principles — Slide 78 gidgreen.com/course


Learned idioms

From Code to Product Lecture 3 — UI Principles — Slide 79 gidgreen.com/course


Lecture 3
•  Introduction
•  Vision
•  Cognition
•  Memory
•  Action
•  Emotion

From Code to Product Lecture 3 — UI Principles — Slide 80 gidgreen.com/course


Action

http://www.85qm.de/up/BigRedButton.swf
From Code to Product Lecture 3 — UI Principles — Slide 81 gidgreen.com/course
Goals and subgoals
Make my friend feel better

Wait for flowers Call


Send flowers to friend online
to arrive friend up

Find a flowers website Order the flowers

Open web Go to Type in


Choose the best site
browser google.com “flowers”

f l o w e r s

From Code to Product Lecture 3 — UI Principles — Slide 82 gidgreen.com/course


Execute—Evaluate

Try Was the


Define Next
something subgoal YES!
subgoal NO subgoal…
sensible reached?

From Code to Product Lecture 3 — UI Principles — Slide 83 gidgreen.com/course


Execute—Evaluate
Choose the best site

Wikipedia
Looks OK, but
Seems to be UK
only first. Back!
only. Back!

Seems really Looks perfect.


pricey. Back! We’re done!

From Code to Product Lecture 3 — UI Principles — Slide 84 gidgreen.com/course


Enabling evaluation
•  Every user action
–  Key presses and mouse clicks
•  Instant results, or…
–  Waiting cursor (0.1s … 1s)
–  Progress bar (>1s)
•  If invisible…
–  Confirmation message
–  Activity logs

From Code to Product Lecture 3 — UI Principles — Slide 85 gidgreen.com/course


Evaluation

From Code to Product Lecture 3 — UI Principles — Slide 86 gidgreen.com/course


Information scent
•  Information = food
–  We follow a ‘scent’
•  Links and category names
–  Don’t make up words!
•  Provide feedback
–  Scent getting stronger
•  Gain vs cost
–  Good content, easy to find

From Code to Product Lecture 3 — UI Principles — Slide 87 gidgreen.com/course


Direct manipulation
Photo by garryknight

From Code to Product Lecture 3 — UI Principles — Slide 88 gidgreen.com/course


Direct manipulation

From Code to Product Lecture 3 — UI Principles — Slide 89 gidgreen.com/course


Reversibility

From Code to Product Lecture 3 — UI Principles — Slide 90 gidgreen.com/course


Dangerous actions

From Code to Product Lecture 3 — UI Principles — Slide 91 gidgreen.com/course


Dangerous actions

From Code to Product Lecture 3 — UI Principles — Slide 92 gidgreen.com/course


Common actions

From Code to Product Lecture 3 — UI Principles — Slide 93 gidgreen.com/course


Common actions

From Code to Product Lecture 3 — UI Principles — Slide 94 gidgreen.com/course


Lecture 3
•  Introduction
•  Vision
•  Cognition
•  Memory
•  Action
•  Emotion

From Code to Product Lecture 3 — UI Principles — Slide 95 gidgreen.com/course


Emotion

From Code to Product Lecture 3 — UI Principles — Slide 96 gidgreen.com/course


Waiting…

From Code to Product Lecture 3 — UI Principles — Slide 97 gidgreen.com/course


Time limits
Moment of perception
0.01 sec
Stylus input on screen

Hand–eye coordination
0.1 sec
Clicks, drags, keys

Gap in conversation
1 sec
Waiting without progress bar

Concentration on mini-task
10 sec
Wizard step, field entry

From Code to Product Lecture 3 — UI Principles — Slide 98 gidgreen.com/course


Avoid insults

From Code to Product Lecture 3 — UI Principles — Slide 99 gidgreen.com/course


Bestow achievements

From Code to Product Lecture 3 — UI Principles — Slide 100 gidgreen.com/course


Color

From Code to Product Lecture 3 — UI Principles — Slide 101 gidgreen.com/course


Color

From Code to Product Lecture 3 — UI Principles — Slide 102 gidgreen.com/course


Design

From Code to Product Lecture 3 — UI Principles — Slide 103 gidgreen.com/course


But…

From Code to Product Lecture 3 — UI Principles — Slide 104 gidgreen.com/course


Books

From Code to Product Lecture 3 — UI Principles — Slide 105 gidgreen.com/course

You might also like