[HN Gopher] How Drawpile works
___________________________________________________________________
How Drawpile works
Author : sidedishes
Score : 46 points
Date : 2021-08-17 16:41 UTC (6 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| [deleted]
| sambroner wrote:
| Would be really neat to put Drawpile on the Fluid Framework. You
| could easily map Drawpile's ordered operations into distributed
| data structures. I did a similar thing a few months ago with
| QuillJS's operations and it worked great!
|
| The main advantage of that integration would be a ready made
| Azure service + future integration with Microsoft Office.
|
| (I used to work on the Fluid Framework)
| colesantiago wrote:
| Interesting that there isn't any mention or use of CRDTs, that
| would have been the first thing to see from this document.
|
| Nevertheless, it is still refreshing to see a different way of
| doing things like collaborative drawing without them.
|
| Curious to know of this design decision.
| zffr wrote:
| > Drawpile solves the second problem in the most simple way
| possible: all edits go through a central server, which
| distributes them to all connected clients (including the
| originator) in the same order. So, when a client receives
| commands from the server, it knows all the other clients also
| received, or will receive, them in the same order.
|
| You don't need CRDTs if you have a centralized server and
| require clients to be connected to make edits. CRDTs are useful
| when you want to enable collaboration in a decentralized way.
| colesantiago wrote:
| So does this mean Figma is decentralized since they are also
| using CRDTs?
| nh2 wrote:
| "You don't need X for centralised" does not imply "if you
| have X then you're decentralised".
|
| Beyond that simple logic: https://www.figma.com/blog/how-
| figmas-multiplayer-technology...
|
| > Figma isn't using true CRDTs though. CRDTs are designed
| for decentralized systems where there is no single central
| authority to decide what the final state should be. There
| is some unavoidable performance and memory overhead with
| doing this. Since Figma is centralized (our server is the
| central authority), we can simplify our system
| colesantiago wrote:
| Interesting, so this must mean that Figma must be using
| CRDTs wrong then, but it works for them anyway since they
| aren't using "true CRDTs".
| dang wrote:
| Only one small past related thread:
|
| _Drawpile is a free software collaborative drawing program_ -
| https://news.ycombinator.com/item?id=17141368 - May 2018 (4
| comments)
___________________________________________________________________
(page generated 2021-08-17 23:01 UTC)