ORCSolver swMATH ID: 36183 Software Authors: Yue Jiang, Wolfgang Stuerzlinger, Matthias Zwicker, Christof Lutteroth Description: ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints. 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. Homepage: https://arxiv.org/abs/2002.09925 Source Code: https://github.com/YueJiang-nj/ORCSolver-CHI2020 Dependencies: Python Keywords: Human-Computer Interaction; arXiv_cs.HC; Artificial Intelligence; arXiv_cs.AI; arXiv_cs.DS; Adaptive GUI Layout; OR-Constraints; ORC; GUI builder; layout manager; constraint-based layout; visual interface design; visual programming; optimization Related Software: Python; SUPPLE; Gild; Ibuild; Rockit; Druid; Bramble; Cassowary; FormsVBT; Peridot; Amulet; Lapidary; HiRise; Skyblue; CVXGEN; QOCA; qpOASES; z3; OSQP; Mosek Cited in: 0 Publications Standard Articles 1 Publication describing the Software Year ORCSolver: An Efficient Solver for Adaptive GUI Layout with OR-Constraints Yue Jiang, Wolfgang Stuerzlinger, Matthias Zwicker, Christof Lutteroth 2020