独立系の出版社や個人作家を支援するソーシャルリーディングサービスReadmillとは

 今回はドイツのベンチャー企業が2011年12月に立ちあげたばかりのReadmillを紹介します。クラウドなマイライブラリサービス兼ソーシャルリーディングサービスです。

http://readmill.com/

1. Readmillとは?

  
 まずは以下の動画をご覧ください。提供されているサービスのおおまかな雰囲気がつかめると思います。

This is Readmill from Readmill 紹介動画 on Vimeo.
  上の動画で紹介されているReadmillの主な特徴をあげていけば、以下のような感じでしょうか。

  1. 電子書籍のコンテンツをクラウドなマイライブラリに登録できる。
  2. 電子書籍の本文に付与したハイライトやコメントをフォロワー同士でタイムライン形式や本文上に直接表示させる形で共有することができる。また、もちろんTwitterやfacebook、tumblrに流すことも可能。
  3. 電子書籍ビューワとして、現在、iPad専用のリーダーアプリReadmill for iPad が用意されている。2にあげたハイライトやコメントの付与はこのアプリ上で行う。

 最近のソーシャルリーディングサービスとしては、ごくごく標準的なサービスを提供していると言えます。
 

2. ライブラリサービスとビューワアプリ

 登録できるファイルフォーマットはPDF、EPUBです。2012年10月にはAdobe DRMで保護されたコンテンツの対応もできるようになりましたので、Barnes & Noble、Kobo、Googleなどが採用している有料コンテンツも登録できるようになったようです※1

 
 ライブラリに登録した電子書籍はReadmillが提供しているビューワアプリReadmill for iPad で読むことができます。

Readmill for iPad

 
このアプリについては、こもりまさあきさんが以下のブログで詳しく紹介してくださっていますので、こちらをご参照ください。
ソーシャルなePubリーダー、Readmill | gaspanik weblog
 このReadmill for iPad の紹介動画も公開されています。

Readmill for iPad 紹介動画 from Readmill on Vimeo.
  UIはなかなか洗練されています。
  しかし・・・・・、日本語のEPUBはバージョン関係なくうまく表示ができないようです。また、PDF上ではハイライトやコメントの付与ができないため、Readmillのウリの一つであるソーシャルな機能を使うことができません。単体のビューワアプリとしてみると、このビューワは日本で使用されるにはまだまだ機能不足のようです。Readmillで電子書籍を読む唯一の手段であるこのiPadアプリがこういう状態であることは少し残念ですね。立ち上がって間もないサービスですので、今後の対応を期待したいところです。 
 

3 iPadに自動送信できる「Send to Readmill」機能

 ビューワアプリが結構残念なReadmillですが、「Send to Readmill」機能を紹介せねばなりません。もしかするとこの機能がReadmillというサービスとその方向性を際だたせている機能かもしれません。
 

 「Send to Readmill」機能とは、電子書籍プラットフォームのコンテンツの各ページ等に設置されている上の「Send to Readmill」ボタンを押すと自分のReadmillのライブラリにコンテンツごと登録されるという機能です。
例: Alice’s Adventures in Wonderland – Lewis Carroll | Feedbooks

「Send to Readmill」紹介動画 from Readmill on Vimeo.
  ビューワアプリReadmill for iPad はReadmillのライブラリと同期する機能がありますので、コンテンツが自動的にダウンロードされることになります。アマゾンがKindleで提供している自動送信に近い使い勝手を実現しています。
 この機能、実はまだドラフト段階であるOPDS Callbackを使って実現しているんです。ええ、OPDS Callbackです。大事なことなので二度言いました※2。そうOPDS Callbackです。
 無料のコンテンツならば、上で紹介したFeedbooksのパブリックドメインのコンテンツのようにコンテンツを紹介するページに設置してしまえばいいわけです。では、有料のコンテンツはどうするの?ということですが、 A Book Apartのように、決済終了後にユーザーに見せるダウンロード画面に設置するという方法もあります※3

 
 この「Send to Readmill」機能、 OPDS Callbackが採用されていることより重要なことは、 
 誰でも「Send to Readmill」ボタンを簡単に設置することができること 
だと思います。
 
 設置方法も以下のようにコンテンツファイルのURLを記入するだけでボタンを設置するためのコードを生成できるページが用意されています。このコードを流用すれば、非プログラマーな人でも簡単に設置できます※4

Get the Send to Readmill code

 ためしに、ということで、板橋区議会が発行している広報誌『いたばし区議会だより』のEPUB版の「Send to Readmill」ボタンを作成してみました。 
