ブックマークレット

ブックマークレット (Bookmarklet) とは、ユーザーがウェブブラウザのブックマークなどから起動し、なんらかの処理を行う簡易的なプログラムのことである。携帯電話のウェブブラウザで足りない機能を補ったり、ウェブアプリケーションの処理を起動する為に使われることが多い。
機能.
ユーザーがウェブブラウザのお気に入りなどに設置されたブックマークレットをクリックすると、ブックマークレットに記述されたJavaScriptの小さなプログラムが、ウェブブラウザで起動する。プログラムはページの外観や表示を変更したり、他の場所にジャンプしたり、子ウィンドウを表示したり、ウェブブラウザで表示中のウェブサイトのURLを取得したり、ユーザーに追加情報の入力を促したりする。一部のプログラムはクライアント上の処理が終わった後、ネットワーク上のサーバーにあるアプリケーションのWeb APIを呼び出して情報を渡し、処理を依頼する。サーバーのアプリケーションは処理を実行し、結果をユーザーのウェブブラウザに表示する。
歴史.
ウェブアプリケーションはサーバーで実行されることが多いが、クライアントのウェブブラウザで実行した方が良い処理もある。ウェブブラウザで実行するプログラムとしてはJavaアプレットがある。しかしウェブブラウザの標準機能ではないため、実行にはJava Runtime Environmentが必要で、インストールやメンテナンスが煩雑である。またJava言語で記述されたアプリケーションのサイズは大きく、サーバーからの読み込みに時間がかかる。そこでブックマークに設置され読み込みが不要で、ウェブブラウザの標準機能のJavaScriptを使ったアプレットである「ブックマークレット」が考案された。
ブックマークレットの可能性は、ブレンダン・アイク（Brendan Eich）などのNetscapeシリーズの開発チームによって作られたと言われる。彼らが1995年に発表したNetscape 2.0のJavaScriptにvoid演算子を実装した。ブックマークレットを実用化したのは、スティーブ・カンガス（Steve Kangas）等である。カンガスは「ネットスケープ JavaScript ガイド」からヒントを得て、1998年に「bookmarklets.com」を立ち上げ、様々なブックマークレットを発表した。ブックマークレットと言う言葉はここから始まったようである。
ブックマークレットが普及したのはWeb 2.0時代である。ブロードバンド環境が普及し、ウェブブラウザからGoogleやAmazon.com、ソーシャルブックマーク、ブログなど様々なウェブ・アプリケーションを利用するようになった。Web2.0型のウェブサイトはWeb APIと呼ばれるアプリケーションプログラミングインタフェースを備えており、ブックマークレットは情報の送信手段としてうってつけだった。例えば2001年に発表された初代のMovable Typeは、ブックマークレットでブログ記事の投稿やカテゴリーの設定が出来た。2003年にサービスを開始したdeliciousも、ブックマークレットから共有ブックマークの登録が可能だった。しかしブックマークレットは、ソーシャルブックマークの登録数などをサーバーから継続的に受信して表示するような処理には向いていなかった。そのためブラウザにインストールするツールバーと併用された。またJavaアプレットよりは簡単といっても、ブックマークレットをウェブブラウザのブックマークに登録する必要があり、初心者にはハードルが高かった。そこで似たような機能を持ち、閲覧者はインストールが不要なソーシャルボタンが普及した。
一方、パソコン以外でもブックマークレットは普及した。PDAや携帯電話、スマートフォンなどの携帯端末のブラウザは、パソコンでは一般的なコピー・アンド・ペーストや文字列の検索が出来ない場合が多かった。。そこで機能を補う手段として、ブックマークレットが使われた。
設置.
基本的にはブックマークレットのハイパーリンクをお気に入りに登録すれば、設置は完了する。またdeliciousのようなソーシャルメディアはウェブサイトで、ボタン型のブックマークレットを提供している。この場合、ボタンをウェブブラウザのお気に入りやブックマークツールバーにドラッグ・アンド・ドロップすれば設置は完了する。