IE のアドオン事情

2006年11月2日に Internet Explorer 7 (日本語版) がリリースされてから、早や 2年4ヶ月。
リクエスト もあったので、IE のアドオンについて調べた事を書いてみる。
敵を知り己を知れば百戦危うからず。

<免責事項>
以下の記述は、プログラミングと言えば BASIC と Java と、Firefox の拡張機能の作成くらいしかしたことがないサンデープログラマーによるものである。
IE7/8 のディープユーザーではないので、事実誤認や調査不足があるかもしれない。
誤りを発見した方はコメント欄などでご指摘いただきたい。
<免責事項おわり>

IE7 のアドオンとしてまず取り上げたいのは、IE7Pro
(一応、日本語のページにリンクしたが、機械翻訳と思われるので、人によっては 英語 の方がわかりやすいかも)
マウスジェスチャーとかタブ機能の強化とか広告ブロックとかその他もろもろを追加するアドオンであり、Greasemonkey と同様なユーザースクリプトも実行できる。
さらに、User Scripts を見れば、"Scripts" の他に "Styles" というカテゴリもあって Stylish と同じようなこともできる。

では、これを入れてしまえば Firefox から IE に乗り換えられるか、と言えばそう簡単ではない。
各スクリプトの登録数を見てみよう。
"Scripts" の登録数は 310件で、"Styles" の登録数はわずか 15件。
一方、本家 Greasemonkey の Userscripts.org の登録数は 28,795件(3月15日調べ)であり、本家 Stylish の userstyles.org の方は総数が簡単にはわからなかったが、少なくとも 12,000件くらいはあるだろう。
絶対数が違って最初から勝負にならない、というレベルだ。
Greasemonkey とかの機能は使わない、というのであれば問題にはならないかもしれないが。

さて、次にご紹介したいのは、Find As You Type for Internet Explorer
Firefox のページ内検索と同じインクリメンタル検索を追加するアドオンだ。
リンク先のスクリーンショットを見ていただければおわかりになるように、微妙に既視感のあるツールバーが追加されている。
ちなみに、これを作った Sven Groot 氏は日本在住のオランダ人で、東大の情報理工学研究科に在籍している模様。
ドメイン名が「大きい」な理由については、Welcome ページ(英語)を参照されたい。

実はここからが本題なのだが、IE に Find Toolbar が追加できるのなら、Find Toolbar Tweaks だって追加できるだろう、と私が考えたとしよう。
IE 用アドオンの作り方、というのを調べる事になる。
だが、「IE アドオン 開発」でググってみても日本語のドキュメントはヒットしない。
(拙ブログの 3年ほど前の 過去記事 が出てきたりする事自体、いかにドキュメントが少ないかを示しているだろう)
ま、Mozilla Suite の時代に戻ったと思えば、英語のドキュメントを読んで作るのも一興ではある。

"IE addon develop" で引っかかった EnhanceIE.com - Developing IE Add-ons を読むと、"Resources for Writing Extensions" の所にまず書いてあるのは IEBlog : Powering up with Internet Explorer Extensibility へのリンク。

えと、まず(自分の)ブログ記事に誘導しますか?
(EnhanceIE.com を作ったのは、About the Site によれば MSIE のプログラムマネージャーである Eric Lawrence 氏、そして IEBlog の署名は EricLaw。)
しかも、記事の日付は 2005年9月6日(つまり IE6 の時代)なんですけど。

気を取り直して、IEBlog を読み進めてみる。
IE にはブラウザを強力に拡張できるメカニズムがいろいろあるらしい。
拡張できるのは次の 6つ。

 1. ツールバーボタン
 2. メニューアイテムの「ツール」メニュー
 3. コンテキストメニューのアイテム
 4. ツールバー
 5. ダウンロードマネージャー
 6. 転送プロトコル("Pluggable" の意味を知りたかったが、リンク切れのため詳細不明)

1. から 3. は、レジストリキーをいじるとか DHTML とかで拡張できるらしい。(実例は IEBlog 参照)
そして、後半の 3つ、例えば新規のツールバーを追加するのは、"almost any language" で可能、とある。

... using almost any language: Visual Basic, C++, Borland Delphi, or any of the .NET Framework languages.

おーい。
C++ が読み書きできるのなら Firefox 本体の開発に貢献してる、っつうの。
それができないアマチュアだから、日曜大工ならぬ日曜ハックしてるんじゃありませんか。

スキルのある人のために、MSDN には Browser Extensions というセクションがあって、チュートリアルとかもある、という事を付記しておく。

あと、上記 IEBlog の コメント欄 で知ったのだが、コンテキストメニューから不要な項目を消すのは簡単ではないらしい。
IDocHostUIHandler を使えばなんとかなる、という事のようだが)

だが、天下の Microsoft、そして天下の IE だ。
アドオン作成を支援するツールの一つもあるだろう、と思い再度ググって見つけたのが Add-in Express
UI 部分の変更が GUI を使ってできたりするようで、とっても便利そうだ。
ただし、$149(約1万4000円)の有料ソフトである。

