パッケージ化されたHTML5電子書籍 – HTML5電子書籍(1) –

 EPUB3の仕様が2011年10月に確定してから3ヶ月ほど経過して、作成ツールやEPUB3リーダーなどがちらほらと現れてきています。ちなみにEPUB3ビューアーについては、以下にすこしまとめた一覧がありますので、参考までに。
ブラウザ・ビュアー – epubcafé
 
 しかし、あえて今回はEPUB3ではなく、HTML5電子書籍について、2回にわけて書いてみたいと思います。
 と・・・いいつつも、まずはEPUBの話から始めます。 
  

1. EPUB3でインタラクティブな電子書籍

 EPUB2ではJavaScript自体を「実行するべきではない」とされていましたが、EPUB3になって、JavaScriptの利用が可能になりました。これによって動的でインタラクティブな電子書籍が作成できるようになります。 
 

2.4 Scripted Content Documents
EPUB Content Documents may contain scripting using the facilities defined for this in the respective underlying specifications ([HTML5] and [SVG]). When an EPUB Content Document contains scripting, it is referred to in this specification and its sibling specifications as a Scripted Content Document. This label also applies to XHTML Content Documents when they contain instances of HTML5 forms.
from EPUB Content Documents 3.0

 
 ただし、EPUBは様々なデバイスで読まれることが想定されています。例えば、デスクトップのような、何でもできてしまうデバイスから、iPadのようなタブレット型PC、サイズの小さいスマートフォン、そして、E Inkのような電子ペーパー端末まであります。特に動画に強い液晶と異なり、動的なコンテンツに弱い電子ペーパー端末はインタラクティブなコンテンツに向いているとはあまり言えません。また、全てのEPUBビュアがJavaScriptに対応しているわけではないのです。
 そもそも・・・
 EPUB3の仕様ではEPUBビュアーのJavaScriptのサポートはオプション。
なのです。
 ですので、仕様の上でもすべてのEPUB3ビュアーがJavaScriptに対応するとは限らないのです。 
 JavaScriptによる動的でインタラクティブなコンテンツの作成する場合でも、JavaScriptに対応していないビュアーでもそのコンテンツが読める範囲内で使用しなくてはなりません。JavaScriptが使用できないとコンテンツが全く読めないとか、コンテンツとして意味をなさないといったものはEPUB3の仕様上認められておりません。
  
で、ここからが、ようやくこのエントリの本題です。
 
 そういうわけで(かどうかはわかりませんが)、より自由に作りたいという動機からEPUBではなく、HTML5で電子書籍を作ってしまおうという動きがちらほらと米国を中心に見られるようになりました。
 
 この動きを大きく分けると以下の2つの動きに分けられると思います。

  • HTML5で作成したコンテンツをアプリケーションとしてパッケージ化
  • Webサイトの電子書籍化 -Webサイトとの境界線が曖昧化するパッケージメディア-

 このエントリでは1のHTML5で作成したコンテンツのパッケージ化された電子書籍を紹介します。2のWebサイト化の話は次のエントリで紹介しようと思っております。 
 

2. パッケージ化されたHTML5電子書籍

 HTML5コンテンツはHTML5+CSS3+JavaScriptで構成されます。もう少し具体的に言えば、Webサイトなどで公開されているHTMLで作られたコンテンツもhtmlファイル、css、JavaScriptで構成されるファイル群です。これらを全て1つのフォルダに入れることでコンテンツとしては一応成立します。
 とはいえ・・、例えば、以下のような構成のコンテンツがあったとして、読者にはその中にあるindex.htmlファイルからアクセスしてもらって・・・となるわけです。
複数のhtml、css、JavaScriptを格納するコンテンツファイルのうち、index.htmlにアクセスする図
 これは厳しい・・。少なくとも私は気分が萎える・・・
 読者が必要のないファイルをうっかり開いてしまう可能性も高く、コンテンツのソースを変更してしまって読めなくなってしまう可能性も低くありません。そもそもこの状態では権利保護のへったくれもありません(あ、でも、不可能ではないのか。)。
 そういうわけですので、コンテンツを配布するにはやはり以下にように1つのファイルとしてに固める必要があります。
