55 research outputs found

    Speeding up SOR Solvers for Constraint-based GUIs with a Warm-Start Strategy

    Full text link
    Many computer programs have graphical user interfaces (GUIs), which need good layout to make efficient use of the available screen real estate. Most GUIs do not have a fixed layout, but are resizable and able to adapt themselves. Constraints are a powerful tool for specifying adaptable GUI layouts: they are used to specify a layout in a general form, and a constraint solver is used to find a satisfying concrete layout, e.g.\ for a specific GUI size. The constraint solver has to calculate a new layout every time a GUI is resized or changed, so it needs to be efficient to ensure a good user experience. One approach for constraint solvers is based on the Gauss-Seidel algorithm and successive over-relaxation (SOR). Our observation is that a solution after resizing or changing is similar in structure to a previous solution. Thus, our hypothesis is that we can increase the computational performance of an SOR-based constraint solver if we reuse the solution of a previous layout to warm-start the solving of a new layout. In this paper we report on experiments to test this hypothesis experimentally for three common use cases: big-step resizing, small-step resizing and constraint change. In our experiments, we measured the solving time for randomly generated GUI layout specifications of various sizes. For all three cases we found that the performance is improved if an existing solution is used as a starting solution for a new layout

    VB2: an architecture for interaction in synthetic worlds

    Get PDF
    This paper describes the VB2 architecture for the construction of three-dimensional interactive applications. The system's state and behavior are uniformly represented as a network of interrelated objects. Dynamic components are modeled by active variables, while multi-way relations are modeled by hierarchical constraints. Daemons are used to sequence between system states in reaction to changes in variable values. The constraint network is efficiently maintained by an incremental constraint solver based on an enhancement of SkyBlue. Multiple devices are used to interact with the synthetic world through the use of various interaction paradigms, including immersive environments with visual and audio feedback. Interaction techniques range from direct manipulation, to gestural input and three-dimensional virtual tools. Adaptive pattern recognition is used to increase input device expressiveness by enhancing sensor data with classification information. Virtual tools, which are encapsulations of visual appearance and behavior, present a selective view of manipulated models' information and offer an interaction metaphor to control it. Since virtual tools are first class objects, they can be assembled into more complex tools, much in the same way that simple tools are built on top of a modeling hierarchy. The architecture is currently being used to build a virtual reality animation system.167-17

    A model for strategy in constraint solving

    Get PDF
    The use of constraints for the definition of graphical user interfaces has been recognized as a great concept. However, often many valuations of the variables will satisfy the constraints, and which particular valuation matches best with the expectation of the user cannot be decided without further information. Three typical examples of user interfaces are presented where this occurs, and from these, requirements on a more cooperative constraint solver are derived. A new method for the definition and implementation of the strategy to decide which variables to adapt is presented. The model is based on two notions: hierarchy and grouping. Variables are divided into groups, and for each group three parameters are set. These are used to determine the level of variables, dependent on which group they belong, and which variables are modified. These levels are used in turn to select the variables to be adapted. An implementation of this method is described, as part of the Computational Steering Environment (CSE) developed at CWI. The resulting constraint solver can handle simultaneous sets of non-linear, multi-way constraints; and can handle a high-level definition of the strategy to be followed. Finally, the results are discussed, and suggestions for further work are done

    Kaczmarz Algorithm with Soft Constraints for User Interface Layout

    Get PDF
    The Kaczmarz method is an iterative method for solving large systems of equations that projects iterates orthogonally onto the solution space of each equation. In contrast to direct methods such as Gaussian elimination or QR-factorization, this algorithm is efficient for problems with sparse matrices, as they appear in constraint-based user interface (UI) layout specifications. However, the Kaczmarz method as described in the literature has its limitations: it considers only equality constraints and does not support soft constraints, which makes it inapplicable to the UI layout problem. In this paper we extend the Kaczmarz method for solving specifications containing soft constraints, using the prioritized IIS detection algorithm. Furthermore, the performance and convergence of the proposed algorithms are evaluated empirically using randomly generated UI layout specifications of various sizes. The results show that these methods offer improvements in performance over standard methods like Matlab\u27s LINPROG, a well-known efficient linear programming solver

    Research in constraint-based layout, visualization, CAD, and related topics : a bibliographical survey

    Get PDF
    The present work compiles numerous papers in the area of computer-aided design, graphics, layout configuration, and user interfaces in general. There is nearly no conference on graphics, multimedia, and user interfaces that does not include a section on constraint-based graphics; on the other hand most conferences on constraint processing favour applications in graphics. This work of bibliographical pointers may serve as a basis for a detailed and comprehensive survey of this important and challenging field in the intersection of constraint processing and graphics. In order to reach this ambitious aim, and also to keep this study up-to-date, the authors appreciate any comment and update information

    ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints

    Get PDF
    OR-constrained (ORC) graphical user interface layouts unify conventional constraint-based layouts with flow layouts, which enables the definition of flexible layouts that adapt to screens with different sizes, orientations, or aspect ratios with only a single layout specification. Unfortunately, solving ORC layouts with current solvers is time-consuming and the needed time increases exponentially with the number of widgets and constraints. To address this challenge, we propose ORCSolver, a novel solving technique for adaptive ORC layouts, based on a branch-and-bound approach with heuristic preprocessing. We demonstrate that ORCSolver simplifies ORC specifications at runtime and our approach can solve ORC layout specifications efficiently at near-interactive rates.Comment: Published at CHI202

    Virtual slots: increasing power and reusability for user interface development languages

    Full text link
    This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in CHI '95 Conference Companion on Human Factors in Computing Systems, http://dx.doi.org/10.1145/223355.223548Proceeding of CHI '95 Conference Companion on Human Factors in Computing SystemsAn extension to constraint-based user interface development languages is shown. It permits the abstract representation of constraints which must be applied to objects that are not accessible in the moment of the constraint definition. Using this mechanism, more modularity is achieved, as each part of information is stored where it is needed. Richer libraries of reusable objects can therefore be built in a natural way.Virtual Slots are a part of KIISS, a project funded by the National Research Plan of Spain. under grant No. TIC93-0268
    corecore