アプリ拡張機能の内側:WebKitコンテンツブロッカーはiOS 9、OS X Safari 9でユーザーのプライバシーを拡張します

アプリ拡張機能の内側:WebKitコンテンツブロッカーはiOS 9、OS X Safari 9でユーザーのプライバシーを拡張します

昨年、AppleはApp Extensionsを導入し、サードパーティ開発者が安全な新しいアーキテクチャを用いてシステム全体にわたる機能を追加できるようにしました。今年、iOS 9とOS X El Capitanでは、Safariに特化したApp Extensionsの新しいカテゴリ「コンテンツブロッカー」が導入されました。

Appleは以前、WWDC 2014でApp Extensionsを発表し、特定の機能を対象としたカテゴリに分類しました。これには、システム全体にわたる共有拡張機能、写真編集拡張機能(写真アプリの機能を拡張)、Today拡張機能(ウィジェットのサポート)、iOS固有のカスタムキーボードなどが含まれます。コンテンツブロッカーは、Safariに特化した新しいApp Extensionsのカテゴリです。

コンテンツブロッカーの最も明白な役割は、ユーザーがウェブページから広告を削除できるようにすることであるため、この新しい機能は論争を巻き起こし、バナー広告から得られるすでに限られた収益の喪失や、コンテンツの周囲にペイウォールを適用するために使用する可能性のある Cookie の損失の可能性を懸念するウェブ パブリッシャーの間で警戒を引き起こしました。

「無料」音楽や海賊版映画の無償配布を歓迎し、音楽レーベルや映画スタジオに「無料コンテンツへの大衆の需要に合わせてビジネスモデルを変える」よう非難してきたジャーナリストの多くが、現在、同様のジレンマに直面している。それは、視聴者が無料で簡単にアクセスできるコンテンツを作成して、どうやって報酬を得るか、という問題だ。

強制的な広告や行動追跡のない Web コンテンツの問題について考える前に、まずコンテンツ ブロッカー アプリ拡張機能がどのように機能し、何を達成するために設計されているかを見てみましょう。

コンテンツブロッカーアプリ拡張機能とは何ですか?

iOS 9 版 Safari(および OS X El Capitan 版 Safari 9)向けの新しいコンテンツブロッカーアプリ拡張機能は、ウェブコンテンツまたはリソースのサブセットをターゲットとし、表示や読み込み自体をブロックします。これには、ディスプレイ広告、画像、ナビゲーション要素、ポップアップ、スクリプト、フォント、スタイルシート、メディアファイル、Cookie など、ウェブページ上のあらゆるコンテンツが含まれます。

Safari の Web インスペクタを使用すると、App Extension 開発者は、特定の画像や広告から、ユーザー コメントのブロックをカプセル化する HTML div タグまで、Web ページの任意の部分を選択し、サイトにアクセスしたときにそのリソースを表示しない (または読み込まない) ように Safari に指示するルール リストを作成できます。

コンテンツのブロックは、Safari 5 (Safari Extensions 経由) 以降、OS X の機能としてすでに利用可能でしたが、iOS ではこれまでいかなる種類の拡張機能 (Adobe Flash Player や Microsoft Silverlight などの従来のプラグインを含む) も読み込むことができなかったため、iOS 9 ではまったく新しい機能です。

Appleのプラットフォーム以外では、ウェブブラウザの拡張機能アーキテクチャが既にGoogle Chrome、Mozilla Firefox、さらにはGoogleのモバイルAndroidブラウザで広告ブロッカーをサポートしています。もちろん、Googleは収益の大部分を広告から得ているため、広告ブロックを特に支持しているわけではありません。

フィナンシャル・タイムズの報道によると、グーグルや他の広告主は、自社の広告をホワイトリストに登録しながら、競合他社の広告が表示されないようにするために「広告ブロッカー」と提携している。

Safari 9の大きなアーキテクチャ変更

Apple がコンテンツ ブロッカーをアプリ拡張機能として実装したことは、iOS デバイスと Mac の両方における Safari 9 の大きなアーキテクチャ変更です。

