ABSTRACT
While researchers have long investigated end-user programming using a trigger-action (if-then) model, the website IFTTT is among the first instances of this paradigm being used on a large scale. To understand what IFTTT users are creating, we scraped the 224,590 programs shared publicly on IFTTT as of September 2015 and are releasing this dataset to spur future research. We characterize aspects of these programs and the IFTTT ecosystem over time. We find a large number of users are crafting a diverse set of end-user programs---over 100,000 different users have shared programs. These programs represent a very broad array of connections that appear to fill gaps in functionality, yet users often duplicate others' programs.
Supplemental Material
- Alexander Tibbets. 2014. Rain Tomorrow-- https://ifttt.com/recipes/ 165139-rain-tomorrow-get-a-notification. (2014).Google Scholar
- Christopher Bogart, Margaret Burnett, Allen Cypher, and Christopher Scaf--di. 2008. End-User Programming in the Wild: A Field Study of CoScripter Scripts. In Proc. VL/HCC. Google ScholarDigital Library
- Yngve Dahl and Reidar-Martin Svendsen. 2011. End-User Composition Interfaces for Smart Environments: A Preliminary Study of Usability Factors. In Design, User Experience, and Usability. Theory, Methods, Tools and Practice. 118--127.Google Scholar
- Scott Davidoff, Min Kyung Lee, Charles Yiu, John Zimmerman, and Anind K. Dey. 2006. Principles of smart home control. In Proc. Ubicomp. Google ScholarDigital Library
- Anind K. Dey, Timothy Sohn, Sara Streng, and Justin Kodama. 2006. iCAP: Interactive prototyping of context-aware applications. In Proc. Pervasive. Google ScholarDigital Library
- Colin Dixon, Ratul Mahajan, Sharad Agarwal, A.J. Brush, Bongshin Lee, Stefan Saroiu, and Paramvir Bahl. 2012. An Operating System for the Home. In Proc. NSDI. Google ScholarDigital Library
- William A. Gale and Geoffrey Sampson. 1995. Good-Turing frequency estimation without tears. Journal of Quantitative Linguistics 2 (1995), 217--237.Google ScholarCross Ref
- Manuel García-Herranz, Pablo Haya, and Xavier Alamn. 2010. Towards a Ubiquitous End-User Programming System for Smart Spaces. Journal of Universal Computer Science 16, 12 (2010), 1633--1649.Google Scholar
- Justin Huang and Maya Cakmak. 2015. Supporting mental model accuracy in trigger-action programming. In Proc. UbiComp. Google ScholarDigital Library
- Gilly Leshed, Eben M. Haber, Tara Matthews, and Tessa Lau. 2008. CoScripter: Automating & Sharing How-to Knowledge in the Enterprise. In Proc. CHI. Google ScholarDigital Library
- Wendy E. Mackay. 1990. Patterns of Sharing Customizable Software. In Proc. CSCW. Google ScholarDigital Library
- Wendy E. Mackay. 1991. Triggers and Barriers to Customizing Software. In Proc. CHI. Google ScholarDigital Library
- Michelle L. Mazurek, J.P. Arsenault, Joanna Bresee, Nitin Gupta, Iulia Ion, Christina Johns, Daniel Lee, Yuan Liang, Jenny Olsen, Brandon Salmon, Richard Shay, Kami Vaniea, Lujo Bauer, Lorrie Faith Cranor, Gregory R. Ganger, and Michael K. Reiter. 2010. Access control for home data sharing: Attitudes, needs and practices. In Proc. CHI. Google ScholarDigital Library
- Sarah Mennicken and Elaine M. Huang. 2012. Hacking the natural habitat: An in-the-wild study of smart homes, their development, and the people who live in them. In Proc. Pervasive. Google ScholarDigital Library
- Sarah Mennicken, Jo Vermeulen, and Elaine M. Huang. 2014. From Today's Augmented Houses to Tomorrow's Smart Homes: New Directions for Home Automation Research. In Proc. UbiComp. Google ScholarDigital Library
- Bonnie A. Nardi. 1993. A Small Matter of Programming: Perspectives on End User Computing. MIT Press, Cambridge, MA, USA. Google ScholarDigital Library
- Mark W. Newman. 2006. Now We--re Cooking: Recipes for End-User Service Composition in the Digital Home. In Position Paper-- CHI 2006 Workshop IT@Home.Google Scholar
- Mark W. Newman, Ame Elliott, and Trevor F. Smith. 2008. Providing an Integrated User Experience of Networked Media, Devices, and Services through End-User Composition. In Proc. Pervasive. Google ScholarDigital Library
- John F. Pane, Chotirat --Ann-- Ratanamahatana, and Brad A. Myers. 2001. Studying the language and structure in non-programmers-- solutions to programming problems. Int. J. Human-Computer Studies 54, 2 (2001), 237--264. Google ScholarDigital Library
- Samsung Smart Things. 2016. Compatible products. https: //www.smartthings.com/compatible-products. (2016).Google Scholar
- SeleniumHQ. 2015. Selenium WebDriver. http://www.seleniumhq.org/. (2015).Google Scholar
- Manya Sleeper, William Melicher, Hana Habib, Lujo Bauer, Lorrie Faith Cranor, and Michelle Mazurek. 2016. Sharing personal content online: Exploring channel choice and multi-channel behaviors. In Proc. CHI. Google ScholarDigital Library
- Supermechanical. 2013. Twine. http://supermechanical.com/twine/. (2013).Google Scholar
- Blase Ur, Jaeyeon Jung, and Stuart Schechter. 2014a. Intruders Versus Intrusiveness: Teens' and Parents' Perspectives on Home-Entryway Surveillance. In Proc. UbiComp. Google ScholarDigital Library
- Blase Ur, Elyse McManus, Melwyn Pak Yong Ho, and Michael L. Littman. 2014b. Practical Trigger-Action Programming in the Smart Home. In Proc. CHI. Google ScholarDigital Library
- Marcel Walch, Michael Rietzler, Julia Greim, Florian Schaub, Bj orn Wiedersheim, and Michael Weber. 2013. homeBLOX: making home automation usable. In UbiComp Adjunct Proceedings. Google ScholarDigital Library
- Wigwag. 2013. Wigwag. http://www.wigwag.com/. (2013).Google Scholar
- Xuan Zhao, Cliff Lampe, and Nicole Ellison. 2016. Negotiating platforms, people and practices: How people manage content sharing across social media. In Proc. CHI.Google Scholar
Index Terms
- Trigger-Action Programming in the Wild: An Analysis of 200,000 IFTTT Recipes
Recommendations
Supporting mental model accuracy in trigger-action programming
UbiComp '15: Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous ComputingTrigger-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 ...
How Users Interpret Bugs in Trigger-Action Programming
CHI '19: Proceedings of the 2019 CHI Conference on Human Factors in Computing SystemsTrigger-action programming (TAP) is a programming model enabling users to connect services and devices by writing if-then rules. As such systems are deployed in increasingly complex scenarios, users must be able to identify programming bugs and reason ...
Practical trigger-action programming in the smart home
CHI '14: Proceedings of the SIGCHI Conference on Human Factors in Computing SystemsWe investigate the practicality of letting average users customize smart-home devices using trigger-action ("if, then") programming. We find trigger-action programming can express most desired behaviors submitted by participants in an online study. We ...
Comments