"Computational Support for Functionality Selection in Interaction Design" CHI 2018 talk

Aalto University
Aalto UniversityAalto University
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/
Introduction
2
Introduction
100 functionalities 1,267,650,600,228,229,401,496,703,205,375 combinations
2
Introduction
100 functionalities 1,267,650,600,228,229,401,496,703,205,375 combinations
1364 functionalities > 4 · 10410 combinations
2
Paper outline
New explorative optimization method to support early stage design
Choice of functionality for a service or application
3
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
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
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
Design Process
5
Challenges for computational methods
Task
ill-defined, hard-to-formalize, underdetermined, subjective, tacit, dynamic
6
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
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
Contribution Overview
Efficient mathematical model
based on literature and empirical prestudy with designers to elicit objectives
exploits the power of integer optimization
7
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
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
Functionality Selection
Task
Given a set of functionalities V , find the best selection S ⊆ V .
8
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
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
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
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
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
Integer Optimization
max{cT
x : x ∈ P ∩ Zn
} where P := {x ∈ Rn
: Ax ≤ b}
Benefits
P
c
¯x
x∗
9
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
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
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
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
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
Walkthrough
10
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
Example outputs (note taking app with up to 106 functionalities)
R
Usefulness
Satisfaction
Ease of use
Profitability
66 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
A
Usefulness
Satisfaction
Ease of use
Profitability
76 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
B
Usefulness
Satisfaction
Ease of use
Profitability
14 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
12
Example outputs (note taking app with up to 106 functionalities)
C
Usefulness
Satisfaction
Ease of use
Profitability
45 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
D
Usefulness
Satisfaction
Ease of use
Profitability
106 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
E
Usefulness
Satisfaction
Ease of use
Profitability
62 functionalities
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_color
Find
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
Add_column_to_table
Add_row_to_table
Align_text
Bullet_size
Bullet_type
Bullets
Cell_color
Cell_margins
Change_encoding
Change_number_size
Change_start_number
Character_spacing
Choose_printer
Close
Close_all_windows
Column_size
Compare_documents
Copy
Create_notebook
Create_table
Cut
Delete_element
Delete_file
Delete_notebook
Draw_freehand
Draw_shape
Exit
Export
Fill_colorFind
Font_color
Font_size
Full_screen
Handwriting_recognition
Indent
Insert_blank_page
Insert_date_and_time
Insert_horizontal_line
Insert_link
Insert_picture
Insert_video
Line_color
Line_number_color
Line_number_continuation
Line_number_font
Line_number_size
Line_numbers
Line_spacing
Line_style
Line_wrap
Link_to_calendar_entry
Margins
Mark_all_text
Mark_text
Merge_cells
Move_document_to_other_view
Move_note_to_notebook
New
Number_of_copies
Number_style
Numbering
Open
Open_containing_folder
Orientation
Page_break
Page_size
Paragraph_spacing
Paste
Print_current_page
Print_custom_range
Print_document
Print_multiple_pages_per_sheet
Print_selection
Printer_settings
Publish_online
Put_on_home_screen
Recently_opened
Record_audio
Redo
Remove_column_from_table
Remove_row_from_table
Rename
Rename_notebook
Replace
Row_size
Save
Save_all_windows
Search_printer
Share
Show_grid
Show_ruler
Sort_elements
Spell_check
Split_cell
Split_view
Synchronize_scrolling
Table_border
Text_alignment_in_table
Text_background_color
Text_columns
Text_font
Text_style
Type_text
Undo
Voice_recognition
Zoom
File creation and organization
Link and share
Printing
Table
Structural elements
Input
Text style options
Page layout
Controls
View
12
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
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
Deployment in a Company: Service Design
Online Platform for recording TV channels and video on demand
79 existing functionalities
84 new functionalities
14
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
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
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
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
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
1 of 39

Recommended

