On the Usability of Reactive Programming APIs: A Mixed Evaluation

ABSTRACT Context Reactive Programming (RP) provides powerful abstractions for managing asynchronous and event‐driven behaviors, but its APIs are often perceived as complex and difficult to use, particularly due to their reliance on functional programming concepts. Objective This study investigates the usability of two prominent JavaScript RP libraries, RxJS and Bacon.js, to identify common usability issues and suggest improvements. Method A mixed‐method evaluation was conducted. First, objective structural metrics were applied to assess the libraries' design. Then, a user‐centered study was performed involving programming tasks, a post‐task questionnaire based on the Cognitive Dimensions of Notation (CDN) framework, and follow‐up interviews. Results Both libraries exhibited moderate usability. Metrics revealed strengths in reusability and parameter design, while user studies highlighted challenges in learnability, error handling, and documentation. RxJS generally performed better in metrics, while Bacon.js had stronger task completion rates. Conclusion The findings suggest that despite their popularity, RP APIs can still hinder adoption due to usability issues. Improvements such as enhanced documentation, guided error‐handling strategies, and reduced operator complexity can significantly improve developer experience.

Authors

Institutions

Publication Details

Journal
Software Practice and Experience
Published
2025-05-24
DOI
https://doi.org/10.1002/spe.3435
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

On the Usability of Reactive Programming APIs: A Mixed Evaluation

Carlos Zimmerle, Kiev Gama
Software Practice and Experience
Software Engineering Research
article

On the Usability of Reactive Programming APIs: A Mixed Evaluation

Carlos Zimmerle, Kiev Gama
article en

Abstract

ABSTRACT Context Reactive Programming (RP) provides powerful abstractions for managing asynchronous and event‐driven behaviors, but its APIs are often perceived as complex and difficult to use, particularly due to their reliance on functional programming concepts. Objective This study investigates the usability of two prominent JavaScript RP libraries, RxJS and Bacon.js, to identify common usability issues and suggest improvements. Method A mixed‐method evaluation was conducted. First, objective structural metrics were applied to assess the libraries' design. Then, a user‐centered study was performed involving programming tasks, a post‐task questionnaire based on the Cognitive Dimensions of Notation (CDN) framework, and follow‐up interviews. Results Both libraries exhibited moderate usability. Metrics revealed strengths in reusability and parameter design, while user studies highlighted challenges in learnability, error handling, and documentation. RxJS generally performed better in metrics, while Bacon.js had stronger task completion rates. Conclusion The findings suggest that despite their popularity, RP APIs can still hinder adoption due to usability issues. Improvements such as enhanced documentation, guided error‐handling strategies, and reduced operator complexity can significantly improve developer experience.

Software Practice and ExperienceVol. 55(9)
Universidade Federal de Pernambuco (BR)
Coordenação de Aperfeiçoamento de Pessoal de Nível Superior, Conselho Nacional de Desenvolvimento Científico e Tecnológico, Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco, Instituto Nacional de Ciência e Tecnologia para Engenharia de Software
Openalex Percentile: Top 84%
Software Engineering Research
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.