C++でフルスクラッチ
ドワンゴ開発者が語る「ニコニコ動画」の中身
2007/11/01
ニワンゴが運営する「ニコニコ動画」の評判がうなぎのぼりだ。動画の再生に合わせてコメントを表示するスタイルが受けて、アクセスが急上昇。日本発のサービスとして世界での活躍を期待する声も増えてきた。都内で11月1日に開催されたアドビ システムズのイベント「Adobe MAX Japan 2007」で講演したニコニコ動画の開発元、ドワンゴの研究開発本部 技術支援セクションの戀塚(こいずか)昭彦氏は「それなりに工夫しています」と話す。
「ニコニコ動画のメインコンテンツはコメント」と戀塚氏は語る。動画に興味を持ったユーザーがコメントを登録し、そのコメントに刺激を受けた別のユーザーがまたコメントを投稿という形で、遊び心に満ちたコンテンツが出来上がっていく。戀塚氏は「各ユーザーができる形で少しずつ参加し、その結果を全員が享受できる」と説明した。
戀塚氏はコメントを管理するメッセージングサーバやWebインターフェイスの開発に当初から関わり、現在も技術支援として開発にタッチする。開発で意識したのは「コメント投稿の敷居を低くして、思ったことを衝動的に投稿できるようにすること」だ。動画下にあるコメント欄に入力すれば、とりあえずはコメントが流れるよう、誰でも使えるユーザーインターフェイス(UI)をFlashベースのプレイヤーに採用。2006年12月の(仮)公開以降、デザイナーも参加し、コメントを投稿しやすいUIを目指してきた。
動画内のコメント表示にも細かな配慮を行って、ユーザーの興味をかき立てるようにしている。ActionScript 2で開発したプレイヤーは、動画内でコメントが重ならないように、コメントの入場から退場までを1秒単位で制御。動画いっぱいにコメントがあふれる「弾幕モード」では「積極的にコメントを重ねていく」(戀塚氏)ようにするなどユーザーの興味を先読みして、機能を実装した。
パフォーマンス重視のサーバ設計
一方、システム設計はシンプル。プレイヤーはActionScript 2で開発。メインのアクションを外部に持ち、インクルードで読み込む形にした。ニコニコ動画のキモであるコメントは「スレッド」を呼ぶ単位で管理。このスレッドと各動画を関連付ける。サーバとプレイヤーの通信は「XMLsocket」と「HTTP/1.1」を使い、非同期通信を実現した。別ユーザーが投稿したコメントが瞬時に動画に反映されるリアルタイム性は必要ないとして、「長い間隔のポーリングで十分」と判断した。「いわゆるCometではありません」という。今後はActionScript 3への移行も検討する。
コメントを管理するメッセージングサーバはC++プログラムをフルスクラッチで独自開発し、Linuxのデーモンとして実装。メッセージングサーバはCSV形式で出力されるスレッドを管理する機能に特化し、カタログ生成などの機能はデータベースに任せている。外部との通信を少なくすることでボトルネックが発生しないようにしている。
当初は戀塚氏ともう1人で開発を始めたニコニコ動画だが、成長に合わせてエンジニアを増員。現在は、各コンポーネントごとに開発を分担して行えるようになった。メッセージングサーバとプレイヤーの開発を担当しているのは、ドワンゴが巨大掲示板「2ちゃんねる」を通じて採用した2人のエンジニアという(参考記事)。
関連リンク
関連記事
情報をお寄せください:
- - PR -
お勧め求人情報
**先週の人気講座ランキング**
〜ITIL編〜
◆ | New! 「SOA」で開発したサービスを徹底管理! 企業が目指すべき「SOAシステム」とは |
◆ | 【動画でリアルに体験】Java/XMLという “標準”で構築するリッチクライアント |
◆ | アイデンティティ管理製品の選択や利用 考慮すべきポイントはなに? |
◆ | “情シス部門”の悩みを解決するには? 成長企業に求められる新たなIT基盤を探る |
◆ | あの“赤いカード”を支える秘密とは? 丸井グループが選んだ24時間無停止サーバ |
◆ | 権限管理だけで安心していませんか? 「持ち出し」という情報漏えいの落とし穴 |
◆ | 自社システムがブラックボックス化しない 有効なアウトソーシングサービスとは? |
◆ | 【特集】OCNのオンデマンド型 インターネットVPNが誕生! |
◆ | 【Ruby】と【Java】のキーマンに聞いた! 日本の技術者が世界で活躍する条件とは? |
◆ | PC操作を逆手に取られてうっかり感染 最新のメールの攻撃手法を知ろう |
◆ | タワー型サーバより管理がラクなの!? 新人管理者あきこちゃんのサーバ導入記 |
◆ | クライアントPCにファイルを残さない! そんなニーズにも対応の帳票出力用ソフト |
◆ | ありそうでなかった!専用サーバとハウジ ングのいいとこ取りな中間的サービス |
◆ | グルメサイトの最大手・ぐるなびの革新を 支えるエンジニア集団の魅力とは! |
◆ | 組み込み系SW開発業界で熱望される人材 「テストエンジニア」を目指すべきか否か |
◆ | 「お客様のサービスを止めない!」 24時間体制で監視/運用する充実のiDC |
◆ | クラスタの常識を打ち破れ!――止められ ないシステムには、手間要らずの二重化を |
◆ | 何のために、どんなログを採取するのか? 内部統制のためのログ管理にフォーカス! |
◆ | 【無料講演】プロジェクトを可視化せよ! NASAとDisneyが注目したマネジメントとは |