Survadapt-Webinar_2014_SLIDES by
Survadapt-Webinar_2014_SLIDESSurvadapt-Webinar_2014_SLIDES
Survadapt-Webinar_2014_SLIDEStherealreverendbayes
394 views35 slides
Efficient Similarity Computation for Collaborative Filtering in Dynamic Envir... by
Efficient Similarity Computation for Collaborative Filtering in Dynamic Envir...Efficient Similarity Computation for Collaborative Filtering in Dynamic Envir...
Efficient Similarity Computation for Collaborative Filtering in Dynamic Envir...Olivier Jeunen
328 views27 slides
Master thesis job shop generic time lag max plus by
Master thesis job shop generic time lag max plusMaster thesis job shop generic time lag max plus
Master thesis job shop generic time lag max plusSiddhartha Verma
199 views63 slides
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION by
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATIONA MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATION
A MODIFIED VORTEX SEARCH ALGORITHM FOR NUMERICAL FUNCTION OPTIMIZATIONijaia
227 views18 slides
Machine learning interviews day4 by
Machine learning interviews   day4Machine learning interviews   day4
Machine learning interviews day4rajmohanc
1.5K views17 slides
GENETIC ALGORITHM FOR FUNCTION APPROXIMATION: AN EXPERIMENTAL INVESTIGATION by
GENETIC ALGORITHM FOR FUNCTION APPROXIMATION: AN EXPERIMENTAL INVESTIGATIONGENETIC ALGORITHM FOR FUNCTION APPROXIMATION: AN EXPERIMENTAL INVESTIGATION
GENETIC ALGORITHM FOR FUNCTION APPROXIMATION: AN EXPERIMENTAL INVESTIGATIONijaia
193 views9 slides

More Related Content

Similar to "Computational Support for Functionality Selection in Interaction Design" CHI 2018 talk

Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe... by
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...Aalto University
1.3K views63 slides
System approach in civil engg slideshare.vvs by
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsvrushali sasane
1.1K views12 slides
Efficient evaluation of flatness error from Coordinate Measurement Data using... by
Efficient evaluation of flatness error from Coordinate Measurement Data using...Efficient evaluation of flatness error from Coordinate Measurement Data using...
Efficient evaluation of flatness error from Coordinate Measurement Data using...Ali Shahed
55 views16 slides
ANSSummer2015 by
ANSSummer2015ANSSummer2015
ANSSummer2015Mohammad Abdo
163 views63 slides
Development of Multi-Level ROM by
Development of Multi-Level ROMDevelopment of Multi-Level ROM
Development of Multi-Level ROMMohammad
149 views63 slides
Development Infographic by
Development InfographicDevelopment Infographic
Development InfographicRealMassive
170 views1 slide

Similar to "Computational Support for Functionality Selection in Interaction Design" CHI 2018 talk(20)

Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe... by Aalto University
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...
Model-Based User Interface Optimization: Part I INTRODUCTION - At SICSA Summe...
Aalto University1.3K views
System approach in civil engg slideshare.vvs by vrushali sasane
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvs
vrushali sasane1.1K views
Efficient evaluation of flatness error from Coordinate Measurement Data using... by Ali Shahed
Efficient evaluation of flatness error from Coordinate Measurement Data using...Efficient evaluation of flatness error from Coordinate Measurement Data using...
Efficient evaluation of flatness error from Coordinate Measurement Data using...
Ali Shahed55 views
Development of Multi-Level ROM by Mohammad
Development of Multi-Level ROMDevelopment of Multi-Level ROM
Development of Multi-Level ROM
Mohammad 149 views
Development Infographic by RealMassive
Development InfographicDevelopment Infographic
Development Infographic
RealMassive170 views
A robust multi criteria optimization approach by Phuong Dx
A robust multi criteria optimization approachA robust multi criteria optimization approach
A robust multi criteria optimization approach
Phuong Dx332 views
Tudelft stramien 16_9_on_optimization by Pirouz Nourian
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimization
Pirouz Nourian690 views
A machine learning method for efficient design optimization in nano-optics by JCMwave
A machine learning method for efficient design optimization in nano-optics A machine learning method for efficient design optimization in nano-optics
A machine learning method for efficient design optimization in nano-optics
JCMwave623 views
LNCS 5050 - Bilevel Optimization and Machine Learning by butest
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learning
butest598 views
Transfer Learning for Improving Model Predictions in Highly Configurable Soft... by Pooyan Jamshidi
Transfer Learning for Improving Model Predictions in Highly Configurable Soft...Transfer Learning for Improving Model Predictions in Highly Configurable Soft...
Transfer Learning for Improving Model Predictions in Highly Configurable Soft...
Pooyan Jamshidi932 views
XGBoost @ Fyber by Daniel Hen
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
Daniel Hen359 views
Tuning for Systematic Trading: Talk 2: Deep Learning by SigOpt
Tuning for Systematic Trading: Talk 2: Deep LearningTuning for Systematic Trading: Talk 2: Deep Learning
Tuning for Systematic Trading: Talk 2: Deep Learning
SigOpt118 views
Final hrm project 2003 by Adil Shaikh
Final hrm project 2003Final hrm project 2003
Final hrm project 2003
Adil Shaikh562 views
Analytics of analytics pipelines: from optimising re-execution to general Dat... by Paolo Missier
Analytics of analytics pipelines:from optimising re-execution to general Dat...Analytics of analytics pipelines:from optimising re-execution to general Dat...
Analytics of analytics pipelines: from optimising re-execution to general Dat...
Paolo Missier61 views