いたばし区議会だより第161号 – 板橋区議会

 Readmillにログインした状態で上のボタンを押すと、Readmillのライブラリに登録され、同期したReadmill for iPad にそのままダウンロードされることになります。
 コンテンツファイルがPDFファイルでも、もちろん問題なく「Send to Readmill」ボタンを設置できます。
国立国会図書館月報 619号(2012年10月)

 独立系の出版社や個人作家が独力で提供から利用に至るフローをユーザーに用意することはとても大変ですが、Readmillのようなサービスがそのフローを肩代わりしてくれるのであれば、プラットフォームに頼る理由が1つ減ることになります。Readmillのサービスはまだ成長途上であると言わざるを得ない部分がありますが、この種のサービスは日本でも拡がって欲しいサービスだと思いました。
 
※1 Social Reading App Readmill Adds Adobe DRM and PDF, Adds New Stores | TechCrunch
  ただし、ローカルからDRMなしのEPUBファイルをアップロードしようとすると英語のファイルでもエラーが発生してしまうことも・・、あれっ・・・・・(汗)。
※2 Send to Readmill : Official Feedbooks Blog
   OPDS Callbackは大事なことなので、さらに別のエントリで紹介するかもしれません。
※3 Send to Readmill welcomes A Book Apart! | Readmill Blog
  上のA Book Apartのダウンロード画面もこのエントリより転載。
※4 より詳細は情報は 「API Documentation – Readmill」で。

OPDSカタログアグリゲータにカタログの更新を知らせるPing送信

 別のブログで台湾のOPDS状況について紹介したのですが、そのエントリをマガジン航[kɔː]に転載していただきました。ありがとうございました。
.台湾がOPDSでやろうとしていること « マガジン航[kɔː]
 上の記事の中で台湾がOPDSカタログ用のPing Server(公開や更新を通知するPing送信を受けつけるサーバー)の設置を検討していることに触れました。あのエントリでは、このPing送信についてあまり踏み込んだ解説はしませんでしたが、OPDSアグリゲータに更新をしらせる仕組みとしてのPing送信は、OPDSにおいてかなり重要な要素だと思われますので、若干妄想を交えながら少し詳しく紹介したいと思います。

1. Ping送信・Ping Serverとは

 
 RSSではすでに枯れた技術でもあり、ブログを運営したことのある人ならご存じかと思いますが、Ping送信とはウェブサイトなどが更新されたことをサーバー(Ping Server)に知らせる技術です。通常のウェブサイトでは、検索エンジンのクローラが自分のサイトの更新を拾ってくれるのを基本的に待つしかませんが、ウェブサイトの運営者が更新したタイミングで更新を知らせるのでほぼリアルタイムに検索エンジンの検索結果に反映させることができます。
 少々ざっくりとしたイメージですが、以下のような流れでRSSを取得させることでサーバーに更新情報を伝えることになります。

<

figcaption>RSSアグリゲータがRSSで更新情報を取得する流れ

 詳しくは以下をご参照ください。
Ping (ブログ) – Wikipedia
PING送信の仕様 – XMLの書式、RSS配信、PINGサーバとは、ブログ・ホームページ 

2. OPDSでPing送信を活用するとこうなる

 出版社が自社サイトで電子書籍の提供するとします。

 プラットフォームに依存せずにすむという利点はあるものの、コンテンツを掲載してから検索エンジンのクローラーがウェブサイトを走行するまでに時間的間隔が開いてしまいますし、Web検索エンジン上での検索は全くジャンルの異なる他のウェブサイトと検索結果が混ざってしまいます。それは電子書籍を提供する出版社にとっても、それを探す読者にとっても望ましいものではありません。プラットフォームにコンテンツが集約されてしまう理由の1つです。
 そこで、少しでも状況を改善するためにOPDSカタログの公開し、それをOPDSアグリゲータにカタログを集約させることができればと思うのです。

 OPDSカタログの公開といっても、やることはWeb上に静的なAtom形式のファイルを置くだけですので、このままではWeb上にAtom形式のカタログがぽつんと孤立した状態で存在するだけになってしまいます。OPDSカタログアグリゲータに「あー!あー!おれはここにおるで!」「更新したから、はよ来てや!」と知らせる仕組みがあわせて必要になってくるのです。それがPing送信です。
 1で紹介したRSSのPing送信の仕組みをOPDSカタログで採用すると以下のような流れになるかと思います。

<

