6
$\begingroup$

It's very common to view GUI layout as an optimization problem.

I've uncovered a lot of research around linear constraint systems, but a lot of real world layouts can not be represented linearly. For example, a simple "Wrapping" layout introduces discontinuities at line or column breaks.

Some real world systems compute layout recursively. They alternate between measuring and positioning widgets, then iterate until a fixed point. I've seen this process called "geometry negotiation" in the documentation for several of these widget libraries. However, I can not find any formal treatment of this approach.

Outside of linear constraints, are there any other formalisms targeted at these sorts of layout optimization systems?

$\endgroup$
  • $\begingroup$ Crazy stackexchange rules mean I need to put extra citations here: [2] menehune.opt.wfu.edu/Kokua/Irix_6.5.21_doc_cd/usr/share/Insight/… [3] qnx.com/developers/docs/6.5.0_sp1/… [4] drdobbs.com/motif-geometry-management/184409755 $\endgroup$ – Brandon Bloom Jun 5 '13 at 5:07
  • $\begingroup$ what is the purpose? there are two other major schemes in applied software: html layout algorithms & also [java] swing layout algorithms. there are probably not more abstract analyses other than specs for those algorithms. $\endgroup$ – vzn Jun 5 '13 at 16:36
  • $\begingroup$ HTML layout is derived from text and document layout systems. Widget layout is fundamentally different, hence the messy complexity of CSS layouts. Swing layout managers simply dictate layout to their children. As far as I know, Swing don't do any sort of negotiation with subcomponents, which seems necessary for more sophisticated layouts than those typically found in generic forms. The back and forth between components helps iterate to an optimized layout. Research into linear constraint layouts recognize the optimization nature of the problem, but preclude non-linear layouts. $\endgroup$ – Brandon Bloom Jun 5 '13 at 17:58
  • $\begingroup$ I'm specifically asking for formal treatment in existing research of this category of problems. Isn't that, almost by definition, both research-level and theoretical? That other stack exchange site has less than half the number of users as this site (and is still in "beta"). Forgive me for not being an expert on stack exchange politics, but from the outside, it appears that my question is both perfectly appropriate and more likely to be answered here. $\endgroup$ – Brandon Bloom Jun 5 '13 at 18:45
  • $\begingroup$ You didn't provide a link, so I found this: cstheory.stackexchange.com/helpcenter/on-topic -- After reading that, I still think my question falls within the scope of this site. $\endgroup$ – Brandon Bloom Jun 5 '13 at 18:57
3
$\begingroup$

I would suggest looking at these survey papers and tracking down the citations in the bibliography, and digging up subsequent papers which cited these.

  • Walter Hower, and Winfried Graf. Research in constraint-based layout, visualization, CAD, and related topics : a bibliographical survey, 1995.

  • Simon Lok and Steven Feiner, A survey of automated layout techniques for information presentations, 2001.

If you're more interested in the engineering aspects, you should look at Brad Myers' work (from the late 80s/early 90s) on the Garnet and Amulet toolkits. They have a TOPLAS paper, Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits, which summarizes what they learned.

$\endgroup$
  • $\begingroup$ Great. Thanks! I've added those 3 items to the head of my research beam-search queue. I'll let you know how it goes. $\endgroup$ – Brandon Bloom Jun 7 '13 at 2:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.