前回のブログ( 読書尚友のPDFサポート 他 - hishidaのblog )で検討中と書いたandroid用OPDSクライアントがそこそこ動くようになったので、Google Playで公開した。とりあえずカタログのナビゲーション機能を実装してみたが、次の段階ではOpenSearchに対応してみたい。
https://play.google.com/store/apps/details?id=info.ebstudio.opdsviewer
初期状態では次のOPDSカタログを登録している。
Project Gutenberg | http://m.gutenberg.org/?format=opds | |
Feedbooks | http://www.feedbooks.com/publicdomain/catalog.atom | |
BookServer(Internet Archive) | http://bookserver.archive.org/catalog/ | |
Manybooks | http://manybooks.net/opds/ | |
Smashwords | https://smashwords.com/atom | |
青空文庫 OPDS | http://aozora.textlive.net/catalog.opds | |
台湾 中華電子佛典協會 漢文大蔵経 | http://www.cbeta.org/opds/ | |
達人出版会 | http://tatsu-zine.com/catalogs.opds | |
O'Reilly Japan | https://www.oreilly.co.jp/ebook/catalogs.opds |
これ以外に、有名どころで O’Reilly Media(https://opds.oreilly.com/opds/)も動作を確認したが、リンク先が購買しかないので、初期登録からは外した。
日本の出版サイトでは技術評論社がOPDSを提供しているが(http://gihyo.jp/dp/catalogs.opds)、いろいろと技術的な問題があって初期登録からは外すことにした。何が問題かというと、feedの作りが悪いのか、Abdroidの標準のXmlPullParserではパースで文法エラーになる。SAX Parserだと読み込みに成功した。パーサーによる相性問題が他にもあるかもしれないので、設定でXmlPullParserとSAX Parserを選択できるようにしてみた。
また、技術評論社のOPDSには新刊(http://gihyo.jp/dp/new.opds)と既刊書(http://gihyo.jp/dp/all.opds)があり、既刊書の方のOPDSが、1600冊以上のentryを一度に返してくる作りになっている。スマートフォンでは長考状態になって全く実用に耐えない。件数が多い場合には100件ずつぐらいページ単位で返すような設計にすべきだと思う。
海外の有名な読書リーダー(Moon+ Reader、Aldiko等)では大抵はOPDSブラウズ機能を内蔵している。日本ではOPDS自体が普及していないこともあり、青空文庫専用ビューアが普及している。
正直OPDSクライアントのニーズがあるかどうかわからないが、個人的にはOPDSの勉強にはなった。
読書尚友にもライブラリ機能としてOPDSブラウズを組み込むことを予定している。