figcaption>OPDSアグリゲータがOPDSカタログを取得する流れ

 新たな電子書籍をWeb上で提供した、または内容を更新したときにOPDSカタログを更新し、OPDSアグリゲータが設置したPing Serverにその更新情報をPing送信によって伝えるのです。OPDSカタログアグリゲータはすぐに更新されたOPDSカタログを取得し、読者の検索結果に反映させていく。
 この仕組みの大きな利点は
電子書籍プラットフォームが対象としないコンテンツ、商用出版流通に載らないコンテンツを対象にできること
 です。これは何度強調しても足ることはありません。
 
 官公庁や研究機関などのウェブサイト上では広報誌、調査報告書、学術雑誌等々の大量のコンテンツがPDF形式で無料で公開されています。これまではWeb検索エンジンでしか見つけることができなかったこれらのコンテンツも各機関がOPDSカタログを公開し、それらアグリゲータに集約させることで他の電子書籍と一緒に検索させることができます。Webの大海に埋もれて孤立しがち、そのため容易に発見されづらいコンテンツに対して光をあてることができます。

 
 読者はOPDSカタログアグリゲータが提供する検索サービスを通じて、集約されたOPDSカタログを検索することになります。コンテンツは直接、コンテンツプロバイダのウェブサイトから取得します。RSSと同様にキーワード登録することで新刊情報をキーワードで取得するなんてことも容易に実現できるでしょう。

 有料コンテンツだと、認証の問題や課金の問題等が発生しますが、そのあたりは以下のエントリで書きましたので、ここでは省略します。OPDSはとりあえずコンテンツへのリーチを担保するための仕組みです。1つ1つ問題を解消していきましょう。
プラットフォームの束縛から電子書籍を解放する仕組みとしてのOPDSと課金(マイクロペイメント)レイヤー (2012年2月26日)

DAISY4からEPUB3への橋渡し役、DAISY Pipeline 2

 先のエントリで紹介したように、DAISY4こと、ANSI/NISO Z39.98-2012の仕様が先日正式に公開されました(以下、ANSI/NISO Z39.98-2012をDAISY4)。これはいわゆる中間(交換)フォーマットの仕様で、そのまま利用者が読書をする目的のフォーマットではありませんので、利用者が読書に利用するためにはEPUB、DAISYなどの配布フォーマットに変換する必要があります。そのDAISY4と配布フォーマットの間を橋渡しをする役目を担うのがDAISY Pipeline 2です。
DAISY Pipeline2
http://www.daisy.org/pipeline2/

(河村 宏氏の講演「DAISYの新時代―EPUB3を使って自分らしい知識のスタイルを選ぶ」より)
 今回は、DAISY4と並んで重要である配布フォーマットへの変換ツール、DAISY Pipeline2をその使用方法を含めて紹介します。なお、このエントリを書いている2012年8月22日時点で2012年7月3日に公開された2.1.3beta版が最新となっていますので、この2.1.3beta版を中心に話を進めていきます。

1.出入力フォーマット

 現時点でDAISY Pipeline 2.1.3betaで変換出来るフォーマットは主に以下の通りです。上では、DAISY4を起点にと、紹介しましたが、DAISY2.02などからもEPUB3に変換することができます。

  • DAISY2.02 → EPUB3
  • DTBook(DAISY3のXMLドキュメント) → EPUB3
  • DTBook(DAISY3のXMLドキュメント) → DAISY4 XML
  • DAISY4 XML → EPUB3

 現時点では、DAISY3、DAISY4については、出入力ともそれぞれのコンテンツファイル部分(DAISY3、DAISY4という器のなかに入っているコンテンツ本体)のみの対応になっているようです。
将来的に以下のように出入力フォーマットとしてDAISY3、DAISY4に対応していく必要があります。

  • DAISY3 → EPUB3
  • DASIY3 → DAISY4
  • DAISY4 → EPUB3

  DAISY3→EPUB3は、2012年6月以降の開発スケジュールに組み込まれています。それ以外のDAISY4→EPUB3、DASIY3→DAISY4はロードマップには掲載されていませんが、”ZedAI to EPUB 3“のLimitationの行間を読むといずれ対応するのではないかと思います。
 
 その他、ドキュメントで確認できた範囲では今後、以下の変換に対応できるようにするとのことです。

  • Word/ODT → EPUB3
  • HTML5 → EPUB3
  • DAISY4 → PEF(点字)

  点字とTTSについては、WGが立ち上がって議論が進められている(いた?)ようです。これは期待したいですね。
 点字
Pipeline 2 Working Group: Braille Production
Braille WGのまとめた要件、議事録など
 
 TTS
Pipeline 2 Working Group: TTS-based Production
TTS WGのまとめた要件、議事録など

