Honza is my friend from university and afellow organizer of [KSP](https://ksp.mff.cuni.cz). He's very into metal-ish music and he regularly posts about concerts he visits. Despite this, his most visited article is acollection of notes for the highschool _maturita_ exam :)
Just dumping aquick mental meltdown here: Please, pretty please, can we go back to good old **boring** developers documentation style? Imean those terse articles presenting real new information? Those long walls of text that **nobody ever wants to read**, but ends up reading because **they contain what one is looking for**?
It doesn't have to be so bad. There are well-written documentations that are apleasure to read, but the core point is that they have to actually convey some facts. It might have just been abad month for me, but Iwas confronted with too much screwed-up docs and Ithink it hadn't been so bad in the past. Iam afraid it is an inevitable consequence of replacing real humans with [LLMs](https://en.wikipedia.org/wiki/Large_language_mode) or simple machine generated garbage. Both of the recent instances were from Google, but Imeet it just everywhere. The docs tell the obvious (“To assemble acar, you gotta get awrench from your box. Beware there are two latches, if you only press one, the box won't open preventing you from obtaining the wrench”) and pretend the rest is intuitive (which it often sort of is) ignoring the parts where one can honestly need to tweak some details (“Then put all parts where they fit. And if you get lost, ask our chat bot”).
The first one was the YouTube API. Iremember (though it can be just dreamed up) seeing Google's API reference in reasonably good shape in the past, but this time, it was all just
>This JSON attribute named `x` contains x
with little additional description of the semantics. And if you then mess up different `id` attributes because you think it's avideo that you are handling but it's aplaylist item instead (Iadmit it was my mistake), the API greets you with apretty useful 403. And yes, thanks for asking, the semantics of the error codes [are documented](https://developers.google.com/youtube/v3/docs/videos/update#errors), except 403 isn't and 404 is guaranteed anyway. ❤
And then Iwas forced to interact with their serverless functions we've been using for quite afer years. They unobtrusively presented that Go's 1.21 runtime is about to be deprecated and later removed so it might be atime for upgrade. For far so good, it is areasonable decision with arather generous time schedule. Ido afew clicks at the web interface and ha! Ican't select anever runtime, 1.21 is the only available one. Can it be related to them deprecating the whole v1 cloud functions stack hoping to push us to v2? That must be documented somewhere, right? We can easily find either adeprecation notice or generally some info on the future of v1 functions or at least find the list of supported execution environments of v1, **right**? Nope. They beautifully retrospectively renamed _Google Cloud Function_ to _Cloud Run Functions v1_ (probably dropping the original _Cloud Run_ product (or just rebranding it is v2? 🤷)) and merged its documentation with v2. They are supposed to be very much compatible, so why bother? Links explicitly marked as documenting v1 point to some shared docs crossroad where you can again pick you are interested in v1 to get to a[short page](https://cloud.google.com/functions/1stgendocs/concepts/overview) again pointing you to some v2 resources, pointing you to how to deploy v1 code and how v1 compares to v2 (of course they just claim it is sort of compatible with no technical details).
Ithought “Game's not over. We're actually using Firebase, so we can try their docs?”. Iwas so naive. They are the other extreme Iwas writing about in the preface: they contain just alot of examples, but no real information. It's always good to show the audience how to accomplish the most frequent tasks and give them some confidence if the sole theory is too dense. **But you can't skip the theory!** Defining your config format by acollection of snippets is just bullshit even if it is clear how they actually compose together.
---
Alright, I've probably calmed down by now. Enough ranting, back to useful work. Take this post with agrain of salt as wasting multiple hours on that YouTube HTTP403 really turned me mad, but Ireally feel like the best current documentation is usually in the `man` pages these days. Iwish they covered everything out there. Of course it isn't about source format, it's about the style. Boring and terse but always with apreface with motivation and high-level, detailed list of whatever is to be listed, additional sections with security considerations etc and finally abit of examples both the simple and more convoluted ones. If you feel it the same or on contrary very much disagree (and everything in between), make sure to [share your thoughts]({{<ref "/contact">}})!
If you're reading this and are responsible for apublic facing documentation, hear me: it is nice to provide an AI assistant, but keep in mind it can't understand your product if you don't have it written down. LLMs shine at summarizing text and extracting pieces of information on request (“What's the name of the function that does this and that?”) and it can really save one's time. It can probably also generate all those usage examples, so please stop concentrating on what can be automated. Provide us with genuine list of facts and an architectonic overview with forward-references. We can then synthesize what we want with our little brains or use some digital ones if we want to. **Thanks**!
I've always dreamed about blogging, you know, sitting down revisiting my recent thoughts and presenting them in an organized way to the public. The problem is, I've always dreamed about so many things that finding time for any particular one was difficult if not impossible. It usually happens by chance that Iget back to an old dream and push it abit. It's most often when Iam sick and can't take the regular duties. And guess what? Ifeel ill today. But that's not the point here.
I've found my friends writing recently and it's such ashame that there is near to nothing on my blog. I've just finished minor infrastructure changes to simplify the publishing process for me and Ihave some ideas for articles. This time, it must happen! IWANT TO WRITE SOMETHING. Keep your fingers crossed for me :)
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.