Over the last few decades we have witnessed an increasing number of smart devices, ranging from smartphones and tablets to wearable devices such as smartbands, smartwatches and smart glasses.
Despite the fact that people start using multiple smart devices simultaneously and perform some of their tasks by navigating from one device to another, it is still a challenge to support these kind of interactions between devices. Interaction between devices is often limited to data synchronisation via the cloud or restricted to dedicated applications only running on devices from the same manufacturer. Therefore, various research has been carried out to explore different solutions for facilitating cross-device interaction (XDI) and the distribution of data or user interfaces (UIs) across multiple devices.
Next to smart devices, in recent years we observe the rise of Internet of Things (IoT) solutions, allowing digital user interfaces to communicate with enhanced everyday objects. These so-called IoT objects or things are equipped with some hardware allowing them to communicate using different wireless protocols. Popular IoT devices are smart light bulbs, thermostats as well as speakers. The plethora of new devices lead to additional challenges including (but not limited to) interoperability, privacy and security of IoT devices. Further, since most of these IoT devices come with their own dedicated application, people end up with a fragmentation of control where many different applications are necessary to manage their devices.
While existing research has mainly focused on either cross-device solutions or the Internet of Things, the unification of these two closely related research domains is often neglected, resulting in solutions designed only for smart devices and systems specifically developed for IoT objects only. However, with the pool of smart technologies that users have to deal with in the present day, they need solutions that can communicate, manage, and control all these different types of devices and things. Additionally, since the users' needs are difficult to anticipate in advance due to their complex and evolving nature (together with technological advances), developers cannot satisfy the diverse and frequently changing user needs. Therefore, we see emerging end-user development solutions, which allow so-called end users without programming experience to tailor or create new software artefacts according to their specific needs.
In this dissertation, we aim to improve end users' control over their smart environments that include smart devices as well as IoT devices, by developing a solution that unifies the advantages of both the XDI and IoT research domains, and provides the appropriate abstractions based on the users' mental models of cross-device and IoT interactions. Thereby, we enable end users to create and modify their own XD and IoT applications based on their existing knowledge. The unification of XDI and IoT further allows users to manage all their devices in a single place rather than having a fragmented control over multiple applications, while the appropriate abstractions will help them to more easily become familiar with our solution. In order to develop the necessary conceptual foundations, we investigated related work on end-user development in the domains of cross-device interaction and the Internet of Things. Based on this detailed analysis we derived a number of requirements for the end-user authoring of XD and IoT applications, which have been augmented with additional requirements resulting from a number of use case scenarios involving XD and IoT interactions.
Since our goal is to allow end users to create their own applications and user interfaces (UIs), we opted for a model-based approach to facilitate the UI development process. We analysed existing model-based approaches, helping us to finalise our requirements, and design a reference framework and conceptual model. Our eSPACE reference framework structures the UI development process for user-defined applications while the conceptual model introduces all the necessary components for this development process. In order to get a better understanding of end users' mental models when it comes to cross-device and IoT interactions, we performed an elicitation study to explore which metaphors are most used by people to visualise these interactions. Based on related work and our study, we then developed a set of design guidelines for the creation of cross-device and IoT end-user authoring solutions. Given the requirements, our reference framework, the conceptual model and design guidelines, we finally came up with the design of a cross-device and IoT end-user authoring solution that allows end users to create and modify their XD and IoT applications and user interfaces. The resulting eSPACE authoring tool fulfils most of the presented requirements, uses the concepts introduced by our model, follows the UI development process of our reference framework to construct user-defined applications and complies to all our design guidelines.
Project website: https://wise.vub.ac.be/~asanctor/eSPACE