SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
Learning
Layers

CollaborateCom 2013
2013-10-23
Austin, TX, USA

Shared Editing on the Web:
A Classification of Developer
Support Libraries
István Koren, Andreas Guth, Ralf Klamma
Advanced Community Information Systems (ACIS)
RWTH Aachen University, Germany
koren | guth | klamma@dbis.rwth-aachen.de
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

1

This slide deck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Advanced / ATLAS / Awesome / Aachen
Community Information Systems (ACIS)

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

2

Responsive
Open
Community
Information
Systems

Community
Visualization
and
Simulation

Community
Support

Community
Analytics

Requirements
Engineering

Web Analytics

Web Engineering

Learning
Layers
Learning
Layers

ACIS Web Applications

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

3
Learning
Layers

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

4

Popular Collaborative Applications
on the Web
Learning
Layers

Motivation for Developing Web Apps
  Many

Platforms

–  Mobile cross-platform development tools
–  Completely Web based OS’s
–  Responsive Web Design
  Multiple

devices per user
  Many “script” developers join the market
  It is very hard to develop Shared Editing from scratch!

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

5
Learning
Layers

Server-Push Technologies
  Ajax
  Comet
  WebSockets
  various

JS libraries available

–  socket.io, BrowserChannel, CometD
  XMPP

offers structured data exchange
between client and server

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

6
Learning
Layers

WebRTC – Peer-to-Peer on the Web
  Audio

& Video Communication
  DataChannel for sending arbitrary data
  Signaling server required

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

7
Learning
Layers

Consistency Algorithms
  Operational

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

8

Transformation
Learning
Layers

Consistency Algorithms
  Differential

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

9

Synchronization
Learning
Layers

Architectures for Shared Editing
Systems
  Centralized
  Peer-to-peer
  Hybrid

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

10
Learning
Layers

Workspace Awareness
  Answers

Who, What and Where questions

  Participant

list
  Teleselection
  Telepointers
  Radar view

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

11
Learning
Layers

Workspace Awareness Tools
(case Etherpad)

1: User-specific colors
2: Mouseover effects
3: Participant list
4: Chat
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

12
Learning
Layers

Google Drive SDK Realtime API
  Object

oriented approach
  Integrated in Google Drive ecosystem
  History support (undo/redo)
  UI binding
// initialize string variable
var str = model.createString(’Hello World!’);
model.getRoot().set(’text’, str);
var textArea = document.getElementById(’edit’);
realtime.databinding.bindString(str, textArea);

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

13

  https://developers.google.com/drive/realtime/
Learning
Layers

OpenCoweb
  Utilizes

operational transformation
  Comes with ready-made widgets (text, maps, chat)
collab.sendSync("examplename", "x", "insert", 5);
collab.sendSync("examplename", null, "delete", 5);

  OT

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

14

library available separately

  http://opencoweb.org/
Learning
Layers

MobWrite
  Uses

differential synchronization
  Syncs HTML elements
  Two data types: text and numbers
mobwrite.share("textfield");
mobwrite.unshare("textfield");

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

15

  https://code.google.com/p/google-mobwrite/
Learning
Layers

ShareJS
  Server

runs on node.js
  Large parts of source taken from Etherpad
  OT operations for arbitrary JSON objects
  No history support
doc.submitOp({i:"Some text", p:100}, callback);
doc.insert(100, "Some text", callback);

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

16

  http://sharejs.org/
Learning
Layers

Changesets
  Low

level access to OT functionality
  Only plain-text
  Changes must be sent to collaborators manually

doc.submitOp({i:"Some text", p:100}, callback);
doc.insert(100, "Some text", callback);

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

17

  https://github.com/marcelklehr/changesets
Learning
Layers

Collaborative Editing Framework for
XML (CEFX)
  Not

targeted for Web; XMPP for message exchange
  Uses multiple history-buffers per document
–  queues of remote operations
–  updates do not affect other nodes
<!DOCTYPE html>
<html>
<body>
<p>
<a href="#C4">See also Chapter 4.</a>
</p>
<h2>Chapter 1</h2>
<p>This chapter explains ba bla bla</p>

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

18

<h2>Chapter 2</h2>
<p>This chapter explains ba bla bla</p>
</body>
</html>
Learning
Layers

Comparison

  All

but one based on OT
  Lack of awareness tools
  Well-documented
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

19
Learning
Layers

ROLE Sandbox & SDK

Web application (composed of widgets)
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

20

Space (shared by multiple users)

Widget (collaborative web
component)

http://role-sandbox.eu/
Learning
Layers

ROLE Inter-Widget Communication

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

21
Learning
Layers

