Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I think Figma shouldn't technically be described as a CRDT #60

Closed
aboodman opened this issue Apr 11, 2022 · 2 comments
Closed

I think Figma shouldn't technically be described as a CRDT #60

aboodman opened this issue Apr 11, 2022 · 2 comments

Comments

@aboodman
Copy link
Contributor

First, thanks for creating this site. Super useful.

Second, in a few places you refer to Figma as using CRDTs. They themselves say this is not the case in the document you refer to:

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 by removing this extra overhead and benefit from a faster and leaner implementation.

I think this distinction is important. If what Figma is doing is a CRDT, then Replicache, Fluid Framework, and similar approaches would also be considered CRDTs.

But that doesn't seem right -- what Replicache and FF do are clearly not CRDTs, and therefore it's not correct to refer to Figma as using CRDTs either (unless you have more up to date info than that blog post).

@ept
Copy link
Owner

ept commented Apr 14, 2022

Hi @aboodman, I agree that Figma shouldn't be considered a CRDT, and we should make this clearer. In 112568b I've updated the text of the two places on this site where we refer to Figma. Do you think this is better?

@ept ept closed this as completed Aug 14, 2022
@aboodman
Copy link
Contributor Author

Yep, sorry for slow reply.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants