How Figma’s multiplayer technology works (2019)

figma.com

174 points by redbell 5 days ago


seereadhack - a day 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 - a day 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 - 2 days 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?

dang - 2 days ago

Discussed at the time:

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

goodthink - a day 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.

puff_pastry - 21 hours ago

Genuinely curious, do a lot of people use these multiplayer features? I always thought of design as (mostly) a solo endeavour

mandeepj - a day ago

Doesn’t Google docs and MS 365 have very similar tech?

bogwog - 2 days ago

Interesting article, but why does it randomly switch from dark to light mode once you scroll past a certain point?

1zael - 2 days ago

Evan Wallace basically said screw it, I'm writing a custom WebGL renderer and multiplayer protocol, when everyone else was slapping together existing libraries. Most of us would have built a janky Electron app and called it a day. Instead they went nuclear on performance because that WAS their product differentiation.

Sincere6066 - a day ago

figma balls

- a day ago
[deleted]
- 2 days ago
[deleted]
- 2 days ago
[deleted]
hola404 - 2 days ago

[dead]

- 2 days ago
[deleted]
guluarte - 2 days ago

Why is their CTO suspended on Twitter https://x.com/evanwallace ?

dostick - 2 days ago

Figma was born out of founder’s need to find a proof of concept test case for real-time collaboration JavaScript engine they created. They stumbled on this idea. Back then everyone used Sketch and wanted better prototyping and interaction design, and Figma appeared with its real time collaboration as major point which you used once just to try and never again.

Figma is one of the worst evils of corporate capitalism. The design oriented development is long ceases, mainly focusing on making new useless products because they need growth for shareholders. Considered a leader in UIUX design software while its own UIUX is abysmal, full of amateur level mistakes, inconsistencies and bad patterns. We have now a generation of designers that take Figma’s UX as an example to learn from and implement in their designs.

bullen - 2 days ago

I think player is a misnomer here. Multiuser editing would be better.

Also websockets are complicated. So are WebRTC or HTTP/2+ solutions.

HTTP/1.1 Comet-Stream is still the silver bullet even when ISPs try to block them, it's the protocol that goes through best (99.6% in 2022)

I'm considering doing a multi-socket solution: 80 (HTTP Comet-Stream) and 3724 (Binary TCP because WoW).

https://multiplayeronlinestandard.com