Facebookのタイムラインのプロトタイプは4人の社員がたった一晩で書いた

次の記事

AppleのiTV構想、テレビ業界との関係は前途多難

Facebook Engineering Timeline

「ローマは一日にして成らず」というが、タイムラインは一日でできた。今や何千万人が自分の生涯の情報をまとめたページを公開するようになっているが、このタイムライン機能は2010年のFacebook Hackathonイベントでエンジニアが2名、インターンが1名、デザイナーが1名のチームが作ったプログラムがプロトタイプだった。

それが1年後にはFacebook史上でももっとも華々しいバージョンアップとして結実した。今日、Facebookのエンジニア・チームが公表したところによると、5つのグループが編成され、このプロトタイプを全てのユーザーデータに適用できるよう改良するための開発が平行して開始されたのだという。

タイムライン機能の公開は2011年9月のf8カンファレンスと決定された。これは非常にきついスケジュールだ。Facebookのインフラ担当エンジニア、Ryan Mackによれば「それまでのわれわれのプロフィールページには数日、せいぜい数週間までの情報しか掲載されなかった。ところがタイムライン機能では何年、何十年という単位で蓄積された情報を処理しなければならないことになった」と説明する。

Timelineを実現するために用いられたテクノロジーについて詳細を知りたい読者はこちらの 1000語のメモをぜひ一読すべきだ。これによるとFacebookが基礎としたのは4つのプラットフォーム、すなわちストレージとレプリケーションに関してはMySQL/InnoDB、関連性の順位付けに関してはMultifeed(ニュースフィードに用いられてきたテクノロジー)、コミュニケーションに関してはThrift、キャッシングに関してはmemcachedだったという。Facebookのエンジニアはこれらのテクノロジーを熟知していたので、開発を加速するのに役だった。新たにスクラッチでツールを作る必要はほとんどなかった。

しかしTimelineはテクノロジー以外の面でさまざまな問題に直面した。Timelines.comはアイディアを盗用したとしてFacebookを訴えた。一部ではタイムライン機能に伴うFrictionless Sharingアプリはキュレーションの放棄を意味すると批判した。私自身もタイムライン上で公開されると困るようなコンテンツをユーザーがスキャンする機能が不十分なのではないかと危惧した。現在もタイムラインのナビゲーションはいささか不安定だし、2ページ見開き的なレイアウトも完璧とはいいかねる。

しかしFacebookはこの機能をほぼ完全な形でスケジュールどおりに全世界に公開することに成功した。公開後も大規模な処理速度の低下やサーバのダウンはなかった。これはエンジニアにとってすばらしい達成といえるだろう。彼らは激励の「あいさつ」を送られるに値する。

[原文へ]

(翻訳:滑川海彦 @namekawa01 Google+