SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
http://Learning-Layers-eu 1
• Real-time collaboration beyond Google Docs
• Need of a scalable, easy-to-use framework
2
Collaboration
Engine
• Solving conflicts in real-time collaboration
• Architectures
– Peer-to-peer
• Components
– Collaboration Engine
– Communication component
3
4
http://y-js.org/examples/
• Text
• Json
• XML (DOM)
But: possible to customize it for arbitrary ones!
5y-js.org/examples
• XMPP
– Uses XEP-0045 (Multi-User Chat)
– Prosody XMPP server
• WebRTC
– Uses PeerJS for messaging
• .. (you can create your own connector)
6
1.var connector = Y.XMPP().join("my-roomname");
y-js.org/examples
• Similar behavior for other data types
7
1.var y = new Y(connector); //yjs object
//add a new property
2.y.val("new_object",“a_value“);
3.y.val("number",4)
4.y.val() // => {string:“a_value“,number:4}
y-js.org/examples
• Real-time collaboration on arbitrary data types
• P2P message propagation
• Arbitrary communication protocols
– XMPP Connector: scalable (>1000 users)
– WebRTC: fast
• Easy to use
• Offline editing (unimplemented)
• Undo (unimplemented)
Try Yjs yourself:
https://github.com/rwth-acis/yjs
8

Weitere ähnliche Inhalte

Was ist angesagt?

Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users GroupPeter A. Pirc
 
MongoDB Hadoop DC
MongoDB Hadoop DCMongoDB Hadoop DC
MongoDB Hadoop DCMike Dirolf
 
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Skills Matter
 
Apache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesApache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesMichele Mostarda
 
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...Paris Open Source Summit
 
MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseSudhir Patil
 
Preliminary committee presentation
Preliminary committee presentationPreliminary committee presentation
Preliminary committee presentationRichard Drake
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweavePaolo Mojica
 
Mongodb open data day 2014
Mongodb open data day 2014Mongodb open data day 2014
Mongodb open data day 2014David Green
 

Was ist angesagt? (13)

Brief overview of TypeScript - Ljubljana JavaScript Users Group
 Brief overview of TypeScript - Ljubljana JavaScript Users Group Brief overview of TypeScript - Ljubljana JavaScript Users Group
Brief overview of TypeScript - Ljubljana JavaScript Users Group
 
MongoDB Hadoop DC
MongoDB Hadoop DCMongoDB Hadoop DC
MongoDB Hadoop DC
 
Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010Intro to mongodb mongouk jun2010
Intro to mongodb mongouk jun2010
 
Groovy Talk
Groovy TalkGroovy Talk
Groovy Talk
 
Apache Any23 - Anything to Triples
Apache Any23 - Anything to TriplesApache Any23 - Anything to Triples
Apache Any23 - Anything to Triples
 
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...
#OSSPARIS17 - Tosca : Construire et déployer rapidement des applications dist...
 
MongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql DatabaseMongoDB Introduction - Document Oriented Nosql Database
MongoDB Introduction - Document Oriented Nosql Database
 
Servlet and concurrency
Servlet and concurrencyServlet and concurrency
Servlet and concurrency
 
Preliminary committee presentation
Preliminary committee presentationPreliminary committee presentation
Preliminary committee presentation
 
MongoDB
MongoDBMongoDB
MongoDB
 
B2g
B2gB2g
B2g
 
mule introduction to dataweave
mule   introduction to dataweavemule   introduction to dataweave
mule introduction to dataweave
 
Mongodb open data day 2014
Mongodb open data day 2014Mongodb open data day 2014
Mongodb open data day 2014
 

Ähnlich wie Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data Types

Extbase object to xml mapping
Extbase object to xml mappingExtbase object to xml mapping
Extbase object to xml mappingThomas Maroschik
 
[Research] azure ml anatomy of a machine learning service - Sharat Chikkerur
[Research] azure ml  anatomy of a machine learning service - Sharat Chikkerur[Research] azure ml  anatomy of a machine learning service - Sharat Chikkerur
[Research] azure ml anatomy of a machine learning service - Sharat ChikkerurPAPIs.io
 
The Why and How of Scala at Twitter
The Why and How of Scala at TwitterThe Why and How of Scala at Twitter
The Why and How of Scala at TwitterAlex Payne
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANJeff Fox
 
JS - The Unknown Basics.pptx
JS - The Unknown Basics.pptxJS - The Unknown Basics.pptx
JS - The Unknown Basics.pptxParveenSoni21
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012Alexandre Morgaut
 
Using Morphlines for On-the-Fly ETL
Using Morphlines for On-the-Fly ETLUsing Morphlines for On-the-Fly ETL
Using Morphlines for On-the-Fly ETLCloudera, Inc.
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 BucharestAndreas Jung
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeAlexandre Morgaut
 
Cloudera - Using morphlines for on the-fly ETL by Wolfgang Hoschek
Cloudera - Using morphlines for on the-fly ETL by Wolfgang HoschekCloudera - Using morphlines for on the-fly ETL by Wolfgang Hoschek
Cloudera - Using morphlines for on the-fly ETL by Wolfgang HoschekHakka Labs
 
Design of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore ArchitectureDesign of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore ArchitectureLuiz Henrique Zambom Santana
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsMark Rackley
 
Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)jeresig
 

Ähnlich wie Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data Types (20)

Node.js
Node.jsNode.js
Node.js
 
Extbase object to xml mapping
Extbase object to xml mappingExtbase object to xml mapping
Extbase object to xml mapping
 
Scrapy.for.dummies
Scrapy.for.dummiesScrapy.for.dummies
Scrapy.for.dummies
 