以上を踏まえて、Firefox の AMO に当たる IE の アドオンギャラリー を見てみよう。
「ブログ」「音楽」「天気」などカテゴリはいくつもあるが、ほとんどは 1ページで終る。
そして「ツールバー」だけむやみに登録数が多い。
さらに、登録されているのは大手商用サイト謹製のものが大多数だ。
当然、ソースコードは公開されていない。
前述の IE7Pro も Innoshock という謎の多国籍技術者集団の作で、「逆アセンブル禁止」などの項目が ライセンス に記載されている。
(どういうビジネスモデルなのかよくわからないのが「謎の」と書いた理由だ)
FAYT for IE は、コードが公開されている数少ないアドオンの一つなのである。

また、FAYT for IE が自前のアップデート通知システムを備えている所から推察すると、アドオンギャラリーに登録しても AMO のようにアップデート情報をユーザーに通知する所までは面倒見てくれないと思われる。

まとめてみると、IE のアドオンは、
開発が難しい → プロ級のスキルがないと開発できない → 数が少ない上にコードが非公開でパクれない参考にできない → 開発が難しい(以下略
という悪循環に陥っており、数の上で Firefox のアドオンに追いつける筈がないのである。
ま、この期に及んで IE を使用している人たちの多くは(会社の事情で仕方なく、という例を除けば)、「アドオンって何? つおい?」という層だろうから、これで良いのかもしれない。
(上記したユーザースクリプトの絶対数の違いも、一般的な IE ユーザーがアドオンに興味を持っていない、という要素が一因だろう)
しかし、Firefox でアドオンありのブラウジングを体験した人が、いくら IE8 本体の出来が良くてもアドオンなしのブラウジングに戻れるとは思えない。

前のエントリ で書いたように「シェア増大」が絶対命題でないとすれば、IE8 によって現在のシェアを失わなければ良いことになる。
そして上記した IE アドオン開発の難しさが改善されない限り、IE から Firefox への乗り換えはあっても、その逆はないだろうと考える。
だから、「IE8 なんかこわくない」のである。
そもそも最初からアドオンを前提にして設計されている Firefox が、そして 4年以上にわたって営々とアドオンシステムを築きあげてきた Mozilla コミュニティが、後付けでアドオンを装備した IE に負けては困るのだ。


蛇足:
前のエントリと合わせて、Mozilla Flux さんの Firefox 3.1のリリースを巡る多少の状況 に対するおそまきながらのレスポンスだったりするが、独立したエントリとして読めるようにしたつもりだ。
個人的な意見の表明であり、私の現状分析の方が正しい、と主張する意図はない。
もしかすると「安心理論」(©黒鉄ヒロシ)なのかもしれないし(^^;

この記事へのコメント

Rockridge
2009年03月15日 15:36
興味深く拝見しました。
IEがアドオンに関してFirefoxに勝てないのはまったくおっしゃるとおりで、IE本体にアドオンの更新をチェックする仕組みがない点も大きなマイナスです。

しかし、だからFirefoxからIE8への乗り換えはないのかというと、そうとはいえません。『Firefoxのシェアを伸ばすには?』(http://d.hatena.ne.jp/Rockridge/20081231/1230708208)で指摘したとおり、Firefoxのライトユーザーの多くはアドオンを使わないからです。
Rockridge
2009年03月15日 15:37
(続き)

また、「現在のシェアを失わなければ良い」のかも微妙で、守りに入ると勢いを失い、シェアが落ちかねません。競争は続いているのですから。最近MicrosoftがIE8とFirefox 3やGoogle Chromeを比較する文書やビデオを出してきているのは、本気度の表れで、侮りがたいものがあります。それでも昔のようにFUDで攻めてこないだけましですが。

Mike Connor氏が最近のインタビューでシェアに関して楽観的な見通しを述べていたようですが、疑問です。Makoto Katoさんのおっしゃるように、企業ユーザーに受け入れられないと「今後ジリ貧になる可能性が高い」(http://wontfix.blogspot.com/2008/12/firefox.html)と、それくらいの危機感をもっておくべきではないでしょうか。
池田
2009年03月16日 00:43
Rockridge さん、コメントありがとうございます。
個人的には「転ばぬ先の杖」とか「攻撃は最大の防御」とかも好きなのですが、"Take it easy" も捨てがたいと思う今日この頃。
アドオンを使用しないライトユーザーの存在がシェアを押し上げているのであれば、その多くは言わば浮動票であり、IE などの他ブラウザに移行する可能性がある層でしょう。
「誰でもいいからとにかく使って欲しい」という時代もありましたが、今は「気に入った人が使ってくれればそれでいい」と考えてます。
期待している Mozilla 2 がコケたりすると余裕がなくなりますが(^^;
池田
2009年07月15日 09:01
通りすがり さん、情報ありがとうございます。
アクセラレータの技術文書ですね。
他のアドオンの作り方も日本語化されると良いなーと思ってます。

この記事へのトラックバック

  • The road to operation automation for IE.

    Excerpt: メモ的な内容なので、特に強いストーリーや主張は無い。 仕事でIEの操作を自動化したいと思い”IE 操作 自動化 スクリプト”でググったがあまり収穫無し。 今度は”I.. Weblog: Verbose Mode racked: 2010-12-06 21:23