TL;DR
Interacto introduces a high-level user interaction processing model that enhances modularity, reusability, and testability of modern UIs by reifying user interactions and supporting advanced features like undo/redo.
Contribution
It proposes Interacto, a novel high-level interaction model that addresses flaws of traditional low-level UI event processing frameworks, enabling better design and testing of complex UIs.
Findings
Successful implementation in open source projects for Java/JavaFX and TypeScript/Angular.
Positive evaluation through a real-world case study since 2013.
Controlled experiment with 44 students showing advantages over traditional frameworks.
Abstract
Since most software systems provide their users with interactive features, building user interfaces (UI) is one of the core software engineering tasks. It consists in designing, implementing and testing ever more sophisticated and versatile ways for users to interact with software systems, and safely connecting these interactions with commands querying or modifying their state. However, most UI frameworks still rely on a low level model, the bare bone UI event processing model. This model was suitable for the rather simple UIs of the early 80s (menus, buttons, keyboards, mouse clicks), but now exhibits major software engineering flaws for modern, highly interactive UIs. These flaws include lack of separation of concerns, weak modularity and thus low reusability of code for advanced interactions, as well as low testability. To mitigate these flaws, we propose Interacto as a high level…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
