AHA! An open Adaptive Hypermedia Architecture

advertisement
AHA! An open Adaptive Hypermedia
Architecture
Paul De Bra*
Department of Computing Science
Eindhoven University of Technology
(TUE)
PO Box 513, Eindhoven
The Netherlands
Licia Calvi
Department of Computer Science
Trinity College
Dublin 2
Ireland
Licia.Calvi@cs.tcd.ie
debra@win.tue.nl
*
Paul De Bra is also affiliated with the University of Antwerp, and with the "Centrum voor
Wiskunde en Informatica" in Amsterdam.
Abstract: Hypermedia applications generate comprehension and orientation problems due to their rich link
structure. Adaptive hypermedia tries to alleviate these problems by ensuring that the links that are offered
and the content of the information pages are adapted to each individual user. This is done by maintaining a
user model.
Most adaptive hypermedia systems are aimed at one specific application. They provide an engine for
maintaining the user model and for adapting content and link structure. They use a fixed screen layout that
may include windows (HTML frames) for an annotated table of contents, an overview of known or missing
knowledge, etc. Such systems are typically closed and difficult to reuse for very different applications.
We present AHA, an open Adaptive Hypermedia Architecture that is suitable for many different
applications. This paper concentrates on the adaptive hypermedia engine, which maintains the user model
and which filters content pages and link structures accordingly. The engine offers adaptive content through
conditional inclusion of fragments. Its adaptive linking can be configured to be either link annotation or
link hiding. Even link disabling can be achieved through a combination of content and link adaptation. We
provide three examples of different applications that are all based on the same engine: an adaptable course
text where full text and viewgraphs are integrated, a fully adaptive course on the subject of hypermedia
(using a simple presentation without HTML frames) and a "kiosk" information system (with frames and
JavaScript).
Keywords: adaptive hypermedia, user model, conditional content, link hiding, link annotation, standard
HTML
1. Introduction and Background
Authoring usable hypermedia documents has turned out to be more difficult than anyone (we
know of) ever anticipated. Several researchers have already indicated that coherence and
(avoidance of) cognitive overhead are important issues that make authoring difficult (1), (2) Two
severe usability problems in hypermedia are (content) comprehension and orientation:

In hyperdocuments with a rich link structure there may be many paths leading to a single
information node or page. (We often treat the terms "node" and "page" as synonyms in
this paper.) The contents of a node may be strongly related to or even depend on another
node of the same document. In a book the author usually assumes that the reader goes
through the book in a sequential order (from front to back). The author thus knows which
pages a user has read when arriving at a certain page in the book, and can ensure that all
information this page depends on is presented in preceding pages. (Should a user choose
to read the book in a different order she knows that difficulties are to be expected.) In a
hyperdocument there are so many possible paths that it is almost impossible to ensure
that a user can only reach a given page after reading all the other nodes the given page
depends on. Users thus often encounter nodes that are difficult or impossible to
understand due to lacking foreknowledge.

