Open Access
Programming Layout by Manipulation
Thibaud Baptiste Hottelier
- 01 Jan 2014
TL;DR: Two user studies are presented showing not only that non-programmers can design interesting visualizations using PBM, but also that proficient programmers are more productive with PBM than with conventional constraint programming.
read more
Abstract: Creating layouts for documents, GUIs, or data visualizations is a time-consuming and error-prone process. Non-programmers would like the customization and fine-grained control currently only possible with handwritten layout engines. Today, such engines are written by proficient programmers. This thesis introduces new techniques for specifying layout and generating efficient layout engines.First, we present a new programming methodology which addresses the two central sources of bugs in layouts: ambiguities and conflicts. Then, we introduce a language of constraints in which we capture layout specifications formally. Finally, we show how to generate efficient layout engines automatically. We provide the following individual contributions:1) The Programming by Manipulation (PBM) paradigm targeted at non-programmers to establish specifications in visual domains such as layout. We introduce a new type of user demonstration---manipulation---which is resistant to users' imprecisions inherent in drawing. Instead of sketching the desired layout, users steer the exploration of potential layouts by pointing out what they would like to change.2) L 3 , a declarative language for layout specifications. L 3 is based on non-directional constraints in which the flow of computation is completely abstracted away.3) A synthesis procedure---grammar modular synthesis---capable of generating layout engines from L 3 specifications. Our new algorithm scales to realistic layout specifications and produces generic engines supporting languages of documents.To evaluate our work, we present two user studies showing not only that non-programmers can design interesting visualizations using PBM, but also that proficient programmers are more productive with PBM than with conventional constraint programming. We also compare the performance of our synthetized engines with state-of-the-art constraint solvers and show that our engines are up to two orders of magnitude faster.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
References
Z3: an efficient SMT solver
Leonardo de Moura,Nikolaj Bjørner +1 more
- 29 Mar 2008
TL;DR: Z3 is a new and efficient SMT Solver freely available from Microsoft Research that is used in various software verification and analysis applications.
8.2K
D³ Data-Driven Documents
TL;DR: This work shows how representational transparency improves expressiveness and better integrates with developer tools than prior approaches, while offering comparable notational efficiency and retaining powerful declarative components.
Semantics of context-free languages
TL;DR: The implications of this process when some of the attributes of a string are “synthesized”, i.e., defined solely in terms of attributes of thedescendants of the corresponding nonterminal symbol, while other attributes are ‘inherited’, are examined.
On the synthesis of a reactive module
Amir Pnueli,Roni Rosner +1 more
- 03 Jan 1989
TL;DR: An algorithm is presented based on a new procedure for checking the emptiness of Rabin automata on infinite trees in time exponential in the number of pairs, but only polynomial in theNumber of states, which leads to a synthesis algorithm whose complexity is doubleonential in the length of the given specification.
1.7K
•Book
Tree Automata Techniques and Applications
Hubert Comon,Max Dauchet,Rémi Gilleron,Florent Jacquemard,Denis Lugiez,Christof Löding,Sophie Tison,Marc Tommasi +7 more
- 01 Jan 1997
TL;DR: The goal of this book is to provide a textbook which presents the basics ofTree automata and several variants of tree automata which have been devised for applications in the aforementioned domains.