フィードアグリゲータに求めること
feedbringer、使うのをやめることにしました。bloglines に戻ります。理由は、UI の改良により、HTML も修正されたため、自作の greasemonkey 用ユーザスクリプトならびに css ファイルがそのままでは使えなくなったから。修正するのも面倒だし、修正してまで feedbringer を使い続けるほどの魅力を感じなくなった。かといって、素の UI は改良されたとはいえ、正直あまり使いやすくはない。自分がカスタマイズしたものに似てはいるけど、微妙に使いづらいと感じるのは、他の誰かが言っているように、上下の幅が広くて圧迫感を感じるからだろう。それから逆スクロールは Shift + Space というのも嫌。Backspace に慣れてしまっているので。
そして、一番大きな理由は上の様な些末なことではなく、今回の改良で「feedbringer は俺が求めているものとは違う」と感じてしまったから。じゃあ、俺が求めるフィードアグリゲータって何だろう、ということになると、実はきちんと整理しているわけではないので、これを機会に整理してみることにした。以下、順番に挙げていきます。
サーバ集約型
家でも複数のPCを利用するし、会社からも携帯からも利用するので、サーバ集約型がいいっすね。集約されていないと、購読しているフィードの同期がめんどうだし、未読/既読が統一できないから。(これは、フィードアグリゲータだけでなく、どんなサービスにも言えるんですけどね。)
サーバに集約されていれば、ウェブ型じゃなくてもいいのか、という話もありますが、それについては後ほど触れます。
フィードのクロールと蓄積
これは言うまでもないですね。これをやってくれないとフィードアグリゲータではない。
検索
蓄積したら、当然検索は必要でしょう。自分が購読しているフィードのみ検索対象にできれば、「あれ、誰かが書いてたんだけど、何だったっけ?」という時に探しやすい。
言語フィルタリング
最近、del.icio.us のフィードに、中国語がやたら目立つ様になってきたので、言語フィルタリングで除外できればありがたいな、と。別に中国語に限らず、自分が読めない言語のエントリがあっても、ただのノイズにしかならないし、辞書引いたり自動翻訳使ったリまでして読もうとは思わない。ただでさえエントリ数が多いんだから、こういったノイズはできる限り排除したい。
カテゴリフィルタリング
フィード中にカテゴリが記述されていることが多いと思うので、特定のフィードの中でも、除外したいカテゴリを指定したり、逆に読みたいカテゴリを指定する、ってことができればいいなぁ、と。フィードに含まれるすべてのエントリが読みたい、ってことの方がまれだと思うんですよね。
充実したREST API
極端な話、充実した REST API を持っていて、きれいな XML フォーマットでデータを吐いてくれれば、フィードアグリゲータは UI を持っていなくていいです。XSLT で XHTML へ変換して、css と javascript でリッチなUIにしたり、携帯用の HTML に変換したり、そこは好きなように作り込んでいけるので。自分で作らなくても、もっとセンスのある人がいいモノを作ってくれたりもするでしょうしね。
ここで REST API と言ってしまっているので、さきほどの「サーバに集約されていれば、ウェブ型じゃなくてもいいのか」という点については、やはりウェブ型がいい、ということに必然的になりますね。
だれかこんなフィードアグリゲータ作ってくれないかなぁ…自分で作れって言われそうだな。
LiveLinesでfeedbringerにフィードを登録する
FirefoxのextensionであるLiveLinesで、feedbringerにフィードを登録するには、Subscription URLにhttp://feedbringer.net/feed/add/?url=^U と入れてやればOK。
タグの関連性の可視化 #0
fladdict.net blogの中の人が書かれている、「ソーシャルブックマーク考 タギングの可視化について」というエントリを見て、自分も最近別方向からのタグの可視化について考えていたので、それについて書いてみる。
fladdict.net blogの中の人は、タグの出現頻度を可視化する手法が画一的なのに対して問題提起をしておられるのですが、自分が考えているのは、「頻度だけを可視化するのでは情報として不十分じゃないのか?」ということです。
出現頻度の可視化により、タグづけしている人の趣味嗜好や関心事の傾向がひと目で把握できるのはおもしろいのですが、頻度だけから得られる情報には限りがあるなぁ、と。例えば、このブログでのタグの出現頻度をとると、「blosxom」が19で最多、次いで「plugin」が18といった感じなのですが、これだけを見ると「こいつはblosxomとpluginに関心があるのかぁ。で、pluginって何のplugin?」といった感じになるわけですが、実際にはblosxomというタグとpluginというタグはほとんどが同一のエントリにタグづけされているわけで、「blosxomのplugin」に関する話題が多いわけですよ。タグ間の関連性まで可視化できて、blosxomタグとpluginタグの関連性が強いということがひとめで分かれば、「こいつはblosxomのpluginラブなんだな」というところまで読み取れるわけで、なんとかうまく関連性を可視化できる方法はないものかなぁ、と考えていたりします。
で、とりあえず頻度は今まで通り、フォントのサイズで表すとして、関連性は何で表そうということになるのですが、色がいいのではないかと。ここまではすぐに思いつくのですが、じゃあ、いったいどういう形で色づけしていくのか、というのがノーアイデアだったりします。
関連性の計算については、昨日のBlog Hacks Conで知った相互情報量とやらでいけそうだし、ひとつのタグを取り出して、それに関連するタグを引っ張り出すことは容易だと思います。しかし、すべてのタグをならべた状態で、各タグ間の関連を可視化するのは容易ではなさそうです。
たとえば、A, B, C3つのタグがあるとして、AとB、BとCが関連が強く、AとCは関連がない、といった場合、どういう色で表せばいいのだろう?AとBは関連があるので同系色、BとCも関連があるので同系色、としてしまうと、関係のないAとCまでもが同系色になってしまいます。
こんな感じで、「関連性を可視化できるといいんじゃね?」ということは思いついても、具体的にどう実装するかがノーアイデアという情けない状態だったりします。
もっと整理できてからエントリあげようかと思ったのですが、ここを読んだ頭の良い方が、「こうすれば簡単じゃね?」と言ってくれるのを期待して、ここに記すことにしました。
Blog Hackers Conference 2005に行ってきました
Blog Hackers Conference 2005から帰ってきました。3時間半ほど前に。家庭がある身なので、「打倒naoya!はてなTシャツ争奪ジャンケンバトル」(呼び捨てすんません)に2nd Roundで敗れて早々会場を後にしたわけですが、あの後も何かおもしろいことあったんですかね。
どんな内容だったとか、どんな感じだったとかは、誰かが書いてくれるでしょうから、ここでは書きません。(めんどくさい。)
ブログ暦が2ヶ月弱と浅いので、前回は出ておらず初めての参加なのですが、いつもブログやブックマークを拝見させて頂いている方々が目の前にいて、しかも中には、こんな俺のブログをsubscribeしてくれていたり、ブックマークしてくれている方もいらっしゃるので、「どうも!mizzy.orgの宮下です。いつもお世話になってます!」と挨拶してまわりたいぐらいでした。うざがれること必至なのでやめましたが。
あと、YappoさんがRastの利用例で、拙作のblosxom+Rastをちらりと書いてくださっていたのがすげーうれしかったです。実は、Yappoさんの3つ後ろの席に座っていたのですよ。
俺はこの会場に来て、顔を拝見させて頂いているのに、向こうは俺のことをこのブログで知っていても、近くにいることは気づいてないんだよなぁ、という感覚が、なんだか妙でおかしかったです。同様に、俺がいつもブログを拝見してるけど、顔を知らない方々がこの会場に結構いるんだろうなぁ、というのも。
内容も素晴らしかったですが、上に書いた様な、なんとも言えない雰囲気というか感覚も味わえた、そんなカンファレンスでした。
RSSフィードにタグをカテゴリとして埋め込む for blosxom
technoratiはRSSフィード中のcategory要素をタグとして認識くれる、っつーことで、このブログではせっかくtaggingプラグインを作ってタグづけしてるので、RSSフィードにタグをカテゴリとしてつっこんでみることにした。
ここのRSSフィードは、プラグインを使わずにフレーバだけで生成してるのと、自作のttプラグインがあるので、taggingプラグインをちょっといじってタグのリストへのリファレンスを返すようにして、あとはstory.rssでカテゴリを入れたい部分に、ttプラグインを利用して以下の様に記述してやるだけでOKだった。
[% FOREACH tag = tagging.tags_in_this_array %] <category>[% tag %]</category> [% END %]
で、この改造後にtechnoratiにupdate pingを打って、一晩たったらちゃんとタグで検索できてる。素晴らしい。
ブログのサイドバーをパーソナライズ
ブログのサイドバーは、ブログ内のエントリへのアクセシビリティを高める、というのが主目的だと思うのですが(それ以外の使われ方もしていますが)、サイドバー自体のアクセシビリティはあまり考えられていないような気がします。特にサイドバー内の項目が増えてくると、どこに何があるのかが見つけにくく、本来の目的を果たせないような状態になってしまいます。
で、このブログではそのあたりも何とかしたいな、という考えで、サイドバーの各項目を開いたり閉じたりできるようにして、自分が必要な情報だけ表示しておくことができ、その状態をcookieで保持できるような仕組みにしていたのですが、これをもう一歩進めて、順番を自由に入れ替えられるようになるといいな、と考えていたところ、ちょうどよいサイトを見つけました。
[brothercake] Docking boxes (dbx)にあるJavascriptを利用すると、このブログのサイドバーの様に、各項目を自由にdrag & dropで移動したり、クリックで開閉したり、といったことが可能です。また、移動はカーソルキーでも行えますし、順番や開閉の状態はcookieで保持してくれます。
移動時にはアニメーションしたり半透明になったりで、なかなか楽しいです。これでアクセシビリティが高まるのかどうか、しばらく様子を見たいと思います。
SiteBar 3.3を試してみた
SiteBarという、PHPでできていて、自分でサーバに設置して利用できるオンラインブックマークツールを試してみました。
以下に簡単に設置方法をメモしておきます。PHPとMySQLが使える環境であれば、レンタルサーバでも設置できると思います。
ダウンロードページからSiteBar-3.3.tar.bz2をダウンロードして展開、適当なディレクトリにmvします。
$ bzip2 -dc SiteBar-3.3.tar.bz2|tar xvf -
$ mv SiteBar-3.3 /path/to/htdocs/sitebar
$ cd /path/to/htdocs/sitebar
$ sudo chown nobody:nobody inc (Apacheの起動ユーザ/グループに書き込み権限が必要なため)
次に、http://yourhost/sitebar/index.php にアクセスして設定を行います。
環境に合わせて設定して下さい。データベースが存在しない場合には、[Create Database]を栗kkすることで、作成することができます。
設定項目入力後、[Check Settings]をクリックすることで、設定が正しいかどうか確認できます。設定が正しければ、 [Write To File]をクリックして設定を保存します。
すると、Your database does not contain SiteBar tables.と表示されますので、[Install]をクリックしてください。
[Install]をクリック後、この様な画面になります。
[Setup]をクリックして、適当に設定してください。
設定が終わると、ログインした状態になるはずです。普段はこの画面をサイドバーに表示させて利用する、という形になるのですが、Firefoxのextensionがあるので、次はこのextensionを入れてみます。
extensionはここのサイトに行ってインストールします。
http://sitebarsidebar.knowledge-emporium.com/
インストールすると、サイドバーに左の様な画面を出すことができます。
上部一番左にあるチェックマークアイコンをクリックして、Sitebar Hostの設定をします。http://yourhost/sitebar/index.php という形で、自分で設置したSiteBarのURLを設定します。
設定を終えたら、Log Inをクリックして、セットアップ時に設定したメールアドレスとパスワードでログインします。
一番基本的な使い方ですが、現在見ているサイトをブックマークに追加するには、上部左から3番目の家アイコンをクリックします。Admin's Bookmarksというリンクを右クリックするとメニューが出てきて、フォルダを追加したり、色々とできます。
あとはご自身で色々と試してみてください。
で、軽く使ってみて感じたのは、こりゃ常用するのは無理だな、ってことです。
自分がオンラインブックマークとして常用しているのは、SpurlのFirefox extensionなのですが、Spurlではフォルダによる分類に加えてタギングすることもでき、タグによるブックマーク検索ができたり、タグを絞り込んでいくインターフェースがすごく使い勝手がよかったりと、オンラインブックマークとしてはかなりできの良いものになっています。(ソーシャルブックマークとしての評価はまた別ですが。)
この階層+タギングによる分類が恐ろしく便利で、SiteBarの様にフォルダでしか分類できないものや、del.icio.usの様にタグでしか分類でないものは、自分用オンラインブックマークとして使う気にはなれません。(もちろん、ソーシャルブックマークとしてのdel.icio.usはすばらしっすよ。)
ただ、Spurlはサイドバーを表示させる時のレスポンスがいまいち悪いんですよね。自サーバで自分専用に設置できるSiteBarの方がその辺は勝ってます。Spurlがもっとレスポンスが良くなるか、SiteBarがタギングできるようになると最高なんですけどねぇ。
Mac SafariでのxmlHttpRequest文字化け
このブログをカスタマイズしている過程で、Safari + xmlHttpRequestで取得したデータが文字化けする、という現象に悩んでいたのですが、<?xml version="1.0" encoding="euc-jp"?> という一文を入れてあげると、文字化けが解消されました。
どうやらSafariのxmlHttpRequestでは、HTTPのContent-typeヘッダのcharsetは無視されるようで、XML宣言(って呼び方でいいの?)で指定されたcharsetを解釈する模様。XML宣言がないと、iso-8859-1とみなすらしい。
なので、xmlHttpRequestで取得するコメントとトラックバックには、XML宣言を入れてます。なんか気色悪いけど、しかたない。