Abstract
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.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
https://ifttt.com, last visited on February 26, 2019.
- 2.
https://zapier.com, last visited on February 26, 2019.
- 3.
https://angular.io/, last visited on February 26, 2019.
- 4.
https://jquery.com/, last visited on February 26, 2019.
- 5.
https://getbootstrap.com/, last visited on February 26, 2019.
- 6.
A detailed description of the rules used in the evaluation can be found in the Appendix.
References
Akiki, P.A., Bandara, A.K., Yu, Y.: Visual simple transformations: empowering end-users to wire internet of things objects. ACM Trans. Comput.-Hum. Interact. 24(2), 10:1–10:43 (2017)
Barricelli, B.R., Valtolina, S.: Designing for end-user development in the internet of things. In: Díaz, P., Pipek, V., Ardito, C., Jensen, C., Aedo, I., Boden, A. (eds.) IS-EUD 2015. LNCS, vol. 9083, pp. 9–24. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-18425-8_2
Brich, J., Walch, M., Rietzler, M., Weber, M., Schaub, F.: Exploring end user programming needs in home automation. ACM Trans. Comput.-Hum. Interact. 24(2), 11:1–11:35 (2017)
Brush, A.B., Lee, B., Mahajan, R., Agarwal, S., Saroiu, S., Dixon, C.: Home automation in the wild: challenges and opportunities. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2011, pp. 2115–2124. ACM, New York (2011)
Caivano, D., Fogli, D., Lanzilotti, R., Piccinno, A., Cassano, F.: Supporting end users to control their smart home: design implications from a literature review and an empirical investigation. J. Syst. Softw. 144, 295–313 (2018)
Cao, J., Rector, K., Park, T.H., Fleming, S.D., Burnett, M., Wiedenbeck, S.: A debugging perspective on end-user mashup programming. In: 2010 IEEE Symposium on Visual Languages and Human-Centric Computing, pp. 149–156, September 2010
Cerf, V., Senges, M.: Taking the internet to the next physical level. IEEE Comput. 49(2), 80–86 (2016)
Corno, F., De Russis, L., Monge Roffarello, A.: Empowering end users in debugging trigger-action rules. In: Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems, CHI 2019. ACM, New York (2019, in press)
Corno, F., De Russis, L., Monge Roffarello, A.: A high-level semantic approach to end-user development in the internet of things. Int. J. Hum.-Comput. Stud. 125, 41–54 (2019)
Dahl, Y., Svendsen, R.-M.: End-user composition interfaces for smart environments: a preliminary study of usability factors. In: Marcus, A. (ed.) DUXU 2011. LNCS, vol. 6770, pp. 118–127. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21708-1_14
Danado, J., Paternò, F.: Puzzle: a mobile application development environment using a jigsaw metaphor. J. Vis. Lang. Comput. 25(4), 297–315 (2014)
Desolda, G., Ardito, C., Matera, M.: Empowering end users to customize their smart environments: model, composition paradigms, and domain-specific tools. ACM Trans. Comput.-Hum. Interact. 24(2), 12:1–12:52 (2017)
Evans, D.: The internet of things: how the next evolution of the internet is changing everything. Technical report, Cisco Internet Business Solutions Group (2011)
Ghiani, G., Manca, M., Paternò, F., Santoro, C.: Personalization of context-dependent applications through trigger-action rules. ACM Trans. Comput.-Hum. Interact. 24(2), 14:1–14:33 (2017)
Grigoreanu, V., Burnett, M., Wiedenbeck, S., Cao, J., Rector, K., Kwan, I.: End-user debugging strategies: a sensemaking perspective. ACM Trans. Comput.-Hum. Interact. 19(1), 5:1–5:28 (2012)
Huang, J., Cakmak, M.: Supporting mental model accuracy in trigger-action programming. In: Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp 2015, pp. 215–225. ACM, New York (2015)
Huang, T.H.K., Azaria, A., Bigham, J.P.: Instructablecrowd: creating if-then rules via conversations with the crowd. In: Proceedings of the 2016 CHI Conference Extended Abstracts on Human Factors in Computing Systems, CHI EA 2016, pp. 1555–1562. ACM, New York (2016)
Ko, A.J., Myers, B.A.: Designing the whyline: a debugging interface for asking questions about program behavior. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2004, pp. 151–158. ACM, New York (2004)
Ko, A.J., Myers, B.A., Coblenz, M.J., Aung, H.H.: An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Trans. Softw. Eng. 32(12), 971–987 (2006)
Ko, A.J., Myers, B.A.: Finding causes of program output with the Java whyline. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2009, pp. 1569–1578. ACM, New York (2009)
Kulesza, T., Burnett, M., Wong, W.K., Stumpf, S.: Principles of explanatory debugging to personalize interactive machine learning. In: Proceedings of the 20th International Conference on Intelligent User Interfaces, IUI 2015, pp. 126–137. ACM, New York (2015)
Lee, J., Garduño, L., Walker, E., Burleson, W.: A tangible programming tool for creation of context-aware applications. In: Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing, UbiComp 2013, pp. 391–400. ACM, New York (2013)
Lieberman, H., Paternò, F., Klann, M., Wulf, V.: End user development. In: Lieberman, H., Paternó, F., Wulf, V. (eds.) End-User Development: An Emerging Paradigm, pp. 1–8. Springer, Dordrecht (2006). https://doi.org/10.1007/1-4020-5386-X_1
Lim, B.Y., Dey, A.K.: Toolkit to support intelligibility in context-aware applications. In: Proceedings of the 12th ACM International Conference on Ubiquitous Computing, UbiComp 2010, pp. 13–22. ACM, New York (2010)
Lim, B.Y., Dey, A.K., Avrahami, D.: Why and why not explanations improve the intelligibility of context-aware intelligent systems. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2009, pp. 2119–2128. ACM, New York (2009)
Manca, M., Santoro, C., Corcella, L.: Supporting end-user debugging of trigger-action rules for IoT applications. Int. J. Hum. Comput. Stud. 123, 56–69 (2019)
Myers, B.A., et al.: Making end user development more natural. In: Paternò, F., Wulf, V. (eds.) New Perspectives in End-User Development, pp. 1–22. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-60291-2_1
Namoun, A., Daskalopoulou, A., Mehandjiev, N., Xun, Z.: Exploring mobile end user development: existing use and design factors. IEEE Trans. Softw. Eng. 42(10), 960–976 (2016)
Reisinger, M., Schrammel, J., Fröhlich, P.: Visual end-user programming in smart homes: complexity and performance. In: 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 331–332, October 2017
Reisinger, M.R., Schrammel, J., Fröhlich, P.: Visual languages for smart spaces: end-user programming between data-flow and form-filling. In: 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pp. 165–169, October 2017
Repenning, A., Sumner, T.: Agentsheets: a medium for creating domain-oriented visual languages. Computer 28(3), 17–25 (1995)
Resnick, M., et al.: Scratch: programming for all. Commun. ACM 52(11), 60–67 (2009)
Rietzler, M., Greim, J., Walch, M., Schaub, F., Wiedersheim, B., Weber, M.: homeBLOX: introducing process-driven home automation. In: Proceedings of the 2013 ACM Conference on Pervasive and Ubiquitous Computing Adjunct Publication, UbiComp 2013, pp. 801–808. ACM, New York (2013)
Rode, J., Rosson, M.B.: Programming at runtime: requirements and paradigms for nonprogrammer web application development. In: Proceedings of the 2003 IEEE Symposium on Human Centric Computing Languages and Environments, HCC 2003, pp. 23–30. IEEE Computer Society, Washington, DC (2003)
Subrahmaniyan, N., et al.: Explaining debugging strategies to end-user programmers. In: Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing, VLHCC 2007, pp. 127–136. IEEE Computer Society, Washington, DC (2007)
Ur, B., et al.: Trigger-action programming in the wild: An analysis of 200,000 IFTTT recipes. In: Proceedings of the 34rd Annual ACM Conference on Human Factors in Computing Systems, CHI 2016, pp. 3227–3231. ACM, New York (2016)
Ur, B., McManus, E., Pak Yong Ho, M., Littman, M.L.: Practical trigger-action programming in the smart home. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI 2014, pp. 803–812. ACM, New York (2014)
User Interface Group, U.: Alice: rapid prototyping for virtual reality. IEEE Comput. Graph. Appl. 15(3), 8–11 (1995)
Acknowledgments
The authors wish to thanks Alessia Carosella for conducting the literature review and implementing the user interface of My IoT Puzzle.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendix: Rules Used in the Evaluation
Appendix: Rules Used in the Evaluation
The following trigger-action rules were used in the evaluation of My IoT Puzzle:
-
R1. If your Android smartphone detects that you enter the home area, then turn on the Philips Hue kitchen lamp.
-
R2. If your Android smartphone detects that you enter the home area, then turn off the Philips Hue kitchen lamp.
-
R3. If your Android smartphone detects that you enter the home area, then turn on a color loop on the Philips Hue kitchen lamp.
-
R4. If a new photo is added to the “ios” album on iOS Photo, then add the file on the “drpb” Dropbox folder.
-
R5. If a new photo is added to the “drpb” Dropbox folder, then upload the photo on Facebook.
-
R6. If there is a new photo post by you on Facebook, then add the photo to the “ios” album on iOS Photo.
-
R7. If your iPhone detects that you exit the work area, then lock the SmartThings office door.
-
R8. If the SmartThings office door is locked, then arm the Homeboy office security camera.
-
R9. If the Homeboy office security camera is armed, then unlock the SmarThings office door.
-
R10. If a new song is played on Amazon Alexa, then post a tweet with the song name on Twitter.
-
R11. If a new song is played on Amazon Alexa, then save the track on Spotify.
-
R12. If a new track is saved track on Spotify, then post a tweet with the song name on Twitter.
The rules generate 2 inconsistencies, 2 redundancies, and 1 loop:
-
R1 and R2 generate an inconsistency, because they share the same trigger while producing contradictory actions on the same device;
-
R7 and R9 generate an inconsistency, because they produce contradictory actions on the same device and are activated nearly at the same time, since R7 activates R8, and R8 activates R9;
-
R1 and R3 generate a redundancy, because they share the same trigger while producing two similar actions on the same device;
-
R10 and R12 generate a redundancy, because they produce similar actions on the same online service and are activated nearly at the same time, since R10 and R11 share the same trigger and R11 activates R12.
-
R4, R5, and R6 generate an infinite loop, because R4 activates R5, R5 activates R6, and R6 activates R4;
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Corno, F., De Russis, L., Monge Roffarello, A. (2019). My IoT Puzzle: Debugging IF-THEN Rules Through the Jigsaw Metaphor. In: Malizia, A., Valtolina, S., Morch, A., Serrano, A., Stratton, A. (eds) End-User Development. IS-EUD 2019. Lecture Notes in Computer Science(), vol 11553. Springer, Cham. https://doi.org/10.1007/978-3-030-24781-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-24781-2_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-24780-5
Online ISBN: 978-3-030-24781-2
eBook Packages: Computer ScienceComputer Science (R0)