Collaborative cursor presence

DesignMedium40 minFigma and Google style

Your task

Design the live multiplayer-cursor and selection-presence layer for a collaborative design canvas (think the moving colored cursors + 'who's selecting what' in a shared document). A room can have up to 200 simultaneous collaborators; each moves their cursor continuously (potentially 60 updates/sec) and selects objects. Everyone should see others' cursors moving smoothly in near-real-time, but this ephemeral data must not overwhelm the network or the document's persistent storage. How do you broadcast high-frequency ephemeral presence within a room cheaply?

It covers

  • Multiplayer cursors
  • Collaborative presence
  • Broadcast
  • Interpolation