home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / editors / hypsh40c.arj / HYPDOC.LZH / CHAP3.TXT < prev    next >
Text File  |  1991-04-27  |  25KB  |  661 lines

  1.  
  2.  
  3.  
  4.        HyperShell Users Guide                         Producing a hyperfile
  5.  
  6.  
  7.  
  8.  
  9.                             Producing a hyperfile
  10.  
  11.  
  12.  
  13.        3. Hyperfile Production
  14.  
  15.        This chapter is an introduction to hypertext authoring using the
  16.        HyperShell system.  Guidelines for the style and structure of
  17.        hyperfiles, and of the different application approaches are provided.
  18.  
  19.        3.1 Authoring
  20.  
  21.        Hypertext has introduced its own `jargon' into the language.  As
  22.        hypertext material requires the same skills as conventional published
  23.        material, creating hypertext documents is known as `authoring'.  The
  24.        process of creating an effective hypertext document is similar to
  25.        producing a reference book, although the structure is different, and
  26.        it needs new skills of visualisation to structure the material so that
  27.        the reader (or `user') can gain the most advantage from the material
  28.        and get to the information they are seeking.  A great deal of planning
  29.        is necessary before a hyperfile is created.  The information has to be
  30.        broken down into `units of display' called frames, and reference links
  31.        created to bind these frames together.
  32.  
  33.        HyperShell files, known as `hyperfiles', consist of the text to be
  34.        read by the `user', and control information.  In its simplest form, a
  35.        HyperShell document has to be split into `frames' of a certain size
  36.        and each frame needs to be identified.  Some means of moving from a
  37.        frame to related frames is also necessary, even if it is just to
  38.        permit stepping through the frames sequentially.  HyperShell provides
  39.        some standard commands to provide selection from a table of contents,
  40.        searching for a string etc.  The real power of hypertext, however, is
  41.        provided by embedded references in the text to other frames or sources
  42.        of information.  HyperShell provides these in a straightforward and
  43.        powerful way, and also provides popup menus and paged displays, as
  44.        well as a whole range of generic actions.
  45.  
  46.        HyperShell applications may also make use of graphic screens from
  47.        other software.  Selection areas can be set up on these so that a
  48.        mouse or the keyboard can be used to select objects in the graphic
  49.        display.  So, for instance, components in a circuit diagram, parts in
  50.        an exploded view of some apparatus, towns on a map, or rooms in a
  51.        floorplan can be linked to further information about the object
  52.        chosen.
  53.  
  54.        3.2 Different approaches
  55.  
  56.        The creation of the hyperfile can be performed using one of a number
  57.        of methods.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                        - 19 -
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.        Producing a hyperfile                         HyperShell Users Guide
  71.  
  72.  
  73.        The HyperShell integrated environment provides a ready means of
  74.        producing and editing material, and is suitable for small to medium
  75.        size hyperfiles (up to 500k).  The integrated environment has the
  76.        advantage that immediate feedback can be obtained of how the hyperfile
  77.        will look and work.  Also the mechanics of constructing the hyperfile
  78.        are taken out of your hands, to a certain extent.  The integrated
  79.        environment will meet the requirements of many HyperShell application
  80.        areas.
  81.  
  82.        As the hyperfile is of textual content, it is possible to use a
  83.        conventional text editor to produce the files.  It is also possible to
  84.        use certain word processors, provided that they are capable of
  85.        producing output as a text file without pagination.  Using a text
  86.        editor, larger hyperfiles can be produced in more manageable parts,
  87.        and combined using the HyperShell checking component.
  88.  
  89.        This approach also has the advantage that the preprocessing phase of
  90.        the checker component can be used to translate hyperfiles written
  91.        using the verbose HyperShell Source Language into the terse HyperShell
  92.        specification language (known to some as `hyperglyphics').  This
  93.        approach does require that the author is familiar with the structure
  94.        of a hyperfile.
  95.  
  96.        3.3 Overview of authoring tools
  97.  
  98.        HyperShell provides a number of tools to assist with the authoring
  99.        process.
  100.  
  101.        3.3.1 Material Preparation
  102.  
  103.        Text fill
  104.  
  105.        Raw text can be formatted with text fill and margins prior to having
  106.        HyperShell flags and directives added.  Text fill allows rough text to
  107.        be gathered together into paragraphs between specified margins.
  108.  
  109.        Text breakdown
  110.  
  111.        Raw text can be split into frames if some identifiable break condition
  112.        can be defined.  Thus different indent levels can be used to signify
  113.        frame breaks.  Frame names can be added later, or could be obtained
  114.        from heading text.
  115.  
  116.        Graphics capture and preparation
  117.  
  118.        Graphics and text screens can be captured from other programs, and can
  119.        be set up with selection zones for use in HyperShell.
  120.  
  121.        3.3.2 The integrated development environment
  122.  
  123.        The integrated environment provides much more than an editor.  It is
  124.        really a configurable applications environment which is as much a
  125.        freetext database as it is an editor for authors.
  126.  
  127.  
  128.  
  129.                                        - 20 -
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.        HyperShell Users Guide                         Producing a hyperfile
  137.  
  138.  
  139.        Editing control files
  140.  
  141.        Ready made control files are provided to enable existing hyperfiles to
  142.        be edited, and to enable new files to be created from ready made
  143.        templates.
  144.  
  145.        Types of editing
  146.  
  147.        The editing environment can be used without configuration (although
  148.        this needs a knowledge of the language), with an environment control
  149.        file, or with configuration built-in to a hyperfile.
  150.  
  151.        3.3.3 The preprocessor / checker
  152.  
  153.        The preprocessor
  154.  
  155.        The preprocessor allows HyperShell language to be specified using a
  156.        verbose macro language.
  157.  
  158.        It also allows a number of files to be combined to form a hyperfile.
  159.        This can be used to glue a large application together, or to build
  160.        hyperfiles from libraries of pre-configured sections.
  161.  
  162.        The preprocessor is itself configurable, allowing different and
  163.        additional macros to be specified.
  164.  
  165.        The checker
  166.  
  167.        The checker performs a full checkout of your hyperfile, including all
  168.        cross references, syntax and sizes.  It produces a summary of items,
  169.        and can also produce reference and cross reference lists.
  170.  
  171.        3.3.4 The formatted print
  172.  
  173.        The formatted print program provides many different types and levels
  174.        of detail of printout of the hyperfile.
  175.  
  176.        Printouts for users
  177.  
  178.        A paginated printout with optional glossary and index is available for
  179.        the user to use as hard copy of a reference hyperfile.
  180.  
  181.        Printouts for authors
  182.  
  183.        Full item printouts with reference summaries for each note and frame
  184.        are possible.  These provide printed documentation for a complex
  185.        hyperfile.
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                        - 21 -
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.        Producing a hyperfile                         HyperShell Users Guide
  203.  
  204.  
  205.        3.4 Developing a hyperfile
  206.  
  207.        Before producing a hyperfile, it is advisable to decide what form it
  208.        is to take, what fixed information is to appear on the frame display,
  209.        whether any changes to the control menu are necessary, whether any
  210.        keys are to be mapped globally or locally, and whether any special
  211.        highlighting schemes are to be used.  These factors can then be taken
  212.        into account when producing the main text.
  213.  
  214.        The structure of the hyperfile can be designed using an outliner, or
  215.        sketched out on paper.
  216.  
  217.        3.4.1 Original material
  218.  
  219.        The HyperShell integrated development environment provides the ideal
  220.        environment for entering new material.  Immediate feedback is
  221.        available on how the application will appear and interact.
  222.  
  223.        Template hyperfiles, and other examples, can be used for the basic
  224.        skeleton of the application.  These can be adapted to fit the specific
  225.        requirements of the application.
  226.  
  227.        3.4.2 Using existing material
  228.  
  229.        Existing textual files, provided they are not special format Word
  230.        Processor files containing control characters etc., can be adapted
  231.        fairly readily.  A text editor or word processor can be used to break
  232.        the file into sections, inserting a .FRAME section header before each
  233.        frame, with a suitable topic name.
  234.  
  235.        The HyperShell integrated environment can then be used to alter the
  236.        layout of the frames, to split the frames into further frames or local
  237.        notes, to add references using autoreferencing, and to restructure the
  238.        hyperfile.
  239.  
  240.        The hyperfile checker can also be used to add cross references to
  241.        existing material, using the autoreference facility, and to check the
  242.        cross reference integrity of the hyperfile.  The checker also has a
  243.        preprocessor phase which can accommodate compound document structures
  244.        by bringing together parts of documents from other sources.
  245.  
  246.        Small text files can be inserted into frames by use of the insert file
  247.        facility in the editor.
  248.  
  249.        Captured text screens can be inserted into the text using the insert
  250.        screen feature in the editor.
  251.  
  252.        Small text files can be used as popup notes, although it is preferable
  253.        to integrate these with the main hyperfile, as global notes.
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                        - 22 -
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.        HyperShell Users Guide                         Producing a hyperfile
  269.  
  270.  
  271.        3.5 Guidelines
  272.  
  273.  
  274.        3.5.1 Naming
  275.  
  276.        The names of frames and other items in the hyperfile are a very
  277.        important ingredient of the file, and careful naming will contribute
  278.        both to the setting up and to the use of the hyperfile.  The names of
  279.        items are not limited to single words, and can contain spaces.  It is
  280.        preferable to avoid multiple spaces, and you must ensure that no
  281.        trailing spaces are added to the name.  The name, when used as a key,
  282.        is not case sensitive, so the most appropriate case mix can be used
  283.        for the name.  Names of items must not exceed 30 characters, but it is
  284.        hoped that the majority will not exceed half of this.  Names should be
  285.        as simple as possible, whilst retaining sufficient text to be
  286.        meaningful and distinguishable.
  287.  
  288.        Frame names
  289.  
  290.        The choice of suitable frame names is most important, and the names
  291.        should be chosen as part of the planning activity, rather than as and
  292.        when you need to supply them.  As the names are used in references
  293.        from other frames, they could be chosen to match the words or phrases
  294.        used in the text.  This is very much a chicken and egg situation, as
  295.        you may well want to enter the text after setting up the skeleton
  296.        file.
  297.  
  298.        One way of achieving this is to produce a list of temporary names for
  299.        the frames to act as place holders.  Once you have entered the text
  300.        for all the frames, and before you have added any references, you
  301.        could study the text to see what form the references would take.  You
  302.        can then make the references consistent, change the frame names to
  303.        reflect these, and autoreference the frames.  This will help you to
  304.        see if sufficient references have been flagged.
  305.  
  306.        Frame Titles
  307.  
  308.        The frame title text is almost as important as the name.  It appears
  309.        in the contents list and search list, and is used in the fast search.
  310.        It is therefore important to choose a title which will give a good
  311.        indication of what the frame is about.
  312.  
  313.        Other items
  314.  
  315.        The note, menu and script names are important only if they are
  316.        directly referenced from the frame or note text, but it is obviously
  317.        helpful to keep these names short and meaningful for all cases.  The
  318.        menu name and the note name will be displayed at the top of the
  319.        respective popup displays, so should be kept to a length commensurate
  320.        with the options or text lines.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.                                        - 23 -
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.        Producing a hyperfile                         HyperShell Users Guide
  335.  
  336.  
  337.        3.5.2 Style
  338.  
  339.        The hyperfile should be clearly laid out to permit ease of
  340.        maintenance.
  341.  
  342.        The single control items should come at the start of the hyperfile.
  343.        The INDEX specifier should come first, followed by the  HEADER and
  344.        FOOTER sections.  Global notes, menus and scripts should come next in
  345.        the file, and should be grouped by purpose.  The frame specifications
  346.        come next.  Each frame specification contains the FRAME section,
  347.        followed by any local notes, menus and scripts.
  348.  
  349.        The format and content of the information should be consistent.  The
  350.        frames and notes should be written in plain, simple to understand
  351.        language, and technical terms should be confined to the vocabulary of
  352.        the intended user.  Global notes should be used to explain any
  353.        technical term which the user might not understand.  Terms should be
  354.        consistent in use.
  355.  
  356.        Text should be presented in short paragraphs, and should have a
  357.        consistent left hand margin and a balancing ragged right hand margin.
  358.        The justification of text by inserting extra spaces throughout the
  359.        line to give a uniform right hand margin is not recommended, as it may
  360.        cause references to become inaccurate, and is now widely recognized as
  361.        not being of any help when viewed on a screen in this form.
  362.  
  363.        The information held within a frame or a note should be complete, and
  364.        capable of being read on its own.  A frame should not present more
  365.        than half a dozen different concepts, and a note should only present
  366.        one new concept.  The information must be as accurate as possible as
  367.        any inaccuracies will reduce the users confidence.
  368.  
  369.        Unlike a book, hypertext material is usually read in a non-linear
  370.        fashion, so no part of the text can assume that other parts of the
  371.        text have been read.  Cross references can, of course, readily be
  372.        added.
  373.  
  374.        3.6 Different application structures
  375.  
  376.  
  377.        3.6.1 Narrative Hypertext
  378.  
  379.        For narrative hypertext, the frames should be organised so that a
  380.        logical thread can be followed.  Supporting threads then form
  381.        offshoots from this main thread.  The resultant structure will
  382.        probably be a network structure, based on a linear or hierarchical
  383.        backbone.  Global and local notes can be used in support of the main
  384.        text.
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.                                        - 24 -
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.        HyperShell Users Guide                         Producing a hyperfile
  401.  
  402.  
  403.        3.6.2 Help systems
  404.  
  405.        For a help system, each frame can relate to a particular command name,
  406.        command mode or technical term.  Each frame should provide a complete
  407.        packet of information, and supportive frames need only be produced and
  408.        referenced as required.  The structure for a help system is usually a
  409.        hierarchy, with occasional cross-references forming network links.
  410.        Global and local notes can again be used to explain odd terms used in
  411.        the main text.  For context related help, a number of `entry' frames
  412.        can be created, each supporting a hierarchy of further information,
  413.        breaking down the detail of a topic; a top level frame providing a
  414.        menu of these entry frames is also useful as a general entry point.
  415.        HyperShell can be used as a context related help facility from your
  416.        own programs.  Your program needs to execute the HyperShell program,
  417.        specifying the hyperfile name and the `entry' frame name as
  418.        parameters.  HyperShell can set its exit status to pass numeric
  419.        information back to your program on exit, if required, by use of a
  420.        numeric parameter on the Q action.
  421.  
  422.        3.6.3 Menu systems
  423.  
  424.        For a menu system, each frame forms a menu node in a hierarchy,
  425.        although a hierarchy is not strictly necessary.  Input fields can be
  426.        used to supply parameters to programs.  Dynamic menus formed from
  427.        wildcard directories can be used to select a file to be used as a
  428.        parameter, the resultant value being placed in a variable prior to
  429.        program invocation.  Scripts can be executed to perform sequences of
  430.        programs, and to do limited validation on input parameters.  The
  431.        HyperShell exit status can be set by use of a numeric parameter to the
  432.        Q action, and this may be tested in a batch command file to influence
  433.        the control flow.
  434.  
  435.        3.6.4 Expert Systems
  436.  
  437.        For an expert system, a hierarchy of frames can be set up to reflect
  438.        the nodes in a decision tree.  Hierarchies of menus can be used as
  439.        well as, or instead of frames in this decision process.  Local notes
  440.        can be used as `help' about choices.  Scripts can be used to perform
  441.        limited processing and decision making using control flow and
  442.        expression evaluation.
  443.  
  444.        3.6.5 Computer Aided Instruction
  445.  
  446.        For computer aided instruction, a sequence of frames can present
  447.        information about a topic, then offer a multiple choice answer frame.
  448.        Correct answers move on to next topic frame, incorrect answers move
  449.        back to original topic frame.  Variables can be used to monitor
  450.        progress and record error levels.
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.                                        - 25 -
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.        Producing a hyperfile                         HyperShell Users Guide
  467.  
  468.  
  469.        3.6.6 User Interface Prototyping
  470.  
  471.        For user interface prototyping, a number of different frames can be
  472.        set up to present alternative layouts for an application input screen.
  473.        Input fields, menus, notes and scripts can be used to simulate
  474.        interaction style.  Programs can be executed to provide substance to
  475.        the application.
  476.  
  477.        3.6.7 Directory browser
  478.  
  479.        For a DOS manager, or directory browser, a basic script running
  480.        extended directory listings should be set up to allow browsing of
  481.        directory structures and examination of text files.  Actions to take
  482.        against a particular file can then depend on file type, or could be
  483.        selected from menus.  Use of system variables < and > permit file name
  484.        and extension to be accessed within the script.
  485.  
  486.        3.6.8 Text file viewer
  487.  
  488.        For a general text file viewer, with supporting `topic' hyperfile, a
  489.        hyperfile should be set up with topic frame names chosen to pick up
  490.        topics mentioned in the general text files.  Autoreferencing should be
  491.        switched on in the setup script using the action `O41'.
  492.  
  493.        3.6.9 Adventure
  494.  
  495.        For an adventure system, the network of frames can be made as complex
  496.        as possible, and menus, notes and scripts can be used to good effect.
  497.        Variables can be used to hold the state of play.  The `ghost'
  498.        highlighting scheme is effective in an adventure, as the text
  499.        highlighted in this manner is not visible until the mouse cursor is
  500.        moved over it.  A new wave of adventures, known as `hyperware', is due
  501.        to arrive shortly, and will use hypertext principles, albeit in a
  502.        graphic context.
  503.  
  504.        3.7 Master hyperfile
  505.  
  506.        Where a number of hyperfiles are used together, it is useful to bind
  507.        them with a master hyperfile which describes each and references the
  508.        introductory frame in each.  More complex structures are, of course,
  509.        possible, and the structuring then depends on the application.
  510.  
  511.        The concept of a controlling file is also supported with the HOME
  512.        hyperfile. If a hyperfile name is not supplied on the command line to
  513.        HyperShell, a default hyperfile name of HOME.HYP is assumed.  The HOME
  514.        hyperfile can be thought of as a `home base' which provides routes to
  515.        the other hyperfiles in your system.  It is therefore generally a
  516.        small menu system, with some frames in a hierarchy.  It could be a
  517.        small hyperfile which displays a graphic screen with icons on it
  518.        representing the various hyperfiles which are available.
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.                                        - 26 -
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.        HyperShell Users Guide                         Producing a hyperfile
  533.  
  534.  
  535.        3.8 Alternative structure
  536.  
  537.        An alternative hypertext structure is possible which permits existing
  538.        text files to be more readily adapted to a hypertext system.  With
  539.        this structure, a small controlling hyperfile may be set up, which may
  540.        provide a set of supporting frames and switch on autoreferencing.  The
  541.        main hypertext material will be held in a number of simple text files.
  542.        These files will contain cross references to other such files in the
  543.        form:-
  544.  
  545.          ~Areference~PTfilename.txt~E.
  546.  
  547.        These cross references could occur anywhere in the text of the file,
  548.        and would be highlighted when the file is browsed.  Other forms of
  549.        highlighting can be chosen by using ~F, ~N, ~M etc.  as introductory
  550.        flags. The autosearch feature can be used with this form of cross
  551.        referencing, as a string can be given with a text file name, which
  552.        will be automatically located when the file is typed.  This means
  553.        simply adding a `/search string' suffix on the T action (with or
  554.        without a filename supplied).  Thus an embedded reference with an
  555.        action string of `Tfilename.ext/search string' would move to
  556.        displaying `filename.ext' and immediately locate `search string' in it
  557.        - or stop at the end of the file if the string is not located.
  558.  
  559.        The control hyperfile could provide an action in its header or footer
  560.        text, or on its control menu, which will have the action T@d*.TXT (or
  561.        T@L*.TXT if there are more than 20 text files).  This will enable a
  562.        menu of these files to be presented for initial selection.  Of course
  563.        the files could be grouped by initial letter and a number of actions
  564.        of the form T@dA*.TXT, T@dB*.TXT etc.  could be provided, possibly
  565.        from a menu.  Also the popup notes can be made available from a menu
  566.        in a similar fashion using the action t@D*.NTE.
  567.  
  568.        The MSDOS subdirectory facilities provide a convenient means of
  569.        structuring sets of text files in a hierarchy.  The `C' action allows
  570.        selection of a subdirectory, and the same set of dynamic menus can be
  571.        used at each level.  The original directory path is always available
  572.        via a system variable for when a return to `base' is required.  The
  573.        intermediate levels of directory pathname can be stored in a list to
  574.        permit `backtracking'.
  575.  
  576.        Other forms of reference can be used in the text files, and the text
  577.        file display will be reentered after a Note display, and after DOS
  578.        command execution.  Explicit reentry can be achieved by including `;T'
  579.        at the end of any action strings in other forms of reference.
  580.  
  581.        It is not strictly necessary to have a controlling hyperfile at all.
  582.        If a simple text file with embedded references etc.  is named instead
  583.        of a hyperfile when HyperShell is invoked, then that file will be
  584.        treated as a hyperfile with one frame containing the text in the file.
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.                                        - 27 -
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.        Producing a hyperfile                         HyperShell Users Guide
  599.  
  600.  
  601.        The `file as note' reference is particularly applicable to this form
  602.        of hypertext structure, and permits a set of supporting popup notes to
  603.        be supplied from small text files.  These can contain references to
  604.        further note files, or to further text files to be `typed'.
  605.  
  606.        The degree of integration of the two hypertext approaches is variable,
  607.        and it is quite possible to have a hybrid approach offering
  608.        substantial material from both hyperfiles and text files.
  609.  
  610.        The alternative approach has the advantage that the text files and
  611.        notes can be produced `on the fly' using a text editor possibly driven
  612.        from the controlling hyperfile.  This offers a number of attractions
  613.        to those gathering information for cross referencing.
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.                                        - 28 -
  658.  
  659.  
  660.  
  661.