Slashdot Mirror


RTFM? How To Write a Manual Worth Reading

An anonymous reader writes with a link to Rich Bowen's insightful, detail laden piece at Opensource.com about improving documentation: Have you noticed that the more frequently a particular open source community tells you to RTFM, the worse the FM is likely to be? I've been contemplating this for years, and have concluded that this is because patience and empathy are the basis of good documentation, much as they are the basis for being a decent person. What's the best example you know of for open-source documentation? How about the worst?

244 comments

  1. One thing to keep in mind... by Penguinisto · · Score: 3, Insightful

    Make it conversational as well as informative. You don't have to write a novel or make it into a drama play, but at least do something to help illustrate a bit more than some short and often mis-communicated list of what the options do. In technical speak? No problem: less man page, more info page (speaking of which, an actual info page would be a nice thing to have for a few of the projects out there, eh?)

    --
    Quo usque tandem abutere, Nimbus, patientia nostra?
    1. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      Strongly disagree, documentation should get straight to the point.

    2. Re:One thing to keep in mind... by Anonymous+Brave+Guy · · Score: 4, Insightful

      Make it conversational as well as informative.

      On a related note, often with OSS there are more than two parties in the conversation.

      If I'm configuring some sort of local mail store, I don't just need to know how to set up Dovecot. I need to know how to set up Dovecot, Postfix, Roundcube, and so on, and I need to know how to set them up together.

      If I'm configuring some sort of Linux server, I don't just need to know how to set up RAID, I need to know how to do it with logical volumes for future-proofing, and I need to install a bootloader that understands. And then I need status monitoring, and procedures for recovering after failure, adding more capacity, and so on.

      Frequently with OSS, particularly sysadmin-type stuff, I find there is more detail than you would likely ever need about any one part of the system, but the real problem is figuring out how to connect it all up in practice.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    3. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      tl;dr

    4. Re:One thing to keep in mind... by Anonymous+Brave+Guy · · Score: 5, Insightful

      Strongly disagree, documentation should get straight to the point.

      Detailed reference documentation, yes.

      But more often than not, the problem with OSS seems to be that no-one wrote the introduction/overview/big picture stuff, and the developers instead expected that users would just magically discover that kind of understanding from 1,943 man pages with cryptic names and no context or navigation to show them where to start.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    5. Re:One thing to keep in mind... by Anonymous Coward · · Score: 2, Insightful

      That's a different thing from a conversational tone.

      Yes, there should be an overview and lots of examples but it still should be written concisely.

    6. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      Good documentation is about the why as much as the how.
      Why should I use this API over that one?
      Why does this option have that side effect?

      The why is how we make intelligent decisions about using the thing being documented.

    7. Re:One thing to keep in mind... by Blaskowicz · · Score: 1

      info's info page looks like a converted man page on my system! wow.
      Most missing in its documentation is "NOTES : This program is unusable, use pinfo instead."
      Man pages themselves could see some color.

    8. Re:One thing to keep in mind... by Bite+The+Pillow · · Score: 2

      Not really. We can debate the meaning of tone, but 6 sentences that meet your criteria stop being conversational if they are out of order, or missing.

    9. Re:One thing to keep in mind... by Paul+Jakma · · Score: 1

      Post to undo a misclicked mod. :(

      --
      I use Friend/Foe + mod-point modifiers as a karma/reputation system.
    10. Re:One thing to keep in mind... by Anonymous Coward · · Score: 1

      I agree... leave the cutesy puff crap out of the docs, please. An occasional pun is fine, but too many writers seem to think technical documentation is their big break in creative or comedy writing (this goes for tech books, too *cough* Head First *cough*). If I have to sift through a pile of weak analogies or a stupid "Mr. Widget" storyline to get the information I want, into the trash it goes.

    11. Re:One thing to keep in mind... by ezakimak · · Score: 4, Informative

      I totally agree.
      I've seen countless man pages that don't even bother to say what the command *does*, let alone *why* you would want to do that. They assume it is all self evident (I'm guessing the author's logic was: "or else why would you be reading about the flags if you didn't already know you needed it and for what?").
      Also, sometimes explanations are vague--being precise about the behavior (especially if it is altering data) is important.

    12. Re:One thing to keep in mind... by scamper_22 · · Score: 1

      This times a million.

      Even in commercial software, for anything detailed, it is often better to just look a code. I don't trust the documentation to be up to date for anything detailed anyways. Enums, magic strings, detailed algorithm behavior... let me see the code (auto docs work good here as well)

      But the one thing often lacking even in commercial projects is the big picture stuff. Showing all system, what is being called, big picture structure, where the important starting files are...

    13. Re:One thing to keep in mind... by k6mfw · · Score: 1

      ...expected that users would just magically discover that kind of understanding from 1,943 man pages with cryptic names and no context or navigation to show them where to start.

      Sometimes I wonder if this is deliberate, as they had to spend many a grueling all-nighters to figure out all this stuff so newbies will have to do the same. "Of course it's hard. But that's what it takes if you want to be part of the Few, the Proud," (uh that phrase might be copyrighted by a govt agency).

      --
      mfwright@batnet.com
    14. Re:One thing to keep in mind... by cyberchondriac · · Score: 3, Informative

      This is what happened to the "For Dummies" books, IMO. The old classics like "DOS for Dummies" was great for a beginner, but it seemed like a lot of the later books went way too heavy into the realm of comedy or stretched tangential analogies, and it distracted from the key information itself.
      Nobody likes dry reading. but they got soppy dripping wet. ;)

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    15. Re:One thing to keep in mind... by NJRoadfan · · Score: 1

      Sounds like the man page for the "tar" command. This is analogous to someone giving you a box of tools and some materials with a piece of paper explaining what each tool is used for, but no instructions on how to put whatever it is together! I am trying to address this with an open source project I am working on. I broke the document down to the following sections:

      Getting Started: Covers basic setup and configuration. It gets the user up and running step-by-step with the defaults complete with screen shots. It tells users everything they need to know and nothing they don't. This is what is usually lacking from most open source projects. Many times they leave you hanging after "apt get"

      Advanced Configuration: Covers every configuration option in detail and the option's expected behavior. This is for the power users and the folks who need something other than the defaults.

      FAQs/Troubleshooting: Covers common problems and how to fix them. Also covers any questions that can't be explained by the configuration options alone.

    16. Re:One thing to keep in mind... by Anonymous Coward · · Score: 1

      Absolutely.

      I can't count the number of times I've come across an open source project online, and couldn't figure out what it was. I can understand not having a decent overview for a pre-alpha project, but some of these were mature and stable programs.

      On the home page of the project was an "About" link that gave me a list of the developers (not useful) and a FAQ link that answered very specific questions about how to use minor features of the program (only useful if I've already been using it for months), but nowhere could I find anything that told me what the heck the program does.

      It's as if the developers have been involved in the project for so long that they've completely forgotten that 99.999% of the world has never heard of it.

      A lack of a manual is all right in some cases, specifically if it's a small program with easy to understand options, but how hard is it to write two paragraphs that tell what the program is and describe some of its major features?

    17. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      To use a car analogy (and we all like our car analogies on slashdot) - the manual goes to great lengths describing the structure and design of the spark plugs, but there's nothing telling you what to do with the key (unless you ask on the forums in which case people will tell you where to put it in no uncertain terms).

    18. Re:One thing to keep in mind... by gsslay · · Score: 3, Insightful

      This is not just a problem you see in command line or open source software. You find it in the documentation of many niche applications and it's invariably because it was written by one of the developers. Someone who has spent months working on the software, so it doesn't occur to them how someone completely unfamiliar with the software might approach it, or what they might want to know. So you get online documentation that dives right into technical details, scarcely touching on an overview of what it actually does.

      And this happens even with software where the developer wants you to buy it. Just how many sales they get when the potential customer has to first puzzle out what it is, I don't know.

    19. Re:One thing to keep in mind... by rbowen · · Score: 1

      As I mention in the article (you did read it, right?) is that there are different voices required for different types of documentation. There's a place for both the "straight to the point" (reference docs) and "conversational" (howtos, more learning-oriented exposition) voices, depending on who you're talking to, and how much they already know.

      --
      Apache guy, Open Source enthusiast, runner
    20. Re:One thing to keep in mind... by Slugster · · Score: 1

      This is what I have seen with a lot of free/OSS also: the instructions weren't written for someone who doesn't know how to use the program; the instructions were written as reminders for someone who already knew how to use the program...

      Or even more charming is when the instructions are very brief and just tell the 'new' differences with the previous version. So then the changelog becomes part of the help files...?

      Lousy help files have cause me to uninstall more than a few open-source programs, and I bet I'm not the only one. If it costs money for decent documentation then I'm one of those corporate sheeple drones that's likely to pay.

    21. Re:One thing to keep in mind... by Darinbob · · Score: 1

      I agree here. Especially when encountering new stuff or concepts, most documentation is unhelpful. Ie, learning how to use PGP using only their reference manuals is daunting; or a newcomer learning how to use Berkeley style sockets using only man pages leads to many mistakes.

    22. Re:One thing to keep in mind... by DuckDodgers · · Score: 2

      The Head First books are a training introduction for complete novices. They were never designed as reference books, and in fact their back covers and introductions usually emphasize that point. I found the Head First books I bought very useful when I was new to a topic, and then useless afterwards - but that means they worked as intended.

    23. Re: One thing to keep in mind... by nukenerd · · Score: 1

      What do you expect with titles like "... for dummies"?

    24. Re:One thing to keep in mind... by rbowen · · Score: 1

      Absolutely.

      I can't count the number of times I've come across an open source project online, and couldn't figure out what it was

      When I worked at SourceForge, this was a major thing I worked on. I called it the "Yeah, but what does it *DO*" campaign, and I'd try to get projects to explain what their project was actually for, rather than saying that it was "an effort to build a fast, efficient, best of breed tool XYPDQ object-hierarchical framework" or whatever.

      Turns out that a lot of people find this kind of thinking revolutionary. It's honestly eye-opening when you say some people might not know what their whizbang is used for.

      --
      Apache guy, Open Source enthusiast, runner
    25. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      Head First C was one of the worst books I've ever read, and I've read Head First Algebra, so the bar was set pretty high.

    26. Re:One thing to keep in mind... by DuckDodgers · · Score: 1

      Oh interesting. Head First Servlets and JSP was excellent and Head First Design Patterns was decent.

    27. Re:One thing to keep in mind... by Whiteox · · Score: 1

      How to play the flute by Month Python is my choice.
      Direct and to the point.

      --
      Don't be apathetic. Procrastinate!
    28. Re:One thing to keep in mind... by Morpf · · Score: 1

      I disagree: Give me a really concise documentation and if there is still time then go wild on a conversational info page / demo / tutorial / best practices

        First one should be easier and faster to do and you can always reference to it for details in the more wordy thing. Examples and explanations are important especially if one just starts using the software / API, but cumbersome if I only want to know the expected boundaries of a parameter or so.

      So both are important, but for different things. Probably one should not skip any of these. ;)

    29. Re: One thing to keep in mind... by cyberchondriac · · Score: 1

      Well actually the first ones were pretty good intros to basic IT. DOS for Dummies was a classic. They certainly lived up to their name later on though. I'd read the original PCs for Dummies, DOS, DOS book2, Windows 3.11, and Windows 3.11 book two when I started out in IT, and I they were pretty good. And I didn't even own a PC for reference yet, and I still managed to follow through (finally got one in '95).
      I tried some later books though and they were awful, they just wouldn't get to stick to the point. Or, maybe I just had a better grasp of things by then and the fluff got in the way.

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    30. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      No joke. Trying to explain our new service in a way that would truly enlighten a potential user (or simply someone who is just asking a question) became probably the hardest part of releasing the system.

      We tried all sorts of things, there is an animation there linked from the front page, but the reality is that the animation only explains some of it and not in detail enough to answer all question. Then there are features, we pushed them into their own header item. Then there are services that this is eventually going to cover, but the service that is currently the most developed one is for shipping, so for that one there is a separate use case section.

      There are all these pages, and it still may not be totally and completely understandable without a question. We actually started with this page, but then added all the others once realised that getting into 'how' to sign up and do stuff may not be as important as to 'why' and 'what' it is. Everything is a pain to describe in a way that would cover all questions and since the system is growing all the time this process cannot stop.

      Documentation and generally explaining things to people that seem obvious if you are the one building the system but seem nearly impossible if you are an outsider.

      An example: there is a feature inside to create zones on the maps that can be assigned to devices as either 'exclusion' or 'boundary' or 'reminder' zones. (don't go into 'exclusion', don't leave 'boundary', be alerted of something if you walk into 'reminder' zone).

      A user enters the 'Add/Edit Zone' page and he sees a map and a couple of buttons on the side, the top button says: 'Add' or 'Draw' Zone. He clicks on that button and is given a selection of shapes (polygon, circle, rectangle). Clicks on circle and the buttons that used to be there disappear, instead a button appears with the label 'Done' on it. Does the user try to click on the map to draw the zone? No. He clicks on the 'Done' button. Why? "because I was done".

      Taking that into account and working in all the necessary visual cues is what makes or breaks the application I think, but that's low level stuff. Being able to present and explain a system in very simple terms is at this point a basic absolute minimum even to be noticed today, in the age of iPhones and iPads and such.

    31. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      As someone who frequently contributes to documentation for a certain OSS project: Yeah, I (we) know. Here's why that is:

      * Everyone wants to do something a little bit different, and the amount of possible combinations and use cases is simply too high to give you a procedure you can follow start to finish - so we have to rely on you to string the standalone parts together the way it suits you.
      * At least in the project I'm a part of, most of us writers aren't very technical. This becomes a problem when we're documenting anything more complicated than a simple GUI; we simply don't know the details. That also means we don't even know what you guys actually want to do - I have no clue; all I know is what developers tell me, and getting anything out of them is often a pretty unpleasant process (because nobody really cares about documentation). Yes, we could go scouring forums and look at what people ask... but that brings me to the next point.
      * There simply are not enough contributors to documentation. Even if we could identify common use cases, we wouldn't have anyone to write them. The project I work on is a pretty well-known distribution, and we're running on such a skeleton crew it's a miracle we can push out something resembling decent release notes for every release. Any big changes in technology have documentation lagging behind, sometimes by years. So we don't really have time/people/energy to go looking around on forums for use cases, and even if we did do that, we wouldn't have anyone to cover them. I know, it's not a docs-only problem... but still, there was a recent poll on /. about "how do you contribute to open source" - and less than 5% chose documentation, IIRC.

      If you want better documentation for a specific use case, the best thing you can do is document your own use case (after you figure it out - yes, I know that doesn't help you, but it'll help others). A lot of projects have wikis set up; use them. We can't help you, sorry.

    32. Re:One thing to keep in mind... by Vitriol+Angst · · Score: 1

      Couldn't agree more. I went for years not being able to use UNIX man pages on command lines or common documents with apps because the switches never gave examples that made it clear. Was the bracket part of the command, was there a space or comma after the -p or do the letters run together? So many possible combinations that a novice or causal user is often left clueless how to use it so they go search on the web for a complete example and the man page lays dormant and useless.

      And even though I've done some programming or scripts that use the command line -- I still don't know how to use most switches in UNIX because the man pages all follow the same example of "let's keep this opaque as possible and never, ever explain anything simply."

      --
      >>"ad space available -- low rates!!!"
    33. Re:One thing to keep in mind... by Anonymous+Brave+Guy · · Score: 1

      Those are all valid points, and I appreciate that no documentation writers can cover all bases including those reaching beyond their own project. What you can do is be clear about (a) the scope of your particular software, and (b) which protocols/standards/conventions it uses to interoperate with other software. Users don't necessarily need any one project to paint the whole picture for them. It's enough to show that project's particular piece of the jigsaw with a clear enough edge that it fits in with the equivalent documentation from elsewhere.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    34. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      Yeah, I agree with that. Unfortunately most of this doesn't apply to what I do, specifically - I contribute to documentation for a Linux distribution, mostly to installation documentation, so the scope is obvious - the installer installs the system, and the system itself does... damn it, it's an OS, what do you want from me?! :).

      At the same time, we can't document every program someone would want to run on top of our distribution; there's too many of them, so we rely on their documentation to explain how to work with us... We try to document the extremely common use cases, like how to install our OS next to Windows, but that's all we can do.

    35. Re:One thing to keep in mind... by antdude · · Score: 1

      So, what are good newbie books these days then?

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    36. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      This is actually what caused me to lose interest in Linux years and years ago. Getting all but the most trivial of tasks done was a nightmare due to the obtuseness of the available documentation. It was as though it was designed for the express purpose of keeping people from doing anything.

    37. Re:One thing to keep in mind... by Slashdot+Parent · · Score: 1

      If I'm configuring some sort of local mail store, I don't just need to know how to set up Dovecot. I need to know how to set up Dovecot, Postfix, Roundcube, and so on, and I need to know how to set them up together.

      That type of information is typically also in the docs because you're right. It's important, and if everyone has to hammer it out themselves, it's reinventing the wheel.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    38. Re:One thing to keep in mind... by cyberchondriac · · Score: 1

      I really don't know. I haven't read any newbie books in years. Mostly I attend classes and seminars now when available, via work. If anything, I read O'Reilly books for reference. Maybe the "Idiots Guide"? or maybe it just depends on the book/author.

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    39. Re: One thing to keep in mind... by Anonymous Coward · · Score: 0

      åå®R

    40. Re:One thing to keep in mind... by Anonymous Coward · · Score: 0

      The very best documentation I've run into has been the FreeBSD handbook. There might be better, but I haven't seen it.

  2. Best example by Anonymous Coward · · Score: 0

    What's the best example you know of for open-source documentation?

    Books from O'Reilly and Manning, I'm afraid...

    1. Re:Best example by TWX · · Score: 2

      Honestly I go back to UNIX books that were not actually intended for Linux specifically at all; those for System V worked great when it came to administering early Linux.

      I've found later literature to not be as well written, and I've found many projects that aren't well documented at all, like the various GUI windowmanagers and login managers lately.

      I suppose this bias toward old, good documentation is contributing to my dislike of Systemd, I don't see the same docs for Systemd that I saw for System V and BSD init structures.

      --
      Do not look into laser with remaining eye.
    2. Re:Best example by Peter+H.S. · · Score: 1

      I suppose this bias toward old, good documentation is contributing to my dislike of Systemd, I don't see the same docs for Systemd that I saw for System V and BSD init structures.

      systemd is a seriously well documented project. At the moment there are around 202 man-pages.
      http://www.freedesktop.org/sof...

      Every man-page I have used is done by the book: good examples, relevant "See also" references, and sometimes even links to further information. I really like the fact that all config files have extensive man pages too (man journald.conf fx), and that they also provide "big picture" documentation like "man bootup".

      I have often seen how a question on the systemd devel list resulted in clarification of the documentation, so they take their documentation seriously.

      On top of the man pages, there is also a huge amount of information on the projects homepage, spanning from overview videos, to low level developer information.
      http://www.freedesktop.org/wik...

    3. Re:Best example by DuckDodgers · · Score: 1

      Seconded. The documentation on systemd is outstanding, and a great example of how to correctly approach documentation for an open source project.

    4. Re:Best example by Peter+H.S. · · Score: 1

      Yeah, I even found a man page that list all the man pages : "man systemd.index" and a index for all unit directives "man systemd.directives" with cross-references to the relevant man pages. Really useful stuff that shows the developers cares about end users.

    5. Re:Best example by unrtst · · Score: 1

      What's the best example you know of for open-source documentation?

      Books from O'Reilly and Manning, I'm afraid...

      My particular favorite was "DNS and BIND" (I think my first read through was with the 3rd edition). I read through cover to cover without my eyes glazing over even once. It was an enjoyable read, filled with interesting history and background that explained why various features were the way they were. It's a great read even if you have no interest in learning to use BIND, and it did a great job teaching me all about BIND and DNS.

  3. OSS needs technical writers more than coders by NotDrWho · · Score: 4, Insightful

    Coders they got. Projects whose "documentation" consists of anything more than a technical list of bugfixes they don't.

    OSS needs to realize that well-written documentation is just as important as well-written code.

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
    1. Re:OSS needs technical writers more than coders by NotDrWho · · Score: 1

      Oh yeah, and a message board or empty wiki doesn't count as "documentation."

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    2. Re:OSS needs technical writers more than coders by Archangel+Michael · · Score: 0

      It isn't hard to write good documentation. It just takes time.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    3. Re:OSS needs technical writers more than coders by TWX · · Score: 2

      I remember when the Linux Documentation Project and Howto.org (if I'm remembering the URL right) had just about everything. Then the UI-side exploded and went crazy, no one kept the docs up to date, and it all fell on its face.

      --
      Do not look into laser with remaining eye.
    4. Re:OSS needs technical writers more than coders by Maxwell · · Score: 4, Insightful
      Incorrect, and arrogant. It IS hard to write well, it is a skill, it can be learned, and not many in the tech community have it.

      "It isn't hard to code well, it just takes time" - said no writer, ever.

    5. Re:OSS needs technical writers more than coders by Anonymous+Brave+Guy · · Score: 1

      Exactly. Writing code and writing technical documentation are different skills.

      Often different people will have each responsibility, and then identifying and accurately communicating the relevant information between them is a third essential skill.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:OSS needs technical writers more than coders by Z00L00K · · Score: 2

      Good documentation takes special skill - you have to write it in a way that's easy to understand as well as being advanced enough to be useful.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    7. Re:OSS needs technical writers more than coders by alvinrod · · Score: 1

      I wouldn't say it's hard to code well either, but it may take some individuals a lot of time to reach the point where they write elegant code. I think the same is true of writing as well. The average person could become sufficiently skilled to produce useful documents.

      The hard part is being able to design really great software or meaningful written works. I'm more than capable of learning the writing skills necessary to produce a novel, but honestly I don't think I could actually write one that anyone would consider worth reading just like there are a lot of people who can learn to write nice, clean code, but can't envision the software that should be created or how to construct the algorithms to reach that end goal.

    8. Re:OSS needs technical writers more than coders by Enry · · Score: 3, Informative

      TLDP had a lot of problems and they weren't all internal to TLDP. I think the biggest one was that we were trying to balance between documentation style and authoring while trying to make it easy for people with little documentation skills to write. It isn't as easy as writing a word doc and uploading it - we were trying to make it so you could read documentation on any format: PalmOS, PDF, Word, printed, HTML. Docbook and linuxdoc made that process easy, but it was a markup language and the best way to write it was as by doing the markup yourself (think writing HTML by hand) and there was a lot of infighting about going back to linuxdoc. As the documents became more complex it was difficult to do technical reviews since a lot of the people were more documentors than technical. As Linux grew and advanced, nobody was available to update old documentation because they were working on new ones, so much of the existing content became stale.

    9. Re:OSS needs technical writers more than coders by Anonymous Coward · · Score: 0

      That's better than a module of software I was expected to provide 3rd-party support for. The documentation was four pages. Page one was a bitmap for the cover. Page 2 was a list of patents the company owned. Page 3 was a legal threat for trying to steal all the patents and a disclosure that the legal team had vetted the documentation in its current version. Page 4 simply said "For further instructions view the website for this software."

      There was no website.

      Instead of any help or support, all I got was threats of legal action.

    10. Re:OSS needs technical writers more than coders by Hognoxious · · Score: 3, Interesting

      It isn't hard to write good documentation. It just takes time.

      I once took over from a guy who left me a 400 page binder. He must, presumably, have spent some time on it.

      It was brilliant if you wanted to know what program fiddlydiddly did or what table doodlefoodle controls, i.e. bottom up.

      if you wanted to work top down, i.e. you need to find what causes a specific thing, it was worse than useless.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    11. Re:OSS needs technical writers more than coders by petes_PoV · · Score: 1

      It isn't hard to write good documentation. It just takes time.

      Good documentation IS hard. That's why there is so little of it.

      The biggest problem is that so many FOSS coders can't think of anyone apart from themselves and only care about the fun part - not all the stuff that needs professionalism. They are unable to put themselves in the position of another human being, approaching their "baby" and they have no comprehension, whatsoever, of the assumptions they are making or what they tacitly expect the reader to already know.

      As an example, there are many - maybe even the majority - of FOSS websites where the entry page has no explanation at all of what the program / app actually does. Instead of a simple description of: "FlungerMunger is a tool to help Mungers do their flunging", it contains news about what's changed in the new Beta version, or lists of bug-fixes and doesn't even bother mentioning what platforms the software runs on or who would possibly want to use it.

      Far too many developers assume that once the source code is tossed over the wall to the user community, the job is done. In fact that is usually the simplest, most trivial part of producing successful software. The hard part which takes the self-discipline is beating that code into a usable state: a job that sometimes the FOSS distros will pick up - but mostly never gets done at all.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    12. Re:OSS needs technical writers more than coders by Registered+Coward+v2 · · Score: 1

      Incorrect, and arrogant. It IS hard to write well, it is a skill, it can be learned, and not many in the tech community have it.

      "It isn't hard to code well, it just takes time" - said no writer, ever.

      Anything is easy if you've never done it.

      --
      I'm a consultant - I convert gibberish into cash-flow.
    13. Re:OSS needs technical writers more than coders by NJRoadfan · · Score: 5, Insightful

      I am in the process of documenting a system I added to an open source project. Its not easy to write, particularly if one doesn't have a background in technical writing. The basic process the same though, you have to write for your audience, and revise.... a lot. In my case, I have been sending drafts of my work to other developers in the project to not only proofread, but to actually read through the directions and perform the listed tasks as an end-user would. So far the feedback has resulted in changes in both the documentation and the program to make things easier/clearer for the user.

      I guess what I'm trying to say is, don't skip review and just post the documentation. Give the documentation and software to someone not familiar with it and see how they interpret and understand it. Listen to their feedback. Way too many developers don't (I'm looking at your Google!). Wikis are supposed to address this, but don't seem to engage enough people to actually contribute.

    14. Re:OSS needs technical writers more than coders by BronsCon · · Score: 1

      Perhaps he isn't arrogant, but skilled in writing documentation? For him, then, it would not be hard, and never would have been. Ignorant, perhaps, of the fact that it might be hard for others, but not arrogant. The same can be said of coding, as well; I don't find it the lest bit difficult to write good and maintainable code, provided I'm given the time to do so.

      That said, in both case it's actually almost impossible, because whoever you're writing the code and/or documentation for wants you on the next project tomorrow.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    15. Re:OSS needs technical writers more than coders by cyberchondriac · · Score: 1

      I suspect a lot of tech writing is done because an author is pushed into it and would rather be writing maybe something else.
      It's not hard to be ambiguous in the English language, special care (as well as a desire) needs to be taken to be clear and concise. Not my best example, but off the top of my head, when people say something like "Everyone is not right-handed", with the intent to mean that some people aren't right-handed, they don't realize that their sentence literally means that NO one is right handed. They should say, "Not everyone is right handed".
      Other examples are, "I saw the man with the binoculars" or "EMTs help dog bite victim". It's just a caveat of the language.

      I think the best thing any tech writer could do though - with something like Bash or Cisco commands- is provide more command examples, because sometimes the exacting demands of the syntax just isn't made clear. A few good examples go a long way to alleviating uncertainty.

      --

      Look back up at my post, now look back down, you're on the Internet. Now look back up. I'm a signature.
    16. Re:OSS needs technical writers more than coders by Anonymous Coward · · Score: 0

      Any good books on Technical Writing for beginners?

    17. Re:OSS needs technical writers more than coders by rbowen · · Score: 1

      From the article: ... there are some amazing books out there that you should read if you care about this stuff. First, I'd recommend Conversation and Community, by Anne Gentle. And if you're looking for a conference about this stuff, there are two that I'd suggest: Write The Docs and OpenHelp.

      --
      Apache guy, Open Source enthusiast, runner
    18. Re:OSS needs technical writers more than coders by NotDrWho · · Score: 1

      As an example, there are many - maybe even the majority - of FOSS websites where the entry page has no explanation at all of what the program / app actually does.

      This! A thousand times this! Sourceforge should ban any project where the contributor can't even bother to write a paragraph on what the software *IS* and *DOES*. So often, you have to play Sherlock Holmes with a list of bugfixes to try to figure out who/what this software is even for.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    19. Re:OSS needs technical writers more than coders by Archangel+Michael · · Score: 2

      I am a tad arrogant, but that is not the problem here. Good Documentation isn't hard, it is time consuming.

      It is time consuming because you have to use it, and test it, and revise it for cases you never thought about. Writing itself isn't hard. Getting the writing usable is just time consuming.

      IF you don't put in the time, the writing isn't going to take care of itself, and therefore only appears "hard". Sometimes, it seems the best skill I have is patience ;-)

      If you do enough Documentation, you can get much closer to a good final product out of the gate, because you can anticipate things better. I am sure coding is similar. In fact, I would suggest to you that Documentation is Coding, just for humans instead of machines :-D

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    20. Re:OSS needs technical writers more than coders by BronsCon · · Score: 2

      You nailed it with your last sentence. In fact, I prefer to start with good technical (why/how) documentation and code from that, commenting usage (which eventually translates into user documentation) along the way. With the theoretical and technical documentation out of the way before coding even begins, and the bulk of the user documentation written alongside the code itself (still needing to be compiled into a coherent document and edited, of course), all that's really left is to provide some usage examples, which can be done during final editing of the documentation.

      Because the theoretical and technical documentation do not need to follow the program (it happens the other way around in this case), they become much easier to write. Coding becomes easier, as well, because the theoretical and technical documentation define everything (and if it doesn't, it gets kicked back to the author to be fixed while the developer takes a coffee break). That whole process just moves more smoothly and quickly, at that point. Having the developer detail usage in their code comments means the person who best knows how to use the code is the one documenting how to use the code; of course, a technical writer should compile those comments into a coherent document, then edit it. As a final test of that documentation, that technical writer should, while editing the user documentation, write a series of usage examples and have the developer verify that the examples are correct. Any corrections to the examples should result in similar corrections to the documentation, as well.

      This seems to reduce the number of revision cycles while, at the same time, ensuring that the documentation and application are in sync.

      I always tell my clients, if they're not willing to work with me to write the technical documentation before I begin development, my development quote doubles and only minimal documentation will be provided. I only have one client who chooses that option; they also prefer to pay me to maintain everything, so I guess it's a win-win.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    21. Re:OSS needs technical writers more than coders by swell · · Score: 1

      As one who has worked with many skilled tech writers and many skilled programmers ... as one who does both with some facility; I beg to differ. It isn't hard to code well. I wrote and sold commercial software for about 10 years and later I was a tech writer for about 10 years. It would be very difficult to do both well at the same time. They seem to require a different mind set.

      However many people will be unable to do either. These are both skills that require time, dedication and some native talent. Failure in any of these areas will produce a poor result.

      If you care about your documentation go to STC.org (Society for Technical Communication). Many members are very professional and most can work in several media. You might even convince me to help with your project.

      --
      ...omphaloskepsis often...
    22. Re:OSS needs technical writers more than coders by Anonymous Coward · · Score: 0

      The average person could become sufficiently skilled to produce useful documents.

      I don't think you know what the word "average" means. I guarantee you the average person absolutely cannot create useful documents.

    23. Re:OSS needs technical writers more than coders by david_thornley · · Score: 1

      My first assembler for my home computer had, as documentation, a complete and admirable description of each Z80 opcode, in alphabetical order, together with similar documentation of every assembler directive (or whatever you call them). Despite having become reasonably proficient in three assembler languages earlier, I found the documentation unusable. I bought a book on programming the Z80 and used that.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    24. Re:OSS needs technical writers more than coders by Hognoxious · · Score: 1

      My point exactly. In both cases, it's basically a reference manual.

      Like how man ls will tell you all the flags and options, but it's no use if you're trying to use dir.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  4. Exception by Anonymous Coward · · Score: 1

    "the more frequently a particular open source community tells you to RTFM, the worse the FM is likely to be?"

    I've heard nothing but good things about the Arch Linux Wiki, and that's a community known for saying "read the wiki."

    1. Re:Exception by ahodgson · · Score: 2

      The Arch documentation is excellent.

      Much of the Gentoo docs are really good, too.

    2. Re:Exception by Whiteox · · Score: 1

      I agree. A few years ago I decided to install it on an old Dell SFF I had just bought from an auction.
      Using the online doc for Arch, it went smoothly (I'm a non-linux user btw). The machine kept crashing though. I asked on the forums and they were helpful but I soon got out of my comfort level. Turns out that the machine had hardware issues totally unrelated to the OS! Not a good start, but I remember how helpful the docs and the forum was and I'll try again soon.

      --
      Don't be apathetic. Procrastinate!
  5. Write an article by phantomfive · · Score: 1

    Maybe the author of the article needs to read How to Write an Article Worth Reading.

    (Seriously though, his section on where is kind of interesting).

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Write an article by Anonymous Coward · · Score: 0

      Reading the articles? You must be new here.

  6. What is RFTM? by Anonymous Coward · · Score: 0

    Hu?

    1. Re:What is RFTM? by NotDrWho · · Score: 1

      RTFA!

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    2. Re: What is RFTM? by Where+wazzit · · Score: 1

      Read The Fine Manual

    3. Re:What is RFTM? by rbowen · · Score: 1

      "RTFM" is defined in the first sentence of the first paragraph of the article.

      --
      Apache guy, Open Source enthusiast, runner
  7. Old DOS Borland Developer Tools. by jellomizer · · Score: 3, Interesting

    I was able to teach myself Pascal and C++ with the quality online Documentation in the Old DOS Borland Developer tools.

    There are levels to the documentation.
    Theoretical: Why is it here.
    Actual: What does it do
    Physical: working examples.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:Old DOS Borland Developer Tools. by halivar · · Score: 1

      In the same vein: QBasic help file. Until I was able to finally obtain a copy of Turbo Pascal in high school, QBasic was there to teach me programming from absolutely nothing.

    2. Re:Old DOS Borland Developer Tools. by weilawei · · Score: 2

      I initially taught myself Commodore BASIC v2 from the reference manual. That was my first programming language, and I was a very small child of 4 at the time. Clearly, that was a well written manual. I also have fond memories of QBASIC (yes, fond).

      Shortly after, I had the aid of some series of books aimed at children, which taught BASIC. As I recall, they were slim red hardcover books, and one of the examples included a little racing game. I wish I could recall what they actually were titled, as I'd love to own copies for nostalgia (I borrowed them from my local library). I also had some of those young adult books where you type in some BASIC code to see the resulting part of a story. In one of them, you were a time traveler and one of the examples decrypted a secret message. That kickstarted a serious interest in cryptography--with computers, not just a pencil and graph paper.

      Then, I learned Pascal, then C, 8086 ASM, and C++, but largely from giant books loaned from other family members (a goodly chunk of my family are/were programmers) and various text files. Later, online tutorials were a huge help.

    3. Re:Old DOS Borland Developer Tools. by HornWumpus · · Score: 1

      I taught myself assembler from a MOS technologies 6502 reference manual and an Apple ][ ROM source.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    4. Re:Old DOS Borland Developer Tools. by NJRoadfan · · Score: 1

      The working examples are the most helpful thing. I have seen documentation that covers the API in all of its technical glory, but with very few/no working examples for each of the functions.

    5. Re:Old DOS Borland Developer Tools. by Anonymous Coward · · Score: 0

      http://www.amazon.com/Kids-Commodore-64-Edward-Carlson/dp/0835936678

    6. Re:Old DOS Borland Developer Tools. by Anonymous Coward · · Score: 0

      The official documentation for the OpenGL API is painful to read for this reason... :) Extremely technical and dry description of each function. You cannot get absolutely anything done without a third-party tutorial.

    7. Re:Old DOS Borland Developer Tools. by NJRoadfan · · Score: 1

      I encountered this with the Cairo Graphics library. They do have very basic tutorials, but nothing that covers the advanced functions. Any graphics library/API should show the desired output alongside the code since a picture is worth a thousand words. :P The best example of this I have encountered is Postscript: A Visual Approach. The book's examples showed the source code on the left page and the actual output of the code on the right page. The book also did a good job of explaining how coordinate transforms work, something that is important when dealing with vector graphics.

  8. Counterargument: OpenBSD by Anonymous Coward · · Score: 2, Interesting

    How can your theory explain that one of the best documented projects is developed by the most widely recognized assholes of the open source community?

    1. Re:Counterargument: OpenBSD by Anonymous Coward · · Score: 1

      And those guys are (justifiably) not shy about telling you to RTFM they spent so much time on.

    2. Re: Counterargument: OpenBSD by Anonymous Coward · · Score: 1

      That's because all code must be documented before it gets committed. If every OSS project followed this rule, we would all be better off.

    3. Re:Counterargument: OpenBSD by HornWumpus · · Score: 1

      What does 'old what's his name' (the toejam eater) have to do with BSD?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    4. Re:Counterargument: OpenBSD by rbowen · · Score: 1

      Yes, there are plenty of counterexamples. And those communities - I presume you are referring to Linux? Or did you mean something else? - are remarkably hard for beginners to break into, unless they display a similarly belligerent attitude. Thus, this kind of attitude is self-perpetuating, and it makes it remarkably hard to improve the tone of the community over time. Monkey see, monkey do.

      Look, I'm not declaring this to be a theory or a law of community organization. I'm saying that when you're nice to people, you tend to make it easier for them to solve problems.

      --
      Apache guy, Open Source enthusiast, runner
  9. Examples by Anonymous Coward · · Score: 0

    Worked step by step examples.

    Absolutely nothing left as an 'example for the reader'.

  10. What manual? by MitchDev · · Score: 1

    The trend nowadays is to sell you a separate book in place of the manual that should have come with the product in the first place....

  11. Love me some FM by weilawei · · Score: 1

    The fine `man` has served me well over the years. At points, it is too terse or too verbose, but very rarely is it flat-out wrong.

    As for other projects, that's what source code is for, right? No programmer worth their salt should be afraid to dive into a random piece of code to answer a question. It's an essential skill to go from having a question to finding the implementation details and understanding them. Often, this is the only way you get a concrete answer.

    Yes, I write documentation for my stuff. Yes, I leave useful comments in my code. No, I don't expect there to be documentation for everything, and I rarely use poorly documented crap, but sometimes it is unavoidable. Most of the time, you just have to deal with it head-on (i.e., via reading source code). Occasionally, this includes fixing bugs in some poor sap's library, because you don't have the time to wait for them to fix it.

    1. Re:Love me some FM by ckatko · · Score: 1

      Dive into source code? Maybe my time is more important that sifting through poorly structured directories full of 500 source code files each, and the 8000 instances of that variable that grep reported back.

      If people spent a mere 5% of the time they spend coding an API designed to make something easier, on actually documenting that API, then their actual goal of making something easier would be more effective. Time is money, and the more time people have to waste "re-inventing the wheel" of merely learning what your code does, the more useless your code is.

      How many times have you downloaded a project, only to discover they didn't even give you instructions on how to compile or link the damn thing in your project? How many times have you seen a project not list their dependencies so you get to play a 15 minute game of "find the packages"?

      I mean, how can we even discussing the idea that documentation doesn't matter? Is this the real world? Am I dead and in hell?

    2. Re:Love me some FM by weilawei · · Score: 1

      Dive into source code? Maybe my time is more important that sifting through poorly structured directories full of 500 source code files each, and the 8000 instances of that variable that grep reported back.

      I don't go using pieces of software with 500 files and no documentation if I have any say in it. If you spend all your time cobbling together enormous stacks from hugely bloated libraries with no maintainer, you might run into that issue. If you don't have any say in it, you should try ack. It's like grep, but much more useful for source code.

      How many times have you downloaded a project, only to discover they didn't even give you instructions on how to compile or link the damn thing in your project? How many times have you seen a project not list their dependencies so you get to play a 15 minute game of "find the packages"?

      Many times. I am also good friends with `rm` and `apt-get`. If it doesn't explain clearly how to link against it, or it isn't obvious, I'm unlikely to spend a large amount of effort using it. It simply gets deleted and I use something better maintained. Documentation aside, if I can't even incorporate the header and library with minimal effort, it doesn't bode well for the usability of the library.

      I mean, how can we even discussing the idea that documentation doesn't matter? Is this the real world? Am I dead and in hell?

      I'd like you to quote the line where I say "documentation doesn't matter". In fact, try reading the subject of my post. I do, in fact, really like documentation, take advantage of documentation, and prefer projects with good documentation. BUT--it is still a critical skill to be able to get definitive answers without any hand-holding when shit hits the proverbial fan.

    3. Re:Love me some FM by Yunzil · · Score: 2

      If you spend all your time cobbling together enormous stacks from hugely bloated libraries with no maintainer,

      So, in other words, the real world?

    4. Re:Love me some FM by Anonymous Coward · · Score: 0

      You sound like a web developer.

    5. Re:Love me some FM by Brett+Buck · · Score: 1

      "man" pages as an example of good documentation? Dear God Almighty, man, it was going to be my example of the WORST documentation ever created. In fact just about everything associated with UNIX or *nix documentation is absolutely the shits.

      The best documentation of that type is VAX/VMS "help ..." The best written manuals of that type were for VAX/VMS, too. Everyone should have to read "VAX/VMS FORTRAN Programmers Reference guide" and go through every single command in > help ...

            Other good examples are the manuals and post-flight evaluations for the Apollo program. If nothing else, it will tell you what the standard should be for illustrations.

  12. The best manuals by Registered+Coward+v2 · · Score: 2

    are targeted to a specific audience. What is best depends on the audience. A manual aimed at a programmer may be written differently than one targeted at an end user, for example. While the basic content may be the same (examples, definitions, explanation of menus, etc.) how they are presented and in what detail may be very different. the main problem I see with manuals is they are often written by someone who may be a good programmer but has no idea who the audience is or what they need; which results in an end product that fails to meet the needs of the audience.

    --
    I'm a consultant - I convert gibberish into cash-flow.
  13. Truism by Daimanta · · Score: 1

    When discussing documentation if thought about this rule:

    90% of people want to have documentation
    50% of people want to read documentation
    10% of people want to write documentation

    I think the above is the reason people don't write documentation. Few want to write documentation and they are often not motivated to write because people barely read documentation even if the see a need for it.

    --
    Knowledge is power. Knowledge shared is power lost.
    1. Re:Truism by NotDrWho · · Score: 3, Insightful

      10% of people want to write documentation without getting paid to

      FTFY. Everyone on an OSS project wants the front-line job of coding (and are even willing to do it for free). No one wants to be the guy doing the hard, less cool but no less essential, job of writing the docs.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    2. Re:Truism by Marginal+Coward · · Score: 1

      This is a good observation. Perhaps something like Wikipedia, which has been a big success of written "documentation", draws from a very large user base, so the small percentage of people who write still results in a lot of text. It also has a very low barrier to contributing (or at least used to...) For example, I've contributed a large number of small edits to Wikipedia over the years but have never actually written an article, except one I started about some short-lived, long-forgotten David Pogue TV show (good riddance.)

      I think the wiki format is modestly successful even in smaller venues, such as an internal corporate wiki, due to this low barrier to entry. Of course, many wikis also are available as de facto documentation for open source projects, and those seem to be more successful in general than the traditional manual-written-by-the-author. We're also seeing free ebooks springing up as manuals (e.g. ), which often are written by folks who are unconnected with the applicable software project.

    3. Re:Truism by Anonymous Coward · · Score: 1

      Because anybody smart enough to know how to document properly is smart enough to get tired of documenting the never-ending flow of fuck ups in what they're documenting.

    4. Re:Truism by Anonymous Coward · · Score: 0

      Which would be why you gatekeep and refuse patches without the docs. That gets you docs, but usually not good docs.

    5. Re:Truism by Anonymous Coward · · Score: 0

      Speaking as a professional tech writer, this is true. A few compounding factors:

      First, unless I happen to be already acquainted with the developers on a project, how the heck do I know what the high-level view of this project is supposed to be? - i.e. what your application is meant to do? To learn that, I'd have to read precisely the sort of documentation that doesn't exist. And if you've ever tried to elicit that sort of information from developers on an OS project, you'll know how quickly an exchange of emails - no matter how civil, precise and detailed - can descend into a circle-jerk that basically amounts to "look, if you cant read the f*****g code yourself, we don't care what you think".

      Second, unless the project has some kind of explicitly nominated leader/coordinator/project manager - who needs to be willing and able to make time to talk to me regularly - the problem of "getting a high-level view of the project" is as nothing compared to the problem of "maintaining that high-level view.

      Third, when bugs are found in OS code- by and large, they're fixed, because without doing that the code won't run (properly). But when bugs are found in the manual? Nobody really cares. The code still works - it's just that much harder for someone else, i.e. someone other than the person who discovered the bug, because by definition they already know the correct information - to use. So the feedback loop is not closed.

    6. Re:Truism by Anonymous Coward · · Score: 0

      People willing to write documentation are usually not appreciated.

      Usually the very people most willing to write documentation know the least about the software. They have to engage in a kind of constant interview with the developers, who generally feel like it's a waste of time.

      Another hurdle one tends to bump into is that open source communities are often very insular and distrustful of strangers. I've been in little country villages that were more welcoming.

    7. Re:Truism by Anonymous Coward · · Score: 0

      Easy fix: Your code isn't accepted unless the patch also updates the documentation related to it. That'll take care of all the features and settings. Someone would still need the large picture view, but everything else would be there.

  14. Bullet Physics by Anonymous Coward · · Score: 2

    The first hint that it's shit is that the Documentation link goes to a wiki. It gets progressively darker after that.

    1. Re:Bullet Physics by Anonymous Coward · · Score: 0

      If your documentation link points to an empty wiki or a list of bugfixes, then your project is SHIT, ABSOLUTE FUCKING SHIT. I don't give a fuck if you're god's gift to programming and your code is so clean that Jesus himself would be proud to take a dump in it. If you didn't do proper documentation, then you didn't finish the project--PERIOD. End of fucking story. You = failure. Now go home and apologize to your mother for being such a piece-of-shit excuse for a human being.

    2. Re: Bullet Physics by Anonymous Coward · · Score: 0

      Theo, is that you?

  15. How about the worst? by Anonymous Coward · · Score: 0

    I'd like to nominate the FFmpeg libav* collection of libraries for the category Worst Documentation.

    98% of the ffmpeg documentation is for the command line tool, the remaining 2% is an auto-generated Doxygen with barely any information.

    It's so bad that you'll save time by looking at the source code of ffmpeg, the command line tool, instead of trying to look at the library's documentation.

    1. Re:How about the worst? by Anonymous Coward · · Score: 1

      Agreed that the ffmpeg documentation sucks to high heaven. However, my nomination goes to OpenSSL. The existing documentation is scattered all over the place, incomplete, contradictory and misleading. Just like the OpenSSL code and API, it would seem that whoever is behind it made an effort to render it as useless as possible.

    2. Re:How about the worst? by Anonymous Coward · · Score: 0

      There's bad, and then there's OpenSSL.

    3. Re:How about the worst? by ArcadeMan · · Score: 2

      For everything else, there's MasterCard.

  16. Prioritize example usage by Anonymous Coward · · Score: 2, Insightful

    An important area to concentrate on is providing example usage. The more, the better.

  17. Shorewall by Anonymous Coward · · Score: 0

    If you want good documentation, don't look any farther than Shorewall.

  18. Re:Fuck you by amalcolm · · Score: 1

    Don't forget to take your meds

    --
    Time for bed, said Zebedee - boing
  19. Tried hard w/ the Shapeoko 2 documentation by WillAdams · · Score: 1

    Available here:

    http://docs.shapeoko.com/

    Some awkward aspects are imposed by the source being Markdown on Github, so lowest common denominator for special characters such as what should be em-dashes.

    Interesting footnote to the project is that the note explaining how to use the interactive diagrams was deleted by a person who thought it was unnecessary --- less than half of the people who responded to a poll figured out the interactivity and almost all those who did find it were surprised by it.

    Part of the reason it's hard to write good documentation is that it's hard to get people to make use of it --- similarly we've tried to get everything about this CNC router onto the wiki, but there are still an awful lot of forum posts which I answer w/:

    ``That's on the wiki:

    --
    Sphinx of black quartz, judge my vow.
  20. Language, Density, and Whitespace by EmagGeek · · Score: 3, Funny

    What I've learned from decades of reading professionally-written manuals can be summed up in two steps:

    The first step in writing a good manual is to have a very weak grasp of the language used by your target audience. It is important to use many grammatical and spelling errors, just to make sure the reader stays on their toes and pays attention. Research has also shown that users do not like to read manuals that use advanced vocabulary or complex grammatical structures.

    The second step is to manage the density of information on the pages properly. A piece of paper is pretty large, and so are most screens, so a lot of information can be included on a single pane of view. It is important to make the most of this space and convey as much information as possible, as densely as possible. The more information a user can see without having to turn pages, the better. Use of separating devices, indications, and other correlative marks should be avoided, as it takes away from space that can be used for more information. They also can cause there to be more whitespace on a page, which should be avoided at all costs.

    1. Re:Language, Density, and Whitespace by koan · · Score: 1

      Also use the smallest possible font.

      --
      "If any question why we died, Tell them because our fathers lied."
    2. Re:Language, Density, and Whitespace by oldmac31310 · · Score: 1

      Preferably comic sans. 5 pt.

      --
      http://www.acetonestudio.com
    3. Re:Language, Density, and Whitespace by Anonymous Coward · · Score: 0

      I'm a technical writer, and I can tell you we do this on purpose.

      Reason 1: We avoid complex sentences to reduce ambiguity.

      Reason 2: Localization. The manuals I write are originally written in English and they're being translated into multiple other languages, most of which have completely different structure - Russian, Japanese, Chinese, some Indic languages, Portugese, German, Korean... since some of these languages are fundamentally different from English, we have to keep the original language as simple as possible because advanced grammatical structures simply don't translate well.

      Reason 3: Even the English version is being used by people who don't have very good grasp of English, but there's no translation they would understand better. It's kinda like Simple English on Wikipedia.

    4. Re:Language, Density, and Whitespace by EmagGeek · · Score: 1

      Oversimplified language creates more ambiguity, not less. It may *seem* less ambiguous to people who don't understand the subject matter. But, to people who do, failing to be both precise and descriptive in your language creates more questions than are answered by your text, or worse, sends an inaccurate message.

  21. This is why O'reilly books suck by Anonymous Coward · · Score: 0

    first off any good technology shouldnt need a manual

    Secondly if you must have a manual get to the point and stop the mental masturbation.

    1. Re:This is why O'reilly books suck by NotDrWho · · Score: 1

      The only technology that never needs a manual is the technology that no one ever uses.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    2. Re:This is why O'reilly books suck by Anonymous Coward · · Score: 0

      I forget who said it, but it's literally true that the only instinctive human interface is the nipple.

      Everything else is learned.

    3. Re:This is why O'reilly books suck by goose-incarnated · · Score: 1

      I forget who said it, but it's literally true that the only instinctive human interface is the nipple.

      Everything else is learned.

      When you have a kid you realise that this is not universally true. Some newborns have to be coached into using the nipple. Hell, they even have to be taught to sleep :-(

      --
      I'm a minority race. Save your vitriol for white people.
  22. LDP! by Anonymous Coward · · Score: 0

    This Linux Documentation Project was, for many years, stellar.

    Quite detailed, and very well written, and was enough for a willing-to-learn newbie to download, read, and be able to administer their own unix-like Linux box. I think that was an unsung hero of Linux coming to be the dominant non-commercial *nix.

    My perception recently has been that fragmentation of distros has left the LDP further behind. I bet starting from that and Slackware would still be a great way to learn Linux.

  23. Recursive by linear+a · · Score: 1

    Bad FMs tend not to get read leading to more confusion and RTFM comments. WTFM!

  24. Programming in Lua by Roberto Ierusalimschy by Anonymous Coward · · Score: 1

    Best example? Programming in Lua by Roberto Ierusalimschy. Great for Lua, and great for an intro to programming.

    I do think the author is a bit mistaken though.Open source documentation sucks, in general, because writing documentation doesn't scratch the usual developer's itches. They want to code, not write.

    1. Re:Programming in Lua by Roberto Ierusalimschy by St.Creed · · Score: 1

      I think you're right, but I'm still mad that literate programming never took off. Ilike writing down my thoughts, and then slowly expanding that into a program. Ah well, information analysis and modelling allow me to do that too. But if we had programming tools that could do that, it would lead to much better documentation and likely much better code as well.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  25. Hmm by koan · · Score: 1

    The online help for Ubuntu was pretty good, got right to the point.
    I haven't used Ubuntu in a long time (Unity) so it may have changed, but at the time was the best, and the easiest to use.

    --
    "If any question why we died, Tell them because our fathers lied."
  26. You get what you pay for by Anonymous Coward · · Score: 0

    So why is anyone surprised that no one seems to want to do a bunch of hard work that they don't really enjoy without getting paid to do it? Open Source can be fun to code so some people choose to work on it for free. Most coders do not get the same "thrill" from staying up late at night writing really good documentation.

    1. Re:You get what you pay for by rbowen · · Score: 1

      Good documentation is typically not written by "most coders". It's written by writers. Some of us do indeed get a thrill from writing good documentation. I've been doing this for 20 years because it's fun, not because I'm paid for it, in much the same way that you have been coding, because it's fun. Different people find different things fun. The trick is to make it easier for these kinds of people to get access to the communities which are typically coder-dominated. (As you might guess, there's more about this in the article.)

      --
      Apache guy, Open Source enthusiast, runner
  27. Re:Fuck you by Anonymous Coward · · Score: 0

    Patience and empathy: "Take time out of your life to answer this question you've answered before and is easily found with a simple search."
    Not patience and empathy, being a horrible person: "The answer is here [link]"
    Get with the times, AC.

    More seriously, there's a big difference between 'how do i do colision' and 'I read the tutorial on 2d physics but I can't quite understand it, here's my setup and what I'm not getting:'. One is helpful for both (those familiar enough to change the docs may discover information is missing or not well presented), and the other is disrespectful and lazy.

  28. Technical book by Anonymous Coward · · Score: 0

    The best instructional book on a subject I have read was Cold Reading by Ian Rowland.
    Nothing to do with anything "Tech" Technical; but just well laid out information that was really well structured and methodical.

    I wish "Tech" Technical books were made that well. They tend to write unbelievably simplistic "hello world" books and then just jump to PHD impenetrable level written in "academic". Use the Dummies guide style and make make it PHD level info. i ain't book smarts.

  29. Story time, my method. by pecosdave · · Score: 5, Interesting

    So years ago I was in varying positions at an ISP, but regardless of title "head tech" pretty much applied. We kept getting kids right out of high school that claimed to know computers well but had never used a command line, didn't know what an IRQ was etc.. As this was the Windows 95/98 era and this was a dial-up ISP some manuals had to be written.

    I of course wrote them.

    I made flow charts for email troubleshooting (I hated Visio so I used a graphical editor instead), I had grids for IRQ/Address settings, I had step by steps for undoing AOL I.P. stack sabotage (how many of you remember that?) Fact was I wrote really good documentation that anyone from teenager to adult could use to troubleshoot the "normal" day to day issues a worker at an ISP faces without making a condescending script. If you used it for reference it was an answer key, if you read every word you often would know why that problem occurred. I'm of the belief understanding an issue is always better than just knowing what the fix is.

    Long story short - the documents leaked out of the company. On the north side of town there was a help-desk outsourcing company that tended to have a lot of employee migration with our own - in both directions. A buddy of mine went to work at a different ISP and saw my documents turn up there with my name replaced on the credit line (he knew I wrote them - he watched and knew the marks I put in things that were dead giveaways it was my stuff).

    I no longer worked at the old company and was still finding out about my documents leaking all over the damned place. I decided to put the documentation GPL on the things and throw them out on my webserver. If figured if I put them out on the web myself then there was a verifiable copy out in the wild, it would shine a light on the plagiarizers, and I was hoping to maybe get offered jobs or something. Later I was criticized with "that really should have been Creative Commons". Fuck you, I did this before Creative Commons even existed.

    My web server and the backups were physically stolen from my home, but there's still an archive. To this day I still write in the "explain it, don't step it" method.

    Turns out lots of places want idiot guides and don't care to understand.

    --
    The preceding post was not a Slashvertisement.
    1. Re:Story time, my method. by Anonymous Coward · · Score: 0

      I had step by steps for undoing AOL I.P. stack sabotage

      I haven't thought about that in years. Takes me back.

    2. Re:Story time, my method. by Solandri · · Score: 1

      I made flow charts for email troubleshooting (I hated Visio so I used a graphical editor instead), I had grids for IRQ/Address settings, I had step by steps for undoing AOL I.P. stack sabotage (how many of you remember that?) Fact was I wrote really good documentation that anyone from teenager to adult could use to troubleshoot the "normal" day to day issues a worker at an ISP faces without making a condescending script. If you used it for reference it was an answer key, if you read every word you often would know why that problem occurred. I'm of the belief understanding an issue is always better than just knowing what the fix is.

      That's my personal belief too. The problem however is that anyone capable of reading such a document and understanding it well enough to use it to troubleshoot can get a much better job than tech support hotline drone. Consequently the companies have to choose between hiring one competent techie at $30/hr to man the phone, or four no-skill minimum wage drones to take calls for the same cost. Inevitably they gravitate towards the latter, not just because it's cheaper per head, but because the vast majority of competent techies I know would go insane handling tech support calls 8 hrs/day. Churn rate would be high, and there are a lot more no-skill minimum wage drones out there looking for jobs than competent techs willing to do phone tech support.

      So the companies hire drones for their tech support, and the documentation has to be reduced to a level which can be used by them with minimal (or no) training. That means scripts, checklists, and numbered procedures. Stuff someone with no skills could follow to fix most problems without even understanding what the problem is. Basically, your approach to documentation is what hobbles FOSS documentation - a belief that the user should understand how the software works before he has any right to be using it. That's a programmer's thinking. Most of the world doesn't work that way - you don't have to know how a car's engine, transmission, steering, and brakes work in order to drive the car. Is it helpful? Yes. But it's not necessary. So while I personally agree with your approach (I like to understand how stuff that I use works), I don't think it's the right approach for mass-consumer documentation.

      At this point I think the better solution is to revise how we think of documentation. A lot of it is written as if were to be printed on dead trees - a one dimensional script which describes the software or system in a linear fashion. That was a physical limitation imposed on us back in the days when we wrote stuff down on paper. Online documentation allows us to transcend that - hyperlinks, searches, troubleshooting wizards, predictive AI which suggests alternative search terms or related terms that might match what you're looking for, etc.

      I've seen a few help documents written really well this way (the default Windows help format is really good at incorporating this functionality, though most help documents don't take advantage of it). But most are just a modern version of the one dimensional books of the pre-industrial age, with maybe a few hyperlinks thrown in. I was trying to fix a problem with symbolic links in FreeNAS earlier today, and the documentation is really well-written as FOSS goes. But it's just a glorified one-dimensional book. I couldn't even search it for "symbolic" because it's not in the index and the documentation is broken up into multiple web pages. The documentation shouldn't be just a straight data dump of everything the software does (worse yet, a one-dimensional data dump). It should be structured and designed to assist the reader in finding the answers he's looking for. Books took the first step in this direction when they added an index and table of contents. With the capabilities of a computer at our disposal, we should be able to write much more functionally useful documentation. If we cared enough to do so.

    3. Re:Story time, my method. by pecosdave · · Score: 1

      One of my favorite things about the job I referenced is most of the people we hired were in their late teens or early 20's and were eager to learn and prove themselves. To this day it's still the age group I like to work with the most. Of course I expected a lot of churn, I would have been disappointed at my trainees if they didn't ditch that place after some training.

      I love interactive documentation - I find myself hovering my cursor on a regular basis on stuff I'm unsure of and I'm always disappointed when it doesn't work.

      --
      The preceding post was not a Slashvertisement.
    4. Re:Story time, my method. by Anonymous Coward · · Score: 0

      Most of the world doesn't work that way - you don't have to know how a car's engine, transmission, steering, and brakes work in order to drive the car. Is it helpful? Yes. But it's not necessary

      As a former tech writer myself, I respectfully disagree. Assume an automatic transmission:

      Your docs:
      "Going up a hill."
      1) Push skinny pedal down
      2) If hill grade over 3% then put in "2"
      3) If hill grade over 6% then put in "1"

      My docs:
      "Going up a hill."
      1) Push the skinny pedal down. When you're climbing a hill, your engine has to do the work of moving the car forward and lifting the mass of the car.
      2) On steep hills (at about a 3% grade - three meters of height for every hundred meters forward you travel) an extra load is placed on the engine and transmission. You may notice the car slowing down even if you have the skinny pedal pushed to the metal floorboard ("floored.") Although you're getting maximum power from the engine, none of it is getting to the drive wheels due to the transmission's gearing. To improve performance, shift the transmission from "D" to "2" which forces the transmission to be in second gear; see *link-to-how-gears-work* appendix for the really technical details.
      3) On very steep hills (6% grade) you may even have to shift down to gear "1". The engine will make a big roaring sound; this is normal, and you should notice the car beginning to pick up speed again. If you still can't climb the hill, pull over and put on your emergency flashers, and call for help.
      4) At the top of the hill, don't forget to put the car back in "D" again.

      The weakness of most documentation is that it barely covers the happy path when everything is going well. Good documentation should explain common error conditions (remaining in drive up a steep hill and lugging the engine) and not just how to avoid them (downshift), but why to avoid them (you get improved performance and reduce the risk of engine/transmission damage.)

      Someone could read your checklist a dozen times and get up the hill but has no idea when/why/how it works. They have a 95% chance of getting up their first hill. And their second hill. And their third hill. But eventually they'll drop it into first on a flat grade and blow the engine. Or forget to shift into first if shifting into second doesn't work.

      Someone who reads my documentation has a 90% chance of getting up the hill the first time because TL;DR, but they have a 99% chance of getting up their second hill because if the fuck up the first time, at least now they know what did/didn't work, and a 100% chance of getting up every hill they encounter for the rest of their lives.

      From a marketer's standpoint, I have very little confidence in checklist documentation. It tells me your tech writers have as little clue about what happens when something goes wrong as your developers do. In the second form of the documentation, I'm aware that while the tech writer may not be Michael Schumacher, but at least he might have driven a goddamn car -- and my confidence that the rest of the product's functionality is comprehended by the tech writer is increased.

  30. Empathy is not free by Anonymous Coward · · Score: 0

    Voluntary software development is driven primarily by desire for self-actualization and recognition. People are willing to invest patience if this will allow them to demonstrate their superior skills and/or to get recognition for being skilled in the community.

    But empathy - recognizing and providing for the needs of others and suppresing your own desire to prove yourself - does not come free. People need rewards and compensation in order to sustain it and therefore to combine "patience and emphaty". Programmers in jobs are paid in order to stop their inherent urge to create something "cool" and subordinate themselves to specs dictated by someone else and to yoke themselves together into a team assembled by someone else (code itself is made for free).

    This is why OSS has a stigma of being "hard to use". Except if monetary or other rewards are provied, the programmers will empathise with themselves only and write software that is incidentally useful only for other programmers (Ubuntu and RHEL distributions, Firefox, LIbre/OpenOffice.org and many of other software projects are examples where significant part of the work was provided by paid contributions in order to get them to state useful for general computer-using population). Many other features which require combinations of "patience and emphaty" are weak in OSS, for example UX and graphical design, consistently removed bugs in code that requires manual testing (complex UIs), long term ABI and API stability, ...

    And this is also the explanation for low priority of creating high-quality user-centric documentation in OSS projects.

    (it's not me who figured this this out - it has been written by many people but I'm to lazy to google for the links now)

  31. The best by Snotnose · · Score: 1

    is the Gnu Make manual. Better than the O'Reilly book.

  32. How not by Crass+Spektakel · · Score: 3, Interesting

    I am already happy when the author has read http://www.xkcd.com/1343/ and some early manpages of sudoers (imho the worst, by far).

    Todays "sudoers" manpage has already been cleaned up a lot and is still a horrible read. But in the past it was something like "the relevant configuration is a hierarchical list of geometrical weighted values. Each one represents a position in a list relative to its anchor". And yes, that was just a weird way of saying "/etc/sudoers contains configuration keywords with options".

    Overall I had the impression the author was a sociopath showing off his mathematical skills while keeping the core knowledge unavailable to others.

    --
    "Life is short and in most cases it ends with death." Sir Sinclair
  33. Poorly Written by oldmac31310 · · Score: 1

    F*** Summary is too poorly written to bother reading the F*** A******.

    --
    http://www.acetonestudio.com
  34. Re:Fuck you by Anonymous Coward · · Score: 0

    Just fuck you that's all, because your a fucking idiot anyone who doesn't coddle you and hold your hand is a bad person?

    just fuck you again.

    I knew any open source thread would eventually attract Richard Stallman.

  35. Spaceballs 2 by Anonymous Coward · · Score: 0

    Everyone knows the REAL money is in merchandising (and SUPPORT)

  36. One of the Worst by Anonymous Coward · · Score: 1

    JMol is one of the worst. They have left pages and pages of completely obsolete versions lying all over the internet, and actually getting what you want from a search engine is near impossible. Once you do find the current JMol wiki, it is often incomplete, poorly written, and doesn't details common tasks that users want to accomplish.

    Git's documentation is also bad. The problem with Git, is that it treats users as if they want to use Git as a programming language. Good git documentation would be organized around tasks a user wants to accomplish, so things like:

    1. You just accidentally staged a file you don't want, here is what to do to back it out.
    2. You forgot what you committed last time and stupidly, your commit message wasn't that revealing, here's how to list all the files that were changed.
      etc.

    Instead Git's documentation just gives you the arcane low level details of git, like

    git fetch [] blahbalksdjgblkahblkash

    Not even a little helpful, if you don't know what it is you are trying to do.

    I think this is a common problem for programmers, is they are working in the details and can't see the bigger picture. No user cares about the details, they only want to know how to do what it is they need to do. And many of us don't have a week to spend learning the arcane niceties of some complicated (and feature complete system).

    With git, I find that with one search on stack exchange I can generally find what I need, but searching the git documentation is essentially useless.

  37. documentation by Anonymous Coward · · Score: 0

    lack of cross-references. descriptions of exactly what, how and where. Module names, dependencies,
    indexes, function lists, operational diagrams.

    And the worst - writing documentation that assumes you know what the developer/programmer already knows... a common failing in most technical
    people.... and for any newby ( to linux from windows, to apple from windows, etc... ) a failure of the documentation is a sentence to hard labor
    for the amount of time to learn what the basics are, where they are, how it all works...
    Learning a gestalt is what this is... not a planned learnig or complete description.

    I could drop 25 books on you about mathematics and say " here's what you need to become a mathematician, just dig around..."
    Or I could point you to newby books, online courses, and give a plan....

    Something wlse I miss - pdf documentation so I can look at it when not online. I prefer to do it that way since being online is a hassle....

    1. Re:documentation by Anonymous Coward · · Score: 0

      And the worst - writing documentation that assumes you know what the developer/programmer already knows... a common failing in most technical people

      No, it is a common failing in most people. It's difficult to not assume another person knows less or more than they do.

  38. Documentation Requirements by hhawk · · Score: 2

    Based on the work I did in 1985 at Bell Labs as part of my assignment to create documentation requirements for the Acorn Network Control System -- Good documentation should have at least 4 parts. Each particular user persona would use the 4 parts in different ways. Part of the documentation would appeal to potential customers, novice users, intermediate users, users with limited but deep domain expertise, users who previously had fluency with the product but who lost that fluency due to lack of use.

    #1 The first in additional to typical table of contents found in each manual there should be a documentation MAP, that combines all of the various documentation and training for a specific product into a visual map; typically this is done with a task orientation. Much like a web page site map, this will allow a potential readers with a wide range of user cases to find the right document or the correct chapter, section, and should include online training, videos, Etc.

    #2 A quick reference guide which I think most users would be familiar with. This instruction is typically very linear, and walks at a high level users through the major steps for the most typical cases.

    #3 A "cook book" best for coding applications but has broad application to most technologies. Each section of this manual details how to perform a particular task, in it's entirety; e.g., a recipe. Recipes should cover a range of users types (novice, intermediate, expert, or with specific previous domain expertise). A non-coding example would be: Recipe for setting up a mix minus recording using the Behringer Xenyx 1202fx mixer; the ingredients would include all cables, software, Etc. used in the recipe.

    #4 A complete and full reference guide. Again typically found in manuals but often (today) the ONLY section of the manual. Each sub-section is a full and complete deep dive on each part, instruction, or option. This is typically used by experts. It can be used by those who are using the cookbook to look for recipe options and substitutions. It can also be used by potential customers to see if a particular use case is supported.

    --
    http://www.hawknest.com/
  39. Ditch the Passive Voice by seven+of+five · · Score: 1

    Unless you want your readers' eyes to glaze over, write in active voice.

    1. Re:Ditch the Passive Voice by HornWumpus · · Score: 2

      That should read:

      Passive voice, should not be used.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    2. Re:Ditch the Passive Voice by PPH · · Score: 1

      This is a good point. And it's something that technical writers seem to have developed a love for (the passive voice) for some unfathomable reason.

      Back when I used to write engineering documentation for Boeing, management used to throw a hissy-fit whenever someone would use the active voice. By hiding the subject of a sentence, it was felt that responsibility for some action or decision could be side-stepped. (See how that reads?) "By using the ACME brand fasteners, it is believed that the wings could fall off." Well, who belived it? And why did they keep attaching wings with that kind of junk? I guess we'll never know, so good luck suing anyone.

      --
      Have gnu, will travel.
    3. Re:Ditch the Passive Voice by St.Creed · · Score: 1

      Yeah, I got the same complaint when writing specs and documentation for a validated system in a pharmaceutical company. Apparently, it's a validation thing.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    4. Re:Ditch the Passive Voice by PPH · · Score: 1

      Apparently, it's a validation thing.

      Oddly enough, Simplified Technical English, which was developed for aerospace process and specification writing (and which has been modified for other industries' use) mandates the use of the active voice. Both for procedural and descriptive sentences. It is easily machine parsable/execulable and is designed to reduce ambiguity.

      So when I hear management saying passive writing is needed, I think someone is trying to weasel out of some regulation or responsibility.

      --
      Have gnu, will travel.
    5. Re:Ditch the Passive Voice by St.Creed · · Score: 1

      Interesting! I'll bookmark this, in case I ever have another validated development process.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  40. What about TeX and METAFONT? by Anonymous Coward · · Score: 0

    Title says.

  41. The MX Linux Manual by timkb4cq · · Score: 1

    As good a manual as I've seen for a Linux distro.
    http://www.mepiscommunity.org/...

    1. Re:The MX Linux Manual by Anonymous Coward · · Score: 0

      I was reading this manual last night after doing an install and was thoroughly impressed. Like the distro too!

  42. Matlab and Simulink by Anonymous Coward · · Score: 0

    Excellent reference material, terrible terrible learning tools.

    First page: what it does. Fine, but it doesn't define any of the terminology. http://www.mathworks.com/help/simulink/index.html
    "Getting Started": Contains a product description and links to tutorials. http://www.mathworks.com/help/simulink/getting-started-with-simulink.html
    click on the first tutorial (http://www.mathworks.com/help/simulink/gs/create-a-simple-model.html) and discover that they first introduce the Simulink Library Browser (a window with "blocks" in it) and then the Simulink Library Browser Toolbar (a set of icons in a completely different window that enables you to create "models"), without ever explaining what any of the elements are for, what their inputs and outputs represent, or what you're looking at. It's completely missing the big picture of what the heck you use it FOR.

    See http://ctms.engin.umich.edu/CTMS/index.php?aux=Basics_Simulink for an example of the correct information, properly assembled and put together into something useful for someone just "getting started"...

  43. Old GNU project manuals by Oscaro · · Score: 1

    Old GNU project manuals are VERY good. Bash and libc have incredibly detailed and clear manuals (in the form of info files, also available as pre-formatted PDF books). I think no one now writes documentation like that.

    1. Re:Old GNU project manuals by Anonymous Coward · · Score: 0

      Old GNU project manuals are VERY good. Bash and libc have incredibly detailed and clear manuals (in the form of info files, also available as pre-formatted PDF books). I think no one now writes documentation like that.

      Amen.

      The first time I read the GNU Emacs manual my impressions were:
      (a) the language and short sentences are as if they're instructing 3rd graders
      (b) I'm so damn glad about that
      (c) the key concepts are stated clearly
      (d) as comprehensively as possible in as concise a form as possible.
      (e) I wish I could write like that.

  44. As in most teaching situations ... by CaptainDork · · Score: 2

    ... it's important to remember what it's like to not know.

    --
    It little behooves the best of us to comment on the rest of us.
    1. Re:As in most teaching situations ... by Anonymous Coward · · Score: 0

      This. Someone mod it up.

      I see a lot of documentation (and for that matter, inter-office communication) that contains ambiguities. Of course they aren't ambiguous to the person writing the document (or email), he knows what he means in this context that it's apparently inconceivable anyone could interpret it differently. Well, not everyone is coming from the same context -- especially a newby who is trying to learn something from the documentation.

      (Somewhat related mini-rant -- it's amazing how many invoices don't tell you who to make the fricking check out to or what the URL of the payment website is in large friendly letters. For ghu's sake, if you're trying to get money (or anything else) from someone, make it easy for them to give it to you!)

  45. So i will stop donating my time by Anonymous Coward · · Score: 0

    and you can stop complaining about the free support you're receiving. I'm sure all the projects i work on will quickly find replacements who posses the customer service skills you expect, the ability to debug C code written by generations of people all of whom have different styles. AND do it for free

  46. Manual? We Don't Need No Stinkin Manual by mlw4428 · · Score: 0

    Let's be honest. Manuals are a concept best left in the 90s/early 2000s. With the advent of media sharing, communication platforms, like Youtube, or Skype, it would be far better to show a person what to do. No more looking through complex manuals trying to find "that one page". Textual interfaces are good for some things, but education has always been best at hands-on learning. Sitting someone down and step-by-step showing them how to do something in a video would be far more useful.

    1. Re:Manual? We Don't Need No Stinkin Manual by careysub · · Score: 1

      Videos have their place, I grant. Especially when it comes to manipulating some object (could be a graphical object on a screen), where a verbal description just cannot compete.

      But I hate "video documentation" with an undying passion. They have an extremely so rate of information transfer, typically very low information density (see how little text is in a 5 minute video script), cannot be scanned at all, require you to have an audible audio hook-up, cannot be copied for notes,... I'm just getting started here, but you get the picture. I can literally take in information 10 times faster in printed form, and locate relevant content even faster than that.

      If video documentation is available as optional back-up, great! But if that is the only documentation, I will not use whatever-the-heck-it-is, I'll find something else.

      --
      Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
    2. Re:Manual? We Don't Need No Stinkin Manual by Anonymous Coward · · Score: 0

      so how does that help me use your 50,000 line framework with automatically generated
      docs which are just a long list of method signatures

      my boss read your blog and thought it sounded great

      i got on your hangout, but its been 3 days and no one has come

    3. Re:Manual? We Don't Need No Stinkin Manual by St.Creed · · Score: 1

      I hate videos. Most are badly done, and take ages to get to the point or to the information I need. Sometimes they're good, but that's a rare exception and certainly not the rule. At least with bad documentation, I don't waste as much time.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    4. Re:Manual? We Don't Need No Stinkin Manual by mybeat · · Score: 1

      I call BS. I needed to do some stuff on ripe and instead of a text manual, they've given me a freakin 10 minutes video, great thanks for that.

  47. Overview, Example, References by Moof123 · · Score: 1

    The best documentation I have dealt with start with an overview of the process you are going to go through, shows a non-trivial example, and only then going into the jargon filled nitty gritty references and details.

    Way too much documentation only covers the detailed references with no clear context or useful examples. Folks in the know are prefectly happy, but folks at the bottom of the learning curve end up very frustrated.

  48. Examples! by Anonymous Coward · · Score: 0

    Lots and lots of (simple) examples.

    It's like the old adage in fiction writing: show, don't tell. (Although in manuals it helps to tell too.)

    Some things are so blindingly obvious in hindsight that those familiar with the product apparently can't imagine why you'd need to show an example when the abstract explanation of the API or UI is so straightforward. Well, it may not be so straightforward to somebody who has never used the product, and your abstract explanation may be full of ambiguities you don't realize are there because, obviously, there's only one correct interpretation.

    I write this having just spent the better part of a day trying to figure out the particulars of a REST call when all that was in the doc was an example of the CLI command and the name of the REST endpoint (carelessly omitting the rest of the fricking path and what keys were expected in the JSON for POST data). A one-line curl example would have saved me hours. Of course now it's obvious.

  49. Best of its size? http://easybuild.readthedocs.org by Anonymous Coward · · Score: 0

    Well, simple: documentation does not fall from the sky.

    It has to be written; when people commit to the objective, things actually do happen right (and if you have no time, it is always possible to delegate).

  50. AutoIT and NeHe OpenGL tutorials by Anonymous Coward · · Score: 0

    AutoIT has the best manual. NeHe OpenGL tutorials are the best tutorials. Outside of those two, most everything is suck.

  51. Man pages are the worst. by substance2003 · · Score: 1

    I always think of the man pages on the Linux command prompt when thinking of the worst documents out there.
    I really think whoever writes into these has no idea how to make them human readable.

    I couldn't be bothered most of the time and ended up googling for what I needed to do instead.

  52. Open source documentation challenges by quietwalker · · Score: 1

    Open source code faces a special obstacle when it comes to quality documentation. By the very nature of the ecosystem, open source projects derive from the needs of those who are directly contributing to it; the experts, in fact, and thus any artifacts the project produces will be based on their requirements, not those of casual users. It's not only required, but expected that in most cases, a user will be knee deep in the lower level details and have a high level of proficiency and knowledge of not only the system, but contingent details.

    In fact, I can remember a time when creating a user-friendly webpage for open source projects - one with bubbly callouts, animated page features, and tutorial videos - was seen as some sort of sell out - proof of corporate sponsorship or the like. We know that providing more than just a link to the source code and a paragraph or two is a significant effort, much less organizing all the information in an immediately useful way is a huge time and effort sink. That's time and effort that could have gone into bug fixes or feature enhancements. For the intended users, it's sort of a waste.

    Yeah, chicken and the egg situation here, good docs = more users, more users = more need for good docs, but that's only the case if 'large number of users' is a higher priority than bug fixes or feature enhancements (and it very well may be!).

    So it'd be nice to have better documentation, and not just hope that stack overflow will be there with a solution, but like the example citing non-english speakers - is that part of the scope of the documentation? Is that the primary target? Is it worth our actual time? And if so;
        - How do we motivate people to write good documentation?
        - How do we attract quality technical writers?
        - How do we know when we've written good documentation/what are the criteria?
        - How do we know how to limit our documentation? How much is enough, and how much is too little?
        - How can we place an explicit value on that documentation, vs. other concerns like bugs and feature development?

    The article pointed out some good arguments for better documentation, but barely touched on the bigger problem - how do we get people to actually write it, and how do we write it once we've decided to.

  53. Symbolic Links by KlomDark · · Score: 1

    I remember when first getting into Linux, I had a HORRIBLE time figuring out what 'ln' (link) did, cause all the docs skipped around defining it.

    I wrote up some real world docs way back then and they turned into one of the most popular posts of all time on my site:

    Symbolic Links: Defined

  54. PostgreSQL by sribe · · Score: 1

    Hands down excellent. High-level overviews, more detailed usage guides, fully-detailed references, and internals. Well-written, well-organized. And guess what else? A TABLE OF CONTENTS at the root, so as soon as you find your way to the docs, you can see what's there and how they're organized. Too many OSS projects lack that. (Oh sure, there's tables of contents, lots of them, for individual areas of documentation which are spread all over the place--not the same thing.)

  55. A Lot of Software Defies Easy Explanation by careysub · · Score: 2

    And not because it has to be that way. The software is just poorly designed.

    In an ideal world, user documentation would be written before the software so that an understandable, consistent, UI would exist. This sometimes happens, but even then, the implementation may not match the documentation (yes, I have seen this more than once).

    Design principles like: simple things (and common tasks, even if not exactly simple) should be simple to do; the same technique should work in all contexts; etc. are often ignored in OS projects.

    I have come to despair in trying to find a nice open source (Linux) object-drawing program that is intuitive (and thus easy to learn), has consistent behavior, and allows the quick creation of clean basic diagrams, and maybe has an additional level of finer controls for more precise work. The original Macintosh had this back in the 1980s with MacDraw, and the even more awesome MacDraw II. Complete novices could take the program and discover how to make good looking "boxologies" in minutes just by playing with the tools. Maybe such programs are still available on the Mac platform (I haven't had one in years), but no OS object drawing or 2D CAD program on Linux seems able to grasp what one of the first such pieces of software on the market was able to accomplish.

    (Another really annoying thing to find in user documentation is self-praise about the product and accompanying documentation: making promises about how great the product is, and how wonderful the documentation you are looking at is, that are rarely kept.)

    --
    Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
    1. Re:A Lot of Software Defies Easy Explanation by tomhath · · Score: 1

      This sometimes happens, but even then, the implementation may not match the documentation

      I disagree that it sometimes happens. Writing the manual before you write the code pretty much guarantees the manual will have little correlation with the code for all but the smallest applications.

    2. Re:A Lot of Software Defies Easy Explanation by careysub · · Score: 1

      I actually agree with this. The documentation does need to evolve with the implementation, and if you don't, it is as you say. But having a clear concept about how it is to be used, and working out a coherent description of using it is a very strong design tool to make a usable, understandable system.

      --
      Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
    3. Re:A Lot of Software Defies Easy Explanation by Ash-Fox · · Score: 1

      This is a very waterfall approach that doesn't really work with more modern development methods.

      --
      Change is certain; progress is not obligatory.
    4. Re:A Lot of Software Defies Easy Explanation by careysub · · Score: 1

      I am a big proponent of agile methods (see the agile thread today), but here I disagree. A UI is part of the system architecture, and architecture fundamentals do need to be defined early in development (but then refined and evolved as development proceeds). Agile is definitely not "making stuff up as you go along".

      --
      Starships were meant to fly, Hands up and touch the sky - Nicky Minaj
    5. Re:A Lot of Software Defies Easy Explanation by Anonymous Coward · · Score: 0

      This is a very waterfall approach that doesn't really work with more modern development methods.

      Fuck you, Agilisita.

      Sorry, that's a little too personal. But just as you've got a million bugs to fix (with zero user impact), I've got a million typos to fix, ambiguities to resolve, and confused users who got confused because I didn't explain something right in the last sprint.

      What that means for a technical writer is that if you UXtards are still fucking with six UX designs in 12 colors, I'd much rather let the screenshots get out of date for a couple of weeks while you fuck around with the UX, than to spend every fucking day taking 100 screenshots that will be obsolete by tomorrow's standup.

      You give me a shippable product, I give you docs. I've got better things to do with my time - better, as in, "they help the user more", not just "less work for me" - than to keep up with 12 sets of screenshots, each of which represents one A/B/C/D...L iterations of what color the fucking company logo should be.

    6. Re:A Lot of Software Defies Easy Explanation by Ash-Fox · · Score: 1

      Fuck you, Agilisita.

      You do realize there are development methodologies this is incompatible prior and post creation of Agile, right?

      What that means for a technical writer is that if you UXtards are still fucking with six UX designs in 12 colors, I'd much rather let the screenshots get out of date for a couple of weeks while you fuck around with the UX, than to spend every fucking day taking 100 screenshots that will be obsolete by tomorrow's standup.

      I only ever had one project doing that (constant UI redesigns) and that was while the product was still going through significant R&D work before it would ever reach real world users. Nobody was expecting user documentation to be produced for that stage.

      You give me a shippable product, I give you docs.

      Funny you should complain about Agile then, considering the ethos behind it is to deliver something frequently. Personally, as someone whom has done documentation, I found Agile easier to work with, small changes to documentation for each cycle, rather than blatant complete rewriting of documentation that has to be rushed for each release due to significant changes which often don't quite match the documentation that was written against original requirements since the original requirements were insufficient / badly architected / didn't take certain things into account.

      --
      Change is certain; progress is not obligatory.
    7. Re:A Lot of Software Defies Easy Explanation by Ash-Fox · · Score: 1

      A UI is part of the system architecture, and architecture fundamentals do need to be defined early in development

      I am inclined to agree and disagree. I have been on one Agile project that had significant UI redesigns (a mostly mock application). This was done as part of R&D to understand what was an optimal UI as the client had difficulty knowing what they really wanted. From this, requirements were fully fleshed out with the client. Documentation tended to be written post fleshing out of documentations at the end of a development cycle (where it would go into two detatched iterative processes for manual testing and documentation writing).

      Agile is definitely not "making stuff up as you go along".

      But Agile methodology can certainly be used to figuring things out and rapidly delivering mock applications that can then be developed into more solid fleshed out requirements.

      --
      Change is certain; progress is not obligatory.
    8. Re:A Lot of Software Defies Easy Explanation by david_thornley · · Score: 1

      On the other hand, Brooks (The Mythical Man-Month) credited the clean 360 architecture to the simultaneous development of various widely different models, meaning that if one model ran into technical difficulties and would normally change the opcodes to get around them, it would screw up all the other models, so the team would have no choice but to implement the given opcodes. It is possible to program to a specification (like the documentation), and it is possible to make massive changes to the internals without changing the UI.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  56. IF... by Anonymous Coward · · Score: 0

    If we had an Index File, we could look up the Index File in the Index File!

  57. GNU COBOL Manual by Anonymous Coward · · Score: 0

    Gary Cutler's GNU COBOL Manual is superb.

  58. Ask the users. by Kwyj1b0 · · Score: 3, Insightful

    The problem with a lot of documentation is that they aren't written from a user's perspective - they are written by people who wrote the software, and know what to do. Letting go of your design assumptions is almost impossible.

    I have long felt that the first draft of documentation must not be written by the person who wrote it; you have to allow your users to "send" you the first draft (either through email questions/screenshots/etc.). Then you realize how many assumptions you made that are non-obvious to your users.

    Obviously, this isn't really practical for OSS - you might not be able to pay for usability testing and feedback. Which is why I prefer to include screen shots in documentation as much as possible. Also, I try to follow this basic formula for documentation: What (what is the user trying to do - make it clear what this section of the documentation address), How (how can the user achiever her goals), Why (this is where you might, if you choose, try to explain a design/implementation philosophy - it comes third, so that someone who doesn't care doesn't skip the entire section. Clarity and brevity are important.).

    This is the principle I follow for user stories as well - create an end-to-end user workflow (which is basically just many small What/How/Why sections tied together).

  59. Egoless Documentation by whitroth · · Score: 1

    Which I had published in the now-defunct SysAdmin magazine in '06. http : //24.5-cent.us/egoless_docu.html

                      mark

  60. A larger view by DavidHumus · · Score: 1

    For a comprehensive look at what can be done with a very unusual language, the J essays are hard to beat: http://www.jsoftware.com/jwiki... . They provide context around why you might want to do something one way rather than another and are much more literary and wide-ranging than typical documentation.

    The details of the vocabulary - linked to from the "Vocabulary" page (http://www.jsoftware.com/jwiki/Vocabulary) are also pretty good because they combine general definitions with explicit usage examples.

  61. RTFM or why 80% accurate doc is no doc at all by Anonymous Coward · · Score: 0

    So here's the gist : I am all in favor of rtfm.

      However there is a rather big misconception of the relationship between the quality of your documentation, and your legitimacy when you saying to someone : "rtfm!", especially in the open source community.

      If your documentation is less than 80% accurate / up to date, I'm moving to say you have no ground to stand on.

      You cannot ask someone to spend time reading and learning stuff about your product/project, when 20% of what is going to learn is outdated crap that is at best useless, and at worst very harmful.

      And that's true even if the question he is asking is very well covered in the doc. Because if you doc is to outdated, people will know and they won't be encouraged to read it.

      I think there is a lesson to learn looking at what makes successful (open-source) projects successful. If you look at Golang or Docker or React.js, their documentation and learning material are awesome. Because of this people are confident that they can invest time learning by themselves, from the documentation, and that it will be worthwhile.

  62. Obligatory XKCD reference... by Anonymous Coward · · Score: 0

    There's an XKCD comic for everything.

  63. and the programmers should not write it by oneiros27 · · Score: 1

    You can be a programmer and write documentation, but if you want good documentation, the person writing it shouldn't be the same person who wrote the code.

    The problem is that you're already too far in -- you understand the design issues, the quirks, etc. You need someone with a fresh view to write the documentation who doesn't come in with a lot of implicit knowledge of the inner workings of the software.

    My boss has a policy that it's the newest or youngest person on the project's job to write the documentation, for that very reason. (the others still review it, but they write the first draft).

    --
    Build it, and they will come^Hplain.
  64. The Macro Picture by sgt_doom · · Score: 1

    First, whatever became of of the FM which used to come with the software? Billy Gates and Co. halted it, so their Micro$oft Publishing Co. could reap profits from forced purchases by the noobies.

    The very best documentation I've ever read --- and I suspect was written by engineers --- was the Perkins-Elmer OS 8/32 Processor Manual --- once this was read through and through (took me about 50 times) one completely grasped and understood the operating system at the hardware level/software level --- truly a beauteous proposition!

    The next wonderful documentation was provided by Mark Minasi, on the private or commercial side, but I don't believe he is writing it anymore, but his books were top notch!

    People to be avoided were technically ignorant types like Scott Mueller, who was simply a copyist, and would copy long lists of hardware parts (a great list compiler) but simply and obviously didn't understand hardware or computer sci.

    But my experience --- and many others --- was that once outstanding inhouse documentation is written, the efftard bosses usually believe they can do without you!

    1. Re:The Macro Picture by Interfacer · · Score: 1

      What on earth are you talking about?
      Everything a programmer could want to know regarding Microsoft tools and APIs is documented on MSDN and technet.

  65. Author's responsibility by merkle.kurt · · Score: 1

    In other words, if you are going to contribute to open source software, then WTFM.

  66. Understanding. Achievement. Reference by Peter+(Professor)+Fo · · Score: 1
    • Understanding what it's all about, including checking the reader is the target audience.
    • Achievement getting started on concepts or running a tweakable demo. Lots of little steps that each have a 'reward'. (A box-out try-yourself example is a good format in a discussion.)
    • Reference needs to be compact to search like a cheat-sheet but lead to the proper details like a proper reference tome. For example I knocked-up this http://vulpeculox.net/misc/jsj... for javascript.
    • Also
      • Include documentation in your production process.
      • Be consistent.
      • Be a human writer when you think the user will empathise. Anything to break up the boredom.
  67. My 2 cents by tehlinux · · Score: 1

    Best: gentoo handbook (at least from like 10 years ago)

    Worst: too much bad documentation out there to pick just one

    --
    Most linux users don't know this, but the man pages were named after Chuck Norris. Chuck Norris fsck'ing hates noobs!
  68. programmer technical writer by dryo · · Score: 1

    As a professional tech writer, I can say without reservation that programmers should not be permitted to write documentation.

  69. Perl man pages by Anonymous Coward · · Score: 2, Informative

    One of my favorite sets of open source documentation are the perl man pages. They are written in an informal yet instructional style, and are *loaded* with useful, practical examples of how to use the language. Heck, I refer to "man perlretut" even when I'm not using perl, but I need a general reference for regular expressions. Sooooo useful!

    1. Re:Perl man pages by NightLamp · · Score: 1

      I was also going to mention the perldoc, Larry Wall (et al.) wrote some really entertaining stuff, a real pleasure to read. http://perldoc.perl.org/perl.h...

  70. use common sense by Anonymous Coward · · Score: 0

    Here is a new idea let just use common sense. like write the manual based on the fact that the reader has never used your application or product before. And don't leave anything out document all the feature and options.

    Just saying!

  71. Re:programmer technical writer by Cro+Magnon · · Score: 1

    It's possible for a programmer to write good documentation, but only if:

    1. They're writing it for other programmers, preferably ones already familiar with the product.
    2. They're able to think like a non-programmer.

    #2 is very rare, IME.

    --
    Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
  72. My technique by LoyalOpposition · · Score: 1

    What's the best example you know of for open-source documentation?

    It's not open-source documentation, but the same general principles ought to apply. Years ago I bought an Epson dot matrix printer. The first chapter was called "Quick Start." Quick Start told you how to get up and running with the minimum of fuss. For example, it said, "connect all the cables" instead of saying, "connect plug a (pictured) of cable monster (pictured) to jack b (pictured) of printer 345DEF (pictured), along with all the warnings about what damages and injuries might be caused by improper connections of cables. The manual's author assumed the buyer was fairly knowledgeable and simply wanted to print his first file as quickly as possible. So, with a task at hand, and a knowledgeable user, the chapter because a quick, two page, guide that served as either an introduction or a reminder of how things work.

    Chapter 2 did the same as chapter 1, but this time with all of the details. People used it to set their printer up using chapter 1, then, if they had trouble, would go to the corresponding portion of chapter 2.

    Chapter 3 introduced seldom-used features by describing a task that required that feature and then describing all of the steps necessary to use that feature. It was only with chapter 4 or subsequent chapters that every detail of every possibility was described.

    In short, the manual was task-oriented, tasks being the things the user wanted to accomplish, rather then being function-oriented, functions being the things that various parts of the printer were capable of. Engineers and programmers tend to be function-oriented because they design the various functions. Users tend to be task-oriented because things are tools used to get other things done.

    I wrote a manual based on the organization of the Epson manual years later. I heard one story of an operator holding up my manual, and telling the speakers, "that's the way to write a manual." It's one of my proudest accomplishments.

    ~Loyal

    --
    I aim to misbehave.
  73. Maybe it's part of new trend to not have manuals by k6mfw · · Score: 1

    Maybe related to this topic, there was an article about how more and more companies are not providing useful customer support because they figure users will present, discuss, and solve problems in forums. Which I have found not many forums are useful except only reading about others have same problems as I do. i.e. video-to-usb adapters which seem excruitatingly difficult to use (easy to connect but always a crapshoot if video signal is recognized). Another gripe I have on forums are several group categories and if you don't post your question in the proper forum and with narrowly defined topic (each has specific topics of hard defined terms, none with specific topic of your question), the ban hammer will come down quick and you will be banned for life. But then many products are cheap Chinese made so get one off buy-it-now on ebay and if it doesn't work, send it to the trash to contribute to landfill ewaste problems.

    --
    mfwright@batnet.com
  74. codeskulptor.org (online Python environment) by scott.junner · · Score: 1

    As I was learning to program in python I used codeskulptor during a course I was doing. The docs supplied for python and a few of their own packages were a god send after wrangling with pythong docs. What I like about it is the clear example code provided. It's not long winded. It's straight to the point. Very clear concise. But there's little room for wondering from the example code they provide. I'm better with Python official docs now, but when I was starting it was so damn hard.

  75. I Like This Article by Anonymous Coward · · Score: 0

    It is absolutely spot-on correct.

    As someone who has written a fairly extensive FOSS project, along with all the docs, I constantly encounter people asking me questions that are explained in the docs.

    That means that I failed; not them.

    I'm learning -slowly.

  76. Useless.. by Codeyman · · Score: 1

    Most programmers are not writers and will never write truly great documentation, but something they or someone at their level of familiarity can get. Most OSS is written by programmers who actually have a day job doing non OSS work. In closed source world (unless your product ofcourse is an api), documentation is often sacrificed in the name of "time to market". Those habits carry over to the open source projects too.

    Unless there are more volunteers who want to write documentation for OSS, good documentation will not be written.

  77. It's not that bad by MagickalMyst · · Score: 1

    I enjoy reading most of the documentation associated with OSS. Not only is it informative, but there is usually a little technical humour thrown in as well.

    The worst documentation, imho, are usually the instructions that come with products that have "some assembly required". Sometimes there are no English instructions; or very, very poor chinese-to-english translations or pictures that don't make sense or are inaccurate or erroneous in some way.

    On the bright side, it's extra practice for problem solving skills.

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
  78. Information Mapping by zapadnik · · Score: 1

    As a technical writer the best and fastest system I have seen for writing manuals is called "Information Mapping". It is a system for structuring technical content so that a user can quickly navigate to the thing they need without having to read the whole manual first. It is designed to cope with the limits of human working memory, and get tasks completely quickly and accurately.

    http://en.wikipedia.org/wiki/I...
    Here is the commercial site (I didn't go here, but had some training from other local Information Mappers): http://www.informationmapping....

    If you are a software developer you can learn the concepts in about half-a-day, and your manuals will be awesome as a result.

  79. How to write a FM? by Anonymous Coward · · Score: 0

    Just RTFM

  80. Trestle by hendrikboom · · Score: 1

    Trestle is the UI system that comes with Modula 3. Its programmers' manual is *excellent*. And, furthermore, it was machine-generated from the source code, which made it easy to keep the manual up-to-date as the code evolved.

    And, yes, it still manages to be excellent.

    There was a lot of thought put into it. There was a lot of thought put into writing the comments in the code so that they would yield comprehensible documentation, including a gradual (though quite technical) introduction to the subject matter.

    Generating documentation from source code doesn't have to produce garbage, though it will if the programmer pays insufficient attention to the issue. And paying attention to the generated documentation during coding pays off in clean interface design, because a clean design makes documentation easier.

    -- hendrik

  81. If you cannot explain something with simple words. by Anonymous Coward · · Score: 0

    Someone said that : If you cannot explain something with simple words,then you might have not yet understood it correctly...

    This reminds me of one ot the things that I admire of Hollywood movies.
    They might be addressing very complex human problems. But they show it in such a simple way. Perhaps with an image, that everybody can understand it.

    Movies are what humanity was missing after discovering books and their way of inheriting knowledge.
    Because, when we, for example, read about an insurrection in a history book. We might just highlight the most interesting parts, and be sure that we know about the subject.
    But for those people that lived it, it could have meant much more: years of slavery, the joy of meeting others that shared the same idea, and the moment when everybody envisioned a change and did something about it.
    That all is what we actually ignore when reading a book.
      Perhaps, because writing about that does not matter in our days.
      Or perhaps, simply, because emotions are not easy to transmit when you write a book.
    But the audiovisual experience that Hollywood invented, might help a lot in future learning.

  82. Without a doubt, best Open Source documentation... by Anonymous Coward · · Score: 0

    PostgreSQL - http://www.postgresql.org/. They also have the best/most friendly/most helpful IRC channel I've ever visited.

  83. Manuals - show how to use something! by Anonymous Coward · · Score: 0

    The problem with JavaDoc dumps and similar API documentation is that it has what something does, but not how to do it. What manuals need is the how part - show us with examples what to do in what order to get the results we want.

  84. My manual pet peeve. by Anonymous Coward · · Score: 0

    The pet peeve that I run into most with manuals, esp. motherboard and hardware manuals, is that it was written in one language and then translated into several others. This seems to lead to function descriptions and explanations that make no sense in the translated languages. Or my personal favorite is, 'Feature Name: {Options: On|Off}, This turns toggles feature name on or off,' with no explanation of what feature name is and why/when it should be turned on or off.

    A manual should contain useful explanations and descriptions of a device or program's feature set, and be readable/logical in whatever language you are reading it in. Anything else is a failure.

  85. whytheluckystiff by Firetoad · · Score: 0

    "why's (poignant) guide to Ruby" is still the best manual for a programming language that I have ever read.

  86. Contains some bullshit by allo · · Score: 1

    as the needle in the haystack
    a) Other languages have the same idiom
    b) It's understandable, even if its no idiom of a particular language.

  87. It's An Easy Problem To Solve by Anonymous Coward · · Score: 0

    Hire Dru Lavigne.

  88. Writing is hard work by Art3x · · Score: 1

    After a photograph of two typewritten pages with editor's marks all over them, which he says is a fourth or fifth draft: "Writing is hard work. A clear sentence is no accident. Very few sentences come out right the first time, or even the third time. . . . If you find that writing is hard, it's because it is hard." --- William Zinnser, On Writing Well However, the first fifty pages of that book, along with The Elements of Style have helped me write much better must faster.

  89. Writing is hard work by Art3x · · Score: 1

    After a copy of two typewritten pages with editor's marks all over them, which he says is a fourth or fifth draft:

    "Writing is hard work. A clear sentence is no accident. Very few sentences come out right the first time, or even the third time. . . . If you find that writing is hard, it's because it is hard." --- William Zinnser, On Writing Well

    However, the first fifty pages of that book, along with The Elements of Style, have helped me write much better.

  90. The best open source FM I've seen is by Kevin+Fishburne · · Score: 1

    Blender: http://www.blender.org/manual/

    The worst are pretty much anything requiring me to type "man" in a terminal.

    --
    Buy your next Linux PC at eightvirtues.com
  91. Extensive Documentation is simply an Ugly UX Hack by Anonymous Coward · · Score: 0

    If application expectation is going the way of what has been in the App space for some time, perhaps documentation should not be necessary.
    The presence of extensive documentation simply shows that the use cases are not obvious or clear to execute.
    Documentation presently, is simply filling the UX gaps and counter-intuitive pathways that have been baked in to the application.

  92. Re:Extensive Documentation is simply an Ugly UX Ha by Anonymous Coward · · Score: 0

    The best documentation is the doco that is so obvious to all tested users, that it is not required.

  93. Multiple locks on a gate by Anonymous Coward · · Score: 0

    The linked photo of multiple locks on a gate was funny. But that does happen in the real world: multiple gates on a property, multiple key holders, but not every key holder is supposed to have access to every gate so they put multiple locks on some/all gates to enforce that. And yes, there are locks now with digital keys to address that very issue but, as someone pointed out on /. recently, they're not overly secure as far as locks go.

  94. KISS PENIS by Anonymous Coward · · Score: 0

    Keep
    It
    Simple
    Stupid

    also

    Pictures
    Enumerate/Examples
    Numbered
    Illustrate importance
    Share stories

  95. Almost all software has bad documentation by sad_ · · Score: 1

    Ever used enterprise software? Horrible horrible documentation most of the time, perhaps done on purpose to 'promote' their training courses.
    User software (for the user friendly windows & mac), most of the time you have to figure it out yourself.
    And the list goes on and on... ofcourse there are examples of good documentation in any type of software too. The point i'm trying to make is that the documentation quality problem affects all types of software.

    --
    On a long enough timeline, the survival rate for everyone drops to zero.
  96. Snake chokes on its own tail by drinkypoo · · Score: 1

    The problem with technical writing for OSS is that you have to be able to understand the software before you can write the documentation. Especially when the existing documentation is bad and wrong, the battle is an uphill one. Oftentimes the software doesn't even build when you follow the official build process, and the one or two developers who have a working toolchain don't actually know how they got there and can't tell you. They can only tell you which packages are in their toolchain now.

    Authors need to take a certain amount of responsibility for the documentation for their software, and at least give enough information for someone to get into it and do things, if they want someone to come along and write documentation for free.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  97. Style - Toward Clarity and Grace by obscuro · · Score: 1

    Get a copy of this book: Style: Lessons in Clarity and Grace by Joseph M. Williams (Author), Joseph Bizup (Author). Read it and obey it.

    It teaches the reader how to write and rewrite based on what cognitive science has discovered about reading comprehension and motivation.

    Some of the important basics are - avoiding the passive voice (with WHY you should do so and a very compelling discussion about AGENCY); chaining ideas from one sentence to the next and one paragraph to the next so cause and effect tracks with attention; how to group information so the reader remembers it; how to reinforce an idea.... Every page is a revelation.

    From my own experience, I find reasons connected to examples go VERY far. Using examples, even for very complex things, was something to which Richard Feynman credited much of his success. He believed that if you couldn't come up with an example that illustrated the problem then you didn't understand the problem.

    Also, PLEASE lead with the one or two things you know someone needs. Handle the 80% who are there to set something up and leave. A good anti-pattern for this is the man page for ifconfig. As man pages go it's very good but it requires digging to construct the line in the shell one might need. People go to the man page for ifconfig to connect to a wired or wireless network and have the most challenges with wireless. The top of that page (and many other man pages) should read something like this: If you are connecting to a wired network, get THIS + EXAMPLE information by doing THIS + EXAMPLE and then use it to do THIS + EXAMPLE. If you are connecting to a wireless network, get THIS + EXAMPLE information by doing THIS + EXAMPLE and then use it to do THIS + EXAMPLE. After each THIS + EXAMPLE have a statement like, "you'll probably see something like THIS" with an explanation of how to use it. Then it should have a basic, advance and troubleshooting section followed at the end by a related concepts section that you can use to find other man pages that might be helpful.

    --
    Every rule has more than one consequence.
  98. OpenLDAP by solszew · · Score: 1

    Argh OpenLDAP. The docs are not quite there, and the boards are dismissive, if not outright hostile, to users who want a straight answer to simple questions. Anyone who gives you a RTFM regarding a massive tome like the OpenLDAP guide is an ass. I'm talking to you, Howard. (By the way I did RTFM, and found dozens of out-of-date instructions.)

    --

    Steve O.
    I am really, really exhausted.
  99. Types of documentation by rhyous · · Score: 1

    The problem is that people don't understand the types of documentation that they need. More people should read this article: (yes, I wrote it)

    The 8 Types of Technical Documentation and Why Each Is Important
    http://www.rhyous.com/2011/07/...

  100. Worst and best by MoarSauce123 · · Score: 1

    Best doc is for Apache web server...worst docs are for OpenOffice. That said, tech writing is an art form and writing good manuals takes a lot of work and a lot of time spent with developers and designers. In true FOSS fashion most of the developers get really rude and abusive when questions come up from the tech writing folks. I attempted to contribute that way because I am a lousy programmer, but a decent tech writer. The hatred towards the tech writers from the developers was just too much and I quit. Here someone wants to spend their spare time to contribute and all I got was personal attacks and no answers. So no wonder that the FM is really a FM because those who put the FM together are people who either like to be mistreated or are the developers who give a F about documenting anything that doesn't boost their ego. No idea why Apache web server is so well documented, even the config file is extremely well documented so that one barely needs any other documentation.