Developer Support for Rapidly Prototyping of Distributed Physical User Interfaces
Distributed physical and tangible user interfaces help to reduce the complexity of our interaction with computing technology. They are important to provide natural and intuitive interfaces to the user, in a way that the interaction with information technology takes place in — rather than apart from — our everyday environment. Distributed physical user interfaces incorporate multiple components (e.g., displays, buttons, phones, sensors), and assemble these components as computer-supported appliances in our environment. Thus, the technology enhances our social and domestic activities, e.g., the use of digital media like photos, videos, and music; staying in contact with each other; and accessing information where it is needed. Examples of these interfaces include interactive picture frames, smart reminders, ambient awareness displays, situated communication devices, tools for sharing of digital media, and healthcare support for elderly people.
This thesis project explores advanced methods and tools to support developers and designers to rapidly prototype these distributed physical user interfaces. Prototyping is important for the early testing of the created appliances with users so that they can be improved afterwards. It also facilitates the process of developing and testing different variations of the system prototypes. The developed runtime-architecture and developer toolkit will allow the developers to focus on the implementation of their envisioned ideas. The architecture hides the complexity of the hardware access, networking protocols, and device control and discovery. The comprehensive developer toolkit, as well as the advanced programming strategies, address developers with diverse development knowledge. A set of tools allow the observation and control of all available components at any time, and integrated plug-ins in the development environment software support the process of developing new appliances. The class framework also allows the implementation of custom hardware wrappers, and programming objects, to easily integrate new hardware into the architecture. The architecture includes an integrated simulation environment, to support the process of validating and debugging developed appliances. Simulations and their control user interface can be created automatically based on the developed appliance. With example appliances we will illustrate the application of the developer library, the runtime platform, and the additional tools.
PeopleTom Gross, Supervisor
Nicolai Marquardt, Master's candidate