Understanding How Programmers Can Use Annotations on Documentation
arXiv:2111.08684 · doi:10.1145/3491102.3502095
Abstract
Modern software development requires developers to find and effectively utilize new APIs and their documentation, but documentation has many well-known issues. Despite this, developers eventually overcome these issues but have no way of sharing what they learned. We investigate sharing this documentation-specific information through \textit{annotations}, which have advantages over developer forums as the information is contextualized, not disruptive, and is short, thus easy to author. Developers can also author annotations to support their own comprehension. In order to support the documentation usage behaviors we found, we built the Adamite annotation tool, which supports features such as multi-anchoring, annotation types, and pinning. In our user study, we found that developers are able to create annotations that are useful to themselves and are able to utilize annotations created by other developers when learning a new API, with readers of the annotations completing 67% more of the task, on average, than the baseline.
Conditionally accepted for publication at CHI '22
References in corpus (2)
Cited by in corpus (7)
- "What It Wants Me To Say": Bridging the Abstraction Gap Between End-User Programmers and Code-Generating Large Language Models
- Wigglite: Low-cost Information Collection and Triage
- Selenite: Scaffolding Online Sensemaking with Comprehensive Overviews Elicited from Large Language Models
- Ivie: Lightweight Anchored Explanations of Just-Generated Code
- Crystalline: Lowering the Cost for Developers to Collect and Organize Information for Decision Making
- Assistance or Disruption? Exploring and Evaluating the Design and Trade-offs of Proactive AI Programming Support
- Fuse: In-Situ Sensemaking Support in the Browser