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