This theme aims to develop methods, models and support, and to evaluate how the user experience affects and can drive technical and engineering decisions in software development. One key set of technical decisions that highly affects the user experience is the amount of system configuration the system allows. The chosen technical architecture will make some configurations possible while others are hard or even impossible to choose. We will use system configuration as the key technical area on which to evaluate and refine a general user experience framework.
Project A.1: User Experience-Focused Software Engineering Patterns
This project aims to clarify the concept of User Experience (UX) in the context of system and software engineering and to connect it to the technical architecture and decisions. The objective is to provide a framework of patterns that can be used both pro- and retroactively, to predict, drive and validate that the development of a software-intensive system leads to a high-quality user experience. The project should also provide a specialization of the framework with patterns that focus on system configuration. This part should be a core component in the configuration framework developed in project A.2.
Project A.2: User-Driven System Configuration
For the end user, interaction between devices is with current techniques only possible in the precise configurations foreseen by the implementers of the devices, be it PCs, MP3-playes, mobile phones, digital cameras, internet based services, etc. Ideas from research in ubiquitous computing address the problems by forming mechanisms that let the end user combine devices and their functionality in a much more flexible way. The project will study how these ideas can be used at different system levels: how an end user can combine a mobile phone as a system component together with other devices at hand, or how the services in a mobile phone can be combined in new ways by an end user. Together with project A.1 we evaluate how such mechanisms for ad-hoc configuration can be used to enhance the user experience.