Date post: | 07-May-2018 |
Category: |
Documents |
Upload: | dinhkhuong |
View: | 227 times |
Download: | 1 times |
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
© 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
server / model / etc.
© 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
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
• 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