The document discusses various design patterns for human-computer interfaces. It describes layout patterns like center stage and card stack. It also discusses patterns for user actions and commands, including affordances and button groups. Throughout, it provides examples and considerations for applying each pattern, as well as references to additional resources. The document is a lecture on design patterns for human-computer interaction.
Streamlining Python Development: A Guide to a Modern Project Setup
HCI Design Patterns and Responsive Layouts
1. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Human-Computer Interaction
from design patterns to flow
2. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
“It is not the answer that enlightens,
but the question.”
Eugene Ionesco
3. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
How to present the content to convey
meaning, sequence, and points of interaction?
4. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Design Patterns
layout (Jenifer Tidwell)
5. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Visual framework
assure the use of layout, color and visual style
in a consistent manner
6. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Visual framework
must be flexible regarding the visual design,
depending on the presented content
7. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Visual framework
example:
visual consistency of the traditional applications
and Web sites
8. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
…good or bad layout?
9. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
…good or bad layout?
10. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Center stage
most important part of the UI is located in a center zone,
grouping additional tools in small-size areas
11. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
12. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Center stage
designed by using:
size
color
headlines
context
13. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
14. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Center stage
it could be used in conjunction to
other design patterns – e.g., for Web navigation
15. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Card stack
content sections are placed on different panels (cards)
that can be stacked
only one card is visible at a given moment
16. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Card stack
usually, labeled – horizontal/vertical – tabs are used
the meaning of each label is important
17. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
18. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
19. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Closable panels
placing the content in separate labeled containers
that could be expanded
20. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
variations:
accordion
disclosure triangles
slide drawer
21. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Movable panels
put different tools or sections of content onto
separate panels, and let the user move them around
to form a custom layout
22. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Movable panels
users have liberty to rearrange their workspace
23. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Movable panels
there are situations when it could be inconvenient
why?
24. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Right/left alignment
permits alignment of the content within a form/table
25. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
26. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
27. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
28. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
29. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Right/left alignment
for additional considerations, read the article
Andrew Coyle, “Design Better Forms”, UX Design, 2016
uxdesign.cc/design-better-forms-96fadca0f49c
30. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Right/left alignment
in certain cases,
it could be substituted by other design patterns
31. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
…good or bad design?
32. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Diagonal balance
arrange page elements in an asymmetric fashion,
but balance it by putting visual weight into both
the upper-left and lower-right corners
33. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
example
Science
science.sciencemag.org
34. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Diagonal balance
“Asymmetrical layouts can achieve equilibrium as well,
but their tenser, more dramatic form of balance
depends on careful manipulation to compensate visually
for differences in the size, position,
and value of major elements.”
Kevin Mullet & Darrell Sano
35. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Property sheet
presenting specific properties of an object
usually, a two-column layout or a form are used
36. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
37. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Liquid layout
permits content regrouping
when the presentation area is resized
38. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Liquid layout
in the case of traditional applications,
it could be facilitated by the layout managers
39. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Liquid layout
in the case of traditional applications,
it could be facilitated by the layout managers
examples for Universal Windows Platform (UWP) apps:
RelativePanel – an adaptive UI control
PointerPoint – unifies raw touch, mouse, and pen data
41. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
responsive (Web) design
adapting the design to a certain interaction context
(e.g., screen orientation, resolution, pixel density,…)
by using different (Web) design techniques
Ethan Marcotte, 2010
www.alistapart.com/articles/responsive-web-design/
resources of interest:
https://responsivedesign.is/
discussion
42. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
reality: different manners of interaction
Aaron Gustafson, “Exploring Adaptive Interfaces”, Generate 2017
www.slideshare.net/AaronGustafson/exploring-adaptive-interfaces-generate-2017
43. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
reality: various contexts + changing conditions
Aaron Gustafson, “Exploring Adaptive Interfaces”, Generate 2017
www.slideshare.net/AaronGustafson/exploring-adaptive-interfaces-generate-2017
44. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
reality: user variety & needs
Aaron Gustafson, “Exploring Adaptive Interfaces”, Generate 2017
www.slideshare.net/AaronGustafson/exploring-adaptive-interfaces-generate-2017
45. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
CSS media queries
flexible content
(fonts, tables, images, multimedia)
flexible/fluid grid
in the Web context, we should consider:
46. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
responsive images
responsiveimages.org
responsive data tables
css-tricks.com/responsive-data-tables/
responsive e-mail patterns
responsiveemailpatterns.com
other useful resources:
bradfrost.github.io/this-is-responsive/resources.html
47. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
graceful
degradation
progressive
enhancement
responsive
(Web)
design
mobile first
discussion
48. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
bradfrost.github.com/this-is-responsive/patterns.html
responsive Web patterns
(layout, navigation, content, forms,…)
49. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Design Patterns
user actions & commands
50. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
UI offers to its users certain controls
each action that could be performed by user
must be consequently indicated
51. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
UI offers to its users certain controls
each action that could be performed by user
must be consequently indicated
(perceived) affordance
Donald Norman
52. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
“Affordances provide strong clues
to the operations of things.
Knobs are for turning. Slots are for inserting things into.
Balls are for throwing or bouncing.
When affordances are taken advantage of,
the user knows what to do just by looking:
no picture, label, or instruction needed.”
Donald Norman (1988)
53. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
“Affordances provide strong clues
to the operations of things.
Knobs are for turning. Slots are for inserting things into.
Balls are for throwing or bouncing.
When affordances are taken advantage of,
the user knows what to do just by looking:
no picture, label, or instruction needed.”
Donald Norman (1988)
see also Victor Kaptelinin, “Affordances”, The Encyclopedia of
Human-Computer Interaction (2nd Edition), 2015:
www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-
interaction-2nd-ed/affordances
54. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
user perception of selection controls’ states
hover, focused, pressed, disabled, disabled focused
example: Material Design (Google)
material.io/guidelines/components/selection-controls.html
discussion
55. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
56. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
There must be a logical reason
for using an interaction control
57. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Interaction controls
inspired by reality
Dan Saffer
switch, dial, button, latch, slider, handle
58. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Interaction controls
physical only
joystick, trackball, Wiimote,
data glove, current wearable devices,…
59. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
case study
A. Gharibans et al., “Artifact Rejection Methodology Enables Con-
tinuous, Noninvasive Measurement of Gastric Myoelectric Activity
in Ambulatory Subjects”, Scientific Reports, Vol. 8, March 2018
www.nature.com/articles/s41598-018-23302-9
60. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Interaction controls
digital only
scroll bar, checkbox, radio button, text box,
listview, spinner, etc.
61. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
62. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Interaction controls
digital + physical
examples: mixed reality, interactive tables,
multi-user interfaces,…
63. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
physical + digital retail marketing: PERCH
www.perchinteractive.com/showcase/
case study
64. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Interaction controls
“invisible”
especially for natural UIs
examples: gesture-/voice-/motion-based interactions
65. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
“Be the bird” – a Kinect-based installation allowing users
to retrieve information through full body motion
gagarin.is/work/norwegian_seabird_centre
case study
66. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Button groups
to present related actions as a small cluster of buttons,
aligned either horizontally or vertically
revisit
Gestalt
principles
67. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Button groups
we must create several of them
if there are more than 3—4 actions
remember
Hick’s Law
68. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Button groups
must be consistently placed within the UI
69. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
70. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
71. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Prominent “done” button
place the button that finishes a transaction
at the end of the visual flow
72. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
must focus user’s attention
should be big & well-labeled
usually, the button label
is a textual one,
easy to be noticed
Prominent “done” button
73. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Preview
shows users a preview or summary of what will happen
when they perform an action
e.g., printing, committing an on-line purchase, etc.
74. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Preview
previews help prevent various errors
it could facilitate to explain users some actions
75. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
76. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Progress indicator
indicating how much progress was made
on a time-consuming operation
feedback to the user should be provided
77. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Progress indicator
user must be informed
regarding the system’s current status
e.g., changing mouse cursor, highlighting, progress bar,…
78. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Progress indicator
< 0.1 sec (almost) instantaneous
0.1 – 1 sec no feedback is necessary;
the user will notice that must wait
1 – 5 sec waiting – e.g., busy cursor
>1 – 5 sec showing a progress indicator
79. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Progress indicator
“Display a progress bar that accurately reflects
the time remaining. If you cannot predict how much time
an operation will take, say so!
Do not lie to or misinform users.”
Jef Raskin, 2000
80. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
time-remaining (result-based) progress indicator
81. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
indeterminate-progress indicator
82. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Progress indicator
for practical aspects, see also
Progress Bars vs. Spinners: When to Use Which (2016)
uxmovement.com/navigation/progress-bars-vs-spinners-when-to-use-which/
83. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
84. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Cancelability
provides a way to instantly cancel
a time-consuming operation, with no side effects
85. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Cancelability
if there are simultaneous operations,
we must indicate what it could be canceled
86. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
a hard-to-find Cancel operation (Tidwell, 2005)
87. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Multi-level undo
it offers a way to easily reverse
a series of actions performed by the user
88. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Multi-level undo
undoable operations:
entered text, database transactions, layout changes,
cut & paste, actions regarding certain resources:
images, e-mail messages, etc.
89. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
90. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Command history
keeping a visible record of what was done,
to what, and when
91. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Macros
defining & executing a sequence (group) of small actions
a macro is denoted by a mnemonic
92. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Macros
provide a recording mechanism of user actions
to be automatically executed another time
93. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
94. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Macros
related patterns:
Multi-Level Undo
Command History
95. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Design Patterns
data editing
96. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
A frequent activity performed by users is to edit data
textual, graphical, multimedia (video, sound), etc.
97. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
WYSIWYG (What You See Is What You Get)
desktop publishing
raster/vector image editing
animation scenes
video content
…
98. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
WYSIWYG (What You See Is What You Get)
users have some powerful expectations
for how a text/content editor should work
99. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
discussion
Boxy SVG – a SVG editor for non-technical users
100. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Operation: Direct manipulation
permits users to “directly” interact with interface objects
– by performing operations like grab, push, drag, drop,
stack, paint, transform etc. – via some pointing device
101. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
102. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Operation: Direct manipulation
immediate
actions take place with no apparent wait time
103. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Operation: Direct manipulation
precise
users need to have fine control over the location of
that pointer and the objects attached to it
104. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Operation: Selection
users have certain expectations
regarding the selection of different types of entities:
(non)formatted text, elements of vector graphics,
abstract components, lists, tables, trees, etc.
105. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Text
editors
Vector graphics
editors, GUI
builders
Lists, tables,
trees
Single
click
Move text insertion
cursor here
Select just
this item
Select just
this item
Double
click
Select this word
Open or edit
this item
Open or edit
this item
Triple
click
Select this line,
or select this
paragraph
N/A N/A
Click,
drag,
release
Start selection here,
end it there;
select all text
between them
Select
everything inside
the bounding box
(“rubberband”,
“marquee” or
“marching ants”
selection)
Drag this item
from here to
there
Tidwell (2005)
106. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Text
editors
Vector graphics
editors, GUI
builders
Lists, tables,
trees
Shift-
click
Start selection
at the text insertion
cursor, end it at
the click point, and
select all text
between them
Add this item to
the selection set
Add this item to
the selection set,
plus all
intervening
items
(“contiguous
selection”)
Control-
click
Varies from
application to
application
Varies from
application to
application
Add this item to
the selection set
(“discontiguous
selection”)
Tidwell (2005)
107. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Operation: Selection
regularly, selection of discrete elements is done
by using handles
108. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Edit-in-place
offers a minimalist editor directly in the place
where the user could modify a textual data
109. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Edit-in-place
used to edit files/objects names,
labels, values of properties,…
110. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Smart selection
making the software smart enough to automatically select
a coherent group of items,
rather than making the user do it
examples: text elements, pixels, file names,…
111. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Smart selection
when done thoughtlessly,
smart selections can be irritating
anti-pattern
112. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Composite selection
permits a global selection for a group of entities
113. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Composite selection
use different gestures or clicks/taps in different screen
areas, such as the composite’s edges versus its insides
to determine whether you should select a composite itself
or allow its contained objects to be selected
114. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
115. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Spring-loaded mode
permitting users to change the mode of interaction
by pressing a key or a certain mouse button
typical keys: Shift Alt Ctrl
116. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Constrained resize
supply resize modes with different behavior,
such as preserving aspect ratio,
for use under special circumstances
117. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
118. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Magnetism
making the objects “magnetic” to the things
a user positions them against
when the user drags an object very near one of
these things, it should stick
119. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Magnetism
it helps compensate for
users’ lack of perfect dexterity
with a pointing device
(typically, the mouse)
120. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Guides
it provides horizontal and/or vertical reference lines
in order to facilitate the alignment of certain entities
121. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Guides
guides make it easier for a user to see
that alignment is pixel-perfect
122. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Paste variations
offers special functionalities – e.g., format conversions –
for the paste operation
a classic example:
Paste Special – Microsoft Office
123. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
How about maintaining the user’s flow?
124. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Remark:
keeping a user happy may, therefore,
not only affect satisfaction,
but may also lead to efficiency and creativity
125. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
user interaction (Desmet, 2002; van Gorp, 2006)
value – pleasant vs. unpleasant
arousal – anxiety vs. boredom
126. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Within interaction, related emotional states
must be connectedflow
127. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Flow
the mental state of operation in which a person in
an activity is fully immersed in a feeling of
energized focus, full involvement, and success
in the process of the activity
128. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Flow
the global sentiment experienced by a person
when (s)he is totally involved into a certain activity
excitement (arousal)flowcontrolrelaxation
boredomapathyapprehensionanxiety
optimal
experience
129. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
the first model of the flow state
(Csikszentmihalyi, 1990; van Gorp, 2006; Moneta, 2012)
130. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
autotelic work
Csikszentmihalyi, 1990, 2008
refers to “work” that is experienced as enjoyable and
is associated with flow or optimal experience
characterized by a sense of well being and harmony
with one’s surroundings
131. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Flow
autotelic work
identifying and designing the motivational affordances
in the task and work environment
www.ted.com/talks/mihaly_csikszentmihalyi_on_flow.html
132. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Negative example:
providing feedback that is
perceived as controlling rather
than informative tends
to reduce intrinsic motivation
Deci, Ryan & Koestner, 1999
Szalma & Hancock, 2008
discussion
133. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
Group flow
when a group (team) cooperates to agree on goals,
tasks + behavioral patterns, then the social flow
(group cohesion) is much more likely to occur
Charles Walker (2010)
larger context: crowd psychology
135. Master on Software Engineering :: Human-Computer Interaction
Dr. Sabin-Corneliu Buraga – profs.info.uaic.ro/~busaco/
next lecture:
design patterns for social interactions