電子書籍のコミックをぐーたらと寝転がりながら快適に読む為に、アプリには「ここはこうあって欲しい」という妄想を聞かれてもいないのに勝手にのたまうシリーズの第2回目です。
今回のお題は「遅延読み込み」です。
どうですか。細かすぎて地味だった第1回目よりも、だいぶ派手なお題ですよね、そうですよね、うんうん。
えぇと、遅延読み込みとは、ここではざっくり以下の図のようなことを指します。
(深く考えずに遅延読み込みと書いてしまいましたが、処理的には非同期読み込みと言った方が良いかも知れません。また、再利用目的でローカルストレージにデータを保存して次回はそれを開くので、ストリーミングと言うにはちょっと抵抗があります)
読み込み中です。少々お待ち下さい
すぐに開いて欲しいの
上の図で大体お分かりかと思いますが、いちおう言葉を足してみます。
現状では、ほとんどの電子書籍ストアアプリが、上図の左側のように、データを全て読み込むまでユーザーを待たせてから本を開く方式を取っています。
あくまでユーザー視点から利便性だけを追求して標準仕様なんて知るかというスタンスで見た場合の話ですが、これの何が問題かと言いますと、まず購入した本を開くまでに時間がかかることがストレスになります。
ストア側のインフラに十分なキャパシティがあって、クライアント側の回線も標準的な転送速度で、安定して10秒前後で全体が読み込めるのであれば、あまり問題ではないのですが、実際は意外と時間がかかってイライラすることが割りと良くあります。
そして、これはiOSアプリの場合に、より大きな問題となります。
何故ならiOSアプリは、Appleの方針でバックグラウンドで派手な(重たい)処理をさせることが難しいからです。平たくいえば、本のダウンロード中に他のアプリに切り替えると、基本的にダウンロードは中断されてしまいます。
つまり、ダウンロードに時間が掛かりそうなので、そのスキマ時間に他のこと――例えばニュースアプリで情報収集でもしてよー、みたいなことが出来ないのです。
電子書籍のアプリを開いたまま、ダウンロードが終わるまでのんびり待っていなくてはなりません(Androidは問題無くバックグラウンドでダウンロードできるので、この点ではiOSよりも有利と言えます)。
(追記:iOS6、7で簡単に再確認しましたが、最近はバックグラウンドに回っても、ある程度読み込んでくれるみたいです。あまりにも時間がかかったり、メモリが足りなくなったりしたら、切れちゃうと思いますけど。前はアプリを切り替えた時に、もっとあっさり切れてた気がするんだけどなぁ。以前は切れたら止まったままだったアプリが、自動的にレジュームするようになったりもしてるので、アプリ側の処理も改善されてるんでしょうね)
さてそこで、1冊のコミックをダウンロードするのに、各アプリがどれくらい時間を必要とするのか、ざっくり測ってみました。あくまで私が個人的に数回測った程度ですので、厳密な調査とは全く言えません。一般家庭用の回線なので、回線速度も安定しているとはとても言い難いです(その割りに名目上は高速なので、非常に誤差が生じやすい)。ですので、2013年12月時点における雰囲気をうすらぼんやりと掴む、くらいの感じでお願いします。
こういう場合は、大抵どこのストアにも置いてあって、無料且つ2次利用が許可されているブラックジャックによろしくを使うのがスタンダードなのですが、おそらくそれは他の方がやっていると思いますので、ここでは少し目先を変えて、映画化記念につき現在1~3巻が絶賛無料お試し中(2013/12/26まで)の「カノジョは嘘を愛しすぎている 第1巻」で計測してみました。
参考として、分かる範囲で各アプリでのデータサイズも記述しておきましたが、思ったよりそれぞれ異なっていて、こっちはこっちでなかなか興味深いですよね。
ただ、同じストアでも本や出版社によってデータサイズがまちまちっぽいので、下表でサイズの大きいストアが、必ずしも全てのコミックおいて高精細なデータを提供しているとは限りません。
あくまで目安程度にご覧ください。
また、ここで触れていないアプリについて、理由があるものは後ほど言及します。
環境:iPad mini RetinaのIEEE802.11n+5GHz帯無線LAN接続で計測(外部も内部も有線は1Gbps)。計測前後におけるiPadでの下りの実測は100Mbps超くらいでした。回線の状態が良いと5秒以下で完了してしまう環境なので、あくまで参考程度にお願いします。
アプリ | 所要時間 |
---|---|
5~10秒 サイズ: | |
5~10秒 サイズ: | |
5~10秒 サイズ: | |
10秒前後 サイズ: | |
10秒前後 サイズ: ※1 | |
15秒前後 サイズ: ※2 | |
10~30秒 サイズ: | |
15~30秒 サイズ: | |
20~30秒 サイズ: |
※1 iOS版。
※2「カノジョは嘘を愛しすぎてる(1)」のお試し版が無かったので、同じくらいのサイズの本で計測しました。
体感的には、大体15秒くらいまでなら、なんとか待てる感じでしょうか。BookLive!とhontoは、稀に重い時もありますが、割りと安定して速いと思います(データサイズが比較的小さいこともあるでしょうが)。
それから、koboはこの一連の記事を書き出してから初めてまともに触ったんですが、失礼ながら想像以上にアプリとしては細かいところまで良く出来ていて驚きました(少しエフェクトがもっさりしてますが)。回線の状態さえ良ければ、読み込みも上記2つとほぼ遜色無い印象です。
ニコニコ静画は、データサイズは不明ながら転送速度に特に問題は無さそうです。ただ、アプリのクセが非常に強い為、ニコニコのヘビーユーザー以外はメインで使うのはちょっとしんどいかも知れません。また、iBooksは転送速度が少々不安定なことが多いように感じられました。
本を開こうとして20秒以上待たされるとかなりストレスを感じはじめますが、上の例のGALAPAGOSとKinoppyはデータサイズが大きいので、致し方ない部分もあるかと思います。
それよりも、問題はKindleです。最近のKindleは、ダウンロードが非常に遅い気がしてなりません。ヒドい時は分単位で時間が掛かります。昔から重かったけど、ここまでじゃなかった気がするんですが、どうしちゃったんでしょうか。ポイントバック等の施策も比較的少ないので、正直、いまのままだとメインで使うのは難しいです。おそらくユーザー数は一番多いと思われるので、そのせいかも知れません。それとも、もしかして重いのはウチの環境だけですか?
やっと本題
最初はこんな、なんちゃって調査をするつもりは無かったのに、思いがけず無駄に前置きが長くなってしまいました。
最近乗り換えたウチの回線は速度が安定しないのに名目上は高速で、ほとんど参考にならないので結果を書いても仕方ないんですが、調べるのが思ったより面倒臭かったので、もったいなくて書かずにいられませんでした、すみません。
ともあれ、多くのストアアプリではクラウドの本棚にある本を開こうとすると、標準的な回線環境であれば最低でも10~30秒は待たされると思われます。回線が細い場合などは、下手をすると数分待たされることもあるでしょう。
ですが、ちょっと待ってください。現状の日本の電子書籍版コミックなんて、要するにページ単位に用意された画像を順番に表示しているだけです(実際はもっと色々あると思いますが、ここでは目に見える部分だけを単純化して言っています)。果たして、データを全部読み込み終わるまで、律儀に待っている必要があるでしょうか。最初(もしくはしおりの前後)の数ページ分だけ読み込んだら、とりあえず本を開いてしまって、残りのページはユーザーが読書をしている間に裏側でダウンロードすればよいのでは?
そう、つまり最初の図の右側にある遅延読み込みです。
そうすれば、クラウドの本棚にある本も、すぐに(数秒で)開くことができそうです。
ですが、果たしてそんな便利なアプリがあるのでしょうか。
実は、あるのです。
この遅延読み込みの便利さを私が最初に体感したストアアプリは、前回に引き続きジャンプBOOKストア!でした。
電子書籍を本格的に使い始めてしばらく、他と比べてジャンプBOOKストア!がやたらと素早く購入した本を開いてくれることに気付きました。で、よく見たら、とりあえず必要な部分だけ最初に読み込んだら開いてしまって、残りは裏側でダウンロードしているではありませんか。
自分が使い始めた時点で、既にこの遅延読み込み機能が実装されていたことも、私がジャンプBOOKストア!をジャンプコミックスに関してはメインで使っている大きな理由のひとつです。すごい便利。
想像でしかありませんが、多分これ、出版社の方の要望で実現したんじゃないでしょうか。買った本がすぐ開くかどうかはユーザー体験にとってとても重要ですが、アプリの開発会社からは積極的に提案しない気がします。
毎度まいど、なんだかジャンプの回し者のように持ち上げてばかりいますが、もちろんジャンプBOOKストア!にも不満はあります。
それは、起動と新着を開くのに、とにかく時間が掛かることです。ちょっと前のアップデートでだいぶマシになりましたが、それより前はヒドかった。下手すると、まともに使えるようになるまでに分単位で待たされるくらい、やたらと時間が掛かってました(これまで挙げてきたメリットがあったので使っていましたが、そうでなければレーベル限定とはいえ絶対にメインでは使ってませんでした)。
ストアアプリは買い物をする以外にも、購入した本を読むビューワとしての役割もあるので(というか、特にiOSはそっちがメイン)、立ち上がりが遅いと頻繁に読み返す気が失せてしまいますし、そうするとメインで使うのが難しくなってしまいます。
かなり改善されたとはいえ、ストアの準備と新刊情報の更新に、何故あんなに時間が掛かるのか、よく分かりません。これからもメインで使っていきたいので、さらなる改善を期待したいところです(追記:なんだか、この記事を書いた前後でさらに改善されていて、すんごい速くなりました。いまやサクサクです。ますますジャンプ系はジャンプBOOKストア!で決まり、ですね。回し者か。
→と思いましたが、やっぱまだ遅いな。特にAndroid版はヒドいです。もうちょっとなんとかなりませんかね)。
他にも、同じく集英社から出ているマーガレットBOOKストア!や、同じ会社が作っているのではないかと思われるほどジャンプアプリと構造がよく似ている(というか、いずれもACCESS社とアプリに明記されてますね)週間少年マガジン公式アプリも、同様に遅延読み込みに対応しています。
それから、最近触っていなかったので気付かなかったんですが、知らない内にebiReaderが遅延読み込みに対応していました(iOS版、Android版、どちらも対応しているようです)。
いつの間にやら1冊につき1端末にしかダウンロード出来ないとかいう時代遅れの縛りも無くなったみたいですし、なんだかeBookJapanはアプリに関してはトップクラスに素晴らしくなりましたね。メインをここから移してしまったことを、少し後悔してしまうほどです。
あとは、何故かAndroid版のYahoo!ブックストアも対応しているようです。このストアはWeb上でも本を読むことができるんですが、Android端末のWebブラウザで「専用アプリで読む」を選択すると、おそらくWeb版と同じような理屈で専用アプリを使用して遅延読み込みしながら読むことができます。
ただ、ちょっとストアのクセが強いのと、他と比べて若干安めの価格設定ながら決められた期間(数十日)しか読めないレンタルという形式が多いので、Yahoo系のサービスをよく使う人でないとメインでは使うには少々厳しいかなと思います。
それから、全くノーマークだったんですが、Google Play BooksのAndroid版も遅延読み込み...というか、動きだけ見ると、その場読み込みに対応しているようです(バックグラウンドで読み込むのではなく、ページを表示した時にその場その場で読み込んでいるように見える。読み込みが遅すぎてそう見えているだけかも知れない)。
Nexus 7 2013で試したのですが、少なくとも私の環境では読み込みが遅くて使い物になりませんでした。アプリが日本のコミックを想定した作りになっていない気がします。ストアの品揃え等もお世辞にも充実しているとは言い難く、正直これは使う機会が無いかなぁ、と思います。ちなみにiOS版は、Yahooと同じく普通に全部読み込んでから表示されます。
皆、裏で読み込めばいいのにな
どのアプリも、数ページ分読み込んだらすぐに開いて、残りは裏でダウンロードしてくれたらいいのになー、と思いますが、データ形式がePubでzipで固めている+暗号化とかだと、なかなか難しい部分があるかも知れません。
各社、まだデータ形式がまちまちのようでよく分かりませんが、仕様的に難しいのかも知れませんし、ページ単位でバラバラに読み込めるように仕様やシステムを組み直せとは、なかなか言えませんしね。
だからこそ、対応可能なストアにとっては、これはかなりのアドバンテージになる気がします。遅延読み込みに対応していると、読みたい時にクラウドから開けば良いので、ローカルストレージにわざわざファイルのコピーを置いておく必要が、無くなりはしないまでも薄れるからです。
つまり、電子書籍を読むことをタブレットの主たる用途として考えているユーザーに対して、端末に大容量のストレージを求めなくても良い=より安価な端末を選べるようになるというメリットを提示することができます。
それから、真面目に実装してあれば、遅延読み込みの方が不安定な回線状態に強いです。何故なら「最初から全部読み込み直し」のようなハメに陥る可能性が低く、ロードに失敗しても必要な分だけリトライすれば済むからです。
また、読み込んだ先から表示できる為、低速な回線でも読み手のストレスを低減できます。
極論を言えば、次のページはユーザーがめくる直前までに読み込めていれば良いので、人が1冊読み終えるまでの時間を、ほぼ丸々読み込み時間に利用できます。極論ですが。
とある人が200ページのマンガを1冊読み終えるまでにかかる時間が1時間として、回線がとても細い環境で遅延読み込みをしない場合は読み込みに20分かかり、遅延読み込みをした場合は最初のページが表示されるまでに数ページ分のバッファを含んで30秒とした場合、どちらがユーザーにとってストレスが少ないかは自明です。後者の読み込みが仮に全体で50分かかってしまったとしても、読み手が最後までバッファ分に追いつかないままストレス無く読み終える可能性だってあるのです(実際、一時期WiMax回線を使っていたことがあるのですが、電波の問題でウチでは非常に不安定で、上のなんちゃって調査では読み込み速度に問題の無かったBookLive!ですら、読み込みに何分もかかった末に失敗する、といったことが頻発しました。ところが、ジャンプBOOKストア!のように遅延読み込みに対応しているストアでは、あまりストレス無く読むことが出来て大変に助かったものです)。
固定回線に比べたら不安定なモバイル回線の利用者が急増している昨今では、これも立派な利点になると思います。
まぁ、あと2年もすれば、どのアプリもクラウドから遅延読み込みするのが普通になっている気もしますが、もし対応できるのであれば対応して欲しいですよね。
私はコミックのことばっかり言ってますが、コミック専用でもない限りストアアプリは他の形式にも全て対応しなくてはいけませんし、インフラ含めて色々大変でしょうが、割りとこのような部分に敏感なユーザーも多いんじゃないかと思いますので、是非頑張ってください。