Operational Transformation https://www.tag1consulting.com/term/operational-transformation en Yjs deep dive: part 4 https://www.tag1consulting.com/blog/yjs-deep-dive-part-4 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Versioning in Yjs -- How deletes are exchanged -- Distributed revision histories Tracking changes in Yjs -- Attributing and identifying changes -- Offline editing -- Peer-to-peer versioning Conclusion The previous blog post in this multi-part series about Yjs , the real-time collaboration framework, dealt with awareness therein, and how encoding deletions in the Yjs way can yield substantial performance dividends. Recently, during its assessment of a variety of tools for collaborative editing , Tag1 Consulting opted for Yjs and ProseMirror for an ambitious shared editing project at a well-known Fortune 50 company. Not long ago, yours truly ( Preston So , Editor in Chief at Tag1 and author of Decoupled Drupal in Practice ) sat down with Kevin Jahns (Real-Time Collaboration Systems Lead at Tag1 and creator of Yjs), Fabian Franz (Senior Technical Architect and Performance Lead at Tag1), and Michael Meyers (Managing Editor at Tag1) for another Tag1 Team Talks webinar and podcast spelunking into Yjs and the features that make it a compelling choice for a wide variety of shared editing use cases . In this new installment of the Yjs blog series, we conclude our discussion of awareness and devote our attention to offline editing and versioning,... <div class="more-link"><a href="/blog/yjs-deep-dive-part-4" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Wed, 02/19/2020 - 22:29</span> Thu, 20 Feb 2020 06:29:28 +0000 preston 127 at https://www.tag1consulting.com Yjs deep dive: part 2 https://www.tag1consulting.com/blog/yjs-deep-dive-part-2 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">In the previous blog post in this multi-part series about Yjs, we discussed the history and origins of Yjs , directly from its creator Kevin Jahns, as well as operational transformation (OT) and some of the advantages that peer-to-peer approaches to real-time collaboration have over the use of a centralized server. Tag1 recently selected Yjs as its shared editing framework of choice , pairing it with ProseMirror for a top Fortune 50 company .<div class="more-link"><a href="/yjs/deepdiveblog2" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Thu, 02/06/2020 - 17:56</span> Fri, 07 Feb 2020 01:56:09 +0000 preston 120 at https://www.tag1consulting.com Yjs deep dive: part 1 https://www.tag1consulting.com/blog/yjs-deep-dive-part-1 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">At the moment, real-time collaboration is one of the hottest topics in the content management space. After all, one of the key features still absent from many content management systems (CMS) is shared editing among multiple users that successfully handles a variety of conditions. Applications like Google Docs, for instance, leverage a centralized server that manages all operations, but emerging frameworks, Yjs the most prominent among them, are challenging this paradigm with peer-to-peer approaches instead. Recently, as part of our biweekly Tag1 Team Talks webinar and podcast series, the creator of Yjs, Kevin Jahns (Real-Time Collaboration Systems Lead at Tag1), joined Fabian Franz (Senior Technical Architect and Performance Lead at Tag1), Michael Meyers (Managing Director at Tag1), and yours truly ( Preston So , Editor in Chief at Tag1 and author of Decoupled Drupal in Practice ) for a deep dive into how Yjs and its unique approaches make real-time collaboration in a peer-to-peer manner more efficient than foregoing paradigms for shared editing. In this multi-part blog series, we explore Yjs’s inner workings, how it came to be, and why it is far and away the best solution for real-time collaborative editing. For this first installment, we cover some of... <div class="more-link"><a href="/yjs/deepdiveblog" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Thu, 01/30/2020 - 11:18</span> Thu, 30 Jan 2020 19:18:42 +0000 preston 117 at https://www.tag1consulting.com A Deep Dive Into Yjs Part 2- Tag1 Team Talk #005 https://www.tag1consulting.com/blog/deep-dive-yjs-part-2-tag1-team-talk-005 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Yjs, one of the most powerful and robust frameworks for real-time collaborative editing, enables developers to add shared editing capabilities to any application with relatively little effort. In order to make it so easy to use and extend Yjs, the framework abstracts all the complexities, many moving pieces, and deep technical concepts involved in empowering offline first, peer to peer, real time collaboration.<div class="more-link"><a href="/blog/deep-dive-yjs-part-2-tag1-team-talk-005" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/jeffrey-gilbert" typeof="schema:Person" property="schema:name" datatype="">jgilbert</span></span> <span>Wed, 11/13/2019 - 14:28</span> Wed, 13 Nov 2019 22:28:12 +0000 jgilbert 106 at https://www.tag1consulting.com A Deep Dive into Yjs part 1 - Tag1 Team Talk #004 https://www.tag1consulting.com/blog/deep-dive-yjs-part-1-tag1-team-talk-004 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">Yjs is a very compelling choice when it comes to building real-time collaborative applications. A powerful open-source, offline first, peer to peer, shared editing framework that is modular and extensible, Yjs enables developers to easily add real time collaborative capabilities to any type of application. Rich text editing, drawing, 3d modeling... the list of potential use cases for Yjs is lengthy and remarkable. But how did it get started, what is the algorithm it’s based on, and what does the future hold for Yjs? In this Tag1 Team Talk, hear directly from Kevin Jahns, the creator of Yjs, as we dive deeply into the foundations of Yjs and where it’s headed.<div class="more-link"><a href="/blog/deep-dive-yjs-part-1-tag1-team-talk-004" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/jeffrey-gilbert" typeof="schema:Person" property="schema:name" datatype="">jgilbert</span></span> <span>Tue, 11/12/2019 - 11:28</span> Tue, 12 Nov 2019 19:28:32 +0000 jgilbert 105 at https://www.tag1consulting.com Evaluating real-time collaborative editing solutions for a top Fortune 50 company https://www.tag1consulting.com/blog/evaluating-real-time-collaborative-editing-solutions-top-fortune-50-company <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">In today’s editorial landscape, content creators can expect not only to touch a document countless times to revise and update content, but also to work with other writers from around the world, often on distributed teams, to finalize a document collaboratively and in real time. For this reason, collaborative editing, or shared editing, has become among the most essential and commonly requested features for any content management solution straddling a large organization.<div class="more-link"><a href="/blog/evaluating-real-time-collaborative-editing-solutions-top-fortune-50-company" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/preston-so" typeof="schema:Person" property="schema:name" datatype="">preston</span></span> <span>Mon, 11/11/2019 - 15:00</span> Mon, 11 Nov 2019 23:00:00 +0000 preston 104 at https://www.tag1consulting.com A Deep Dive Into Real Time Collaborative Editing Solutions - TagTeamTalk #001 https://www.tag1consulting.com/blog/deep-dive-real-time-collaborative-editing-solutions-tagteamtalk-001-0 <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item">What is real-time collaborative editing, and what are some of the most compelling technologies available in the space? In the inaugural TAG Team Talk, hosted by Preston So (Contributing Editor, Tag1 Consulting), we conduct a wide-ranging discussion about both the business prerogatives and technical ins-and-outs of real-time collaborative editing and its landscape today, with our guests Kevin Jahns (creator of Yjs and collaborative editing expert at Tag1 Consulting), Fabian Franz (Senior Technical Architect and Performance Lead, Tag1 Consulting), and Michael Meyers (Managing Director, Tag1 Consulting). In this talk, we explore collaborative editing, diving into how it works and some of the challenges borne by shared editing. Through the lens of Yjs, a real-time collaboration framework that supports not just text but also collaborating on drawings and 3-D models, we take a look at Operational Transformation (OT) and how implementing Conflict-free Replicated Data Types (CRDT) drives decentralized server approaches in collaborative editing and supports more robust distributed applications with true real-time support. Yjs: https://github.com/yjs/yjs ProseMirror: https://prosemirror.net Great Overview of CRDT https://conclave-team.github.io/conclave-site/#conflict-free-replicated-data-type-crdt Deep dive int CRDT by the author of Automerge: https://www.youtube.com/watch?v=yCcWpzY8dIA Yjs was inspired by: Sharedb https://github.com/share/sharedb DerbyJS https://derbyjs.com/ Text Transcript - Hello, good morning or good evening, wherever you are.... <div class="more-link"><a href="/blog/deep-dive-real-time-collaborative-editing-solutions-tagteamtalk-001-0" class="more-link" hreflang="en">Read more</a></div></div> <span><span lang="" about="/user/michael-meyers" typeof="schema:Person" property="schema:name" datatype="">michaelemeyers</span></span> <span>Wed, 09/18/2019 - 11:34</span> Wed, 18 Sep 2019 18:34:35 +0000 michaelemeyers 98 at https://www.tag1consulting.com