So where the article proposes:
> Self-contained context
> Include all the necessary background so the reviewer doesn’t need to dig into other docs for clarity
That means, by necessity, that your "small docs" will either be so shallow and context-free that they're not worth writing down in the first place, or will be 90%+ context copy-pasted from one "small doc" to another, at which point you might want to just merge them into one bigger doc and introduce a hierarchy. So, just like code.
(And reviews are always the bottleneck for code, too. Similarities abound.)
I feel like there's an implied assumption in the article, that documents are always submitted and reviewed wholesale, so to get the benefits of small commits, you need to make the document small enough to qualify as a small commit. If that's the idea, then I disagree with it.
However, I think the quality of a document - and the time it takes to understand it - is less about the length, and more about how it's organized. Sometimes a document will have many useful attachments, clearly labelled, that a reader can optionally review if it's helpful. If the document has a good narrative flow, motivation, and structure, then someone can get the point quickly and skip around as they wish. Making documents very short is one way to ensure readers can follow easily, but there are ways to make it work for long documents, too.
I really don't mind twenty-page docs when they are well-structured, have a clear drill-down from less details to more details through the relevant parts, documents where I feel are guiding my reading towards the important bits I need at the time, and making me comfortable to get into the weeds when I feel prepared enough by understanding what's the general point of the document. It's actually pleasant to read those.
The issue is: almost nobody has (or puts in) the time to properly edit a twenty+ pages document to make it pleasant to read, I've been guilty of that too in the past and do understand it usually comes from having so much of the context in one's own head that it gets lost taking the view of someone reading all the context for the first time.
I've strived to be better at it for years and it isn't an easy skill to learn but in a larger organisation it's immensely valuable to save everyone else's time.
That's why technical writers and editors exist.
If you must write 20 pages of text, split them up into eight documents that are all reasonable.
Peak-bait title.
Why don't someone writes a "bait" title generator? Lemme ping someone...
I’d prefer a bait title detector and replacer. Or better yet, an eraser, since bait titles accompany shallow uninteresting articles more often than not and we shouldn’t be giving them the clicks anyway.
On a more serious note, I currently prefer to skip bait titles everywhere. I even changed the paper I read to another one which doesn't use {rage,click,etc}-bait titles.
Mental health and self-care is important.
For engagement! (Note to self: create new "For the King!" meme...)
Also be sure to include at least one misspelling, and one objectively wrong take, because any publicity is good publicity.
http://literateprogramming.com/
The bigger issue is that one really needs multiple types of documentation and they _all_ need to be kept in synch, and that's the real deal-breaker (and working out an easy way to do that would be a game changer). The problem with LP of course is that the typeset source of TeX: The Program is not what most users want, and even a Literate version of Plain TeX (if it existed --- why it does not is a separate discussion) doesn't suit most users who want instead an easy-to-use macro package (hence the popularity of LaTeX) and a template/sample document to start with and _maybe_ a tutorial, and when there is no other recourse, a manual with examples and an index.
put forward two axes: Action/Cognition and Aquisition/Application and that this results in 4 different sorts of documentation which are needed:
- Tutorials
- How-to Guides
- Explanation
- Reference
which feels like a bit of confusing overlap to me, and I've been trying to simplify it down to:
- readme file --- what the project does --- mostly marketing fluff with some pretty images
- template file(s) --- a set of examples showing all possible usages of the overall project, _and_ including a valid example of each possible command where it should be possible for a user to select a template matching the specifics of their project and get started
It is expected that most users will only avail themselves of those two pieces of documentation
- manual which includes a command glossary and an index --- again, the command glossary includes a valid example of usage for each command
Which exists mostly for tech support purposes --- when queried on usage the reply is usually, "See sub-section X.Y, paragraph Z on pg. ###"
- typeset source code with comments --- which _should_ only need to be seen by developers working on the code
https://orgmode.org/worg/org-contrib/babel/intro.html
+
I know a guy who writes a wall of text. He literally calls it a wall of text. No one reads it and he gets really angry.
If you start any sentence to defend yourself with, "It was hard to write, it should be" you the problem.
Tldr: put the tldr at top for goodness sake!
Having a good summary at the top at least doubles the usefulness of your document
Why would u need disk space to serve an http req?
Surely generic servers like apache, nginx handle that case gracefully.
It probably isn't a handcoded server in python or something like that, because it is returning a precise status code and message instead of just converting a write() exception to a generic 500.
It's an amazing feat of engineering to get this so wrong.
So that users can read the content...
> So that users can read the content...
Does e.g. your authorization middleware adopt the same stance?
Try to log, if not, serve anyways, anything else is insane for a static website.
Take a law firm's website, you would rather not serve the webpage because the disk is full? I'm getting all your clients bro.
People can complain all they want about CDNs running the internet, but my wife's crappy little website hasn't been offline since I left broke it myself.
To write shorter text, you must put in the effort beforehand to compact, crystallize and organize the ideas. Each reader then doesn't have to do that themselves in their heads.
This is where I'd expect an A.I.-powered tech support chat system to help. Then smaller-is-better might really work well. Just be sure to supply some helpful+necessary context (intro/outro) when directing me to the mini doc. And if there's going to be A.I. then it might help with the items on the author's list too (doc organisation, doc linking, doc hygiene).
An attempt to meet the needs of people following search engine links right into the middle of documentation.
This is where I wonder if an A.I. could provide missing introductory context, based on the conversation that got you to the doc.
But I fear this is a bridge too far for a domain that didn’t bother making DevEx a thing until a few years ago.
However, if I want to distill it to a smaller doc, I'd need to spend another day to make it perfect, and I don't have time, unfortunately.
I wasn't mocking op, I was referencing Mark Twain
> In conclusion, Blaise Pascal wrote a version of this saying in French and it quickly moved into the English language. The notion was very popular and variants of the expression have been employed by other notable figures in history. The saying has also been assigned to some prominent individuals without adequate factual support.
Who knows, maybe longer docs reduce misunderstanding, like how error correction reduces problems as the information moves through mediums. :)
I go by Feynman's logic: if you can't explain it simply you don't understand it. Redundancy doesn't seem to me to be a good thing in documentation. Would make it harder to parse and maintain...
And increases the word count, making it less likely someone will even begin reading it.
This way your document will look compact and neat while having all the necessary information contained in everywhere and every part of your documentation.
Also interconnected documents reduce the burden of repeatedly updating duplicate parts. You reference or link it, and update and change it for once.
Note: Yes, I have intentionally and knowingly written that way.
Ah, that happens, no problems on my side whatsoever.
> I go by Feynman's logic: if you can't explain it simply you don't understand it.
That's true, but in reality it needs a couple of passes to distill down, which needs time. An example of a live document I have written can be given as [0].
Can it be better? By miles. How much time does it need? An amount I don't have right now. "When you're poor, everything is expensive" works for time, too. So, I try to do my best when I have time, and polish it later when I have additional time for it.
[0]: https://notes.bayindirh.io/notes/Hardware/Installing+a+Home+...
That's how I use them anyway, I just ask how to do X with library Y and then ask for further info if needed. If that fails, go for the source code.
Sometimes you have a meaty topic that takes many words to cover comprehensively and accurately. Don't beat yourself up over it. Providing full and complete information is usually more important than some arbitrary limit on length.
With that said, it's also a fundamental truth that there almost always ways to make your docs more concise without a loss in information. And in general this is worth doing because it really does improve the odds that people will read the docs.
The article's prescription to use short, self-contained pages that link extensively to each other is right out of the playbook of my favorite TW book ever: Every Page Is Page One (don't judge this book by its cover, literally)
I would have liked to see the article focus on more of the SEO and LLM arguments for short docs, which I think are compelling. Short docs basically give you that Stack-Overflow-style SEO boost, because the main content is tightly relevant to the page title. Small docs are easier to embed, and probably easier to do automated updates on with text generation models.