Automatically generating personalized user interfaces with Supple



Download 5.78 Mb.
View original pdf
Page5/52
Date10.05.2022
Size5.78 Mb.
#58765
1   2   3   4   5   6   7   8   9   ...   52
1-s2.0-S0004370210000822-main
Primitive types include the common basic data types such as integers, oats, strings and booleans. As an example, the power switches for the lights are represented as booleans in the specification of Fig. 1. Primitive types also include several more specialized constructs that often benefit from special handling by user interfaces, such as dates, times, images and clickable maps. These last two types are illustrated in a concrete interface for an interactive map application shown in
Fig. 2, where a person can point at different offices on a building map, causing the occupant’s image to be displayed in the panel on the right-hand side. Some primitive types can be further described with a small number of attributes. For example,
information about the expected length of input can be added to instances of string type.
Container types, formally represented as
{
τ
1
,
τ
2
, . . . ,
τ
n
}
, are used to create groups (or records) of simpler elements,
τ
i
For example, all of the interior nodes (e.g., Classroom, Light Bank, Light, etc) in the specification tree in Fig. 1 are instances of the container type. The container types serve two functions. First, they provide Supple with information as to what


914
K.Z. Gajos et al. / Artificial Intelligence 174 (2010) 910–950
Fig. 1. Supple uses an algorithm that makes discrete assignments of widgets to the elements of the functional interface specification. This figure illustrates a functional specification and a sample concrete user interface for an application controlling a small set of devices in a classroom. The solid arrows show the assignments of primitive widgets to the elements of the interface specification corresponding to the actual functionality in the underlying application.
The dashed arrows show the assignments of container widgets to the intermediate nodes in the specification; for example the Light Bank is rendered as a tab pane while the projector was assigned a vertical layout.
Fig. 2. An interface utilizing images and clickable maps.


K.Z. Gajos et al. / Artificial Intelligence 174 (2010) 910–950
915
Fig. 3. An email client that uses Supple to render its user interface. (a) The main view. (b) The configuration pane.
pieces of functionality belong together semantically. Secondly, they provide reusable abstractions as with all Supple types,
a container type can be specified once and later instantiated in multiple parts of the interface.

Download 5.78 Mb.

Share with your friends:
1   2   3   4   5   6   7   8   9   ...   52




The database is protected by copyright ©ininet.org 2024
send message

    Main page