INTERACTIVE LAYOUT DESIGN
GRIDS
Taru Saarelainen
www.kashyaptodi.com/grids
Kashyap Todi*
*Authors contributed equally
Niraj Dayama* Antti Oulasvirta
WITH INTEGER PROGRAMMING
While designing In production
How can computers support designers
during grid-based layout design?
DESIGN SOLUTIONS
some text
A paragraph of
some text
Header
Footer
Input Design Task
Footer
Header
A paragraph of
some text
some text
MixedInteger
LinearProgram
(MILP)
some text
A paragraph of
some text
Header
Footer
some text
Header
Footer
A paragraph of
some text
COMPUTATIONAL LAYOUT GENERATION
SUPPLE [Gajos & Weld, IUI ’04] Bricolage [Kumar et al., CHI ’11]
MIXED-INITIATIVE DESIGN
DesignScape [CHI
Local
Optimiser
Global
Optimiser
Current Design
Design Space
+
Canvas
TimelineExplore
Predictive
Models
Heading goes hereHeading goes here
Heading goes here
Heading goes here
Real-time Optimisation Design Environment
ence
o
.edu
Adobe Research
Seattle, WA, USA
asagarwa@adobe.com
Adobe Research
San Francisco, CA, USA
hertzman@adobe.com
allenging for novice users.
a system which aids the
ve layout suggestions, i.e.,
d alignment of elements.
complementary types of
s, which improve the cur-
gestions, which change the
s for interacting with sug-
stive interface, where sug-
accepted. Second, we de-
elements move automati-
mpare both interfaces with
d show that for novice de-
gnificantly better layouts,
ces, adaptive design
ign Tools and Techniques
Figure 1. DesignScape Interface. The central canvas allows the user to
create layouts in a simple editor. On the left, the system provides refine-
ment suggestions, layouts similar to the canvas, but slightly improved.
On the right, the system provides brainstorming suggestions large-scale
layout changes in a variety of styles. Photos courtesy of Wilhelm Joys
Andersen and Martin Fisch.
tasks in design. However, exploration is difficult since a de-
signer must imagine possible layouts, and modify many ele-
ments. Refinement is also difficult, since a single modifica-
tion can necessitate many other changes. Our system includes
both types, allowing users to easily switch between exploring
alternative layouts and refining the current layout.
DesignScape [O’ Donovan et al., CHI ’15]
Sketchplore [Todi et al., DIS ’16]
INTERACTIVE SUPPORT FOR GRID LAYOUTS
GRID LAYOUT OBJECTIVES
Alignment
GRID LAYOUT OBJECTIVES
Alignment
GRID LAYOUT OBJECTIVES
RectangularityAlignment
GRID LAYOUT OBJECTIVES
RectangularityAlignment
LOGO Title
Button
NON-OVERLAPPING
PLACEMENT
GRID LAYOUT OBJECTIVES
RectangularityAlignment
LOGO Title
Button
NON-OVERLAPPING
PLACEMENT
GRID LAYOUT OBJECTIVES
MILP FORMULATION
Generating grid-based layouts
OVERLAP AVOIDANCE
Top
Left
Right
Bottom
OVERLAP AVOIDANCE
Top
OVERLAP AVOIDANCE
Right
OVERLAP AVOIDANCE
Bottom
OVERLAP AVOIDANCE
Left
OVERLAP AVOIDANCE
Left
Bottom
Right
Top
Non-overlapping = Top OR Right OR Bottom OR Left
PREFERENTIAL PLACEMENT
Left
Bottom
Right
Top
Make one/two of the constraints mandatory
Bottom-Left
Top-RightTop-Left
Bottom-Right
ENSURING ALIGNMENT
Top-Align
Bottom-Align
4
4
ENSURING ALIGNMENT
Top-Align
Bottom-Align
2
3
ENSURING ALIGNMENT
Top-Align
Bottom-Align
2
2
ENSURING ALIGNMENT
Left-Align Right-Align4 4
ENSURING ALIGNMENT
Left-Align Right-Align4 3
ENSURING ALIGNMENT
Left-Align Right-Align3 3
RECTANGULARITY
RECTANGULARITY
RECTANGULARITY
RECTANGULARITY
RectangularityAlignment
LOGO Title
Button
NON-OVERLAPPING
PLACEMENT
GRID LAYOUT OBJECTIVES
DESIGN DIVERSITY
DESIGN DIVERSITY
DESIGN DIVERSITY
DESIGN DIVERSITY
DESIGN DIVERSITY
Feasible Space
Γmin
Γmax
Πmin
ΠmaxNo.ofelementsvertically
aboveotherelements
No. of elements horizontally
to the left of other elements ∑
Π
∑
Γ
∑
Γ
Feasible
Space
DESIGN DIVERSITY
…
LOCAL SEARCH
…
{
{
LAYOUT QUALITY STUDY
Can good layouts be generated reliably?
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
Button
This is a paragraph.
It contains some text.
It can be several
lines long...
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Rated by 13 participants
⭐ ⭐ ⭐ ⭐ ⭐
Layouts generated with varying optimality:
“great”,“average”, “bad”
Optimality score a good indicator
of participants’ opinion
KEY FEATURES
Our approach enables four key design activities
1. Exploration of diverse design solutions
KEY FEATURES
KEY FEATURES
DESIGN TASK
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
Button
This is a paragraph.
It contains some text.
It can be several
lines long...
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
Button
This is a paragraph.
It contains some text.
It can be several
lines long...
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
Header
Footer
Heading goes here
www.firstlink.com
www.secondlink.io
www.thirdlink.org
This is a paragraph.
It contains some text.
It can be several
lines long...
Button
This is a paragraph.
It contains some text.
It can be several lines long...
DIVERSE SOLUTIONS
KEY FEATURES
2. Automatic completion of partial designs
KEY FEATURES
COMPLETE SOLUTIONs
HeadIng goes here
www.mylink.com
This is a paragraph. It contains some text.
This is a paragraph.
It contains some text.
HeadIng goes here
www.mylink.com
This is a paragraph. It contains some text.
This is a paragraph.
It contains some text.
…
PARTIAL DESIGN
HeadIng goes here
This is a paragraph. It contains some text.
Canvas Workspace
www.mylink.com
This is a paragraph.
It contains some text.
KEY FEATURES
3. Exploitation of local alternatives
KEY FEATURES
ORIGINAL DESIGN
HeadIng goes here
This is a paragraph. It contains some text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
ALTERNATIVE SOLUTIONS
HeadIng goes here
This is a paragraph. It contains some text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
…
HeadIng goes here
This is a paragraph. It contains some text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
This is a paragraph.
It contains some
lines of text.
KEY FEATURES
4. Solutions for constrained designs
KEY FEATURES
DESIGN TASK
bottom
HeadIng goes here This is a paragraph. It contains some text.
www.mylink.com
This is a paragraph.
It contains some text.
right
Locked
This is a paragraph. It contains some text.
HeadIng goes here
This is a paragraph.
It contains some text.
www.mylink.com
This is a paragraph. It contains some text.
HeadIng goes here
This is a paragraph.
It contains some text.
www.mylink.com
COMPLETE SOLUTIONs
…
Watch the demo video at:

https://youtu.be/BLSiJuA6DUI?t=92
Element
Properties
Panel
Canvas Workspace
SuggestionsSaved Layouts
Trigger
Optimiser
Continue editing
a suggestion
Save a suggestion
DESIGNER STUDY
Evaluation of our approach
16 professional designers
• Easy to use
• Supports exploration
• Auto-complete is great
3 design tasks
“Kind of a new way of
thinking about layouts”
“spur creativity and get away
from the obvious choices”
“… the idea of getting different possibilities of
where the elements could be is really nice”
“… as inspiration to take parts of even
though maybe the whole layout isn’t useful”
“[Design exploration is] a feature that’s not
available in the industry at this moment”
DESIGNED LAYOUTS
Some results produced during the study
CONTRIBUTIONS
3 key contributions towards
interactive grid layout design
MixedInteger
LinearProgram
(MILP)
1. MILP model for grid layouts
MixedInteger
LinearProgram
(MILP)
i. EXPLORATION THROUGH
DIVERSIFICATION
ii. EXPLOITATION THROUGH
ENHANCEMENT & CONSTRAINTS
iii. AUTo-COMPLETION
of PARTIAL SOLUTIONS
2. Computational techniques to support design needs
MixedInteger
LinearProgram
(MILP)
i. EXPLORATION THROUGH
DIVERSIFICATION
ii. EXPLOITATION THROUGH
ENHANCEMENT & CONSTRAINTS
iii. AUTo-COMPLETION
of PARTIAL SOLUTIONS
3. The GRIDS tool for mixed-initiative layout design
MixedInteger
LinearProgram
(MILP)
i. EXPLORATION THROUGH
DIVERSIFICATION
ii. EXPLOITATION THROUGH
ENHANCEMENT & CONSTRAINTS
iii. AUTo-COMPLETION
of PARTIAL SOLUTIONS
WITH INTEGER PROGRAMMING
GRIDS INTERACTIVE LAYOUT DESIGN:
www.kashyaptodi.com/grids @KaydiTodi
WITH INTEGER PROGRAMMING
GRIDS INTERACTIVE LAYOUT DESIGN:
Taru Saarelainen
Kashyap Todi*
*Authors contributed equally
Niraj Dayama*
Antti Oulasvirta
www.kashyaptodi.com/grids @KaydiTodi

GRIDS: Interactive Layout Design with Integer Programming (ACM CHI 2020)

  • 1.
    INTERACTIVE LAYOUT DESIGN GRIDS TaruSaarelainen www.kashyaptodi.com/grids Kashyap Todi* *Authors contributed equally Niraj Dayama* Antti Oulasvirta WITH INTEGER PROGRAMMING
  • 2.
  • 3.
    How can computerssupport designers during grid-based layout design?
  • 4.
    DESIGN SOLUTIONS some text Aparagraph of some text Header Footer Input Design Task Footer Header A paragraph of some text some text MixedInteger LinearProgram (MILP) some text A paragraph of some text Header Footer some text Header Footer A paragraph of some text
  • 5.
    COMPUTATIONAL LAYOUT GENERATION SUPPLE[Gajos & Weld, IUI ’04] Bricolage [Kumar et al., CHI ’11]
  • 6.
    MIXED-INITIATIVE DESIGN DesignScape [CHI Local Optimiser Global Optimiser CurrentDesign Design Space + Canvas TimelineExplore Predictive Models Heading goes hereHeading goes here Heading goes here Heading goes here Real-time Optimisation Design Environment ence o .edu Adobe Research Seattle, WA, USA asagarwa@adobe.com Adobe Research San Francisco, CA, USA hertzman@adobe.com allenging for novice users. a system which aids the ve layout suggestions, i.e., d alignment of elements. complementary types of s, which improve the cur- gestions, which change the s for interacting with sug- stive interface, where sug- accepted. Second, we de- elements move automati- mpare both interfaces with d show that for novice de- gnificantly better layouts, ces, adaptive design ign Tools and Techniques Figure 1. DesignScape Interface. The central canvas allows the user to create layouts in a simple editor. On the left, the system provides refine- ment suggestions, layouts similar to the canvas, but slightly improved. On the right, the system provides brainstorming suggestions large-scale layout changes in a variety of styles. Photos courtesy of Wilhelm Joys Andersen and Martin Fisch. tasks in design. However, exploration is difficult since a de- signer must imagine possible layouts, and modify many ele- ments. Refinement is also difficult, since a single modifica- tion can necessitate many other changes. Our system includes both types, allowing users to easily switch between exploring alternative layouts and refining the current layout. DesignScape [O’ Donovan et al., CHI ’15] Sketchplore [Todi et al., DIS ’16]
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
    PREFERENTIAL PLACEMENT Left Bottom Right Top Make one/twoof the constraints mandatory Bottom-Left Top-RightTop-Left Bottom-Right
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    Feasible Space Γmin Γmax Πmin ΠmaxNo.ofelementsvertically aboveotherelements No. ofelements horizontally to the left of other elements ∑ Π ∑ Γ ∑ Γ Feasible Space
  • 39.
  • 40.
  • 41.
    LAYOUT QUALITY STUDY Cangood layouts be generated reliably?
  • 42.
    Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org Button Thisis a paragraph. It contains some text. It can be several lines long... This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Rated by 13 participants ⭐ ⭐ ⭐ ⭐ ⭐ Layouts generated with varying optimality: “great”,“average”, “bad” Optimality score a good indicator of participants’ opinion
  • 43.
    KEY FEATURES Our approachenables four key design activities
  • 44.
    1. Exploration ofdiverse design solutions KEY FEATURES
  • 45.
    KEY FEATURES DESIGN TASK Header Footer Headinggoes here www.firstlink.com www.secondlink.io www.thirdlink.org Button This is a paragraph. It contains some text. It can be several lines long... This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org Button This is a paragraph. It contains some text. It can be several lines long... This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... Header Footer Heading goes here www.firstlink.com www.secondlink.io www.thirdlink.org This is a paragraph. It contains some text. It can be several lines long... Button This is a paragraph. It contains some text. It can be several lines long... DIVERSE SOLUTIONS
  • 46.
    KEY FEATURES 2. Automaticcompletion of partial designs
  • 47.
    KEY FEATURES COMPLETE SOLUTIONs HeadInggoes here www.mylink.com This is a paragraph. It contains some text. This is a paragraph. It contains some text. HeadIng goes here www.mylink.com This is a paragraph. It contains some text. This is a paragraph. It contains some text. … PARTIAL DESIGN HeadIng goes here This is a paragraph. It contains some text. Canvas Workspace www.mylink.com This is a paragraph. It contains some text.
  • 48.
    KEY FEATURES 3. Exploitationof local alternatives
  • 49.
    KEY FEATURES ORIGINAL DESIGN HeadInggoes here This is a paragraph. It contains some text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text. ALTERNATIVE SOLUTIONS HeadIng goes here This is a paragraph. It contains some text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text. … HeadIng goes here This is a paragraph. It contains some text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text. This is a paragraph. It contains some lines of text.
  • 50.
    KEY FEATURES 4. Solutionsfor constrained designs
  • 51.
    KEY FEATURES DESIGN TASK bottom HeadInggoes here This is a paragraph. It contains some text. www.mylink.com This is a paragraph. It contains some text. right Locked This is a paragraph. It contains some text. HeadIng goes here This is a paragraph. It contains some text. www.mylink.com This is a paragraph. It contains some text. HeadIng goes here This is a paragraph. It contains some text. www.mylink.com COMPLETE SOLUTIONs …
  • 52.
    Watch the demovideo at: https://youtu.be/BLSiJuA6DUI?t=92
  • 53.
  • 54.
  • 55.
    16 professional designers •Easy to use • Supports exploration • Auto-complete is great 3 design tasks
  • 56.
    “Kind of anew way of thinking about layouts” “spur creativity and get away from the obvious choices” “… the idea of getting different possibilities of where the elements could be is really nice” “… as inspiration to take parts of even though maybe the whole layout isn’t useful” “[Design exploration is] a feature that’s not available in the industry at this moment”
  • 57.
    DESIGNED LAYOUTS Some resultsproduced during the study
  • 59.
    CONTRIBUTIONS 3 key contributionstowards interactive grid layout design
  • 60.
  • 61.
    MixedInteger LinearProgram (MILP) i. EXPLORATION THROUGH DIVERSIFICATION ii.EXPLOITATION THROUGH ENHANCEMENT & CONSTRAINTS iii. AUTo-COMPLETION of PARTIAL SOLUTIONS 2. Computational techniques to support design needs
  • 62.
    MixedInteger LinearProgram (MILP) i. EXPLORATION THROUGH DIVERSIFICATION ii.EXPLOITATION THROUGH ENHANCEMENT & CONSTRAINTS iii. AUTo-COMPLETION of PARTIAL SOLUTIONS 3. The GRIDS tool for mixed-initiative layout design
  • 63.
    MixedInteger LinearProgram (MILP) i. EXPLORATION THROUGH DIVERSIFICATION ii.EXPLOITATION THROUGH ENHANCEMENT & CONSTRAINTS iii. AUTo-COMPLETION of PARTIAL SOLUTIONS WITH INTEGER PROGRAMMING GRIDS INTERACTIVE LAYOUT DESIGN: www.kashyaptodi.com/grids @KaydiTodi
  • 64.
    WITH INTEGER PROGRAMMING GRIDSINTERACTIVE LAYOUT DESIGN: Taru Saarelainen Kashyap Todi* *Authors contributed equally Niraj Dayama* Antti Oulasvirta www.kashyaptodi.com/grids @KaydiTodi