Learning Design Authoring Tool
  Uses

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

22

OpenCoweb’s standalone OT library
Learning
Layers

House of Quality tool
  Uses

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

23

Google Realtime API
Learning
Layers

Outlook
  Provide

awareness widgets for ROLE SDK
  Build P2P systems with WebRTC
  Learn from user feedback

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

24
Learning
Layers

fin
This work was supported by the LAYERS FP7 ICT Integrated Project of
the European Commission (grant agreement no. 318209).

Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke

25

Mais conteúdo relacionado

Destaque

Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning Talk
IstvanKoren
 

Destaque (7)

Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder docker
 
DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015DevOps Gamification Workshop at JTEL Summer School 2015
DevOps Gamification Workshop at JTEL Summer School 2015
 
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
Requirements Bazaar powered by AngularJS and Polymer - Talk at Google Develop...
 
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
Smart Ambient Learning with Physical Artifacts Using Wearable Technologies - ...
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning Talk
 
The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!The BBC micro:bit - discover your inner maker!
The BBC micro:bit - discover your inner maker!
 
Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers Box
 

Semelhante a Shared Editing on the Web: A Classification of Developer Support Frameworks

PresentationTest
PresentationTestPresentationTest
PresentationTest
bolu804
 
Linking data, models and tools an overview
Linking data, models and tools an overviewLinking data, models and tools an overview
Linking data, models and tools an overview
Gennadii Donchyts
 
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and SecurityOntology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Barry Smith
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
Carole Goble
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
Carole Goble
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
Dejan Kovachev
 
PowerPoint
PowerPointPowerPoint
PowerPoint
Videoguy
 

Semelhante a Shared Editing on the Web: A Classification of Developer Support Frameworks (20)

The Exploitation of OpenAPI Documents for the Generation of Web Frontends
The Exploitation of OpenAPI Documents for the Generation of Web FrontendsThe Exploitation of OpenAPI Documents for the Generation of Web Frontends
The Exploitation of OpenAPI Documents for the Generation of Web Frontends
 
Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web Supporting Professional Communities in the Next Web
Supporting Professional Communities in the Next Web
 
Browser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-TimeBrowser-Based Collaborative Modeling in Near Real-Time
Browser-Based Collaborative Modeling in Near Real-Time
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
 
A Short Swim through the Personal Learning Pool
A Short Swim through the Personal Learning PoolA Short Swim through the Personal Learning Pool
A Short Swim through the Personal Learning Pool
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
 
A.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in EngineeringA.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in Engineering
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
 
Linking data, models and tools an overview
Linking data, models and tools an overviewLinking data, models and tools an overview
Linking data, models and tools an overview
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
 
Possible Worlds Explorer: Datalog & Answer Set Programming for the Rest of Us
Possible Worlds Explorer: Datalog & Answer Set Programming for the Rest of UsPossible Worlds Explorer: Datalog & Answer Set Programming for the Rest of Us
Possible Worlds Explorer: Datalog & Answer Set Programming for the Rest of Us
 
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and SecurityOntology Tutorial: Semantic Technology for Intelligence, Defense and Security
Ontology Tutorial: Semantic Technology for Intelligence, Defense and Security
 
FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...
FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...
FIWARE Wednesday Webinars - Performing Big Data Analysis Using Cosmos With Sp...
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
 
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
DireWolf - Distributing and Migrating User Interfaces for Widget-based Web Ap...
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
 
PowerPoint
PowerPointPowerPoint
PowerPoint
 

Mais de IstvanKoren

Augmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveAugmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische Perspektive
IstvanKoren
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the Web
IstvanKoren
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPP
IstvanKoren
 

Mais de IstvanKoren (6)