More from Aalto University

"Computational rationality as a theory of interaction" - CHI'22 paper by
"Computational rationality as a theory of interaction" - CHI'22 paper"Computational rationality as a theory of interaction" - CHI'22 paper
"Computational rationality as a theory of interaction" - CHI'22 paperAalto University
108 views19 slides
Observations on typing from 136 million keystrokes - Presentation by Antti Ou... by
Observations on typing from 136 million keystrokes - Presentation by Antti Ou...Observations on typing from 136 million keystrokes - Presentation by Antti Ou...
Observations on typing from 136 million keystrokes - Presentation by Antti Ou...Aalto University
1.1K views39 slides
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018 by
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018Neuromechanics of a Button Press: A talk at CHI 2018, April 2018
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018Aalto University
914 views31 slides
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ... by
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...Aalto University
480 views59 slides
Inverse Modeling for Cognitive Science "in the Wild" by
Inverse Modeling for Cognitive Science "in the Wild"Inverse Modeling for Cognitive Science "in the Wild"
Inverse Modeling for Cognitive Science "in the Wild"Aalto University
291 views75 slides
Computational Rationality I - a Lecture at Aalto University by Antti Oulasvirta by
Computational Rationality I - a Lecture at Aalto University by Antti OulasvirtaComputational Rationality I - a Lecture at Aalto University by Antti Oulasvirta
Computational Rationality I - a Lecture at Aalto University by Antti OulasvirtaAalto University
1.3K views122 slides

More from Aalto University(16)