前の図のコンテンツをアーカイブファイル化して1つのファイルとして扱えるようにした図
 1つのファイルとして固める。
 読者にはファイルの中身を意識させない・いじらせない。

 
 EPUBやKindle形式のようなフォーマットも、おおざっぱな見方をすれば上のようにhtmlファイルなどを固めたパッケージ用フォーマットとして見ることができます。
 EPUBやKindle形式のようなフォーマットとして固めるのではなく、HTML5として固める方法として、以下の2つを少し詳しく紹介します。

  • ネイティブアプリ化
  • ウィジェット化

 
 

2.1. ネイティブアプリ化

電子書籍をネイティブアプリ化することでパッケージ化する。つまりはアプリ版の電子書籍をHTML5で作るということです。iOSやAndroidのApp Store経由で流す場合はそれぞれのOSにアプリケーションとしてインストールすることになります。
ビュアーアプリを必要とせずに、単体でコンテンツを読むことができます。コンテンツと一緒にそれを読むためのビュアーアプリも一緒にバンドルされているというイメージになります(正確にはそのデバイスのもつレンダリングエンジンを使用すると思われるので、すべてがバンドルされているわけではない)。
 しかし、ネイティブアプリを作成する場合、たとえば、スマートフォンやタブレットPC向けに作成しようとすると

  • iOS: Objective-C
  • Android: Java
  • Windows Phone: C#/VB

という感じでプラットフォームごとに別々の言語を使用しなくてはなりません。
 ちょっとそれはやってられない・・・という方のためにPhoneGapというフレームワークがあります。

PhoneGap

 
 HTML+CSS+JavaScriptで開発したアプリケーションをネイティブアプリケーション化するフレームワークです。ネイティブアプリ化させることができるだけではなく、様々なプラットフォームに対応させることが可能になります。現時点ではWebアプリではアクセスができないデバイスのネイティブな機能にアクセスするAPIも多く提供していますので、カメラをつかったインタラクティブな電子書籍などもつくることができるようになります。 

Supported Features « PhoneGap

  
また、これはiOS専用ですが、Bakerという電子雑誌用のフレームワークもあります。

Baker


Baker Ebook Framework 3.1

HTML5ベースを使った電子書籍フレームワーク「Baker」 – MOONGIFT
簡単にいうと、Xcodeのプロジェクトです。コンテンツをいれるbookディレクトリ以外はすでに用意されているので、このbookにコンテンツファイルであるhtmlファイルやcssなどをいれてやり、コンパイルすればそれだけでできる。
<img src=”https://code.kzakza.com/wp-content/uploads/2012/01/baker1-e1326375184227.png” alt=”XcodeでBakersを展開している図” title=”baker” width=”450″ height=”442″ class=”shadow” size-full wp-image-1331″ />
 
上のBakerをさらに利用したLakerというフレームワークもあります。より動的でインタラクティブなものがつくれるようになっているのでしょうか。デスクトップ用ブラウザでも見られるコンテンツの作成も実験的にサポートしているようです。

Laker


Laker

jQueryやHTML5を使ってiPhoneやiPad向け電子書籍を作成する為のフレームワーク・Laker – かちびと. net 
 
 電子書籍をネイティブアプリとして作成するメリットとデメリットは以下になるかと思います。 

メリット

・1つのファイルとしてパッケージ化できる。
・iOSやAndroidのApp Storeなどのプラットフォームにコンテンツを配信し、有料化することができる。
・PhoneGap等のフレームワークを使用すれば、ハードウェアの機能にアクセスすることができる。
 

デメリット

・ネイテイブアプリなので読者に「インストール」という「読書」にあまりふさわしくない行為をさせてしまうことになる。
・プラットフォーマーの意向に左右されやすい。
・プラットフォーマーに支払う手数料のコスト
・永続性の問題(プラットフォームのOSのバージョンアップをいつまでもサポートできるのか)
 
 既存のプラットフォームに乗せて課金ができる、コンテンツを有償で配信できるというのは、コンテンツプロバイダにとってなによりの利点かもしれません。デメリットのプラットフォーマーの意向に左右されやすいというのは、その利点の裏返しとも言えます。パッケージはしたいけど、プラットフォーマーの意向には左右されてたくないぞぉという人にとってはウィジェット化という選択肢もあります。
 
 

