User Interface (UI) personalization aims at providing the right information, at the right time, and on the right support (tablets, smart-phone, etc.). Personalization can be performed on the interface elements’ presentation (e.g. layout, screen size, and resolution) and on the content provided (e.g., data, information, document). While many existing approaches deal with the first type of personalization, this chapter explores content personalization. To that end, the authors define a context-aware Model Driven Architecture (MDA) approach where the UI model is enriched by data from a domain model and its mapping to a context model. They conclude that this approach is better used only for domains where one envisions several developments of software applications and/or user interfaces.
Context-aware software application was first defined by (Schilit, Adams, & Want, 1994) in 1994 as the software that “adapts according to its location of use, the collection of nearby people and objects, as well as changes to those objects over time” (p. 1). They defend that a context-ware software application can examine the computing environment and react to environment changes. In 2001, Dey (2001) defined that “a system is context-aware if it uses context to provide relevant information and/or services to the user” (p. 1), where relevancy depends on the user’s task. Schilit, Adams, and Want (1994) say that three important aspects of context are: where you are? Who you are with? and what resources are nearby? Dey (2001) generalizes those aspects by defining context as “any information that can be used to characterize the situation of an entity” (p. 3) where entity is a person, place, or object relevant to the interaction between a user and an application.
In the Human-Computer Interaction (HCI) domain, our particular interest in this chapter, Calvary et al. (2003) propose the CAMELEON framework. In this framework, the UI generation is performed threw a set of models transformations, considering the context of use. According to the authors, the context of use is composed of three classes of entities: the user of the system, who is intended to use the system; the platform (hardware and software) that is used for interacting with the system, and, the physical environment where the interaction takes place. In CAMELEON, four models are proposed: task and concepts models, that describes the user’s tasks to be carried out and the domain-oriented concepts required by these tasks; abstract UI, that describes a UI independently of any modality of interaction; concrete UI, that concretizes an abstract UI for a given context of use; and, the final UI, that is the operational UI running in a specific platform.