Beyond TAP: Piggybacking on IFTTT to Connect Triggers and Actions with JavaScript
Trigger-Action Programming (TAP) allows endusers to automate IoT devices, social media, and other services. TAP systems typically offer 1) user-friendly, GUI-mediated access to service APIs through “triggers” and “actions” and 2) a simplified if-this-then-that programming model. While simple, TAP’s programming model lacks power and limits what its users can create. We introduce Legato, an automation platform which keeps the convenient trigger and action abstractions from TAP, but allows programmers to connect these triggers and actions with complex logic via JavaScript. Legato piggybacks on IFTTT, taking advantage of IFTTT’s mature ecosystem of integrations. Additionally, Legato allows programmers to store and retrieve persistent state, schedule future events, and safely test their programs. Through a two-stage usability study, we found student programmers easily learned Legato and came up with several scenarios requiring Legato’s power. Based on feedback and observation, we derive design recommendations for future highly-expressive automation systems and reflect on the role of textual programming for end-user automation.
Authors
- Ruipu Hu (ORCID: https://orcid.org/0000-0001-6281-1077)
- Marx Wang (ORCID: https://orcid.org/0000-0002-7446-8488)
- Daniel Manesh (ORCID: https://orcid.org/0000-0001-8177-0733)
- Sang Won Lee (ORCID: https://orcid.org/0000-0002-1026-315X)
Institutions
- University of Washington (US)
- University of Maryland, College Park (US)
- Virginia Tech (US)
Publication Details
- Published
- 2024-09-02
- DOI
- https://doi.org/10.1109/vl/hcc60511.2024.00036
- Citations
- 1
- Primary Topic
- Teaching and Learning Programming
- Type
- article
- Field-Weighted Citation Impact
- 0.41