Proceedings of the 27th Annual ACM Symposium on User Interface Software and Technology 2014
DOI: 10.1145/2642918.2647378
|View full text |Cite
|
Sign up to set email alerts
|

Programming by manipulation for layout

Abstract: We present Programming by Manipulation, a new programming methodology for specifying the layout of data visualizations, targeted at non-programmers. We address the two central sources of bugs that arise when programming with constraints: ambiguities and conflicts (inconsistencies). We rule out conflicts by design and exploit ambiguity to explore possible layout designs. Our users design layouts by highlighting undesirable aspects of a current design, effectively breaking spurious constraints and introducing am… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
21
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 27 publications
(21 citation statements)
references
References 24 publications
0
21
0
Order By: Relevance
“…Using incremental solving, it can perform better if the current constraint system is similar to the previous one. Z3 has previously been suggested for solving formalized CSS layout specifications [27] and to support layout editing with direct manipulation of individual constraints [14]. Yet, Z3 has not been used for general GUI/widget layout with OR-constraints before.…”
Section: Layout Solversmentioning
confidence: 99%
“…Using incremental solving, it can perform better if the current constraint system is similar to the previous one. Z3 has previously been suggested for solving formalized CSS layout specifications [27] and to support layout editing with direct manipulation of individual constraints [14]. Yet, Z3 has not been used for general GUI/widget layout with OR-constraints before.…”
Section: Layout Solversmentioning
confidence: 99%
“…Victor's prototype interactive drawing editor [7], Apparatus [34], and Programming by Manipulation [21] provide expressive direct manipulation capabilities that serve as a way to build programs in restricted, domain-specific languages. By design, these tools tend to prohibit or discourage the user from manipulating content via the "indirect" mechanism of code.…”
Section: Related Workmentioning
confidence: 99%
“…Constraintbased layouts, such as Auto Layout 4 , are often used to make a layout resizable [8,[36][37][38]. Hottelier et al [39] proposed a technique which allows designers to generalize and specialize constraint-based layout specifications using direct manipulation. Xu et al proposed methods that make it easier for designers to beautify UIs by inferring layout constraints [40] and to arrange graphic elements with commands [41] based on the way they are visually grouped.…”
Section: Related Workmentioning
confidence: 99%