Slashdot Mirror


Single Sourcing: Building Modular Documentation

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

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:

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.

26 of 130 comments (clear)

  1. Creativity? by chmod000 · · Score: 5, Interesting
    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.


    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.

    --
    Aptal soru yoktur; sadece merakli aptallar vardir.
  2. Will they read the finer manual? by SourceHammer · · Score: 5, Insightful

    It seems that no matter how much I spend creating documentation, the users of the system don't use it, don't know how to access it, won't use it.

    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.

    --



    Open source development is my way of competing with the low-cost programmers in India...
    1. Re:Will they read the finer manual? by john82 · · Score: 2, Insightful

      Although what you say may be applicable to user interfaces, that is just a fraction of the documentation to consider. I can think of any number of proposal documents where we take a modular approach to sections: it's called boilerplate. When you have several proposals in the same line of work there's a lot of cut and paste from submission to another. On individual projects there are system design specs, operations & maintenance manuals and more. Your assertion does not apply in these instances.

    2. Re:Will they read the finer manual? by Smidge204 · · Score: 2, Insightful

      I believe the quote goes... "Documentation is like sex. When it's good, it's really good. When it's not, it's better than nothing."

      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 "documentation" and imagine 300+ pages of legalese descriptions. Good documentation can be as simple as a bullet list of functions with one-liner descriptions. If the UI can't be intuitive, at least you can make the documentation intuitive.
      =Smidge=

  3. Online reading habits different? by Anonymous Coward · · Score: 2, Insightful

    One thing I've noticed over the time i've spent surfing is that most online content has to get straight to the point with as little fuss as possible. If an article can't capture the interest of the reader within the title, or follow up within the first few sentences, people often quit reading and move on. I actually wonder how many people RTFA in slashdot.

    Very different from books, where the author is more able to exert without much fear of whiplash...

  4. Re:Use Eiffel by BlueGecko · · Score: 3, Funny
    Because of design by contract the code is pretty much self documenting.
    Well, so's COBOL, but that's hardly a strong argument to use it.

    (Calm down, it's meant in gest. :)
  5. use XML by stonebeat.org · · Score: 4, Interesting

    use XML. provides re-use of content. no big deal. and now there are collaborative XML editors, which allows authors to work on various sections of the same document.

    1. Re:use XML by Ozan · · Score: 3, Informative

      And there is already a nice DTD for documentation called DocBook.

      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.

  6. Cheesy by Webmonger · · Score: 5, Funny

    In a similar vein, Scott Abel has demonstrated how to use the same review for multiple audiences.

    Why not just submit a link, Scott? Sheesh.

  7. Maven does some neat stuff with documentation.... by tcopeland · · Score: 3, Informative

    ....using Maven's xdocs, you can generate both HTML and PDF docs from the same XML source file.

    We use this on GForge and it works pretty well....

    Tom

  8. 246 pages is not big? by Junks+Jerzey · · Score: 3, Interesting

    I guess we've all gotten used to artificially inflated monster technical books, where it's expected that Learn Java 2 in 24 Hours needs to be 950 pages or it's crap.

    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.

    1. Re:246 pages is not big? by Kingpin · · Score: 2, Insightful

      I've been told on multiple occasions that US authors get paid by weight rather than content. Anyone want to confirm or reject this?

      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/

      --
      Unable to read configuration file '/bigassraid/htdig//conf/14229.conf'
      Geocrawler error message.
  9. Documentation professionals are creative by HWheel · · Score: 3, Insightful

    I think that a lot of this information is aimed at documentation professionals (technical writers, content strategists, knowledge management system workers, there are a lot of titles) who are very creative and love to work with these systems, rather than analyst/developers who view documentation as an evil waste of time.

    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" so that users who actually use the compiled system can see what the different options are.

    I think that the issue is less of "creativity" than it is of thinking through the issues and handling them consistently.

    1. Re:Documentation professionals are creative by Tsu+Dho+Nimh · · Score: 2, Interesting

      I somewhat agree ... i've worked on a few projects where the management had a wild idea that we could create content that could be used for web pages, user manuals, maintenance manuals, etc. with no further human intervention ... they had not thought about the limitations of the presentation medium. Realistically, the best you can do is create "chunks" that are easy to recycle because they are not contaminated with irrelevant information, have a consistent style, and do not depend on outside infomation.

  10. 246 pages, only? by G3ckoG33k · · Score: 2, Funny

    Even if I have quite a few books on computer science, I still use www much more. It has far more than 246 pages and is near fully indexed through Google. And, cut'n'paste makes my life much more easier.

    Paper is near passé.

    And, new topics like this is often extensively referenced at popular sites like Slashdot; do yourself a favor and check it out!

  11. Re:Wonderful review, only one question by HWheel · · Score: 3, Informative

    The Single-Source SIG (special interest group) of STC (Society for Technical Communication) defined single-sourcing as "using a single document source to generate multiple types of document outputs; workflows for creating multiple outputs from a document or database source."

    For more information:
    http://www.stcsig.org/ss/index.htm

  12. Kudos by jeepliberty · · Score: 3, Insightful
    Between small business environments and downsizing, engineers are now put in a position that requires them to document their software as well as providing operational and installation documentation.

    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.

  13. turning point? by voixderaison · · Score: 5, Interesting

    This review was stimulating, and filled me briefly with hope, then I crashed after pondering a bit. I'd like to think that we could look back on this someday as a turning point of some sort, perhaps the foundation of a new engineering discipline of documentation. Of course, lots of people thought (and probably still do) that SGML was the foundation and now we're building walls. And maybe it was, but SGML (and the derivatives HTML, XML, and future arbitrary useful DTD to come) suffer from some problems - external and cultural mostly. The technologies are somewhat complex, and there is a general lack of understanding about how to apply the technology to advantage.

    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.

    --
    Things should be made as simple as possible, but not any simpler. -- Albert Einstein
    1. Re:turning point? by jolshefsky · · Score: 2, Interesting
      Just to spin what you've said--I think it's very sad that the organization of information is the afterthought in most documentation projects. The first question everyone seems to have is, "should command names be in Courier or Arial?" Come on ... if you're staring at the prospect of handling some quantity of information equivalent to (at a minimum) hundreds of pages of printed text, don't you think it should be your first priority to get a handle on how to organize that information?

      I'm mired deep in that territory now. I am desperately trying to attack the problem from the wrong side--I'm starting with our established desktop publishing package and trying to define meaningful styles that could be used in the future for content parsing.

      The battles I fight are so far removed from what's important, it makes me miserable--our document templates actually include a style called "Bold," for instance. Bold??? Why define the style at all if it's a built-in function? In programming C, it's like defining "TRUE" to 1 so you can write comparisons like (x==1)==TRUE instead of (x==1)==1. Whether you define a "style" or just click the little "B" icon, it's the same problem.

      The fact that we're using a desktop publishing package at all for data entry should be at issue--why not an editor to enter content in a hierarchy which will later be rendered by whatever appearance template we chooose? I wish I had a reasonable chance of ditching the desktop publishing package all together for something more pertinent.

      I think that like you, I'm also looking forward to the industry of documentation--or more likely--information organziation and presentation. I just hope I'm not dead first.

      --
      --- Jason Olshefsky

      Karma: Poser (mostly affected by adding this line long after everyone else did)

  14. Full Disclosure Please by entropy_uc · · Score: 2, Interesting

    I would find these reviews a lot more useful if there was more disclosure of the reviewers biases.

    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 within the text?
    2. Do you have a personal or business relationship with the author(s) or publisher?
    3. Do you sell services related to the books topic?

  15. Excuses.... by Jace+of+Fuse! · · Score: 2, Funny

    "Honest officer, I was just eating a can of pringles and I thought, 'Hey! Maybe someone provides free internet service outside this large office building!'"

    --

    "Everything you know is wrong. (And stupid.)"

    Moderation Totals: Wrong=2, Stupid=3, Total=5.
  16. Yeah, who needs documentation? by fm6 · · Score: 2, Insightful
    I take it you write your own user docs. Have you considered the possibility that you're not very good at it? Do you know how explain complicated features in a simple manor? Do you have the patience to discuss nit-picky details that you know intuitively but about which your users are totally clueless? Do you know how to organize an immense body of facts so that the reader doesn't go crazy trying to find one small unimportant fact -- unimportant to you, but essential to the user?

    Too many engineers look at tech writers as clueless English majors, useful only for cleaning up spelling and grammar. Or arrogant, burned-out former programmers who think they know everything, and really know very little. True, there are a lot of tech writers like that, and their product is not worth reading -- assuming anybody can read it. But there are also serious, motivated tech writers who know a lot about communicating technical subjects.

    I like to think I'm one of those. I'm biased of course, but I have been told, more than once, that nobody understood how a product or technology really worked until I sorted a huge pile of random facts into a useful form. (This is especially nice to hear when it comes from the people who designed the system in the first place!) I'm probably not the best in my field, but I think I earn my pay. (Well, no pay right now, industry slump y'know. Oh well.)

    Of course, not all documentation really needs a tech writer. You sound like you mostly write little end-user apps. For those, I agree, a good GUI is more important than a good manual.

    But consider my own specialty, the API manual. How many of those have you seen that don't make you scream with frustration? Writing good API docs is hard. (Lotta fun though, at least for a compulsive nit-picker like me.)

    And writing isn't as hard as maintaining. My last job involved a development framework with more than 10,000 APIs. Which was maintained in RTF. (Please don't laugh, it's not funny.) And which had to be single sourced for four different product targets. (Windows and Linux, two different programming languages.) And, oh yeah, my boss thought that version control was a silly idea.

    Why was this documentation base such a mess? Because at this company, the "nobody reads the docs" mentality prevailed. Even the writing team was infected with it. And this self-fulfilling cynicism really hurt the product. The API has a reputation for being obscure and hard to use. Whereas it's really pretty elegant, and even easy to understand, if properly explained. In this case, bad documentation is doing a lot to consign a superior product to undeserved oblivion.

    I should end with that pithy comment, but I have to drag the discussion back ontopic. Because of the company's indifference to doc issues, they're only now converting the documents from RTF to markup, something they should have done 10 years ago. Alas, the project is headed up by an intelligent but technologically clueless individual who thinks a little XML transform experience makes him an expert on content management. (Sour grapes? I guess. Then again, I did recommend hiring the guy.) Last I heard, the project was months behind schedule, and was close to being in deathmarch mode.

    So I'm deeply interested reading Ament's book. Maybe it'll be useful on my next job. But even if it's well-written, I don't think I'll enjoy the read. Too many lost opportunities.

  17. Re:Use Eiffel by joto · · Score: 3, Informative
    Use Eiffel

    Because of design by contract the code is pretty much self documenting.

    Yeah, right!

    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!

  18. XML, yes, NBD, no by fm6 · · Score: 2, Insightful
    Yeah, XML is da bomb. I wouldn't use any other format to maintain a non-trival document base. Especially one where single-sourcing is important. But "no big deal"? Guess again.
    • There are no affordable off-the-shelf content managment for most technical documentation apps. Yes, there's a lot of content management software out there, but it's either specialized in some other area (mainly web applications, 'cause there's a lot of money to be made there) or it's a general-purpose CMS platform that takes a lot of work to adapt to a particular purpose.

      XML-specific databases are very intriquing. Many have impressive feature sets. But it's still a work in progress. There's nothing out there you can buy and use without spending a lot of time adapting it to your specific project. Even without license fees (usually pretty high) the up-front costs are huge. Try getting your boss to approve spending a lot of bucks on a product with no track record!

    • There are lots of XML editing products out there, but few of them are serious products. Some dweeb combines a Java editor component with an XML parsing engine, and behold! A collaborative documentation tool! Not that easy.

      A few solid products are beginning to appear, but they all have serious limitations. I'm really taken with XMetal, but it only runs on Windows. (Even if you're not an open source zealot, you have to be cautious about a product that won't run on the platform your engineers use. Anyway, XMetal now belongs to Corel, which is busy imploding.) XMLSpy is powerful and cross-platform, but its editign features are clunky. FrameMaker 7 is OK (assuming you don't totally hate FrameMaker's primitive GUI), but creating or modifying an XML application for it is a nightmare. And there's really nothing else.

    • Retraining writers to think in XML terms is a bitch.

    • XML production tools are still pretty immature. XSL-FO will probably stabilize soon, but I wouldn't rely on it yet.
    Eventually, XML will take over. But it's gonna be a long, painful transition.
  19. You stick to coding and let me handle the docs... by Silverhammer · · Score: 2, Insightful

    Blockquoth the poster:

    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.

    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 up existing documentation written by programmers.

    The problem I've found is that programmers tend to write documentation the same way they write code: they see a project as an assemblage of individual features and widgets, and they put most of their effort towards ensuring each of those features works correctly. The fundamental concepts that tie the features together into an application are largely taken for granted.

    As such, the documentation these programmers produce is technically complete and accurate but almost completely nonsensical from a real-world user's point of view. There's no unified flow or top-level view. The user is basically expected to already know what they want to do, so that all they need to do is look up how to do it.

    That's why I don't trust these efforts to make documentation "modular." It's impossible to develop a coherent narrative in such a format, and you can't really educate the user without that narrative.

  20. Single sourceing: Tech Writing's Newest Boondoggle by tres · · Score: 2, Interesting

    Sorry, I've seen first hand "single sourcing" hard at work. It's the biggest boondoggle since the "synergies" of the late nineties.

    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.

    --
    Notes From Under *nix: blas.phemo.us