Fig. 18. An interface for the classroom controller application rendered automatically by Supple fora PDA, a desktop computer, a touchscreen, and HTML browser, and a WAP phone. 7.2. Adapting to long-term usage patterns Both formulations of the cost function described in this paper incorporate usage statistics from a usage model. These statistics impact how Supple generates user interfaces. For example, Fig. 21 shows two versions of the classroom interface rendered under the same size constraint. The two interfaces were generated in response to two different usage models. The rendition in Fig. a was based on a usage trace that represented uniform usage of all the features, while the one in Fig. b was generated in response to a usage pattern where the three light controls were always manipulated in sequence. The second interface, even though it uses less convenient widgets, makes it easier to navigate between individual light controls than the first one. 7.3. User-driven customization Microsoft Ribbon (Fig. 22) is an interface innovation introduced in Microsoft Office 2007 as a replacement for menus and toolbars. One of its important properties is that the presentation of the contents of the Ribbon can be adapted based on the width of the document window. The adaptation is performed in several ways, including removing text labels from buttons, re-laying out some of the elements and replacing sections of the Ribbon with popup windows. Fig. a shows a fragment of the Ribbon re-implemented in Supple, while Fig. b shows that same fragment adapted tot in a narrower window. The size adaptation of the Microsoft Ribbon is not automatic—versions for different window widths were designed by hand. An unfortunate consequence of this approach is that no manual customization of the Ribbon is possible unlike the toolbars used in earlier versions of MS Office, the Ribbon has no mechanism to enable moving, copying, adding, or deleting buttons, panels or other interface elements. Supple ’s automatic interface generation algorithm, which takes size as one of the input constraints, automatically provides the size adaptations (Fig. b. More importantly, however, Supple’s customization mechanisms allow people to add new panels to the Supple version of the Ribbon as well as to move, copy, and delete functionality. The customized Ribbon can be naturally adapted to different size constraints by Supple (Fig. c. In this case, automatically generated and adapted interactions can improve users sense of control compared to the manually created solution. 7.4. System performance We now systematically evaluate the performance of Supple’s optimization algorithm on a variety of user interfaces and fora range of screen size constraints. The computational problem that Supple solves to generate user interfaces is that of constrained combinatorial optimization. This is a computationally hard problem—exponential in the number of specification elements, in the worst case—but in practice, most instances of such problems are tractable, with just a small number of instances being substantially harder to solve. Intuitively, given a large amount of screen space, a large fraction of possible renderings will satisfy the size constraints, and the greedy approach of always trying the best widgets first will likely result in quick computation of the