2. インターフェイス

 DAISY Pipeline2で提供されているのは、現時点ではCI版のみです(Pipleline1はすでにGUI版の提供あり)。ローカルで実行する場合は、Windowsならコマンドプロンプト、Mac OS、Linuxならばターミナルを使用しましょう。なお、開発ロードマップによると、GUI版も2012年12月に公開される予定とのことです。
 
 また、これはユーザーというよりも開発者向けの話になりますが、開発中であるものの、Web UIとしてWebサービスとして展開することも可能なようです。
DAISY Pipeline 2 Web UI

3.DAISY Pipeline 2を使う

 
 簡単ですが、実際に使用法を紹介します。

3.1. 対応OS

 Windows/Mac OSX/Linux

3.2. ダウンロード

 以下でダウンロードできます。
Downloads – daisy-pipeline

3.3. インストール・実行環境

 とくにインストールは必要ありません。解凍したフォルダを作業しやすい適当なディレクトリに置いてください。
 ただし、プログラムの実行にはRubyとJavaを実行できる環境が必要です。詳細はREADME.txtもしくは以下を参照してください。Mac OSならば、RubyもJavaもすでにはいっているはずです。
Installing the Pipeline2
 

3.4. DAISY AI(DAISY4 Book Profile)を変換してEPUB3を生成してみる

 まずはDASIY Pipeline2の実行の基本から。README.txtに記載のあるとおり、カレントディレクトリをcliディレクトリに変更して実行します。

 
   
 では、サンプルファイルとしてついている以下のDAISY4のコンテンツファイル、alice.xmlをEPUB3に変換してみます。

  コマンドの構文は以下です。

#Windows
 cli/dp2.exe command [option]
#Mac OS/Linux
 cli/dp2 command [option] 
 

 
  今回は私はMac OS上で実行して、EPUB3に変換したのでコマンドは以下のようになります。

 
 $ cli/dp2 zedai-to-epub3 --i-source samples/zedai/alice.xml --x-output-dir  samples/output 
 

 上のコマンドを分解すると以下のようになります。

  • cli/dp2: アプリケーションの指定。Windowsなら cli/dp2.exe
  • zedai-to-epub3: zedaiからepub3を生成を命令するコマンド
  • -i-source:入力ファイルを指定するオプション。今回は”samples/zedai/alice.xml”と指定。
  • –x-output-dir:変換して出力するEPUB3の置き場所を指定するオプション。今回は”samples/output”ディレクトリ下に出力するように指定。

実行すると以下のようにソースファイルからうねうねとEPUB3へ変換していってくれます。

 
 $ cli/dp2 zedai-to-epub3 --i-source samples/zedai/alice.xml --x-output-dir samples/output
[DP2] Waiting for the WS to come up
[DP2] The daisy pipeline 2 WS is up!
[DP2] Job with id b86104ce-30c8-4527-936d-e43e6969e66b submitted to the server
[WS] INFO(1) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/alice-1.xhtml
[WS] INFO(2) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/alice-2.xhtml
          ・
          ・
          ・ 
[WS] INFO(5) - Message:copying disk file to file:/Users/hogehoge/daisy-
[WS] INFO(13) - Message:copying disk file to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/images/alice09a.png
[WS] INFO(14) - Message:writing in-memory document to file:/Users/hogehoge/daisy-pipeline/samples/output/epub/Content/package.opf
[DP2] The job b86104ce-30c8-4527-936d-e43e6969e66b has been deleted from the server
[DP2] DONE 
 

 
 ”DONE”と表示されると指定したディレクトリにEPUB3ファイルとEPUB3としてパッケージ化する前の状態のファイルが生成されています。

  
 今回実行したのは、zedai-to-epub3というコマンドですが、他にも以下のようなコマンドが実行できます。

  • dtbook-to-zedai(DTBookからDASIY4のコンテンツファイルに変換)
  • daisy202-to-epub3(DAISY2.02からEPUB3に変換)
  • dtbook-to-epub3(DTBookからEPUB3へ変換)

 オプション等はヘルプコマンドや以下のページでも参照することができます。samplesディレクトリにはDAISY2.02、DTBook(DAISY3)、ZedAI(DAISY4)のサンプルファイルもありますで、興味をお持ちの方はぜひお試しください。
Scripts — Short description of available scripts with links to each script
 なお、最後になりますが、以下のワークショップのスライド資料も参考になります。
Pipeline 2 Web Service Workshop: Integration and Interoperability 
  

関連エントリ

EPUB 3とDAISY 4の関係
DAISYからEPUB 3に変換する
DAISY再生ソフト・機器のEPUB対応