The Design of AHA!
AHA! is an Open Source adaptive hypermedia platform,
capable of performing content and link adaptation in (x)html
and xml documents.
Its development started in 1996. During 10 years of research
and development different new presentation, adaptation and
user modeling methods and techniques have been added,
turning AHA! into a general-purpose adaptive hypermedia platform.
This paper presents an overview of the design and architecture of AHA!,
with parts that have been published before and with recent additions
like style adaptation and a new very flexible
link annotation mechanism.
Unlike other adaptive hypermedia systems, AHA! is not aimed at a single application area and does not prescribe a single fixed presentation style. Creating applications, defining the user models and the adaptive behavior are all done using graphical authoring tools. End-users are presented with what looks like a normal website, and need not be aware of the adaptation that goes on behind the scenes. Their browsing results in updates to a user model that is stored either in an xml file or a mySQL database, and that is thus also (in principle) available to other applications.
Apart from providing a design overview this paper highlights two essential parts of AHA!: the reasoning / rule engine that translates the end-user's actions into user model updates, and the adaptive resource selection, which is used in the conditional inclusion of objects presentation technique and in the conditional link destinations navigation support technique.
This paper is itself an adaptive hyperdocument. The order in which the different topics are visited determines the links that are presented and the contents of each (web)page. No matter how you browse through this paper you should end up with a very similar overall impression, and you should have seen all the information the paper contains. However, the actual contents of the pages and the actual link destinations do depend on your browsing order, so different users will not see exactly the same pages and links.
Although strictly speaking this paper could be presented using normal linear text, making it an adaptive hyperdocument transforms it from being "just" a paper into being a paper and a demo all in one.