Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You actually need four https://docs.divio.com/documentation-system/

Explanation (why, what)

reference (API spec)

tutorials

How to guides



There's another more thorough version from the same author, for what it's worth. Just moved on from that company but the overall points are the same https://diataxis.fr/


Would have been great if they organized this document exactly as they propose. But they don’t? Which is a bit weird to be honest.


But they sort-of do, no? The left hand side bar has the top-level (bold) headers "Home", "Start Here", "Applying Diátaxis", "Understanding Diátaxis" and "Colophon". The middle ones could well be labeled "Tutorial", "Explanation" and "Reference", but that would be very confusing for the reader!


Right! The good old days when the software used to come in a box with several varied width books containing all these Four, and one named Getting Started.

This same set could be easily "transposed" to the contemporary world of web. With all the proper indexing. Why is this "art" "lost" for most of the software :-( ...

BTW, one Excellent incarnation of this documentation art is on the front page right now:

https://news.ycombinator.com/item?id=43381627


> Why is this "art" "lost" for most of the software.

Before the internet, the printed book was all you really got. That meant the company distributing the software had to hire technical writers who'd work with the software devs to create all of this, send it to an editor, and ultimately get published.

We no longer live in an era where tech companies hire tech writers. Software documentation lacking is something that can and limp along with jira cases and support services sold rather than trying to put in the upfront effort to fix everything.

Now, for open source software, hate to say it but the docs have always been pretty crap. Certainly some stands out (usually when the business model was around providing services on top of open source software), but nobody is really paying anyone and few people really want to do that sort of free labor.


Some places still have very good tech teams, but it still requires working between the teams. (EX from a company I worked with: https://forums.madcapsoftware.com/viewtopic.php?t=30365)

The writers can't do their work without input from the technical side and the time for that is often not avaliable.

I know I've been punished for taking time to push ideas to tech writers. Not only does it slow me down in other places, it often gets swept away as unnecessary changes because upstream Sr techs disagree.

For example, when I modify ssl configs, I alway reference the files with soft-links. This makes it so you don't need to modify the config files and simplifies keeping old and new certs so you can flip back during the overlap period you should be providing to test. I try to avoid editing production files by hand whenever possible because in my experience it introduces the possibility to create errors.

I rewrote some docs extending alot of areas with example commands showing how to test things, with explanations that fleshed out the previous quick and dirty documentation. I also modified the method from copy and replace certs, edit files, restart service; to copy files, replace or create soft-link, restart service.

Upstream approvers trashed the whole thing because the thought it was unnecessary and disagreed with me about manually editing config files.


The downside to all that was software releases happened once every year (or longer). Which, was it actually all that bad, but let’s not be completely wooed by the green looking grass on the other side. There were long delays between new features or bug fixes.


Yes, the upside of the contemporary on-line software distribution is clear. No question about this. "The good old days" :-) reference was only about the comprehensive and ordered documentation that often used to come with the physically shipped software medium.


I suspect all many documented projects died because people couldn't figure out how to use them. By natural selection, anything that survived the good old days is either obvious or well documented. The C programming language, for example.


> By natural selection, anything that survived the good old days is either obvious or well documented

Or so much better than the competition that people use it in spite of poor documentation. Many things like that also grow a cottage industry of people making documentation and teaching (see React or Rails).


Thanks! Knew I was missing something. I guess in my mind tutorials and howtos merged :D


What is the difference between "Tutorials" and "How to guides"?


It is explained well in the video, well worth watching.

Tutorials are teaching a method, like which ends of the pliers you grab. They do not assume a lot of domain knowledge.

HowTos pick the user up where she stands with a concrete problem and walks you through a possible solution of that specific problem. Like how to use pliers to twist a wire just firmly enough to hold two things together.


Often referred to, as “recipes.” —Defining the goal, and a specific set of steps, to achieve that singular outcome.

How to calculate the airspeed velocity of an unladen swallow, etc.


+1 for recipes I have provided recipes in my documentation for complex projects, making it a time-saver for both me and my audience.



I like the concept. I will note the same thing I said further down though:

Why don’t they use their proposed system to explain their own system?

It seems like a wasted opportunity. So odd. Or am I missing something?




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: