2010年11月9日火曜日

カーリルへのリンクを追加

 カーリルはリンクフリーと書いてあったので、AozoramazonのXSLTスタイルシートを修正して、ISBNのある本にカーリルへのリンクを追加した。青空文庫の作品を探しにきた人をカーリルへ、そしてその先の図書館へと誘導するのは、デジタルデータを求めにきたユーザーの志向を無視しているような矛盾は感じるが、まあいいじゃないか。カーリルのユルいロゴが気に入ってるんだもの。

50音別インデックスを追加

 Aozoramazonの作者別ページに、作品名の50音別インデックスを追加した。昨日の段階では実装途中だったので、選んだ文字で始まる作品が無い「外れ」ページがあるにもかかわらず、その存在が分かりにくかった。その後、作者毎に有効な作品名頭文字を予め調べておいて、有効な文字を強調表示するようにした。
 Aozoramazonの開発は、ここまでで一段落。作品長マップとか構想はあるけど、UIをどう用意するかまるで考えてないし、今すぐには取り掛かる気分じゃないのでまだやれない。

 本当は、「作品ページに表示されるQRコードを携帯で認識させるとiアプリをオンデマンドで生成してダウンロードできる仕組み」とかも作りたいけど(一度やってるのでたぶん作れるけど)、さらにハードルが高いので相当気合を入れないと無理。

2010年11月8日月曜日

作品一覧にキーワード検索を入れるか否か

 キーワード検索の結果にノイズが多いと思って、新着と作者別の作品一覧にキーワード検索を入れるのをやめてみた。結果、「龍馬の手紙」が完全に空振り。理由は、登録されている底本のタイトルが「龍馬の手紙、宮地佐一郎」で、著者名をタイトルの一部としてしまっているため。底本検索では、
  • Title
  • Author
  • Publisher
の全て、またはAuthorかPublishを省略した2つを検索パラメータに指定してProduct Advertising APIを読んでいる。Titleには青空文庫の作品名または底本タイトルを渡す。
「龍馬の手紙」は、Amazon上では
  • Author: 宮地佐一郎
  • Titel: 龍馬の手紙
であるため、いずれのパラメータの組み合わせでもヒットしない。ちなみに、ヒットしなかったパラメータの組み合わせは以下の通り。
{'Publisher': '講談社', 'Author': '坂本 竜馬', 'Title': '龍馬の手紙、宮地佐一郎'},
{'Publisher': '講談社', 'Title': '龍馬の手紙、宮地佐一郎'},
{'Publisher': '講談社', 'Author': '坂本 竜馬', 'Title': '手紙 109 慶応三年九月二十七日 本山只一郎あて'},
{'Publisher': '講談社', 'Title': '手紙 109 慶応三年九月二十七日 本山只一郎あて'},
{'Title': '龍馬の手紙、宮地佐一郎', 'Author': '坂本 竜馬'},
{'Title': '手紙 109 慶応三年九月二十七日 本山只一郎あて', 'Author': '坂本 竜馬'}
どの組み合わせを取ってもAmazonの商品情報と一致しない。

 根本的な問題は、青空文庫の底本情報が底本タイトル、出版社、発行日しか無いこと。この限られた項目の中に底本を特定するための情報を無理やり入れているため、出版社に「新潮文庫、新潮社」と出版社名以外の情報を入れたり、タイトルに編集者名を入れてしまう事になる。著者は作品の作者と同じだろうという前提で項目を省略しているのだと思うが、書籍となった場合は商品としての著者・編者は原作品の作者と異なってしまうこともある。
 出版社の方は比較的問題は簡単で、出版社名に句読点が入ることは常識的に無いので、「、」より前の部分を削除するとだいたい正確にマッチする。タイトルは自由度が高いので、そうはいかない。

 「龍馬の手紙」に限って言えば、「、」以降を削除することで検索が成功するだろう。しかし、このような一部の作品に特化した加工をすると、他の作品の検索でぼろが出る気がする。タイトルについてはこれ以上深入りはしない事にして、作品一覧上にキーワード検索を表示する動作に戻そうと思う。

MA6に応募

 Google App Engineを使っていればエントリーの要件を満たすことが分かったので、AozoramazonMashup Award 6に応募してみました。

Mashup的要素はGAEではなく、Product Advertising APIを使っている所なのですが、Amazon.co.jpは協賛企業ではないので、この点はエントリー要件に寄与しません。それどころか、協賛しているコンペティターにとっては不参加要件にしたいくらいでしょう。

2010年11月6日土曜日

AozoramazonをAjax化した

 レスポンスの遅さ問題を緩和するためのAjax化を完了。作品リストに遅れて検索結果が現れるようになった。

 サービスの名前は、当初は青空ナビにでもしようと思ったが、ナビと言えるほど案内機能が充実していないので、青空文庫とAmazonをつなげる意味で、単純に名前を連結してAozoramazonとした。

 誰も見てないと思うけど、ここ

やった事とやってない事

作ろうと思っていた機能のうち、以下の物はできた。

  • タブメニュー
  • 新着情報
  • レビューのポップアップ(jQueryのDialog)
  • 作品単位のページ。
やろうと思っていてやっていないのは、

  • 作品長、作品数で作家を分類してマッピングする仕組み。ジャンル関係なし、読むのに必要な時間をキーにしてエイヤッ!で選ぶような感じ。
  • 背景を実写青空写真に変更。
  • ロゴ画像
である。しかしその前に、AJAX化を優先させることにした。1ページを表示するまでにAmazonへ何度も検索をかけるため、どうにもレスポンスが悪すぎる。コレに比べたら、他の問題はたいしたこと無い。

2010年11月4日木曜日

Amazonへのリンクが一応できた

 青空文庫の作品に関連するAmazon商品情報をリストアップする仕組みが大体できた。作者毎の作品リストで、各作品の底本とキーワード検索結果の画像を列挙し、画像からAmazonへリンクされるようになっている。
 これから作らなければならないもの。
  • タブメニュー
  • 新着情報
  • レビューのポップアップ
  • 作品単位のページ。今は青空文庫の作品カードへジャンプするが、関連商品の検索結果を経由するようにしたい。
  • 作品長、作品数で作家を分類してマッピングする仕組み。ジャンル関係なし、読むのに必要な時間をキーにしてエイヤッ!で選ぶような感じ。
  • 背景を実写青空写真に変更。
  • ロゴ画像