Facebook Rolls Out Real-Time Commenting to All Users
Facebook quietly implemented real-time commenting for wall and news feed posts in late January, allowing users to see new comments by others appear in-line without having to refresh the page. Now it has confirmed that live commenting has been rolled out to all users, and has explained the “write locally, read globally” system on which it’s engineered.
Real-time commenting promotes engaging, rapid-fire conversation and prevents mishaps like one user asking a question that another has already answered.
Facebook can now better approximate a real-life or an instant message conversation within a comment reel. Instead of having to check to see if a friend has answered a question or added details to a post by refreshing, users can simply wait and watch as new comments accumulate.
Real-time commenting will decrease the frequency of unnecessary or redundant comments stemming from update latency. Unnecessary comments can lead Facebook to send notifications leading to irrelevant content to others participating in the comment thread, reducing the likelihood that those users will click through future notifications. In this way, real-time commenting preserves Facebook ability to draw users back to the site.
Facebook’s engineering team considered a polling system for determining when to update a comment thread before settling on a push framework that could reduce latency well below five seconds. Unlike many of the site’s systems that write a new piece of content locally and then asynchronously replicates the data across other regions, Facebook used a new “write locally, read globally” system. It determines which users are currently viewing the active thread and pushes them updates.
Facebook says that the system “saves us from having to replicate a high volume of writes across data centers, saving expensive, long-distance bandwidth.” Like drag-and-drop photo reordering, real-time commenting began as a Facebook Hackathon project where employees voluntarily tackle engineering challenges.