ほとんどのウェブブラウザ(iOSを除く)は、プラグインを長年サポートしてきました。プラグインとは、ブラウザがFlash、PDF、SVGなどの特定の種類のメディアファイルを処理するために読み込むバイナリコードです。これらはメモリを大量に消費し、安定性の問題やセキュリティ上の脆弱性を引き起こすことで悪名高いです(これが、AppleがiOSでプラグインを全くサポートしなかった主な理由であり、Safariではクラッシュや悪用による被害を最小限に抑えるためにプラグインをサンドボックス化している理由です)。

Safari 5では、AppleはSafari Extensions(JavaScript、HTML、CSSを使用して構築)を導入しました。これにより、サードパーティの開発者は、読み込まれたページのコンテンツの再フォーマット、テキストの別の言語への翻訳、画像の削除、広告のブロックなど、さまざまな新しいブラウザ機能を追加できるようになりました。しかし、これらの機能はウェブページの読み込み中に操作を行うため、メモリとプロセッサリソースを大量に消費する可能性があります。

App Extensionsは、ネイティブコード(コンパニオンアプリと共に配布される)で構築されるという点でSafari Extensionsとは異なります。これにより、App ExtensionsはSafari Extensionsよりも強力かつ効率的になります。これは主に、新しいアーキテクチャにより、Safariがコンテンツの読み込みとレンダリングのプロセス中にJavaScript Safari Extensionを使用するのではなく、アプリがSafariにコンテンツを読み込む前にブロックするよう指示できるためです。

AppleはiOS 9向けにコンテンツブロッキングのための新しいApp Extensionモデルを開発しましたが、Safari Extensionsで既に同様の機能を実現しているにもかかわらず、OS X El Capitanにも導入しました。これは、App Extensionのアプローチの方が高速でメモリ効率が高いためです。

プライバシーを考慮して設計

コンテンツ ブロッカーをアプリ拡張機能として実装することの副次的な利点は、ユーザーが実際に閲覧しているコンテンツを認識 (または記録) せずに目的の機能を実行できるため、プライバシーに関する懸念がなくなることです。

Safariアプリ拡張機能のコンテンツブロッカーは、Safariがブロックすべきルールを定義するだけなので、ユーザーがリクエストしたページやその他のリソースのURLを参照することはできません。また、WebKitは特定のURLに対してどのブロックルールが実行されたかを記録しません。「コンテンツブロッカーAPIを活用できる機能は、プライバシーやユーザーエクスペリエンスの向上など、実に多岐にわたります。」 - ベンジャミン・プーラン

コンテンツブロッカーについて、WebKit開発者のベンジャミン・プーラン氏は次のように述べています。「私たちは、プライバシーをより適切に管理することに重点を置いてこれらの機能を開発してきました。より優れたプライバシーフィルターを実現したいと考え、それが現在の機能セットの原動力となっています。コンテンツブロッカーAPIを活用できる機能は、プライバシーやユーザーエクスペリエンスの向上など、実に多岐にわたります。何がうまく機能し、何を改善する必要があり、何が欠けているかについて、皆様からのフィードバックをお待ちしております。」

コンテンツ ブロッカーは、Safari リーダーのように広告 (またはその他の邪魔な画面要素) の表示をブロックするだけでなく、目に見える広告の読み込みをブロックするだけでなく、Web パブリッシャーや広告ネットワークが Web プロパティ全体でユーザーを追跡して識別するために使用する目に見えない JavaScript やその他の要素もブロックします。

コンテンツブロッカーアプリ拡張機能は、特定のドメイン上の特定の種類のリソースを識別する「トリガー」を定義し、Safariにそれらをページの一部として読み込ませないように指示します。また、特定のルールによって、ファーストパーティリソース(ユーザーが訪問しようとしているウェブサイトによってホストされているもの)とサードパーティリソース(広告ネットワークやその他の外部ドメインによってページに挿入されたもの)を区別することもできます。

iOS 9では、アプリ開発者はコンテンツブロッカーをアプリの一部として配布できます。コンテンツブロッカーは、ユーザーがオンにするまではデフォルトで無効になっています。ユーザーがオンにすると、Safariはブロッカーのルールセットを読み込み動作に組み込みます。ユーザーがコンテンツブロッカーを有効化すると、Safariでのページの読み込みだけでなく、Safari View Controllerを使用してWebページのレンダリングを組み込むすべてのアプリでのページの読み込みにも影響を及ぼします。

