<story><title>Show HN: Domain-tailored CRDTs for collaboration without server involvement</title><url>http://archagon.net/blog/2018/03/24/data-laced-with-history/</url></story><parent_chain></parent_chain><comment><author>archagon</author><text>Hi HN! I wanted to research more elegant ways to enable document sync and collaboration in my apps sometime last year, and ended up discovering a new class of data structure that made it possible to build collaboration into documents right on the data level, completely separate from the network architecture. (Maybe you&amp;#x27;re already familiar with CRDTs. Well, these aren&amp;#x27;t just ordinary CRDTs, but almost &lt;i&gt;meta-CRDTs&lt;/i&gt; that can represent a variety of convergent data types in a generic way. They also make it super easy to implement things like past revision viewing and delta patches.) As a proof of concept, I built a basic real-time collaborative text editor for iOS that works equally well over regular iCloud sync, CloudKit Sharing, and offline, as well as a simple mesh network simulator for macOS that has support for collaborative text editing and simple Bézier editing.&lt;p&gt;The code is strictly educational for the time being, but I&amp;#x27;m working on a Swift library that can hopefully put this stuff to use in real apps. Hope to start dog-fooding in release software by the end of the year!</text></comment>
<story><title>Show HN: Domain-tailored CRDTs for collaboration without server involvement</title><url>http://archagon.net/blog/2018/03/24/data-laced-with-history/</url></story><parent_chain></parent_chain><comment><author>saurik</author><text>The author is wondering why iCloud Sharing is used by so few developers; I will point out &amp;#x2F; remind that, in addition to fundamentally being an API whose usage implies &amp;quot;I will never be able to build an Android app which interoperates with this data&amp;quot; (which is already pretty damning for most developers as a door they don&amp;#x27;t want to permanently close), the first few releases of iCloud were so bad that documents and even entire clients would end up in permanently wedged states that developers could not fix for users and were so bad that at WWDC one year I remember the Apple iCloud person on stage during the &amp;quot;developer state of the union&amp;quot; talk apologizing for iCloud being so broken and begging the audience for another chance.</text></comment>