The hypertext link mechanism generates disorientation, also known as the "lost-inhyperspace" problem. Reading a book is like walking along a (straight) street. It is very
unlikely that someone would get lost or become disoriented. Walking through a gridstructured city is also fairly easy. But in hyperdocuments the link structure is complex.
Part of it may be a nice structure like a hierarchy, but part of it may consist of (relevant
but seemingly randomly structured) cross-references. This resembles exploring a city by
randomly taking the subway. It does not take long to completely lose all perception of
geographic location and of direction.
Adaptive hypermedia (or AH for short) tries to overcome these problems through the use of
techniques from the area of user modeling and user-adapted interactive systems. (Many
interesting research papers on AH appear in the Journal "User Modeling and User-Adapted
Interaction" which is published by Kluwer Academic Publishers. We refer to several of these
publications in this paper.) An adaptive hypermedia system (or AHS for short) builds a model of
the "mental state" of the user, partly through explicit directives given by the user, and partly
through observing the interaction between the user and the system. User preferences and explicit
indications of (fore)knowledge provide information to make the system adaptable, while
observing the user, often without that user even being aware of it, enables the system to ensure
that the user feels comfortable because all hypertext links always lead to interesting and relevant
information which the user (supposedly) is able to understand. This automatic adaptation is what
makes the system adaptive. To reach this goal the system adapts the contents of each node to the
appropriate level of difficulty, adding explanations where needed, avoiding technical terms that
cannot (yet) be understood, removing irrelevant detail, etc. The system also ensures that the user
is guided towards links that lead to more relevant, interesting and understandable information.
The above claim sounds too good to be true, and to some extent this is justified criticism: AH
provides a framework that makes it possible to alleviate the common comprehension and
orientation problems, but in order to actually achieve this goal one still needs a skilled author. As
De Young (3) states:
"(...) if a hypertext is a densely connected unstructured graph, no presentation of the
mess is going to clean it up or make it conceptually easier to understand."
In this paper we present (part of) AHA, an open Adaptive Hypermedia Architecture for
generating Web-based applications. In particular we focus on the adaptive hypermedia engine of
AHA, which maintains the user model and performs the adaptive filtering of information
contents and link structure. AHA is a tool for creating adaptive hypermedia applications, but not
a magic wand that turns any given hyperdocument into an easily usable adaptive hypermedia
application.
Many different definitions of and techniques for adaptive hypermedia exist. A good overview is
presented by Brusilovsky (4). This overview characterizes 29 different adaptive hypermedia
systems as to their type of application and the adaptive techniques they use. The application
areas are educational hypermedia systems, on-line information systems, on-line help systems,
information retrieval hypermedia, institutional hypermedia and personalized views. Only 5 of
the systems were classified under more than one of these areas, among which 4 are both an online information system and an information retrieval hypermedia system. The only system fitting
more than one other category is Hypadapter (5), an "Adaptive Hypertext System for Exploratory
Learning and Programming", which Brusilovsky classifies as both an educational hypermedia
system and an on-line information system, but which in our opinion is much more of the first than
of the second category.
AHA is (an extension of) the architecture and AH engine used for the on-line course
"Hypermedia Structures and Systems" (hereafter called "the hypermedia course"), developed by
the first author, and offered to students at several universities in The Netherlands and Belgium.
We often refer to this course as "2L670", its original TUE course code (or 2L690, its current
code). AHA maintains a simple user model consisting of a set of boolean variables. In the
original application these variables are used to represent the knowledge of a user by means of
concepts. The values true and false for a concept mean that the concept is known or not known.
However, the boolean variables may be used for any desired purpose. Some variables represent
the outcome of a test, so their values indicate passed or failed. In a second course (on Graphical
User-Interfaces) we use a variable "verbose" that can be toggled to select between full text and
viewgraphs. In our third application, an on-line information kiosk for informing students about
the possibilities and rules for doing a masters thesis in the Information Systems Group, variables
are simply used to determine the progress of the user, in order to decide whether enough of the
material has been visited to allow the user to sign up for an interview.
AHA separates the AH engine from the user-interface design, unlike most other AHS which are
complete systems that are strongly tied to a single application or application area. As the cited
hypermedia course is already a few years old (and was not adaptive at first), its presentation uses
a simple page-based model, without HTML frames (introduced by Netscape and only recently
incorporated into the HTML-4.0 standard). The information kiosk, IShype, uses frames to
present a table of contents and an information page simultaneously, and JavaScript to keep the
two frames in sync with each other. The AHA engines serving the pages for the two courses and
the kiosk are identical (and in fact it's just a single engine).
In AHS most of the content and the link structure are authored by a human author. There is also a
generation of so called dynamic hypertext systems. These systems use natural language
techniques to generate nodes (with "fluent English" content) and links on the fly. Dynamic
hypertext systems like Peba-II (6) and ILEX (7) are also adaptive, meaning that the nodes and
links they generate depend on the user's browsing history, just like in "plain" AHS. To some
extent, adaptive dynamic hypertext systems are offering automated skilled authors. We do not go
into details of dynamic hypertext systems in this paper. An extensive overview is given by
Milosavljevic (8).
The remainder of this paper consists of 4 sections. Section 2 briefly recalls and extends the
definitions of different AH techniques as given in (4), (9) and (10). Section 3 describes the
HTML elements used for adaptivity, and how the AHA engine performs its adaptive functions.
Examples are taken from our three applications. Section 4 describes the (lower level) access to
the AHA engine that allows other applications to query and update the user model. This
demonstrates why we call AHA an open AH architecture, even though it is not an "Open
Hypermedia System" in the sense of e.g. publications from (11). Section 5 concludes and
presents future work.
2. Adaptive Techniques used in AHA
Brusilovsky (4) distinguishes two main categories of adaptivity:

Adaptive presentation: these techniques consist of both the selection of different media
depending on user preferences and the adaptation of a document's textual (or multimedia)
content based on a user model.

Adaptive navigation support: these techniques change the (apparent or effective) linkstructure between the pages that together make up a hyperdocument. Brusilovsky
distinguishes between direct guidance (suggest a next best link), adaptive sorting of links
(displaying a list of links from best to worst), adaptive hiding of links (hiding
inappropriate links), adaptive annotation of links (marking links as appropriate or
inappropriate but not deleting any) and map adaptation (changing graphical overviews of
the link structure). In (9) and (10) we added two more categories to this list: adaptive
disabling of links and adaptive removal of links. The meaning of these terms is explained
in Section 2.2.
AHA offers both categories of adaptivity, but only certain options. The textual content of pages
is adapted based on the user model. AHA does this through HTML constructs described in
Section 3. It has no built-in support for adapting the content of non-textual information items
(but neither has any other operational AHS). Achieving direct guidance, adaptive link sorting or
map adaptation in AHA would be non-trivial to do. (We have not tried it in any of our
applications.) However, the ways in which AHA can adapt links are more versatile than plain
adaptive link annotation or adaptive link hiding. AHA makes adaptive link disabling and
adaptive link removal possible. It is the only AHS we know of that supports these four ways of
link adaptation.
2.1 Adaptive content presentation
A hyperdocument contains a body of information, divided into logical (and physical) chunks,
called nodes. The order in which the nodes are presented depends on the links a user chooses to
follow. The goal of adaptive content presentation is to ensure that each node is presented in an
appropriate way for each individual user. In order to achieve this goal it may be necessary to add
some extra (explanatory) information, remove some (no longer relevant) information, or change
the wording.
AHA provides adaptive content presentation through conditional fragments, which is the low
level way to realize fragment variants, a technique to implement the explanation variants
method (4). We use the term conditional fragments to indicate that we have pieces of content
that are included when a certain condition is met. In AHA such fragments are pieces of HTML
text (possibly with included objects like images or applets). Our term should make it clear that
conditions may not only result in alternative presentations of a piece of information, but also in
hiding it altogether. Below is an example from the hypermedia course. The fragment is taken
from a page describing the meaning of a URL. The concept of a URL is related to the addressing
scheme of Xanadu. There are three variations of the fragment:
1. When the fragment is read before the user has reached the chapter on the "history of
hypermedia", the fragment looks like:
...
In Xanadu (a fully distributed hypertext system, developed by Ted Nelson
at Brown University, from 1965 on) there was only one protocol, so that
part could be missing. Within a node every possible (contiguous) subpart
could be the destination of a link.
...
(In this example the word "Xanadu" appears in black but is actually a link
anchor.)
2. When the user has read some pages of the chapter on the "history of hypermedia", but not
yet the page on Xanadu, the fragment is essentially unchanged but a link to a page on
Xanadu becomes apparent:
...
In Xanadu (a fully distributed hypertext system, developed by Ted Nelson
at Brown University, from 1965 on) there was only one protocol, so that
part could be missing. Within a node every possible (contiguous) subpart
could be the destination of a link.
...
(On the screen the word "Xanadu" would appear in blue instead of bold.)
3. After reading the page on Xanadu (to which the blue link points), the color of the link to
the Xanadu page changes to purple. The short explanation on Xanadu is removed because
the user already knows much more about Xanadu:
...
In Xanadu there was only one protocol, so that part could be missing.
Within a node every possible (contiguous) subpart could be the destination
of a link.
...
(On the screen the word "Xanadu" would appear in purple instead of
italics.)
Some systems, like Anatom-Tutor (12), Lisp-Critic (13), Hypadapter (5) and several others use
the user model to select whole page variants instead of just fragment variants. It is of course
possible to create page variants by means of "large" fragment variants. The conditional
fragments in AHA may be arbitrarily large.
When conditional fragments are only used to conditionally include pieces of content, and not to
provide alternatives to fragments, the technique is called stretchtext. This technique is used in
MetaDoc (14) and KN-AHS (15). It is easy to implement the "initial appearance" of stretchtext
in AHA. In fact, this is done in the above example. This technique is used a lot in our course text
for "Graphical User-Interfaces" that combines viewgraphs with full-text:


Viewgraphs typically consist of some bulleted items:

this is the first item

this is the second item

...
The "expanded" or "full text" version of the page contains some additional explanation
and possibly some illustrations for each item:

this is the first item
and then there is a paragraph with additional explanations about
this item.

this is the second item
and some more explanations about the second item

...
Stretchtext also implies that the user can open and close fragments at will, a feature which cannot
(yet) be realized in AHA. This "open and close" technique was first introduced as replacement
links in the Guide hypertext system (16). In Guide text fragments open up when clicking on a
link, and can be closed with a mouse-click as well. However, in Guide no fragments are "preopened" upon loading a page.
When we claim that AHA implements fragment variants, page variants and (at least part of)
stretchtext we mean that these forms of adaptation can be performed easily through the use of
conditional fragments. This can be done without including a fragment more than once in the
(HTML) source text of a page. An adaptive technique that requires nodes to be assembled from
small pieces of information, like slots in the frame based technique used for EPIAIM (17), would
be difficult to implement in AHA. Frame based techniques are typically used in dynamic
hypertext systems, like Peba-II (6) and ILEX (7). The technique determines not only which
fragments (slots) to present, but also in what order. Turning a selected (or generated) order
requires natural language techniques to make the sequence of text fragments sound natural.
Simulating just the sorting part of this technique in AHA would require fragments to be repeated
in the source of nodes. (The number of repetitions increases with the number of different orders
in which the fragments can be presented.)
2.2 Adaptive link presentation
Links can be adapted in many ways:

AHS that implement adaptive content presentation automatically have a way of showing,
highlighting, dimming or hiding a link anchor, by altering the content fragment in which
the source anchor of that link appears. In this subsection we focus on adaptive link
presentation techniques that do not rely on such conditional content. We consider that the
source (text) of a node contains a hypertext link, possibly with an attribute indicating that
it is adaptive, and that the AH engine must determine what to do with this link. Because
of this assumption techniques like adaptive sorting of links and map adaptation are not
considered. They cannot be implemented in AHA without using conditional content.

The destination of a link can be varied depending on the user model. The link anchor
looks (mostly) the same, but when the user clicks on the link a new page to display is
chosen based on the user model. This adaptively determined link destination may be
chosen during the generation of the page, and thus appear as a static link on the page, or it
may be determined when the user follows the link. In that case the user cannot tell from
browser aids such as a small message window what the actual destination of the link will
be.

The destination of the link may be fixed but the system may decide whether or not
following the link is desirable. The presentation of the link anchor may be changed
depending on the system's idea of the relevance of the link. In most AHS the relevance of
a link depends only on the node the link is pointing to (and not the node the link
originates from).
We only consider the adaptive link presentation techniques from (4), (9) and (10) that do not
involve (major) content adaptation in order to realize them.

Direct guidance means that the AH engine determines which node is the next "best" node
for the user to visit. What is best depends on the user's knowledge and goal, both of
which should be represented in the user model. A "next" button is presented that takes the
user to the desired node. The engine in AHA currently does not support direct guidance.
Each link has a fixed destination. (Variations in the destination must be implemented
through conditional content.)

Adaptive link hiding is a technique that guides the user by not showing links leading to
nodes the AH engine considers not to be relevant at that time for that particular user.
Brusilovsky (4) uses this term loosely to cover several techniques that we would like to
distinguish explicitly. We consider that in the case of link hiding the (textual or other)
content of the node is not changed. Thus, the link anchor remains visible but looks like
normal content (text) instead of like a link anchor. We also assume that although the link
functionality is hidden, it is still present. Should the user know where the link anchor is
supposed to be, and click on the link, the destination of the link is retrieved just like when
the link is plainly visible. This is the default behavior in AHA. It works best for links that
appear in paragraphs of text, where it would not be acceptable to remove the link anchor.
In the hypermedia course the (black) word "Xanadu" we showed in the example from
Section 2.1 is actually a link to the page on Xanadu.

Adaptive link removal is a technique that effectively reduces the navigation space by
removing the link anchors for links leading to nodes the AH engine considers not to be
relevant. While this technique works reasonably well in an adaptive table of contents, it
cannot be used with links that appear within paragraphs of text. In AHA link removal can
only be simulated through conditional content. We argue that this a reasonable limitation
because removing link anchors effectively is a modification of the node's content.
User feedback on the hypermedia course suggests that users dislike link removal most
(worse than any other link adaptation) because they cannot see what lies ahead (but is
still unreachable). On the other hand link removal was used in an experiment with ISISTutor (18), (19) and found to be the most effective way to reduce the number of
navigation steps users make in order to achieve a certain goal. So apparently there are
conflicting interests between providing adaptivity that proves to be effective and
adaptivity which users like best.

Adaptive link disabling is a technique that disables the functionality of a link. It makes
sense to combine this with link hiding, but this need not always be the case. In fact,
Kobsa et al (15) experimented with KN-AHS and found that showing links that are
disabled was more effective than hiding disabled links. In an earlier version of the
hypermedia course we used link disabling, without real hiding. (We used the technique of
link hiding, but in a bulleted list so the users could still see where the links should have
been.) We found that users did not like link disabling although they preferred it over link
removal.

Adaptive link annotation is a technique that presents desired and undesired links
differently. In Interbook (20) for instance, colored balls and arrows are used to indicate
whether a link is desired (green), undesired (red), or not containing new information and
thus not interesting (yellow). In another experiment with ISIS-Tutor (18), (19) link
annotation was also used (but green was used for undesired links instead of red).
Brusilovsky's experiments (21) show (among other things) that link annotation is an
effective way to encourage users to follow links within the text, rather than simply
following a provided guided tour (through a "next" or "continue" button).
AHA supports adaptive link annotation by coloring the link anchor (text or image
border). The user can configure the color scheme through a setup form and can select or
disable link underlining through the browser preferences. The default choice is based on
the default color scheme used in virtually all (color based) WWW-browsers: desired links
are blue, visited links are uninteresting and colored purple, and undesired links are very
dark grey (nearly black). When the user follows the instructions that come with each
AHA hyperdocument, and that ask to not underline links, the default color scheme of
AHA corresponds to link hiding. When the user changes the color scheme or enables link
underlining the AHA engine will generate adaptive link annotation.
The decision whether a link is relevant or not (or maybe something in between) is based on the
user model and on the link itself. We distinguish two possibilities:

With individual link adaptation we mean that the relevance of a link is determined by a
condition on the link itself. Links to one and the same destination node, but with different
source anchors, may have a different relevance. In this case it is most likely that the
relevance is determined by the user model, the node containing the source anchor and the
destination node. However, it is conceivable that the choice of source anchor (within the
source node) and destination anchor (within the destination node) also play a role. Like
most other AHS, AHA does not support individual link adaptation. Our main motivation
for this omission is that this technique most likely involves complex authoring.

With link group adaptation we mean that the relevance of a link is determined only by a
condition on the destination (node) of the link. A link is relevant if it points to a node
which is considered relevant according to the user model. The whole "group" of all links
pointing to a given node has the same relevance value. AHA supports only this type of
link adaptation. It only requires an author to consider under which conditions nodes
become relevant. Link adaptation is then performed automatically by the system.
Apart from adaptive link presentation AHA also supports plain, non-adaptive links. This enables
an author to create both an explicit static link structure that is always present and an adaptive link
structure that provides additional access to nodes depending on the user model.
3. Authoring Adaptive Hyperdocuments for AHA
AHA is an open adaptive hypermedia architecture for the Web (but not an Open Hypermedia
System in the usual sense of this term (11)). While many AHS use a WWW-browser as their
user-interface platform, most of them require the author of the hyperdocument to create nodes
and links using non-Web-based languages and tools. AHA is completely Web-based in the sense
that it only uses "standard" Web languages and tools. This section describes the language used
for authoring. Section 4 describes how the AHA engine is constructed out of popular Web
components.
Nodes (and links) for AHA are written in standard HTML. They can be authored using any of
the many available HTML authoring tools that are available, using a plain text editor, or using
some word processors that are able to generate HTML. The two features of an HTML editor that
are essential for AHA are:

the ability to add HTML comments to a document;

the ability to assign a CLASS attribute to links.
Most HTML editors, including Netscape Composer and HoTMetaL Pro (which we tested) have
this ability. (Unfortunately, some other tools that are used for generating HTML, like MSWord'97 are not suitable.) Our main motivations for using only standard HTML are that we
consider it unacceptable to enforce a special-purpose editor upon authors who most likely
already use tools for editing or generating HTML, and that we lack the resources as well as the
ambition to write an HTML editor ourselves (which is something we would need to do if we
wished to use extensions to HTML). A major burden with standard HTML is that link anchors
have to be authored as part of the page contents. We hope that future languages for the Web will
allow links to be separated from contents so that authoring for the Web will become more like
authoring for Open Hypermedia Systems, in which links are typically not embedded within the
pages.
3.1 General properties of nodes (pages)
HTML pages for AHA contain "structured HTML comments". An earlier version (22) used Cpreprocessor "#if" constructs instead, much like the adaptive C-course described in (23).
Every node in an AHA hyperdocument starts with two HTML comments:
1. The first comment contains a boolean expression using variable names (which are not
allowed to contain white-space). The evaluation of this expression is used to determine
whether links to this page are desirable or not. An example of such a first line is:
<!-- requires readme but not ( intro and definition and history ) -->
The word but is treated as a synonym for and but creates some more readable
expressions. Expressions contain arbitrary combinations of and, or, not and parentheses,
with the usual precedence rules. There is a special predefined expression true that is
used to indicate that there is no condition for this node. A node without condition must
contain the line:
<!-- requires true -->
The "requires comment" is mandatory. The next comment (see below) is optional.
2. The second comment enumerates the (boolean) user model variables that become true
after reading this node. Initially all variables are false.
<!-- generates netscape-navigator internet-explorer -->
This comment says that after reading this node the variables netscape-navigator and
internet-explorer both become true (presumably meaning that the user has read
something about Netscape Navigator and Internet Explorer). The current authoring
language for AHA does not contain a construct for setting variables to false. Although
this does not formally restrict the power of the language and system it may make some
applications more difficult to create. This restriction is inherited from the first application
of AHA, the on-line hypermedia course. There it was assumed that variables actually
represent concepts, that the value true means that the student knows the concept, and that
acquired knowledge is never lost. Because of this interpretation of the variables we called
the system proficiency-adapted in (24).
As we explain in Section 4 the AHA engine does offer the possibility to set variables to
false, and the standard setup form enables users to set each individual variable to true or
false through a series of checkboxes.
AHA also allows the generation of a header and footer for a page (through <!-- header -->
and <!-- footer --> comments. The header and footer are small fragments of HTML source
that can be included at the top and bottom of a page. The header is always followed by a line that
provides feedback on what the user has read already. The figure below shows the header for the
hypermedia course:
The header file contains the images, and is designed by the author of the hyperdocument. The
line of text giving feedback on the progress of the user is generated by the AHA engine.
3.2 Developing a user model for AHA hyperdocuments
A user model in AHA consists of a set of boolean variables. Initially all variables have the value
false. Reading a page or completing a test may change zero or more variables to true. While this
is conceptually very simple, it may lead to very elaborate user models because of the generally
large number of variables (or concepts). A user model for the hypermedia course for instance
consists of 148 (boolean) variables. Unlike some adaptable systems that distinguish only a few
stereotype users (like "novice", "intermediate" and "expert") the hypermedia course can represent
2148 different users. However, many of these user model instances can only be obtained by
explicitly setting the user model through the setup form. The dependencies between variables (or
pages) make that a much smaller number of variations can be generated through browsing (and
taking tests) only. It may seem difficult to author an adaptive hyperdocument with 148 variables.
For each page the author needs to consider which boolean expression in some or many of the 148
variables determines whether the page is desirable or not. Luckily the dependencies between
variables greatly simplify this task.

The author first designs a small set of major topics of the hyperdocument, and the
dependencies between them. For the hypermedia course for instance, the global
dependencies are as follows:
1. First the user must read the instructions, tied to the readme variable.
2. Then the user can read three chapters: introduction, definitions and history, in any
order. The first page of each chapter starts with:
<!-- requires readme -->
For the other pages of these chapters it is no longer necessary to test for readme.
Some pages may depend on the chapter they belong to. For instance, the page
about Xanadu starts with:
<!-- requires history -->
As a result, links to the Xanadu page remain hidden in the introduction or
definitions chapter until the user starts reding the history chapter.
3. After taking the tests of the first three chapters the user gains access to chapters
on architecture, navigation, information retrieval, authoring, distribution and
future developments. The first page of each of these chapters starts with:
<!-- requires test-intro and test-definition and test-history -->
4. Finally the user is offered an assignment.
The dependencies between the major topics are straightforward. Most pages of a chapter
simply depend on the concept of the first page of a chapter, and to make a page depend
on an entire chapter it is simply made to depend on the test for that chapter.

Pages in a chapter need not replicate the condition that determines whether the first page
of the chapter is desirable, because the user only gets access to the other pages through
the first page of each chapter. A lot of dependencies thus need not be written explicitly.

In order to avoid large numbers of irrelevant links to pages with basic definitions, the
access to these definitions can be made conditional. In some places there are
unconditional links that are always visible (blue or purple). Conditional links can be
made to disappear after reading the definitions. The definition of the concept "node" for
instance says:
<!-- requires not nodes -->
As a result, the author can (automatically) create conditional links to the page with the
definition of nodes everywhere the word "node" appears. As long as the user has not read
the definition links to it are prominently displayed. After reading the definition the links
disappear. This makes for much easier authoring than when the author has to carefully
decide where links to such a page are appropriate and where not.
The boolean model is somewhat limited. For instance, when a user reads an undesired page,
AHA assumes that the information is not understood. No variables are changed to true. Still, the
user is likely to have learnt something by reading the page. Interbook (20) distinguishes not two
but four levels of knowledge about each concept (meaning unknown, learnt, well learnt and
tested). A concept becomes learnt when read while the page is undesired. Reading desired pages
makes a concept well learnt. But knowledge is only truly validated through a test. In AHA
different variables are used for reading about a concept and taking a test about it.
While there may be valid arguments for the four-value approach of Interbook, others may argue
for a three, five, six or still other numbers of values. Pilar da Silva (25) uses percentages (values
between 0 and 100). Reading a page about a concept generates a certain percentage of the
knowledge about that concept. Percentages offer a rich value domain, and may be useful for
taking into account that a user may forget, i.e. knowledge may decay. (This is not used in (25).)
But such a rich value domain creates serious authoring problems. Should percentages add up?
Should they always add up or only when the author specifies it? Maybe pages have partly
overlapping information so the percentages should only partly add up? Maybe the time spent
reading a page should have an influence on the percentage learnt? While it is clear that the
boolean model of AHA will need to be replaced in the future, it is not clear how to replace it by a
much richer model without making authoring more difficult.
3.3 Link types
AHA distinguishes three types of links: conditional, unconditional and external links. Links in
HTML are represented through the anchor tag. The two attributes of this tag that play an
important role in AHA are the HREF attribute that defines the destination of the link, and the
CLASS that defines the link type.

The HREF attribute has a URL as value. There are absolute and relative URLs: an absolute
URL consists of a protocol, host and path, as in:
<A HREF="http://wwwis.win.tue.nl/IShype/index.html">
(In this example the protocol is http, the host is wwwis.win.tue.nl and the path is
/IShype/index.html.) A relative URL consists of only a path. In AHA all links with an
absolute URL are called external links. (Note that this term overlaps with a term used in
Open Hypermedia Systems, but has a different meaning.) An external link (in AHA
terms) points to a Web page that is not part of the current hyperdocument. (However, the
URL might actually point to a node of the hyperdocument, but by using an absolute URL
it would still be considered as external by the AHA engine.) The presentation of these
links is determined by the default settings for a page. The default in AHA is to use light
and dark red for external links (light for new links and dark for visited links).

The CLASS attribute is used to distinguish different types of links, as in:
<A HREF="readme.html" CLASS="conditional">
AHA recognizes the link classes conditional and unconditional. When a link is of the
class conditional the AHA engine translates the class to good, bad or neutral depending
on whether the destination of the link is a desired, undesired or uninteresting node.
HTML link classes are thus used both for authoring and for creating different
presentations (colors) for desired and undesired links. The default color scheme in AHA
uses blue for good links, very dark grey for bad links and purple for neutral links. Links
without a class are considered equivalent to unconditional links. Their class is translated
to neutral or good depending on whether they are visited or not. This results in the (color)
behavior users have come to expect in WWW-browsers (blue for unvisited and purple for
visited links).
3.4 Conditional content
In order to sometimes show and sometimes hide a piece of content AHA uses special HTML
comments that represent if statements. The if statements use the same boolean expressions as the
requires line with which each node starts:
<!-- if not readme -->
You must first read
<a href="readme.html">the instructions</A>.
These will explain how to use this course text.
<!-- else -->
Now that you have read
<a href="readme.html">the instructions</A>
you can start studying this course.
<!-- endif -->
To an HTML editor or a WWW-browser comments have no meaning. They may be inserted
anywhere (except inside an HTML tag). When considering if statements as real, meaningful tags
one would find nesting errors, but since the statements are implemented through comments,
these constructs are allowed. The following examples shows such a pseudo nesting violation, as
it is used to simulate link disabling:
The following words are
<!-- if not link-disabling -->
<A HREF="disabling.html" CLASS="conditional">
<!-- endif -->
not always a link.
<!-- if not link-disabling -->
</A>
<!-- endif -->
Authoring conditional content needs to be done with care. Although comments have no meaning
in HTML (and are interpreted by the AHA engine to conditionally include pieces of content)
their use in AHA can easily be a source of HTMl syntax errors:

It is possible to write syntactically correct HTML files from which the AHA engine
generates incorrect nodes, as shown in the following example:
When the condition for
<!-- if not ( A and B ) -->
<A HREF="anchor.html" CLASS="conditional">
<!-- endif -->
a link anchor
<!-- if not ( A or B ) -->
</A>
<!-- endif -->
is different from that for the end-anchor, the selected
fragments together may be syntactically incorrect.

It is also possible that the most obvious way to generate a node is to start from some
incorrect HTML. This cannot be generated using strict HTML editors:
The destination of the following
<!-- if alternative-one -->
<A HREF="destination1.html" CLASS="conditional">
<!-- else -->
<A HREF="destination2.html" CLASS="conditional">
<!-- endif -->
link</A> may depend on a condition.
Since the AHA engine will select one of the alternatives, it will generate only one anchor
tag, and the result will be syntactically correct HTML. The source however contains two
consecutive anchor tags of which the first is not followed by an end anchor tag. The
source is thus not correct. This error can be corrected by adding some HTML source that
is never shown:
<!-- if false -->
</A>
<!-- endif -->
Just like true is predefined, false is a predefined expressions which is always false.
4. The architecture and implementation of AHA
The figure below shows the overall architecture of AHA. It shows which files play a role in
assembling or filtering a single node, and also how the communication works between the client
(browser), server, and AHA engine.
4.1 Representation of a hyperdocument
A hyperdocument in AHA consists of a directory hierarchy. The "root" directory contains a
number of files and subdirectories. (The names can all be configured.)

The welcome file (usually called welcome.html or index.html) is an HTML document
containing the registration or login form. A user who enters the system for the first time
must provide name, email address, some kind of user code and a password. Their may
also be additional information, depending on the application area. (For courses we also
ask for the student's university and department or major.) To resume reading after an
interruption, only the user code and password are required.

A header and footer file, that can be included in a node through the <!-- header -->
and <!-- footer --> comments. These files may contain arbitrary HTML source,
including images, applets, etc. When the header is included the AHA engine
automatically adds a line of text to indicate the progress of the user. It also logs the time
at which the user accessed the page containing the header. When the footer is included
the AHA engine automatically adds an invisible stop applet that is used to record the time
at which the browser stops displaying the page. The header and footer are normally
included in information nodes, but not in auxiliary nodes like a table of contents that can
be displayed in separate (HTML) frames.

The variable list contains an (alphabetical) list of all existing variable names. This list is
used by the setup form through which the user can set variables to true or false as desired.
This list is generated through a "make" procedure.

The requirements list contains for every node the boolean expression that is used to
determine the relevance of the node. This list is generated through the "make" procedure
as well. Lines in this list look like:
bool-petri.html
breadcrumbs.html
<!-- requires tower-model and navigation -->
<!-- requires navigation -->

The Makefile is used to generate the variable list and the requirements list from the
HTML source of the information nodes.

The HTML directory contains the HTML source for all the nodes in the hyperdocument.
This is the directory in which the author deposits all the nodes.

The test directory contains multiple choice tests. We do not discuss this evaluation
feature of AHA in this paper. Currently multiple choice tests have to be written in simple
format that is not entirely HTML. Each test may contain more questions and each
question more answers than will be shown to a user. This allows for randomization of the
tests. Each question and answer may contain HTML tags, including links that refer to
pages of the course text. (These links are not adapted though.)

The CGI directory contains the AHA engine software, which is entirely written in Java.
This directory (tree) contains both source and bytecode for the engine. As the name
suggests the engine is connected to the Web server through CGI (the Common Gateway
Interface). For performance reasons CGI was replaced by Fast-CGI which uses a server
process and generates less overhead per request. (This change only required the addition
of less than 10 lines of code to the "get" and "register" java files.) The most recent
version of AHA uses Java Servlets which are even more efficient.

The applets directory contains applets used in the hyperdocument, including the stop
applet. This applet only becomes active when its "stop" method is called. This happens
when the browser loads another page, replacing the one containing the applet. Every
content node (with a footer) contains the stop applet. The stop method sends a (GET)
request through the Web server to the AHA engine, to log the time at which the node was
replaced by a new one in the browser.

Additional directories may be available, for containing images and other multimedia
components whose content is not adaptive in AHA.

One directory that is not part of the hyperdocument's tree is the log directory. In order for
the AHA engine to be able to create log files this directory is a subdirectory of the Web
server's log directory. For each user AHA maintains two files: one containing the user
model (the login information and the set of variables for which the value is true) and one
containing a log of all user requests. Each time a user requests a node a line is added to
the log file, and each time the user "leaves" that node that is also logged. It is thus
possible to determine for each node how long a user spent reading a node (or at least hoe
long the browser was displaying the node).
4.2 The AHA engine
The AHA engine is a CGI or Fast-CGI script that performs the following functions (depending
on given parameters):

It registers new users and performs password validation for existing users.

It filters nodes based on the user model, and logs the requests for nodes.

It logs when the user stops viewing a page.

It generates multiple-choice tests, with automatic randomization to make it more difficult
for users to copy answers from each other.

It evaluates multiple-choice tests.

It generates a setup form through which a user can change the color scheme used for
adaptive link presentation and the user model with all boolean variables.

It evaluates the setup form and adapts the user model accordingly.

It displays a list of nodes still to be read by this user.

It displays a list of nodes already read by this user.
The AHA engine roughly works as follows:
1. When the engine receives a request it first determines which kind of action is required,
based on the name of the document being requested. For instance, if the name starts with
test___ it is treated as a request to generate a multiple-choice test. Names starting with
eval___ are evaluations of tests; stop/ means a request coming from the stop applet,
etc.
2. The user model is retrieved, and together with the variable list a list of boolean variables
can be built and initialized. The requirements list is read. It contains a list of all nodes
and a copy of their "requires" comment. The complete history of all nodes read by the
user is also retrieved.
3. When a normal (HTML) node is requested, a content filter is applied first. Each if
statement is evaluated, and the appropriate pieces of content are copied or not.
4. Where appropriate, the header or footer is included. The header contains a message about
the progress of the user. The number of nodes that have been read is deduced from the
logfile, while the number of nodes that exist is deduced from the requirements list. The
footer contains the stop applet, used for logging the times when a user stops reading each
page.
5. Then all relative links are parsed. (External links, that start with a protocol, like http:
are not changed.) Links without a CLASS attribute, or of class unconditional are given the
class good if they were not visited before, and neutral if they were visited. This results in
the default colors blue and purple. Because the history from the log file is used instead of
the browser's navigation history no link expiry mechanism of the browser has an
influence on these link colors.
6. For conditional links, the "requires" expressions of the destinations are extracted from the
requirements list. If a link is of the class conditional, the link becomes of the class bad if
the expression for its destination evaluates to false. Else it becomes neutral or good
depending on whether it was followed or not, just like with unconditional links.
4.3 AHA as an open architecture
Although many adaptive hypermedia systems exist, they are all closed, in the sense that a user
model, constructed through one system, cannot be reused by another system. Also, an AHS
cannot inform another system about a user model or changes to a user model so that that other
system could adapt its own model of the same user. Interbook (20) has a feature for sharing user
models and connecting to "user model servers" (26), but not for communicating with "nonInterbook" systems.
AHA provides a way for other systems to retrieve a user model, and also to update the user
model:

When instead of requesting a node, the page config/generate is requested, the AHA
engine generates an external (HTML) representation of the user model. This is a simple
way for external applications to download a user model. All that is required is a simple
HTTP (GET) request to the Web server.

When the page config/change is requested (using the POST method) the input provided
as part of the request is used to upload a new user model. Again, all that is required is a
simple HTTP (POST) request to the Web server.
These methods are still primitive and far from perfect, but they form a first attempt towards
opening up an adaptive hypermedia system.
Note that the "openness" of AHA does not make it an "Open Hypermedia System" as e.g. in
publications from (11). A typical property of many open hypermedia systems is that links are not
embedded within the nodes. AHA relies heavily on the use of HTML which has link anchors
embedded within the pages.
4.4 Experience with the use of AHA in "real" applications
We have not yet performed extensive user evaluations of AHA. However, we do have some
anecdotal information from authors and users:

Authoring for AHA is generally difficult for several reasons. The use of (standard)
HTML is still a problem because good authoring tools for HTML are lacking. Mixing
information (content) and links is a major drawback of HTML that is not easy to
eliminate without abandoning HTML as the source format for pages. The use of HTML
comments for the adaptive features makes this problem even more apparent: not only is
the link structure hidden inside the many information pages, the "rules" that define the
adaptivity of content and the link structure are also hidden inside the pages.

While AHA supports several adaptive presentation and linking techniques it is the
author's responsibility to use these techniques wisely. There are no tools that analyze the
use of adaptive features and indicate potential annoyances and navigation problems users
may experience while browsing through an adaptive hyperdocument. Users of some
earlier versions of the hypermedia course have complained about the use of link removal
and link disabling. They felt that restricting the link structure by disallowing access to
some pages was not justified. The users wanted to be able to decide for themselves
whether or not to go to pages the system indicates as not being relevant. These
complaints have led to a redesign of the course. The newer version only uses link hiding
and link annotation.

Reading and updating the user model, and filtering each HTML page (to select fragments
to show or hide and to manipulate link anchors so as to hide, disable or annotate links)
involve computational overhead. The implementation of AHA has been changed
throughout the past two years so as to minimize this overhead. The first version used
CGI-scripts. Because of the use of Java this generated too much overhead (about 0.5
seconds per request on a Pentium-Pro 200). In order to take advantage of a Just-In-Time
compiler the second version was implemented using Fast-CGI, which eliminated the
startup overhead for each request, and resulted in less than 0.1 seconds overhead per
request. The third and current version uses Java-Servlet technology to reduce the
overhead even more. With hyperdocuments of about 150 nodes the overhead is not
noticeable. The adaptive pages appear to load just as fast as static pages, even on the fast
local network at the university. The overhead increases linearly with the number of
nodes, the lenght of a requested node, and the length of the user's browsing history and
user model. However, we expect AHA to be able to handle adaptive hyperdocuments
with up to 1.000 nodes and links on an otherwise lightly loaded workstation.
5. Conclusions and Future Work
AHA, as an adaptive hypermedia architecture, is different from most adaptive hypermedia
systems:

It separates the user interface from the user-modeling and adaptive features, enabling
applications that look and feel very different but are based on the same AH engine.

It provides adaptive content presentation through conditional fragments, using a standard
HTML construct (namely structured comments).

It provides adaptive link annotation or hiding through the use of HTML link classes and
style sheets.

It is an open architecture that allows other applications to download and upload a user
model through simple HTTP requests.
AHA is continuously under development. Extensions that are being considered or worked on are:

A new construct (HTML comment) is needed for operations that set boolean variables to
false.

Instead of a boolean model, a range of values could be used, like values between 0 and 1
representing either the probability that the user knows the concept or representing how
much the user knows about the concept. Reading different nodes could contribute to the
knowledge of a single (composite) concept.

It may be desirable to allow "knowledge" to decay. As time passes by the user's
knowledge of a concept decreases. This again requires a richer user model than is
possible with the current boolean approach.

The open features of AHA are still too primitive for general use. Future features include
interrogating a user model for the value of a single variable (or a set of variables) and
also updating only one or more variables.
The biggest challenge AHS are faced with is how to ensure that adaptive hyperdocuments are
more usable than static ones. Because AHA is a general architecture it cannot ensure usability.
More research is needed to develop and evaluate tools for analyzing adaptive hyperdocuments in
order to find potential usability problems. However, because AHA is flexible in that it makes it
possible to provide versions with adaptive link hiding, annotation, disabling and/or removal or
combinations thereof, it is a very suitable platform for experiments to evaluate the usability
issues for each of these techniques.
6. References
[1]
CONKLIN, J. Hypertext: An introduction and survey. IEEE Computer, 20(9), 1987, 17-40.
[2]
THÜRING, M., J. HAAKE, J., HANNEMANN. What's ELIZA doing in the chinese room? Incoherent
hyperdocuments - and how to avoid them. ACM Conference on Hypertext, 1991, 161-177.
[3]
DE YOUNG, L. Linking Considered Harmful. Designing and Reading Hyperdocuments. 1st European
Conference on Hypertext, 1990, Cambridge University Press, 238-249.
[4]
BRUSILOVSKY, P. Methods and Techniques of Adaptive Hypermedia. User Modeling and User-Adapted
Interaction, 6, 1996, 87-129. (Reprinted in Adaptive Hypertext and Hypermedia, Kluwer Academic Publishers,
1998, 1-43.)
[5]
HOHL, H., H.-D. BÖCKER, R. GUNZENHÄUSER. Hypadapter: An Adaptive Hypertext System for
Exploratory Learning and Programming. User Modeling and User-Adapted Interaction, 6(2-3), 1996, 131-156..
(Reprinted in Adaptive Hypertext and Hypermedia, Kluwer Academic Publishers, 1998, 117-142.)
[6]
MILOSAVLJEVIC, M. and J. OBERLANDER, Dynamic Hypertext Catalogues: Helping Users to Help
Themselves. Proceedings of the ACM Hypertext'98 Conference, 1998, 123-131.
[7]
OBERLANDER, J., M. O'DONNELL, A. KNOTT and C. MELLISH, Conversation in the museum:
experiments in dynamic hypermedia with the intelligent labelling explorer, this issue.
[8]
MILOSAVLJEVIC, M., Electronic Commerce via Personalised Virtual Electronic Catalogues, Proceedings of
the 2nd Annual CollECTeR Workshop on Electronic Commerce (CollECTeR'98), 1998.
(URL: http://www.cmis.csiro.au/Maria.Milosavljevic/papers/collecter98/)
[9]
CALVI, C. A Proficiency-Adapted Framework for Browsing and Information Filtering in Web-Based
Educational Systems. Methodological Implications for Language Learning on the WWW. Doctoral thesis,
University of Antwerp (UIA), 1998.
[10]
DE BRA, P., L. CALVI. AHA: a Generic Adaptive Hypermedia System. 2nd Workshop on Adaptive Hypertext
and Hypermedia, 1998, 1-10. (URL: http://wwwis.win.tue.nl/ah98/DeBra.html)
[11]
WIIL, U.K. (editor). Proceedings of the Third Workshop on Open Hypermedia Systems, CIT Scientific Report
nr. SR-97-01, The Danish National Centre for IT Research, 1997. (URL: http://www.daimi.aau.dk/~kock/OHSHT97/)
[12]
BEAUMONT, I. User Modeling in the Interactive Anatomy Tutoring System ANATOM-TUTOR. User
Modeling and User-Adapted Interaction, 4(1), 1994, 21-45.
[13]
FISHER, G., T. MASTAGLIO, B. REEVES, and J. RIEMAN. Minimalist Explanations in Knowledge-Based
Systems. 23th Annual Hawaii International Conference on System Sciences, 1990, 309-317.
[14]
BOYLE, C. and A.O. ENCARNACION. MetaDoc: An Adaptive Hypertext Reading System. User Modeling
and User-Adapted Interaction, 4(1), 1994, 1-19. (Reprinted in Adaptive Hypertext and Hypermedia, Kluwer
Academic Publishers, 1998, 71-89.)
[15]
KOBSA, A., D. MÜLLER and A. NILL. KN-AHS: An Adaptive Hypertext Client of the User Modeling
System BGP-MS. Fourth International Conference on User Modeling, 1994, 31-36.
[16]
BROWN, P.J. Turning ideas into products: The Guide system. Proceedings of the ACM Hypertext'87
Conference, 1987, 33-40.
[17]
DE ROSIS, F., N. DE CAROLIS and S. PIZZUTILO. User Tailored Hypermedia Explanations. INTERCHI'93
Adjunct Proceedings, 1993, 169-170.
[18]
BRUSILOVSKY, P., L. PESIN. ISIS-Tutor: An intelligent learning environment for CDS/ISIS users. Proc. of
the interdisciplinary workshop on complex learning in computer environments (CLCE94), 1994, 29-33.
(URL: http://cs.joensuu.fi/~mtuki/www_clce.270296/Brusilov.html)
[19]
BRUSILOVSKY, P. and L. PESIN, Adaptive navigation support in educational hypermedia: An evaluation of
the ISIS-Tutor. Journal of Computing and Information Technology 6 (1), 1998, 27-38.
[20]
BRUSILOVSKY, P., E. SCHWARZ and T. WEBER. A tool for developing adaptive electronic textbooks on
WWW. Proceedings of the WebNet'96 Conference, 1996, 64-69.
[21]
BRUSILOVSKY, P., J. EKLUND. A Study of User Model Based Link Annotation in Educational Hypermedia.
Journal of Universal Computer Science. 4(4), 429-448.
[22]
CALVI, L., P. DE BRA. Using dynamic hypertext to create multi-purpose textbooks. Proceedings of EDMEDIA'97, 1997, 130-135.
[23]
KAY, J., R.J. KUMMERFELD. An Individualised course for the C programming language. On-line
Proceedings of the Second International WWW Conference, 1994,
http://www.ncsa.uiuc.edu/SDG/IT94/Proceedings/Educ/kummerfeld/kummerfeld.html.
[24]
CALVI, C., P. DE BRA. Proficiency-Adapted Information Browsing and Filtering in Hypermedia Educational
Systems. User Modeling and User-Adapted Interaction 7(4), 1997, 257-277.
[25]
PILAR DA SILVA, D. Concepts and documents for adaptive educational hypermedia: a model and a prototype.
2nd Workshop on Adaptive Hypertext and Hypermedia, 1998, 33-40.
(URL: http://wwwis.win.tue.nl/ah98/Pilar/Pilar.html)
[26]
BRUSILOVSKY, P., S. RITTER and E. SCHWARZ. Distributed intelligent tutoring on the Web. Proceedings
of AI-ED'97, 8th World Conference on Artificial Intellicence in Education, 1997, 482-489.
Download