Playground
  • Introduction
  • Components

Commenting

The attachment of discussion and annotation to a specific piece of content, balancing collaborative input with the integrity of the primary experience.

Variants

  • Flat: Simple comment lists without nesting
  • Threaded: Nested replies supporting conversation depth

Resolution states

Persistent: Comments remain visible until manually resolved

  • Supports ongoing discussions and reference
  • Useful for documentation and knowledge capture
  • Maintains historical context

Ephemeral: Comments fade over time

  • Reduces interface clutter for transient feedback
  • Suitable for iterative design and development workflows
  • Focuses attention on current issues

States

Empty state

  • No comments exist yet
  • Clear invitation to start discussions
  • Might show commenting capabilities subtly

Active commenting

  • Comment threads in progress
  • Clear visual indicators for commented elements
  • Easy navigation between comment locations

Resolved discussions

  • Completed or archived comment threads
  • Optional visibility controls for resolved items
  • Historical context preservation

Draft states

  • Unsaved comment composition
  • Auto-save and recovery capabilities
  • Clear indication of draft vs published status

Examples

Commenting can be integrated into any interface or content type, including:

Text documents

Commenting via bubble menu

Domain entities

…

Resources & references

  • Ink & Switch / Universal Comments
  • Google Docs / Comments
  • Notion / Comments, mentions & reactions
  • Figma / Comments

Related patterns

Complements

  • Collaboration — provides broader collaborative context
  • Activity log — tracks commenting activity over time
  • Notification — alerts users to comment activity

Tangentially related

  • Conversation — provides dialogue interaction principles
  • Status feedback — indicates comment and resolution states

Related

  • Deep linking — Comments get unique URLs

Preceded by

  • Annotation — extends static annotation into dynamic discussion.