Employing Multiuser Interactions in the Development of Synchronous Applications Cornelia Haber...
-
date post
18-Dec-2015 -
Category
Documents
-
view
218 -
download
0
Transcript of Employing Multiuser Interactions in the Development of Synchronous Applications Cornelia Haber...
Employing Multiuser Interactions in the Development of
Synchronous Applications
Cornelia HaberUniversität Oldenburg
04/18/23 Modeling cooperative applications containing multiuser interactions 2
Contents
Motivation Significance of multiuser applications Scenarios Classification of multiuser applications
MoMI – a model for multiuser interactions Comparison single user – multiuser interactions Modeling single user interactions Modeling multiuser interactions
Deploying MoMI in the development of cooperative applications A simple processing model Modelling “Mensch ärgere Dich nicht“
Summary
04/18/23 Modeling cooperative applications containing multiuser interactions 3
Motivation
Significance of multiuser applications
Wide distribution of computers Network capacities Positive effects of collaborative learning
But Developing collaborative applications is expensive
Therefore Tools for developing multiuser applications are needed
04/18/23 Modeling cooperative applications containing multiuser interactions 4
Motivation
Scenarios of multiuser applications Learning
• Language laboratory
• Virtual laboratories (physics, chemistry, genetics)
• Programming together
• Simulation
Games• Sailing game
• Jigsaw
• …
04/18/23 Modeling cooperative applications containing multiuser interactions 5
Motivation
Classification of multiuser applications
Focus of this work: same time, different place
same time
(synchronous)
different time
(asynchronous)
same place face to face bulletin board system
different placevideo conferencing
application sharing
newsgroups
workflow management
04/18/23 Modeling cooperative applications containing multiuser interactions 6
Motivation
Classification of synchronous multiuser applications
a) shared application b) m ultiuser application w ith one view c) m ultiuser application w ith d ifferent view s
U ser U ser
U ser U ser
U ser
M odel
View
U ser
U ser U ser
U ser U ser
M odel
View
View View
View View U ser
U ser U ser
U ser U ser
View
View
View View
View
M odel
M odel
M odel M odel
04/18/23 Modeling cooperative applications containing multiuser interactions 7
Multiuser interaction
Multiuser interactions are interactions where different people take part in the interaction, i.e. either different people work together to trigger the interaction or different people are affected by the interaction.
Cooperation results from user interactions
Multiuser interaction
Definition:
04/18/23 Modeling cooperative applications containing multiuser interactions 8
Multiuser interaction
Comparing singleuser/multiuser interaction (1)
interaction multiuser interaction
interaction task position
text
select
quantify
multiuser position
multiuser text
multiuser select
multiuser quantify
communication
interaction technique
mouse down
mouse move
press keyboard
…
mouse down
mouse move
press keyboard
…
04/18/23 Modeling cooperative applications containing multiuser interactions 9
Multiuser interaction
Comparing singleuser/multiuser interaction (2)
interaction multiuser interaction
interaction form
masks
UI components
…
masks
UI components
…
interaction devices
mouse
keyboard
…
mouse
keyboard
…
interaction effect
reaction of the application
reaction of the application (local)
reaction of the application (global)
04/18/23 Modeling cooperative applications containing multiuser interactions 10
boolean expression on attribute values, timeand location
• mouse event• keyboard event• time event• application event• variable event•complex events
Modeling an interaction
Singleuser interaction as IFCA rule
IF C A
interactionformevent
condition
action
04/18/23 Modeling cooperative applications containing multiuser interactions 11
Modeling multiuser interactions
Multiple users Multiple interaction form events Multiple actions User identity ( groups, roles)
04/18/23 Modeling cooperative applications containing multiuser interactions 12
Condition types:• attribute• time• location
Modeling multiuser interactions
IFU 1
IFU 2
IFU 3
IFU 4
IFU 5
U 1A
U 2A
U 4A
C U ser(Inter)action type
• number of users• access rights
Multiuser interaction as IFnCA
n rule
04/18/23 Modeling cooperative applications containing multiuser interactions 13
Modeling multiuser interactions
General considerations: When/why abort an interaction
• Time restrictions
• Impossible condition
Reaction on interaction abortion• Dropping the interaction
• Reinitializing the interaction
• “goto”, i.e. stopping the application and proceeding at a predefined spot
04/18/23 Modeling cooperative applications containing multiuser interactions 14
Status quo
Modeling simple multiuser interactions where X users have to press a button X users of group y have to press a button X users have to press a button within y minutes One user has to press the button on computer 123.456.789.0 ……
IF : C : U : A : T:Ab:
M enu item xIP address 123.456.78.*5 users of group ystart film z
4 m inutes from first user choicedrop in teraction
Event caused by in teraction form
C ondition
U ser
Action
Tim e restriction
R eaction on abortion
04/18/23 Modeling cooperative applications containing multiuser interactions 15
Modeling multiuser interactions
Missing: Information on the “status” of the interaction
Feedback and Feedthrough
Simple multiuser interaction as (IF x FB x FT)nCA
n rule
IF : C : U : A : Fb: F t: T:Ab:
M enu item xIP address 123.456.78.*5 users of group ystart film zinvert m enu item xita lic ize m enu item x
4 m inutes from first user choicedrop interaction
Event caused by in teraction form
C ondition
U ser
Action
Feedback
Feedthrough
Tim e restriction
R eaction on abortion
04/18/23 Modeling cooperative applications containing multiuser interactions 16
Modelling complex multiuser interactions
Combination of simple multiuser interactions Linking operators
AND OR SEQ (Sequence)
Properties of linking operators Feedback Time restriction Reaction on abortion
multiuser interaction may be represented as interaction tree
04/18/23 Modeling cooperative applications containing multiuser interactions 17
Interaction tree
Example interaction tree:
IF : C : U : A : Fb: F t: T:Ab: --
M enu item xafter 4.00 p.m .5 users new m enu item yinvert m enu xita lic ize m enu x
--
IF : C : --U : A : --Fb: F t: T:Ab: --
Button 1 pressed
user of group 1
highlight button 1highlight button 1
--
IF : C : --U : A : --Fb: F t: T:Ab:
press button “O K”
all users
invert button “O K”change button text
10 m inre in itia lize in teraction
T:Fb:
Ab:
5 m inset back to norm al
button 1 and m enu item x
drop in teraction
AND
T:Fb: --Ab:--
--SEQ
04/18/23 Modeling cooperative applications containing multiuser interactions 18
So far:
MoMI (Modelling Multiuser Interactions) allows for the specification of complex multiuser interactions
MoMI usable in combination with existing authoring environments
Usable only for synchronous applications with one view
Helps understand the way users influence each other
Tools for modeling multiuser interaction are needed Multiuser interaction tree editor Framework implementing multiuser interactions Simulation environment
04/18/23 Modeling cooperative applications containing multiuser interactions 19
ToDo:
Deployment of MoMI in the development of cooperative applications
A simple process model
04/18/23 Modeling cooperative applications containing multiuser interactions 20
A simple process model
Requirements: Simple model (“straight forward”) Support for multiuser interactions
Process Model: Preconsiderations Modelling as singleuser application Making singleuser model multiuser compliant Architecture of the application Implementation and test
04/18/23 Modeling cooperative applications containing multiuser interactions 21
A simple process model
Preconsiderations:
Synchronous / asynchronous Collaboration transparent / aware User
Number of users• Static / variable
• Latecomers (?)
Distinguishing users• Groups / Roles (static / dynamic)
Network aspects LAN / WAN (Fairness)
04/18/23 Modeling cooperative applications containing multiuser interactions 22
A simple process model
Modeling as singleuser application Using well known notations (UML) Modeling for different users / groups / roles Modeling interactions
• Own
• Other users
Making singleuser application multiuser compliant Correlation between models
• Causal correlation
• Corporate interaction
04/18/23 Modeling cooperative applications containing multiuser interactions 23
Mensch ärgere Dich nicht – an example
Coarse model of the game
join choosecolor
play
turnplayer 1
turnplayer 2
turnplayer 3
turnplayer 4
[more than2 players]
[more than3 players]
[ finished]
[ finished]
[finished]
[finished]
[ 2 players]
[ 3 players]
Aktivity “play” refined
04/18/23 Modeling cooperative applications containing multiuser interactions 24
Mensch ärgere Dich nicht – an example
Activity “turn player 1-4”
rolldice
movepawn
choosecolor
turn otherplayer(s)
rolldice
movepawn
join
[game over][game over]
[game not over] Game as seen by one user
04/18/23 Modeling cooperative applications containing multiuser interactions 25
Mensch ärgere Dich nicht – an example
Color choosing
C hoiceC olor 3
C hoiceC olor 4
C hoiceC olor 2
C hoiceC olor 1
AND
Action : start to p lay
Event: C ondition: --U ser: Action: --Feedback: Feedthrough:
T im e restriction:R eaction on abortion: --
checkbox chosen
any user
d isable a ll checkboxesset checkbox se lected
d isable checkbox --
a) m ultiuser in teraction “choose color”
b) s im ple m ultiuser in teraction “C hoice C olor 1-4”
Choice Color 1-4
04/18/23 Modeling cooperative applications containing multiuser interactions 26
Mensch ärgere Dich nicht – an example
One users turn
SEQ
roll dice
IFUFbFt
: c lick on d ice: p layer 1:show num ber on d ice
: show num ber on d ice
move pawn
IFUFbFt
: c lick on paw n: p layer 1:m ove paw n
: m ove paw n
04/18/23 Modeling cooperative applications containing multiuser interactions 27
Mensch ärgere Dich nicht – an example
04/18/23 Modeling cooperative applications containing multiuser interactions 28
Questions? Comments?
? Thank you for your attentionIf you have any questions please
contact me at:[email protected]