Readit News logoReadit News
seereadhack · 6 months ago
Linear's write ups / talks on real-time sync are also very good, if a bit old now.

1. https://www.youtube.com/watch?v=WxK11RsLqp4&t=2169s

2. https://linear.app/now/scaling-the-linear-sync-engine

Also see this overview of related tech here:

3. https://gist.github.com/pesterhazy/3e039677f2e314cb77ffe3497...

And c.f. automerge from ink & switch:

4.https://automerge.org/blog/

thruflo · 6 months ago
Just to say if you're interested in this kind of tech and are in the Bay Area, Sync Conf [0] just announced [1] its initial speaker lineup today and Arushi Bandi from Figma is one of the speakers.

[0]: https://syncconf.dev [1]: https://x.com/sync_conf/status/1957818840777122293

freeqaz · 6 months ago
This is still a hard problem today. Some hard tech was built for this. I'm excited for a world where this is more accessible and less hardcore than something like CRDTs (in terms of accessibility).

How have others noticed the world shifting in the past 6 years?

danielvaughn · 6 months ago
There are now a few sync engines that tackle this problem. Rocicorp Zero, Electric SQL, and one or two others. By no means a crowded space, but there are options now.

edit: links

  https://zero.rocicorp.dev/
  https://electric-sql.com/

reb · 6 months ago
Have you had a chance to use either of these yet? Electric looks like an obvious mature choice — curious if you think Zero's approach is compelling enough to be worth trying in alpha
andrewmcwatters · 6 months ago
All the fundamentals have existed for at least 26 years. So, no, not really.

It's also really weird to use video game terminology and ignore the fact that all of the approaches used in this article have in fact, been done by major game engines, are readily documented in game development circles, etc.

It reads like an undergrad discovering game development for the first time. None of this is novel. It wasn't even novel for a web or desktop application to use.

Rohansi · 6 months ago
I also found it weird. They're basically doing what multiplayer games do but for a web app. Not the typical way you'd build your web backend but nothing actually new... not even using CRDTs, just inspired by them.
partdavid · 6 months ago
Can you say more about which prior art you think overlaps here? We have a similar use case to Figma and are implementing a similar solution. I'm not particularly concerned whether the path we're following is novel but I am particularly concerned with whether there are gotchas along it that we should be watching out for, so if there are more mature solutions, we'd be interested.

Deleted Comment

asnyder · 6 months ago
I know Liveblocks.io has been making this very easy and accessible over the last few years. They recently introduced AI, and are promoting that of course, but as I understand it multiplayer collaboration (https://liveblocks.io/multiplayer-editing) is their meat and potatoes.

Not affiliated with Liveblocks, just aware of its existence.

ctnicholas · 6 months ago
I work at Liveblocks—yes! Our founders were inspired by Figma and wanted to make it possible for others to build apps like this more easily. We provide our own sync engine, Storage, which is aimed at this use case.
winrid · 6 months ago
Sharedb/racer solved this like 10yrs ago. You get synchronized snapshots, conflict resolition, diffs, change tracking..
simultsop · 6 months ago
There were some additional posts regarding the topic by same guy. https://hachyderm.io/@evanw

Innovators like him, are very rare.

wrren · 6 months ago
Elixir's Phoenix LiveView + PubSub covers a lot of these bases out of the box.
thruflo · 6 months ago
PubSub and LiveView do go a long way. However, broadcast isn't sync and LiveView isn't appropriate for all applications.

Phoenix recently added Phoenix.Sync [0], a sync engine library explicitly designed [1] to address this. In combination with a front-end library like TanStack DB [2] it goes much further towards giving you a Figma/Linear-style sync engine out of the box [3].

[0] https://hexdocs.pm/phoenix_sync [1] https://www.youtube.com/watch?v=4IWShnVuRCg [2] https://electric-sql.com/blog/2025/07/29/local-first-sync-wi... [3] https://electric-sql.com/demos/burn

Disclaimer: Electric founder. Linking to my own talk / post / demo.

Deleted Comment

dang · 6 months ago
Discussed at the time:

How Figma's Multiplayer Technology Works - https://news.ycombinator.com/item?id=21378858 - Oct 2019 (63 comments)

goodthink · 6 months ago
https://github.com/croquet/croquet makes all of this dead simple, without the need for any backend code/servers/databases/CRDTs &etc

https://multisynq.io if you want a worldwide reflector network.

mbrumlow · 6 months ago
If they don’t use CRDTs what will they put on their resume?
mandeepj · 6 months ago
Doesn’t Google docs and MS 365 have very similar tech?
jelling · 6 months ago
Yes and MSFT sells it on Azure as Signal iirc
CharlieDigital · 6 months ago
Microsoft has multiple variants on Azure.

Web PubSub[0] is a low level, scalable web sockets backend.

SignalR[1] is a higher level tool on top of web sockets that has support for some higher level abstractions like groups.

Fluid Relay[2] is probably the one closest to this tech that any team could take "off the shelf" to achieve similar features using their open source Fluid Framework[3] client. My understanding is Fluid Relay powers some of Microsoft's own collaborative products. Not sure if other direct users of this service.

[0] https://azure.microsoft.com/en-us/products/web-pubsub

[1] https://azure.microsoft.com/en-us/products/signalr-service

[2] https://azure.microsoft.com/en-us/products/fluid-relay

[3] https://fluidframework.com/

puff_pastry · 6 months ago
Genuinely curious, do a lot of people use these multiplayer features? I always thought of design as (mostly) a solo endeavour
remus · 6 months ago
We'll often do design reviews in figma, that usually means a few people looking at the same doc and potentially a few people making tweaks at the same time. Usually in separate bits of the doc at the same time.
wahnfrieden · 6 months ago
Demos
bogwog · 6 months ago
Interesting article, but why does it randomly switch from dark to light mode once you scroll past a certain point?
tobyjsullivan · 6 months ago
It changes when I scroll to the animations.

My guess is they implemented dark mode, then discovered some legacy posts have videos with transparent backgrounds. As a quick fix, they decided to disable dark mode anytime someone scrolls down to a video.

Seems like one of those compromises to solve an 11th-hour bug.

rudi-c · 6 months ago
The contents of this article are pretty old, but the static website's design has been revamped (I believe several times) since then. My guess it that the two may have just fallen out of sync in such a way that this particular oddity manifests.
654wak654 · 6 months ago
The videos have white backgrounds, maybe it's to match that and keep the page cleaner.
rakag · 6 months ago
Haha getting flashbanged halfway through
krisknez · 6 months ago
Because it's cool
koakuma-chan · 6 months ago
What is the meaning of life?
simultsop · 6 months ago
the guy behind a kabuki mask, stole my microbots
Traubenfuchs · 6 months ago
...and why does the switch point have a small hysteresis?