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.
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.
The four surfaces
| Surface | The question it answers | Where it usually fails |
|---|---|---|
| Presence | Who else is here right now? | Avatars with no names, or presence that lingers after someone leaves. |
| Sharing | Who can reach this, and how? | A link whose scope is not stated at the moment of copying. |
| Permissions | What can each person do? | Role names that do not say what they permit. |
| Conflict | What happened to my change? | Silent overwrite, or a dialog that asks a question nobody can answer. |
Getting it right
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'.
- 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 animate other people's cursors so aggressively that they compete with the reader's own work.
- Do not resolve conflicts silently in favour of the last writer.
- Do not notify everyone about everything. Mentions and assignments are signal, edits usually are not.
In practice
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.
Continue from here
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.
- Visibility of System StatusHeuristic
- ForgivenessPrinciple
Often used with
These usually appear in the same screen or the same decision.
- AvatarComponent
- Activity TimelinesPattern
- NotificationsPattern
- UndoPattern
Practical example
A worked decision where this was the deciding factor.