Talk by Andreas Karrenbauer / Max Planck Institute for Informatics. Presented at the CHI conference (chi2018.acm.org) by Andreas Karrenbauer / Max Planck. In collaboration with Anna Maria Feit, Antti Oulasvita, and Perttu Lähteenlahti
"Computational Support for Functionality Selection in Interaction Design" CHI 2018 talk
1. Computational Support for Functionality
Selection in Interaction Design
Andreas Karrenbauer
joint work with
Antti Oulasvirta
Anna Feit
Perttu L¨ahteenlahti
http://userinterfaces.aalto.fi/functionality/
5. Paper outline
New explorative optimization method to support early stage design
Choice of functionality for a service or application
3
6. Paper outline
New explorative optimization method to support early stage design
Choice of functionality for a service or application
Helps designers to
explore design options more broadly,
resolve conflicts, and
see new opportunities.
3
7. Paper outline
New explorative optimization method to support early stage design
Choice of functionality for a service or application
Helps designers to
explore design options more broadly,
resolve conflicts, and
see new opportunities.
Mathematical integer optimization formulation
based on empirical study of designers.
3
8. Interaction Design and Design Thinking
Interaction design creates, shapes, and
decides use-oriented qualities (structural,
functional, ethical, and asthetic) of a
digital artefact.
[L¨ogren & Stolterman 2004]
Complexity emerges within activities of
designing, experienced through acts of
reflection, decision, and judgment.
[Goodman et al. 2011]
Designer continuously engage in refining
the objectives and constraints of a
design.
[Dorst & Cross 2001]
4
11. Challenges for computational methods
Task
ill-defined, hard-to-formalize, underdetermined, subjective, tacit, dynamic
Designers
continuously refine objectives and constraints
iterative, selective, corrective
user profiles, use cases, storyboards, user requirements, scenarios
sketching, wireframing, rapid prototyping
6
12. Challenges for computational methods
Task
ill-defined, hard-to-formalize, underdetermined, subjective, tacit, dynamic
Designers
continuously refine objectives and constraints
iterative, selective, corrective
user profiles, use cases, storyboards, user requirements, scenarios
sketching, wireframing, rapid prototyping
Stakeholders
teams with different roles and dynamics
business and technical aspects
challenge to address all objectives, fit their practices
6
13. Contribution Overview
Efficient mathematical model
based on literature and empirical prestudy with designers to elicit objectives
exploits the power of integer optimization
7
14. Contribution Overview
Efficient mathematical model
based on literature and empirical prestudy with designers to elicit objectives
exploits the power of integer optimization
Explorative approach via sampling
allows for differentiation among users
is robust to uncertainty
controllable and predictable
7
15. Contribution Overview
Efficient mathematical model
based on literature and empirical prestudy with designers to elicit objectives
exploits the power of integer optimization
Explorative approach via sampling
allows for differentiation among users
is robust to uncertainty
controllable and predictable
Solution mining
delivers diverse designs
explores alternatives
reveals surprising designs
finds a best compromise
identifies opportunities
7
17. Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
Objective: Goodness
G = ωU U + ωSS + ωEE + ωP P
8
18. Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
Objective: Goodness
G = ωU U + ωSS + ωEE + ωP P
usability U
e.g., U =
v∈S
w∈S
uvw +
w∈S
uv ¯w
8
19. Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
Objective: Goodness
G = ωU U + ωSS + ωEE + ωP P
usability U
e.g., U =
v∈S
w∈S
uvw +
w∈S
uv ¯w
satisfaction S
e.g., S =
v∈S
sv
8
20. Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
Objective: Goodness
G = ωU U + ωSS + ωEE + ωP P
usability U
e.g., U =
v∈S
w∈S
uvw +
w∈S
uv ¯w
satisfaction S
e.g., S =
v∈S
sv
ease of use E
e.g., E =
v∈S
rv
8
21. Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
Objective: Goodness
G = ωU U + ωSS + ωEE + ωP P
usability U
e.g., U =
v∈S
w∈S
uvw +
w∈S
uv ¯w
profitability P
e.g.,
P =
v∈S
pv =
v∈S
(vv − cv)
satisfaction S
e.g., S =
v∈S
sv
ease of use E
e.g., E =
v∈S
rv
8
23. Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
P
c
¯x
x∗
1. Great modeling power
2. Efficient general purpose solvers
9
24. Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
time
objective
global optimum
1. Great modeling power
2. Efficient general purpose solvers
3. Exact Methods finding the global optimum
in finite time
9
25. Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
time
objective
global optimum
1. Great modeling power
2. Efficient general purpose solvers
3. Exact Methods finding the global optimum
in finite time
4. Rigorous bounds for the optimum
even when interrupted prematurely
9
26. Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
time
objective
global optimum
injected by other method
1. Great modeling power
2. Efficient general purpose solvers
3. Exact Methods finding the global optimum
in finite time
4. Rigorous bounds for the optimum
even when interrupted prematurely
5. Complementary to other methods
(e.g., Simulated Annealing)
9
27. Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
time
objective
global optimum
injected by other method
1. Great modeling power
2. Efficient general purpose solvers
3. Exact Methods finding the global optimum
in finite time
4. Rigorous bounds for the optimum
even when interrupted prematurely
5. Complementary to other methods
(e.g., Simulated Annealing)
6. Practical
9
29. Explorative optimization and visualizations
inputs from designers are
noisy
sampling of i instances,
e.g., 104 ≤ i ≤ 105
mining of k diverse and
one robust solution
11
32. Controlled evaluation with Designers
Phase 1 Design
Functionality
evaluation
Phase 2
Functionality
Design
evaluation
Phase 3
Ranking of Designs
(i) only own
(ii) only Optimizer’s
(iii) both together
13
33. Controlled evaluation with Designers
Phase 1 Design
Functionality
evaluation
Phase 2
Functionality
Design
evaluation
Phase 3
Ranking of Designs
(i) only own
(ii) only Optimizer’s
(iii) both together
Results
Optimizer was among top 3
in 9 out of 11 cases.
Optimizer was ranked 1st
in 6 cases.
Optimizer was not appreciated
in only 2 cases.
Optimizer showed alternative ways
to think about the problem.
13
34. Deployment in a Company: Service Design
Online Platform for recording TV channels and video on demand
79 existing functionalities
84 new functionalities
14
35. Deployment in a Company: Service Design
Online Platform for recording TV channels and video on demand
79 existing functionalities
84 new functionalities
Survey return 8/15
1 designer, 1 business manager, 3 developpers, 3 technical product owners
rated between 1 and 5 aspects each where
7 rated usefulness, 6 satisfaction, 4 ease of use, 6 satisfaction, 4 business value, 2 costs
14
36. Deployment in a Company: Service Design
Online Platform for recording TV channels and video on demand
79 existing functionalities
84 new functionalities
Survey return 8/15
1 designer, 1 business manager, 3 developpers, 3 technical product owners
rated between 1 and 5 aspects each where
7 rated usefulness, 6 satisfaction, 4 ease of use, 6 satisfaction, 4 business value, 2 costs
Workshop assesment of 7 optimized designs
high interest in minimalistic design
general feedback: tedious rating of functionalities
tool for early stage development
14
37. Summary
Take-home messages
Identified and defiend a hard combinatorial problem in early-stage design
Proposed an efficient mathematical definition
that allows exploration and is compatible with design practice
Integer programming is suitable for design
thanks to natural representation of the decision problem
15
38. Summary
Take-home messages
Identified and defiend a hard combinatorial problem in early-stage design
Proposed an efficient mathematical definition
that allows exploration and is compatible with design practice
Integer programming is suitable for design
thanks to natural representation of the decision problem
http://userinterfaces.aalto.fi/functionality/
15
39. Summary
Take-home messages
Identified and defiend a hard combinatorial problem in early-stage design
Proposed an efficient mathematical definition
that allows exploration and is compatible with design practice
Integer programming is suitable for design
thanks to natural representation of the decision problem
Thank you for your attention!
http://userinterfaces.aalto.fi/functionality/
15