think-cell technical report TC2003/01 A GUI-based Interaction ...
think-cell technical report TC2003/01 A GUI-based Interaction ...
think-cell technical report TC2003/01 A GUI-based Interaction ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.2 Computer Supported Layout STATE OF THE ART<br />
specified using on-screen buttons. Both, buttons and constraint visualizations, use<br />
iconic representations of the supported constraints.<br />
3.2.2 Automated Layout<br />
As opposed to interactive drawing aids, by automated layout I mean a “specify-<br />
then-solve” approach. In such systems, the user describes the model by declaring<br />
relationships that must hold true and the system configures the model to meet these<br />
requirements. This approach allows a user to specify the important aspects of the<br />
design and have the system resolve the details.<br />
A nested tabular layout can be seen as a set of spatial constraints. Typical<br />
UI toolkits and layout managers, widely deployed examples being Sun JFC/Swing<br />
[Sun02] and Microsoft Foundation Classes [Mic97], are <strong>based</strong> on this idea. These<br />
systems for development and presentation of window <strong>based</strong> user interfaces are de-<br />
signed to present the same UI widgets on different screen resolutions. Sizes and<br />
positions of the widgets are chosen at runtime, <strong>based</strong> on a simple built-in layout<br />
policy and a set of parameters specified by the programmer. Typical layout policies<br />
include row-major vs column-major, regular grid, or border layout, that can be<br />
combined in a hierarchical manner. Parameters specify details like minimum and<br />
maximum sizes. Hence, the layout as such is not automated; rather, the layout<br />
that was specified by the programmer is instantiated with respect to the conditions<br />
(screen resolution, window size, etc.) that prevail at runtime.<br />
While the popular UI toolkits are merely <strong>based</strong> on spatial constraints, for more<br />
general applications it is favorable to be able to specify abstract constraints, too.<br />
Techniques that use markup tags, such as L ATEX [LaT] or HTML [W3Cb], present<br />
simple examples for spatial (e. g., vspace{lineheight}) and abstract (e. g., level-1-<br />
heading) constraints. A frequently used vehicle to achieve a rectilinear layout in<br />
L ATEX or HTML are tables. Tables in markup languages have similar characteristics<br />
as a grid: Table <strong>cell</strong>s follow a strictly horizontal and vertical layout, but in contrast<br />
to a regular grid, the table’s row heights and column widths are in general irregular.<br />
Cell sizes are dynamically adapted to meet the requirements of the contained objects<br />
on the one hand and the window or paper size on the other hand.<br />
Cascading style sheets (CSS) are an extension to HTML that allows clean<br />
separation of structural markup and actual appearance. Badros et al. noted in<br />
[BBMS99] that the procedural specification of CSS 2.0 [W3Ca] is complex and<br />
sometimes vague, in any case not easy to understand and implement. They propose<br />
a constraint-<strong>based</strong> extension to CSS 2.0, which is backwards compatible and has<br />
the advantage to declaratively specify the standard. Badros et al. argue that a<br />
constraint-<strong>based</strong> approach to style sheets would greatly simplify the implementa-<br />
tion of rendering engines as well as the web designers’ use of cascading style sheets.<br />
Moreover, they suggest some more general and flexible style specification syntax<br />
that can easily be implemented using constraints, but is not easy to implement<br />
using the procedural approach of current CSS.<br />
31