Twitter Japanで #hackweek を開催しました

投稿者
月曜日, 2012年4月23日月曜日

先週、Twitter ではハックウィーク(hackweek) という社内イベントが開催されました。ハックウィークはエンジニア、デザイナーをはじめとする社員なら誰でも参加できるイベントで、通常の業務とは違うプロジェクトやツール開発に勤しむ週です。ハックウィークのゴールは独創的かつクリエイティブなアイディアを引き出し、イノベーションを育むことにあります。

今回のハックウィークでは「社内効率化(Internal efficiency)」がテーマで開催されました。

東京オフィスでも、エンジニア4人、非エンジニア1人の有志のチームでプロジェクト「空鳥」が立ち上がりました。

ハックウィークが行われた部屋

ハックウィークが行われた部屋

「空鳥」では来たる暑い夏に予想される「オフィスが暑すぎて(寒すぎて)業務効率が下がる」という問題に対して Twitter ならではの解決策を提示しました。

「暑い」と思ったら「#暑い」とツイートするだけで空鳥(空調とかけています)が自動的にエアコンの温度を下げてくれるという画期的な仕組みになっています。もちろん #hot など英語でのツイートにも対応しています。しかも空鳥は賢いのでツイートした人の席の周囲のエアコンの温度を下げることができます。

ツイートの例

ツイートの例

Twitter Japanで #hackweek を開催しました

空鳥からの返事

また会議室名をツイートに含めることで、自席だけでなく会議室のエアコンの温度を調節することもできます。暑がりの人は「すごく #暑い」など自分が感じていることをそのままツイートすれば、空鳥が良い感じに調整してくれます。

より多くの人にとって自然と思える言葉でツイートしてもらいたいので、空鳥は各種方言にも対応しています。例えば北海道の方言で「なまら #暑い」とツイートすれば空鳥はとても涼しくしてくれます。

方言対応の例

方言対応の例

空鳥は下図のモジュールで構成されていて、次のように動作します。

  1. Daemon は、Twitter の Streaming API を使って、#あつい#cold などのハッシュタグが入ったツイートをモニターします。
  2. ツイートしたユーザーが Twitter Japanのスタッフかどうかをチェックします。
  3. Twitter Japanのスタッフであることが確認できたら Google Docs を参照し、その社員の周りの空調モジュール名を取得します。またツイートが会議室の名前を含む場合は、その会議室の空調モジュール名を取得します。
  4. Daemon は空調モジュール名と、設定内容(暑くするのか寒くするのか)を Kucho API に渡します。
  5. Kucho API は外部の空調管理サイトにアクセスし、設定を反映させます。
  6. 設定が反映されたら、Daemon はツイートしたユーザーに@ツイートします。人間らしさを出すために、リプライにはランダムなメッセージ(サンプル画像では「お昼はもう食べた?」)を含めるようにしています。

空鳥のアーキテクチャ

空鳥のアーキテクチャ

座席・会議室と空調モジュールのマッピングは手動で管理することになりますが、座席変更は頻繁には起こらないので、この仕様で十分だと判断しました。

実際の開発は2日間(企画・設計 0.5 日、コーディング・テスト 1 日、プレゼンテーション準備 0.5 日)でしたが、会議室にこもって集中できたので、Twitter らしく、かつ実用的なサービスになったと思います。社内での発表の反応も上々でした。

次の hackweek は 7 月に予定されています。Twitter 社のエンジニアとして次回の hackweek に参加したい方は、こちらをご覧ください。