Constraint Solvers for User Interface Layout

Constraints have played an important role in the construction of GUIs, where they are mainly used to define the layout of the widgets. Resizing behavior is very important in GUIs because areas have domain specific parameters such as form the resizing of windows. If linear objective function is used and window is resized then error is not distributed equally. To distribute the error equally, a quadratic objective function is introduced. Different algorithms are widely used for solving linear constraints and quadratic problems in a variety of different scientific areas. The linear relxation, Kaczmarz, direct and linear programming methods are common methods for solving linear constraints for GUI layout. The interior point and active set methods are most commonly used techniques to solve quadratic programming problems. Current constraint solvers designed for GUI layout do not use interior point methods for solving a quadratic objective function subject to linear equality and inequality constraints. In this paper, performance aspects and the convergence speed of interior point and active set methods are compared along with one most commonly used linear programming method when they are implemented for graphical user interface layout. The performance and convergence of the proposed algorithms are evaluated empirically using randomly generated UI layout specifications of various sizes. The results show that the interior point algorithms perform significantly better than the Simplex method and QOCA-solver, which uses the active set method implementation for solving quadratic optimization.

[1]  D. Ponceleón Barrier methods for large-scale quadratic programming , 1991 .

[2]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[3]  Alan Borning Proceedings of the Second International Workshop on Principles and Practice of Constraint Programming , 1994 .

[4]  Roger Fletcher,et al.  Practical methods of optimization; (2nd ed.) , 1987 .

[5]  R. Fletcher Practical Methods of Optimization , 1988 .

[6]  Hiroshi Hosobe,et al.  A Scalable Linear Constraint Solver for User Interface Construction , 2000, CP.

[7]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[8]  Peter J. Stuckey,et al.  Solving linear arithmetic constraints for user interface applications , 1997, UIST '97.

[9]  Christof Lutteroth,et al.  Domain Specific High-Level Constraints for User Interface Layout , 2008, Constraints.

[10]  Nicholas I. M. Gould,et al.  Numerical methods for large-scale nonlinear optimization , 2005, Acta Numerica.

[11]  Christof Lutteroth,et al.  Constraint solving for beautiful user interfaces: how solving strategies support layout aesthetics , 2012, CHINZ '12.

[12]  Charles W. Carroll The Created Response Surface Technique for Optimizing Nonlinear, Restrained Systems , 1961 .

[13]  Peter J. Stuckey,et al.  The Cassowary linear arithmetic constraint solving algorithm , 2001, TCHI.

[14]  Christof Lutteroth,et al.  Modular Specification of GUI Layout Using Constraints , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[15]  Christof Lutteroth,et al.  User interface layout with ordinal and linear constraints , 2006, AUIC.

[16]  Hanif D. Sherali,et al.  Linear Programming and Network Flows , 1977 .

[17]  Michael Sannella Skyblue: a multi-way local propagation constraint solver for user interface construction , 1994, UIST '94.

[18]  Hiroshi Hosobe A Simplex-Based Scalable Linear Constraint Solver for User Interface Applications , 2011, 2011 IEEE 23rd International Conference on Tools with Artificial Intelligence.

[19]  David Baraff,et al.  Fast contact force computation for nonpenetrating rigid bodies , 1994, SIGGRAPH.

[20]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1964 .

[21]  Christof Lutteroth,et al.  Extending Linear Relaxation for User Interface Layout , 2012, 2012 IEEE 24th International Conference on Tools with Artificial Intelligence.

[22]  Bjørn N. Freeman-Benson,et al.  An incremental constraint solver , 1990, CACM.