A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL TranslationsA Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
A Link Generator for Increasing the Utility of OpenAPI-to-GraphQL Translations
 
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
Immersive Community Analytics for Wearable Enhanced Learning (HCI Internation...
 
Augmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische PerspektiveAugmented Reality Lernkontexte - Eine Europäische Perspektive
Augmented Reality Lernkontexte - Eine Europäische Perspektive
 
Requirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the WebRequirements Bazaar - Meet your Users on the Web
Requirements Bazaar - Meet your Users on the Web
 
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
DireWolf Goes Pack Hunting: A Peer-to-Peer Approach for Secure Low Latency Wi...
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPP
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 

Shared Editing on the Web: A Classification of Developer Support Frameworks

  • 1. Learning Layers CollaborateCom 2013 2013-10-23 Austin, TX, USA Shared Editing on the Web: A Classification of Developer Support Libraries István Koren, Andreas Guth, Ralf Klamma Advanced Community Information Systems (ACIS) RWTH Aachen University, Germany koren | guth | klamma@dbis.rwth-aachen.de Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 1 This slide deck is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
  • 2. Advanced / ATLAS / Awesome / Aachen Community Information Systems (ACIS) Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 2 Responsive Open Community Information Systems Community Visualization and Simulation Community Support Community Analytics Requirements Engineering Web Analytics Web Engineering Learning Layers
  • 3. Learning Layers ACIS Web Applications Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 3
  • 4. Learning Layers Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 4 Popular Collaborative Applications on the Web
  • 5. Learning Layers Motivation for Developing Web Apps   Many Platforms –  Mobile cross-platform development tools –  Completely Web based OS’s –  Responsive Web Design   Multiple devices per user   Many “script” developers join the market   It is very hard to develop Shared Editing from scratch! Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 5
  • 6. Learning Layers Server-Push Technologies   Ajax   Comet   WebSockets   various JS libraries available –  socket.io, BrowserChannel, CometD   XMPP offers structured data exchange between client and server Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 6
  • 7. Learning Layers WebRTC – Peer-to-Peer on the Web   Audio & Video Communication   DataChannel for sending arbitrary data   Signaling server required Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 7
  • 8. Learning Layers Consistency Algorithms   Operational Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 8 Transformation
  • 9. Learning Layers Consistency Algorithms   Differential Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 9 Synchronization
  • 10. Learning Layers Architectures for Shared Editing Systems   Centralized   Peer-to-peer   Hybrid Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 10
  • 11. Learning Layers Workspace Awareness   Answers Who, What and Where questions   Participant list   Teleselection   Telepointers   Radar view Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 11
  • 12. Learning Layers Workspace Awareness Tools (case Etherpad) 1: User-specific colors 2: Mouseover effects 3: Participant list 4: Chat Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 12
  • 13. Learning Layers Google Drive SDK Realtime API   Object oriented approach   Integrated in Google Drive ecosystem   History support (undo/redo)   UI binding // initialize string variable var str = model.createString(’Hello World!’); model.getRoot().set(’text’, str); var textArea = document.getElementById(’edit’); realtime.databinding.bindString(str, textArea); Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 13   https://developers.google.com/drive/realtime/
  • 14. Learning Layers OpenCoweb   Utilizes operational transformation   Comes with ready-made widgets (text, maps, chat) collab.sendSync("examplename", "x", "insert", 5); collab.sendSync("examplename", null, "delete", 5);   OT Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 14 library available separately   http://opencoweb.org/
  • 15. Learning Layers MobWrite   Uses differential synchronization   Syncs HTML elements   Two data types: text and numbers mobwrite.share("textfield"); mobwrite.unshare("textfield"); Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 15   https://code.google.com/p/google-mobwrite/
  • 16. Learning Layers ShareJS   Server runs on node.js   Large parts of source taken from Etherpad   OT operations for arbitrary JSON objects   No history support doc.submitOp({i:"Some text", p:100}, callback); doc.insert(100, "Some text", callback); Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 16   http://sharejs.org/
  • 17. Learning Layers Changesets   Low level access to OT functionality   Only plain-text   Changes must be sent to collaborators manually doc.submitOp({i:"Some text", p:100}, callback); doc.insert(100, "Some text", callback); Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 17   https://github.com/marcelklehr/changesets
  • 18. Learning Layers Collaborative Editing Framework for XML (CEFX)   Not targeted for Web; XMPP for message exchange   Uses multiple history-buffers per document –  queues of remote operations –  updates do not affect other nodes <!DOCTYPE html> <html> <body> <p> <a href="#C4">See also Chapter 4.</a> </p> <h2>Chapter 1</h2> <p>This chapter explains ba bla bla</p> Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 18 <h2>Chapter 2</h2> <p>This chapter explains ba bla bla</p> </body> </html>
  • 19. Learning Layers Comparison   All but one based on OT   Lack of awareness tools   Well-documented Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 19
  • 20. Learning Layers ROLE Sandbox & SDK Web application (composed of widgets) Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 20 Space (shared by multiple users) Widget (collaborative web component) http://role-sandbox.eu/
  • 21. Learning Layers ROLE Inter-Widget Communication Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 21
  • 22. Learning Layers Learning Design Authoring Tool   Uses Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 22 OpenCoweb’s standalone OT library
  • 23. Learning Layers House of Quality tool   Uses Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 23 Google Realtime API
  • 24. Learning Layers Outlook   Provide awareness widgets for ROLE SDK   Build P2P systems with WebRTC   Learn from user feedback Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 24
  • 25. Learning Layers fin This work was supported by the LAYERS FP7 ICT Integrated Project of the European Commission (grant agreement no. 318209). Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 25