"Computational rationality as a theory of interaction" - CHI'22 paper by Aalto University
"Computational rationality as a theory of interaction" - CHI'22 paper"Computational rationality as a theory of interaction" - CHI'22 paper
"Computational rationality as a theory of interaction" - CHI'22 paper
Aalto University108 views
Observations on typing from 136 million keystrokes - Presentation by Antti Ou... by Aalto University
Observations on typing from 136 million keystrokes - Presentation by Antti Ou...Observations on typing from 136 million keystrokes - Presentation by Antti Ou...
Observations on typing from 136 million keystrokes - Presentation by Antti Ou...
Aalto University1.1K views
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018 by Aalto University
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018Neuromechanics of a Button Press: A talk at CHI 2018, April 2018
Neuromechanics of a Button Press: A talk at CHI 2018, April 2018
Aalto University914 views
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ... by Aalto University
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
User Interfaces that Design Themselves: Talk given at Data-Driven Design Day ...
Aalto University480 views
Inverse Modeling for Cognitive Science "in the Wild" by Aalto University
Inverse Modeling for Cognitive Science "in the Wild"Inverse Modeling for Cognitive Science "in the Wild"
Inverse Modeling for Cognitive Science "in the Wild"
Aalto University291 views
Computational Rationality I - a Lecture at Aalto University by Antti Oulasvirta by Aalto University
Computational Rationality I - a Lecture at Aalto University by Antti OulasvirtaComputational Rationality I - a Lecture at Aalto University by Antti Oulasvirta
Computational Rationality I - a Lecture at Aalto University by Antti Oulasvirta
Aalto University1.3K views
HCI Research as Problem-Solving [CHI'16, presentation slides] by Aalto University
HCI Research as Problem-Solving [CHI'16, presentation slides] HCI Research as Problem-Solving [CHI'16, presentation slides]
HCI Research as Problem-Solving [CHI'16, presentation slides]
Aalto University4.2K views
Can Computers Design? Presented at interaction16, March 2, 2016, Helsinki by ... by Aalto University
Can Computers Design? Presented at interaction16, March 2, 2016, Helsinki by ...Can Computers Design? Presented at interaction16, March 2, 2016, Helsinki by ...
Can Computers Design? Presented at interaction16, March 2, 2016, Helsinki by ...
Aalto University2.1K views
Model-Based User Interface Optimization: Part V: DISCUSSION - At SICSA Summer... by Aalto University
Model-Based User Interface Optimization: Part V: DISCUSSION - At SICSA Summer...Model-Based User Interface Optimization: Part V: DISCUSSION - At SICSA Summer...
Model-Based User Interface Optimization: Part V: DISCUSSION - At SICSA Summer...
Aalto University911 views
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ... by Aalto University
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Aalto University671 views
Model-Based User Interface Optimization: Part III: SOLVING REAL PROBLEMS - At... by Aalto University
Model-Based User Interface Optimization: Part III: SOLVING REAL PROBLEMS - At...Model-Based User Interface Optimization: Part III: SOLVING REAL PROBLEMS - At...
Model-Based User Interface Optimization: Part III: SOLVING REAL PROBLEMS - At...
Aalto University1.1K views
Model-Based User Interface Optimization: Part II: LETTER ASSIGNMENT - At SICS... by Aalto University
Model-Based User Interface Optimization: Part II: LETTER ASSIGNMENT - At SICS...Model-Based User Interface Optimization: Part II: LETTER ASSIGNMENT - At SICS...
Model-Based User Interface Optimization: Part II: LETTER ASSIGNMENT - At SICS...
Aalto University2.4K views
CHI 2014 talk by Antti Oulasvirta: Automated Nonlinear Regression Modeling fo... by Aalto University
CHI 2014 talk by Antti Oulasvirta: Automated Nonlinear Regression Modeling fo...CHI 2014 talk by Antti Oulasvirta: Automated Nonlinear Regression Modeling fo...
CHI 2014 talk by Antti Oulasvirta: Automated Nonlinear Regression Modeling fo...
Aalto University1.5K views
Information Capacity of Full-body Movements (CHI'13) by Aalto University
Information Capacity of Full-body Movements (CHI'13)Information Capacity of Full-body Movements (CHI'13)
Information Capacity of Full-body Movements (CHI'13)
Aalto University1.1K views
Improving Two-Thumb Text Entry on Touchscreen Devices by Aalto University
Improving Two-Thumb Text Entry on Touchscreen DevicesImproving Two-Thumb Text Entry on Touchscreen Devices
Improving Two-Thumb Text Entry on Touchscreen Devices
Aalto University1.5K views
Studying interaction with 3D mobile maps by Aalto University
Studying interaction with 3D mobile mapsStudying interaction with 3D mobile maps
Studying interaction with 3D mobile maps
Aalto University785 views

Recently uploaded

ELECTRON TRANSPORT CHAIN by
ELECTRON TRANSPORT CHAINELECTRON TRANSPORT CHAIN
ELECTRON TRANSPORT CHAINDEEKSHA RANI
11 views16 slides
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F... by
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...SwagatBehera9
5 views36 slides
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy... by
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...Anmol Vishnu Gupta
7 views10 slides
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe... by
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...Anmol Vishnu Gupta
28 views12 slides
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana... by
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...jahnviarora989
7 views12 slides
별헤는 사람들 2023년 12월호 전명원 교수 자료 by
별헤는 사람들 2023년 12월호 전명원 교수 자료별헤는 사람들 2023년 12월호 전명원 교수 자료
별헤는 사람들 2023년 12월호 전명원 교수 자료sciencepeople
68 views30 slides

Recently uploaded(20)

ELECTRON TRANSPORT CHAIN by DEEKSHA RANI
ELECTRON TRANSPORT CHAINELECTRON TRANSPORT CHAIN
ELECTRON TRANSPORT CHAIN
DEEKSHA RANI11 views
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F... by SwagatBehera9
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
Effect of Integrated Nutrient Management on Growth and Yield of Solanaceous F...
SwagatBehera95 views
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy... by Anmol Vishnu Gupta
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...
Evaluation and Standardization of the Marketed Polyherbal drug Patanjali Divy...
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe... by Anmol Vishnu Gupta
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...
Study on Drug Drug Interaction Through Prescription Analysis of Type II Diabe...
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana... by jahnviarora989
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...
Structure of purines and pyrimidines - Jahnvi arora (11228108), mmdu ,mullana...
jahnviarora9897 views
별헤는 사람들 2023년 12월호 전명원 교수 자료 by sciencepeople
별헤는 사람들 2023년 12월호 전명원 교수 자료별헤는 사람들 2023년 12월호 전명원 교수 자료
별헤는 사람들 2023년 12월호 전명원 교수 자료
sciencepeople68 views
selection of preformed arch wires during the alignment stage of preadjusted o... by MaherFouda1
selection of preformed arch wires during the alignment stage of preadjusted o...selection of preformed arch wires during the alignment stage of preadjusted o...
selection of preformed arch wires during the alignment stage of preadjusted o...
MaherFouda17 views
Exploring the nature and synchronicity of early cluster formation in the Larg... by Sérgio Sacani
Exploring the nature and synchronicity of early cluster formation in the Larg...Exploring the nature and synchronicity of early cluster formation in the Larg...
Exploring the nature and synchronicity of early cluster formation in the Larg...
Sérgio Sacani1.4K views
Determination of color fastness to rubbing(wet and dry condition) by crockmeter. by ShadmanSakib63
Determination of color fastness to rubbing(wet and dry condition) by crockmeter.Determination of color fastness to rubbing(wet and dry condition) by crockmeter.
Determination of color fastness to rubbing(wet and dry condition) by crockmeter.
ShadmanSakib636 views
2. Natural Sciences and Technology Author Siyavula.pdf by ssuser821efa
2. Natural Sciences and Technology Author Siyavula.pdf2. Natural Sciences and Technology Author Siyavula.pdf
2. Natural Sciences and Technology Author Siyavula.pdf
ssuser821efa11 views
A giant thin stellar stream in the Coma Galaxy Cluster by Sérgio Sacani
A giant thin stellar stream in the Coma Galaxy ClusterA giant thin stellar stream in the Coma Galaxy Cluster
A giant thin stellar stream in the Coma Galaxy Cluster
Sérgio Sacani19 views
A Ready-to-Analyze High-Plex Spatial Signature Development Workflow for Cance... by InsideScientific
A Ready-to-Analyze High-Plex Spatial Signature Development Workflow for Cance...A Ready-to-Analyze High-Plex Spatial Signature Development Workflow for Cance...
A Ready-to-Analyze High-Plex Spatial Signature Development Workflow for Cance...
InsideScientific115 views
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ... by ILRI
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
Small ruminant keepers’ knowledge, attitudes and practices towards peste des ...
ILRI6 views

"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/
  • 4. Introduction 100 functionalities 1,267,650,600,228,229,401,496,703,205,375 combinations 1364 functionalities > 4 · 10410 combinations 2
  • 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
  • 10. Challenges for computational methods Task ill-defined, hard-to-formalize, underdetermined, subjective, tacit, dynamic 6
  • 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
  • 16. Functionality Selection Task Given a set of functionalities V , find the best selection S ⊆ V . 8
  • 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
  • 22. Integer Optimization max{cT x : x ∈ P ∩ Zn } where P := {x ∈ Rn : Ax ≤ b} Benefits P c ¯x x∗ 9
  • 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
  • 30. Example outputs (note taking app with up to 106 functionalities) R Usefulness Satisfaction Ease of use Profitability 66 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View A Usefulness Satisfaction Ease of use Profitability 76 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View B Usefulness Satisfaction Ease of use Profitability 14 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View 12
  • 31. Example outputs (note taking app with up to 106 functionalities) C Usefulness Satisfaction Ease of use Profitability 45 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View D Usefulness Satisfaction Ease of use Profitability 106 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View E Usefulness Satisfaction Ease of use Profitability 62 functionalities Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_color Find Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom Add_column_to_table Add_row_to_table Align_text Bullet_size Bullet_type Bullets Cell_color Cell_margins Change_encoding Change_number_size Change_start_number Character_spacing Choose_printer Close Close_all_windows Column_size Compare_documents Copy Create_notebook Create_table Cut Delete_element Delete_file Delete_notebook Draw_freehand Draw_shape Exit Export Fill_colorFind Font_color Font_size Full_screen Handwriting_recognition Indent Insert_blank_page Insert_date_and_time Insert_horizontal_line Insert_link Insert_picture Insert_video Line_color Line_number_color Line_number_continuation Line_number_font Line_number_size Line_numbers Line_spacing Line_style Line_wrap Link_to_calendar_entry Margins Mark_all_text Mark_text Merge_cells Move_document_to_other_view Move_note_to_notebook New Number_of_copies Number_style Numbering Open Open_containing_folder Orientation Page_break Page_size Paragraph_spacing Paste Print_current_page Print_custom_range Print_document Print_multiple_pages_per_sheet Print_selection Printer_settings Publish_online Put_on_home_screen Recently_opened Record_audio Redo Remove_column_from_table Remove_row_from_table Rename Rename_notebook Replace Row_size Save Save_all_windows Search_printer Share Show_grid Show_ruler Sort_elements Spell_check Split_cell Split_view Synchronize_scrolling Table_border Text_alignment_in_table Text_background_color Text_columns Text_font Text_style Type_text Undo Voice_recognition Zoom File creation and organization Link and share Printing Table Structural elements Input Text style options Page layout Controls View 12
  • 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