HyperTrack 4: ushering a new generation for WinHelp Introduction ------------ There has been a lot of interest in generating windows help files lately, with many excellent products coming out in the market. However, as powerful as they can be in assisting the creation of help files, I feel they are still unable to overcome the weaknesses of the Microsoft Windows Help engine itself. For example, the current WinHelp system has no facility to perform a search on all words of a document, being limited to only keywords that are specified during the compilation process. Another request from help users is the desire to print multiple topics at one time. Furthermore, there is also no direct indication from the help engine which topic is currently being displayed, ie. where does it fit in with the entire document as a whole. This is due to the `hypertext' nature of the help system, where the viewer is left without the conventional indexing aid of page numbers. What is HyperTrack? ------------------ Hence instead of just coming up with more powerful ways to create help files, I have developed an application that will `attach' itself to the WinHelp engine, in order to provide it with the features it lack. This application (named `HyperTrack', since it is like a tracker for WinHelp) gets loaded up together with the help file and displays something like a dynamic table of contents of all the help topics. It is dynamic because it can be interactively collapsed or expanded to show only up to certain heading levels, much like the outline view in most popular word processors. The topics shown are indented and color coded to provide easy recognition of which level they belong to, and these can be customised according to user preferences. When a help topic is displayed, the topic line on HyperTrack will be highlighted so as to provide an immediate visual indication of where that topic is in relation to the entire document. Of course, a user can then also jump to any other topic within the document by simply double clicking the intended destination and it will then come up on the help window. A left click of the mouse will show it on the main help window, while a right click will display it on the secondary help window. Hence what you can have are 2 help screens shown at the same time, useful for those topics that you keep having to refer back to constantly (remember how troublesome it was having to switch between 2 topics previously using the `Back' function of WinHelp?). Now with HyperTrack, it's like having the table of contents for your book always handy and never having to put your thumb on it in order to return to a reference point. Various short-cut keys are included to make life easy for those who like to keep their fingers on the keyboard, eg. pressing Enter will display the selected help topic, Ctrl-Enter shows in on the Secondary window, the Space Bar will toggle between setting the input focus on WinHelp or HyperTrack, and so forth. Help is easily avaiable by pressing the H or F1 key. As for keyword searches, the traditional help keywords (accessed via the Search button on WinHelp) is still there but there's the added ability to perform a search on every word in the document through HyperTrack. There's even some simple boolean capability when performing that search as well as the option to perform string-based searches on topic titles. Topics that match the search criteria will be shown on a Search-Results window, which can then be used to display the help topics by double clicking on them. These topics can also be sorted in various ways. Another good thing is that all the keywords are kept in an ascii file (with the .key ext) so you can view and edit it if you want (eg. to remove certains words that you feel are redundant, etc.) What is HyperDoc? ----------------- But will HyperTrack work on all help files? Unfortunately not, though it is not impossible for that to happen in the future. This is because in order for HyperTrack to know which topic is displayed by WinHelp, it needs a macro line inserted at every topic. It also needs to know what are the titles for each of those topics, in order to display its table of contents. That is why a help development system using the popular Word for Windows (Winword) word processor was created. It is called `HyperDoc' and consists of various macros kept together in a document template. Its principle of operation is extremely similar to most help development systems based on Winword macros, ie. use heading styles to represent a hierachical structure, so that the help file viewer can then successively progress through the document. Of course to make it more robust, HyperDoc will check for inconsistent heading styles (eg. jumping from level 1 to level 3) as well as facilitate the use of non-standard heading style names (eg. Chapter, Section, etc. instead of Heading 1, Heading 2, etc..) There are convenient toolbar buttons added on the Winword screen so it'll be easy to access these macros, with on-line help also easily available by selecting the ? button or pressing Ctrl-Shift-Y or selecting HyperDoc Help from the Help menu. So if you've got your help text already present in a Winword document, all you need to do to create a basic help file compatible with HyperTrack is simply attach it to the Hyperdoc.dot template, run the Process-Topic-Outlines and Scan-Keywords macro, and then call the help compiler (using the Run-Help-Compiler macro). There's no need to hassle around with context strings, browse sequences, keywords, etc. Even the help project file (.HPJ) is created automatically together with a MAP section so the help file can be called by applications using it for context-sensitive situations. Of course for those who want to include cross references within the help file(ie. hypertext jumps to other topics), there's a Cross-Reference macro that will automatically search for the nearest matching topic containing the highlighted phrase. It uses the HyperTrack application to allow easy selection of linkages by listing all the available topics you can jump to within that document, and automatically inserts the correct context strings for those topics. For those who want to insert cross references manually, there's also a macro (Master-Topic-Listing) that will list out all the topics in the help document together with context strings, browse sequences and keywords (though these keywords may be somewhat redundant if you intend to use HyperTrack with it). There are also some macros from the Windows Help Authoring Template (WHAT) included so you can insert your own help topics and edit them (eg. for your own popup windows, etc.) Bullets, Graphics and Multimedia -------------------------------- For those who are worried about bullets, they are automatically converted from symbol fields in Winword to actual characters so they should appear in the help file. As for displaying graphics, I've created an extended interface for WinGIF (another shareware product) so instead of inserting the graphic file into the help file (which may be difficult if it has lots of colors and is big), it can call up the WinGIF graphics viewer at runtime to display the graphic instead. The extended interface consists of a small toolbar that will automatically zoom a selected rectangular area (by dragging the mouse across the area you want to zoom into) making it easier to view detailed pictures. In the future, I may design an extended interface for Sound Recorder so that it will automatically play selected .wav files.... Other goodies ------------- There are also various other macros included with Hyperdoc.dot to make life a lot easier when using Winword, eg. a Change Directory macro that also remembers the last directory and file-extension you opened, a Dynamic Zoom macro that has a scroll bar to control the display zoom percentage, as well as a dynamic Jump Page macro. The good thing is these macros (as well as most of the other ones) are not copy protected so you can modify them to suit your situation. All these are added as toolbar buttons for easy access and require the Hyperdoc.dll file since it required some fancy windows programming. How to get them? ---------------- The HyperTrack application and HyperDoc document template come together in one package. At the moment, they are available at anonymous ftp sites (namely Cica and SimTel) under the file called `hyptrk40.zip', meaning release number 4.0 of HyperTrack. Their location under Cica (ftp.cica.indiana.edu) should be under /pub/pc/win3/misc once its moved from its /pub/pc/win3/uploads directory and the one at SimTel (oak.oakland.edu) should be under /pub/msdos/hypertext. If you have any trouble accessing them, feel free to contact me and I can email a copy to you. More good news! -------------- One of the best part of all these is that HyperTrack and HyperDoc are shareware products. That means they are *much* cheaper than commercial products like RoboHelp, DocToHelp, HelpBreeze, HelpMagician, etc. Its user interface may not be as flashy as them (my intention was to make the code as small and uncomplicated as possible) but it does the job. I've also fixed up many of the bugs and problems from previous releases as well as improved the system documentation and on-line help tremendously. The basic registration cost is only US$25 and the source code for both HyperDoc and HyperTrack can be available at extra cost. This means that if you're a programmer, you can design some really fancy help files with this HyperTrack concept and maybe even make more money out of it (for example some may like to consider creating something similar to HyperDoc that will run on other word processors like WordPerfect or AmiPro). If you register, I'll also be available for personal consultation in creating help files as well as possible customisation to suit your needs. What more can you ask? :) --- Kenneth Liew s892831@yallara.cs.rmit.oz.au Melbourne, Australia Ph: (613) 354-2490 or (613) 660-2728 3rd November, 1993 --- ps. If you are among the first few to register, I'll send you the completely non-copy protected version of Hyperdoc.dot at a very minimal extra so you can easily modify and watch how they operate. You'll get to learn heaps about WordBasic programming and increase your productivity in creating help files. Now that is something no other commercial vendor will offer, the source code for their programs! pps. Getting your own logo on the start-up screen: If you register before 10th December 1993, I can insert your own logo so that it'll appear when the help file starts up. It should be a bitmap no larger than 400x300 bits in dimension and not more than 16 colours.