+ All Categories
Home > Documents > Towards Asynchronous Adaptive...

Towards Asynchronous Adaptive...

Date post: 07-May-2018
Category:
Upload: dinhkhuong
View: 227 times
Download: 1 times
Share this document with a friend
74
Towards Asynchronous Adaptive Hypermedia An Unobtrusive Generic Help System Andreas Putzinger - putzinger@fim.uni-linz.ac.at presentation @ ABIS 2007, 09/26/2007 (Halle / Saale, Germany) FIM - Institute for Information Processing and Microprocessor Technology Johannes Kepler University Linz, Austria
Transcript

Towards Asynchronous Adaptive Hypermedia An Unobtrusive Generic Help System

Andreas Putzinger - [email protected] @ ABIS 2007, 09/26/2007 (Halle / Saale, Germany)

FIM - Institute for Information Processing and Microprocessor TechnologyJohannes Kepler University Linz, Austria

© A. Putzinger, 2007

Contents

• Introduction - Asynchronous Web

• Concepts in Asynchronous Adaptive Hypermedia

• Example System - Providing Help

• Conclusion, Future Research

2

© A. Putzinger, 2007

“Asynchronous” web

Terminology• Asynchronicity in the context of web refers to the point in time, when the

actual data transmission takes placeTechnical aspects

• Asynchronous data transfers take place independently of the traditional, surrounding, blocking http-request-response cycle (out-of-band communication).

• RIA, AJAX, XmlHttpRequest, …• Many current (widget)-frameworks inherently support this technology

Benefits• More responsive interfaces• More applications are being transferred from the desktop to the web. Gaps

must be bridged ASAP (regarding GUI, latencies, features, convenience, etc.)• ...

3

traditional “synchronous” apps

blocked blocked

asynchronous web apps

non-blocked

traditional “synchronous” apps

blocked blocked

asynchronous web apps

non-blocked

traditional “synchronous” apps

blocked blocked

asynchronous web apps

non-blocked

© A. Putzinger, 2007

Further examples for async. web apps

• Many Google apps, Yahoo apps, etc.

5

© A. Putzinger, 2007

Further examples for async. web apps

• Many Google apps, Yahoo apps, etc.

5

© A. Putzinger, 2007

Further examples for async. web apps

• Many Google apps, Yahoo apps, etc.

5

© A. Putzinger, 2007

Adaptive Hypermedia Systems (AHS)

6

© A. Putzinger, 2007

Adaptive Hypermedia Systems (AHS)

6

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

© A. Putzinger, 2007

Adaptive Hypermedia Systems (AHS)

6

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

on http-requests- all kind of data- implicit, explicit.- piggybacking of data

© A. Putzinger, 2007

Adaptive Hypermedia Systems (AHS)

6

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

on http-requests- all kind of data- implicit, explicit.- piggybacking of data

adaptation is applied once

© A. Putzinger, 2007

Async. Adaptive Hypermedia - concept

• Combination of the well established field of Adaptive Hypermedia with well-established techniques of the asynchronous web.

• Bidirectional, continous communication channel! (AJAX’s not enough!)

7

© A. Putzinger, 2007

Async. Adaptive Hypermedia - concept

• Combination of the well established field of Adaptive Hypermedia with well-established techniques of the asynchronous web.

• Bidirectional, continous communication channel! (AJAX’s not enough!)

7

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

adaptation is applied once

on http-requests- all kind of data- implicit, explicit.- piggybacking of data

© A. Putzinger, 2007

Async. Adaptive Hypermedia - concept

• Combination of the well established field of Adaptive Hypermedia with well-established techniques of the asynchronous web.

• Bidirectional, continous communication channel! (AJAX’s not enough!)

7

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

© A. Putzinger, 2007

Async. Adaptive Hypermedia - concept

• Combination of the well established field of Adaptive Hypermedia with well-established techniques of the asynchronous web.

• Bidirectional, continous communication channel! (AJAX’s not enough!)

7

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

continuously transmit (usage) data

© A. Putzinger, 2007

Async. Adaptive Hypermedia - concept

• Combination of the well established field of Adaptive Hypermedia with well-established techniques of the asynchronous web.

• Bidirectional, continous communication channel! (AJAX’s not enough!)

7

models

client

adaptation engine

data collection

modelling

uses

apply on data/pages

continuously transmit (usage) data

continously update page“Instant Adaptation”

© A. Putzinger, 2007

