Adaptive Object Inclusion in AHA!

Paul De Bra

Ad Aerts

Bart Berden

Barend de Lange

Topics

The AHA! Project

Adaptive Object Inclusion

Stable Presentations

Conclusions / Future Work

The AHA! Project

AHA! = Adaptive Hypermedia Architecture

Open Source project, Web-based adaptive engine

Built on Java Servlet technology, XML and XHTML

General-purpose user-model and adaptation rules

Data storage (domain, adaptation, user model)	using XML files or mySQL database

High-level authoring of domain- and adaptation model through Java Applets

Compilers from authoring to engine structures

Main AHA! Engine Features

AHA! mainly reacts to page accesses

Each resource (page) is associated with a concept

The access event triggers rules that update attributes of user model concepts

Each attribute update may trigger more rules that update more attributes of more concepts

Links in the requested page are annotated based on expressions on attribute values

Fragments and objects are conditionally included based on expressions on attribute values

Adaptive Object Inclusion

Reasons for adaptive object inclusion:

prerequisite explanation (include when needed to understand concept)

comparative or additional explanation (include when user is ready for it)

choose between media items (text, audio, image, video)

same object may be included in different pages; having separate objects eliminates redundant copies

Adaptive Object Inclusion in AHA!

Adaptation Rules determine inclusion of objects:

“casegroup” works like a “switch” statement in C to decide which object to include

the inclusion causes a new access event triggering the adaptation rules of the included object

included objects can thus influence how object inclusion and link adaptation works for objects further down on the same page

Potential Problems with Object Inclusion

When an object is included in several pages or several times on a page:

each access to the object triggers adaptation

the user may not recognize the adapted object or page when it is revisited

When many objects are included on a page:

the page is difficult to author (many object tags)

it is difficult for an author to remember what the (possible) contents of the page is

Stable Presentations in AHA!

Adaptation is less noticeable when it is done once, when the user first sees the object (or page)

stable forever (one-time adaptation)

stable for one session (adaptation reoccurs in the next session)

stable as long as an expression remains true (stable until some threshold is reached)

Handling Many Small Fragments

AHA! 3.0 is backward compatible with AHA! 2.0

conditional inclusion of fragments through “if” statements inside the page

all possible variations are visible to the author

the “if” statements cause pages not to be in standard xhtml

conditionally included fragments do not generate an event (and thus do not generate any user model update)

Conclusions / Future Work

Object inclusion and stable presentations make AHA! a more versatile/powerful as an AHS

Using these features effectively is not trivial for authors; we need authoring tools that use high-level structures

one such tool is an Interbook to AHA! compiler (but that does not use object inclusion or stable presentations yet because Interbook does not use them)

more tools are being developed in the ADAPT project (101144-CP-1-2002-NL-MINERVA-MPP)

/facilitair bedrijf in de MasterSlide (in het menu: View | Master | Slide Master) eventueel weghalen of vervangen door een ander submerk zie www.fb.tue.nl/huisstijl/fonts/faq.htm

Dit is een voorlopige versie!

This example shows a page (source on the right, result on the left) with two occurrences of the same object.

The second occurrence a different fragment is included, because the user model has changed between the two accesses to the object.

Stability is tied to objects. This means that when an object is included in many pages, it will be shown on all pages in the same way as on the first page.

Object Inclusion in AHA!

Toine Kuiper

1999-09-23T10:59:52

Paul De Bra