Designing a Tangible Programming Interface for the Internet of Things
Total Page:16
File Type:pdf, Size:1020Kb
Die approbierte Originalversion dieser Diplom-/ Masterarbeit ist in der Hauptbibliothek der Tech- nischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Designing a Tangible Programming Interface for the Internet of Things DIPLOMARBEIT zur Erlangung des akademischen Grades Diplom-Ingenieur im Rahmen des Studiums Medieninformatik eingereicht von Daniel Dudo Matrikelnummer 0925446 an der Fakultät für InforMatik der Technischen Universität Wien Betreuung Betreuer: Ao.Univ.Prof. Dr. Peter Purgathofer Mitbetreuer: Univ.Ass. Dr. Florian Güldenpfennig Wien, 22.01.2018 (Unterschrift Verfasser/in) (Unterschrift Betreuer/in) Technische Universität Wien A-1040 Wien ▪ Karlsplatz 13 ▪ Tel. +43-1-58801-0 ▪ www.tuwien.ac.at Designing a Tangible Programming Interface for the Internet of Things MASTER’S THESIS submitted in partial fulfillment of the requirements for the degree of Master of Science in Media Informatics by Daniel Dudo Registration Number 0925446 to the Faculty of Informatics at the Vienna University of Technology Supervision Advisor: Ao.Univ.Prof. Dr. Peter Purgathofer Co-Advisor: Univ.Ass. Dr. Florian Güldenpfennig Vienna, 22.01.2018 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien ▪ Karlsplatz 13 ▪ Tel. +43-1-58801-0 ▪ www.tuwien.ac.at I Erklärung zur Verfassung der Arbeit Daniel Dudo Wienerberg City, 1100 Wien „Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe.“ Wien, 22.01.2018 __________________________________ (Unterschrift Verfasser) III Acknowledgements First of all, I would like to thank Dr. Florian Güldenpfennig for his great and invaluable support during my work, for his motivation and patience, which have energetically supported me and which allowed me to finish this work. I learned a lot from his academic experiences, and above all, he showed me how to deal with scientific problems - but further, I also was allowed to enjoy some of his culinary delights (tagliatelle with salmon and soy sauce!). Special thanks also to Prof. Peter Purgathofer, who was always available for inspiration and advice, and also for his great guidance on 3D printing and modeling. Furthermore, I would like to thank all participants who have given me valuable feedback which allowed me to push this work forward. I would also like to express my gratitude to my family and to all my friends. I sincerely thank them, because they always stood by my side, helped me to complete this work, and above all enriched my life. V Abstract The Internet of Things (IoT) aims at making our lives more livable, easier, and more enjoyable. However, the IoT is also facing challenges of how to configure and program applications or of how to participate in the IoT. The aim of this thesis was to explore how people experience alternative approaches to programming home automation technology (commonly called smart home) and related IoT applications by using tangible computing devices. Following a Research through Design approach, this thesis employed an iterative and user-centered design process that focused on creating a series of prototypes based on the feedback of 43 participants. Finally three prototypes were built where the first prototype was utilized to introduce the primary interaction concept to the participants; the other two prototypes were based on subsequent feedback from the participants and considering their suggestions. For the final prototype, several sensor and actuator modules were developed, which could be linked with the help of a tangible controller device. In addition, functions such as time duration, delay or inverting could also be set in the prototype system. In a final evaluation, this prototype was examined with technically experienced prospective students of informatics and technically unexperienced older participants. The results showed that an interesting approach to programming IoT devices was developed, which was also understood and appreciated by older participants. Hence, the design exploration showed potential in empowering end-users in solving everyday challenges with smart technology. Keywords: Internet of Things, IoT, ubicomp, research through design, interaction, empower, prototyping, sensor, actuator, Arduino VII Kurzfassung Einerseits versucht das Internet der Dinge (IoT) unser Leben lebenswerter und angenehmer zu gestalten, aber andererseits steht das IoT vor Herausforderungen bei der Konfiguration, Programmierung oder sogar beim Einsatz des IoT. Ziel dieser Arbeit ist es zu erforschen, wie Menschen einen alternativen Ansatz zur Programmierung von Smart Home Technologie durch den Einsatz von greifbaren Computergeräten erfahren und weiters festzustellen, ob dieser Ansatz die Endnutzer und Endnutzerinnen in die Lage versetzt, kleine alltägliche Herausforderungen zu lösen. Basierend auf einem Research through Design Ansatz folgt diese Arbeit einem iterativen Designprozess, in welchem eine Reihe von Prototypen hergestellt und welche mit insgesamt 43 Teilnehmern und Teilnehmerinnen evaluiert wurden um Feedback zu sammeln. Schlussendlich wurden drei Prototypen erstellt, bei denen der erste Prototyp das Konzept dieser Arbeit vorstellte und die anderen beiden Prototypen auf darauf folgenden Feedback der Teilnehmer und Teilnehmerinnen basiert. Für den endgültigen Prototyp wurden mehrere Sensor- und Aktormodule entwickelt, die mit Hilfe eines selbstentwickelten Controllers verknüpft werden konnten. Zusätzlich konnten Funktionen wie Zeitdauer, Verzögerung oder Invertierung verwendet werden. Mit einer abschließenden Evaluierung wurde der Prototyp mit technisch versierten Studieninteressierten-Informatikern und -Informatikerinnen und technisch unerfahrenen älteren Menschen untersucht. Die Ergebnisse zeigen, dass ein interessanter und greifbarer Ansatz für die Programmierung von IoT-Geräten entwickelt wurde, der auch von älteren Menschen gut aufgenommen und verstanden wurde. Everything is a button Workshop Participant, 2016 IX Table of Contents 1 Introduction ................................................................................................................ 1 1.1 Research Scope .................................................................................................. 4 1.2 Goals and Research Questions ........................................................................... 4 1.2.1 Limitations .................................................................................................... 5 1.3 Contributions of the Thesis ................................................................................. 6 1.4 Structure of the Thesis ........................................................................................ 6 2 Related Work ............................................................................................................. 7 2.1 Defining the Internet of Things (IoT) .................................................................. 7 2.2 Defining the Term Programming with Respect to this Thesis ............................ 8 2.3 Commercial IoT Products ................................................................................... 9 2.4 IoT Research Products used in the Academia and for Education .................... 11 2.5 End User Development in the IoT and of Tangibles ........................................ 14 2.6 Interaction Types in Programming the IoT ....................................................... 18 2.7 Summary of Related Work ................................................................................ 20 3 Approach and Methods ........................................................................................... 23 3.1 Approach: Design Research in HCI .................................................................. 24 3.1.1 Research through Design .......................................................................... 26 3.2 Methods for Prototyping .................................................................................. 28 3.2.1 Explorative Design Methods ..................................................................... 28 3.2.2 3D Printing and Rapid Prototyping ............................................................ 30 3.2.3 Electronics Prototyping Tools .................................................................... 31 3.3 User Research Methods .................................................................................... 32 3.4 Research Sequence ........................................................................................... 33 3.5 Participants ....................................................................................................... 35 3.6 Summary ........................................................................................................... 36 4 Iterative Design Process ........................................................................................... 37 4.1 Overview ........................................................................................................... 37 4.2 Previous Work ..................................................................................................