Asynchronous AH - Implications [1]

• In general: the more the system knows about a user, the better personalization could be featured.

• More (precise) data about user actions -> more possibilites for interpreting subsymbolic user behavior.

8

© A. Putzinger, 2007

Asynchronous AH - Implications [1]

• In general: the more the system knows about a user, the better personalization could be featured.

• More (precise) data about user actions -> more possibilites for interpreting subsymbolic user behavior.

• Monitoring the user’s mouse (position, clicks, timings and latencies, etc.) -> “valuable raw material” for modeling the user’s focus of attention, performing website usability evaluation, etc.

8

© A. Putzinger, 2007

Asynchronous AH - Implications [1]

• In general: the more the system knows about a user, the better personalization could be featured.

• More (precise) data about user actions -> more possibilites for interpreting subsymbolic user behavior.

• Monitoring the user’s mouse (position, clicks, timings and latencies, etc.) -> “valuable raw material” for modeling the user’s focus of attention, performing website usability evaluation, etc.

• Key Strokes -> typing characteristics, adaptive text completion / recommendation, plan recognition etc.

8

© A. Putzinger, 2007

Asynchronous AH - Implications [1]

• In general: the more the system knows about a user, the better personalization could be featured.

• More (precise) data about user actions -> more possibilites for interpreting subsymbolic user behavior.

• Monitoring the user’s mouse (position, clicks, timings and latencies, etc.) -> “valuable raw material” for modeling the user’s focus of attention, performing website usability evaluation, etc.

• Key Strokes -> typing characteristics, adaptive text completion / recommendation, plan recognition etc.

• Browser events (scroll actions, etc.) -> focus of attention, etc.

8

© A. Putzinger, 2007

Asynchronous AH - Implications [1]

• In general: the more the system knows about a user, the better personalization could be featured.

• More (precise) data about user actions -> more possibilites for interpreting subsymbolic user behavior.

• Monitoring the user’s mouse (position, clicks, timings and latencies, etc.) -> “valuable raw material” for modeling the user’s focus of attention, performing website usability evaluation, etc.

• Key Strokes -> typing characteristics, adaptive text completion / recommendation, plan recognition etc.

• Browser events (scroll actions, etc.) -> focus of attention, etc.

• “Still Alive / Working / Active” messages

8

© A. Putzinger, 2007

Asynchronous AH - Implications [2]

• On-demand data retrieval gets possible -> reduced “provisional transmission”;Adaptive engine needs information from client -> simply ask for it, NOW, asynchronously

9

© A. Putzinger, 2007

Asynchronous AH - Implications [2]

• On-demand data retrieval gets possible -> reduced “provisional transmission”;Adaptive engine needs information from client -> simply ask for it, NOW, asynchronously

• Subscriber model gets possible -> server subscribes to client values (scrolling state, etc.) -> when value changed -> server gets notified

9

© A. Putzinger, 2007

Asynchronous AH - Implications [2]

• On-demand data retrieval gets possible -> reduced “provisional transmission”;Adaptive engine needs information from client -> simply ask for it, NOW, asynchronously

• Subscriber model gets possible -> server subscribes to client values (scrolling state, etc.) -> when value changed -> server gets notified

• Instant adaptation -> instantly apply new adaptations when underlying model gets changed -> instant forward chaining

9

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

• Low latency (information from client in “realtime” - whatever this term means in practice)

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

• Low latency (information from client in “realtime” - whatever this term means in practice)

• Continous model update

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

• Low latency (information from client in “realtime” - whatever this term means in practice)

• Continous model update

• possibility of forward chaining

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

• Low latency (information from client in “realtime” - whatever this term means in practice)

• Continous model update

• possibility of forward chaining

• Instant adaptation

10

© A. Putzinger, 2007

What’s really new??

• Concept of inspecting/transmitting user actions from inside the browser is NOT new

• The technique of interpreting user actions / clickstreams is NOT new.

• So, what’s really new about this Asynchronous Adaptive Hypermedia / AH 2.0 ????

• Low latency (information from client in “realtime” - whatever this term means in practice)

• Continous model update

• possibility of forward chaining

• Instant adaptation

• New facilities/possibilities for evaluation and esp. meta-adaptivity

10

© A. Putzinger, 2007

Watch / record / replay / eval. sessions

11

Client Central Monitor

© A. Putzinger, 2007

Watch / record / replay / eval. sessions

