Employing Multiuser Interactions in the Development of Synchronous Applications Cornelia Haber...

28
Employing Multiuser Interactions in the Development of Synchronous Applications Cornelia Haber Universität Oldenburg [email protected]
  • 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

[email protected]

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

email

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]