Ubiquityをちょっと触って感じた未来

普通の紹介ははてなブックマーク - Mozilla Labs » Blog Archive » Introducing Ubiquityの関連エントリを見れば良さそうなので省くよ。Greasemonkeyのminibufferを知っているなら、それの拡張機能版を想像すれば良いかな*1

日本語対応

ちょっと触った感じ日本語対応が完全じゃないなと思った。
例えば、住所を選択してmap-these*2コマンドを打ってもずっと読み込み中になってしまうとか(コピーしてmap*3の引数にペーストすると表示できるのに...)

でも、ちょっとソースを覗いてみてびっくりした。
なんとNLParser.JpParserというのがあるじゃないか。全然読みきれて無いけど、コマンドを空白単位ではなく「に」「を」「から」「と」「で」「が」「まで」などの日本語の文節で区切ってパースして各コマンドに渡してあげるものと思われる。例えば、「これを英語から日本語に翻訳して」などと入力すると、選択範囲を翻訳して表示したりなどだ。

使用するには about:confing からextensions.ubiquity.languageを"jp"にすれば良いみたいだが、今のところ設定するとプロンプトすら現れなくなる。まだ作成中のようだ。

で、ソースの中にtestJapaneseNLParser.jsというのがあったので覗いてみた。これを英語から日本語に翻訳してはこのソースにあったものだが、他にvar input = "敵を刺す",var input2 = "友達を刺す"などがある。なんつーテストをwwww*4

他拡張との連携プレー

Ubiquityのコマンドにページ編集を可能にするedit-pageというのがある。これ自体はFirefoxの機能として存在するものだ。あまりが活用方法が見出せないものだったが、ちょっとやってみて思いついた。
ページ編集を可能にしてmapまたはmap-theseから地図を表示しInsert map in page*5からページにGoogleMapの地図画像を埋め込み、ScrapBooktomblooを使用すれば簡単に情報を集約したメモが取れるのではないか、と。
しかし、実際にやろうとしてみたが、ダメだった。画像を表示できない。GoogleMapの画像のURLクエリの&&に変換されて間違ったリクエストになってしまっているからだ。Insert map in pageはまだGmail専用っぽい雰囲気だが、そのうち修正される(と良いなぁ)だろう。

自作コマンド

チュートリアル(Labs/Ubiquity/Ubiquity 0.1 Author Tutorial - MozillaWiki)を見ている限りユーザ側が独自のコマンドを定義できるようだ。しかもjQueryが使用出来るっぽい。APIもいろいろあるみたいだし、当然ながらChrome特権化のコードなのでXPConnectからXPCOMも使える。研究すればちょっとしたコードでかなりいろいろ出来そうな予感。

まだほんのちょっとしか触ってないのでこれくらいしか書けないけど、夢が広が(ry しまくりだ。ニヤけが止まらない。というか仕事中に紹介の動画を見てニヤニヤしていたのを対面の人に見られて不審がられた。かなりキモかっただろう。

*1:minibufferはGreasemonkeyの定めた範囲内でしか動かないけど、Ubiquityはもっと色々できる

*2:選択範囲をGoolge Mapで検索して地図表示してくれる

*3:引数に入力したものをGoogleMapで検索して地図表示してくれる

*4:テストコードはこれだから面白い :P

*5:カーソル位置が編集可能な場合地図画像の埋め込みが可能