You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _data/quality_checklist.yml
+51-42
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,11 @@
1
1
findability:
2
2
- title: Findable in search
3
3
description: "The content is indexed in a general search engine and findable when you create searches with the product name and some key tasks."
4
+
priority: high
5
+
6
+
- title: Release notes present
7
+
description: "Release notes track changes to the product and documentation."
8
+
priority: high
4
9
5
10
- title: Site-specific search available
6
11
description: "The doc site has a site-specific search that lets users search within the documentation site itself."
@@ -14,12 +19,9 @@ findability:
14
19
- title: Main organization isn't an FAQ
15
20
description: "The content doesn't have an endless FAQ with information that should have been integrated into more logical places in the document."
16
21
17
-
- title: Version selection available
22
+
- title: Version selection is available
18
23
description: "If content has multiple versions, the versions are called out visibly in the topic and might have a selector or link allows users to navigate to the other versions."
19
24
20
-
- title: Release notes present
21
-
description: "Release notes track changes to the product and documentation."
22
-
23
25
- title: Easy path to top 5 pages
24
26
description: "There’s an easy path for users to find the top 5 most-visited pages on the site. This requires you to look at metrics to determine these pages, and then assess the flow to those pages."
25
27
@@ -34,18 +36,23 @@ findability:
34
36
35
37
accuracy:
36
38
39
+
- title: Steps are accurate
40
+
description: "The steps in the tasks accurately lead to the results promised by the task, without missing any details. For example, if the instructions say to click a button name, the button is named the same way in the interface. If the instructions say to use a class, the class is spelled as it appears in the code library, etc."
41
+
priority: high
42
+
43
+
- title: Code samples work
44
+
description: "Code samples that can be copy and pasted actually work."
45
+
priority: high
46
+
37
47
- title: Content reviewed within past year
38
48
description: "Content has been reviewed by a subject matter expert within the past year. Ideally, each topic should include metadata such as the last-reviewed timestamp, last author, and the group that owns the content."
39
49
40
-
- title: Timestamps visible
50
+
- title: Timestamps are visible
41
51
description: "The documentation provides a visible timestamp of the last time it was edited so that users can gauge how current the documentation is."
42
52
43
53
- title: No broken links
44
54
description: "Links point to correct pages or are appropriately handled by redirects to equivalent pages."
45
55
46
-
- title: Steps are accurate
47
-
description: "The steps in the tasks accurately lead to the results promised by the task, without missing any details. For example, if the instructions say to click a button name, the button is named the same way in the interface. If the instructions say to use a class, the class is spelled as it appears in the code library, etc."
48
-
49
56
- title: Instructions are consistent
50
57
description: "Information isn't repeated in confusing, redundant, or inconsistent ways. For example, the documentation doesn't explain how to do a task one way in Topic A but then a different way in Topic B. If content is re-used, the re-use is usually single-sourced to reduce inconsistency."
51
58
@@ -55,19 +62,18 @@ accuracy:
55
62
- title: Deprecated features are noted
56
63
description: "Features that are no longer supported (or which have been deprecated) are clearly noted as such in the documentation. Preferably, if a feature has been deprecated, a migration path to an alternative solution is provided."
57
64
58
-
- title: Functional code samples
59
-
description: "Code samples that can be copy and pasted actually work."
60
-
61
65
- title: App code matches doc code
62
66
description: "Code in sample apps matches the code described in the documentation. The sample app hasn't evolved in ways that no longer match the documentation."
63
67
64
68
relevance:
65
69
66
70
- title: Key use cases are documented
67
71
description: "The documentation doesn't just provide reference information (e.g., auto-generated API documentation) but also explains how to use the API with tutorials guiding users through common use cases and journeys. The content should address the *most common* use cases intended for the product."
72
+
priority: high
68
73
69
74
- title: Code samples exist
70
75
description: "<a href='docapis_codesamples_bestpractices.html'>Code samples</a> showing sample ways to use the API (or similar tools) are provided. Ideally, the code samples are available in the user's target language. This might mean providing multiple code samples."
76
+
priority: high
71
77
72
78
- title: Support options noted
73
79
description: "Options for contact or support are provided, even if the support merely involves posting to a peer-monitored forum."
description: "The <a href='docapis_doc_overview.html'>overview</a> explains the big picture and describes the problem that the tool or service addresses. Common who/what/where/why questions are answered here."
97
+
priority: high
98
+
99
+
- title: Access and authorization explained
100
+
description: "Details about how to get access, permissions, and authorization to use the API are provided. For example, this topic might cover how to authorize an API call with API keys."
101
+
priority: high
91
102
92
103
- title: Overview addresses use cases
93
104
description: "The <a href='docapis_doc_overview.html'>overview</a> provides a high-level description of the main use cases or business objectives of the product. This allows users to get a sense of what the API is all about."
94
105
95
106
- title: Overview has architectural diagram and explanation
96
107
description: "The <a href='docapis_doc_overview.html'>overview</a> has a diagram of the main components and how they interact. This provides users with a glimpse of the whole."
97
108
98
-
- title: Overview has index of assets that product offers
109
+
- title: Overview has index of assets that the product offers
99
110
description: "If there's an SDK or developer kit that users can download, the contents of this download are described. This is similar to product instructions that start by identifying all parts that should have arrived in a package."
100
111
101
112
- title: Subsystems have their own overview pages
102
113
description: "For larger systems that might have multiple subsystems (e.g., groups of APIs for different scenarios), these subsystems have their own landing pages that resemble the higher-level overview (with use cases, diagrams, getting started links) but scoped to that specific subsystem."
103
114
104
-
- title: Access and authorization explained
105
-
description: "Details about how to get access, permissions, and authorization to use the API are provided. For example, this topic might cover how to authorize an API call with API keys."
106
-
107
115
- title: Getting started tutorial exists
108
116
description: "A <a href='docapis_doc_getting_started_section.html'>getting started tutorial</a> is provided for users to get started in an end-to-end way with the product, producing a sample output that builds their confidence. This topic might provide info on how to sign up, register, get API keys or permissions, and start using the API. (This topic might link to the authorization topic but is more comprehensive in scope. The purpose of this topic is frictionless onboarding.)"
109
117
@@ -143,30 +151,32 @@ clarity:
143
151
- title: Technical level is appropriate to audience
144
152
description: "The documentation's technical level is appropriate to the *target audience* but might not serve every possible audience (for example, total newbies to a programming language might struggle with documentation intended for developers already experienced in that language). Usually, general concepts in a programming language that you assume the audience knows are not explained in the documentation. Instead, your company's product, configuration, and usage are covered in the context of the programming language. One exception is when the implementation requires a non-standard process or workflow that merits some explanation."
145
153
146
-
- title: Experiential learning paths
154
+
- title: Experiential learning paths are available
147
155
description: "The documentation provides opportunities for experiential/opportunistic users to start learning immediately through code and trial/error, and for more systematic users to learn by reading concepts first."
148
156
149
-
- title: Docs favor simplest path
157
+
- title: Doc recommend the simplest path when multiple options exist
150
158
description: "If there are multiple paths to a solution, the documentation focuses on the simplest path (though other possibilities might be briefly mentioned)."
151
159
152
-
- title: Docs call out relevant sections in sample app
160
+
- title: Docs call out relevant sections in a sample app
153
161
description: "In cases where a sample app complements the documentation as a reference implementation, the documentation should refer to different aspects of the sample app."
154
162
155
163
completeness:
156
164
157
165
- title: Reference docs follow industry standards
158
166
description: "For native library APIs (or other API types), reference docs (auto-generated from source code comments) are available. This might mean <a href='nativelibraryapis_exploring_javadoc_output.html'>Javadoc</a>, <a href='nativelibraryapis_doxygen.html'>Doxygen</a>, <a href='pubapis_openapi_intro.html'>OpenAPI</a> outputs like <a href='pubapis_swagger.html'>Swagger</a> or other reference docs specific to the library. The reference docs should be populated and generally follow tagging standards."
167
+
priority: high
168
+
169
+
- title: Parameter docs have complete info
170
+
description: "<a href='docapis_doc_parameters.html'>Parameter documentation</a> typically includes a description, data type, min/max values, sample values, and optional/required usage."
171
+
priority: high
159
172
160
173
- title: Reference content has consistent structure
161
174
description: "Reference material such as APIs follow a <a href='docapis_api_reference_tutorial_overview.html'>common structure within each topic</a>, mostly following a request-response type structure. Typical sections include descriptions, parameters, sample requests or usage, and sample responses."
162
175
163
-
- title: Error messages documented
164
-
description: "<a href='docapis_doc_status_codes.html'>Error messages</a> that users can encounter are documented and discoverable through search."
165
-
166
-
- title: Parameter docs have complete info
167
-
description: "<a href='docapis_doc_parameters.html'>Parameter documentation</a> typically includes a description, data type, min/max values, sample values, and optional/required usage."
176
+
- title: Error messages are documented
177
+
description: "<a href='docapis_doc_status_codes.html'>Error messages</a> that users can encounter are documented and discoverable through search. This supports the <a href='docapiscode_research_on_documenting_code.html#systematic_vs_opportunistic'>opportunistic/experiential user behavior</a>."
168
178
169
-
- title: Response includes both sample and schema (REST APIs)
179
+
- title: Responses includes both sample and schema (REST APIs)
170
180
description: "The <a href='docapis_doc_sample_responses_and_schema.html'>response documentation</a> for REST APIs provides both a sample response and schema. The response provides an example of what might be returned, while the schema defines all possible elements that might be returned and describes attributes such as data types and whether the elements are required or optional in the response."
171
181
172
182
- title: Troubleshooting section exists
@@ -178,22 +188,27 @@ completeness:
178
188
- title: Locale limitations noted
179
189
description: "If a feature is available only in certain contexts (locales, languages, platforms, roles, versions), that information is noted clearly in the feature. For example, an API that is only available for enterprise versions might have a label that says \"Enterprise Version Only,\" or if only available for a particular platform, might say \"Linux Only\" or the equivalent."
180
190
181
-
- title: Error messages are helpful for troubleshooting
182
-
description: "<a href='docapis_doc_status_codes.html'>Error messages</a> help users course correct by providing helpful hints for addressing the error. This supports the opportunistic/experiential user behavior."
183
-
184
-
- title: Unhappy path documented
191
+
- title: Unhappy paths are documented
185
192
description: "If there are pitfalls or other traps, gaps, and gotchas to avoid, these are noted in the documentation rather than hidden from the user. A section called <a href='/2010/12/16/known-limitations/'>Known Limitations</a> often contains this information. The documentation doesn't lie or mislead the user but rather is <a href='/2017/07/13/transparency-in-documentation/'>transparent, honest, and helpful</a> even if it means exposing the product's warts and revealing problems users will like encounter."
186
193
187
194
readability:
188
195
196
+
- title: Grammar isn't distracting
197
+
description: "Sentences are grammatically correct and read well, without distracting the user or calling attention to the language."
198
+
priority: high
199
+
200
+
- title: Placeholder text in code is visually apparent
201
+
description: "In code samples, placeholder text that needs to be customized is clearly indicated to the user. It's not confusing what is code and what needs to be changed, like `APIKEY`."
202
+
priority: high
203
+
189
204
- title: Sidebar nav has consumable organization at a glance
190
-
description: "The sidebar navigation lets users take in a sense of the whole while also allowing users to expand more details as desired. The sidebar isn't a massive list of seemingly endless scrolling and expansion + expansion + expansion but divides up doc sets into logical groups, like chapters in a book. For systems with large numbers of topics, progressive disclose techniques might be implemented across primary, secondary, and tertiary levels of information."
205
+
description: "The sidebar navigation lets users take in a sense of the whole while also allowing users to expand more details as desired. The sidebar isn't a massive list of seemingly endless scrolling and expansion + expansion + expansion but rather divides up doc sets into logical groups, like chapters in a book. For systems with large numbers of topics, progressive disclose techniques might be implemented across primary, secondary, and tertiary levels of information."
191
206
192
-
- title: Sidebar nav highlights current topic
207
+
- title: Sidebar nav highlights the current topic
193
208
description: "As the user navigates each topic, the sidebar navigation makes it clear where the user is in the navigation (for example, the topic highlights clearly and the navigation sticks open at that level). Breadcrumbs might also help establish site context."
194
209
195
210
- title: Context remains consistent when navigating
196
-
description: "When a user clicks topics in the navigation, the UI doesn't shift context in jarring ways, such as unexpectedly taking the user to another doc set or changing stable navigation areas like the sidebar and header (which are usually consistent for every page). This jarring navigation often happens when sidebar entries point to topics in other doc sites. If this is the case, the external links have an icon indicating the link takes them to another site."
211
+
description: "When a user clicks topics in the navigation, the UI doesn't shift context in jarring ways, such as unexpectedly taking the user to another doc set or changing stable navigation areas like the sidebar and header (which should be consistent for every page). This jarring navigation often happens when sidebar entries point to topics in other doc sites. If this is the case, the external links have an icon indicating the link takes them to another site."
197
212
198
213
- title: Doc types have consistent names across product docs
199
214
description: "Common topics have similar names across doc sets in the developer portal. For example, the Overview, Getting Started, Troubleshooting, Glossary, Release Notes, and Reference are named consistently to help users understand how to navigate the site. One doc set shouldn't call a topic \"Latest updates\" and \"First steps\" while another uses \"What's new\" and \"Quickstart.\""
@@ -207,26 +222,20 @@ readability:
207
222
- title: Glossary exists
208
223
description: "Unfamiliar words and jargon are defined in a <a href='docapis_glossary_section.html'>glossary</a>. At times, the glossary terms are linked to their glossary definitions."
209
224
225
+
- title: Glossary entries match the actual terms used in the content
226
+
description: "Glossary terms (as defined in the glossary) are actually used consistently across the documentation. For example, one doc set doesn't use a certain term while another uses a synonym of the term, with the admin UI using yet another term. If the glossary lists a term for a particular concept, the documentation content consistently uses that term."
227
+
210
228
- title: Code samples have proper formatting and highlighting
211
229
description: "The formatting in code samples follows standard white spacing, line breaks, and other syntax for the language. Code syntax highlighting appropriate to the language has been applied to increase the code's readability."
212
230
213
-
- title: Responsive view presents content in readable way
231
+
- title: Responsive view presents content in a readable way
214
232
description: "The content can be read on a mobile device (e.g., iPhone) in a usable way. For example, the responsive view allows users to navigate the sidebar links and view code samples."
215
233
216
-
- title: Placeholder text in code is visually apparent
217
-
description: "In code samples, placeholder text that needs to be customized is clearly indicated to the user. It's not confusing what is code and what needs to be changed, like `APIKEY`."
218
-
219
-
- title: Navigation mechanisms consistent across docs
234
+
- title: Navigation mechanisms are consistent across docs
220
235
description: "Navigation mechanisms work consistently across all docs in the developer portal. For example, in one set of docs, if top-level folders expand to show child items rather than opening to their own page, the same behavior is found in other docs."
221
236
222
237
- title: Sentences and paragraphs are somewhat short
223
238
description: "Sentences are somewhat short, paragraphs are relatively small, and subheadings are frequent. A readability score will place the content at the high-school level, not college."
224
239
225
-
- title: Glossary entries match terms used
226
-
description: "Glossary terms are used consistently across the documentation. For example, one doc set doesn't use a certain term while another uses a synonym of the term, with the admin UI using yet another term."
227
-
228
240
- title: Language uses active voice
229
241
description: "The language uses active voice (where warranted) with clear subjects and verbs positioned closely together."
230
-
231
-
- title: Grammar isn't distracting
232
-
description: "Sentences are grammatically correct and read well, without distracting the user or calling attention to the language."
Copy file name to clipboardExpand all lines: _docs/code_tutorials/docapis_research_on_documenting_code.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -126,7 +126,7 @@ For their research, they "asked software developers to solve a set of pre-define
126
126
127
127
There are a lot of great observations and conclusions in this article. I'm just summarizing and highlighting the information here. I recommend that you [read the article](https://sigdoc.acm.org/cdq/how-developers-use-api-documentation-an-observation-study/) for the full details.
128
128
129
-
### Systematic versus opportunistic behaviors
129
+
### Systematic versus opportunistic behaviors {#systematic_vs_opportunistic}
130
130
131
131
The authors present some previous research about *systematic* and *opportunistic* learning behaviors. These terms are typically how previous researchers describe the contrasting user behaviors.
0 commit comments