Jintrick.netagenda2007年08月アーカイブ → 2007年08月19日

Firefox ブックマークのkeyword命名規則のガイドライン

スリムなFirefoxでサイト内検索 (agenda)の補足記事。

ブックマークのkeywordは、ある程度reasonableなルールを決めておくことで、CUIの弱点を補い、メンタルモデルの混乱を避けることができる。

単にページに移動するだけなら、名詞を使用する。例えばkeywordを「レシピ」としてlocationに
「http://cookpad.com/」とか。

ここで「cookpad」のような固有名詞にしてはいけない。「レシピ」を知りたいという状況は将来も発生するだろうが、cookpadという名前は忘れてしまうかもしれない。それに、固有名詞をkeywordにするくらいなら、普通にGUI経由でブックマークを開いた方がよい。keywordの優位性があまりないからだ。

また、単にウェブページを開くのにわざわざキーボードで文字を打つのであるから、GUI経由に対する優位性のあるケースで使用すべきだ。例えば単一のページではなく、関連した複数のページを開くのに使用するなどである。私の場合、情報収集の際にはアンテナとRSSリーダーとニュースを同時に開くのだが、これは次のようなブックマークレットで可能だ。そしてkeywordは「news」である。

javascript:
location.assign("http://a.hatena.ne.jp/jintrick/?gid=null");
void(window.open("http://news.google.co.jp/"));
void(window.open("http://www.google.co.jp/reader/view/"));

現在表示しているページに関するコマンドなら、動詞を使用する。例えば様々なログイン制のウェブサービスを利用中、れぞれの管理ページにアクセスするというコマンドなら「edit」という動詞のkeywordを使う。

以下は、はてなダイアリ、はてなアンテナ、Google Readerを利用中、それぞれの管理ページにアクセスするブックマークレットの例。

javascript:(function(){
    var base;
    with(location) {
        base = protocol + "//" + host + path;
        if(host == "d.hatena.ne.jp")
            assign(base + "admin");
        else if(host == "a.hatena.ne.jp")
            assign(base + "edit");
        else if (href == "http://www.google.co.jp/reader/view/")
            assign("http://www.google.co.jp/reader/settings");
    }
})();

そして次のブックマークレットは、現在開いているウェブページに言及しているウェブページを調べる。このときもkeywordは「compare」などの動詞とする。

javascript:(function(){
var h = "http://b.hatena.ne.jp/entry/";
var g = "http://www.google.com/search?q=";
var y = "http://search.yahoo.co.jp/search?p=";
with(location){
    var s = search? search : "";
    var uri = protocol + "//" + host + pathname + s;
}
window.open(h + uri);
window.open(g + encodeURIComponent(document.title + " -site:b.hatena.ne.jp -site:a.hatena.ne.jp -site:r.hatena.ne.jp"));
window.open(y + "link:" + uri);
window.open(g + "link:" + uri);
})();

検索に関するコマンドで、%sを使用するなら、keywordの最後に?を追加する。例えば「英和?」「和英?」など。個人的に結構使うのがgoo 映画を利用した映画検索。英語の原題も分かるし一言内容紹介もあるので、英wikiと並行利用すれば十分なデータが得られる。Bookmarkletとする必要はなくキーワードは「film?」としlocationにhttp://movie.goo.ne.jp/search/result.php?n=%sを指定すればでいい。

%s変数を使用する場合、それを目的語にとる他動詞を使用する。これはあまり使わないかもしれないし、ちょっと微妙だ。目的語は、Javascirptで自動的に参照可能な現在開いているページに関するものになることが多い。またbookmarkletにおける%s変数はそのままの形で評価される、つまりJavascriptコードとすることが可能だ。keyword、半角スペースに続いてJavascriptコードが書ける。したがってよく使う関数を複数定義しておいて、簡単に呼び出す、ということができる。

続きは後ほど。


webmaster@jintrick.net
公開: 2007年08月19日
カテゴリ: Firefox