像や引用したテキスト、動画などを自由にPostしていけるサービス「Tumblr」が非常に便利です。はてなブックマークなどのソーシャルブックマークがページごとの記録であるのに対して、Tumblrではそのページ内の特定の要素をブックマークしていけるという点でよりポイントを絞って記録していくことが出来ます。Tumblrの一般的な用途はいわゆるミニブログ、つまりTwitterのように次々と書き捨てていって他人のそれをリアルタイムで取得して楽しんでいくという用途になると思いますが、僕としてはもう少しアーカイブ的な使い方をしたいと考えています。気になる言い回しや、面白い画像を見かけたときにそれをどんどんTumblrに放り込んでいき、あとで閲覧したりまとめてエントリにしたりしていくイメージです。
しかしTumblrをそうしたアーカイブとして使うには、現状少し問題点があります。それはサービスとして用意されているAPIの機能が限定的で、データを取得する(read)という点で言えば連続する50件取得を取得することしかできないことです[*1]。
API | Tumblr
過去のデータも自分がPostしたページのURL(Post ID)がわかればAPIで取得することが出来ますが、そのURLを知るには過去のデータを取得していることが必要なわけで、結局何もない状態から得られる情報は最新の50件以上ではないわけです。Tumblr Tag Clouds(Tag Cloudを作成するスクリプト)がしているように、遡りながら50件ずつ取得することを繰り返していけば過去のデータを扱うことも可能ですが、実際に運用する上で毎回それを行うのは手間ですし、エントリが増えるにつれて検索や表示に時間が掛かることになります。実際Tumblr Tag Cloudsは表示に非常に時間が掛かりお世辞にも便利だとは言えません。
この状態を解決する方法として結局は自分のデータをTumblrではなく自分で持ち、表示に当たってTumblrにリクエストしなくて済むようにするのが一番良いのではないか、そう考えたところが今回の企画の始まりです。まぁそれを詳しく記述したところで誰得?という感じではあるのですが、整理のためにとりあえず1つずつ説明していこうと思います。