The Wiki Document Movement

Ask anyone and they will tell you that I am a Luddite, plain and simple. I prefer pen and paper to electrons and LCDs every time and I am not a fan of technology for technology’s sake. I am also not a fan of poor documentation. We all know the type. The documentation that says Start the widget master… and then it does not tell you that to start the widget master, you actually have to start a different program called backwards engine or something similar. Oracle was famous for that sort of stunt. Then there is the useless documentation, the type where it says If you are still having problems, please contact your Administrator. Our friends from Redmond have heard more than an earful from me on this one too.

Back in the dark ages, I discovered a great program called faq-o-matic. This web-based tool was on the front edge of what would become the Wiki movement. It was a simple, easy to use FAQ tool that was extensible, indexed and simple to use. I deployed it for personal reason – I wanted somewhere to make notes on the various systems I was building at the time, pretty much by myself, and without a lot of supporting documentation beyond the README files that came with the code. And even they were pretty thin. I was making it up as I went and needed a way to remind myself of what I had done, if no one else. The only major drawback was the print capability. At the time, it was pretty limited, but generally we did not print a lot out of it. Most of our printed documentation was in some form of document or PDF file.

Fast forward to the present day. Documentation has made leaps and bounds forward, mostly. Bad documentation still exists, but it is becoming rare. I find it most often when I am trying to read the translation into English from a developer or development team that do not speak natively speak English – I find this a lot with radios made in Japan. The more technical the radio, the harder the documentation is to understand, despite the fact that the instruction are in English… or at least something that looks like English. But what has really taken off is documentation in wiki form. This has its good and its bad sides.

The good side is clear. It is easy to update and edit, keeping it current, especially in fast moving development environments. Errors can be easily corrected by the installation team or from comments submitted by end-users. It is a living document.

The down side, and this is less clear, is that it is almost impossible to print the bloody thing out. Remember that comment about being a Luddite? I prefer reading my documentation on paper. I am getting old and my eye sight is not that good, especially if I have to plow through hundreds of pages. Also, I tend to make notes in the margins: things to watch out for, things to be aware of, things to check, and ideas to purse later on. All of these things are very useful, but all are very difficult to do with on-line documentation. I also find that I use my commuting time for this reading and my commute runs through a large swath of cellular dead-zones where even if I had a broadband card for my laptop, it would do me little good (which is one of the reasons I don’t have a broadband card).

The other problem with on-line documentation I have found is I most often need the documentation when I am in a position where I cannot get it electronically. I am in a server room without access to a browser or subjected to filtered access to the site with the documentation. There is also the real problem of the lack of screen real estate to read the documentation and execute the commands (more common than you might think, especially when you are in an industry that only allocates one monitor per system because why would anyone need more than one monitor?).

It is not that I am opposed to wiki based documentation. I like it, for the most part. But there needs to be a way to extract that documentation into some easily printable form. Printing page after page by clicking print, next, print, next – is not a good use of time. Scaling and frames complicate it even more (and it really frustrates me to print a page only to find out I did not get the document but the frame around the outside!). I know this is possible, and in many cases fairly easy.

So, if you are a document producer, remember that there are a number of people out there that want to use your documentation. And how they use it is as important as what is in it!

Assuming the wiki software in question has an "include" feature (like an #include in C), you could create a PrintableDocumentation topic which included the topics, structured in some appropriate way, e.g.:

---+ Gnomovision User's Guide

---++ Installation

%INCLUDE{ SystemRequirements }
%INCLUDE{ HowToInstall }

---++ Using Gnomovision

%INCLUDE{ StartingForTheFirstTime }
%INCLUDE{ WhatsThatErrorMean }

This way all the useful wiki pages are selectively included into one single printable page. Of course you still lack normal documentation features like an index with references to page numbers.

i can see all the reasons why you prefer a hard copy of the documentation, but i don't think we should look at it in terms of which one is better or worse. i think they have different purposes despite have the same content. i think hard copies are better for situations when you need the documentation to be portable, if you need to write or highlight the content quickly, or if you're somewhere where there is no electricity. online documentation is better in terms of making the content easily accessible, for neatness in editing, and what not.

"lack of screen real estate to read the documentation" - Multiple terminals/consoles. :-) I know an accountant that has two monitors, one for searching several databases and reading tax laws, and one running the accounting software.

