My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor

End users can nowadays define applications in the format of IF-THEN rules to personalize their IoT devices and online services. Along with the possibility to compose such applications, however, comes the need to debug them, e.g., to avoid unpredictable and dangerous behaviors. In this context, different questions are still unexplored: which visual languages are more appropriate for debugging IF-THEN rules? Which information do end users need to understand, identify, and correct errors? To answer these questions, we first conducted a literature analysis by reviewing previous works on end-user debugging, with the aim of extracting design guidelines. Then, we developed My IoT Puzzle, a tool to compose and debug IF-THEN rules based on the Jigsaw metaphor. My IoT Puzzle interactively assists users in the debugging process with different real-time feedback, and it allows the resolution of conflicts by providing textual and graphical explanations. An exploratory study with 6 participants preliminary confirms the effectiveness of our approach, showing that the usage of the Jigsaw metaphor, along with real-time feedback and explanations, helps users understand and fix conflicts among IF-THEN rules.

[1]  HENRY LIEBERMAN,et al.  End-User Development: An Emerging Paradigm , 2006, End User Development.

[2]  Fabio Paternò,et al.  Personalization of Context-Dependent Applications Through Trigger-Action Rules , 2017, ACM Trans. Comput. Hum. Interact..

[3]  Fulvio Corno,et al.  Empowering End Users in Debugging Trigger-Action Rules , 2019, CHI.

[4]  Fulvio Corno,et al.  A high-level semantic approach to End-User Development in the Internet of Things , 2019, Int. J. Hum. Comput. Stud..

[5]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[6]  Jiyun Lee,et al.  Trigger-Action Programming in the Wild: An Analysis of 200,000 IFTTT Recipes , 2016, CHI.

[7]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[8]  Laura Beckwith,et al.  Explaining Debugging Strategies to End-User Programmers , 2007 .

[9]  Carmelo Ardito,et al.  Empowering End Users to Customize their Smart Environments , 2017, ACM Trans. Comput. Hum. Interact..

[10]  Maya Cakmak,et al.  Supporting mental model accuracy in trigger-action programming , 2015, UbiComp.

[11]  Weng-Keen Wong,et al.  Principles of Explanatory Debugging to Personalize Interactive Machine Learning , 2015, IUI.

[12]  Arosha K. Bandara,et al.  Visual Simple Transformations , 2017, ACM Trans. Comput. Hum. Interact..

[13]  Vinton G. Cerf,et al.  Taking the Internet to the Next Physical Level , 2016, Computer.

[14]  Michael Weber,et al.  Exploring End User Programming Needs in Home Automation , 2017, ACM Trans. Comput. Hum. Interact..

[15]  Stefan Saroiu,et al.  Home automation in the wild: challenges and opportunities , 2011, CHI.

[16]  Brad A. Myers,et al.  Making End User Development More Natural , 2017, New Perspectives in End-User Development.

[17]  Nikolay Mehandjiev,et al.  Exploring Mobile End User Development: Existing Use and Design Factors , 2016, IEEE Transactions on Software Engineering.

[18]  Johann Schrammel,et al.  Visual languages for smart spaces: End-user programming between data-flow and form-filling , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[19]  Brad A. Myers,et al.  Finding causes of program output with the Java Whyline , 2009, CHI.

[20]  Dave Evans,et al.  How the Next Evolution of the Internet Is Changing Everything , 2011 .

[21]  Danilo Caivano,et al.  Supporting end users to control their smart home: design implications from a literature review and an empirical investigation , 2018, J. Syst. Softw..

[22]  Margaret M. Burnett,et al.  A Debugging Perspective on End-User Mashup Programming , 2010, 2010 IEEE Symposium on Visual Languages and Human-Centric Computing.

[23]  Brad A. Myers,et al.  An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks , 2006, IEEE Transactions on Software Engineering.

[24]  Barbara Rita Barricelli,et al.  Designing for End-User Development in the Internet of Things , 2015, IS-EUD.

[25]  Anind K. Dey,et al.  Toolkit to support intelligibility in context-aware applications , 2010, UbiComp.

[26]  Erin Walker,et al.  A tangible programming tool for creation of context-aware applications , 2013, UbiComp.

[27]  Alexander Repenning,et al.  Agentsheets: A Medium for Creating Domain-Oriented Languages , 1995, Computer.

[28]  Michael Weber,et al.  homeBLOX: introducing process-driven home automation , 2013, UbiComp.

[29]  Blase Ur,et al.  Practical trigger-action programming in the smart home , 2014, CHI.

[30]  Yngve Dahl,et al.  End-User Composition Interfaces for Smart Environments: A Preliminary Study of Usability Factors , 2011, HCI.

[31]  Margaret M. Burnett,et al.  End-user debugging strategies: A sensemaking perspective , 2012, TCHI.

[32]  Philip T. Cox Enhancing the Programmability of Spreadsheets with Logic Programming , 2007 .

[33]  Fabio Paternò,et al.  Puzzle: A mobile application development environment using a jigsaw metaphor , 2014, J. Vis. Lang. Comput..

[34]  Anind K. Dey,et al.  Why and why not explanations improve the intelligibility of context-aware intelligent systems , 2009, CHI.

[35]  Johann Schrammel,et al.  Visual end-user programming in smart homes: Complexity and performance , 2017, 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC).

[36]  Fabio Paternò,et al.  Supporting end-user debugging of trigger-action rules for IoT applications , 2019, Int. J. Hum. Comput. Stud..

[37]  Amos Azaria,et al.  InstructableCrowd: Creating IF-THEN Rules via Conversations with the Crowd , 2016, CHI Extended Abstracts.

[38]  Mary Beth Rosson,et al.  Programming at runtime: Requirements & paradigms for nonprogrammer web application development , 2003, IEEE Symposium on Human Centric Computing Languages and Environments, 2003. Proceedings. 2003.