Download Implementation of a hypertext help system for GLAD

Transcript
800*
nclassified
!
page
;curiry Classification of this
REPORT DOCUMENTATION PAGE
Report Security Classification
i
Markings
lb
Restrictive
3
Distribution Availability of Report
Unclassified
Security Classification Authority
Approved
Declassification/Downgrading Schedule
(>
Performing Organization Report Number(s)
Name
t
6b Office Symbol
of Performing Organization
aval Postgraduate School
Address (city, state, ana /JP code)
93943-5000
tonterey,
7a
Name
8b Office Symbol
unlimited.
Naval Postgraduate School
Monterev,
of Funding/Sponsoring Organization
is
of Monitoring Organization
7 b Address (city, state,
CA
Name
Monitoring Organization Report Number(s)
52
(If Applicable)
for public release; distribution
5
and ZIP code)
CA 93943-5000
Procurement Instrument Identification Number
9
(If Applicable)
Address
(city, state,
and ZIP code)
Source of Funding Numbers
1
Program Element Number
Project
No
Ti&k
No
Work
Unit Accession
5
Page Count
No
Title (Include Security Classification)
I.
JIPLEMENTATION OF A HYPERTEXT HELP SYSTEM FOR GLAD, A GRAPHICS LANGUAGE FOR DATABASE
Personal Authors) Yeary, Lon M.
la Type of Report
Kaster's Thesis
13b Time Covered
From
To
14 Date of Report (year, month.day)
1
June 1989
63
Supplementary Notation The views expressed in this thesis are those of the author and do not reflect the official
plicy or position of the Department of Defense or the U.S. Government.
:»
Cosati Codes
Group
eld
1
8
Subject Terms (continue on reverse
Abstract (continue on reverse
necessary and identify by block number)
On-line Help System, Hypertext,
Subgroup
User
>
if
if
Interface,
GLAD,
ACTOR,
Object-Oriented, Graphical
Database
necessary and identify by block, number
This paper explores the design and implementation of a help system for a graphical user interface named
LAD (Graphics LAnguage for Database). It examines help system design alternatives. Emphasis is on the
nplementation of a hypertext help system for GLAD using the Windows utility GUIDANCE and the objectiented programming language ACTOR. Discussion includes the advantages of hypertext for on-line help
/stems.
Distribution/Availability of Abstract
)
]X|
unclassified/unlimited
same
2
as report
J
['.a
'•
Name
DTIC users
Abstract Security Classification
22b Telephone
of Responsible Individual
Thomas Wu
FORM 1473, 84 MAR
1
Unclassified
(Include Area code)
(408)646-3391
Prof. C.
83
APR
edition
may be used
until
exhausted
All other editions are obsolete
22c Office Symbol
Code 52Wu
security classification of this page
Unclassified
Approved
for public release; distribution is unlimited.
Implementation of a Hypertext Help System
for
GLAD,
a Graphics
LAnguage
for Database
by
Lon M. Yeary
Captain, United States Marine Corps
B.S., United States
Submitted
Naval Academy
in partial fulfillment
of the requirements for the degree of
MASTER OF SCIENCE
IN
COMPUTER SCIENCE
from the
NAVAL POSTGRADUATE SCHOOL
June 1989
ABSTRACT
This paper explores the design and implementation of a help system for a graphical
user interface
named
GLAD
system design alternatives.
sys:em for
GLAD
(Graphics
Emphasis
using the
is
Windows
programming language ACTOR.
LAnguage
for Database).
It
examines help
on the implementation of a hypertext help
utility
GUIDANCE
and the object-oriented
Discussion includes the advantages of hypertext for
on-line help systems.
in
TABLE OF CONTENTS
I.
II.
ID.
INTRODUCTION
I
A.
OVERVIEW
1
B.
BACKGROUND
1
C.
DEVELOPMENT OF GLAD
2
D.
MOTIVATION FOR DEVELOPMENT OF A HELP SYSTEM
5
E.
ORGANIZATION
5
HELP SYSTEM ALTERNATIVES
A.
WHAT
B.
TYPES OF HELP SYSTEMS
IS
7
A HELP SYSTEM?
7
9
Dynamic
1.
Static versus
2.
Multi-level Help System
11
3.
System-Initiated Help
12
4.
User-Initiated Help
13
5.
Screen Options
14
6.
Extensibility
16
9
C.
HYPERTEXT
16
D.
SUMMARY
18
THE GLAD HELP SYSTEM
19
A.
DESIGN CONSIDERATIONS
19
B.
GLAD DESIGN CHOICES
20
C.
GUIDE AND GUIDANCE
24
IV
IV.
V.
GLAD HELP SYSTEM IMPLEMENTATION
29
A.
INTEGRATING GLAD AND GUIDANCE
29
B.
IMPLEMENTING THE HELP SYSTEM ACCELERATOR KEY
C.
GLAD HELP ORGANIZATION
36
D.
MEMORY MANAGEMENT
42
CONCLUSIONS
...
35
45
A.
STRENGTHS AND WEAKNESSES
45
B.
FUTURE AREAS OF RESEARCH
47
APPENDIX A
-
SAMPLE SECTION OF GLADV02.RC
48
APPENDIX B
-
GLAD INITMENUID METHODS
51
LIST
OF REFERENCES
INniAL DISTRIBUTION LIST
53
55
LIST OF FIGURES
GLAD Window
Figure 3.1
Standard Position of Help
Figure 3.2
Structure of Guidance Help
Figure 3.3
Shape of Guide Buttons
Figure 4.1
GLAD
Figure 4.2
Guidancelnitialise Routine
Figure 4.3
Example
Figure 4.4
Guidance Use of Search String
Figure 4.5
GladApp Class shouldClose Method
34
Figure 4.6
Demonstration of Expansion Button
37
Figure 4.7
Help
Figure 4.8
GLAD
Figure 4.9
Example Numbering Used To Minimize User Disorientation
Figure 4.10
GLAD
Figure 4.11
Example Note Button
in
System
25
26
Hierarchy
GLAD
21
.
Methods
Window With
32
Utilizing GuidanceSetContext
Replica of
to
33
Find Context-Sensitive Help ...
DML
Window
34
39
Index Guideline
Help
31
39
Window Menu
....
41
41
43
VI
I.
A.
INTRODUCTION
OVERVIEW
GLAD
(Graphics
LAnguage
for data manipulation and
for Database)
is
program development with
originally proposed in 1985
by Dr. C. Thomas
This unified interface
Monterey, California.
a coherent, graphics-oriented interface
Wu
is
a database
(WU,
1989).
principal
of
GLAD
information whenever desired
was
that
(WU,
the
1989).
user
was
of the Naval Postgraduate School,
designed for easy learning and use
A
while providing a comprehensive visual representation of a database schema.
design
It
should
have
access
This thesis proposes
to
major
additional
a context-sensitive
help system utilizing hypertext to augment the information available to
GLAD
users
and increase the overall usability of the database interface.
B.
BACKGROUND
In order to
world,
it
is
manage
the vast
amounts of information generated
vital that a simple, yet
in today's
complex
powerful database management system be available.
Desirable systems would not require a costly database specialist to program every
modification.
that
it
A
second desirable characteristic of a database management system
must be easy-to-leam and
use.
GLAD
desire to develop a theory identifying the best
is
research has been motivated by the
method of graphical user
interface for
interaction with a database.
facility for
by
was
It
comparing
and
many
as
GLAD
methodology could be established.
data model, however,
widely
used abstraction
(WU,
generalization
a database
use
of
a
database
management holds
C.
is
is
interfaces
unique in that
it
believed that
as
possible, a "best"
is
not based upon a
provides a visual representation of the four most
it
concepts: aggregation,
1987, p.
GLAD
schema,
graphical
WU
GLAD.
accessing databases that led to the proposal for
proposing
specific
the lack of an easy-to-learn, easy-to-use query
association,
classification
m
Through the use of simple visual represe
3).
easy
to learn
and
use.
We
management system.
This
believe
is
model
of
wide-spread
critical for
this
and
database
for
the best potential as an end-user interaction tool.
DEVELOPMENT OF GLAD
There have been two cycles
a rudimentary prototype to see
oriented
GLAD
facility
programming and
in the
development of
whether a
ACTOR
1
was
full
GLAD.
Version
implementation of
feasible
(WU,
1989).
GLAD
.01
developed
using object-
The second cycle of
added a data definition component, bitmap display capability, and updated the
of the
first
version.
Version .02 has added some classes to increase the
functionality of this and future versions.
GLAD
as a
this to
be infeasible (Wu, 1989).
Originally, plans
were made
A
system compatible with Sun Microsystems' workstation.
ACTOR is
a
Attempts were made
to
implement
registered trademark of The Whitewater Group,
to
study showed
GLAD
Inc.
develop
using C;
however,
use.
it
was found
were too low-level and very
that available routines
For example, the code required to display a single
(WU,
parameters
Due
1989).
deemed unwieldy.
A
to
interface; therefore, a search
was
critical to the
began for a development
and easier method of developing windowing routines.
to be capable of rapid prototyping
Command,
a
GLAD
running on an
bar required ten
scroll
budget and manpower constraints
rapid prototyping tool
difficult to
this
approach was
success of this visual
which provided
tool
a quicker
This development tool needed
and provide extensibility.
Naval Data Automation
sponsor, imposed the requirement that the system be capable of
IBM PC/AT
compatible
MS-DOS
machine.
It
was
also considered
desirable to keep the system capable of being ported to other platforms such as Unix
and Macintosh.
It
was
felt that
features of an object-oriented
programming language
such as inheritance, encapsulation and polymorphism would best
expedient
implementation of
languages, information on
GLAD.
ACTOR
facilitate
the
most
After exploring Smalltalk and other similar
was found.
ACTOR
appeared
to
meet most of
the
requirements specified above.
ACTOR
is
an object-oriented language introduced in 1987 for developing Microsoft
Windows (MS-Windows)
2
applications.
It
is
a language that appeals to intuition and
does not depend upon the user possessing a wide background in traditional computer
science topics (Rowell, 1988, p. 77).
MS,
In 1988, a
GLAD
prototype was successfully
Microsoft and Windows are trademarks of Microsoft,
In'
implemented using
ACTOR
(Williamson, 1988.
language to be utilized for the development of
p. 32).
GLAD.
ACTOR
Interactive in nature.
features several powerful tools that provide a sophisticated
for developing
Among
MS-Windows
the tools provided in the
for viewing, modifying,
a
Debugger
ACTOR
ACTOR
as the
ACTOR
programming environment
1989,
p.
3).
programming environment
are a
Browser
and creating classes, an Inspector for viewing object structure,
debugging
for
(WU & HSIAO,
applications
was selected
ACTOR
and an Editor for simple
code,
te?
ting.
allows static and dynamic binding of variables which are useful for rapid
prototyping of application software while not compromising the efficiency of the final
software product.
ACTOR
is
designed to run within Microsoft
compatible personal computer with
et
al.,
1989,
desirable,
p.
An EGA
1).
though optional.
or
VGA
VGA
memory and
EGA
GLAD
for
an
IBM
a hard disk (Duff,
memory
was developed using
are highly
ACTOR
on
color monitor and a 386 machine with a
color monitor.
GLAD
provides an object-oriented data model which provides a close relationship
between the structure of the database
the object-oriented
to
be modeled and the logical entities used within
programming environment.
six design principles for the
development of
Provide more information
•
of
color monitor and extra
The prototype
an AT-compatible machine with an
640K
least
at
Windows on
when
Wu
and Hsiao (1989) have identified
GLAD. The program
asked.
Recover from the unintended or erroneous operation.
Perform the same operation
in
more than one way.
should be able
to:
•
Perform logically equivalent operations
Display multiple information
at the
in a consistent
same
manner.
time.
Display multiple views of the same information.
D.
MOTIVATION FOR DEVELOPMENT OF A HELP SYSTEM
While
it
is
computer program
theoretically possible to develop a
designed that no user assistance
The philosophy of
any information
GLAD
the
ever required, practically speaking,
is
project
that will permit the
is
that the end-user should
maximum
should have access to additional information
envisioned that
user
a
will
be
able
to
obtain
assistance
environment concerning any operation, term, or process.
to
research, design
proposed by
E.
Wu
and implement a help system
which
will
impossible.
have easy access
to
when
requested.
from within the
The purpose of
It
is
GLAD
this thesis is
meets the design principles
that
promote even greater end-user
usability for
GLAD.
ORGANIZATION
The remainder of
this thesis is
system design alternatives.
development of the current
imposed by the
GLAD.
It
is
it
Design principle one
possible usability.
states that the user
that is so well
GLAD
organized as follows.
Chapter
GLAD
III
Chapter
II
discusses help
discusses the design decisions
help system.
It
made
in
the
includes a discussion of constraints
environment and the decision
to
incorporate hypertext into
Chapter IV discusses the implementation details of the
GLAD
includes a discussion of the utilization of dynamic link libraries with
help system.
ACTOR
and
the
incorporation of the hypertext
research for
GLAD
Guidance is
a
are discussed in
system
GUIDANCE
3
.
Conclusions and future
Chapter V.
registered trademark of Owl International, Inc.
EL
A.
WHAT
A
HELP SYSTEM ALTERNATIVES
A HELP SYSTEM?
IS
help system
is
a
program
(or
several programs) that
operation of another, usually, larger program.
program
that
program
that
3).
The help system can
runs concurrently with the larger program or, as
is
user manual.
the
user in the
either be a separate
is
more common,
completely integrated within the larger application (Kearsley, 1988,
Help encompasses a continuum of assistance
of available
assist
commands
to on-line
to the user,
a
p.
from a memoiy jogger
documentation which includes or supplements the
Help includes error messages,
and detailed explanations of terminology.
tutorials to assist in the learning process,
Help also includes prompts which guide the
user through the available choices within the program.
Help for a computer user comes
in
two basic forms.
which includes user manuals and reference guides, or
it
It
can be printed (hard-copy)
can be on-line.
Tutorials are
another form of computer help; they can be printed, on-line or both.
advantages and disadvantages to both printed and on-line help.
that
speed and comprehension
from a
CRT
work and
is
(Shneiderman. 1987,
Research has shown
greater using printed materials than
p. 360).
There are
when
reading
Printed help allows the user to refer to his
the help information simultaneously without interrupting the program.
On-line help provided in a
windowed environment
will also provide this capability.
On-line help has the advantage of being available any time the program
While
at
the
terminal, the user does
Additionally, on-line help
manual which may be outdated with respect
updated with the software; therefore,
it
is
is
who
know how
did not
purchase multiple
to the software, on-line help
more
completely replace the printed user manual.
to
generally current. Unlike a user
A
is
usually
likely to be current.
Regardless of the advantages of on-line help systems,
use to a naive user
running.
not have to be concerned with locating the
manual, and manifold users within an organization will not have
copies of documentation.
is
it
is
clear that they cannot
"perfect" help system
would be of no
computer on.
Instead, an on-
to turn the
help system can be thought of as a method of enhancing or augmenting the
line
information available to a program user.
on-line help system.
It
This thesis addresses the development of an
will not discuss the
need
to
develop a good user manual for
GLAD.
Dumas
One
(1988, p. 50) proposes seven principles for a good interface design.
of these design principles
is
the
incorporation of an on-line help facility.
A
well
designed help system contributes to the overall usability of a program by reducing the
time
it
made.
takes to complete an on-line function and by reducing the
number of
errors
Jackson and Lefrere (1986), Shneiderman (1987), and Kearsley (1988)
all
discuss research which confirms the advantages of a well designed on-line help system.
Improving
the
design
of the
help
system will
improve
its
benefit
to
the
user.
Improved user performance and user
satisfaction can result
from having a
system integrated into a software program.
planned help
If
only
skillfully
by providing
increased confidence for the user, a help system can be beneficial, speeding the process
of familiarization (Jackson and Lafrere, 1986,
To be
a
truly useful, an on-line help
manual (Roberts, 1970,
p. 547).
any confidence the user might have
useful
if
it
p. 64).
system must be easier and quicker to use than
In addition,
in
it
it
must be accurate or
(Killory, 1987, p. 19).
it
will destroy
On-line help
is
only
capable of providing assistance to a user to derive or debug a plan of
is
When
action (Jackson and Lefrere, 1986, p. 63).
users request help, normally they are
seeking a specific explanation for an immediate problem.
A
assume
The help system must
that
a
user possesses a specific proficiency level.
help system cannot
present information commensurate with the user's level of expertise.
B.
TYPES OF HELP SYSTEMS
1.
Static versus
Dynamic
There are many design alternatives available when developing an on-line help
One of
system.
that is
independent of where the user
dynamic,
were.
the first considerations
that
Static
is
is
is
whether the help offered should be
in the
dependent on where the user
is
program and any previous
static,
actions, or
and what the user's previous actions
help could be thought of as a kind of "on-line glossary of terms"
(Kearsley, 1988, p. 14).
A
list
of terms
is
provided with a brief explanation when a
user requests
execution,
Regardless
help.
the
same
information
4
WordPerfect's F3 key
user
list
of
whenever
appear
will
an example of a
is
presented with the same
is
of the function being performed during program
static
When F3
help system.
command
know what term
requires further explanation.
much
user
While
it
is
information,
unnecessary
the
is
pressed, the
sometimes helpful
it
information that the user becomes lost or distracted.
through
requested.
user
may
be
is
in
however, the user must
every detail to the user searching for a solution to a problem,
so
is
options regardless of where he
Static help allows requests for specific terms,
the program.
help
is
to provide
possible
wide
*
search takes the
If the
delayed
in
actual
task
completion.
Dynamic help
be developed.
that is sensitive to the
Dynamic
or
sequence of user requests or actions can
context-sensitive
help offers
function being performed during program execution.
the edit
mode
available user
can
be
as
is
would be provided without
simple
in the
For instance,
if
based on the
the user
of a program and requests help, an explanation of edit
as
an
explanation
program or
commands.
listing unrelated
of
an
sophisticated, providing detailed information of
user
assistance
error
message
is
it
By
Dynamic help
can
be
more
the
increasing the degree of
increased.
'WordPerfect is a registered trademark of WordPerfect Corporation.
10
in
commands
program options based on where
the function being performed.
context sensitivity, the usefulness of the help
or
is
A
powerful form of dynamic help
a dialog
is
between the user and the system.
dialog guides the user through the problem providing step-by-step instructions
The
(Kearsley,
1988,
p.
Dialog
16).
help
difficult
is
develop.
to
requires
It
the
incorporation of assistance for every possible user action or question into the help
system. These help systems require extensive error checking to ensure correct user
input.
SHERPA,
example of
a help
system developed by ComTrain for
a dialog-type help
system which uses prompts
LOTUS
1-2-3,
to assist the user
is
good
a
through a
series of functions (Kearsley, 1988, p. 35).
2.
Multi-level Help System
It
is
clear that providing a
not be desirable and
complex step-by-step procedure
may even slow
for every user
processing time considerably for the experienced
user.
Therefore, another design alternative
more
detailed information for each successive level of help requested.
is
to
provide multiple levels of help, giving
increasingly detailed information, successive levels of help
qualifiers
on use, or descriptions of related commands.
MicroPro's WordStar' allow users to
initiated.
menu
WordStar users have
of choices on screen
at all
of a multi-level help system
"WordStar is
a
is
set
the
level
In addition to
would provide examples,
Some programs such
of help
when
the
the choice of four levels of help, ranging
times to no help prompts displayed.
one
may
as
program
from
is
a full
Another example
that utilizes different terms to request different
registered trademark of MicroPro International Corporation
11
levels of help, for example, "Define," "Explain," "Example," or "Limitations" (Kearsley,
1988, p.
17).
Having
different levels of help available
is
an attempt to meet the
specific needs of various users including the novice, the occasional user needing only
a
memory
aid, as well as the
experienced programmer.
System-Initiated Help
3.
Help requests may be
Initiated
by the user or by the system.
help, usually given as advice or as a suggestion,
condition.
For example,
function, the
Some
if a
user types a
system would provide a
of
list
frequently triggered by an error
is
command
all
System -initiated
inappropriate for the current
that
is
the
correct alternative
commands.
users perceive system-initiated help as an interruption or as a delay in using the
program, and
necessary
in
may even
consider the messages as "nagging".
some systems
to prevent users
systems where errors could result
from making
in catastrophic
also assists the user by pointing out shortcuts that
System-initiated help
"fatal errors", especially in
consequences.
may have
System-initiated help
previously been unknown.
This could prove useful to the novice and experienced user alike.
system
may
be designed to inform the user
when he
is
is
For example, the
using several operations to
accomplish a task which should be incorporated into a single operation.
If system-initiated help is utilized,
the option of turning
p. 20).
it
it
is
recommended
off or specifying the level of
user be given
message desired (Kearsley, 1988,
Specific messages of highest priority could be
12
that the
left
on. while allowing the user
to turn off advisory
messages
may
that
not be pertinent to their use.
In order to
provide the advantages of system and user-initiated help, a system can be designed
which incorporates
both.
User-Initiated Help
4.
User-initiated help can be activated through a variety of means, including typing
a help
a
command,
pressing a designated help key, or by selecting a help option from
The advantage of
menu.
of typed input.
this
method
The disadvantage
that the help
is
that the user
is
may
may
not
remember which key
help key unless a method for keeping a reminder on screen
command may
the
the correct syntax of the help
command.
specific
menus with
command
options
command
choices.
displayed
Menu
that
the
is
menu
is
eliminating
the
The user
need
the
same problem
is
eliminated
if
the system
is
menu-driven does not necessarily imply
13
context-sensitive.
that
it
is
will
to
have
the
the screen
at
as designated help
help systems allow the user to select from an index of topics.
is
a help
remember
to
reminded every time he looks
Menus have
available.
the
however, the user will have
both require the user to specify the topic on which help
greater specificity
system
in
Typing
utilized.
a help option has several advantages.
In addition, the user
that the help option
in
area
is
is
allows for complex syntax to be used to take
assistance;
a
Utilizing
keys
it
of needed
user to
remember
be desirable in that
be obtained independently
effective.
is
required.
The need
The
fact
for
that
a
"In fact, poorly
designed menus are one of the most
(Dumas, 1988,
common problems
with application software"
p. 60).
Menu-driven systems
are
becoming increasingly popular.
MicroPro's WordStar, and Wordperfect Corporation's Wordperfect have
menu
Aids
driven systems.
are already
on the market.
While
ease of learning.
design,
it
in converting existing
Macintosh's iconic
this is primarily a
5.
menu system
is
command
released
very popular due to
movement toward improving
remember
all
,
menu-driven programs
to
use.
Commands
directly affects help systems available to the user.
screen, eliminating the need to
proper
programs
Word 6
Microsoft's
the exact syntax of the
its
-face
will be
command
on
or the
key.
Screen Options
Formatting
of the
capabilities of the operating
environment.
It
it
is
to
large
extent,
if
the help
will
message
a separate screen will appear.
if
difficult for users to
have to switch back
a
remember what
Word is
a
will be located within the
the help screen states
to the operating screen (Weiss, 1985).
may be
dependent upon the
Critics of on-line help systems
displayed on part of the operating screen, for example
available line,
be
system being used and the constraints of the programming
must be determined
existing screen or
state that
screen,
at
the
when
Help messages
they
that are
bottom or on the next
limited in the depth the help message can display due to limited
registered trademark of Microsoft, Inc.
14
space.
It
also
may be
desirable,
as
mentioned
information needed to access the help system,
located either
at
the top or the
systems
Operating
windows
that
i.e.,
keep on the screen the
"F-l = Help".
many
bitmapped graphics
allow
information.
Some
are that excessive
usually
of the problems in screen formatting.
Windowing
and the help screen
size
to
if
be displayed
to
utilized will dictate if the
overlap each other, potentially blocking part of the other screen, or
in
is
independent
The operating system being
be moved and adjusted
This
for
support
capabilities allow for both the operational screen
simultaneously.
to
bottom of the screen.
that
can eliminate
earlier,
windows
the
will
window can
allow the user to have access to both sets of
of the problems that have been identified
in the
use of
window manipulation may be time consuming and
windows
distracting, the
need for window borders consumes valuable screen space, and small windows with
large
p.
amounts of information may lead
to excessive,
bothersome scrolling
(Galitz, 1989,
99).
Another consideration
page or
scroll
should keep
in
screen formatting
through the information
in
mind
that
if it
is
whether the help screen should
exceeds the space available.
Both methods
the user should have to exert minimal effort to go both
forward and backward in retrieving information to minimize any delay.
15
6.
Extensibility
Extensibility can be defined as "the ease with
adapted to changes of specifications"
(Meyer,
keep pace
to
As
the software
remain useful.
program evolves,
The user may
also
adding more information to the help message to
(Kearsley, 1988, p. 23).
added
to the help
A
Extensibility
1988, p. 5).
The information contained
important to the design of a good help system.
must be modifiable.
which software products may be
want
is
many
who
help
need
to
to "personalize" the help system,
reflect the
way
the
commar
used
system of preventing inaccurate information from being
system must be utilized
users
very
in the
the help system will
in order to
maintain the integrity of the help
system. If a user altered an existing help message inaccurately,
affect
is
also utilize the program.
to allow additions to the help
The proposed
it
would ultimately
solution to this problem
system while preventing modifications
to the original
content of the help system.
C.
HYPERTEXT
Hypertext has been hailed as ideally suited to help systems (Kearsley, 1988,
While hypertext has been around
upsurge
in interest
for over
it
19).
has recently enjoyed an
With hypertext, windows on the screen
(Conklin, 1987, p. 32).
associated with objects in a database.
two decades,
p.
are
Links are provided between these objects both
graphically and in the database as pointers.
selected that will then be further explained.
16
Major terms or control options can be
Any term
or graphic display can be used
to
provide further help.
transactions
boundaries;
Hypertext
capable of performing "high-speed, branching
is
on textual chunks" (Conklin, 1987,
at
same time
the
interface modality (Conklin,
it
is
a database
for various kinds of help information
It
on-line
help
system
that
across traditional
way
Any
uses
is.
It
on
hypertext.
it
automated
for high speed,
text item
can act as a "trigger"
and actions (Kearsley, 1988,
application with a simple interface so that
(Guidance, 1988,
a
is
p. 3).
International introduced "Guidance" in 1988.
sensitive
cuts
It
method, a representation scheme, and an
1987, p. 33).
browsing through information (Guide, 1988,
32).
p.
43).
p.
its
simplest level,
It
is
a
"read-only
Owl,
a context-
windows
can be driven by a host application"
p. 5).
Although there are many advantages
to using hypertext,
Conklin (1987)
lists
these
nine as significant:
Ease of tracing references.
Ease of creating new references.
Information structuring.
Global views.
Customized documents.
Modularity of information.
Consistency of information.
Task stacking.
Collaboration.
He
also identifies
lost in the
the
two major problems
document because
document.
This
there
is
"disorientation
in the use
of hypertext.
not the traditional linear
problem"
solutions, such as the use of a graphical
user can get
way of moving through
can be corrected through technical
browser
17
First, a
that
can "map" the network that
is
linked.
Secondly, "cognitive overhead" or the additional effort needed
tasks at once
may become
to juggle several
However,
troublesome with hypertext.
a rapid
utilizing
cross-reference node can ease this problem, as can an instantaneous one to three line
window
explanation in a pop up
Through
in
as a side reference.
the use of hypertext,
it
is
help design alternatives that promote
static
possible to incorporate
maximum
usability.
and dynamic context-sensitive help on a multi-level
many
of the concepts
Hypertext allows for both
basis.
It
can acce
^cific
information needs through the use of major terms which serve as pointers or triggers
to elaborate further information.
SUMMARY
D.
Help system design provides several
between space, time and
functionality.
alternatives.
Tradeoffs
Design decisions needed
will
be
required
in creating
a help
system have been delineated. Major decisions include:
dynamic
•
Utilizing static or
•
•
Making the help system multi-leveled.
Making help user or system-initiated.
•
Selecting screen options.
•
Incorporating extensibility.
•
Utilizing hypertext.
help.
Hypertext appears ideal for the development of a help system.
will incorporate the best features of each design alternative.
18
A
good help system
ID.
A.
THE GLAD HELP SYSTEM
DESIGN CONSIDERATIONS
The
objective of this project
is
to
develop a help system for
within this project are certain constraints.
a
is
IBM PC
that
Windows
is
-based application.
Windows
are
and
a
the
use
of a
is,
The design
These
Second,
on
GLAD
A
few examples of these conventions
of closing
as well.
GLAD
windows.
In addition,
a
it
is
common menu
is
a
graphical
logical that the
Windows
help
easily facilitates
bitmapped graphics.
principles for
six
to run
provides certain conventions and capabilities
In order to maintain the desired consistency,
the presentation of
Inherent
therefore, logical to develop a help
mouse, adjustable windows,
common method
system provide graphical capabilities
system.
It
the design of a help system.
and capabilities
presentation
7
Windows-based.
which influence
interface.
program must be able
compatible computer as requested by the project sponsors.
a Microsoft
system
First, the
GLAD.
Glad were established prior
to
the design of the help
design principles must be adhered to in order to keep the help
system consistent with
GLAD.
Previous developers of
GLAD
Microsoft Windows hereafter referred to as "Windows'
19
have suggested
that
it
Wu
should include a context-sensitive help system (Williams, 1988,
These suggestions have directed the design of the
Another consideration
development.
A
would provide
extensibility
considered
quality
in designing this help
method of implementing
and easy modification.
when working on any
B.
help system.
is
that
the help system
One
is
under
which must be
The time
time.
still
available for
finite.
help
system were obvious.
system for
developers of
GLAD,
GLAD
GLAD
GLAD
First, since
must
also
run
is
a
windows.
in
certain choices
Windows-based
application,
Second, since previous
specified the need for context sensitivity, a
capable of sensing the location of the user within the document
dynamic help system
is
preferred.
Third,
be useful to both the novice and the experienced user, the help system must be
multi-leveled, allowing the user to view as
The requirement of having
in
many ways,
a
design
GLAD
as
infonnation as required.
advantage.
states
Windows environment
The Microsoft Windows development
its
conventions and capabilities.
"be able to provide
20
Naturally,
GLAD.
the help system run within the
environment eases design decisions through
design principle of
much
on the same hardware
the system has to run
is,
is
was needed which
final constraint
the above constraints and the design principles for
for the help
to
GLAD
GLAD DESIGN CHOICES
Given
the
system
project of this nature
was
the completion of this project
GLAD
and Hsiao, 1989).
The
first
more information when asked".
The Windows programming environment
convenient method of incorporating
Windows recommends
establishes a conventions
position for help (Petzold, 1988, p. 361).
menu
1988, p.406).
Windows
F1=HELP
box on every menu bar of
the left
mouse button on
«'««.
it
on
the
menu
Modify
Figure 3.1
.
.
a
.-
bar as the standard
the
HELP
from other menu selections (Petzold,
GLAD,
F1=HELP
appears
in the
see Figure 3.1.
within the
menu
standard position enclosed in
Help can be accessed by clicking
bar from any
Open
v .-i^^
Remove
in
21
of
J>
GLAD.
tf
F1=Help
Quit
a^ M^-^^^aa^j^^
Standard Position of Help
window
=t:
C L R b
HMmibtiraitiaraara»imn
Programming
recommends enclosing
??WW&tt>vr»-.X«VX:C!**MX>T&JSeiK&X3^
I
Create
a
provides simple methods which allow menus to be developed
utilizing these conventions.
a
also
It
box which separates
selection within a
help system.
this principle into the
the right justified position
which provides
.,
GLAD Window
:nvarwimi:MUUiiaaiassaaB!&
Another
convention
the
Fl key
establishment of the
A
of
Window Programmers
as the standard
keyboard accelerator allows users
can also be executed using the mouse.
Fl key has been incorporated into
perform the same operation
in
keyboard accelerator
to execute a
mouse from
command
the
is
for access to help.
using the keyboard which
This convention of accessing help through the
GLAD.
Design principle
more than one way".
given two methods to access the help system.
the
Manual
Reference
tliree
Thus, the
He can
states "be able to
GLAD
either select
user has been
F1=HF
ising
Help window menu bar or use the keyboard accelerator Fl.
the
Regardless of the method used to access help, the
Fl=Help box
flashes on the
menu
bar to give the user visual feedback that help has been accessed.
Using Windows provides screen options
It is
frustrating
when
the user
longer visible in order
to
back while remembering
overlapping
in
a
window
separate
is
that
make
the help system
more
utilitarian.
required to switch to a screen where his work
no
reference the on-line help, only to be required to switch
all
of the pertinent information just viewed.
Losing
an
allows the user to simultaneously view his work and refer to help
window.
The user
will
not have
to
memorize information before
switching to his work screen. This ability to overlap and position a help
anywhere on
is
the screen has
been incorporated
into the
GLAD
window
help system.
The
information provided must be neatly formatted and presented in such a manner that
each screen explains a complete operation or concept.
22
Forcing the user to scroll
unknown amount of information can cause "information
through an
anxiety" as in
continuous scroll help systems.
Windows
provides
GLAD
incorporated into the
keystroke combination
methods
standard
for
clicking on the control-menu
or by double-clicking on the control-menu box.
window
are
consistent
with
windows which have been
The help window can be closed with
help system.
ALT_F4,
closing
box and selecting close
These methods of closing the help
Windows-based programs.
all
the
This consistency
and
adhere to design principles three and four, "perform the same operation
flexibility
more than one way" and "be
in
able to perform the logically equivalent operation in a
consistent manner."
The problem
system for
ACTOR,
then,
GLAD.
the
to
incorporate these design conventions
amount of code needed could be
amounts of time
someone study and
ACTOR
how
into
a
help
Consideration was given to writing the entire help system using
however,
substantial
is
to
In addition, changes
generate.
re-write the help system code for each
would allow graphics
unwieldy
and
require
would demand
change
to
GLAD.
to be incorporated into the help system;
that
Using
however,
this
could be difficult unless the graphics were limited to simple geometric figures such as
circles
and rectangles.
The decision was made
program designed
to
to research the incorporation of
produce a Windows-based help.
be capable of being easily integrated into
GLAD.
23
GLAD
with an existing
This program would have to
Consideration was given to using
a stand alone help
application
program
called
"HELP" produced by R Company
would run independently of
GLAD,
but
it
C.
This was ruled out, because
did not allow the use of graphics within the help system.
inadequate solution for
GLAD's
This
would provide an easy method
of providing textual help for Window-based applications.
it
(1988).
It
was considered an
help system.
GUIDE AND GUIDANCE
A
second application which was considered and ultimately selected for incorporation
into the
GLAD
read-only
help system
Windows
utility
is
OWL
International's
Guidance
is
a
designed to allow users to display help while running a
host application under Microsoft
Windows. Guidance permits
system which meets the design requirements of
in files referred to as
Guidance (1988).
GLAD.
the integration of a help
Help infonnation
is
contained
Guidelines. These Guidelines can contain both text and bitmapped
graphics. Guidelines are created using a
program called Guide*.
Guide
is
a general
purpose hypertext document generator supplied with Guidance (Guidance Manual, 1988,
p
9).
Guidance not only furnished a simple means of incorporating
into the
GLAD
GLAD,
ACTOR,
allows the easy integration of Guidance without
excessive coding.
a
and graphics
help system, but also provided the advantages of hypertext.
the implementation language of
Guide is
text
reqistered trademark of Owl International,
24
Inc.
When
accessed, Guidance opens an Index Guideline which
of Contents".
This Index then connects
Secondary Guideline, see Figure
to either
is
similar to a "Table
another part of the Index or to a
3.2.
GLAD
udqt
,w«
APPLICATION
.
.
|
INDEX
GUIDELINE
SECONDARY
GUIDELINES
Structuie of Guidance Help
Figure 3.2
Guide furnishes four types of buttons
Guidelines:
System
as a
Reference, Expansion, Note and
means of accessing information within
Command. These
blocks which create the help system structure.
system which
is
linked to additional material
25
buttons are the building
Information contained within the help
is
indicated by these buttons.
Reference buttons provide a means of linking material within a Guideline or
between Guidelines.
move
This powerful cross-referencing capability allows the user to
reference
the cursor
is
indicated by the
word
or
words of the Guideline shown
linked to
Clicking the
is
a
left
reference
mouse
are
button
when
the cursor
See Figure
is
the
cursor changing to
in this
EXPANSION BUTTONS
REFERENCE BUTTONS
NOTE BUTTONS
COMMAND BUTTONS
GUIDE BUTTONS
Shape of Guide Buttons
26
Arrow.
arrow shape will cause the
reference link to be traversed and the additional information to be displayed.
Figure 3.3
When
Graphics or areas of a graphic which
indicated by
also
linked to a
in italics.
positioned over a reference, the cursor changes to an arrow.
is
3.3 for the cursor shape of reference buttons.
are
Information which
quickly to other areas of the help system.
Expansion
hierarchically
nested.
indicated in bold type.
to
change
allow
buttons
contained
information
Text within a Guideline which
When
to a cross hair.
infinite
revealing
left
hidden below the button to appear.
number of
levels.
more and more
When
asterisk.
an Expansion button also
the information
level to level as desired, continually
details.
to access small pieces of
the cursor
is
supplementary information
Text which
is
positioned over a Note button
linked to a note
it
changes
See Figure 3.3 for an example of the shape of the Note button cursor.
the cursor
is
changes to an
positioned over a graphic which
asterisk.
window appears
When
the user clicks
are well suited to an on-line glossary,
Command
is
to
an
When
linked to a Note button, the cursor
on a Note button a small overlapping
containing the additional information.
only as long as the user continues to hold
system.
is
mouse button causes
about a topic and are intended for temporary display.
underlined.
is
This information can be nested to an
The user can go from
Note buttons allow the user
is
an expansion button
is
be
a user positions the cursor over an expansion
button displaying the cross hair, clicking die
is
to
See Figure 3.3 for the cursor shape of an Expansion button.
Positioning the cursor over an area of a graphic which
which
system
help
Positioning the cursor over this bold type will cause the cursor
to a cross hair.
changes the cursor
the
in
down
the left
This
window remains
mouse
button.
example fomiulas or short helpful
visible
Note buttons
hints.
buttons allow the user to launch other applications from within the help
This would be useful
if
the
user wanted to open up a text editor or a
27
spreadsheet to obtain information for entry or modification to a
user could also use this feature to open a text editor to jot
database he was using in
positioned over a
shape of
Command
Command
Utilizing
GLAD.
The cursor changes
button.
Guidance
in
to
notes about the
to a solid black
GLAD
implement a help system for
Microsoft
Windows' conventions.
hypertext.
arrow when
Guidance allows the
It
Windows and
furnishes
to the
is
GLAD
GLAD
has
several
help sy^
executable
file.
capabilities
through
The next chapter
incorporating Guidance into the
GLAD
will
discuss
help system.
28
the
implementation
be
Guidance
able to take full advantage of
multi-level
other
to
all
of
use
of
to
be
details
of
the
Guidance also provides functions which allow the help system
context-sensitive.
A
See Figure 3.3 for an example of the cursor
expanded or updated without requiring changes
designed to run
down
database.
buttons.
advantages not previously mentioned.
is
GLAD
GLAD HELP SYSTEM IMPLEMENTATION
IV.
A.
INTEGRATING GLAD AND GUIDANCE
Guidance takes advantage of a feature
interapplication communication.
Data Exchange (DDE).
(DLL)
Utilizing the
Windows environment
In essence,
it
is
is
GLAD
the
GLAD
is
referred to as
is
enables
Dynamic
Gydance.exe, a dynamic linked library
Dynamic
linked libraries are a feature of
allow separate applications to dynamically
able to
file
an executable
in
file.
communicate with Guidance through
become an extension of
executable
is
the
GLAD
linked to help only
smaller and less
modules which need
several different applications can share the
especially critical in a large integrated
of DLLs.
Windows
Windows which
compiled and linked separately
also faster because only those
ACTOR
Microsoft
to this are that the application file
Most importantly,
59).
that
allows Guidance to
when needed, making
link
is
DLL, Gydance.exe,
The advantages
The
Within Guidance
Each module
share code.
DDE.
This feature of
or dynalink (Petzold, 1988, p. 805).
the Microsoft
in
at
memory
program.
run tune
intensive.
to be linked are linked.
same resource, which
programming environment (Draganza, 1989,
is
p.
provides the library and procedure classes which allow easy integration
Gydance.exe furnishes three routines which aLlow
These routines
GLAD
to interface
with Guidance.
are:
Guidancelnitialise.
•
•
GuidanceSetContext.
•
GuidanceTerminate.
As
name
the
Guidance.
Once
A
link to
called.
requests
Guidancelnitialise
implies,
Guidance must be established through Guidancelnitialise pn
help
Guidancelnitialise must include the
guideline
using
name
o any
GuidanceSetContext
the
of the index guideline.
routine.
GLAD
The
is
index
All files associated with the help system are noted by
the file index. gui.
is
and
established this link remains until the GuidanceTerminate routine
context-sensitive
for
GLAD
a link between
initializes
the ".gui" extension.
Figure 4.1 shows the
Guidance
method of
object
is
established.
is
the
GLAD
The Guidancelnitialise
GladWindow
created.
This figure indicates where the link to
hierarchy.
class.
Figure
4.2
This method
shows
the
routine
is
is
executed
in the
InitGuidance
executed each time a Glad
ACTOR
code
associated
Window
with
the
Guidancelnitialise routine.
Notice that prior to executing the Guidancelnitialise routine,
GLAD
library
must create a new
Each
GLAD
window which
contains a
a user requests help by selecting
sent to the appropriate
a call to the
GLAD
and add the three routines provided by Guidance.
menu
bar provides access to help.
"F1=HELP" from
the
menu
bar, a help
window. The help method of each window
GuidanceSetContext routine.
When
message
is
class includes
This routine enables the help system to be
30
Object
GladObj
Library
GladApp
Windows-
Collection
Error Box
Object
Indexed
Set
Window
Dialog
Collection
Point
Byte
Array
Collection
Ordered
Struct
About
MyWindov
DBDialog
Window
Attribute
Collection
Describe
Dialog
Window
Object
ColorTable
|_
Dialog
DMWindov-i
Type
Graphics
Object
GLAD
Window
Dialog
Proc
Delete
Rect
NestedDM
Window
DD-
Window
Window
ListMem
Window
GuidanceTerminate Routine
Contained in Identified Class
OneMemGuidancelntialise Called
^Vindow
from Identified Class
X
GuidanceSetContext Routine
Contained in Identified Classes
AddOne-
Display-
Window
DneWindov
Guidancelntialise Routine
Executed
in
Identified
Class
Bitmaps
Figure 4.1
GLAD Hierarchy
31
/* Initialialse call to
Def
Guidance
*/
initGuidance(selflaStr,aString)
(Lib :=
new (Library);
Lib. name := "Gydance.exe";
add(Lib,
#GUIDANCEINTnALISE,
add(Lib,
#GUlDANCESETCONTEXT, 0, #(0
#GUIDANCETERMINATE, 0, #(0));
add(Lib,
0,
#(0
10
1
1
0));
0));
load(Lib);
aString :=
"GLAD";
aStr := "index. gui";
HGuide :=pcall(Lib.procs[#GUIDANCEINrnALISE],
HInstance, handle(self), lP(aString),
lP(aStr), 1,1);
HI
Figure 4.2 Guidancelnitialise Routine
context-sensitive.
the
name of
Included in
the current
GLAD
methods which
calling
window
is
this
GLAD
utilize the
GuidanceSetContext
window.
call
is
Figure 4.3 contains
GuidanceSetContext routine.
contained in a string in each method.
a string that contains
some examples of
the
name of
the
Notice the
Guidance searches the index
guideline for this string, then traverses the link to the guideline containing information
about the requesting window. This guideline then appears on the screen.
See Figure
4.4.
Figure 4.1 also indicates the location of the GuidanceTerminate routine within the
GLAD
hierarchy.
class.
When
the
This routine
is
executed by the shouldClose method of the GladApp
shouldClose message
is
sent to the
32
Glad Application,
the
GladWindow
Def
Class
topHelp(selflaStr)
{aStr
:=asciiz("GLAD
WINDOW");
pcall(Lib.procs[#GUIDANCESETCONTEXT],HGuide.
lP(aStr),l);
freeHandle(aStr);
DMWindow
Def
Class
help(selflaStr)
{aStr :=asciiz("Data Manipulation
Window");
pcall(Lib.procs[#GUIDANCESETCONTEXT],HGuide.
lP(aStr),l);
freeHandle(aStr);
DDWindow
Def
Class
help(selflaStr)
(aStr :=asciiz("Data Definition
Window");
pcall(Lib.procs[#GUIDANCESETCONTEXT],HGuide,
lP(aStr),l);
freeHandle(aStr);
ListMemWindow
Def
Class
help(selflaStr)
Members Window");
pcall(Lib.procs[#GUIDANCESETCONTEXT],HGuide,
{aStr :=asciiz("List
lP(aStr),l);
freeHandle(aStr);
)
Figure 4.3 Example
GLAD
Methods
33
Utilizing GuidanceSetContext
Data Manipulation
[fi=help
f
"DHL WINDOW
"
1
DML WINDOW
Data
Manipul
Windo
Index .gui
HELP
DML. gui
Figure 4.4 Guidance Use of Search Stnng to Find Context-Sensitive Help
/* If
it
any cleaning up needs
to
be done in the application before closing,
should be done here. */
Def shouldClose(self)
pcall(Lib.procs[#GUIDANCETERMINATE],HGuide)
{
Figure 4.5
GladApp Class shouldClose Method
34
}
!
on
GuidanceTerminate routine
executed.
is
Figure 4.5 depicts the shouldClose method.
GLAD.
GuidanceTerminate removes the link between Guidance and
IMPLEMENTING THE HELP SYSTEM ACCELERATOR KEY
B.
Menus
ASCII
(Duff,
GLAD
for
and
others,
1989,
Incorporating the Fl
key
is
are defined in the "resource script file".
A
343).
p.
GLAD's
contains a portion of gladv02.rc.
\a"Fl=Help\ HELPER,
HELPER
with
this
Fl,
is
menu
HELPER
contained in the
ACTOR
was
is
gladv02.rc.
is
file.
the Fl accelerator
"HELPER"
selection.
The word
HELP
associates the
causes a box to be
In gladv02.rc, the line
HELPER, VIRTKEY
file
HELPER. The
The
menu
integer
950 can then be used
selections for each
similar to an array in procedural
arbitrarily chosen;
line
950
glad.h.
dictionary which contains the
in
strings.
resource script
implement
to
to be right justified.
associates the Fl key with the identifier
#define
GLAD's
file
an
HELP
placed around the words "Fl=Help".
VK
Code
script
is
In the line
"Fl=Help" on the menu
the (\a) causes
resource
accelerator key involves altering
delineated in bold lettering.
identifier
This
which contains GLAD's menus, dialogs, accelerator keys, icons and
file
Appendix
windows
however,
it
had
GLAD
window.
programming languages.
to be higher than the
35
as an index to the
A
dictionary
This number
number of menu
options.
This
is
a standard
and header
Windows convention
files refer to
for calling help.
Petzold (1988)
which associates
method
class.
each
C.
each appropriate
GLAD
window
the identifier
Appendix B contains
the
"HELPER"
with the help
InitMenuID methods
for
class.
GLAD HELP ORGANIZATION
The Guidelines
for
GLAD
each window within the
to
RC
The InitMenuID method of each window
.
class contains the dictionary
for
For further explanation of
were designed
GLAD
to
provide modules of infonnation for
These Guidelines were further developed
hierarchy.
provide multi-leveled help within each Guideline.
only as
much
This enables the user
Figure 4.6 demonstrates
information as desired.
how
access nested information through the use of expansion buttons.
Figure 4.6 shows a section of the
GLAD
Data Definition
user desires additional infonnation pertaining to the
the user
"QUIT"
to a cross hair confirms that the text
mouse button
Window
QUIT menu
minimal
effect
the
GLAD
an expansion button.
below
displays the information
The modular design of
is
is
shown
able to
Guideline.
If the
selection, he can
The bold
font
The cursor changing
an expansion button.
in the
is
The top window of
obtain this information by positioning the cursor over the text "QUIT".
visually indicates that the text
to retrieve
Clicking the
bottom window of Figure
left
4.6.
help system allows Guidelines to be altered with
on the remainder of the help system.
permits quick, easy reading and reduces the amount of
36
Keeping the Guidelines small
memory
required.
Print
Top
for
Guidance for
Back
Search
a nested
:
Gl
AD
F1-HELI
object.
.5)DELETE - Selecting delete will delete entities from
database schema which are no longer needed
(4.1
the
HELP
-Provides comprehensive user assistance. For
information concerning the reading of hypertext and using this
help system, click on HELP at beginning of this paragraph. For
an index to G LAD help topics click on " G LAD help Index
(4.1 .6)
following this paragraph.
(4.1
7)QU IT- leave
current
window
CLAD he/p /ndex
Help concernig
QUIT
prior to expanding
Guidance for
;
GLAD
F1-HELP
.5)DELETE - Selecting delete will delete entities from
database schema which are no longer needed.
the
(4.1
(4.1 .6)
HELP -Provides comprehensive user assistance.
information concerning the reading of hypertext
HELP at
help system, click on
an index
to
G LAD
For
and using
this
beginning of this paragraph. For
help topics click on
"
G LAD
help Index
following this paragraph.
DDL window and returns the user to the
GLAD WIN DOW. When in the GLAD Window QUIT returns the
(4.1
.7)QU IT- Closes the
user to the
Windows
operating system.
CLAD he/p /ndex
Help concerning
QUIT
after
expanding
Figure 4.6 Demonstration of Expansion Buttons
37
The help system
for
each
GLAD
designed
is
window
emulate the look and feel of
to
GLAD. The
contains a replica of that window, see Figure 4.7.
GLAD
help system will behave identically to the
provided with help information
when an
operation
Guideline
Ideally, the
program, except the user will be
is
This allows the user to
selected.
visually associate a
GLAD
HELP
For example, the user can obtain help by positioning the cursor
Guidelines.
operation with a replica of that
over the item in the replica's
in the
GLAD
to
menu
bar that corresponds with the same
action
Clicking the mouse on this item causes the help system to
window.
respond similarly
menu
operation contained in the
GLAD
and provide help on
Examples of
that operation.
operations will also be included whenever possible within help to
make
GLAD
the information
as clear as possible.
As mentioned
hypertext
documents
incorporated into the
accessing help.
Guideline he
is
and a
would
the potential to
disadvantage
a
is
II,
GLAD
using.
become
of hypertext.
disoriented while reading
A
numbering system was
help system in order to rrunirnize user disorientation while
The numbering system allows
Index Guideline.
indices.
Chapter
in
the user to, at
The Guideline number corresponds
GLAD
Figure 4.8 shows the
Each successive nesting
minimum,
to a
identify
which
number assigned
in the
index Guideline and
level within the Guideline will
is
two
levels
an example of the numbering system.
deep
associated
add a decimal point
digit indicating the user's relative position in the Guideline.
indicate the user
its
in the fourth Guideline.
For example, 4.1.2
Figure 4.9 shows
Should the user become disoriented. Guidance
38
Describe Expand ListMembers
ShowConnection Quit
Change
Query
ELEC SVS
AIR FN TOOLS
ENU SVS
The GLAD DML Window is displayed each time an existing
database is Opened The content of this window is dependent on
the database selected. The window above shows an example of
opening a AH IS Helicopter database. For additional information on
GLAD DML window operations, expand Glad DML Window menu
.
Figure 4.7 Help
Print
Window
Jop
with Replica of
DML Window
Guidance for
Search Sack
:
GLAD HELP INDEX
1
.0
4
6
rTRFl
GLAD
F1=HELP
J
|
*1
Giad Window
2.0 Open Database Diaiog
3 Remove Database D/a/og
Data Definition Window
5.0 Defining a Database
Data Maniputation Window
7.0 DispiayOne Window
9.0 Describe
9.0 List Members Window
1 0.0 Stiowconnection
GLAD Papers
.0
1
1
1
2.0
Usmg t/ie Hypertext heip system
i*J
Figure 4.8
GLAD Index Guideline
39
menu
provides the
BACK
selection
on the help window menu
user to retrace the steps that he has taken within the
provides a
TOP menu
Links
beginning of the Guideline.
familiar should he
TOP
the
to
GLAD
become
Windows and
In addition,
lost.
searches
current
the
corresponding
is
displayed
If the
to the
dialog box
Guideline
it
which
allows the user to access help in
This includes information concerning
that
requires explanation, he can use the
the user selects
SEARCH
infonnation
locate
is
contained
on
this
in the current
topic.
from any
Guidance
If
a
string
Guideline, the Guideline
of the infonnation.
user desires a printed copy of the on-line help information,
PRINT
a position
appears requesting the search topic.
to
requested topic
at that position
by selecting
printed as
a
automatically takes the user to the
it
When
search capabilities provided by Guidance.
window menu,
Guidance also
operations, not contained in the current Guideline.
Should the user have a specific topic
help
Guideline.
Index Guideline been have dispersed
areas not contained in the current Guideline.
other
This allows the
This provides the user easy access to
throughout the help system.
is
Selecting
selection.
bar.
from any
GLAD
appears on screen.
If
help
window menu
bar.
it
can be printed
The document
will be
an extended print-out of on-line information
desired, expansion buttons can be unfolded providing the full information available
is
on
the screen. If fewer details are required copy, only the desired information should be
displayed, prior to selecting
window with
the
PRINT.
Figure 4.10 displays an example of a
TOP, SEARCH, and PRINT menu
40
selections.
GLAD
help
Guidance for
:
GLAD
F1-HELP
DDL WINDOW
(4 1)
(4.1.1)
selections
SAVE- This menu
selection
database schema to a disk tile
(4.1.2)
DEFINE-
objects for an existing or
(4.1
3)ATTRIBUTE
EXPAND
a nested
(4.1
-
new
.
Permits definitions of attributes for defined
entities.
(4.1 .4)
for
save changes to the
Selecting define allows the user to define
new
data
will
for later use.
-Allows the definition of specialization entities
object.
5)DELETE
-
Selecting delete
will
delete entities from the
database schema which are no longer needed.
HELP -Provides comprehensive user assistance
For
information concerning the reading of hypertext and using this
help system, click on HELP at beginning of this paragraph. For
"
an index to G LAD help topics click on " G LAD help Index
(4
1
.6)
Figure 4.9 Example Numbering Used
Print
(1.1)
Top
Search
To Minimize
UserTDisorientation
gacli
GU\D WINDOW menu
:
(1.1.1)
CREATE
(1
.1
.2)
MODIFY - allows an existing database to be changed
(1
.1
.3)
OPEN
(1
.1
Figure 4.10
.4)
-
-
allows generation of
new database
presents existing database for manipulation
REMOVE
-
delete an existing database
GLAD Help Window Menu
41
Any word
may
or concept within the Guideline that
linked to a Note button.
a
Note button which
Text which
"Select".
Guidelines
Manuals.
are
is
a Note button
constructed
in
visually indicated
is
to present a
complete descript:
User
of an
This prevents the user from being required to scroll
through multiple windows to obtain the infonnation desired.
Some
by an underline.
accordance with the Guide and Guidance
Help windows have been designed
situations.
show an
Figure 4.11 example
used to provide further explanation for the term
is
operation within a single window.
all
is
This serves as an on-line glossary of terms, providing the
user quick explanations of unfamiliar terminology.
example of
require further explanation
This was not possible in
more than one screen
operations required
to fully explain the
operation.
D.
MEMORY MANAGEMENT
Throughout the development of the
been a troublesome
ACTOR
solution
Attempts
issue.
program environment on
which allowed
GLAD
a
GLAD
help system,
integrate
to
Guidance and
640K machine were
and Guidance
to
Guidance
utility
to run within the
386
ACTOR
Max
9
unsuccessful.
additional
were required.
,
42
Inc.
has
within the
The only
ACTOR
megabyte of memory
GLAD
and
was believed
that
This enabled
programming environment.
386 Max is a trademark of Qualitas
GLAD
run simultaneously within the
programming environment was expanded memory. An
and the memory manager
memory management
It
Erlnt
Jop
Search
Guidance for
gack
In
(2.0)
GLAD
:
%
GLAD
-o
F1-HELP
order to select an Item, position
Op the desired Item and click the
When selected, the item will
left
be
trie
cursor over |±|
mouse
button.
highlighted.
D«_
Leisure Planning
MPS Lab Equipment
Pine Ualley Furniture
Test Connection DB
^
OPEN
[
]
Co,
ABOUT
HELP
[
(
CANCEL
]
)
)
1
Select Open from the GLAD Window menu. A list box
containing a listbox of the G LAD Databases similiar to the
one shown above
will apear.
Select the name of the database you want to open from
the listbox. After a database is selected it will appear
highlighted in the listbox.
2.
Figure 4.11 Example Note Button
once development was complete
and a stand-alone version of
expanded memory would be unnecessary.
using
ACTOR
For example, the
ACTOR
removed and consequendy freed memory
incorporate
Guidance
with
GLAD
produced,
Development of a stand-alone application
involves a process of removing portions of
by the application.
GLAD
was
for
which
are not
used
Debugger, Editor and Browser were
GLAD.
written
a stand-alone did not produce the desired results.
Once
and
environment, a stand-alone application was produced.
43
ACTOR
tested
the code required to
within
the
ACTOR
Unfortunately, development of
The help system operates
with one
correctly
Opening more than two windows reduces
system to a point where
Insufficient
memory
more windows.
If
memory
is
two
GLAD
amount of memory
Windows
open.
available to the help
insufficient to correctly display the Guidelines.
results in an error
expanded memory
the
or
is
message requesting the user
available,
perfectly together.
44
GLAD
to close
one or
and the help system work
CONCLUSIONS
V.
STRENGTHS AND WEAKNESSES
A.
The purpose of
this thesis
was
to design a help
system developed met the six design principles of
features necessary in a help system.
•
The hypertext
•
It
is
intuitive,
•
The
GLAD
GLAD.
The help
while incorporating important
strengths of the design are:
provides
capability
system for
access
to
virtually
endless
amounts of
information without reading unnecessary information.
easy to learn and use.
terms of time to implement.
It
is
powerful and cost effective
•
It
is
extensible.
•
Minimal changes
•
Graphics as well as text are easily incorporated.
The weaknesses of
to
GLAD
in
were required
the proposed help
system
to incorporate the help system.
are:
expanded memory.
•
The help system
•
Despite the indexing system, the potential for the user to
will not run correctly without
within a hypertext document
The major weakness of
order to achieve
state
that
memory,
this
design
functionality.
become
disoriented
exists.
is
the requirement for
expanded memory
While the design constraints did not
this is the
most
common memory
for additional
memory
capability of
IBM
45
640K of
compatible computers.
limits the use of this help
have expanded memory.
in
specifically
help system was limited to operation on a computer with
The requirement
that
its full
this
still
system to computers
The implications of
this
too limiting for a project the size and scope of
interfaces require resources, specifically
features are added to a system.
memory.
If
640K
is
As
GLAD.
memory.
GLAD
More memory
expands,
an absolute requirement,
it
GLAD
choice must be
inferior help
it
more
will continue to require
more
will better serve the
needs of the
suits the
will result
in
GLAD
needs of
project.
a situation such that, as
GLAD
project.
memory
6
to
Restricting
is
more capable,
is
.1.
GLAD
system which would allow
GLAD. The
GLAD
is
will not only limit the capabilities of
operate within 640K, or the proposed help system which
change and
is
required as
project must not be constrained by limiting
made between an
640K
be that
Intuitive, user friendly, graphic
the help system, but also the capabilities of the entire
The
memory may
requirement for additional
is
A
to
easier to
help system as proposed best
GLAD
to a
640K
of environment
developed and expanded, the help
system will necessarily deteriorate.
The
limitations
associated with the
640K memory
operating system have been documented for
become
at least five
imposed by
years.
These limitations have
the
a driving force behind the development of operating systems such as
which provide greater
capabilities.
This hurdle of
memory
limitation
with, in order to implement any help system as well as to develop
potential.
46
DOS
barrier
must be
GLAD
to
its
OS2,
dealt
fullest
B.
FUTURE AREAS OF RESEARCH
Methods
to
make maximum use of
available
memory need
GLAD
areas of research include exploring development of
alleviate
memory
difficulties.
MS-DOS
would allow
Along with research
machines
to take
advantage of
OS2
OS2
with
Possible
UNIX
or
to
and UNIX, methods which
memory beyond 640K
memory demanded by
Investigations into optimizing the
investigated.
into
to be explored.
should be
GLAD
would
also be beneficial.
Constructing hypertext documents to provide the best access to information for
users
another area of possible research.
is
where he
is
in
the
disorientation a user
An
hypertext
may
intelligent help
suggests
courses
exploration
animation.
of action
and research.
document need
experience
system
or
Additional methods of indicating to the user
that
when
in
developed
determines where the user
corrects
Sound may
eliminate
to
the
reading a hypertext document.
mistakes
also
tenns of actual benefits to the
47
is
an
area
is
in
that
a
is
GLAD
program and
deserves
enhance the help system,
These features require technology which
be too costly
be
to
as
further
well
not currently available and
project.
as
may
APPENDIX A
-
SAMPLE SECTION OF GLADV02.RC
This appendix contains a portion of the
to the
file
gladv02.rc.
implementation of the help system menus
GladTopMenu
MENU
BEGIN
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
END
GladDmlMenu
"Create",
1
"Modify", 2
"Open",
3
"Remove", 4
"Quit",
6
HELPER. HELP
"\aFl=Help",
MENU
BEGIN
MENUTTEM
MENUTTEM
POPUP
BEGIN
"Expand".
1
2
"ListMembers"
MENUTTEM
MENUTTEM
END
POPUP
BEGIN
"Describe",
"All at Once",
3
"One by One",
4
"Change"
MENUTTEM "Add data", 5
MENUTTEM "Delete data",
MENUTTEM "Modify data", 7
END
MENUTTEM "Query",
8
MENUTTEM "ShowConnection", 9
MENUTTEM "Quit",
11
MENUTTEM "\aFl=Help", HELPER, HELP
END
48
is
shown.
Only
the section pertinent
GladDdlMenu
MENU
BEGIN
MENUITEM
MENUITEM
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
END
GladLMMenu
nn
Save
*
it
1
,
"Define",
2
"Attribute", 3
4
"Expand",
"Delete",
5
"Quit",
7
"\aFl=Help",
HELPER,HELP
MENU
BEGIN
MENUTTEM
MENUTTEM
MENUTTEM
MENUTTEM
END
"More",
1
"Modify", 2
4
"Quit",
"\aFl=Help",
GladOMMenu
BEGIN
MENU
MENUTTEM
MENUITEM
MENUTTEM
MENUITEM
MENUITEM
"Add",
HELPER,HELP
1
"Delete", 2
"Modify", 3
4
"Prev",
"Next".
5
POPUP "GoTo"
BEGIN
MENUTTEM
MENUITEM
MENUITEM
END
MENUTTEM
MENUTTEM
MENUITEM
END
"First",
7
"Last",
"I th",
"All",
6
8
9
"Quit", 11
"\aFl=Help".
HELPER,HELP
49
GLADV02 ACCELERATORS
BEGIN
VK_INSERT, EDIT_PASTE, V1RTKEY
VK_SUBTRACT, EDIT_CUT, VIRTKEY
VK_ADD, EDIT_COPY, VIRTKEY
VK_LEFT, VK_LEFT, VIRTKEY
VK_UP, VK_UP, VIRTKEY
VK_RIGHT, VK_RIGHT, VIRTKEY
VK_DOWN, VK_DOWN, VIRTKEY
"A
"A
"A
a",
r",
z'\
EDIT_SELALL
BR_REFORM
BR_ZOOM
VKJF1, HELPER, VIRTKEY
VK_TAB, EDIT_TAB, VIRTKEY
VK_PRIOR, EDIT_PRIOR, VIRTKEY
VK_NEXT. EDIT_NEXT, VIRTKEY
VK_HOME, EDIT_HOME, VIRTKEY
VK_END, EDIT_END, VIRTKEY
VK_DELETE, EDIT_CLEAR, VIRTKEY
VK_DELETE, EDIT_CUT, VIRTKEY, SHIFT
VKJNSERT, EDIT_COPY, VIRTKEY, CONTROL
VK_INSERT, EDIT_PASTE, VIRTKEY, SHIFT
END
50
APPENDIX B
-
GLAD INITMENUID METHODS
GLAD WINDOW CLASS
Def initMenuID(self)
<
menuID
:=
%Dictionary
(
l->#makeNewDb
2->#modifyDb
3->#openDb
4->#removeDb
950->#topHelp
6->#close
)
it
}
DM WINDOW CLASS
Def initMenuID(self)
(
menuID
:= %Dictionary(
l->#describe
2->#expand
3->#listMembers
4 ->#one Member
5->#addMember
6->#deleteMember
7 ->#modify Member
8->#query
9->#showConnection
950->#help
ll->#close
)
III
51
DDWINDOW CLASS
Def initMenuID(self)
(
menuID
:=
%Dictionary(l->#saveSchema,
2->#defineObj,
3->#attacliAttr,
4->#defNestedObjects,
5->#deleteObj,
950->#help,
7->#quit)
DISPLAY ONE
WINDOW CLASS
Def initMenuID(self)
I
menuID
:=
%Dictionary( l->#addMember
2->#deleteMember
3 ->#modify Member
4->#prev
5->#next
6->#first
7->#last
8->#goToIth
9->#allAtOnce
950->#help
1
l->#close)
}!!
LIST
MEMBERS WINDOW CLASS
Def initMenuID(self)
(
menuID
:= %Dictionary(
l->#more
2->#modify
950->#help
4->#close
Ml
)
LIST
Conklin, Jeff, "Hypertext:
An
OF REFERENCES
Introduction and Survey", IEEE, September 1987.
Draganza, Michael, "Dynamic Link Libraries Under Windows", Computer Language,
Vol. 6, no. 5, 1989.
Duff, Charles, and others, Actor
Dumas, Joseph
S.,
Galitz, Wilbert,
Language Manual, The Whitewater Group, 1989.
Designing User Interfaces for Software, Prentice Hall, 1988.
Handbook of Screen Format Design, 3rd
Edition,
QED
Information
Sciences, Inc., 1989.
Guidance:
Hypertext
Help
Hypertext for
System.
Software
Developers,
Owl
Techniques
to the
International, Inc., 1988.
Guide:
Help,
Hypertext for the PC,
R Company
Owl
International, Inc., 1988.
Ltd., 1988.
Jackson, Peter and Lefrere, Paul,
"On
Design of Advice Giving Systems",
the Application of Rule-based
Int.
Journal of Man-Machine Studies, Vol. 20,
1983.
Kearsley, Greg, Online Help Systems:
Design and Implementation, Ablex Publishing,
1988.
"Computer-Human
and People, Vol. 30, Nos. 5 &
Killory, J.F.,
Interaction and the
Documentation Puzzles", Computers
6, 1987.
Meyer, Bertrand, Object-Oriented Software Construction, Prentice-Hall, 1988.
Petzold, Charles,
Programming Windows, Microsoft
53
Press, 1988.
"Help
Roger,
Roberts,
-
A
Question
Answering
System",
AFIPS Conference
Proceedings, Vol. 37, Fall Joint Computer Conference, 1970.
Rowell, Michael, The Suitability of an Object Oriented Language for Prototyping and
Abstracting Data Types, Master's Thesis, Naval Postgraduate School, June 1988.
Shneiderman,
Computer
Weiss,
Ben, Designing the User Interface, Strategies for Effective
Human
Interaction, Addison- Wesley Publishing, 1987.
Edmond
H.,
How
to Write
a Usable User Manual, ISI Press, 1985.
Williamson, Michael, An Implementation of a Data Definition Facility for the Graphics
Language for Database, Master's Thesis, Naval Postgraduate School, December 1988.
Wu,
C.
Thomas,
GLAD:
Graphics Language for Database, Prepared for Chief of
Naval Research, 1987.
Wu,
C.
Thomas and
Hsiao, David K., Implementation of Visual Database Interface
Using an Object Oriented Language. Presented
at
1F1P
TC-2 Working Conference on
Visual Database Systems, Tokyo, Japan, April 1989.
Wu,
C.
Thomas, "Benefits of Object-Oriented Programming
to
Implement a Visual
Database Interface", Case Studies of Object-Oriented Programming, Addison- Wesley,
Publication pending.
54
INITIAL DISTRIBUTION LIST
1.
Defense Technical Information Center
Cameron
2
Station
Alexandria, Virginia 22304-6145
2.
Library,
Code 0142
2
Naval Postgraduate School
Monterey, California 93943-50022
3.
Commandant
Code TE 06
of the Marine Corps
1
Headquarters, U.S. Marine Corps
Washington, D.C. 20360-0001
4.
Department Chairman, Code 52
2
Department of Computer Science
Naval Postgraduate School
Monterey, California 93943-5000
5.
Curriculum Officer, Code 37
1
Computer Technology
Naval Postgraduate School
Monterey, California 93943-5000
6.
Professor C. Thomas Wu, Code 52Hq
Computer Science Department
10
Naval Postgraduate School
Monterey, California 93943-5000
7.
Professor David Hsiao
1
Computer Science Department
Naval Postgraduate School
Monterey, California 93943-5000
55
Captain Lon M. Yeary
Lon O. Yeary
2N236 Pearl Avenue
c/o Mr.
Glen Ellyn,
Illinois
60137
56
Thesis
Y336
c.l
Yeary
Implementation of a
hypertext help system
for GLAD, a Graphics
LAnguage for Database.
13 FEB 93
Thesis
Y336
c.l
3
? G 9
Yeary
Implementation of a
hypertext help system
for GLAD, a Graphics
LAnguage for Database.
.<">"«*>
#
ff
B£mcKj