ソフトウェア

ひそかに行われた「IE6暗殺計画」が成功したわけを当時の開発者が語る

by bnpositive

2001年に公開されたInternet Explorerは2014年にサポートが終了するまで長きにわたって使われましたが、後年は、セキュリティ上の問題やバグの多さから「早く殺すべきだ」という声も多方からあがっていました。YouTubeでエンジニアとして働いていたChris Zacharias氏もIE6の対応に苦しめられた1人であり、当時、寝不足の開発メンバーたちによって「IE6暗殺計画」が立ちあがっていたことを振り返っています。

A Conspiracy To Kill IE6
http://blog.chriszacharias.com/a-conspiracy-to-kill-ie6

Zacharias氏によると、当時、特定の環境下になるとIE6はサポートしていないHTMLの属性セレクタの影響によってクラッシュやブルースクリーンの引き金になることがあったとのこと。またIE6はルートパスの「/」を空欄のsrc属性として読み込んでしまい、imgタグが突如としてiframeタグのように振る舞い出すことがあったため、担当エンジニアはsrc属性が空欄となるimgタグを取り除く作業に明け暮れるなど、とにかく手がかかるブラウザだったそうです。すぐに問題を起こすIE6は開発チームの悩みの種でしたが、まだIE6のシェアが18%もあった2009年当時、「IE6のサポートをやめるべきではない」と命じられていたために苦行を続行せざるを得ない状況が続いていたといいます。

そんな時、連日にわたって2~3時間しか寝ていない開発メンバーたちがYouTubeのカフェテリアに座って話し合っていたところ、あるアイデアが浮かびました。睡眠不足でユーザーに対する優しさなど失ったメンバーたちは「公然とサポートを終えることができないならば、サポートをやめるとユーザーを脅したらどうだ?」と考えだしたのです。脅されたユーザーはYouTubeの視聴をやめたり開発メンバーに脅迫メールを送ってきたりする可能性もありますが、「より優れたブラウザを使おう」と提唱しはじめる可能性もあるのでは、と考えられたわけです。そしてチームはこの「空想」を「実際の計画」として考えだしたとのこと。

by Christiaan Colen

この計画は非常にシンプルなもので、IE6を使っているブラウザで再生されているムービーの上に「私たちはあなたのブラウザをサポートしなくなるでしょう。より新しいブラウザにアップグレードしてください」と小さく表示させるというもの。そしてメッセージの横にはGoogle Chrome、Firefox、IE8、Operaといったブラウザへのリンクを表示させました。メッセージはユーザーが任意で閉じることができ、あえて明確な期限を表示せず、開発チームが「IE6のサポート廃止プラン」を計画しなくてもいいようになるべく曖昧な形で示されました。コードもYouTubeの監視の目を引かないようなさりげないものにされたそうです。YouTubeではウェブ開発チームのメンバー以外はIE6を既に使っている人はいなかったため、誰もバナーに気づかないだろうと開発者たちは考えました。

GoogleのYouTube買収は2006年に完了しましたが、その後、YouTubeをGoogleに統合させる段階で、もともとYouTubeで働いていたエンジニアたちは「OldTuber」と呼ばれる特別な権限を得ていたとのこと。OldTuberはGoogleのポリシーにあった「Google指向の」コードをダイレクトにYouTubeのコードベースにコミットできるもので、コードの読みやすさや徹底的なテスト、コードカバレッジなどが不要であるのに加え、レビューは誰が行ってもいいとされていました。ただし、OldTuberを不適切に使用してウェブサイトを壊せば、OldTuberの権限を失うか、最悪の場合はクビになるというリスク付きです。

Zacharias氏の上司たちは初期メンバーと共にIE6暗殺計画から外れましたが、それまでの仕事を通して何人かのスタッフはOldTuberの権限を持っていました。このメンバーたちはYouTubeの初期メンバーではなかったため、Zacharias氏は当時の状況について「フェラーリの持ち主が通行人を従者と誤ってカギを渡していた状況」だと語っています。正直にカギを返すような人間は暗殺計画を企てるメンバーたちの中にはいなかったため、Zacharias氏らはOldTuberの権限を使ってコードを実際にウェブサイトに埋め込んだそうです。


