5 research outputs found
Requirements of API Documentation: A Case Study into Computer Vision Services
Using cloud-based computer vision services is gaining traction, where
developers access AI-powered components through familiar RESTful APIs, not
needing to orchestrate large training and inference infrastructures or
curate/label training datasets. However, while these APIs seem familiar to use,
their non-deterministic run-time behaviour and evolution is not adequately
communicated to developers. Therefore, improving these services' API
documentation is paramount-more extensive documentation facilitates the
development process of intelligent software. In a prior study, we extracted 34
API documentation artefacts from 21 seminal works, devising a taxonomy of five
key requirements to produce quality API documentation. We extend this study in
two ways. Firstly, by surveying 104 developers of varying experience to
understand what API documentation artefacts are of most value to practitioners.
Secondly, identifying which of these highly-valued artefacts are or are not
well-documented through a case study in the emerging computer vision service
domain. We identify: (i) several gaps in the software engineering literature,
where aspects of API documentation understanding is/is not extensively
investigated; and (ii) where industry vendors (in contrast) document artefacts
to better serve their end-developers. We provide a set of recommendations to
enhance intelligent software documentation for both vendors and the wider
research community.Comment: Early Access preprint for an upcoming issue of the IEEE Transactions
on Software Engineerin
Recommended from our members
A systematic mapping study of API usability evaluation methods
An Application Programming Interface (API) provides a programmatic interface to a software component that is often offered publicly and may be used by programmers who are not the API’s original designers. APIs play a key role in software reuse. By reusing high quality components and services, developers can increase their productivity and avoid costly defects. The usability of an API is a qualitative characteristic that evaluates how easy it is to use an API. Recent years have seen a considerable increase in research efforts aiming at evaluating the usability of APIs. An API usability evaluation can identify problem areas and provide recommendations for improving the API. In this systematic mapping study, we focus on 47 primary studies to identify the aim and the method of the API usability studies. We investigate which API usability factors are evaluated, at which phases of API development is the usability of API evaluated and what are the current limitations and open issues in API usability evaluation. We believe that the results of this literature review would be useful for both researchers and industry practitioners interested in investigating the usability of API and new API usability evaluation methods
Graphical scaffolding for the learning of data wrangling APIs
In order for students across the sciences to avail themselves of modern data streams, they must first know how to wrangle data: how to reshape ill-organised, tabular data into another format, and how to do this programmatically, in languages such as Python and R. Despite the cross-departmental demand and the ubiquity of data wrangling in analytical workflows, the research on how to optimise the instruction of it has been minimal. Although data wrangling as a programming domain presents distinctive challenges - characterised by on-the-fly syntax lookup and code example integration - it also presents opportunities. One such opportunity is how tabular data structures are easily visualised. To leverage the inherent visualisability of data wrangling, this dissertation evaluates three types of graphics that could be employed as scaffolding for novices: subgoal graphics, thumbnail graphics, and parameter graphics. Using a specially built e-learning platform, this dissertation documents a multi-institutional, randomised, and controlled experiment that investigates the pedagogical effects of these. Our results indicate that the graphics are well-received, that subgoal graphics boost the completion rate, and that thumbnail graphics improve navigability within a command menu. We also obtained several non-significant results, and indications that parameter graphics are counter-productive. We will discuss these findings in the context of general scaffolding dilemmas, and how they fit into a wider research programme on data wrangling instruction