2.2. Webウィジェット

 ウィジェットはアプリ化と同じでHTML5+CSS+JavaScriptを一つのアプリケーションとして固めたものです。W3Cでかなり検討が進んでおり、ほぼ固まったと言える状態です。
Widget Packaging and XML Configuration(勧告)
Widget Interface(勧告候補)
XML Digital Signatures for Widgets(勧告案)
 これらの仕様の詳細については以下のIBMの解説が詳しいのでこちらをご覧ください。
W3C ウィジェットの構成とパッケージ化
 
 現在、どのブラウザがWeb Wedgetに対応しているかは私が調べた範囲ではよくわかりませんでしたが、Operaは対応しているようです。あと、iOSアプリのCloudReadersもWidgetをサポートしているらしいです。
Opera: Widget packaging and configuration support in Opera Presto 2.7
 ただし、上で紹介したIBMの解説でも紹介されていますが、HTML+CSS+JavaScriptをパッケージ化するウィジェットがすでに複数のプラットフォーマーから提供されており、W3CのWeb Wedgetで一本化とはなかなかすぐにはいかないのではないかと思われます。
 

2.3. その他

その他、以下のようなフォーマットも存在します。ブラウザが主にサイトを一纏めにして保存する際の使用されるようです。

     

  • MHTML形式(Firefoxはプラグインが必要になるが、他の主要なブラウザでは読むだけなら対応しているらしい。)
  • webarchive形式 (Safari)

WARC(Web ARChive) は違いますよね・・。 
 
 
 ウィジェットが選択肢になるのは、もう少し先になるのかなと思います。ただし、プラットフォーマーに左右されずにパッケージ化できるという点では非常に魅力的な方法であると思われます。一本化されるのがW3Cの仕様かどうかは分かりませんが、いずれはまとまるのではないかと思います。そうあって欲しいですね。 
 
 プラットフォーマーの意向に左右されたくない。しかし、Wedgetが使用できるのはまだ先かというところで、いっそWebサイトに移行してしまおうという動きも見られるようになっています。これについては、また次のエントリで紹介します。
 
 
※2012/01/11訂正
当初、このエントリはパッケージ化の手段としてネイティブアプリ化のみを紹介しておりましたが、W3C Webウィジェットの仕様やMHTMLなどについて、HTML5コミュニティ、EPUBコミュニティ、Twitter上でお教えいただきました(ありがとうございます!)ので、構成を変更してWebウィジェットなどの紹介も追加いたしました。
※2012/01/12訂正
Objective-Cを使わずともHTML+CSS+JSだけでXcodeを使ってiOSのネイティブアプリが作れるかもと書いていましたが、HTML+CSS+JSだけではできないと神崎渉瑠さんよりコメントにてご指摘を頂きましたので、「ネイティブアプリ化」の項を修正・加筆書しました。。そもそもiOS SDKも必要ではないか(ツッコミ)。その件をご指摘くださった神崎渉瑠さんのコメントも合わせてお読みいただけると幸いです。

Amazonの電子書籍の貸し出しサービスについて少し・・

 まずは私の妄想から・・・。

  1. 借りた電子書籍をダウンロードできてローカルで読める。
  2. 借りた書籍には下線やコメントやその他もろもろなことができる。
  3. 返却。
  4. また借りる。
  5. 前回借りた時に引いた下線やコメントなどが表示される。そういった情報はクラウドで保存されているので。
  6. 自分が引いた下線やコメントやその他諸々は非公開にして自分だけが見られるようにすることはもちろんのこと、特定のグループに公開範囲を限定してグループ内で共有することも、全利用者に公開して共有することができる。ここでいう公開は他の人が読書中にその本文に自分の引いた下線やコメントなどが表示されること。
  7. グループはプラットフォーム内にいくつも作ることができ、利用者は複数のグループに参加することができる。読んだ本の下線、コメントなどの公開範囲も利用者は各グループごとに柔軟に設定することができる。

 つまり、読書をキーとしたSNS的なサービスなのですが、こんなサービスどうでしょうか。ゼミで共有したり、勉強会で輪読したり。こんなSNSなサービスを図書館が提供したら面白いと思っていました。以前、他のブログで少し触れました。
