Papers › SmartControllerJS: A JavaScript library to turn smartphones into controllers for...

SmartControllerJS: A JavaScript library to turn smartphones into controllers for web-based interactive experiments

3 Aug 2022arXiv:2208.02043links table onlyarchive 2025-07-28

Emma Poliakova, Fraser Dempster, Abubakr Mahmood, Jonathan Grizou

The archive published only this paper's code-link row. Authors, date and abstract are from arXiv's metadata (CC0), read from the Kaggle arXiv metadata snapshot of 2026-09-12 where its title matched the archive's; the title is the archive's.

We introduce SmartControllerJS, a new JavaScript library for fast, cost-effective designing of web applications controlled via everyday smartphones. At its core, SmartControllerJS establishes a connection between two webpages, one page running on a desktop browser and the other on the user's smartphone. The smartphone webpage loads a controller interface allowing users to control a web application running on their computer's browser. The SmartControllerJS framework enables fast iteration loops when designing interactive user experiments because it has minimal friction and allows for scaling, while having no running costs. We first describe how this library is built, how it can be used, and provide interactive examples. We then present two games designed for public screens along with results from user studies evaluating acceptability and ease of use. Finally, we implement a custom controller based on user feedback and introduce connection monitoring tools. We believe SmartControllerJS can accelerate the design of interactive experiments for researchers in Human-Computer Interaction, and be a useful tool for educational projects. All our code is available at https://github.com/SmartControllerJS and links to all demos can be found in Table I. To explore our demos, we recommend reading this work on a desktop computer with your smartphone in hand.

PaperPDFCode

Code

smartcontrollerjs/smartcontroller officialmentioned in papermentioned on GitHub report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections