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?

165 of 244 comments (clear)

  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+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.
    2. 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.
    3. 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.

    4. 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.

    5. 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.

    6. 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.
    7. 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.

    8. 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.

    9. 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...

    10. 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
    11. 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.
    12. 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.

    13. 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?

    14. 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.

    15. 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
    16. 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.

    17. 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.

    18. 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.

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

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

    20. 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
    21. 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.

    22. 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!
    23. 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. ;)

    24. 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.
    25. 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!!!"
    26. 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.
    27. 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).
    28. 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
    29. 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.
  2. 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 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.
    3. 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.

    4. 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.
    5. 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.
    6. 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.

    7. 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.

    8. 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."
    9. 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
    10. 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.
    11. 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.

    12. 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.
    13. 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.
    14. 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
    15. 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.
    16. 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.
    17. 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.
    18. 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...
    19. 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
    20. 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."
  3. 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!
  4. 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."
  5. 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 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.

  6. 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.
  7. 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
  8. 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....

  9. 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 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.

  10. 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.
  11. 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.

  12. 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.

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

    RTFA!

    --
    SJW's don't eliminate discrimination. They just expropriate it for themselves.
  14. Prioritize example usage by Anonymous Coward · · Score: 2, Insightful

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

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

    Don't forget to take your meds

    --
    Time for bed, said Zebedee - boing
  16. 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.
  17. 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 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.

  18. 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.

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

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

  20. 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)
  21. 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."
  22. 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 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.

    2. 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.
  23. The best by Snotnose · · Score: 1

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

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

    For everything else, there's MasterCard.

  25. 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
  26. Poorly Written by oldmac31310 · · Score: 1

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

    --
    http://www.acetonestudio.com
  27. 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.
  28. 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.

  29. 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/
  30. 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)
  31. The MX Linux Manual by timkb4cq · · Score: 1

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

  32. 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.

  33. 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.
  34. 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
  35. 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.

  36. 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.

  37. 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.

  38. 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

  39. 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.)

  40. 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 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.
    6. 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.
    7. 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
  41. 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).

  42. 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

  43. Re: What is RFTM? by Where+wazzit · · Score: 1

    Read The Fine Manual

  44. 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.

  45. 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...

  46. 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.
  47. 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.

  48. 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
  49. Author's responsibility by merkle.kurt · · Score: 1

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

  50. 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.
  51. 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!
  52. 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
  53. 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.

  54. 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...

  55. 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.
  56. 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.
  57. 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
  58. 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.

  59. 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.

  60. 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.

  61. 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.
  62. 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.

  63. 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

  64. 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.

  65. 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.

  66. 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.

  67. 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.

  68. 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
  69. 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)
  70. 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.
  71. 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.

  72. 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.
  73. 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.

  74. 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.'"
  75. 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.
  76. 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.
  77. 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/...

  78. 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.