Making the case for Good ol’ chm Files

By March 10, 2015Uncategorized

I’ll get straight to the point. Despite our ever increasing reliance on SAAS offerings, no online service can ever replace or match the performance of an application which has been compiled to run on a native platform (e.g. Windows). And help and documentation formats are no exception. In this short article I’ll revisit an (albeit) old, yet lightening fast documentation format called CHM (Microsoft Compiled HTML Help), and make the case for why you should still consider it for your next documentation project.

Microsoft Compiled HTML Help is a help file format which was developed by Microsoft and is compiled out into a self‑executing binary. What this gives you is a small GUI application which includes a table of contents, search bar, indices, and of course the content itself.

Although it was a proprietary format written by Microsoft, it has been reverse engineered over the years and can be generated by a number of help content management systems. And although Microsoft dropped official support a long time ago, it is a still a commonly used format.

Best of all however, is that CHM gives you a lightening fast documentation content system where by pages load almost instantly as do searches and page navigation. Contrast this to most of today’s online documentation which has the user waiting endlessly for pages to be found, loaded, and rendered, not to mention that online documentation is only available when, we’ll, you’re online.

CHM files do of course have their limits, the most prevalent being that they have traditionally only run on Windows. However, Wikipedia’s article on the CHM format ( lists a number ways in which CHM files can be used on non‑Windows platforms.

The other issue is that you need some sort of tool capable of generating CHM files, though if you’re generating other types of output formats like online documentation, changes are you may already have a tool which can do this for you (e.g. a single sourcing tool) and chances are that tool only runs on Windows, which means you’re already working in a Windows environment.

Distribution is another area which varies from today’s online documentation. Since the .CHM file is essentially a compiled application, it means that the user will need to download it or it needs to be included with your application’s downloadable package. However, the trade off is that they get a lightening fast documentation package, and can access it once downloaded, regardless of internet connectivity.

Where .CHM files really shine is when they’re included with smaller, perhaps custom built applications, because of their small files sizes, and the fact that all of the help content is packaged together with the viewer itself into a single executable. In addition, they can be launched from an application’s help menu, and even support context sensitive help, at least for Windows applications. The net result is that they add a lightweight help solution to smaller applications. Of course bigger applications can benefit as well.

So, hopefully this article has provided some enlightenment on the good ol’ CHM file format. While each format, whether it’s online documentation or pre‑compiled help, has its benefits and drawbacks, I recommend taking a look at the CHM format to see if it can provide a quality help system experience for your users.