HyperWrite - Consultancy and Training 

Help Systems, Structured Authoring, DITA, Hypertext, Documentation Technologies

HyperWrite Logo
Skip Navigation LinksHome > Articles > This Article
Skip Navigation Links

To TOC, or Not To TOC


It is sometimes claimed that Microsoft "can't deliver context-sensitive help over a web application" (that is, on an HTTP connection). Microsoft's compiled HTML format, CHM, cannot be efficiently delivered over an http connection, because unlike uncompiled HTML files, a CHM file has to download in one piece. In other words, if you want to view one Help topic, but the CHM contains 1000 topics, you have to download 1000 topics before you see the first.

It is fair to say, therefore, that CHM is not suitable for Help delivery over an http connection. It was never designed for this purpose. It was designed for local help: to be installed with the software application on the user's hard disk.

Microsoft HTML Help is actually a suite of technologies. CHM is one part; the HH viewer (a cut-down Internet Explorer with CHM processing abilities) is another. To provide a Table of Contents (TOC) and index for Web-based Help (over HTTP), to support Web applications for example, there are two other Microsoft HTML Help components. One is an ActiveX TOC control, and the other is a Java TOC applet. While these components provide Web-based Help with a TOC, they do not allow context-sensitivity AND a TOC at the same time, because the TOC displays in a frameset. You can, though, display a page of Help as a normal Web page, but then include a link on that page to display the entire Help (by linking to the TOC frameset).

Remember, though, that until 1995, WinHelp did not provide any sort of Table of Contents, and it was the CHM format that officially introduced an integrated TOC in 1998 (although HDK introduced it through its add-in DLLs much earlier). To put it another way, Microsoft Word did not include a TOC in its context-sensitive Help until Word 2000. (Until then, when you pressed [F1] you saw a simple page of content, and when you clicked the Contents button you saw a TOC for the first time.)

Standard Web pages have a unique URL, and can therefore be very easily be used as context-sensitive Help for Web applications. If you want your context-sensitive Help with a TOC, the Microsoft HTML Help suite of tools are not suitable. HDK's own Java and ActiveX components will allow context-sensitive Help with a TOC for many, but not all, scenarios. (The JavaScript used by HDK 3.6 to control the VM Java TOC does not work in Netscape 4.7 and previous, for example.) These VM components use JavaScript to automatically re-set the requested page into the TOC frameset on opening. There is a severe performance trade-off though... it typically takes up to 30 seconds for the content, applet or control and the TOC data file to download, run and display.

This raises the question, of course, as to why we generally see TOC as being a vital part of Help. Help is Help because of its content, surely, not just because it has a TOC. Maybe its time to recognise that a TOC is not an essential part of Help, particularly context-sensitive Web-based Help?



Bookmark and Share

Created with DITA

Valid XHTML 1.0 Transitional Valid CSS!


HyperWrite provides training in a number of authoring software tools, and in structured authoring, technical writing and Help authoring techniques. Find out more...