Dropbox

How Dropbox Replay keeps everyone in sync

Nov 23, 2021Alan Rogers, Daniel Wagner, and Siya Yang
How Dropbox Replay keeps everyone in sync
SummaryAI, from the source post

This post details the technical implementation of Dropbox Replay's Live Review feature, focusing on how it keeps remote collaborators synchronized. It describes the use of WebSockets with Gorilla and Protocol Buffers for packaging playback state. The core technical contribution is the server-side sync service that establishes a logical clock and 'happened-before' relationships to resolve concurrent playback commands (play, pause, scrub). This prevents inconsistent states by ensuring messages are processed and broadcast in a defined order, and by allowing clients to ignore messages that occurred before their own state-changing actions. The post contrasts this with simpler, less robust approaches and highlights the user experience benefits of this synchronization mechanism.