5. 6 principles for Crafting Rich Web Experiences
make it direct
keep it lightweight
stay on the page
provide invitations
use transitions
react immediately
30. make it direct. inline editing
accessibility
flickr. alternate edit path
31. make it direct. inline editing
accessibility
flickr. alternate edit path
32. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
33. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability
34. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability
35. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability
36. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability basecamp. symmetry of interaction
37. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability basecamp. symmetry of interaction
38. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability basecamp. symmetry of interaction
39. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability basecamp. symmetry of interaction
40. make it direct. inline editing
group editing
symmetry of interaction
discoverability vs readability
iPhone. non-symmetrical; readability basecamp. symmetry of interaction
“If readability is more important than editing
then keep the editing action hidden
until the user interacts with the content.”
42. make it direct. drag and drop
Take care of the interesting moments
43. make it direct. drag and drop
Take care of the interesting moments
44. make it direct. drag and drop
discoverability
hover invitation
interesting moments
activation on mouse down
tip during alternate path
additional visual affordances
45. make it direct. drag and drop
discoverability
hover invitation
interesting moments
activation on mouse down
tip during alternate path
additional visual affordances
netflix. few hints.
46. make it direct. drag and drop
discoverability
hover invitation
interesting moments
activation on mouse down
tip during alternate path
additional visual affordances
yahoo! teachers. hints during interesting moments
netflix. few hints.
47. make it direct. drag and drop
drag and drop
Not for simply setting an attribute
Don’t construct artificial visual constructs
48. make it direct. drag and drop
anti-pattern. artificial construct
drag and drop
Not for simply setting an attribute
Don’t construct artificial visual constructs
49. make it direct. drag and drop
anti-pattern. artificial construct
drag and drop
Not for simply setting an attribute
Don’t construct artificial visual constructs
50. make it direct. drag and drop
anti-pattern. artificial construct
drag and drop
Not for simply setting an attribute
Don’t construct artificial visual constructs
53. keep it lightweight. contextual tools
digg. in page action
Key to digg’s
early success -
Kevin Rose
54. keep it lightweight. contextual tools
digg. in page action
the gap. remembered collections
55. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
56. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
57. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
58. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
y! movies, y! answers. rating an object
59. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
flickr. in-context tools y! movies, y! answers. rating an object
60. keep it lightweight. contextual tools
digg. in page action y! news, netflix. rating an object
the gap. remembered collections
flickr. in-context tools y! movies, y! answers. rating an object
61. keep it lightweight. contextual tools
Same as context menus
Only good for single objects
Can actually slow you down
62. keep it lightweight. contextual tools
Same as context menus
Only good for single objects
Can actually slow you down
63. keep it lightweight. contextual tools
Same as context menus
Only good for single objects
Can actually slow you down
64. keep it lightweight. contextual tools
Same as context menus
Only good for single objects
Can actually slow you down
65. keep it lightweight. contextual tools
Same as context menus
Only good for single objects
Can actually slow you down
66. keep it lightweight. contextual tools
Remove the “pain points”
Shorten the path
Keep actions immediate and light
Use hover, blur, focus; avoid heavy events
67. keep it lightweight. contextual tools
Remove the “pain points”
Shorten the path
Keep actions immediate and light
Use hover, blur, focus; avoid heavy events
netflix. ratings
68. keep it lightweight. contextual tools
Remove the “pain points”
Shorten the path
Keep actions immediate and light
Use hover, blur, focus; avoid heavy events
digg. vote
click-weight
decision time
netflix. ratings seek time
second guessing
wait time
86. stay on the page. overlay
anti-pattern. y! photos. idiot boxes
87. stay on the page. overlay
anti-pattern. borders. hover & cover
anti-pattern. y! photos. idiot boxes
88. stay on the page. overlay
anti-pattern. borders. hover & cover
anti-pattern. y! photos. idiot boxes
anti-pattern. amazon. mouse trap
89. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
90. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
91. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
bbc. in-context configuration
92. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration
93. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration
94. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration roost. in-context insight
95. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration roost. in-context insight
96. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration roost. in-context insight
97. stay on the page. inlay
inlays
in-context configuration
in-context insight
parallel content
inlay vs. overlay
my y!. in-context configuration
y! autos. accordion
bbc. in-context configuration roost. in-context insight
98. stay on the page. virtual
Rethink paging
use scrolling for “owned” data
watch out for dual scroll bar issue
hybrid of paging & scrolling
99. stay on the page. virtual
mlslistings. pagination
Rethink paging
use scrolling for “owned” data
watch out for dual scroll bar issue
hybrid of paging & scrolling
100. stay on the page. virtual
mlslistings. pagination
Rethink paging
use scrolling for “owned” data
watch out for dual scroll bar issue
hybrid of paging & scrolling
y! health. carousel
101. stay on the page. virtual
mlslistings. pagination
Rethink paging
use scrolling for “owned” data
watch out for dual scroll bar issue
hybrid of paging & scrolling
y! health. carousel
y! mail. on-demand scrolling
102. stay on the page. virtual
mlslistings. pagination
Rethink paging
use scrolling for “owned” data
watch out for dual scroll bar issue
hybrid of paging & scrolling
y! health. carousel
microsoft live. paged scrolling y! mail. on-demand scrolling
103. stay on the page. virtual
Rethink paging
in-place paging
zoomable user interface (zui)
104. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
105. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
106. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
107. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
hard rock cafe. zui
108. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
hard rock cafe. zui
109. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
hard rock cafe. zui
110. stay on the page. virtual
endless. seamless paging
Rethink paging
in-place paging
zoomable user interface (zui)
hard rock cafe. zui cool iris (piclens). zui
111. stay on the page. process flow
rethink process flows
the user’s mental model vs page model
every page jump is a mental speed bump
112. stay on the page. process flow
rethink process flows
the user’s mental model vs page model
every page jump is a mental speed bump
the gap. inline assistant
113. stay on the page. process flow
rethink process flows
the user’s mental model vs page model
every page jump is a mental speed bump
the gap. inline checkout
the gap. inline assistant
114. stay on the page. process flow
rethink process flows
the user’s mental model vs page model
every page jump is a mental speed bump
the gap. inline checkout
the gap. inline assistant
115. stay on the page. process flow
rethink process flows
the user’s mental model vs page model
every page jump is a mental speed bump
the gap. inline checkout
the gap. inline assistant broadmoor hotel. one page checkout
116. stay on the page. process flow
step by step?
yes, sometimes works best
117. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
118. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
119. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
120. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
121. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
122. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
123. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
124. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
netflix. step by step
125. stay on the page. process flow
step by step?
yes, sometimes works best
discover card. step by step
netflix. step by step ebay. single page flow
126. stay on the page. anti-patterns
the answer is in testing
127. stay on the page. anti-patterns
the answer is in testing
netflix. stalker overlay
128. stay on the page. anti-patterns
the answer is in testing
netflix. simpler overlay
netflix. stalker overlay
134. offer an invitation. static invitation
call to action
1-2-3 messaging
spotlighting or lightbox
provide a peek
135. offer an invitation. static invitation
call to action
1-2-3 messaging
spotlighting or lightbox
provide a peek
discover! 1-2-3 call to action
136. offer an invitation. static invitation
call to action
1-2-3 messaging
spotlighting or lightbox
provide a peek
discover! 1-2-3 call to action
yahoo! tour invitation
137. offer an invitation. static invitation
call to action
1-2-3 messaging
spotlighting or lightbox
provide a peek
discover! 1-2-3 call to action
yahoo! tour invitation
starz play! sneak peek in carousel
138. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions
139. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions
flickr. hover invitation
140. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions
flickr. hover invitation
141. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions
backpackit. tooltip invitation + hover invitation +
cursor invitation
flickr. hover invitation
142. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions
backpackit. tooltip invitation + hover invitation +
cursor invitation
flickr. hover invitation y! movies. hover invitation
143. offer an invitation. dynamic invitation
Discoverability
No easy answer
Use the hover to reveal interaction
Use the familiar to teach the new
Can’t flag all interactions backpackit (fake). being too explicit
backpackit. tooltip invitation + hover invitation +
cursor invitation
flickr. hover invitation y! movies. hover invitation
144. offer an invitation. dynamic invitation
drag and drop
use the interesting moments
before, during and after
145. offer an invitation. dynamic invitation
drag and drop
use the interesting moments
before, during and after
flickr. drop here invitation (static)
146. offer an invitation. dynamic invitation
drag and drop
use the interesting moments
before, during and after
flickr. drop here invitation (interactive)
flickr. drop here invitation (static)
147. offer an invitation. dynamic invitation
drag and drop
use the interesting moments
before, during and after
flickr. drop here invitation (interactive)
flickr. drop here invitation (static)
148. offer an invitation. dynamic invitation
drag and drop
use the interesting moments
before, during and after
flickr. drop here invitation (interactive)
flickr. drop here invitation (static)
149. offer an invitation. dynamic invitation
bridge the new with the old
hyperlinks as actions
reveal with hovers
drop down clues
150. offer an invitation. dynamic invitation
bridge the new with the old
hyperlinks as actions
reveal with hovers
drop down clues
the gap. button
151. offer an invitation. dynamic invitation
bridge the new with the old
hyperlinks as actions
reveal with hovers
drop down clues
the gap. button
y! mail. embedded buttons
152. offer an invitation. dynamic invitation
bridge the new with the old
hyperlinks as actions
reveal with hovers
drop down clues
the gap. button
backpackit. revealed hyperlinks/icons
y! mail. embedded buttons
153. offer an invitation. dynamic invitation
bridge the new with the old
hyperlinks as actions
reveal with hovers
drop down clues
the gap. button
backpackit. revealed hyperlinks/icons
y! mail. embedded buttons flickr. drop down affordance
198. react immediately
Keep the goal in mind
Design for relevancy
Is it narrowing or distracting?
Use feedback to boost confidence
Let the user iterate where possible
199. react immediately
Keep the goal in mind
Design for relevancy
Is it narrowing or distracting?
Use feedback to boost confidence
Let the user iterate where possible
200. react immediately
Keep the goal in mind
Design for relevancy
Is it narrowing or distracting?
Use feedback to boost confidence
Let the user iterate where possible
201. react immediately
Keep the goal in mind
Design for relevancy
Is it narrowing or distracting?
Use feedback to boost confidence
Let the user iterate where possible
roost
202. react immediately
Shape user perception
Make time pass faster
Make application feel more responsive
203. react immediately
Shape user perception
Make time pass faster
Make application feel more responsive
204. react immediately
Shape user perception
Make time pass faster
Make application feel more responsive
205. react immediately
Prevent errors before-hand
Ounce of preventive design worth pound of error-handling
Look before you leap
206. react immediately
Prevent errors before-hand
Ounce of preventive design worth pound of error-handling
Look before you leap
207. react immediately
Prevent errors before-hand
Ounce of preventive design worth pound of error-handling
Look before you leap
208. react immediately
Prevent errors before-hand
Ounce of preventive design worth pound of error-handling
Look before you leap
209. react immediately
Keep feedback focused
Avoid side-noise (peripheral distractions)
Use laws of proximity in context feedback
Respect feedback bandwidth
210. react immediately
Keep feedback focused
Avoid side-noise (peripheral distractions)
Use laws of proximity in context feedback
Respect feedback bandwidth
211. react immediately
Keep feedback focused
Avoid side-noise (peripheral distractions)
Use laws of proximity in context feedback
Respect feedback bandwidth
212. react immediately
Keep feedback focused
Avoid side-noise (peripheral distractions)
Use laws of proximity in context feedback
Respect feedback bandwidth
219. 6 principles for Crafting Rich Web Experiences
make it direct
keep it lightweight
stay on the page
provide invitations
use transitions
react immediately
Upcoming Book:
Designing Web Interfaces: Principles & Patterns for Rich Interfaces
O’Reilly
This Presentation:
http://billwscott.com/share/presentations/2008/ajaxworld