[Research] azure ml anatomy of a machine learning service - Sharat Chikkerur
[Research] azure ml  anatomy of a machine learning service - Sharat Chikkerur[Research] azure ml  anatomy of a machine learning service - Sharat Chikkerur
[Research] azure ml anatomy of a machine learning service - Sharat Chikkerur
 
The Why and How of Scala at Twitter
The Why and How of Scala at TwitterThe Why and How of Scala at Twitter
The Why and How of Scala at Twitter
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
JS - The Unknown Basics.pptx
JS - The Unknown Basics.pptxJS - The Unknown Basics.pptx
JS - The Unknown Basics.pptx
 
End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012End-to-end W3C APIs - tpac 2012
End-to-end W3C APIs - tpac 2012
 
David buksbaum a-briefintroductiontocsharp
David buksbaum a-briefintroductiontocsharpDavid buksbaum a-briefintroductiontocsharp
David buksbaum a-briefintroductiontocsharp
 
Using Morphlines for On-the-Fly ETL
Using Morphlines for On-the-Fly ETLUsing Morphlines for On-the-Fly ETL
Using Morphlines for On-the-Fly ETL
 
Cetpa dotnet taining
Cetpa dotnet tainingCetpa dotnet taining
Cetpa dotnet taining
 
Building bridges - Plone Conference 2015 Bucharest
Building bridges   - Plone Conference 2015 BucharestBuilding bridges   - Plone Conference 2015 Bucharest
Building bridges - Plone Conference 2015 Bucharest
 
AD102 - Break out of the Box
AD102 - Break out of the BoxAD102 - Break out of the Box
AD102 - Break out of the Box
 
End to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) EuropeEnd to-end W3C - JS.everywhere(2012) Europe
End to-end W3C - JS.everywhere(2012) Europe
 
Dos and donts
Dos and dontsDos and donts
Dos and donts
 
Linked Process
Linked ProcessLinked Process
Linked Process
 
Cloudera - Using morphlines for on the-fly ETL by Wolfgang Hoschek
Cloudera - Using morphlines for on the-fly ETL by Wolfgang HoschekCloudera - Using morphlines for on the-fly ETL by Wolfgang Hoschek
Cloudera - Using morphlines for on the-fly ETL by Wolfgang Hoschek
 
Design of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore ArchitectureDesign of Experiments on Federator Polystore Architecture
Design of Experiments on Federator Polystore Architecture
 
SPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentialsSPTechCon - Share point and jquery essentials
SPTechCon - Share point and jquery essentials
 
Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)Advancing JavaScript with Libraries (Yahoo Tech Talk)
Advancing JavaScript with Libraries (Yahoo Tech Talk)
 

Mehr von Nicolaescu Petru

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...Nicolaescu Petru
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...Nicolaescu Petru
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebNicolaescu Petru
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoNicolaescu Petru
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesNicolaescu Petru
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentNicolaescu Petru
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportNicolaescu Petru
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...Nicolaescu Petru
 
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-TimeNicolaescu Petru
 
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...Nicolaescu Petru
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioNicolaescu Petru
 

Mehr von Nicolaescu Petru (12)

View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...View Based Near Real Time Collaborative Modeling for Information Systems Engi...
View Based Near Real Time Collaborative Modeling for Information Systems Engi...
 
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
A Microservice Approach for Near Real-time Collaborative 3D Object Annotation...
 
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the WebSyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
SyncMeta: Near Real-time Collaborative Conceptual Modeling on the Web
 
Informal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive VideoInformal Learning at the Workplace via Adaptive Video
Informal Learning at the Workplace via Adaptive Video
 
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data TypesYjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
Yjs: A Framework for Near Real-time P2P Shared Editing on Arbitrary Data Types
 
A Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application DevelopmentA Methodology and Tool Support for Widget-based Web Application Development
A Methodology and Tool Support for Widget-based Web Application Development
 
A Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning SupportA Community Information System for Ubiquitous Informal Learning Support
A Community Information System for Ubiquitous Informal Learning Support
 
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...SeViAnno 2.0: Web-Enabled CollaborativeSemantic Video Annotation Beyond the ...
SeViAnno 2.0: Web-Enabled Collaborative Semantic Video Annotation Beyond the ...
 
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
 
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...
 
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation ScenarioPrototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
Prototyping Apps for Informal Learning: A Semantic Video Annotation Scenario
 
Struts presentation
Struts presentationStruts presentation
Struts presentation
 

Kürzlich hochgeladen

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...kalichargn70th171
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Kürzlich hochgeladen (20)

A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Yjs: A Real-Time Framework for Peer-to-peer Group Editing on Arbitrary Data Types

  • 2. • Real-time collaboration beyond Google Docs • Need of a scalable, easy-to-use framework 2 Collaboration Engine
  • 3. • Solving conflicts in real-time collaboration • Architectures – Peer-to-peer • Components – Collaboration Engine – Communication component 3
  • 5. • Text • Json • XML (DOM) But: possible to customize it for arbitrary ones! 5y-js.org/examples
  • 6. • XMPP – Uses XEP-0045 (Multi-User Chat) – Prosody XMPP server • WebRTC – Uses PeerJS for messaging • .. (you can create your own connector) 6 1.var connector = Y.XMPP().join("my-roomname"); y-js.org/examples
  • 7. • Similar behavior for other data types 7 1.var y = new Y(connector); //yjs object //add a new property 2.y.val("new_object",“a_value“); 3.y.val("number",4) 4.y.val() // => {string:“a_value“,number:4} y-js.org/examples
  • 8. • Real-time collaboration on arbitrary data types • P2P message propagation • Arbitrary communication protocols – XMPP Connector: scalable (>1000 users) – WebRTC: fast • Easy to use • Offline editing (unimplemented) • Undo (unimplemented) Try Yjs yourself: https://github.com/rwth-acis/yjs 8