CHM Support – why documentation sucks!

For those who don’t know, CHM is an acronym for Microsoft Compiled HTML Help.  It was released in 1997 when dial-up connections were used to access the Internet.  CHM is a solution for product help files.  Product documentation is contained in a single file that can be accessed offline.  This documentation, loosely based on HTML, can then be browsed using a desktop client.

CHM documentation viewed through IE4

The desktop client has a UI that appears to be based on IE4 and, for reasons that aren’t entirely clear to me, CHM support has persisted in the Microsoft ecosystem.  This support has continued even though Internet access is widely available and there are vastly superior techniques for gathering and discovering knowledge.

People with outhouses get a lot of bladder infections

CHM has all the convenience and smell of an outhouse I work for a company that creates a Web Content Management (WCMS) product.  We spend a lot of time figuring out how to make content easy to edit…and we’re certainly not alone in this quest.  By contrast, editing & publishing a CHM is excruciatingly difficult.

It is human nature to avoid (or postpone) tasks that are a giant hassle.  When you need to pee at 2:00 AM and your only solution is an outhouse, 100 yards away, in freezing temperatures then you’re going to wait as long as possible.  What I’m trying to say is “CHM support is a bladder infection waiting to happen”.

Here is the workflow I want when editing documentation:

  1. Click Edit
  2. Make the change
  3. Click Save

If I can fix documentation in 10 seconds, then I’ll do it.  If, on the other hand, I need to load some archaic desktop-based editor, recompile the documentation in Visual Studio and run a publishing script then I’ll probably do something else…

Blogging your way to documentation…

Why write docs when you can be a superstar blogger? Ultimately the by-product of all of this pain is documentation becomes scattered to the four corners of the Earth.  If you want to see this in action, look at Microsoft.  The best and most current information is never in the official documentation.  Instead, this documentation is sprinkled across several hundred blogs.

Other software ecosystems don’t have the severity of this problem.  Hell PHP has embraced the nature of the the web since…well, from the beginning.  During my PHP days my first stop was always PHP.net.  More often than not, I found my answer in the documentation or the comments.

Do not attempt to install while exploring the Congo

Good, the vendor provided a CHM.  Now if I only had a power outlet... Our ridiculous dogged support for an outdated technology prevents us from embracing the advantages of modern content management solutions.  Furthermore, it prevents us from utilizing crowd-sourcing and generally ensures that documentation is stale.  And we do all this because someone might want to access documentation offline.

This needs to stop!

I’m sorry if you don’t have an Internet connection.  It’s probably not the best idea to attempt to install software while exploring the Congo…or wherever you are.  Supporting your unlikely scenario is making it harder for everyone else to do their job.  To be entirely blunt, supporting you isn’t worth compromising documentation for everyone else.

It’s time to retire CHM.  It served it’s purpose (I guess), but in 2011 we can do better.  Our support for CHM is holding back the progress of humanity.  We would probably have a permanent settlement on Mars if it weren’t for CHM.  Although Internet access would probably be dial-up speeds on Mars…which means we might need a good solution for offline documentation.

This entry was posted in Uncategorized. Bookmark the permalink.
  • Anonymous

    Pretty new to this eh?

  • Gabe Sumner

    What is the "this" you're referring to? The Internet? Programming? Documentation? Yes, I'm very new to all of these things. My AOL account stopped working and a friend helped me find an ISP. This blog post felt like a good first step back into the Internet. Thanks for the comment .

  • Anonymous

    CHM is just a format. The overhead of setting up a CHM file isn't that big of a deal. For reference docs it's great. You might check out HelpStudio from Innovasys (not sure of the spelling). It stores your text in one big file and you select the output format–CHM, PDF, or even plain HTML, IIRC.

  • Gabe Sumner

    Thanks for your comment. You're describing a process that generates documentation (HTML, PDF, HTML) from an offline file.

    My argument above is that online content (specifically web pages) contains advantages (ease of updates, accessibility, crowd-sourcing) that can never be reproduced by an offline authoring process.

  • Anonymous

    > It’s time to retire CHM.

    Why? I don't get the point of your article. How does the existence of CHM restrict you to create and use pure online documentation for your products?

    We use not archaic (new version is available every few days) desktop editor to edit content. It is certainly feature reacher than any web based editor. Then with a single click I can generate documentation in various formats – online and offline. The most favorite format of me and our customers is CHM.

    Again, if CHM doesn't suit your needs, don't use it. But why to blame it? Ancient assembler is still used today, but it doesn't prevent me from using C#.

  • Anonymous

    Gee, world champion exaggerating. Even considered a carreer as Drama coach?