UAX: Measuring the Usability of TypeScript APIs

Application Programming Interfaces (APIs) have become an asset used everyday by developers looking for opportunities of code reuse. However, this ubiquity has led to numerous complexities, making the construction of good APIs challenging. Developers in fact often find APIs hard to learn and use. Therefore, usability has become a fundamental attribute for APIs in the last years, but it is often neglected by API designers. In reality, traditional user studies are frequently deemed expensive and difficult to interpret which stimulated the search for objective, and less expensive ways to measure API usability like metrics. The studies of metrics revealed good ways to measure API structurally, but the availability of publicly tools are either lacking or not being maintained. In this paper, we present UAX, a public tool that implements API usability metrics initially for TypeScript (a superset of JavaScript). We discuss its implementation and show its application to three reactive programming (RP) APIs with the help of a dashboard we also produced to help interpret the results. The evaluation showed that the RP APIs presented a high level of usability but with areas of improvements, like parameter consistency and API documentation. This demonstrates that the tool could support API designers to better plan the API construction and software engineering process, especially before the APIs get even released.

Authors

Publication Details

Published
2024-09-30
DOI
https://doi.org/10.5753/sbes.2024.3658
Citations
1
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
0.78

Funders

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

UAX: Measuring the Usability of TypeScript APIs

Carlos Zimmerle, Kiev Gama
1 citations
Software Engineering Research
0.78
article

UAX: Measuring the Usability of TypeScript APIs

Carlos Zimmerle, Kiev Gama
article en
1 citations

Abstract

Application Programming Interfaces (APIs) have become an asset used everyday by developers looking for opportunities of code reuse. However, this ubiquity has led to numerous complexities, making the construction of good APIs challenging. Developers in fact often find APIs hard to learn and use. Therefore, usability has become a fundamental attribute for APIs in the last years, but it is often neglected by API designers. In reality, traditional user studies are frequently deemed expensive and difficult to interpret which stimulated the search for objective, and less expensive ways to measure API usability like metrics. The studies of metrics revealed good ways to measure API structurally, but the availability of publicly tools are either lacking or not being maintained. In this paper, we present UAX, a public tool that implements API usability metrics initially for TypeScript (a superset of JavaScript). We discuss its implementation and show its application to three reactive programming (RP) APIs with the help of a dashboard we also produced to help interpret the results. The evaluation showed that the RP APIs presented a high level of usability but with areas of improvements, like parameter consistency and API documentation. This demonstrates that the tool could support API designers to better plan the API construction and software engineering process, especially before the APIs get even released.

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
Openalex Percentile: Top 20%
Software Engineering Research
0.78
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.