電子書籍をテーマにこんなソーシャルなWebサービスはつくれないか。 | e-chuban blog
 しかし、Amazonが1から5までやったちゃいましたねぇ・・・。6以降も時間の問題か・・。
hon.jp DayWatch – 米Amazon、電子書籍の貸し出しサービス「Kindle Owners’ Lending Library」を開始。月1冊、無期限で
 一定の会員料を払えば、コンテンツが使い放題的なサービスは結構ありますので、こういうサービスを展開すること自体は全く不思議ではない。もともとAmazonが提供するKindle Storeは電子書籍を販売するというよりもサービスを提供するという側面が強いなぁと思っていましたが、それがいよいよ強くなってきた感じがします。
 
 読者が引いた下線やコメント、そして、今回触れなかった他の書籍に対する参照情報(具体的にいうとリンクです。ハイパーリンク。他の書籍の本文に対するハイパーリンク)などはクラウドに依存せざるをえないものなのかという問い対する答えは私の中ではまだ出ていません。もし依存せざるを得ないなら、ソーシャルリーディングも学術情報に必須の参照も巨大なプラットフォームありきになってしまうのではないかという気もしますが、そうなるとプラットフォームごとにコンテンツが分断されて悲惨なことにならないようにきちんと関連する仕様や標準をつくっておく必要があるのではないかと思います。
 巨大なプラットフォームに依存しない方法で実現できる仕組みはないのか!という問いを投げかけたところで今日はおしまいにします。データの保存と共有を巨大などこか一箇所に依存しない形できないものか、そういうWeb標準な仕組みは検討されていないものかと。以下はやや関連がありそうで面白そうですが、どうなんでしょうね。
Unhosted: separating web apps from data storage
http://unhosted.org/ 
 

2011 Books in Browsers Conference in San Francisco (10/26-10/28)

 Internet ArchiveとO’Reilly Mediaの共催による”Books in Browsers”というイベントが10/26-10/28の3日間行わました。
 
 10/27から「#bib11」というハッシュタグをキーにTwitterのツィートを追うつもりでしたが、膨大な数のツィートがTLに流れてきたので、「こりゃ追い切れない・・・」ということでTogetterでまとめてみました。10/27と10/28、それぞれ1日分ずつまとめてみたのですが、どちらも1000ツィート前後の長さになってしまいました。
 その後、発表資料が公開されたり、来週にはこのイベントのアーカイブ映像が公開されると発表されたりと、追加でいろいろと情報がながれてきたので、Togetterのまとめと一緒にこのエントリにまとめてみました。
Books In Browsers
http://bib.archive.org/
 
プレゼン資料
http://bib.archive.org/2011/07/26/books-in-browsers-program/
Books in Browsers 2011のアーカイブの映像は来週、以下で公開されるようです。
Books in Browsers 2011 -OreillyMedia – Youtube
 
 
以下に”Books in Browsers”のプログラムとその日のまとめ(Togetter)のリンクを掲載しておきます。どの講演も個人的に関心があるところなのですが、10/27のBookmarksとOPDS、そしてEPUB4、10/28のNetworked books and networked readingの話が特に興味深いところです。読む時間をなんとかつくりたい。 
 

■ 10/26(水)

 
Books as Social Objects
Presenter: Henrik Berggren, Readmill
Direct to Slides (via SlideShare)

10 Learnings in a 24symbols Year
Presenter: Justo Hidalgo, 24 Symbols
Direct to Slides (via SlideShare)

Update: Open Annotation
Presenters: Rob Sanderson, LANL, and Herbert Van de Sompel, LANL and Open Annotation Collaboration
Direct to Slides (via Internet Archive)

How creating an eBook on BiblioCrunch is easier than baking cupcakes
Presenter: Miral Sattar, Bibliocrunch
Direct to Slides (via Slideshare)
 

■ 10/27(木)

