Creative Documentation
FuriousCurio writes "Linux kernel hackers appear to be an endlessly creative group of individuals. In response to previous documentation attempts not having been read by many people, KernelTrap is reporting about how the lguest documentation was prepared to be something of an adventure story. Self-proclaimed to turn you into an lguest expert, lguest being one of the new solutions for running a virtual instance of the Linux operating system as a user process within a real instance of the Linux operating system, the documentation mixes humor and wit into puzzles, poetry, and of course source code and a low-level understanding of virtualization. But the questions remains, will making documentation more entertaining actually work to get people to read it?"
If you compile the Anarchists' Cookbook you wind up with Windows 3.11 for Networking.
...a point hit home by the success of the "For Dummies/Idiots" series. It's one of the selling points of the books, and the reason why our shop recommends the series for neophytes....
Don't tell me to get a life. I'm a gamer; I have LOTS of lives!
...until I was eaten by a Grue.
Slashdot Burying Stories About Slashdot Media Owned
I think the first question that comes to my mind is why? If the documentation was "so good" in the first place and people didn't read it, what makes them think that making it into an adventure game will make more people read?
It's certainly creative, but creative isn't always good...
Q1. What is lguest?
A. RTFM n00b.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
Basically, how about writing user documentation that captures real world scenarios and details from start to finish how a task, or better yet, an objective can be completed.
either that, or just turn it all into a first person shooter. I'll settle for either one.
I remember the manual and floppy that came with my Apple //c. The floppy was an addition to the manual and included little games to help you learn the system. I remember one where little apples, some hollow, some filled, that were rolling down a conveyor belt. You had to hit the right apple key (open or closed apple) depending on the apple that was rolling down the belt. I believe a bunny gave you the gave you tips (ala Clippy). I don't think I remember the manual being all that serious either. That type of creative instruction led me to actually RTFM and get to know the basics of my computer.
There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
of prose as well as program code. I get mixed results with the creative liberties I takes with comments. It depends on the environment I guess. In the big, formal corporate place I worked, the people generally didn't take too kindly to it. In more informal environments they get a kick out of it. If you're talking about the documentation for a project, I think I'd keep it straight. Who wants to plow through a bunch of shitty writing to understand a program? Technical docs should make it as easy as possible to find what you're looking for as quickly as possible.
i took a bitchslapping for natalie portman
ctrl+f "docutainment" NOT FOUND?
Turn shitty documentation into nerdy poems and puzzles. It's already a puzzle and full of stupid 'wit'. The last thing I'm going to want is documention be adapted to Monty Python or tired Douglas Adams' jokes.
Hell no. Just make sure I can search it when I get stuck.
Even the author of TFA thinks this doc is crap (you need "grep" to get off the first page?):
Non geeks still don't care.
Should be clear, complete and timely.
Every time I've tried to solve a linux problem I've run into docs that miss one, two or all three of those things
Documentation has to be very clear, very unambiguous, and very specific. When you're already up against a problem you don't want to be guessing at what the docs are trying to tell you.
Looking at TFA, my suggestion to not waste everyone's time with cutesy games - hire a real professional to write and edit your docs and get them right the first time.
Three Squirrels
One of my earliest computing experiences was at JPL who had massively hacked their Univac environment. The documentation was, of course, rewritten in house. I can still remember a variety of Univac commands, not beaccause they were so obvious, but because the documentation was so good.
@pack rat ; @ prep school
But they kept it within reason. Turning the documentation into the equivallent of a game, with ppuzzless is just asking for even fewer people to pay attention
Documentation, even good documentation can be difficult enough to understand without 'puzzles'. Readers want answers to questions and solutions to their problems and quickly goddamnit.
Microsoft desperately needs this guys -- or somebody -- to rewrite the Visual Studio .NET/2003/2005 into something usable. Considering how easy the VS 5/6 help files were to use, I've never understood how they were able to take such a giant leap back into almost complete un-usability. One is ready to believe conspiracy theories regarding that MS has a secret state in all the VS manual publishers who try to explain what Microsoft itself doesn't!
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
> man lguest
A hollow voice says "Fool".
Happy Ending: You have successfully started your lguest and now are running linux on linux! Huzzah!
Sad Ending: You couldn't figure out the Manual, and are now hopelessly confused and not sure exactly what you've done to your machine.
Actual text may vary from above material, since I just made this shit up... Jonah HEX
Horror & SciFi Erotic Nudes
forcing someone that wants documentation to see the sourcecode is great! especially since wanting to read this kind of documentation usually means your a capable programmer.
here at slashdot we can't even rtfa, let alone rtfm.
Sometimes, life itself is sarcasm...
...go watch a movie. When a technical document tries to entertain, it's just distracting.
People don't resist reading technical manuals because they're boring. They resist because most of them are crap, full of confusing explanations and information that's disorganized, out of date, or just plain wrong. Easier to figure stuff out for yourself.
I can say these things, because I write those damn manuals for a living. I like to think my own work is pretty good, but I'm disgusted by most of what I see. And that's the stuff written by "professionals". The amateur stuff that passes for documentation in the OSS world is even worse.
Noone ever read it. So this time I'm trying something different, using a bit of Knuthiness.
While Knuth is a genius and all, I don't think Knuthiness is Chinese for readable. He might want to look to a different model if his goal is to get people to read his documentation.
If I could understand the bleeping man page, I wouldn't need to read the bleeping man page!
I've seen pages so bad that I bet the author himself couldn't use them a year after writing them.
I'd just settle for decent documentation most of the time. Heck, I've seen documentation so bad that it was easier to read the source code to find out what I needed to know.
In the world of daily releases, I suppose everybody is desperate to get folks attention. It's a cute way to do it - but not much more.
The point of doing things for other people is that they shouldn't need to read the manual. Apple's got it right. It just works. In the case where it doesn't - you've already screwed up. In that situation I want an easily-consultable index with simple pages numbers along with a step by step with screenshots account of how to get it working.
I recently installed apache on my windows machine. 20 seconds to download, 1 minute to install, a couple of simple questions and it was running. THAT is the way things should work.
As a documentation writer, I've learned from experience that 95% of any typical audience won't read the docs, no matter how many pictures you include, or how entertaining you try to make it. People, in general, just don't like to read, period. They'd rather call support or fumble around and try to figure it out on their own.
The other 5%, though, read the docs so thoroughly that they'll find the tiniest mistakes or oversights. This basically means that the docs have to be perfect, even though only a fraction of the audience will bother to use them.
Having thorough documentation still occasionally helps the other 95% though -- it gives the Tech Support guy something to point to ("see page 108 of the User Guide") when dealing with idiot questions from people who should know better.
Longer answer:
I write tech docs in my day job, and frankly, "interesting" isn't going to solve the "problem" of users not reading the docs.
Part of my M.S. program was a research project about software document usage and the vast majority of users don't "read" documentation in the same sense that you read a narrative: start at the beginning and read through to the end, with spine-tingling chills, mystery, and adventure galore in the intervening chapters.
Software documentation is mainly used in two situations: first, at install time to install and configure and second, when a problem arises and the user needs to find an answer. Neither of these is really helped by adding puzzles or poetry. If you want to read/write that kind of stuff, take a night class in English Lit.
The things that get users to "read" a document are unrelated to the content and the factors that make documents useful are a logical structure, a good TOC, and complete index.
Interested in a Flash-based MAME front end? Visit mame.danzbb.com
There are two purposes to documentation: one is to serve as a reference. That is, when someone who is generally familiar with the system needs to know how to do a particular thing (be it design a cursor, add a command line switch, locate a config file, apply an update, or whatever), there needs to be a document that can be used to easily find that particular answer. This is the goal being striven towards (largely successfully) by man pages.
The other purpose, however, is to make someone who is completely ignorant of the system familiar with it. Most software documentation is terrible at this. Telling me how to do something isn't helpful if I don't know why I'd want to - or, worse, don't even know that such a thing can be done.
Since I haven't used a bad car analogy in a while: having a document that explains how to install a cold-air intake on my car is useless if I've never heard of a cold-air intake.
What the lguest docs are trying to do is solve the latter problem. They're trying to take a system that someone doesn't know anything about (aside from just enough to be interested in it at all) and get that someone up to speed in a general way.
"How" is a good question to answer, but so are "why" and "what." Gimmicky documentation isn't necessary or desirable for the first, but may very well be both for the second and third.
Reality has a conservative bias: it conserves mass, energy, momentum...
How to make a more inviting Linux platform for endlessly creative application programmers?
So far, the endless appeals to fix what you don't like in the OS are causing almost all curious application developers (both budding and experienced) to get up and walk away. I believe this is a larger factor than the MS monopoly/network effect, and that the success of Apple supports my view.
Future Headline: Journalists try and mix humor, wit and puzzles in their writing in order to encourage /.ers to actually RTFA.
Summary Result: A bunch of disappointed journalists.
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
Wiki's make the best manuals
..
when properly implemented
clear, concise, to the point, easy to search
and when new problems arise they're easy to add
With this you'd have to add a whole new realm or player class just to tackle the issue and stay with the theme
----------
Trying to fix or change something only guarantees and perpetuates it's existence
This is painfully stupid in more ways than I could count. Stupid idea. Bad writing. Not even remotely entertaining or funny, even if you do know all of the uber-dork references.
I don't respond to AC's.
Sometimes, the best ideas seem like bad ideas at the time. It is important that the creative people with these ideas continue with them, even if they are ridiculed. Otherwise, we would have missed out on some of the best inventions.
That being said, intentionally making documentation more difficult is just stupid.
Write your own Choose Your Own Adventure. http://www.freegameengines.org/gamebook-engine/
It was creative when James Joyce did it. Maybe. But throwing in all sorts of different styles, puns, mysteries and so on is a trivial act. It's not the equal to writing documentation so good it becomes definitive. It's more like being "creative" by being random, which ends up being cute but not really effective.
If someone handed this documentation to me, I'd send them back to redo it. Not because I'm an enemy of creativity, if one even considered this mess creative, but because I'm thinking of the end user. I want them to be able to find information quickly and get out.
Making reading the documentation "an art" won't do that for them and it will slow them down and force them to spend more time on the documentation, which no one (even documentation authors) likes to do.
technical writing / development
I found myself looking over it to what it was talking about even in the first paragraph
Hey Linus, do us all a favor: mandate that nobody can put an entry/option into the kernel configure system unless they write a help file entry for it, so that we can tell what the hell it does.
It's incredibly annoying that a number of kernel config parameters have absolutely zero documentation aside from (if you're lucky) a semi-descriptive name...
Please help metamoderate.
There's something to be said for the humor/wit approach I think.
My college physics instructor used the same approach in writing his weekly homework assignments. Essentially, the year's homework detailed the exploits of "Green Sarge" (A real-life version of those plastic soldiers you find at the dollar store) vs the "Beige Chumps" and, later, his arch nemesis -- the Fez-wearing, scimitar-wielding Evil Physics Monkey. Even if the students didn't start the homework immediately, they would always read it to see what Sarge's next exploits would be, and the problem would be in the back of their mind ready to consume any spare brain-cycles. The humorous problems also lead to a lot of impromptu discussion about the problem as well, just talking in the hall or over a lunch table. I think it went a great way towards getting the students to embrace their homework.
[from (vague) memory]
Q) At what velocity must the Evil Physics Monkey fire himself head-on into the Green Army supply train in order to stop it? The Train has a mass of 80,000kg and is traveling at 50km/h. The Evil Physics Monkey has a mass of 100kg. The EPM's scimitar has a mass of 15kg, recalculate the problem assuming that the EPM has carried his scimitar into battle with the Green Army supply train. Assume structural and soft-tissue damages are not a factor.
Go play with Clippy then.
Patents Drive Free Software as Hurricanes Drive Construction Industry
> lguest --help
You are in a maze of twisty passages that all look the same.
> n
You are in a maze of twisty passages that all look the same.
ARRRGGHHH!
My blog
So, you guys think that by making documentation that's already difficult to read even more difficult to read, that you'll get more people to read it? Can I have some of whatever you're smoking?
This guy's the limit!
Will making documentation more entertaining actually work to get people to read it?
s -tank-manuals-unexpectedly.html
The Germans thought so:
http://www.darkroastedblend.com/2007/02/wwii-nazi
"All great things are simple & expressed in a single word: freedom, justice, honor, duty, mercy, hope." --Churchill
Maybe they should start by creating a wikipedia page describing what lguest is. I've become so used to finding a wikipedia page for almost everything - each one starting with a description answering to the question "What is it?" - that I'm totally lost if there's no such page.
There's one for xen and kvm, why not for lguest?
it depends. By all means make it an interesting narrative. But don't expect the user to read the entire manual. Most people will use the manual as a reference, looking up only the section they need. The manual needs to be usable in this case as well.
Puzzles I'd avoid. I had a few textbooks that introduced new concepts using puzzles. Math textbooks were particularly bad in this regard. Left me stumped on more than one occasion, which is bloody annoying.
the king of off-beat technical documentation is Why's Poignant Guide to ruby.
For documentation in general, I wish it could be targeted more to the likely reader. :)
Just put a list of the skills required to understand the following documentation at the start, and concentrate on the issue.
Short and brutal
If you expect your audience to be non-native speakers, you've got to be very careful with your language. Word play, slang, cultural terms (incl. sports metaphors, for example) are hard to translate and many non-native speakers won't understand what you're saying. This is an issue both when you're supplying just an English manual, and when you get a translator to create a localised version of the manual.
For fun? yes. For work? not really a choice there!
The last documentation I read needed a Z machine interpreter.
Took me hours just to get through the maze.
Yes, but does it run Linux?
A lot of posters are complaining that the author has been to clever, that it won't help convince people to read the documentation, that people shouldn't have to search for it. These posters need to look more closely at the situation.
Let's take a look for this super hidden documentation. Here's the opening, cleverly hidden as a comment as the very first thing in the file named lguest.c. That seems a pretty freaking obvious place to put an introduction to the system. For all the article's spin, all the author has done is place his documentation in comments with the code; perhaps the most obvious place for it. The "make Preparation!" and friends simply extract and collect the documentation scattered around the code into a single place, sort of like Doxygen, JavaDoc, or any of a pile of other documentation systems.
That the documentation contains some mild humor is irrelevant. Does it convince people to read it when they wouldn't have otherwise? Probably not. But it can lighten the mood for both author and reader, inspiring people to read on a little more. It can help relax the reader and make them more receptive to the ideas presented. I'd be suspicious of any non-trivial code base completely free of humor; suggests someone operating on the mistaken belief that programming must be Serious Work, the sort of person who ignores basic human behavior and thinks people can behave like robots.
Search 2010 Gen Con events
...It seems to be a sort of script which can output various comments and sourcecode lines in a certain order. I think the technical part is nicely done: in this way, you can get a neat walkthrough of how the code works with the up-to-date, real code interspersed with the documentation. For example: if the routine can use a certain macro, the script can be written to explain the macro directly from the header file in which is defined. That's nice, I always hated to look them up myself. (So, for the people who didn't get this before, it is not a real text adventure, it's just that some passages are written realy adventure-ey.)
Apart from the technical details, the documentation itself is nicely done, too: while the stuff that's discussed is kinda hard to digest, the nuggets of humour that can be found made me want to find the rest too. I agree that these aren't really necessary if you, for example, are paid to create a patch to the lguest-system, but it can be useful for people who just want to mess with the code: easier-to-read documentation will make less of these people give up and more, hopefully interesting, patches will be developed.
If any, it was a nice way to learn about a basic virtualisation-implementation. I for one am a bit more knowledgable after reading it.
Anyone else remember The Fortran Coloring Book by Dr. Roger Kaufman back in the '70s?
That was some entertaining documentation. Or rather, an entertaining tutorial.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
If you're a technie trying to get the thing running, then no. Obviously we need to know the features, options, caveats, etc., both in a linear/chapter form (e.g. how to install and maintain system), and we need a good search system to find specific things in the documentation.
If you're an end-user who's trying to learn to use the system, then the idea has potential. I know many techies are all about "read the f'ing manual" but seriously, many end-users won't bother even looking up the quick hint sheets, never mind a full manual. They have better things to do, and I don't blame them.
Make it *interesting* though, and you have a lure to hook them into learning. Just like tricking a kid into learning by making it fun, it works with adults too. Don't make it as condescendingly stupid as "it looks like you want to write a memo, can I help?" but when dealing with non-technies, I find that if real thought and effort has been spent making the material appealing to learn, they're more willing to stick with it and actually retain what they learn. Screenshots and call-outs of items being discussed is a good start, and obviously the limit in print material; non-tacky animation and interactivity improves things greatly for online materials.
Perhaps more cynically, make user-oriented electronic documentation more like a TV show or movie--it's the only thing that'll stick in their memory these days.
And you may ask yourself
"How did I get here?"
General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
Why are people complaining about this? It's not like the normal documentation was eaten by a Grue. Like it or not, some people learn better by playing. If this helps people learn at all, it's a good thing. Those of you afraid of the grues can have your documentation and read it anyway.
Disclaimer: IAATW (I am a technical writer) at a mid-sized SW/HW engineering company. The problem is not getting the user to read the docs. The problem is making sure they find the appropriate information once they're in there.
:-)
Most users hit the docs only when they encounter a problem. In that case they might crack a smile at a haiku in their doc set, but ultimately I bet that those nonstandard forms of writing would impede the comprehension of the material. As someone else here pointed out already, you know the docs are counter-intuitive when you have to pause for "a few moments of thought" as far as where to proceed next in the docs.
I hate to be a killjoy, but: Get in, read a couple lines, and get back to your app - that's the goal. Anything else is a distraction (at best) and a waste of time (at worst).
However, the article makes the point that "the humor and wit sampled above is only a tiny fraction of what's included, as the documentation itself is often actually quite technical and certainly useful." (I take this to mean that the humor is present in only a tiny fraction of the overall documentation set.) This design might show that the documentation author himself set appropriate limits on the humor
-ryry
"Will making documentation more entertaining actually work to get people to read it?"
Maybe, maybe not. But it would at least (for somebody like me) make *writing* the documentation a much more enjoyable experience. I'm a solution architect at the moment, I have built something of a reputation around here for adding silly photos and captions to my architectural documentation - mostly taking the piss out of the project team (us and the customer!). I really enjoy making people laugh and it makes a rather dry, boring document rather more palettable.
Perhaps a manual is the wrong format for the information. Chunk it up into bite-size bits by topic and make it accessible from a command line instead of over there on the books shelf and you'll find Linux/Unix users reading the important bits. You'll find the manual/man pages grow in number because it's easier to write a three to four page chunk than an entire manual. So eventually it'll be like a Linux wikipedia in your distro with corrections and everything which are not really practical in an old style manual.
It appears to be working... I mean, when was the last time you read an article that was written about product documentation?
(Would this be considered meta-data?)
-joel
Good security is based upon reality and common sense. Common sense is a function of having common knowledge.
I'm like most of the people posting in a /. thread: I don't even read the flippin' article!
:-)
I am however, rapidly refreshing these same 3-4 browser tabs, hoping to watch the works of Shakespeare to eventually flash briefly past my weary eyes...
"Flyin' in just a sweet place,
Never been known to fail..."
Can a brother get a serif over here?
...documentation is simple and direct, common and consistent format that can also be used to apply at least examples (doing is half of learning process).
Everyone knows how to use a dictionary, an encyclopedia, and can figure out specifics of more common but slightly varying document structures like catalogs, etc...
The more common and consistent such a format is the faster people will pick up on what is communicated in the documentation.
An old style common format is the unix man pages...as an example.
Another part of the problem is one of lingo, terms used, etc.. For example there is Dbus which uses backward urls and file like paths and "methods".... But would the typical everyday thinking person think in terms "I method you to do this" or "I method the computer to send it to you...
Why not just say "I gobalnegat dagondeha yogaznicondi..you too"
The point is, so long as there is "geek-n-speak" to complexifabulicate intent, there are going to be documentation problems of users lacking interest. Typically starting with "What do you mean by.... "computational thinking"?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Documentation isn't meant to be literary, it's meant to be efficient and informative.
That said, someone should totally tag this with youngladysillustratedprimer.
Way back when (1996 or so) when I first purchased BBEdit, the pdf version of the manual that came on the CD included a few goodies. One I remember was a description of the "Payroll" function, which showed the user how to give himself a raise. I read the manual more closely, just to find those little gems.
If the linux kernel had any up to date documentation at all... or even just comments.
This reminds me... For anyone wanting to know how Kerberos works, there is a nice dialog covering this...
http://web.mit.edu/kerberos/www/dialogue.html
No, you don't need grep, you just need to type 'make Preparations'. If you're exploring the source code documentation, I'd assume you knew what a makefile does well enough to guess this easily.
An example from the cc:Mail section: The TFS post office can not be used for addressing. Mail sent directly to the TFS (gatelink) post office
without having been addressed to a routing post office will go to e-mail heaven immediately. It would
not be delivered if you put 40,000 volts through it. This was a big problem. People constantly addressed e-mail to the gatelink PO and they went in the bit-bucket. When I added that snippet to the manual, these problems went way down for new installs. I worked in support as well as doing the docs, so I knew the incidence rates.
Money for nothing, pix for free
Along with good programming and commenting techniques that won't yield insecure code that just cannot be read, and software maintenance, etc...
There are plenty of times that I'm glad to have a book written on the subject, instead of some quick tutorial on Google. I find that when they are well written, they do give you good grasp of software. I have got lots of books for precisely that reason.
While not necessarily applicable to the bunch of Linux kernel hackers, there is a great need to overcome the barriers of todays documentation.
Your typical end-user complains:
And those complains are real. Software applications have inherently their specific jargon and that bleeds through to the documentation. You got to give everything a name, the fields, messages, dialogs, windows, logical objects, etc. And you want to use them consistently, hence the foreign language.
However, when the unsuspecting user comes along she doesn't now this language. So an attempt to query the full text index of this documentation does not lead to much results, because the query is formulated not in this 'foreign' language. Hence the search end sin failure and frustration.
Reading the documentation is hard, because you have to learn th foreign language. Casual browsing of single help topics does not lead to much insight. The tell tail answer of our fellow unsuspecting user "I have to try those five steps before I can say it is what I'm looking for." Try three times before you find something that might be the answer to you question and you see frustration mounting."
Here is my answer, a Plan-B for OpenOffice.org demonstrating a more visual approach based on short videos (screencast) and a smarter search engine.
Sorry had to shamelessly self-promote. I had to throw that out there to see if the wolfs of Slashdot have some good critic for it. Come on agree or disagree, but don't ignore.
Busy helping non technical users of OpenOffice.org - http://plan-b-for-openoffice.org/