Figma: When everyone edits at once.
A shared canvas is also a promise about whose work is saved. Explore local edits, connection loss and reconciliation.
See the idea in one picture ↓- multiplayer model
- Client-server
- sync ideas
- CRDT-inspired
- edits reconnect
- Offline
- engineering account
- 2019
Figures as reported by the company.
Independent educational analysis. Scenarios, people, numbers and illustrations on this page are original PMcademy practice material, not company research results or an endorsement.
How edits travel when everyone works at once
- 1One edit
A change goes to the server, which passes it to everyone else.
- 2Two edits at once
The server keeps one order, so the last edit to arrive wins everywhere.
- 3Offline and back
Edits made offline wait in a queue and sync on reconnecting.
Animated illustration. Names, numbers and people are fictional teaching material.
Two people can be right locally.
Two people, two versions of the truth
One shared order everyone sees
Read the analysis
Imagine Leena and Omar editing a shared project brief. Leena changes a heading while Omar moves a section. Each person expects an immediate response and assumes their work will survive. If the interface waits for every network roundtrip, editing feels slow. If it confirms everything instantly without distinguishing local and shared state, it can promise more than the system knows.
Follow an edit across the connection.
Illustrative data and simplified behaviour. This model does not represent a live company system or measured company results.
Read the analysis
Move through the three states below. Leena first sees her local edit. The connection then disappears, so the interface must not claim that shared state is current. Reconciliation eventually gives both clients a resolved result. This teaching model does not implement a CRDT or Figma’s conflict rules. Its purpose is to make the product promise explicit before you choose the technical mechanism.
A cursor is a social signal, not a save guarantee.
“Did my change just disappear, or is it still syncing?”
- Instant local response
- Confidence their work survives
- Silent overwrites
- No sign of being offline
Read the analysis
Seeing another person’s cursor can help coordination, but it does not tell you whether your last change reached the server. Separate presence, local editing, shared state and persistence in your requirements. Ask what the person needs to know in each state. A designer may tolerate a brief delay in another cursor while being very sensitive to uncertainty about whether a major edit has been preserved.
Test the transitions that happy-path demos omit.
- What Figma says
Figma explains its client-server system and how an offline client reconnects.
- What it cannot prove
How often conflicts happen or how users feel about them.
- What you would measure
Edits lost or reverted
Time to sync after reconnecting
Support tickets about lost work
Read the analysis
For a prototype review, disconnect one client, edit the same field in two windows, reconnect, and attempt undo. Inspect the visible state and the saved result. Include slow connections and refreshes. Track lost-work reports separately from ordinary latency. A system can feel fast in a demo while leaving users uncertain in the exact situations where trust matters most.
Instant feedback needs honest boundaries.
Read the analysis
Optimistic interaction makes work feel responsive, but error and recovery states become essential. Write the rules for two edits to different fields and two edits to the same field. Consider undo: does it reverse only your action, or can it unexpectedly remove a collaborator’s later work? A PM need not invent a synchronisation algorithm, but must describe the outcomes people expect and review the edge cases with engineering.
What should the interface promise while offline?
Your fictional editor can show a generic “saved” label, an explicit local-only state, or block every edit. Choose based on what the system can actually preserve and reconcile. Explain the cost of a misleading success message and the cost of unnecessary interruption. The right choice connects the technical guarantee with a clear user expectation.
Choose a next move
Write a collaboration state contract.
Your artifact
Create the five-state collaboration matrix, with a same-field edit conflict and an undo rule.
Critique my project artifact using only the evidence I provide. Create the five-state collaboration matrix, with a same-field edit conflict and an undo rule. Separate observed facts, assumptions, proposed tests and missing evidence. Identify a failure mode and a cheap check. Do not invent company results or user research. Ask for my artifact before starting.
Read the analysis
Create a matrix for connected, slow, offline, reconnecting and conflicted states. For each, specify permitted actions, visible feedback, persistence guarantees and recovery. Add a same-field conflict example and an undo example. Review the matrix with an engineer before designing decorative presence indicators.