2011 Books in Browsers Conference 1日目 (10/27) in S.F. #bib11 – Togetter 
08:30-09:00. Initio
Introduction and Welcome. Kat Meyer (O’Reilly Media), Peter Brantley (Internet Archive)

09:00-10:00. Morning session 1.
EPUB — out of the box. Bill McCoy (IDPF).
Elegantly On- and Offline. Blaine Cook (Programmer), Maureen Evans (Author).

10:00-10:15. Break

10:15-11:15. Morning session 2.
The Network is Overrated. Eric Hellman (Gluejar).
The Ebook’s Ambit. Joseph Pearson (Inventive Labs).

11:15-11:30. Break

11:30-12:30. Morning session 3.
Books in Browsers, 1994-2004. Michael Jensen (NAS).
The Future Now: The Social Book. Bob Stein (SocialBook).

12:30-13:30. Lunch

13:30-14:30. Afternoon session 1.
Electric Incunabula: progressive interactive book design. Corey Pressman (Exprima Media).
Beautiful Books. Craig Mod (Flipboard).
The Infinite Canvas. Peter Meyers (Author).

14:30-14:45. Break

14:45-15:45. Afternoon session 2: Standards
Bookmarks: reports. Todd Carpenter (NISO), Rob Sanderson (LANL), James Bridle (Booktwo).
OPDS v1.1+. Hadrien Gardeur (Feedbooks).

15:45-16:00. Break

16:00-16:45. Afternoon session 3.
First Draft of the Revolution: discoverable narratives in digital works. Liza Daly (Threepress).
Findings: Preliminary Days. Corey Menscher (Findings).

16:45-17:00. Lagniappe
Libros sin fronteras. Javier Celaya (Dos Doce).

17:00-18:00. Optional Round Tables:
EPUB4: Engineering the networked experience. Bill McCoy (IDPF).

Evening:

17:30-18:30. Reception.
18:30-19:30. Books in Browsers: Ignite.  Brewster Kahle (Internet Archive).
 

■ 10/28(金)

2011 Books in Browsers Conference 2日目 (10/28) in S.F. #bib11 – Togetter 
08:30-09:00. Re-engage
Networked books and networked reading. Kevin Kelly (Wired).

09:00-10:00. Morning session 1.
Honey to Bees. Eli James (Pandamian).
The Beauty of Web-first Workflows. Hugh McGuire (Bookoven).
Sly Mongoose: A Responsive Comic. Pablo Defendini (Open Road Media).

10:00-10:15. Break

10:15-11:15. Morning session 2.
Self Publishing Tools and APIs. Miral Sattar (BiblioCrunch).
It may be a mob, but it’s my mob. Richard Nash (Cursor Books).
(Smart) social reading. Ricky Wong (Mobnotate).

11:15-11:30. Break

11:30-12:30. Morning session 3. Privacy and Accessibility
Digital books: a new chapter for reader privacy. Nicole Ozer (ACLU)
Readers and Accessibility. Mary Lou Jepsen (Pixel Qi)

12:30-13:30. Lunch

13:30-14:30. Afternoon session 1.
Books as Data. James Bridle (Booktwo/STML).
To the end, Lew. Valla Vakili (Smalldemons).
Beyond the Encyclopedia: Non-linear reference works. Gordon Mohr (Infinithree).

14:30-14:45. Break

14:45-15:45. Afternoon session 2.
COMA Voyager. Toshiaki Koike, Daihei Shiohama (Voyager Japan).
Shared Canvas. Rob Sanderson (LANL) and Benjamin Albritton (Stanford Univ.)
Beautiful Art (Books) [epub]. Greg Albers (Hol Art Books).

15:45-16:15. Break

16:15-16:55. Afternoon session 3. Business
Competing in an Unpredictable World. Kassia Krozser (Booksquare).
Personalization in Transmedia Storytelling. Kevin Franco (Enthrill).

17:00-17:30. Finale
The opportunity in Abundance. Brian O’Leary (Magellan Media Partners).
 
 
  ところで、話は変わりますが、2日目に以下の萌え系の書籍に対してやたら反応がよかったというか、非常にウケておりました。国境を超えてもさほど変わらないものもあるんだなと思った次第ですよ。