Enabling Internet of Things (IoT) development for non-experts and end-users is the impetus behind Daniel Satcher’s research. This effort is part of a series of projects involving TILES, an IoT toolkit that provides a common set of hardware components, application infrastructures, and interaction primitives (how users tangibly interact with the TILES hardware) in order to transform everyday objects into smart, connected objects. While the TILES toolkit alone provides many abstractions to ease development, there is an opportunity to further simplify development for non-technical users or developers who are unfamiliar with IoT.
For his specialization project, Daniel evaluated existing solutions for simplifying development with TILES as well as proposed a visual programming approach for TILES. The evaluation consisted of reviewing the architecture for a previous project regarding a domain-specific-language for TILES as well as analyzing the state of the art technologies used in visual programming styles for IoT. Additionally, Daniel observed workshops involving non-experts developing applications for TILES in order to examine the challenges that non-experts face with traditional development. As a result of this research, a design for a diagrammatic programming language unique to TILES was proposed in order to decrease the gap between designing solutions with TILES and implementing those solutions with code.
Currently, Daniel is expanding upon his specialization project on how to best allow non-technical users to develop applications using TILES. Merging the emphasis that TILES has on tangible interaction with the popularity and usability of rule-based systems such as IFTTT (https://ifttt.com/) has been the main focus. The outcome of this research is to develop a prototype that will allow end-users to develop complex rules involving multiple interactions with smart objects. The applications that users can create are expected to have relevance in the situated learning and game-making spaces in particular.