Upgrading any kind of software usually requires that its users stop using it, at least briefly, to enable the new software to replace the old and to transfer any stored information before users start working with the new version. We’re all familiar with messages from systems administrators reminding us that servers we’re using will be off-line for a couple of hours in the middle of the night for maintenance.
But when you’ve got three-quarters of a billion users around the world, there’s no "middle of the night." And in an era when people have come to expect e-mails and texts and tweets and posts to arrive within seconds of sending them, there’s little patience for pauses of any kind.
So when Facebook decided in 2009 to completely redesign its messaging system, the engineers on the project knew that the toughest part of the change was not going to be creating the new software but rather getting it out to users without interrupting their individual message flows in any way.
A little background: Since launching in 2004, Facebook has offered users ways to communicate publicly—albeit to a select audience (the Wall)—and privately (messages). Back in 2009, the messaging function looked a lot like other Web-based e-mail systems—you entered a subject line and a message. Replies were threaded—that is, stacked under each individual subject, and your personal mailbox sorted everything by subject and date.
But e-mail came out of the business world, and Facebook’s goal is to enable social communication, something Facebook software engineer Kenny Lau says is altogether different.
"The genesis," recalls Andrew Bosworth, director of engineering, "was a realization from Zuck [Facebook CEO Mark Zuckerberg] that smaller, real-time, more-contextual messages were just taking over communication. E-mail messages were increasingly seen as too slow—not technological slowness, but philosophical slowness—with a bit of formality to them."
From that realization, Bosworth says, came the idea of a product that combined different technologies, like e-mail and chat, with different devices, like phones and computers. The first thing to go was the subject line.
"Subject lines are a barrier," Lau says. Looking at existing Facebook messages, engineers noticed that 30 or 40 percent had no subject; another significant percentage just used "hey" as a subject. And personally, Lau had found it very stressful to fill in the subject line when he was dating online. "Do I put something witty there? Is it mean if I leave it blank? Sometimes I didn’t message people because I couldn’t think of something appropriate to put in the subject line."
“Yes, it’s awesome, but it’s kind of scary in that your illusions of who you are may get confused with what’s actually there.”
—Kenny Lau, Facebook software engineer, on the presentation of messages as a “canonical thread”
So subject lines were out. Instead, messages are threaded by person. In the new Facebook messaging setup, if you start a new message to one of your contacts, all the messages you’ve ever sent that person pop up—even if the last one was a year ago or more. The Facebook engineers call this the "canonical thread." "I can look at all the communication I’ve ever had with my girlfriend in one thread," says Lau, "and see everything we’ve ever talked about." Of course, sometimes that might bring up discussions you’d just as soon forget, but "that’s the reality, and yes, it’s awesome, but it’s kind of scary in that your illusions of who you are may get confused with what’s actually there," he says.