Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Learning
Layers

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

Shared Editing on the Web:
A Classification of Developer
...
Advanced / ATLAS / Awesome / Aachen
Community Information Systems (ACIS)

Lehrstuhl Informatik 5
(Information Systems)
Pro...
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...
Learning
Layers

Motivation for Developing Web Apps
  Many

Platforms

–  Mobile cross-platform development tools
–  Comp...
Learning
Layers

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

JS libraries available

–  socket.io,...
Learning
Layers

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

& Video Communication
  DataChannel for sending arbitrary dat...
Learning
Layers

Consistency Algorithms
  Operational

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

8...
Learning
Layers

Consistency Algorithms
  Differential

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

...
Learning
Layers

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

Lehrstuhl Informatik 5...
Learning
Layers

Workspace Awareness
  Answers

Who, What and Where questions

  Participant

list
  Teleselection
  T...
Learning
Layers

Workspace Awareness Tools
(case Etherpad)

1: User-specific colors
2: Mouseover effects
3: Participant li...
Learning
Layers

Google Drive SDK Realtime API
  Object

oriented approach
  Integrated in Google Drive ecosystem
  His...
Learning
Layers

OpenCoweb
  Utilizes

operational transformation
  Comes with ready-made widgets (text, maps, chat)
col...
Learning
Layers

MobWrite
  Uses

differential synchronization
  Syncs HTML elements
  Two data types: text and numbers...
Learning
Layers

ShareJS
  Server

runs on node.js
  Large parts of source taken from Etherpad
  OT operations for arbi...
Learning
Layers

Changesets
  Low

level access to OT functionality
  Only plain-text
  Changes must be sent to collabo...
Learning
Layers

Collaborative Editing Framework for
XML (CEFX)
  Not

targeted for Web; XMPP for message exchange
  Use...
Learning
Layers

Comparison

  All

but one based on OT
  Lack of awareness tools
  Well-documented
Lehrstuhl Informati...
Learning
Layers

ROLE Sandbox & SDK

Web application (composed of widgets)
Lehrstuhl Informatik 5
(Information Systems)
Pr...
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

...
Learning
Layers

House of Quality tool
  Uses

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

23

Googl...
Learning
Layers

Outlook
  Provide

awareness widgets for ROLE SDK
  Build P2P systems with WebRTC
  Learn from user fe...
Learning
Layers

fin
This work was supported by the LAYERS FP7 ICT Integrated Project of
the European Commission (grant ag...
Upcoming SlideShare
Loading in …5
×

of

Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 1 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 2 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 3 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 4 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 5 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 6 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 7 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 8 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 9 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 10 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 11 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 12 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 13 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 14 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 15 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 16 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 17 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 18 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 19 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 20 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 21 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 22 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 23 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 24 Shared Editing on the Web: A Classification of Developer Support Frameworks Slide 25
Upcoming SlideShare
DevOps Gamification Workshop at JTEL Summer School 2015
Next
Download to read offline and view in fullscreen.

3 Likes

Share

Download to read offline

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

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

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

  1. 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. 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. 3. Learning Layers ACIS Web Applications Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 3
  4. 4. Learning Layers Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 4 Popular Collaborative Applications on the Web
  5. 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. 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. 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. 8. Learning Layers Consistency Algorithms   Operational Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 8 Transformation
  9. 9. Learning Layers Consistency Algorithms   Differential Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 9 Synchronization
  10. 10. Learning Layers Architectures for Shared Editing Systems   Centralized   Peer-to-peer   Hybrid Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 10
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 21. Learning Layers ROLE Inter-Widget Communication Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 21
  22. 22. Learning Layers Learning Design Authoring Tool   Uses Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 22 OpenCoweb’s standalone OT library
  23. 23. Learning Layers House of Quality tool   Uses Lehrstuhl Informatik 5 (Information Systems) Prof. Dr. M. Jarke 23 Google Realtime API
  24. 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. 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
  • NilsCordes

    Apr. 13, 2014
  • tsubame9590206

    Jan. 14, 2014
  • klamma

    Oct. 27, 2013

Views

Total views

1,824

On Slideshare

0

From embeds

0

Number of embeds

905

Actions

Downloads

7

Shares

0

Comments

0

Likes

3

×