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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Beyond TAP: Piggybacking on IFTTT to Connect Triggers and Actions with JavaScript

Ruipu Hu, Marx Wang, Daniel Manesh, Sang Won Lee
1 citations
Teaching and Learning Programming
0.41
article

Beyond TAP: Piggybacking on IFTTT to Connect Triggers and Actions with JavaScript

Ruipu Hu, Marx Wang, Daniel Manesh, Sang Won Lee
article en
1 citations

Abstract

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.

University of Washington (US), University of Maryland, College Park (US), Virginia Tech (US)
Openalex Percentile: Top 26%
Teaching and Learning Programming
0.41
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.