TigerのSpotLight対応について議論していたら……

DragThingのTiger対応版で、SpotLightを用いてキーワード検索を行うという話について作者のJames Thomsonと議論をしていた。

TigerのSpotLightには致命的に欠けている機能があるのではないか、という話になった。OSレベルの類義語辞書サービスと、翻訳アプリケーションをフックする機構がないことだ。


キーワードを入力した場合に、キーワードによってはそれをそのまま通したのではヒットしない可能性もある。いくつかの類義語をその場で提示して、キーワードをスポットで当てずにいくつかの広がりを持たせて検索する必要があるはずだ。そのためには類義語辞書サービスを用意する必要がある。


また、どうせTigerでは英語圏のみにチューニングされた検索システムになるだろう。検索キーワードを英語で与えたほうがよい場合に、翻訳サービスを透過的に呼び出せたほうがよい。OSと標準搭載アプリケーションについてはある程度の対応は行ってくるはずだが、サードパーティのアプリケーションが準備を行えるだけの仕組みが用意されるものかどうか……。


また、メーカー側で類義語辞書や翻訳アプリを用意することはできないだろう。OSの上に載せれば価格の上昇を招くこと必至である。


そこで、検索の前処理を拡張できるようにSpotLightの検索時にAppleScriptを呼び出せるようにしてほしいのだ。


DragThingで複数のキーワードによる検索を行いたい、という話をしていたのだが……このキーワードをどのように与えるかが問題となる。JamesはDragThing側で何かアクションを行うつもりはないようだ。サポート用のBBSを見ていても、山ほどリクエストが寄せられるため、ちょっと可哀想なほどだ。


OS側で、アプリケーション一般の仕様を拡張して、info.plistに検索用のキーワードをあらかじめ登録しておけるとよいだろう。検索キーワードはあらかじめ各アプリケーションの作者が用意しておけばよい。DragThingはそれを拾うだけだ。

……と、そこまで考えて驚いた。そうした仕様を盛り込めば、同様の検索がFinderからも行える可能性に思い至ったからだ。


 「もしかして、DragThingが不要になってしまう?」


ひょっとして、そんな事態も招いてしまうかもしれない。


ただ、逆にこれを十二分に活用し、iTunesのスマートプレイリストのように「スマートドック」というのも実現可能となるはずである。つまり、「Internet」というキーワードを定義しておいたレイヤーには、そのような検索キーワードを定義してあるアプリケーションが自動的に登録されるという仕組みだ。


使用頻度の高いアプリケーションだけをまとめた「ホットドック」というのも作れる。常時、使用頻度が上位の項目がダイナミックに収納されるという仕組みだ。ああ、これってランキング用のスクリプトと同じか。


iTunesやiPhotoで実践されている方法論をただ応用するだけの話であり、アプリケーション切り換え時に画面中央にプロセスが拡大表示されるが、これと同様にマウスカーソルが当たっているスロットのアイコンを画面中央に拡大表示してもよいわけだ。一応可能性を考えるだけで、実装してくれとリクエストを出すのはためらってしまう。Jamesにそこまで要求しては可哀想だ。


ドックのレイヤーごとに異なるBGMを割り当てておいて、レイヤー表示中はBGMが鳴るということでもよいかもしれない。開発ツールを登録してあるレイヤーを選択すると勇壮な曲が鳴るとか、チャット系ツールのレイヤーを選択すると雑踏の音が流れてきてもよいだろう。


……あ、「使用頻度でソートする」というHot Orderの機能はすでに実装されている(汗) やるな、James……。

11/20

Copyright By Piyomaru Software. All Rights Reserved