ウェブアプリ

YouTubeページの読み込みサイズを減らす「プロジェクト・フェザー」を進めてみてわかったこととは

By Jim Champion

インターネット関連の機能やウェブコンテンツが高度化・複雑化するにつれ、機能を実現するためのコードの肥大化が進むのは避けることが難しい現実と言えます。そこで、YouTubeの再生に必要なクライアントサイド(ブラウザ側)のコードを軽量化するプロジェクトが進められたところ、意外ともいえる事実が判明しました。

Page Weight Matters
http://blog.chriszacharias.com/page-weight-matters

かつてYouTubeの開発に携わっていたクリス・ザカリアス氏はある日、YouTubeのオフィスで上司が怒りをあらわにしている場面に遭遇したとのこと。ブラウザでムービーを再生するために必要な機能のせいでページウェイト(容量)が1.2MBにも膨れあがり、非常に多くのリクエスト(要求)をウェブサーバーに送りまくることに不満を募らせていたものだったのですが、これに賛同したザカリアス氏はページの機能を絞り込んで、容量100KB以下という非常に軽量なページの開発プロジェクト「Feather」に携わることになりました。

ザカリアス氏は自宅に戻るバスの中で作業を行い、ページの原型となるコードを書き上げたとのこと。軽量化を追求するために、ページの機能は「動画再生」「表示する関連ムービーは5つだけ」「シェア機能」「フラグ機能」「コメント10件のみ」というシンプルなものに設計されており、ページ全体はAjaxで提供されるようになっていたそうです。

By Razi Marysol Machay

軽量さを追求したにもかかわらず、この段階でのページウェイトは250KBになってしまいます。さまざまな最適化ツールを駆使してもこれ以上の減量は不可能と判断したザカリアス氏は、自らの目で手でコードの不要部分を見つけ出して削除する作業に突入しました。CSSやJavaScriptなどを手動で最適化する作業を3日間にわたって行っても100KBに届かなかったFeatherでしたが、それまで使っていたFlash Playerに替えて自作のHTML 5 video playerを搭載したところ、ついに100KBを下回る98KBにまで容量を削減することに成功したとのこと。ページが送信するリクエストはわずかに14個だけというシンプルさで、ザカリアス氏は簡単なモニタリングツールを実装して一部のユーザーに対してテスト運用を行ってデータを収集しました。

1週間にわたって収集したデータを解析したザカリアス氏は、その結果に衝撃を受けます。Featherを導入したことにより発生したページレイテンシー(遅延)は減少するどころか、むしろ増加していたことが判明したとのこと。ページウェイトを劇的に減らし、リクエストの個数も10分の1に削減したにもかかわらずこの結果だったことにショックを受けたというザカリアス氏は引き続き詳細な調査を続けたとのことですが、いずれも満足のいく答えは得られなかったとのこと。あまりの不可解さに諦めかけていたザカリアス氏でしたが、同僚が「地理的要因」というキーワードに気づいたことから全ての謎が解き明かされることになったそうです。

By Nicolas Raymond

ザカリアス氏らはデータを地理別にプロットして実態を探ったところ、東南アジア・南米・アフリカ・シベリアの辺境地域で特に数値が増大していたことが明らかになりました。詳細を調査したところ、なんとこれらの地域では100KB以下という軽量なFeatherのページをロードするだけでも2分以上の時間がかかっていたことが判明。このペースでいくと、通常のYouTubeのページをロードするためには20分以上もの時間がかかることになり、とても鑑賞に堪えられるものではなかったことがわかっています。

ムービーのデータ本体をダウンロードする前の段階で20分もの時間が必要ということになると、これはとても実用に耐えられるものではありません。そのため、これらの地域でYouTubeを視聴することは現実的なオプションではなかったのですが、軽量化が行われたFeatherであればムービー再生が現実味をおびてきます。最初に2分間のロード時間がかかったとしても、「FeatherであればYouTubeを視聴できる」という噂が地域の人々の間で広まり、結果としてページレイテンシーが増加するというねじれ現象のようなものが起こっていたというのが、事の真相だったというわけです。

ザカリアス氏はこの一件を通じ、世界にはまだまだブロードバンド環境に恵まれない地域が残されていることを痛感したとのこと。非常に高速なネット環境に慣れてしまうと、ページコンテンツが多少ヘビーな程度では気にならなくなってしまうものですが、ネット環境が整備されていない地域に住むユーザーにとってこれらのコンテンツは「利用不可能」なコンテンツとなって選択肢そのものから除外されてしまう結果となってしまいます。そのため、ザカリアス氏は特にクライアントサイドのコードを軽量に保ち、コンテンツが世界の広い地域で利用できる環境を整えることの重要さをアピールしました。

By fairuz othman

この記事のタイトルとURLをコピーする

・関連記事
ヒットチャートではわからない「真のヒットソング」が音楽配信サービスの統計から浮き彫りに - GIGAZINE

なぜセガは任天堂をブラジルのゲーム機市場で圧倒できたのか? - GIGAZINE

片手間状態で始めたWebサービスが年商500万円のビジネスに達するまでの成長録 - GIGAZINE

月間収益100万円を突破した「Candy Japan」のビジネス戦略の手法とは - GIGAZINE

ユーザー獲得のためにSNS「Pinterest」が取り組んだ作戦とは - GIGAZINE

Airbnb利用者が300%増加したユーザー紹介プログラムの仕組みとは? - GIGAZINE

コンバージョン率を上げるためにA/Bテストを行う上で知っておくべきこと - GIGAZINE

Google Playに検索機能や年齢別フィルタリングが追加、コンバージョンやA/Bテストも利用できる開発者向けページも新設される - GIGAZINE

in ソフトウェア,   ネットサービス, Posted by darkhorse_log

You can read the machine translated English article here.