Since its announcement, Timeline has been one of Facebook’s most talked about new features. You might think, therefore, that it was probably in development for ages. It’s a reasonable thought, but it’s wrong.
In an official blog post, Facebook engineer Ryan Mack revealed that the majority of work done on Timeline took place in just six months. Perhaps more impressive, however, is Mack’s assertion that “Timeline started as a Hackathon project in late 2010 with two full-time engineers, an engineering intern, and a designer building a working demo in a single night”.
No ad to show here.
Mack suggests that one of the reasons the team behind Timeline was able to get it up and running so quickly is because of the principles guiding its build.
“When we sat down to build the system, one of our key priorities was eliminating technical risk by keeping the system as simple as possible and relying on internally-proven technologies,” he said.
Mack also revealed that Timeline is built on four core Facebook technologies:
MySQL/InnoDB for storage and replication, Multifeed (the technology that powers News Feed) for ranking, Thrift for communications, and memcached for caching. We chose well-understood technologies so we could better predict capacity needs and rely on our existing monitoring and operational tool kits.
The blog post also revealed that Timeline “started its life as a modified version of the Multifeed Aggregator that powers News Feed, but now it runs locally on each database box, allowing us to max out the disks without sending any data over the network that won’t be displayed on the page.”
Mack suggests that the haste of the Timeline project was one of its saving graces. “Done another way, this project could have taken twice as long — and that’s being generous,” he said.