Automatically generating personalized user interfaces with Supple



Download 5.78 Mb.
View original pdf
Page6/52
Date10.05.2022
Size5.78 Mb.
#58765
1   2   3   4   5   6   7   8   9   ...   52
1-s2.0-S0004370210000822-main
Constrained types:

τ
,
C
τ

denotes a constrained type, where
τ
is any primitive or container type and
C
τ is a set of constraints over the values of this type. In the classroom example, the light level is defined as an integer type whose values are constrained to lie between 0 and 10. In the email client shown in Fig. a, the list of email folders shown on the left is represented as a string whose values are constrained to be the names of the folders in the currently selected email account.
Constraints can also be specified for container types. For example, consider the list of available email accounts in the email example of Fig. b. Each account is modeled as an instance of the container type. Yet the user wants not only to seethe settings of a single account, but also wants to select different accounts to view. Thus, the interface element representing the current account is modeled as a container object whose domain of values is restricted to registered email accounts for that user. When Supple renders this container, it allows the user to select which account to view, and also displays that account’s settings. When enough screen space is available, Supple will render both the selection mechanism and the details of the content side-by-side, as in Fig. b. When space is scarce, Supple will show just the list of available accounts in order to view their contents, the user must double-click on an element in the list, or click the explicit Details button.
The constraints can be of any type, but typically they are expressed as an enumeration of allowed values or as a range.
Further, the constraints on the legal values of an element are allowed to change dynamically at run time—for example, the list of folders from which to select will change when folders are created or deleted. Additional relevant attributes can be specified in a definition of a constrained type, such as whether the constraint can change at run time or not, or what the expected size of the domain of possible choices is.
The elements of the constrained type are often rendered with discrete selection widgets such as lists, radio buttons, or combo boxes. But they can also be rendered as sliders for continuous number ranges where precise selection is not required,
or even as validated edit boxes.
A number of previous interface description languages, such as those used in the Personal Universal Controller or TERESA [67] projects, explicitly distinguish between types that can be manipulated with selection versus text editing operations. However, in some situations, both interactions maybe appropriate. For example, selecting a number from a small range can be represented as a list (selection) or as a validated input (edit. With the constrained types, Supple avoids making this commitment.


916
K.Z. Gajos et al. / Artificial Intelligence 174 (2010) 910–950

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