Skip to content
UX Atlas
Plate PAT·026 · PatternGrid E2 · Rev. 2026-09-14

Collaboration

Multiple people in one document raises three questions: who else is here, who can do what, and what happens when two people change the same thing.

PatternCraft conventionAdvanced

Definition

Collaboration covers presence, sharing, permissions, comments and conflict handling. The interface problems are mostly about making other people's activity legible without making it distracting.

Craft convention. True because the industry converged on it. Breaking it costs familiarity, not correctness.

On this plate
  1. 1Definition
  2. 2The four surfaces
  3. 3Sharing, presence and conflict
  4. 4Handling a conflict
  5. 5In practice
  6. 6Local chart
  7. 7Continue from here

Reach for this when

  • Adding comments, sharing or multi-user editing.
  • People are unsure who can see something.
  • Concurrent edits are producing lost work.
  • More than one person acts on the same object, whether or not at the same time.

Common mistakes

  • Role names that do not describe permissions.
  • Presence without attribution.
  • Notification volume that makes people leave the document.

The four surfaces

SurfaceThe question it answersWhere it usually fails
PresenceWho else is here right now?Avatars with no names, or presence that lingers after someone leaves.
SharingWho can reach this, and how?A link whose scope is not stated at the moment of copying.
PermissionsWhat can each person do?Role names that do not say what they permit.
ConflictWhat happened to my change?Silent overwrite, or a dialog that asks a question nobody can answer.

Sharing, presence and conflict

Do

  • Name the access level in the sharing control itself: 'Anyone with the link can edit'.
  • Describe roles by capability, not by rank: 'Can comment' rather than 'Level 2'.
  • Make presence useful rather than decorative: who is here, and where they are working.
  • Attribute changes: who, what and when, retrievable from the object rather than only from a feed.
  • Keep an edit history with restore, which is the real answer to most conflict fears.
  • Let people mute activity without leaving the document.

Do not

  • Do not default a share link to anyone with the link without saying so.
  • Do not animate other people's cursors so aggressively that they compete with the reader's own work.
  • Do not resolve conflicts silently in favour of whoever saved last. Keep both versions and let a person choose.
  • Do not notify everyone about everything. Mentions and assignments are signal, edits usually are not.
  • Do not require real-time collaboration where sequential editing is the actual workflow.

Handling a conflict

Two people edited the same thing while apart. The only unacceptable answer is deciding silently.

  1. 1

    Detect before saving

    Compare against the version the reader started from, not against the last one written. Without that check the conflict is invisible until someone notices their work is gone.

  2. 2

    Keep both versions

    Nothing is discarded before a person has chosen. A conflict that destroys one side has already failed, whatever the dialogue says afterwards.

  3. 3

    Say who and when

    Naming the other person and the time turns an abstract conflict into something the reader can resolve, often by asking them.

  4. 4

    Show the difference

    Side by side, with the changed parts marked. Asking someone to choose between two versions they cannot compare is asking them to guess.

  5. 5

    Leave a way back

    The resolution enters the history as its own step, so choosing wrongly is recoverable rather than final.

In practice

  1. i.

    Sharing scope shown at the copy step

    Putting the access level on the copy-link button, rather than in a settings panel behind it, removes the most common sharing accident: a link intended for one colleague that works for anyone who receives it.

  2. ii.

    Anyone with the link

    Scope at the copy step

    A share dialogue that copies a link before the reader has read the access level produces accidental public documents. Stating the scope on the button itself is what prevents it.

Local chart

PAT·026 · Region III · Grid E2

This entry and the entries it is stated to connect with. Each line is labelled with what the connection means.

Each link says what the connection is, so you can tell a principle from an alternative from a thing people mix this up with.

Principles behind this

The reasoning this solution is an application of.

Often used with

These usually appear in the same screen or the same decision.

Practical example

A worked decision where this was the deciding factor.