Concept
“What is it?”
Explains ideas, architecture, principles, background, and relationships. It builds mental models before action.
Information typing is the practice of categorizing technical communication according to the reader’s primary goal and cognitive mode, rather than by product feature or arbitrary document chapter.
Instead of writing monolithic manuals that mix background theory, step-by-step instructions, and syntax tables into an undifferentiated narrative, information typing separates content into three fundamental, functional archetypes:
Concept
“What is it?”
Explains ideas, architecture, principles, background, and relationships. It builds mental models before action.
Task
“How do I do it?”
Provides step-by-step procedures to accomplish a specific goal with a verifiable outcome. Action-oriented and linear.
Reference
“What are the details?”
Provides structured facts, configuration parameters, syntax, and lookup data. Scanned quickly by readers who already know what to do.
These are functional distinctions based on reader intent, not rigid literary categories. Every piece of technical content exists to serve a user need: understanding a system, performing an operation, or looking up exact values.
To see how the three types operate on the same subject, consider documentation for an API integration:
| Information type | Main question | Primary reader intent | Concrete example |
|---|---|---|---|
| Concept | What is it? | Understand principles, architecture, or domain rules | ”What is idempotency and why does retry logic require it?” |
| Task | How do I do it? | Complete a goal through sequential, actionable steps | ”How do I authenticate and make my first API request?” |
| Reference | What are the details? | Look up exact syntax, parameters, schemas, or codes | POST /users - parameters, request schema, response schema, status codes |
Structuring content by information type does not mean information types are mutually exclusive under all circumstances:
The guiding rule is: keep the primary information type clear. Supporting information may appear when necessary, but substantial content serving another reader intent should normally be moved to a dedicated topic of that type and linked. This prevents “Franken-topics” - procedures overwhelmed by pages of architectural theory, or conceptual articles cluttered with exhaustive parameter tables.
Technical writers encounter terms that are frequently conflated. To keep authoring and architecture rigorous, this site distinguishes between five distinct concepts:
In a docs-as-code workflow, an author addresses an information type by adapting an authoring template to draft a self-contained topic, stored in a lightweight document format (such as Markdown) and published as an article.
To keep the information architecture machine-readable and consistent across builds, API feeds, and automated checks, documentation pages declare their information type in frontmatter:
---title: "<Article Title>"description: "<One-sentence summary>"contentType: concept # concept | task | reference---contentType.concept, task, or reference.index.mdx), landing/navigation pages (such as /learn or /process with pageType: landing), utility pages (/ask, /about-this-blog with pageType: utility), or architectural overviews (pageType: overview) remain valid without contentType.Information typing has a rich history in technical communication, drawing on research such as John Carroll’s minimalism and Robert Horn’s Information Mapping.
Later, DITA (Darwin Information Typing Architecture) provided a formal XML-based architecture for information typing, defining standardized Concept, Task, and Reference topic types:
<concept> topic type.<task> topic type.<reference> topic type.However, a fundamental architectural distinction must be understood:
Our Markdown templates are practical authoring blueprints, not formal DITA XML schemas, and they do not enforce DITA DTD/XSD validation rules.
Neither DITA nor Markdown/Astro is universally superior; they represent different engineering trade-offs tailored to different organizational needs:
DITA XML architecture:
<cmd>, <stepxmp>, <varname>, <filepath>).<conref>).Markdown/Astro docs-as-code:
contentType: concept | task | reference) rather than rigid XML schema parsers.For an in-depth analysis of structured formats and modular architectures, see Structured and unstructured formats and From document to modular document base.
Different documentation paradigms implement information typing and semantic validation at different levels of formalization:
| Approach | Semantic typing | Structural validation | Format | Typical use |
|---|---|---|---|---|
| Markdown template | Editorial convention | Informal / peer review | Markdown | Team wikis, lightweight project notes |
| This site (docs-as-code) | Explicit information types + templates + frontmatter | Schema-validated metadata (contentType), build checks, tests | Markdown/MDX | Modern docs-as-code, technical guides and portals |
| DITA | Formal semantic topic types, specialization hierarchies | Schema-enforced (DTD, XSD, RELAX NG) | XML | Enterprise multi-channel documentation, hardware manufacturing |
| OpenAPI | Formal API contract model | Schema validation (JSON Schema, Spectral) | YAML / JSON | Machine-readable HTTP API descriptions, generated references |
DITA and OpenAPI serve distinct, complementary purposes:
OpenAPI is not a general documentation authoring framework for prose, and DITA is not a protocol description language for generating interactive API consoles.
API documentation offers a clear demonstration of how the three complementary information types interact with machine-readable contracts:
Developer journey across information types: Concept, Task, and Reference.
Concept (“What is it?”):
Task (“How do I do it?”):
curl commands, and expected response validation.Reference (“What are the exact details?”):
POST /users - parameters, request schema, response schema, status codesOpenAPI describes an API contract in a machine-readable format. It can underpin or generate much of the reference layer of API documentation (such as interactive consoles, parameter listings, and SDK type definitions).
However, OpenAPI itself is not a substitute for complete documentation:
A comprehensive API documentation portal successfully combines all three: machine-readable OpenAPI contracts feeding generated reference pages, accompanied by thoughtfully authored Concept articles and Task tutorials.
To start drafting endpoint reference pages, see the API documentation template and explore About this manual’s API.