HyperTrack 3: 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 `hyptrk32.zip', meaning
release number 3.2 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@minyos.xx.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 within the month of November, 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.
