Single Sourcing: Building Modular Documentation 130
Scott Abel writes "Kurt Ament has hit the nail on the head! His latest effort, Single Sourcing: Building Modular Documentation is a valuable reference for those of us who seek to save time, effort, and money by implementing a productive method of creating information once and reusing it often." It's not a big book -- just 246 pages. Read on for Abel's brief review.
Ament covers the issues -- step by step -- that many others only discuss. He lays out a simple roadmap, complete with real world examples that have worked -- or not worked -- for his clients.Single Sourcing: Building Modular Documentation | |
author | Kurt Ament |
pages | 246 |
publisher | William Andrew Publishing |
rating | 10 |
reviewer | Scott Abel |
ISBN | 0815514913 |
summary | How to build modular documentation you can re-use in different formats for different audiences and purposes |
In Chapter 1 (About Single Sourcing), he carefully defines "single sourcing" and explains related concepts (reusable content, modular writing, and assembled documents) in ways that are easy to understand and free of techno-jargon. And, he does us all a big favor by addressing the negatives associated with using technology to assemble documents by explaining that it actually takes more creativity to write content that can fit into multiple media, for multiple audiences, than it does to continually rewrite information over and over again each time it is needed.
Chapter 2 (Building Documents) and Chapter 3 (Structuring Content) are of particular value to those seeking to understand the shift in thinking required to master single sourcing. Writers, programmers and managers will all benefit from these chapters. Each chapter is packed full of tips and examples you can begin using today!
Chapter 4 (Configuring Language) explains how to "configure" your writing to support and increase usability while Chapter 5 (Leveraging Technology) touches on issues including conditional text, conventions, localization, translation, variables and more. As are the previous chapters, Chapter 5 is written in clear, concise language and is not a chapter business types should skip. In fact, it's just the opposite. Managers and decision makers need to understand the concepts explained in this chapter because many of the benefits a single source strategy can deliver are made possible by combining good planning with the right technology. And, while this chapter is certainly not about selecting software tools, the author helps his readers understand some of the issues they will need to understand as they begin thinking about their strategy and the types of functionality they'll need to support with the tools they select.
What I like most about "Single Sourcing" is that Ament went straight for the meat of the issues. He doesn't belabor points or confuse the reader by jumping back and forth from subject to subject (as so many poorly written IT-related books do). Instead, he supplies us with a book you can read in an afternoon and use the information contained within the next day at work.
But, be forewarned. You're going to want your sticky notes and your highlighting markers nearby. Chances are you'll be using them a lot!
Other resources:
- Kurt's site: http://www.infotektur.com
- Book site: http://www.infotektur.com/books/singlesourcing/ind ex.html
Scott Abel (abelsp@netdirect.net) is a content management strategist who assists his clients in planning and preparing for content management initiatives. Scott is a frequent presenter at industry and professional service seminars, an instructor at Indiana University Purdue University at Indianapolis Community Learning Network, and vice president of the Society for Technical Communication (STC), Hoosier Chapter. You can purchase Single Sourcing: Building Modular Documentation from bn.com, though new copies are currently out of stock. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Use a wiki (Score:1, Funny)
Re:Use a wiki (Score:2)
Re:Use a wiki (Score:2)
Maybe, if you restrict access.
But I've seen way too many publicly modifiable Wiki pages collapse into a discussion about what Wiki is for/about.
Wikis are lousy for tech docs. (Score:1)
Wikis are a lousy way to maintain technical documentation!
In order for technical documentation to be useful, it must be clear, complete, correct, and up-to-date. Wikis do nothing to insure these qualities. In fact, the best model for insuring them is a central maintainer (a person or a team). A central maintainer can also insure another quality missing from Wikis: consistency!
Use Eiffel (Score:1, Troll)
Re:Use Eiffel (Score:4, Funny)
(Calm down, it's meant in gest.
Re:Use Eiffel (Score:2)
Re:Use Eiffel (Score:2)
Re:Use Eiffel (Score:4, Informative)
Design by contract won't make your code any more self-documenting than design by committee.
If you want self-documenting code, write something ridicoulusly simple. If you are doing something hard, you need explanation beside the code (unless you assume that everyone reading the code will be a domain expert, but in that case I wouldn't call it self-documenting).
Eiffel isn't even designed to be self-documenting. It is designed to facilitate run-time (and in some very few cases: static) checking of program invariants, preconditions and postconditions. This will help for correctness, but not much for documentation. In many cases, the code will be easier to understand without them. (Not that I would recommend it, I do like DbC, but only as means to correctness, not as documentation).
Sure, writing down assertions will in some cases help you in how to use an interface, or help you with other underlying assumptions in the code, making it easier to change something without breaking it. But it will never tell you anything about what the code is supposed to do, why it's supposed to do that, and why this way has been chosen to do it.
Now, go re-read your Eiffel book, and come back evangelizing it when you understand it's purpose!
Creativity? (Score:5, Interesting)
This would seem to be more of a reason to avoid modular doco. Creativity is not, shall we say, plentiful? at the typical workplace. And often, it isn't wanted when it is available.
Documentation professionals are creative (Score:3, Insightful)
From personal experience, I know that it's not that difficult to mark text as "internal use only" so the developers can quickly find the names and values of parameters and "end user only" s
Re:Documentation professionals are creative (Score:2, Interesting)
Re:Documentation professionals are creative (Score:1)
Given the sort of doco that usually crops up in what I laughingly think of as "real life", the prospect of having the most odio
More creativity does not mean more time & effo (Score:1)
Yes, it takes a bunch of creativity and up-front effort to pull it off. But the payoff comes when it's time to put out a new version of a large doc set, or if you have to publish in multiple formats. We have a system we developed in-house (using Framemaker as the foundation) that we can use to pump out printed manuals, PDFs, raw HTML, compiled HTML (.CHM), and Windows Help, all from one set of source files. We could do other
Re:Creativity? (Score:2)
make ambigeous (Score:1, Interesting)
make
make test
make install
Re:make ambigeous (Score:1)
http://dictionary.reference.
</dictionary_police>
*ducks*
Will they read the finer manual? (Score:5, Insightful)
I say take your money and buy a book on user interface design. The problem is not how well written the docucumentation is; it is the fact that we NEED the documentation.
Re:Will they read the finer manual? (Score:2)
Re:Will they read the finer manual? (Score:1)
Re:Will they read the finer manual? (Score:1)
Re:Will they read the finer manual? (Score:1)
Re:Will they read the finer manual? (Score:3, Insightful)
Re:Will they read the finer manual? (Score:3, Insightful)
It's all fine and good to make a great looking and intuitive UI whenever possible, but there's a lot of times when no matter how good a UI you make, the type of program (or device) it is will simply NEVER be intuitive enough to survive without some kind of explaination for what various widgets are for or what various errors/messages/etc mean.
The problem is many people hear "do
Yeah, who needs documentation? (Score:3, Insightful)
Too many engineers look at t
Re:Yeah, who needs documentation? (Score:2)
Re:Yeah, who needs documentation? (Score:2)
Absolutely right. But also beside the point. Even users who ignore documentation refer to it when they can't figure stuff out for themselves. Or at least some of them do. And when a user gets desperate enough to actually RTFM, they really need well-written docs.
A couple more points I just thought of. First, documentation does more than help users use. It also tells potential users what the product can do. When I consider buying software (o
Re:Yeah, who needs documentation? (Score:2)
Re:Yeah, who needs documentation? (Score:2)
Actually.... (Score:2)
You've reminded me of a conversation I had a very long time ago. I was going to a school that had no Computer Science or EE department. Programming was taught in various science departments (mostly M
Re:Will they read the finer manual? (Score:1)
Put more porn in it
A Better Command Line User Interface. Good Idea. (Score:2)
Because if only the hundreds of commands for which I maintain man pages had a decent user interface, those silly documents could finally be abandoned.
Then I could move on to more important tasks, like posting inane comments on Slashdot.
Comments like this one.
Online reading habits different? (Score:2, Insightful)
Very different from books, where the author is more able to exert without much fear of whiplash...
Re:Online reading habits different? (Score:1)
I actually wonder how many people RTFA in slashdot.
You have to wonder?
-r
use XML (Score:5, Interesting)
Re:use XML (Score:1, Insightful)
oh yeah? can you explain how?
Re:use XML (Score:1)
Re:use XML (Score:4, Informative)
There are also various XSL and DSSSL stylesheets to convert the docbook xml into html, xsl-fo, pdf, latex etc.
Best thing with XML is, you can pack all of the documentation in one single place and create various documentations according to each audience (user, professional user, developer, etc) and language. There is no need to write duplicate informations, you only have to add certain attributes to the xml tags.
DocBook, sorta (Score:2)
Re:use XML (Score:2)
Ofcourse, at the end, it is *what* is being said that is more important and *how* -- than *in what format*.
The basic flaw these days among techies is that many don't write well. Changing the format is almost similar to chaging the typeface or the font.
S
Literate Programming (Score:2)
But embedding all your documentation in your source code is a very bad idea. That's the concept behind JavaDoc [sun.com], and I have the bruises to show how badly this works in practice. Writers and programmers tripping over each other. Programmers that don't know how to write markup or even prose. Writers that have to br
Re:use XML (Score:1)
Repurposing text != changing the file format. It means that what I write for a product specification can be reused in a user manual, a help system, or web page WITH NO FURTHER WORK editing or rewriting.
That requires a level of granularity and consistency in tagging th
Re:use XML (Score:1)
Have you ever produced content that was successfully "repurposed" without re-editing, just by using information embedded in the text at the time of creation? In other words, parsable something (SGML. XML, or whatever) that produced complete and coherent presentations with no human intervention after the initial content was produced?
That h
XML, yes, NBD, no (Score:3, Insightful)
Hey stalker! (Score:2)
Cheesy (Score:5, Funny)
Why not just submit a link, Scott? Sheesh.
Re:Cheesy (Score:2)
Re:Cheesy (Score:1)
Maven does some neat stuff with documentation.... (Score:3, Informative)
....using Maven's [apache.org] xdocs, you can generate both HTML and PDF docs from the same XML source file.
We use this on GForge [gforge.org] and it works pretty well....
Tom
246 pages is not big? (Score:4, Interesting)
Here's a clue: Those big books are hugely padded by:
1. Large margins so there can be a little note every few pages.
2. Repeated program listings, also with huge margins.
3. A hundred or more pages of fluffy introductory chapters ("What is a programming language?").
4. Massive redundancy.
Personally I'm waiting for the return of slim, readable books.
Re:246 pages is not big? (Score:3, Insightful)
I'm sick and tired of having concentrate in order to locate "the point" within masses of text. K & Ritchies ANSI C book sets a fine standard for concise technical books. A fine example for Java is "Java Precisely", http://www.dina.dk/~sestoft/javaprecisely/
Re:246 pages is not big? (Score:2)
I absolutely agree. Note, however, that my copy of K&R, 2nd edition, is a slim 272 pages -- longer than the book being discussed! 246 pages is a slim book indeed.
Re:246 pages is not big? (Score:2)
K & Ritchies ANSI C book sets a fine standard for concise technical books.
Beyond setting a fine example, K&R is a positive indictment of thick books:
"C is not a big language, and it is not well served by a big book"
Beautiful, so beautiful. sed "s/C/[many languages]/".
Re:246 pages is not big? (Score:2)
Re:246 pages is not big? (Score:1)
Re:246 pages is not big? (Score:2)
5. Voluminous reprints of public domain and easily accessible information.
Linux Unleashed was the first (and last) "big" tech book I've bought. That book turned out to be a simple reprint of the man pages that led me to look for a book in the first place. I regretted buying that book so much that it really helped me set my priorities for later purchases.
Re:246 pages is not big? (Score:1)
That's what a REAL publishing package is all about (Score:1)
You create a content object and add it to your content library. Then, wherever you need that object, you point at it in the content library.
For the HTTPd minded - it's the same idea as SSI.
Wonderful review, only one question (Score:1)
Re:Wonderful review, only one question (Score:1)
Re:Wonderful review, only one question (Score:3, Informative)
For more information:
http://www.stcsig.org/ss/index.htm
Self evedent statement. (Score:1)
246 pages, only? (Score:3, Funny)
Paper is near passé.
And, new topics like this is often extensively referenced at popular sites like Slashdot [slashdot.org]; do yourself a favor and check it out!
Kudos (Score:3, Insightful)
I remember providing input to a tech writer, then red-lining the first draft to the point that rewriting the entire document seemed necessary. While I would rather write PHP or scripts, there is no one who better understands code than its author.
Today's on line documentation provides a variety of methods for an engineer to provide documentation. Such examples are:
How to's and Mini How To's
FAQ
Web page with screen shots
Forums and Blogs
That being said, I am reminded of a conversation with Clyde, a retired avid sailor, who talked about stories in "SAIL" magazine. "First person stories written by sailors usually suck!" he said. "Give me an article written by a professional writer. They're easier to read."
It's easier to write documentation than to try to tell someone what to write. ....Now if only I can break away from coding long enough to read this document on creating documentation.
Re:Kudos (Score:1)
I don't think anyone would dispute that the person that develops code shouldn't test it. The same is true for documentation, for some of the same reasons.
However, I agree, developers can, and should, contribute to helping users, especially through forums and blogs. Steve Muench does a great job on that at his website "Dive Into BC4J" [weblogs.com].
BTW, the book being reviewed isn't really about writing documentation, it's about managing documentation projects, with some writing guidelines for creating modular do
You stick to coding and let me handle the docs... (Score:3, Insightful)
Blockquoth the poster:
You're right -- but it takes a LOT more than that to produce clean, usable documentation. And yes, I speak from experience; I've been a technical communicator for more than eight years, and I've spent the last two years just cleaning u
Re:You stick to coding and let me handle the docs. (Score:1)
They know the product (code or hardware) so well that they forget some of the preliminaries, and the stuff they produce is not task oriented. A cookbook produced by a similar method would have the titles for all the recipes listed together, all the ingredients in another place, all the mixing instructions together, all the cooking instructions listed together. Actually cooking something would require that you consult severa
turning point? (Score:5, Interesting)
The core concept of arbitrary display and formatting of structured text, which appears to underly this new work, remains alien to most of the people making business decisions and authoring documents. When you combine a vacuum style lack of good tools to author documentation in the target technology with a flood of readily available "old paradigm" authoring tools for making stuff look pretty (word processors and desktop publishing stuff) you get the explosion in documents that was seen in the 90's. You also get the tremendous resource drain as these docs are updated and reformatted for subsequent generations of word processor formats that continue to mix content and presentation. We also see a direct parallel problem with the amazing fanatical market success of programming environments where logic and presentation are mixed (MS.asp, PHP, etc.) over object oriented tools. Far, far more dynamic web sites are built "the old fashioned way" despite the availability of decent, even "better" authoring tools that exist in the object oriented world.
Unfortunately most organizations that produce and use documentation do so as an aside at best, or an afterthought at worst. Organizations typically don't value documentation highly enough to create job descriptions for skilled technical writers. Corporations with IT staffs of hundreds of people - managers, systems administrators, help desk workers, developers -- often don't have a single Technical Writer.
Take the help desk as a primary example. Just about every big company produces volumes of documentation for use by the help desk workers. Sadly, much of that documentation is created after the fact, by desperately struggling front line help desk workers themselves, who randomly try to assemble facts and myth about problem resolution. The folk creating the systems are generally not given sufficient time to develop and maintain documentation, often barely enough resources to develop the system in the first place, before moving to the next task. It's rare for companies even to realize the blatant "in your face" opportunities to save money by investing in better documentation.
If we can't get developers to understand this basic concept, how can we get front line help-desk workers who are writing documentation for themselves out of desperation and under the clock of "you still gotta answer twenty calls an hour and resolve 19 of the problems before hanging up"? Even better, how do we get a bureaucratic organization to invest in skilled technical writers?
It seems to me that to get to this point we will need to create authoring tools that are so powerful and easy to use that the authors of documentation don't need to think about the separation of content and formatting -- it "just happens" in the background. Anybody who writes such a tool gets to spend the rest of their life retired on a beach, earning twenty percent and drinking rum from hollowed out pineapple shells with little paper umbrellas in them.
Re:turning point? (Score:3, Interesting)
I'm mired deep in tha
Re:turning point? (Score:1)
Holy grail: automatic documentation (Score:1)
But earlier, you called for an investment in skilled technical writers. The fact that you even remember when a tech writer was assigned to every project (mostly because the mainframe programmers had no time or skills for such nonsense) shou
Rational Unified Process (Score:1)
RUP Link [rational.com]
Also, the cobination of SoDA, Rose and Requisite Pro offer a lot of options for manipulating requirements and code documentation.
ReqPro Link [rational.com]
(If this seems like an ad... I work work for IBM Rational.)
Re:Rational Unified Process (Score:1)
And how does that help the quality of the CONTENTS?
Re:Rational Unified Process (Score:1)
Re:Rational Unified Process (Score:1)
It does code check in and out, but so do other tools.
It did make it possible to make sure we had all the requirements tested and passed (but a simple spreadsheet or bug reporter could have done the same thing). Unfortunately its tendency to blow up and trash documents unless the editing was done in a certain not-quite-documented sequence makes the thought
RUP in hacker terms... (Score:2)
Use (everything) (Score:1)
The whole challenge of single-sourcing isn't in which technologies to use, but the integration of these technologies, the process by which content is produced and the interaction between content (knowledge) producers.
For example, at my last company we wrote software products. Document engineers would typically take one of the (almost) finished products and start writing documentation from scratch. Technical information that was already stored in programs, on wikis, in configuration files, etc.. was dupli
Full Disclosure Please (Score:2, Interesting)
How do I know the author isn't benefiting from writing his glowing review here in some way? I'm not accusing the reviewer of any misbehavior here, but when the only negative of a book is that "But, be forewarned. You're going to want your sticky notes and your highlighting markers nearby" I have to question the bias of the reviewer.
Sample review checklist
1. Have you contributed to this book or been cited
Re:Full Disclosure Please (Score:1)
I don't know the author personally, nor am I employed by the author, etc. I just like the fact that someone FINALLY has written a book on the topic -- and done it well.
Excuses.... (Score:3, Funny)
Single sourceing: Tech Writing's Newest Boondoggle (Score:3, Interesting)
Writing good documentation is hard work. It seems to me that the only people who benefit from "single sourcing" are the people who are writing these books and giving overpriced lectures to rooms full of unemployed tech writers.
Ultimately it won't improve the clarity or usefulness of your documentation. It won't provide you with the ability to understand the subject or the audience any better.
Don't get me wrong, if there were a magic-bullet that single source claims to be, I'd be all for it. It would be nice not to have to worry about document formatting. But personally, I think it's simply another way for organizations like STC (The Society for Technical Communication) to filch money from their members.
Re:Single sourceing: Tech Writing's Newest Boondog (Score:1)
I benefit from single sourcing. No, it doesn't directly make my books more effective, but it does mean I spend a little less time replicating changes all over the place, so I have that much more time to spend on more direct improvements to the books.
It's not a "magic bullet," and won't even help at all in certain situat
Re:Single sourceing: Tech Writing's Newest Boondog (Score:2)
My beef is that there's minority groups in the overly influenced world of tech writing that have convinced many others that "single sourcing" is a recipe that you can pay to learn at a three-day lecture, then go out and write great documentation.
In the majority of cases, what single sourcing turns out to be is a great waste of time and effort. In my expe
Re:Single sourceing: Tech Writing's Newest Boondog (Score:1)
POD (Score:1)
(pod2man, pod2html, etc.)