開発者はアプリ内で管理設定をユーザーに提供し、ユーザーがブロックしたいコンテンツの種類を選択できるようにすることで、特定のサイトを制限またはホワイトリストに登録できるようにします。新しいルールが定義されると、アプリはユーザーの希望する設定を反映するようにSafariの動作を更新できます。

ウェブの大きな変化

Apple の新しいコンテンツ ブロッカーは、Web パブリッシングに大きな変化をもたらし、特に個々のブラウザ クライアントが自由に解釈できる形式で情報を共有するためのオープン プラットフォームとしての Web の本来の設計に立ち返らせます。

ウェブはもともと、テレビのような静的なコンテンツストリームではなく、サーバーからウェブブラウザへ構造化データを送信し、エンドユーザーが自由にカスタマイズして解釈できる形式で送信するように設計されていました。これにより、アクセシビリティ機能やクロスプラットフォームサポートが実現されただけでなく、自動ロボットがウェブページをスキャンして、探している情報だけを収集することもできるようになりました。

これには、検索用にウェブページをインデックスするGoogleのボットも含まれます。誰も検索にお金を払いたがらなかったため、Googleはサービスの収益化のために検索プレースメント広告に目を向けました。また、大量のウェブ検索トラフィックを元のウェブページに送り返す代わりに、ウェブページからデータを取得し、自社の広告の隣に掲載するようになりました。DoubleClickとAdMobを買収した後、Googleはサードパーティのウェブサイトにおけるディスプレイ広告の主要ベンダーにもなりました。

しかし、ディスプレイ広告の価値は低下し続けており、パブリッシャーは収益を得るためにサイトにますます多くの広告を掲載せざるを得なくなっています。広告はインタースティシャル広告、ポップアップ広告、オーバーレイ広告など、より攻撃的になり、多くのユーザーを苛立たせ、邪魔に感じています。

ウェブ広告もよりスマートになってきており、広告ネットワークがユーザーの行動を追跡して、広告のパフォーマンスがより高いと思われる特定のユーザー層に広告を配置して広告主に販売しています。

広告販売をうまく進めるための主な方法は、購入する可能性の高い顧客をより絞り込んでターゲットを絞ることです。その結果、Web には追跡スクリプトや Cookie があふれ、ユーザーがどこを訪れたかを監視および記録し、閲覧履歴とソーシャル ネットワークの「いいね!」や「プラス」を組み合わせて推測される特定の関心事の記録をまとめています。

こうした取り組みの一部はユーザー自身の興味に合致しており、関連性が高く、場合によっては興味深いディスプレイ広告によって支払われる無料サービスを可能にしています。しかし、企業が自分に関する大量のデータを収集することを望まない多くのユーザーの間で反発が高まっています。これらのデータは、意図せず公開されたり、悪意のある個人情報窃盗犯によって盗まれたり、あるいは反体制派の行動を抑制するために国民を追跡しようとする抑圧的な政府によって入手されたりする可能性があるからです。

コンテンツブロッキングが出版社に及ぼす潜在的な影響

広告ブロック自体は目新しいものではなく、Windows、Android、Macユーザーには長年利用されてきましたが、iOSにコンテンツブロッカーが導入されたことは注目に値します。iOSは裕福なモバイルユーザー層を最も多く占めるプラットフォームだからです。Googleは最近、自社のAndroid端末の方がインストールベースが大きいにもかかわらず、モバイル収益の75%をiOSから得ていると報じられました。

iOS リリースの急速な展開は、iOS 9 が多くのユーザーに急速に普及することを意味します。また、コンテンツ ブロッカーのインストールと有効化が簡単なため、世界で最も価値のあるユーザー プラットフォームでは、Web 上のユーザー追跡データが著しく失われることは言うまでもなく、広告の表示回数が大幅に減少する可能性があります。

考えられる影響はいくつかあります。まず、コンテンツブロッカーはオープンウェブにのみ影響を与えるため、パブリッシャーはアプリ経由で商用コンテンツを配信する傾向が強まるでしょう。アプリでは、サブスクリプション型のペイウォールの導入、ディスプレイ広告の掲載、あるいは代替的な収益化戦略の提示が容易です。これにより、オープンウェブは、広告を制限した無料の情報リポジトリという原点に立ち返る可能性があります。

