6. Dynamic personalization of automatically generated UIs Previous sections demonstrated how to automatically generate user interfaces adapted to a particular device, a person’s typical usage pattern, and, possibly, his or her unique motor abilities. However, people’s tasks and needs change frequently, and user interfaces adapted to a person’s average context may not be ideal in all situations, even though they do capture many of the person’s idiosyncrasies. In this section we present two approaches for run-time personalization of Supple- generated user interfaces system-driven automatic adaptation and user-driven customization. 6.1. System-driven automatic adaptation The inclusion of usage traces in the cost functions allows Supple to generate user interfaces that reflect a person’s long- term tasks and usage. However, a person may use the same software fora variety of different types of tasks. Informed by the results of several user studies we conducted [24,25], we implemented the Split Interface approach [24] in Supple for adapting to the user’s task at hand. In Split Interfaces, functionality that is predicted to be immediately useful to the user is copied to a clearly designated adaptive area of the user interface while the main interface remains unchanged. Unlike some other adaptive approaches, Split Interfaces reliably improve both user performance and satisfaction In contrast to previous implementations of this general approach, which could only adapt contents of menu items or toolbar buttons [24], Supple can adapt arbitrary functionality: frequently used but hard to access functionality is copied to the functional specification of the adaptive area and Supple automatically renders it in a manner that is appropriate given the amount of space available in the adaptive part of the interface. For example, if the user frequently changes the print orientation setting, which requires 4 to 6 mouse clicks to access in atypical print dialog box, Supple will automatically copy that functionality to the adaptive part of the main print dialog box (Fig. 15). 6.2. User-driven customization We have already discussed two system-driven approaches to adapting user interfaces in Supple automatic adaptation to a person’s long-term usage patterns by incorporating usage traces in the cost function, and the Split Interface approach for automatic adaptation to the current task. In this section, we introduce a complementary user-driven customization mecha- nism. Just as with traditional user interfaces, some users may want to customize the organization or presentation of user interfaces generated by Supple. Customization mechanisms offer users control over the user interface and may contribute to significant improvement in satisfaction and performance when used to create custom simplified versions of the interface that are streamlined for the user’s individual tasks and habits Supple includes a comprehensive customization facility that allows a designer or an end user to make explicit changes to an interface, rearranging elements, duplicating functionality, removing elements, and constraining the choice of widgets used to render any part of the functional specification. Operation is simple on a windows and mouse platform one simply right-clicks the interface element (primitive widget or container, and options for customization are revealed. Duplication and rearrangement are specified with drag-and-drop. This is a much broader range of customizations than those possible with manually-created user interfaces, where presentation customizations are usually restricted to colors and other cosmetic changes, and where organizational changes are typically limited to menus and toolbars.