11

Client Central Monitor

© A. Putzinger, 2007

Watch / record / replay / eval. sessions

11

Client Central Monitor

server / model / etc.

© A. Putzinger, 2007

Watch / record / replay / eval. sessions

11

Client Central Monitor

© A. Putzinger, 2007

AAHS Example: Adaptive Help Provision

• Asynchronous Adaptive Hypermedia System for Help Provision

• Generic

• Context sensitive and insensitive help

• Specific aspects to model (in order provide the shown functionality):

1. User Idle time

2. Locus/Focus of Attention (FOA):

• FOA limited to widgets on page

• When “using” a widget -> user is probably concentrated on that

• Not a 100% sure hint -> need to quantify the probability of the correctness of this information

• The longer an element is focused without interaction, the lower the probability gets that a user is still concentrated on the contents / semantics of that element.

12

© A. Putzinger, 2007

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

© A. Putzinger, 2007

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

passed seconds since last user interaction took place

© A. Putzinger, 2007

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

passed seconds since last user interaction took place seconds for

prob = 50% (“stretchfactor”)

© A. Putzinger, 2007

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

passed seconds since last user interaction took place seconds for

prob = 50% (“stretchfactor”)

© A. Putzinger, 2007

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

passed seconds since last user interaction took place seconds for

prob = 50% (“stretchfactor”)

threshold = 50%

© A. Putzinger, 2007

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

quantify the probability of the correctness, which is ex-pressed as pcor (see equ.2). The higher the value of thefunction pcor is, the higher the chance can be assessed thatfocus(U) = !sel.

The used assessment function is based on the idea that atmoments when U is typing text into !sel, the locus of atten-tion is known quite precisely, i.e. the activated form fielditself, because U is obviously just concentrated on writing.The higher, however, the value for itkey gets the lower theprobability is that !sel still represents focus(U). A recipro-cal exponential function has been chosen as the base formto express the probability of correctness, as shown in equ.2.The factor " is customizable and determines the time span(in seconds) after which pcor results in 50% probability. " ,therefore, parameterizes the aspect ratio of the curve. Fig.2shows pcor for " = 20 seconds.

