たぶん僕しか使ってない Hatebu daily report ですが、トップページをちょっと変えました。
何が変わったかというと、集計途中のデータを表示するようにしました。
一日の集計の区切りが夜の12時で、その時間になるまではその日のランキングって出ないんですけど、途中経過みたいなのをとりあえず出しておくようにしました。
僕は毎日これを見てはてな界隈の話題をなんとなくさらってます。
たぶん僕しか使ってない Hatebu daily report ですが、トップページをちょっと変えました。
何が変わったかというと、集計途中のデータを表示するようにしました。
一日の集計の区切りが夜の12時で、その時間になるまではその日のランキングって出ないんですけど、途中経過みたいなのをとりあえず出しておくようにしました。
僕は毎日これを見てはてな界隈の話題をなんとなくさらってます。
超〜細々と動かしてる Web アプリ Hatebu daily report ですが、ランキングデータの集計方法をちょこっと変えました。
図にすると以下のような感じです。
えーっと、つまりこういうことです。
はてなブックマーク上に登場して 24 時間経過した Web ページについて、その 24 時間の間のブックマーク数でランキングしてます。
15 分ごとに cron でバッチをを動かして、ランキング用のデータをせっせと集めてます。
例えば、はてなのサーバが止まってたりしても 15 分後とかにまた取りに行くので安心です。
以前のやり方では、夜の12時頃に、その日のブックマーク情報を取ってきて集計を行うバッチを一個ドカーンと動かしてたりしていて、それが止まったらどうしようもなかったりしました。
というか、デザインがダメすぎるのでもうちょっと良くしたい。
こういうの作りました。
はてなブックマークにおける日ごとのランキングを表示します。
午前0時頃に前日のブックマークを集計する処理が走ります。
なので、今日のデータは明日にならないと見れません。
ちなみに、「2008-02-12」のデータはちょっとおかしいです。
なんでおかしくなったのかは忘れました。すみません。
RSS 吐くようにしないとなぁ。
検索機能つけたいなぁ。
集計の仕組みが実はいけてない。
日をまたがってブックマーク数が伸びたエントリとかを追跡できていないので。
こんなの作りました。
はてなブックマークから情報を集めてきて集計してTumblrにポストしてます。
その日にブックマークされた数が多い順に20件表示しています。
夜12頃に更新されます。
12月20日頃からポストしはじめてます。
今はまだ情報少ないのでアレなんですけど、Archive で見るとはてなブックマークを俯瞰してる気になれるんじゃないかと。
…
はてなブックマークをもっと見やすくするためのツールを作りたいと前々から思ってて、今も試行錯誤してる。
生半可なアイデアじゃ大したもの作れないだろうなぁ。
ユーザーに応じて「お勧めの記事」を表示したりなんかするようなリコメンド機能みたいなものを作ったら面白いんじゃないか、とか考えたんだけど、レンタルサーバーでそれやるのはきつい。
なんらかの条件で絞り込んで表示するという見せ方も考えたけど、あんまりうまいやり方じゃない気がした。
絞り込むための条件のバリエーションがほぼ固定しているようなデータに対しては有効なやり方かもしれないけど、はてなブックマークはそういう性質のデータではないと思う(あんまり深く考えずに書いてるけど)。
リコメンド機能みたいなものって、作るのにはそれなりの技術が必要で面倒くさいわりに、ありがたみを感じる機会って少ない気がする。
むしろ往々にしてウザがられたりする(よね)。
ユーザーは確かにリコメンド機能的なものを求めているのかもしれないけど、現時点で最も有用なのは単純な検索機能だったりRSS配信だったりするんじゃないかな。
ていうか検索機能やRSSは単なる道具であって、ユーザーはそれを使いこなすことによって目的の物を手に入れるわけか。
リコメンドは道具の域を超えようとしている気がする。
いや、道具ではないか。
ま、なんにせよ、ユーザーの意思に関わらずなんらかの情報を表示するというのはなんか広告みたいに見えてしまって身構えてしまう。
それを自分が「使っている」と言う気にはなれないよな、リコメンドって。
なんか付随情報というか、参考程度にしか見ない対象であるというふうに僕の脳には刷り込まれてるけど。
そのお勧めの「根拠」が完全に理解できるようなものでないと僕は絶対に不信感を感じる。
そういう観点からするとアマゾンの「この商品を買った人はこんな商品も買っています」という具体的な表現は良い。
ていうか、あくまで「自分が選択した感」がある方がいいのかな。
リコメンドに違和感感じるのは単にそれに慣れていないだけなのかな。
よくわからないな。
話逸脱しまくり。
こういうの作りました。
はてなブックマークの注目エントリ(閾値 3users)を(僕が)見やすいように時系列に並べてます。
定期的に動くクローラーではてなブックマークのデータを収集して Tumblr にポストしてます。
はてなブックマークのデータを独自に収集すれば面白い Web アプリがいろいろ作れるんじゃないかなぁとか思って、とりあえず簡単なクローラーを作ったんですけど、これ、ちゃんとやろうとすると相当面倒くさいことになりますね。
例えば、ある特定のエントリーに対するブックマークの増加をちゃんとフォローするためにはどうしたらいいかとか。
あと、思ったんですが、Web アプリケーションのアウトプットとして Tumblr などを利用するとコンテンツの管理とかで楽できていいですね。
Tumblr へのポストに関しては、以下の記事に載っていたソースを参考にしました。
[ruby] TumblrAPIのモジュールを作った。 - Hirameki Inspiration
あまり役に立ちそうにない Greasemonkey スクリプトをたまに作ってる jugyo です。
いや〜、忘年会シーズンですね。
道ばたで倒れている人を何人か見かけました。
さて、hatebu_chart.js という Greasemonkey スクリプトを作ったので公開します。
過去一ヶ月間の一日ごとのブックマーク数の推移をチャートで表示します。
Google Chart API を活用しました(便利!)。
ソース:
hatebu_chart.user.js
更新履歴:
1.1 - チャートに日付を表示するようにしました。さすがに日付が無いと不親切だと思ったので。
1.2 - 1月だけチャートが正常に表示されない(日付の計算ミスによる)バグを修正しました。(なんとも恥ずかしいバグでした。)
スクリーンショット:

画面右下の四角いとこにカーソルを合わせると…
↓

こんな感じのが出てきます。
…
ていうかこれ作ってて思ったんですが、JavaScript の Date 型って気持ち悪いですね。
「1月から12月」が「0 から 11」で表現されるんですね(つまり1月は 0)。
知りませんでした。
はてなブックマークのコメントを表示する Greasemonkey スクリプトを作りました。
特に凝ったことはしてませんが、見た目にこだわりました。
ソース:
habocovi.user.js
更新履歴:
1.05 - table のスタイルを修正(width を 600px に)。
1.04 - z-index を 1 にしました。
1.03 - はてブ数がゼロのときに「0」と表示されるように修正しました(だんだんソースが汚くなってきました)。
1.02 - さらに表示周りのこまごました修正を行いました。
1.01 - 表示周りのこまごました修正を行いました。
使用方法:
画面の右下に小さい四角が現れます。

これの上にマウスカーソルをのせると「はてブコメント」が読み込まれて表示されます。

マウスカーソルをのせるまでサーバー(はてなの)にはアクセスしに行かないという動作が地球に優しくて良いと思います。
Greasemonkey って意外と簡単で楽しいですね。