Widget Set Independent Layout Management for UIML

Author: Jo Vermeulen


The growing diversity of computing environments requires a new, more efficient methodology for developing user interfaces. With traditional techniques one develops a user interface per computing platform. There is a plethora of existing research available on the development of multi-device user interfaces. We can conclude that it is mostly clear how to deduce a set of generic widgets. It is however difficult to generalize the different layout mechanisms widget sets use.

We present a generic, constraint-based layout mechanism. It relies only on the least common denominator of layout management: absolute positioning. A constraint solver is used to find values for the position and size of each widget, while adhering to the imposed constraints. These positions and sizes are then set using absolute positioning.

Automated layout management, although greatly improving on speed compared to designing a layout by hand, is not guaranteed to produce satisfying results. Human interference is usually still needed. There are many recurring tasks in user interfaces (e.g. providing a user name and password). For each task, a suitable layout must be determined. Our method supports layout patterns which enable the designer to reuse existing layouts which have proven to be usable and aesthetically pleasing.

Our method will be based on the UIML language. While UIML succesfully achieves abstraction in many ways, there is no generic way to specify the layout. This makes it more difficult to use a single UIML document for several widget sets, since each widget set requires its own specific layout description. We do not seek to complement the UIML specification with a generic, multi-modal layout mechanism though: it is limited to 2D graphical user interfaces.

For the practical part of this thesis, we integrated the layout specification in Uiml.net, an open source renderer for UIML. We also developed Cassowary.net, a port of the Cassowary constraint solving toolkit to the .NET platform, which is used to solve the layout constraints.



Related Publications

Kris Luyten, Kristof Thys, Jo Vermeulen and Karin Coninx.
A Generic Approach for Multi-Device User Interface Rendering with UIML.
In Computer-Aided Design of User Interfaces V, Proc. of CADUI '06.
pp. 175-182.
[~40% acceptance; ~60 submissions]
Kris Luyten, Jo Vermeulen and Karin Coninx.
Constraint Adaptability of Multi-Device User Interfaces.
In Proc. of MAFOC '06, CHI '06 workshop.
pp. 40-45.