SlideShare a Scribd company logo
1 of 39
Download to read offline
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

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...
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
 
System approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsvrushali sasane
 
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...
Efficient evaluation of flatness error from Coordinate Measurement Data using...Ali Shahed
 
Development of Multi-Level ROM
Development of Multi-Level ROMDevelopment of Multi-Level ROM
Development of Multi-Level ROMMohammad
 
Development Infographic
Development InfographicDevelopment Infographic
Development InfographicRealMassive
 
A robust multi criteria optimization approach
A robust multi criteria optimization approachA robust multi criteria optimization approach
A robust multi criteria optimization approachPhuong Dx
 
Tudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationPirouz Nourian
 
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
A machine learning method for efficient design optimization in nano-optics JCMwave
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learningbutest
 
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...
Transfer Learning for Improving Model Predictions in Highly Configurable Soft...Pooyan Jamshidi
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ FyberDaniel Hen
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniquesprashik shimpi
 
Tuning for Systematic Trading: Talk 2: Deep Learning
Tuning for Systematic Trading: Talk 2: Deep LearningTuning for Systematic Trading: Talk 2: Deep Learning
Tuning for Systematic Trading: Talk 2: Deep LearningSigOpt
 
Fault diagnosis using genetic algorithms and
Fault diagnosis using genetic algorithms andFault diagnosis using genetic algorithms and
Fault diagnosis using genetic algorithms andeSAT Publishing House
 
Final hrm project 2003
Final hrm project 2003Final hrm project 2003
Final hrm project 2003Adil Shaikh
 
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...
Analytics of analytics pipelines: from optimising re-execution to general Dat...Paolo Missier
 

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...
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...
 
System approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvsSystem approach in civil engg slideshare.vvs
System approach in civil engg slideshare.vvs
 
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...
Efficient evaluation of flatness error from Coordinate Measurement Data using...
 
ANSSummer2015
ANSSummer2015ANSSummer2015
ANSSummer2015
 
Development of Multi-Level ROM
Development of Multi-Level ROMDevelopment of Multi-Level ROM
Development of Multi-Level ROM
 
Development Infographic
Development InfographicDevelopment Infographic
Development Infographic
 
Ds33717725
Ds33717725Ds33717725
Ds33717725
 
Ds33717725
Ds33717725Ds33717725
Ds33717725
 
A robust multi criteria optimization approach
A robust multi criteria optimization approachA robust multi criteria optimization approach
A robust multi criteria optimization approach
 
Tudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimizationTudelft stramien 16_9_on_optimization
Tudelft stramien 16_9_on_optimization
 
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
A machine learning method for efficient design optimization in nano-optics
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learning
 
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...
Transfer Learning for Improving Model Predictions in Highly Configurable Soft...
 
XGBoost @ Fyber
XGBoost @ FyberXGBoost @ Fyber
XGBoost @ Fyber
 
Optimization techniques
Optimization techniquesOptimization techniques
Optimization techniques
 
Tuning for Systematic Trading: Talk 2: Deep Learning
Tuning for Systematic Trading: Talk 2: Deep LearningTuning for Systematic Trading: Talk 2: Deep Learning
Tuning for Systematic Trading: Talk 2: Deep Learning
 
Fault diagnosis using genetic algorithms and
Fault diagnosis using genetic algorithms andFault diagnosis using genetic algorithms and
Fault diagnosis using genetic algorithms and
 
1. intro. to or & lp
1. intro. to or & lp1. intro. to or & lp
1. intro. to or & lp
 
Final hrm project 2003
Final hrm project 2003Final hrm project 2003
Final hrm project 2003
 
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...
Analytics of analytics pipelines: from optimising re-execution to general Dat...
 

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

More from Aalto University (16)

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

Recently uploaded

PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalMAESTRELLAMesa2
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests GlycosidesNandakishor Bhaurao Deshmukh
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptxpallavirawat456
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxEran Akiva Sinbar
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPirithiRaju
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingNetHelix
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationColumbia Weather Systems
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologycaarthichand2003
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensorsonawaneprad
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naJASISJULIANOELYNV
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxJorenAcuavera1
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPirithiRaju
 
Biological classification of plants with detail
Biological classification of plants with detailBiological classification of plants with detail
Biological classification of plants with detailhaiderbaloch3
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024innovationoecd
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuinethapagita
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 

Recently uploaded (20)

PROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and VerticalPROJECTILE MOTION-Horizontal and Vertical
PROJECTILE MOTION-Horizontal and Vertical
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests GlycosidesGLYCOSIDES Classification Of GLYCOSIDES  Chemical Tests Glycosides
GLYCOSIDES Classification Of GLYCOSIDES Chemical Tests Glycosides
 
CHROMATOGRAPHY PALLAVI RAWAT.pptx
CHROMATOGRAPHY  PALLAVI RAWAT.pptxCHROMATOGRAPHY  PALLAVI RAWAT.pptx
CHROMATOGRAPHY PALLAVI RAWAT.pptx
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptx
 
Pests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdfPests of Bengal gram_Identification_Dr.UPR.pdf
Pests of Bengal gram_Identification_Dr.UPR.pdf
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather Station
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
Davis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technologyDavis plaque method.pptx recombinant DNA technology
Davis plaque method.pptx recombinant DNA technology
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensor
 
FREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by naFREE NURSING BUNDLE FOR NURSES.PDF by na
FREE NURSING BUNDLE FOR NURSES.PDF by na
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptx
 
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdfPests of jatropha_Bionomics_identification_Dr.UPR.pdf
Pests of jatropha_Bionomics_identification_Dr.UPR.pdf
 
Biological classification of plants with detail
Biological classification of plants with detailBiological classification of plants with detail
Biological classification of plants with detail
 
OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024OECD bibliometric indicators: Selected highlights, April 2024
OECD bibliometric indicators: Selected highlights, April 2024
 
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 GenuineCall Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
Call Girls in Majnu Ka Tilla Delhi 🔝9711014705🔝 Genuine
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?Let’s Say Someone Did Drop the Bomb. Then What?
Let’s Say Someone Did Drop the Bomb. Then What?
 

"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