Figma’s multiplayer editing release made real-time collaboration a core part of its design workflow. The company replaced a simple whole-document save-and-upload model after it caused overwrites, stale links, and confusing collaboration problems. Although multiplayer required major changes to conflict resolution, undo/redo, layout behavior, file formats, and performance, Figma concluded that it ultimately simplified the user experience.
## Why the Original Saving Model Failed
- Early Figma downloaded documents locally, let users edit in the browser, and periodically uploaded the entire document.
- This approach was easy to build and familiar to users of syncing services such as Dropbox.
- In team settings, however:
- Users could unknowingly overwrite one another’s work.
- Shared links could display an outdated version while changes were still saving.
- Version history preserved data, but did not prevent collaboration mistakes.
- Alternatives such as “baton-passing,” where only one person could edit at a time, lacked the simplicity and flexibility Figma wanted.
## How Figma’s Multiplayer Engine Works
- Each user’s changes are sent to the server and broadcast to other participants in real time.
- Independent simultaneous changes can coexist.
- When users modify the same property on the same object, Figma resolves the conflict by selecting the latest change.
- Implementing this model required changing fundamental parts of the editor rather than adding multiplayer as a separate synchronization layer.
## Undo, Redo, and Conflict Resolution
- Undo becomes ambiguous when other users modify the same objects afterward.
- Figma adopted a guiding principle: undoing actions, copying something, and redoing back to the present should leave the document unchanged.
- Redo therefore cannot simply reapply the original edits, since that might overwrite newer work by collaborators.
- Conflict resolution also had to account for:
- Related properties that must be changed together.
- Actions that indirectly affect multiple objects.
- Layout operations where apparently unrelated edits can interact.
- These requirements led Figma to revise aspects of its layout system.
## Performance and File-Format Changes
- Professional-quality multiplayer required extensive measurement and tuning.
- Figma overhauled its file format because the previous representation was inefficient for transmitting small incremental messages.
- The team expected additional challenges as new collaborative features were introduced.
## A Simpler Collaborative Experience
- Multiplayer reduced UX complexity by eliminating workarounds for stale files, overwrites, and coordination.
- Users can see collaborators’ mouse cursors and selections, providing immediate context about who is present and where they are working.
- Cursors can also serve as lightweight communication tools, such as pointing at an object or getting someone’s attention.
- Each participant appears as an avatar in the top-right corner.
- Clicking an avatar lets one user present to another, making presentations opt-in rather than forcing a single presenter and synchronized viewing mode.
Figma’s experience suggests that real-time collaboration is best treated as a foundational part of the editor. Despite the substantial engineering investment, multiplayer editing can make collaborative software both more powerful and easier to use.