pcor(itkey(U), ") =1

1 + ( itkey(U)! )2

(2)

Probability of Correctness

Focus of Attention

0

0,2

0,4

0,6

0,8

1

1,2

1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58 61 64 67 70 73 76 79 82 85 88 91 94 97 100103106109112115118

it_key(u) (seconds)

Pro

bab

ilit

y

p_

co

r(it

_key(u

),

tau

=2

0)

Figure 2: pcor(itkey(U), " = 20)

To finally decide whether U pays attention to !sel or not aparameter plimit is introduced which represents the thresh-old of probability. Equ.3 finally shows the determination ofthe focus of attention against U and " .

focus(U , ") =!

!sel = undefined : undefinedpcor(itkey(U), ") > plimit : !sel

pcor(itkey(U), ") ! plimit : undefined(3)

S has to determine after how many seconds plimit isreached. For this purpose the inverse function to pcor,invpcor , is used, which is shown in equ.4.

invpcor(pcor, ") ="

"2(1" pcor

pcor) (4)

Decision for Context Sensitive HelpAnother aspect to model is the actual probability that Uneeds context sensitive help for !sel. This kind of help isoffered if U is spending at least thresholdas percent longerattention to !sel than the average of the other users do. Thenumber of seconds U’s attentional focus lies on ! is called“attention span” and is formally expressed by the functionas(U , !). Equ.5 defines the average attention span asavg

for a specified ! against all users, whereas equ.6 exlicitelydisregards U .

asavg(e) =

#Ui!U

as(Ui, !)

|U| (5)

asavg(U , !) =

#Ui!U,Ui "=U

as(Ui, !)

|U|" 1(6)

This inference obviously needs training. Thus, it wouldbe an option to e.g.use a default value for the firstminusers instead of asavg(!). In this preliminary versionof S, U’s individual speed factor is not taken into account.The personal speed, depending, for instance, on overallcomputer skills, etc., could also contribute to improve S’sperformance and to minimize the just mentioned bootstrapproblem, which is based on the lack of user data and there-fore experience when starting S for the first time or for newpages. Furthermore, in more advanced versions of S, pos-sible disabilities of U should be recognized and speciallytaken into account.

Example• Let asavg for !sel be 18 seconds.• Let S be configured to offer U help in cases where

as(U , !sel) is at least 33% higher than the averagevalue. Therefore, thresholdas = 33%.

• Let plimit be 60%. This means that S must be up to60% sure that U’s focus of attention can be correctlydetermined by S.

• Let pcor be parameterized a way that it returns 50%after 12 seconds; therefore, " = 12.

Effect• If as(U , !sel) gets larger than 24 seconds, S triggers

context sensitive help.• If e.g.as(U , !sel) = 6 seconds and U stops typing, pcor

after 24 seconds (at this time itkey(U) = 18 seconds)is calculated as shown in equ.7. The resulting value isless than the required 60%, which results in not offer-ing help.

pcor(itkey(U) = 18, " = 12) =# 30, 77% < plimit = 60% (7)

The limit for this configuration can be determined byinvpcor(pcor = 60, " = 12) =# 9, 8. Therefore, thefirst 10 seconds of itkey are added to the current valueof as(U , !sel), so that the new value for as(U , !) is16.

• If U restarts typing (after whatever time span) anddoes not blur !sel in the next 8 seconds, help will beoffered after 8 seconds, when as(U , !sel) = 24. Thishappens even if the user only presses one single keyand immediatly stops typing again, as shown in equ.8.

pcor(itkey(U) = 8, " = 12) =# 69, 23% $ plimit = 60% (8)

U’s progress on PTo determine if U probably needs context insensitive helpU’s overall progress on P will be taken into account andhas therefore to be calculated in a first step. The followingsimple model is applied:

Probability of Correctness for FOA

13

passed seconds since last user interaction took place seconds for

prob = 50% (“stretchfactor”)

threshold = 40%

© A. Putzinger, 2007

Context Sensitive Help [1]

• Attention Span

• Number of seconds a widget is focused and probability of correctness > threshold

• Help is offered/triggered if the attention span on an input element is higher (threshold!) than average.

• If server-side system determines that attention span is exceeded, it sends specific help text to the client, which shows that help text in an unobtrusive way.

14

© A. Putzinger, 2007

Context Sensitive Help [2]

15

configuration

average attention span = 18stolerance = 33%--> offer help after 24 seconds

Value of p_correct after 12 seconds = 50% --> tau = 12

FOA can be determined, if p_correct > 60%

© A. Putzinger, 2007

Context Sensitive Help [2]

15

configuration

average attention span = 18stolerance = 33%--> offer help after 24 seconds

Value of p_correct after 12 seconds = 50% --> tau = 12

FOA can be determined, if p_correct > 60%

© A. Putzinger, 2007

Context Insensitive Help [1]

• Semantics: Offer help when system notices that user probably needs no specific, but general help (using the system itself, application / domain specific help, etc.)

16

© A. Putzinger, 2007

Context Insensitive Help [1]

• Semantics: Offer help when system notices that user probably needs no specific, but general help (using the system itself, application / domain specific help, etc.)

• Additional aspect to model: “user’s progress on a certain page”

16

© A. Putzinger, 2007

Context Insensitive Help [1]

• Semantics: Offer help when system notices that user probably needs no specific, but general help (using the system itself, application / domain specific help, etc.)

• Additional aspect to model: “user’s progress on a certain page”

• Compare the “progress” of each element on a page with it’s “final state” -> do this for each element -> progress on whole page (0% - 100%)

16

© A. Putzinger, 2007

Context Insensitive Help [1]

• Semantics: Offer help when system notices that user probably needs no specific, but general help (using the system itself, application / domain specific help, etc.)

• Additional aspect to model: “user’s progress on a certain page”

• Compare the “progress” of each element on a page with it’s “final state” -> do this for each element -> progress on whole page (0% - 100%)

• Consider number of “user interactions” to reach the current percentage of progress; compare with values of other users

16

© A. Putzinger, 2007

Context Insensitive Help [1]

• Semantics: Offer help when system notices that user probably needs no specific, but general help (using the system itself, application / domain specific help, etc.)

• Additional aspect to model: “user’s progress on a certain page”

• Compare the “progress” of each element on a page with it’s “final state” -> do this for each element -> progress on whole page (0% - 100%)

• Consider number of “user interactions” to reach the current percentage of progress; compare with values of other users

• The more interactions a user needs for a certain degree of progress on a page, the higher is the probable “confusion factor” of that particular user -> higher chance to need general help.

16

© A. Putzinger, 2007

Context Insensitive Help [2]

• Threshold factor is dynamic and depends on the current progress.

17

© A. Putzinger, 2007

Context Insensitive Help [2]

• Threshold factor is dynamic and depends on the current progress.

• When a user enters a page (low progress values), chances are higher that a user wants to get general information -> lower threshold. Therefore, the system reacts more strict to anormative behaviour and offers help faster than in phases of advanced progress.

17

© A. Putzinger, 2007

Context Insensitive Help [2]

• Threshold factor is dynamic and depends on the current progress.

• When a user enters a page (low progress values), chances are higher that a user wants to get general information -> lower threshold. Therefore, the system reacts more strict to anormative behaviour and offers help faster than in phases of advanced progress.

• Nevertheless, some groups of users orientate first when entering a page -> a certain degree of flexibility must be tolerated from the beginning.

17

© A. Putzinger, 2007

Context Insensitive Help [2]

• Threshold factor is dynamic and depends on the current progress.

• When a user enters a page (low progress values), chances are higher that a user wants to get general information -> lower threshold. Therefore, the system reacts more strict to anormative behaviour and offers help faster than in phases of advanced progress.

• Nevertheless, some groups of users orientate first when entering a page -> a certain degree of flexibility must be tolerated from the beginning.

17

Deviation for

context insensitive help

0

0,2

0,4

0,6

0,8

1

1,2

0,010,040,07 0,

10,130,160,190,220,250,280,310,340,37 0,

40,430,460,490,520,550,580,610,640,67 0,

70,730,760,790,820,850,880,910,940,97

1

progress (min_dev = 35%, max_dev = 100%)

all

ow

ed

devia

ton

Goal: support the user!!

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones).

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones). Firewalls don’t block due

to the usage of standard protocols and techniques.

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones). Firewalls don’t block due

to the usage of standard protocols and techniques.

Goal: support the user??

Does google/ebay/etc. know more than I thought?

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones). Firewalls don’t block due

to the usage of standard protocols and techniques.

Goal: support the user??

Does google/ebay/etc. know more than I thought?

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones). Firewalls don’t block due

to the usage of standard protocols and techniques.

Goal: support the user??

Why does amazon always recommend diet books to me???

Does google/ebay/etc. know more than I thought?

Data transfers without the user’s awareness.

Observe the user’s behaviour (typing speed, mistakes, characteristics, general timings, focus of attention, etc.)

Goal: support the user!!

We work browser-independent (works even on current mobile phones). Firewalls don’t block due

to the usage of standard protocols and techniques.

Goal: support the user??

Why does amazon always recommend diet books to me???

© A. Putzinger, 2007

Future Work

• Validation of shown concepts are currently being prepared.

• technical evaluation: general feasibility and certain aspects (scalability, latencies, browser-independence, etc.) -> stable and reliable technical basis

• user-oriented evaluation: show that AAHS have further impact on the quality

• empirical user study for help system

• Validation -> refinement -> module for LMS (assist in self assessments, general platform usage, etc.)

• Many technical improvements possible on the technical side (reducing the amount of transmitted data, bulk transfers, enhanced client logics, etc.)

19

© A. Putzinger, 2007

Conclusions

20

© A. Putzinger, 2007

Conclusions

• Asynchronous AHS enable interesting new features and represent - adaptivewise - one further step in bridging the gap between desktop- and web-applications.

20

© A. Putzinger, 2007

Conclusions

• Asynchronous AHS enable interesting new features and represent - adaptivewise - one further step in bridging the gap between desktop- and web-applications.

• Generic help system as example for AAHS.

20

© A. Putzinger, 2007

Conclusions

• Asynchronous AHS enable interesting new features and represent - adaptivewise - one further step in bridging the gap between desktop- and web-applications.

• Generic help system as example for AAHS.

• New features, new challenges, new research topics

20

© A. Putzinger, 2007

Conclusions

• Asynchronous AHS enable interesting new features and represent - adaptivewise - one further step in bridging the gap between desktop- and web-applications.

• Generic help system as example for AAHS.

• New features, new challenges, new research topics

• Let’s launch Adaptive Hypermedia 2.0!

20

Questions???

Thx for the attention!

Acknowledgements: The work reported in this paper has been partially funded by the Socrates Minerva Adaptive Learning Spaces (ALS) project (229714-CP-1-2006-NL-MPP).

http://www.als-project.org


Recommended