Abstract
We explore a new approach to programming swarm user interfaces (Swarm UI) by leveraging direct physical manipulation. Existing Swarm UI applications are written using a robot programming framework: users work on a computer screen and think in terms of low-level controls. In contrast, our approach allows programmers to work in physical space by directly manipulating objects and think in terms of highlevel interface design. Inspired by current UI programming practices, we introduce a four-step workflow-create elements, abstract attributes, specify behaviors, and propagate changes- for Swarm UI programming. We propose a set of direct physical manipulation techniques to support each step in this workflow. To demonstrate these concepts, we developed Reactile, a Swarm UI programming environment that actuates a swarm of small magnets and displays spatial information of program states using a DLP projector. Two user studies-an in-class survey with 148 students and a lab interview with eight participants-confirm that our approach is intuitive and understandable for programming Swarm UIs.
Original language | English |
---|---|
Title of host publication | CHI 2018 - Extended Abstracts of the 2018 CHI Conference on Human Factors in Computing Systems |
Subtitle of host publication | Engage with CHI |
Publisher | Association for Computing Machinery |
ISBN (Electronic) | 9781450356206, 9781450356213 |
DOIs | |
State | Published - 20 Apr 2018 |
Event | 2018 CHI Conference on Human Factors in Computing Systems, CHI 2018 - Montreal, Canada Duration: 21 Apr 2018 → 26 Apr 2018 |
Publication series
Name | Conference on Human Factors in Computing Systems - Proceedings |
---|---|
Volume | 2018-April |
Conference
Conference | 2018 CHI Conference on Human Factors in Computing Systems, CHI 2018 |
---|---|
Country/Territory | Canada |
City | Montreal |
Period | 21/04/18 → 26/04/18 |
Bibliographical note
Publisher Copyright:© 2018 Copyright is held by the owner/author(s).
Keywords
- Direct manipulation
- Programming by demonstration
- Swarm user interfaces
- Tangible programming