The Electronic Labyrinth

Windows Help Compiler

Buried within the host of files Microsoft Windows dumps on a hard drive is a hypertext book reader. Every time a user encounters a problem in an application and taps "F1" for help, they call the Windows Help engine. This simple hypertext system allows navigation using links (reference, note, or command), a simple search function (using keywords), or a default path. Bookmarks and history are provided. Graphics (BMP, DIB, WMF) may contain multiple anchors. The interface is that of Windows itself--multiple scrolling windows.

Microsoft does not spend much time publicizing this system. The Windows Help Compiler is designed for use by programmers who wish to add context-sensitive help to their applications. As such, it is not sold separately, but instead comes bundled with a variety of development packages. We obtained the Windows 3.0 compiler with Borland C/C++ 3.1, and the 3.1 compiler (actually 3.10.504) with Microsoft Visual Basic Professional Edition 2.0. For non-programmers, it is perhaps more efficient to obtain the compiler with tools that will be useful in writing the hyperbook. One such package is Doc-to-Help.

Building books with the Help Compiler is a multi-stage operation.

  1. Write the text in a word processor which supports RTF files. Each new node (topic) must be tagged with footnotes according to prescribed rules. These indicate to the compiler the node title, any keywords, the default browse sequence (path), and a unique identifier for referencing when making links. Anchors are formatted according to the link class: references are double-underlined, notes are single-underlined.
  2. Add graphics to the book. This may be done by importing them directly into the word processor, or by referencing external files. In the latter case, graphic anchors may be created using the Hotspot Editor.
  3. Add macros for menu customization. These "macros" are actually short command directives. With them, one can change the menu or activate menu functions when the reader selects an anchor.
  4. Create the project file. This ASCII document lists all of the RTF files, graphics, and macros which are required to make the complete book. It also includes specific compiler directives which may be used to customize the interface.
  5. Create the hyperbook. The Help Compiler is run from Windows. It reads the project file, compiles the indicated source documents together, makes any specified environment changes, and then reports on the success of the compilation.

The result is a help file which may be run from Windows as a stand-alone book, using WINHELP.EXE.

This process is not without its peculiarities, which we discuss separately. However, the advantages of using the Windows help system are obvious. One can distribute books freely, guarantee that every owner of Windows can read them, and provide an environment with which the reader will be immediately familiar. Enough navigation features are provided for the advantages of hypertext to be apparent.

There are some disadvantages. Since the compiler was designed for creating on-line manuals it is optimized for hierarchical structures. The single browse sequence fixes the nodes in a default linear path. (It is possible to omit the Browse buttons if this emphasis is not desired.) The manual assumes the first node will be a table of contents. Unfortunately, so does the button labelled "Contents," which should, more generally, be called "Home" or "Start." The environment also assumes that the hyperbook will, in fact, be a help file. The "About Help" menu item cannot be changed to read simply "About." In addition, the lack of any sort of map, and the keyword-only search mechanism favours help-type systems.

In the final hyperbook, anchors appear as underlined green text. Individual users may manually edit their Windows configuration file (WIN.INI) to change this colour. Unfortunately, this affects all help files, not just one. There is no way to turn off the underline format.

© 1993-2000 Christopher Keep, Tim McLaughlin, Robin Parmar.
contact us