もう一つの方向性は、「ネイティブ広告」への移行かもしれません。これは、コンテンツが広告スポンサー付き、時にはあからさまにPR記事であるかのように位置付けられるものです。これはジャーナリズムとマーケティングの境界線を融合させるものであり、残念ながらウェブ上では既にかなり曖昧になっています。

同様に、コンテンツパブリッシャーは、アフィリエイト契約やプロダクトプレイスメント、あるいはブロックできない他の広告形式への依存度を高めようとするかもしれません。一部のパブリッシャーは既にウェブコンテンツを動画へと移行させており、これはテレビのような変化であり、文字を読むのを好まないユーザーへのリーチを容易にすると同時に、スキップできない広告も表示しています。

Apple の iTunes Radio は現在、無料プランを収益化するために音声広告と動画広告を掲載しているが、有料プランでは広告が表示されず、他の多くのアプリ開発者もこのモデルを採用している。

Apple の批評家たちは、Content Blockers の背後に、Web (現在対応できる iAd プログラムがない) よりもアプリ (iAd で収益化できる) を優遇する手段としての皮肉な動機があるとすぐに想像したが、Google やその他さまざまな広告ネットワークも開発者の iOS アプリで収益化しているという事実を考慮に入れていない。

iOS アプリと Web ページの実際の違いは、Apple がすでに企業による iOS アドウェア タイトルの配布や、App Store タイトル内でのユーザーの位置とデバイス ID の追跡を制限しているものの、iOS の Safari 内でユーザーが同様に迷惑な広告、Cookie、追跡スクリプト、その他のコンテンツをブロックできる強力なメカニズムを備えていなかったことです。

コンテンツブロッカーにより、ユーザーはどのサイトを閲覧したいか、どのコンテンツを閲覧したくないかを個別に選択できるようになります。その結果、ウェブパブリッシャーは広告の表示量を減らしたり、コンテンツを収益化するより効果的な方法を模索したりするようになるでしょう。

これはすべて以前に起こったことだ

絶え間なく続く迷惑な広告に対するユーザーの広範な反乱は、今に始まったことではありません。1980年代、アメリカのテレビ放送はコンテンツに過剰な広告を詰め込み始めたため、ユーザーはコマーシャルによる収益ではなく、有料有料チャンネルや、録画済みのビデオを視聴するようになりました。

悪い広告

それから10年後の1990年代、YahooとMicrosoftが新興のWeb(そしてWindows 98のデスクトップ)を煩わしいアニメーション広告バナーとスポンサー付きのプッシュコンテンツで覆い尽くそうとしたことで、新たに傘下に入ったGoogleにチャンスが生まれました。Googleは、ユーザーが扱いやすいシンプルで関連性の高いテキスト広告の提供を開始しました。Googleは急速にオンライン広告市場シェアを奪い、その後DoubleClickを買収し、かつてGoogleが対抗する存在となっていったのです。

2010 年、スティーブ・ジョブズは iAd を発表しました。これは、同様に、アプリ内の迷惑な広告を、ユーザーが実際に閲覧したいインタラクティブな広告に置き換える取り組みです。ユーザーは、広告を簡単に無視でき、外部リンクをクリックするためにアプリから広告を簡単に削除したりはしないことを知っています。

Apple の最新の Safari 9 アプリ拡張機能は、ユーザーが Web 上で読み込むコンテンツを制御できるようにするためのもので、サードパーティのサイトやあらゆるソースからの「Cookie と Web サイトのデータ」をユーザーがオプトアウトできる Safari の既存のユーザー プライバシー設定を拡張します。

2012年、Googleはこれらの設定を覆してユーザーを追跡する方法を考案しました。その結果、米国連邦取引委員会(FTC)による調査が開始され、FTCに2,250万ドルの罰金が支払われ、その後、州政府にも1,700万ドルの和解金が支払われました。Googleは、訴訟の取り下げを求める控訴を棄却され、現在も英国で集団訴訟に直面しています。

米国では、裁判所は並行して起こされていた集団訴訟を棄却し、消費者が意思に反して追跡されることで金銭的な損害を被ったわけではないというGoogleの主張を認めました。Googleが消費者のプライバシーを軽視し続けることで、個人データやオンライン行動がどのように収集、追跡、そして収益化されるのかという懸念から、貴重な消費者層がAppleプラットフォームへと移行する結果となれば、この判決はピュロスの勝利に終わる可能性があります。