Live data from Hacker News

The tree-based approach to organizing documentation sucks

worldofbs.com

91–97 of 97 posts

Re: The tree-based approach to organizing documentation sucks

#91
post #78
post #32

I think of documentation as my little secret superpower. It makes one more productive (i.e. one doesn't need to keep getting interrupted to be asked the same question yet again), it makes others more productive (they can unblock themselves and use the docs to supplement their little corner of tribal knowledge), and good docs allows one to offload knowledge of specifics from one's brain such that just searching for a…

What's your superpower to write documentation that helps others? Too often I find I'm writing docs for myself and they confuse users. Do you have a set of questions you ask yourself when writing, to check it will be useful and usable by users?

Some people like to point to this resource[0]

At the end of the day, it comes down to identifying what kind of audience is reading.

The ideal (and hard) way to go about docs is to be redundant/verbose/overcommunicative to target different audiences with different forms of writing.

The paretto approach is to laser focus on the one type of docs that help the most. My super dumb heuristic for this is just looking at question frequency in chat and offering the FAQ that would've answered the question.

What I sometimes try to do is link from an FAQ to a more elaborate section if there's rationales to be explained. Then the skimmer can quickly copy-paste, and the digger can go optionally read more in-depth content.

Our docs are also loosely structured by order-of-learning (e.g. "what is X", "here's pages about the most important components of X" and how they typically tie together, each page with their own FAQs, and then finally an API reference)

For mithril.js[1], I have intro ("tell me what this is and why should I care"), tutorial ("going from zero to hero"), guides ("how to setup specific things"), API reference ("what methods exist"). There's also a glossary ("what does the lingo mean") and a cheatsheet ("just let me copy and paste").

[0] https://documentation.divio.com/

[1] https://mithril.js.org/

Re: The tree-based approach to organizing documentation sucks

#92

It's all and none of these things. The single biggest problem with documentation is that it is written by people who are not imagining themselves as the USERS of the software . Typical docs are descriptions of the software, like you'd describe an elephant: here's the trunk, these are what the feet look like. Want to work with an elephant? You're on your own.

I think the article is talking about internal documentation rather that user-facing documentation.

> I think the article is talking about internal documentation rather that user-facing documentation.

I'm not sure why you have that impression, both of the exemplars are user-facing.

Re: The tree-based approach to organizing documentation sucks

#93

Earlier quoted context omitted.

He said "Said developer got called out in a meeting with many others present and didn't even appear to feel embarrassment or apologise." In the noted case there was no overt penalizing (at least that we heard about) nor was there shaming (the person was apparently "unshameable"). Therefore your post falls short of it's target. That said, in general, I agree with every word you said. I especially like the "frankly [it…

The "got called out in a meeting with many others present" part is something which I don't think should have happened at all—regardless of whether or not the developer in question felt shame. No good can come from publicly calling someone out in a meeting like that. It's childish and unprofessional. I feel the best courses of action are to remind the developer privately and/or to make a general "remember to read the…

ryangittins says "The "got called out in a meeting with many others present" part is something which I don't think should have happened at all—regardless of whether or not the developer in question felt shame."

Yes, but we don't know what the OP meant by "called out": it could have been as simple as one person asking "Did you read the documentation?" and a long following uneasy silence, or it could have been quite vicious, e.g., the documentation's author ranting at the developer for not reading the docs, a manager dressing him down for his failure to do so, or even worse.

But we don't know, so while your point is well-made it is tangential to the discussion. Nonetheless you reveal a well-developed attitude about people and groups that would be very useful in management.

As an aside, the OP's description of the developer in question paints an individual who is most likely not as self-aware as you are: indeed he/she sounds like someone who is quite hardened and aggressive in his ways. Sometimes you must unfortunately pop such people on the nose to get their attention.

Compare yourself with the aforementioned developer - which of the two is more likely to be/become a manager? Such an opportunity is not likely for him but is something that probably lies in your future, waiting, if you haven't already gone there.

Re: The tree-based approach to organizing documentation sucks

#94

Earlier quoted context omitted.

This is an interesting point! I do think there's another factor at play here, though: documentation goes stale. When you've been burned by stale documentation (or any tool) enough times, you can start to lose trust in it. When you lose trust in documentation, you second-guess it and often pursue a a live, fresh second opinion from another developer with more knowledge anyway.

And that developer gets fatigued by constantly having to tell others to RTFM, because the documentation is up to date and comprehensive, he took his damn well time to make it so, if they just also took their time to read it, but instead they always ask him anyways or he has to point everything out and at a certain point they just don't care anymore.

both of these things happen all the time at my job.

new folks will show up and start complaining that "stuff doesn't work", at which point I will ask them to read the many READMEs that been sitting right in front of them.

Later, they will say "this documentation is wrong", where inevitably someone else changed some code but didn't change the documentation that is colocated with it.

Because the docs were wrong, nobody will read them next time. And the cycle continues.

Re: The tree-based approach to organizing documentation sucks

#95
This article seems to miss one important point: how to ensure that links are added correctly and enough). In the wiki scheme, when you just dump info about a problem on a page, how do you now find pages where you need to link to this new page? If you solve this, you have just solved the main problem with the tree system. And I believe that it's actually easier to find related places in the tree-ish structure, than if there is seemingly infinite amount of free-floating articles.

And Wikipedia has a tree-ish structure too, after all - look at portals, categories etc

Re: The tree-based approach to organizing documentation sucks

#96
Ok. The author says graph based approach is the best for documentation. In my daily work there are 3 kinds of documentation 1. Project based documentation as author mentioned at the beginning. Files are stored in windows drives. 2. Knowledge based ones(how tos), tutorials, step by step(confluence) 3. Table structure changes, scripts(DDLs CREATE, ALTERS)

There is a need for an hybrid, as (1) is required for audit purposes, it has to be in that structure. Copy (3) has to be in (1) folder somewhere as its related to that.

(2) at the moment is just theory but not like a living document.

There needs to be a hybrid structure of all the above to make a living documentation as it sometimes it's hard to know why a change was made without knowing the project name. Can be found but it takes time and effort.

Post reply on HN