adaptation of single-user multi-touch components to support synchronous mobile collaboration

14
Adaptation of Single- user Multi-touch Components to Support Synchronous Mobile Collaboration Msc. Mauro C. Pichiliani ( [email protected] ) Dr. Celso M. Hirata ([email protected] ) Instituto Tecnológico de Aeronáutica - Department of Computer Science

Upload: pichiliani

Post on 19-Jun-2015

222 views

Category:

Technology


2 download

DESCRIPTION

This was presented in CollaborateCom 2012

TRANSCRIPT

Page 1: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Adaptation of Single-user Multi-touch Components to

Support Synchronous Mobile Collaboration

Msc. Mauro C. Pichiliani ([email protected])Dr. Celso M. Hirata ([email protected])

Instituto Tecnológico de Aeronáutica - Department of Computer Science

Page 2: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Present an abstract component model

for developing mobile groupware applications based on the

modification of the user-interface components

Goal

Page 3: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Overview

• Introduction

• Related work

• The Multi-user MVC model

• Component modification process

• Evaluation

• Demonstration

• Conclusion & future work

Page 4: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Introduction

Online stores with thousands of applications Few apps. allow synchronous collaboration Vendors provide SDK Implementation of synchronous ad hoc collaboration is

complex and costly (require specific application design)

How to automatically extend existingnon-collaborative multi-touch applications

so that they implement synchronouscollaboration requirements?

Page 5: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Related work [Pichiliani ‘09]

ApproachSource code availability

Technical requirements

ContextImplementation

effort

ToolkitsDo not require the

source codeIt depends on the Toolkit’s language

Create new apps

Transparent Collaboration

Systems

Do not require the source code

Require a centralized architecture

Promote collaboration among

apps

Transparent Collaboration

Systems – ICT, ICT2 and ACT

Require an Operating System API

Require a specific software layer for each

app

Promote collaboration among

apps

Transparent Adaptation

Require an app’s APIRequire a specific

software layer for each app

Promote collaboration among

apps

Component Replacement

Require the app’s source code

It depends on the app component’s language

Create new apps and promote collaboration

Mapping of Components

Require the source code of the apps’ components

Require the app be made with the MVC architectural style

Promote collaboration

Page 6: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

The Multi-user MVC model

Page 7: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Data object characteristics [Li ‘06]

Global identification: Device D, platform P, application A , collaborative session S, user

U, View V, component C, property R, value E. Notation: D.P.A.S.U.V.C.R.E.

Interception point: Allow read and write access of the properties values

Coordination services: Mechanisms for coordination of work

Composite structures: Access the relationships between internal objects

Property changes: Distinguishing replacement and incremental property change

values

Page 8: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Collaborative component design Flexible JAM [Begole ‘01] features:

Simultaneous work when desirable Implicit/Explicit concurrency control Location-relaxed WYSIWIS General group awareness information

Components retain existing features Pre-defined collaborative interaction Synchronous mobile multi-touch controls can provide new styles of

collaboration Example: zoom in (enlarge) e zoom out (pinch) [Morris ‘06]

Page 9: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Collaboration infrastructure

Page 10: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Component modification

Requirements of the model:

Source code available Components on the MVC model Apps created with the SDK

Automatic implementation of certain pre-defined basic collaboration requirements

Application of the semi-automatic mapping in specific cases

Other collaborative requirements can be implemented using the ad hoc approach

Consider specific details of the platform SDKs: iOS, Android, Windows Phone, Blackberry

Page 11: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

The processThe MVC UI Component Modification Process

Page 12: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Evaluation

Manual implementation of the process in two existing apps:

MathDoku (16 man-hour) FingerPaint (10 man-hour)

Half of the time analysing the code Steps of the process perfomed with the IDE Focus on touch and control events Modification of XML configuration files Insertion of a new menu bar item in the app Single control’s modification provide flexibility and reusability

Page 13: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Demonstration CoFingerPaint and CoMathDoku prototypes

Page 14: Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

Conclusion & Future work Many multi-touch applications without collaboration features

Current proposals are not automatic or do not modify existing applications

We presented a model and a process for deploying synchronous collaboration requirements in existing multi-touch applications

Not all applications are candidates for the proposed technique

Evaluation modified two existing applications

Future work: Automate MVC UI Component Modification Process Formal evaluation of development effort Exploration of new interactions techniques for existing UI

components