I am responsible of the "Mobile and Context-Aware Interactive Systems" course of the Master of Science in Informatics at Grenoble (MOSIG).

Students who attend this course should be able to invent, design, implement and evaluate mobile and context aware interactive systems capable of adapting to the context of use (user, platform, environment) while preserving worth for the end-user. This "Plasticity" property will be studied in the context of ubiquitous computing with a large focus set on Human Computer Interaction (HCI).

Mobility and integration of systems into the physical environment are key challenges for computer science. In particular, user interfaces (UI) must accommodate variations in the context of use while preserving human-centered properties. We call this capacity UI plasticity. This course begins by reviewing ideas from the last decade concerning the plasticity of UIs. From this starting point, it develops key ideas and perspectives for the near future. In the near future, there will be a need for elaborating a theory of adaptation to predict and explain the difficulties that users encounter when adaptation occurs. Secondly, in order to go beyond simplistic UI adaptation, there will be a need to bring together advances in several research areas including HCI (to support multimodality), Software Engineering (in particular, Model-Driven Engineering, Aspect Oriented Programming, as well as components and services, to cover both design time and run time adaptation), as well as Artificial Intelligence (to support situated information and planning). Indeed, in most current research, the user’s task model is assumed as given and is used as the starting point for generating UIs on the fly. In addition, the functional core is considered to be stable rather than compliant with opportunistic discovery of services. In the coming years, we will need to confront challenges that go beyond HCI: (1) incompleteness and uncertainty of the system perception of both the context of use and of the appropriateness of the adapted UI; (2) combinatory explosion when composing a UI for sustaining emergent users goals. Finally, we will need to develop environments (or studios) for UI Plasticity to integrate partial advances, to make the theory operational and to alleviate designers and developers task.

The outline of the course is:
1- History and grand challenges in ubiquitous computing
2- Definition of UI plasticity and problem space
3- Design research questions and state of the art
- The many faces of UIs
- Continuity of interaction
- End-User Programming (EUP)
4- Design methods
- Creativity and Plasticity
- Plasticity and Quality
- Unifying reference framework
5- Development paradigms
- Aspect Oriented Programming (AOP)
- Model Driven Engineering (MDE)
- Services Oriented ARchitecture (SOA)
6- Evaluation
The course includes 24h of formal lectures and 12h of project. The project will be a critical analysis of research papers based on a common case study, with a defense at the end of the semester.

Slides: to appear