Conflict-free Replicated Data Types https://www.tag1consulting.com/ en Yjs deep dive: How Yjs handles offline editing and versioning - 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"> <p>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.</p> <div class="more-link"><a href="/blog/yjs-deep-dive-part-4" class="more-link" aria-label="Read more about Yjs deep dive: How Yjs handles offline editing and versioning - part 4" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/preston-so">preston</a></span> <span><time datetime="2020-02-19T22:29:28-08:00" title="Wednesday, February 19, 2020 - 22:29">Wed, 02/19/2020 - 22:29</time> </span> Thu, 20 Feb 2020 06:29:28 +0000 preston 127 at https://www.tag1consulting.com Yjs deep dive: How Yjs makes real-time collaboration easier and more efficient - 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="/blog/yjs-deep-dive-part-2" class="more-link" aria-label="Read more about Yjs deep dive: How Yjs makes real-time collaboration easier and more efficient - part 2" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/preston-so">preston</a></span> <span><time datetime="2020-02-06T17:56:09-08:00" title="Thursday, February 6, 2020 - 17:56">Thu, 02/06/2020 - 17:56</time> </span> Fri, 07 Feb 2020 01:56:09 +0000 preston 120 at https://www.tag1consulting.com Yjs deep dive: What is Yjs and operational transformation? - 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"> <p>Part 1 | <a href="https://www.tag1consulting.com/blog/yjs-deep-dive-part-2" title="Part 2">Part 2</a> | <a href="https://www.tag1consulting.com/blog/yjs-deep-dive-part-3" title="Part 3">Part 3</a> | <a href="https://www.tag1consulting.com/blog/yjs-deep-dive-part-4" title="Part 4">Part 4</a> | 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, <a href="https://twitter.com/kevin_jahns" title="Kevin Jahns">Kevin Jahns</a> (Real-Time Collaboration Systems Lead at Tag1), joined <a href="https://www.drupal.org/u/fabianx" title="Fabian Franz">Fabian Franz</a> (Senior Technical Architect and Performance Lead at Tag1), <a href="https://www.drupal.org/u/michaelemeyers" title="Michael Meyers">Michael Meyers</a> (Managing Director at Tag1), and yours truly (<a href="https://preston.so/" title="Preston So">Preston So</a>, Editor in Chief at Tag1 and author of <a href="https://www.amazon.com/Decoupled-Drupal-Practice-Architect-Architectures/dp/1484240715/ref=sr_1_1" title="Decoupled Drupal in Practice">Decoupled Drupal in Practice</a>) for <em><a href="https://youtu.be/aVTOKGLFuLo" title="a deep dive into how Yjs and its unique approaches">a deep dive into how Yjs and its unique approaches</a></em> make real-time collaboration in a peer-to-peer manner more efficient than foregoing paradigms for shared editing...</p> <div class="more-link"><a href="/blog/yjs-deep-dive-part-1" class="more-link" aria-label="Read more about Yjs deep dive: What is Yjs and operational transformation? - part 1" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/preston-so">preston</a></span> <span><time datetime="2020-01-30T11:18:42-08:00" title="Thursday, January 30, 2020 - 11:18">Thu, 01/30/2020 - 11:18</time> </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" aria-label="Read more about A Deep Dive Into Yjs Part 2 - Tag1 Team Talk #005" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/preston-so">preston</a></span> <span><time datetime="2019-11-13T14:28:12-08:00" title="Wednesday, November 13, 2019 - 14:28">Wed, 11/13/2019 - 14:28</time> </span> Wed, 13 Nov 2019 22:28:12 +0000 preston 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" aria-label="Read more about A Deep Dive into Yjs part 1 - Tag1 Team Talk #004" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/preston-so">preston</a></span> <span><time datetime="2019-11-12T11:28:32-08:00" title="Tuesday, November 12, 2019 - 11:28">Tue, 11/12/2019 - 11:28</time> </span> Tue, 12 Nov 2019 19:28:32 +0000 preston 105 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? n 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. <div class="more-link"><a href="/blog/deep-dive-real-time-collaborative-editing-solutions-tagteamtalk-001-0" class="more-link" aria-label="Read more about A Deep Dive Into Real Time Collaborative Editing Solutions - TagTeamTalk #001" hreflang="en">Read more</a></div> </div> <span><a title="View user profile." href="/user/michael-meyers">michaelemeyers</a></span> <span><time datetime="2019-09-18T11:34:35-07:00" title="Wednesday, September 18, 2019 - 11:34">Wed, 09/18/2019 - 11:34</time> </span> Wed, 18 Sep 2019 18:34:35 +0000 michaelemeyers 98 at https://www.tag1consulting.com