I use asciidoc to create and maintain documentation. The basic doc is text with non-intrusive characters that I normally used (*bold*, == Chapter) in a text file. Run it through asciidoc to create docbook or html output. There's a discussion going on at their google support group about O'Reilly using it for books. A user included a link to their product documentation, and it was nice. This is way beyond what I use it for, but it's good to know.

What are your thoughts about Amazon's Kindle? It seems like there is a strong push to replace hard copy. Apress has a new offer on an ebook each day. I tried using our library's Net Library, but it was too painful. :-) They tell me now, that they are pushing OverDrive (audio books). Needless to say, our library doesn't carry a lot of tech books :-)

I have not really looked into any of the electronic book options too deeply. I understand they are quite nice and work well. I think the issue would come back, if we are talking about them as a hard copy replacement, to getting the electronic version of the hard copy onto the unit. I can see it being a nice way to carry around my O'Reilly library for example, but I would still need the books for those volumes that are "out of print" and were not released electronically.

I still come back to the issue of getting documentation into them...for example, I was looking into OpenERP (TinyERP) and they have a very nice document suite, but it is comprised of a single page model (Microsoft is no better, nor is Fedora or Red Hat - although there are PDFs for some Red Had documentation). It was a click/print/click/print model and I just did not have the time. I looked at a couple of topics and said "I will come back to this later." That was a week ago. If you have access to wireless (which I believe is one of the Kindle access methods), than it might be a good fit. Sadly, I work in an environment were wireless is verboten. So I have alternate methods (I won't even begin to tell you about the security features we have for USB devices).

So paper is the one method that I know works and does not require batteries, functioning interfaces, or holding my right leg just so to get a decent signal.

I have been using it for quite some time and found it extremly useful on and off it.Please try it David and give us ur invaluable thoughts of it. I maintain a personal wiki on dokuwiki(all my Linux system administration troubleshooting and managing task in it plus lot more)

Clearly there are some pros and cons and the issues you run into will also depend on whether you are generating your documentation for internal consumption or external (or both).

It is generally easier to make documentation available for internal use, and the various forms of output that are needed. Most of the wikis do that quite well, although we have all run into stumbling blocks. For example I find editing documents in Confluence to be a major pain. This does not detract from its value - this is just my experience with the tool.

But when we are dealing with accessing documents provided by others, it is a whole different set of issues. Quite often the tools that make it easy to edit, annotate or print are not exposed to the world in general, making it harder to get full value from the documentation or the documentation method.

Any time you find the need to "keep notes in the margin", there's a clue that you should be updating the wiki. The whole point of something like a wiki is to collect the wisdom of everyone, and if you need some of those notes, there's a good chance at least someone else will too. If not, then it's just some added information (someone might even correct you on something).

This is one of the main reasons why you should NOT EVER print out online documentation (because you tend to make those notes, and because those notes are valuable you never throw away the old notes, which leads to...). Other reasons include that you may keep that paper version around, and it quickly gets out of date with the online version. I don't think there's a total solution to offline access yet, especially when it comes to offline editing.

Except that many document sites do not allow just ANYONE to make notes in the margin. Further the notes that I am making are relevant to me, not necessarily anyone else (one common one is "Ensure that libraries are correct and current - need version x). Now why would I put that on a wiki when 1) it is already there and 2) is of little added value to the population at large?

David,
Recently I decided to setup a wiki to document my lab environment. I mostly focused on Open Source wikis and searched for my option on www.wikimatrix.com. After trying out three of the top 5, I have come to the conclusion that wiki's have a long way to go. My primary gripe is the interface (thin client GUI) offered to create documents. These clients are very poor and inadequate in my opinion. There is a need for rich thick clients to make our lives easy. I was excited to find out the OpenOffice could create MediaWiki compatible output, so there seems to be movement in the right direction, but there are still a lot of limitations as far as what type of layouts you can do. If the tool hinders my ability to present the content in the most optimal way, then the tool has failed me.

I don't know about others, but we use DokuWiki, which converts to PDF just fine if you have one of those virtual PDF printer programs, which even strip most of the useless webjunk, leaving you with just the nicely formatted content.