Today's applications become more and more complex, making it difficult to maintain the usability of the interface. User interfaces (UIs) try to reduce the complexity and improve the usability of software, but it is difficult to desing one user interface that fits the needs of all possible users. To counter this effect, we need UIs that support he user in performing her tasks in a proactive way. Such Proactive User Interfaces (PUIs) support the user's interaction by:
- Guidance: guide the user which interaction element to interact with next by highlighting it. This draws the user’s attention to the element and thus reduces his cognitive load. This feature is especially useful when navigating in large menus.
- Interface Adaptation: adapt the interface to the user’s needs and his current context including his working environment, e.g. available screen space. Thereby it differs from the guidance feature as it can also modify the structure of the user interface and not the visual properties like font-size and color. Furthermore, it supports the usage of arbitrary input and output devices.
- Content Suggestion: suggest content for interaction elements like select or text input elements, and thus reduce the interaction costs especially for usage on mobile devices. Thereby a content suggestion can also span various interaction elements.
- Navigation Shortcuts: suggest to which part of an application to switch to if a specific event occurs, e.g. switching to a page for taking notes when the phone rings. Its suggestions are more coarse-grained and not limited to the currently displayed part of the application as those of the “Guidance” feature, its suggestions can also link to other applications.
- Automation: automatically perform actions on behalf of the user as entering data or navigating.