Interacto: A Modern User Interaction Processing Model

05/27/2021
by   Arnaud Blouin, et al.
0

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 user interaction processing model. By reifying the concept of user interaction, Interacto makes it easy to design, implement and test modular and reusable advanced user interactions, and to connect them to commands with built-in undo/redo support. To demonstrate its applicability and generality, we briefly present two open source implementations of Interacto for Java/JavaFX and TypeScript/Angular. We evaluate Interacto interest (1) on a real world case study, where it has been used since 2013, and with (2) a controlled experiment with 44 master students, comparing it with traditionnal UI frameworks.

READ FULL TEXT

page 6

page 7

page 8

page 9

page 11

page 13

research
06/12/2023

Motivational models for validating agile requirements in Software Engineering subjects

This paper describes how motivational models can be used to cross check ...
research
07/11/2018

Building a Sustainable Structure for Research Software Engineering Activities

The profile of research software engineering has been greatly enhanced b...
research
12/23/2020

NeuXus: A Biosignal Processing and Classification Pipeline for Real-Time Brain-Computer Interaction

In the last few years,Brain-Computer Interfaces (BCIs) have progressed a...
research
07/17/2020

Towards a Model of Testers' Cognitive Processes: Software Testing as a Problem Solving Approach

Software testing is a complex, intellectual activity based (at least) on...
research
09/14/2020

Analogy-Making as a Core Primitive in the Software Engineering Toolbox

An analogy is an identification of structural similarities and correspon...
research
04/28/2021

Multi-Objective Reconstruction Of Software Architecture

Design erosion is a persistent problem within the software engineering d...
research
11/27/2018

Integrating User Design and Formal Models within PVSio-Web

Creating formal models of interactive systems has wide reaching benefits...

Please sign up or login with your details

Forgot password? Click here to reset