Topic Design and develop a graphical interface for high-level end-user programming in the Internet of Things
Keywords Visualization, End-user programming, Smart Home, Web Technologies
Degree Computer Engineering, Cinema and Media Engineering
Credits 30
Advisors Fulvio Corno, Luigi De Russis, Alberto Monge Roffarello


Example rulePeople can customize their smart homes and their Internet of Things (IoT) devices thanks to services like IFTTT (if-this-then-that). Such services allow non-programmers to realize rules like “if someone is at the door, show me a notification on my smartphone” and they are a success in terms of user comprehension and ease of use. However, they fall short in different areas. For example, it is not possible to say "when I enter a place, set the temperature to 21 degree", but you have to create many similar rules with triggers for each place and for each of their thermostats. We can call rules like "when I enter a place, set the temperature to 21 degree," therefore, as high-level rules.

This thesis aims at exploring possible representation modalities (jigsaw-based, natural language format, etc.) for composing high-level rules for sets of IoT devices. Starting from a high-level description model and from an analysis of existing modalities for composing IFTTT-like rules, one or more graphical interfaces must be realized and compared. Such interfaces should let end-users define their own high-level rules so that they can be applied and automatically adapted to multiple devices and services.
The goal of this work will be reached by applying a strong user-centered approach. The graphical interface will be developed as a web application and it will be validated with real users. The outcome of the thesis, if satisfying, will be made freely available as an Open Source project.