5 ms·
How Figma’s multiplayer technology works (2019)
- bogwog 1y agoInteresting article, but why does it randomly switch from dark to light mode once you scroll past a certain point?
- krisknez 1y agoBecause it's cool
- koakuma-chan 1y agoWhat is the meaning of life?
- simultsop 1y agothe guy behind a kabuki mask, stole my microbots
- rudi-c 1y agoThe 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.
- Traubenfuchs 1y ago...and why does the switch point have a small hysteresis?
- tobyjsullivan 1y agoIt 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.
- 654wak654 1y agoThe videos have white backgrounds, maybe it's to match that and keep the page cleaner.
- rakag 1y agoHaha getting flashbanged halfway through
- deleted 1y ago[deleted]
- hola404 1y ago[dead]
- guluarte 1y agoWhy is their CTO suspended on Twitter https://x.com/evanwallace https://x.com/evanwallace ?
- wetpaws 1y ago[dead]
- echelon 1y agoWhat happened? Is there a story behind this?
- meowtimemania 1y agoIIRC there was a period of time where you could get suspended for trivial things like mentioning twitter
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- freeqaz 1y agoThis 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?
- wrren 1y agoElixir's Phoenix LiveView + PubSub covers a lot of these bases out of the box.
- thruflo 1y agoPubSub 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 https://hexdocs.pm/phoenix_sync [1] https://www.youtube.com/watch?v=4IWShnVuRCg https://www.youtube.com/watch?v=4IWShnVuRCg [2] https://electric-sql.com/blog/2025/07/29/local-first-sync-with-tanstack-db https://electric-sql.com/blog/2025/07/29/local-first-sync-wi... [3] https://electric-sql.com/demos/burn https://electric-sql.com/demos/burn Disclaimer: Electric founder. Linking to my own talk / post / demo.
- willmartian 1y agoA sync engine plus the always online nature of LiveView feels at odds with offline-first (which is often associated with sync engines). I wish LiveView had a better offline story.
- deleted 1y ago[deleted]
- simultsop 1y agoThere were some additional posts regarding the topic by same guy. https://hachyderm.io/@evanw https://hachyderm.io/@evanw Innovators like him, are very rare.
- 1zael 1y agoEvan 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.
- eddythompson80 1y agoCurious why you copy/paste your previous comments verbatim[1]. I was reading it and could have sworn I have read that exact comment before and was thinking it's dejavu. [1] https://news.ycombinator.com/item?id=44438131 https://news.ycombinator.com/item?id=44438131
- dsnr 1y agoHaha, I had the exact same feeling, like I had read the same comment before. Glad to know I’m not losing my mind :)
- simultsop 1y agomaybe an automated bot
- wk_end 1y agoNot sure, their comment history doesn't look like it. If I had to guess, they got a fair amount of karma from the old comment and thought they could get away with reusing it and harvesting some more.
- bullen 1y agoI 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 https://multiplayeronlinestandard.com
- bobbylarrybobby 1y agoThey've likened their product to a game engine, so multiplayer seems appropriate.
- dang 1y agoDiscussed at the time: How Figma's Multiplayer Technology Works - https://news.ycombinator.com/item?id=21378858 https://news.ycombinator.com/item?id=21378858 - Oct 2019 (63 comments)
- dostick 1y agoFigma 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.
- aswan 1y 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. citation needed? The article discusses adding collaboration to an existing application, the opposite of what this comment asserts.
- thruflo 1y agoJust 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 https://syncconf.dev [1]: https://x.com/sync_conf/status/1957818840777122293 https://x.com/sync_conf/status/1957818840777122293
- seereadhack 1y agoLinear'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 https://www.youtube.com/watch?v=WxK11RsLqp4&t=2169s 2. https://linear.app/now/scaling-the-linear-sync-engine https://linear.app/now/scaling-the-linear-sync-engine Also see this overview of related tech here: 3. https://gist.github.com/pesterhazy/3e039677f2e314cb77ffe3497ebca07b https://gist.github.com/pesterhazy/3e039677f2e314cb77ffe3497... And c.f. automerge from ink & switch: 4.https://automerge.org/blog/ https://automerge.org/blog/
- goodthink 1y agohttps://github.com/croquet/croquet 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 https://multisynq.io if you want a worldwide reflector network.
- mbrumlow 1y agoIf they don’t use CRDTs what will they put on their resume?
- mandeepj 1y agoDoesn’t Google docs and MS 365 have very similar tech?
- jelling 1y agoYes and MSFT sells it on Azure as Signal iirc
- CharlieDigital 1y agoMicrosoft 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 https://azure.microsoft.com/en-us/products/web-pubsub [1] https://azure.microsoft.com/en-us/products/signalr-service https://azure.microsoft.com/en-us/products/signalr-service [2] https://azure.microsoft.com/en-us/products/fluid-relay https://azure.microsoft.com/en-us/products/fluid-relay [3] https://fluidframework.com/ https://fluidframework.com/
- deleted 1y ago[deleted]
- Sincere6066 1y agofigma balls
- puff_pastry 1y agoGenuinely curious, do a lot of people use these multiplayer features? I always thought of design as (mostly) a solo endeavour
- wahnfrieden 1y agoDemos
- remus 1y agoWe'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.