SlideShare a Scribd company logo
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

More Related Content

Viewers also liked

Layers box agder docker
Layers box agder dockerLayers box agder docker
Layers box agder docker
IstvanKoren
 
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
IstvanKoren
 
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...
IstvanKoren
 
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 - ...
IstvanKoren
 
Requirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning TalkRequirements Bazaar FOSDEM 2015 Lightning Talk
Requirements Bazaar FOSDEM 2015 Lightning Talk
IstvanKoren
 
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!
IstvanKoren
 
Unpacking the Layers Box
Unpacking the Layers BoxUnpacking the Layers Box
Unpacking the Layers Box
IstvanKoren
 

Viewers also liked (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
 

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

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
IstvanKoren
 
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
Ralf Klamma
 
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
Nicolaescu Petru
 
PresentationTest
PresentationTestPresentationTest
PresentationTest
bolu804
 
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
Ralf Klamma
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
Gérard Dupont
 
A.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in EngineeringA.Levenchuk -- Complexity in Engineering
A.Levenchuk -- Complexity in Engineering
Anatoly Levenchuk
 
Reproducible Science and Deep Software Variability
Reproducible Science and Deep Software VariabilityReproducible Science and Deep Software Variability
Reproducible Science and Deep Software Variability
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
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
 
Reproducibility: 10 Simple Rules
Reproducibility: 10 Simple RulesReproducibility: 10 Simple Rules
Reproducibility: 10 Simple Rules
Annika Eriksson
 
Scaling Community Information Systems
Scaling Community Information SystemsScaling Community Information Systems
Scaling Community Information Systems
Ralf Klamma
 
Parallel Computing 2007: Overview
Parallel Computing 2007: OverviewParallel Computing 2007: Overview
Parallel Computing 2007: Overview
Geoffrey Fox
 
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
Bertram Ludäscher
 
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
 
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...
FIWARE
 
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
 
DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006DRESD Project Presentation - December 2006
DRESD Project Presentation - December 2006
santa
 
PowerPoint
PowerPointPowerPoint
PowerPoint
Videoguy
 

Similar to 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
 

More from IstvanKoren

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
IstvanKoren
 
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...
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
 
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...
IstvanKoren
 
Informatik-Kolloquium XMPP
Informatik-Kolloquium XMPPInformatik-Kolloquium XMPP
Informatik-Kolloquium XMPP
IstvanKoren
 

More from 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
 

Recently uploaded

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
HarisZaheer8
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Jeffrey Haguewood
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
Intelisync
 

Recently uploaded (20)

AWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptxAWS Cloud Cost Optimization Presentation.pptx
AWS Cloud Cost Optimization Presentation.pptx
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
Letter and Document Automation for Bonterra Impact Management (fka Social Sol...
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024A Comprehensive Guide to DeFi Development Services in 2024
A Comprehensive Guide to DeFi Development Services in 2024
 

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