2015 · 177 citations · 17 references
ComputingComputer ScienceAutomationHuman-computer InteractionSoftware EngineeringApplication Programming InterfacesError HandlingError PreventionSoftware DesignAction ErrorsMental Model AccuracyMental Model AlignmentModeling Desired BehaviorProgramming Model DesignProgramming Software ErrorsUser Error Prevention
Trigger-action programming is a simple programming model that enables users to create rules that automate behavior of smart homes, devices, and online services. Existing trigger-action programming systems, such as if-this-then-that (IFTTT), already have millions of users worldwide; however, their oversimplification limits the expressivity of the programs that can be created. While extensions of IFTTT to allow more complex programs have been proposed, previous work neglects a key distinction between different trigger types (states and events) and action types (instantaneous, extended, and sustained actions). In this paper, we systematically study the impact of these differences through two user studies that reveal: (i) inconsistencies in interpreting the behavior of trigger-action programs and (ii) errors made in creating programs with a desired behavior. Based on a characterization of these issues, we offer recommendations for improving the IFTTT interface so as to mitigate issues that arise from mental model inaccuracies.
17
Six Learning Barriers in End-User Programming Systems
Amy J. Ko, Brad A. Myers, Htet Htet Aung · 2004 · 547 citations · Full text
Computing, Computer Science, Design +16
At Home with Ubiquitous Computing: Seven Challenges
2001 · 513 citations
Practical trigger-action programming in the smart home
Blase Ur, Elyse McManus, Melwyn Pak Yong Ho et al. · 2014 · 382 citations
IS&T/SPIE Electronic Imaging
SPIE · SPIE Professional · 2013 · 240 citations
End-user programming of mashups with vegemite
James Lin, Jeffrey Wong, Jeffrey Nichols et al. · 2009 · 179 citations