数日後、ニュースサイトからの問い合わせでバナーの存在を知らされたPRチームのリーダーがとげとげしい様子でウェブ開発のデスクを訪れました。しかし、幸運なことにニュースメディアの内容がYouTubeの仕様変更に対して「YouTubeは全てのユーザーがより速く、安全なウェブを作り出す役目を担っている」「インターネット全体に利益がある」と好意的な反応だったため、ウェブ開発チームは事情を話し、ウェブメディアの記事を拡大させる必要性について説得したそうです。一方で、予想どおりPRチームの誰もIE6を使っていなかったため、PR担当者は何が起こっているかの確認ができてないことも判明しました。PRチームは今回のような機会を逃さないためにも「二度と自分たちに通知なく今回のようなことをしないように」と告げ、ウェブメディアの対応に向かったといいます。

次にやってきたのはパニック状態の弁護士たち。弁護士たちの論点は「なぜGoogle Chromeを最初に表記させたのか?」ということでした。弁護士たちは欧州の規制当局が反競争的行為に目を見張らせていることを懸念しており、バナーが認められるものではないと主張したそうです。ただしチームはChromeを優先させていたわでけではなく、ブラウザを更新する度に順序が変わるものだったので、そのデモンストレーションをすると弁護士たちも撤退したとのこと。


「次に来るのはエンジニアリングのマネージャーたちだな。すごく怒っているんだろうな」と考えていたZacharias氏ですが、事態が明るみにでた当日、マネージャーたちはZacharias氏のもとを訪れませんでした。翌日になり、記事を読んだ何人かのエンジニアたちがバナー広告の実装を祝いにやってきたものの、上司に尋ねても怒ったマネージャーたちが上司に処罰を与えにやってきた事実はありませんでした。そこでZacharias氏から逆にマネージャーに尋ねたところ「Google Docsのバナーをコピーしたと思っていたよ」と思わぬ答えが返ってきたとのこと。混乱したZacharias氏がGoogle DocsをIE6で開いたところ、Zacharias氏らがYouTubeで表示させたのとそっくりのバナーが現れました。

実は、Google Docsの開発チームは長い間IE6のサポートをやめたいと考えていたのですが、YouTubeのウェブ開発チームのメンバーと同様、上司からサポートをやめる許可が下りなかったそうです。YouTubeのムービー上にバナーが出現することにすぐに気づいたGoogle Docsの開発チームは上司に「YouTubeに必要ならば、自分たちも同じことをすべきだ」という証拠としてYouTubeのバナーを見せて説得し、OKが出ると同様のバナーを作って実装。当時、Google Docs開発チームはYouTubeのバナーを「正当なプロセスで認められたもの」だと勘違いしていたのだとみられています。

by rawpixel.com

最終的にはエンジニアリング・マネージメントチームはYouTubeのウェブ開発チームを訪れ、上司が問い詰められた後に、バナー実装の決定がどのように行われ、「結果が手段を正当化した」という事実が明らかになりました。その時すでにYouTube、Google Docsのほか、いくつかのGoogleのサービスにIE6についてのバナーが表示されており、Googleは他のサービスについてもバナーを入れる許可をすることに。数カ月後にはIE6でYouTubeを使うユーザーは半減し、インターネット全体でもIE6のトラフィックは10%以上減少。一方で他のブラウザの使用が増加することになりました。つまり、当初のウェブ開発チームが予想していたよりもずっとよい結果が得られたことになります。

なお、Zacharias氏は「二度とこっそりとコードを実装したりしない」と書きつつもブブゼラの音が鳴り響くサッカーボールのボタンをムービーに仕込んだりしているようです。

BZZZZZZ: YouTube Gets A Vuvuzela Button (Seriously) | TechCrunch
https://techcrunch.com/2010/06/23/bzzzzzz-youtube-gets-a-vuvuzela-button-seriously/

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

・関連記事
「友達がIE6を使ってるのを見過ごすなんてできないよね」、IE6の使用をやめさせるカウントダウンサイトが登場 - GIGAZINE

IE6・IE7・IE8・IE9にあるXML絡みの情報漏洩の脆弱性は修正予定なし - GIGAZINE

初代からIE9に至るまでのインターネットエクスプローラーの歴史 - GIGAZINE

IE8・IE9をクラッシュさせるシンプルなCSSコードが見つかる - GIGAZINE

Opera・Safari・Firefoxなど、ウェブとブラウザの進歩の歴史をグラフィックで表現する「ウェブの進化」 - GIGAZINE

・関連コンテンツ

in ソフトウェア, Posted by logq_fa

You can read the machine translated English article here.