書籍の早送り・巻き戻しってなんだ?! MagicReader Ver.1.4リリースしました。【舞台裏:新機能ができるまで】

MagicReaderのVer.1.4アップデートをリリースいたしました。

pageController
今回のバージョンアップの内容は下記になります。
【新機能】
・新機能紹介を表示するようにしました。
・早送り・巻き戻し機能:ページを長押しするとページコントローラーが現れ、そのまま指を左右にスライドすると早送り・巻き戻しが出来ます。スピードはスライドの幅が大きいほど早く、小さいほど遅くなります。指を離すと止まります。
・タップでページ送り:ページの端をタップするとページをめくる事ができるようになりました。
【変更点】
・ナビゲーションメニューでスライドバーを動かした時、今まではサムネイルだけが移動してましたが、今回のバージョンからは指を離したページへ直接飛ぶように変更しました。
・顔認識を使用しないときはデバイスのスリープが有効になるようにした。
・本の表紙変更時のアニメを修正。
・起動時の安定性を向上。
・その他、マイナーバグ修正。

このなかで、一押しなのが「本の早送り・巻き戻し機能」です!
どのような機能なのかは、まずビデオを御覧ください。

この様に本の中を自由自在に移動することができます。
PDFだろうがZIP圧縮した画像ファイルだろうがこのスピードでパラパラできます!
私は以前このブログで下記のようにお話しさせて頂きました。

”電子書籍で本を読むようになって私が一番ストレスを感じていたこと、それはページをパラパラめくって見たいページを探す事ができなくなったことです。
「ページをめくる際に紙がめくれるアニメーションは本当に必要なのだろうか?ページがめくれると言う事の本質は別の所にあるのではないか?」ずっと疑問に思っていました。
本をパラパラめくって視覚的にページを検索できない事が紙の本に負けている部分ではないだろうか?
今回はその検索性を電子書籍で再現することをプログラムのもう一つのテーマとしています。”

今回のアップデートで「見た目」ではない「本質」での書籍という物に少しは近づけたのではないかと思っています。
パラパラめくり自体は最初のバージョンから搭載してはいたのですが、スピード調節ができなかったのでなかなか思ったところで止められなかったかもしれません。
最初の段階から「スピード調整」は考えていたのですが、操作方法が固まっておらず組み込んでいませんでした。
実は今回はちょっとした変更と不具合修正だけでVer.1.3.1としてアップデートする予定でした。
で、その「ちょっとした変更」のつもりでパラパラめくりのスピード調節機能を作り始めたのですが…
以下、GimmiQの二人、リオさんと私がいつもどんな感じでアプリを作っているのか記述してみました。

・スピード調節機能を作成。
ページの端を長押しするとパラパラモードON、
そのまま指をスライドでスピード調整。
この段階では指をスライドさせる方向は上下だった。
指の下に表示されるコントローラーのグラフィックも
仮の物だった。

↓ このバージョンをリオさんに見せて方向性を話し合う

・ページの移動のイメージは横なのに指のスライド方向は縦なのが
わかりにくいのではないか?

スライド方向を横にしたいのはやまたまだが、ページの端を
長押しするという操作なので横方向の移動距離が足りない。
ソウダンタイム ( ´д)ヒソ(´д`)ヒソ(д` )
やはり移動方向は横にしたいので、長押し可能な場所を
ページ端のみからページ全体に変更することにした。
同時にコントローラーのデザインを横にスライドすることが
わかりやすいもので正式デザインの検討にはいる。

↓ コントローラーのデザインを5〜6種検討

・コントローラーのデザインが決まったので正式デザインで組み込み。
このときのデザインはリリースした物と左右の矢印の
デザインが異なり、左右に長いデザインだった。
ページ端の方でコントローラーを出現させると、
見切れてしまうことがあるので、それをなるべく軽減するため
に矢印のデザインを変更しコンパクトにした。
コントローラーのデザインに合わせて、指のスライド時に
アニメするようにした。

↓ コントローラーの出現位置について熱い議論!

・コントローラーの出現位置をタップ位置の少し上で決定。

↓ どうせなら画面端に表示されるページの重なりの部分を
アニメさせたい!

・アニメパターンを何種類か試して、決定&組み込み。

↓ 重なりをアニメさせるのなら残りページ数にあわせて厚みを
変えたい!

・残りページ数がある程度になったら、ページ数にあわせて厚みが
変わるように修正。

↓ パラパラめくりで高速移動中に本のなかの現在地を知りたい!

・カスタムテータスバーに現在のページ位置を示すインジケーターを追加

↓ インジケーターの表示の仕方について何度もキャッチボール!

・インジケーターをベストと思われる形に作り直し。
(これでほぼ完成か…)

↓ 「あの〜ちょっと気になってる箇所が…」
↓ 「コントローラーのアニメ?」
↓ 「ですね〜」
↓ 「どうせつくるなら最高の物を!」

・(いつも通りw)同じ所が気になっていたので修正!
二人の頭の中にある理想のアニメになるように、パラパラ
めくり時の処理のボトルネックになっていたところを
作り直し。
処理が軽くなったのでアニメを調整し、思っていた通りに
なるように調整。

・これで、完成かと思われたが…

↓ ページの厚みが減り始めるタイミングについて
もう少しページが減ってからの方がいいのでは…
↓ ソウダンタイム2! ( ´д)ヒソ(´д`)ヒソ(д` )

・いろいろ試して、ページがなくなるちょっと前から減り始めて、
パパッ!って感じで厚みが無くなるのが気持ちいいという結論に。

↓ タイミングを修正

・やっと、完成!!(^^)/
「パラパラめくりと言うよりはこれは【本の早送り・巻き戻し】だ!」

↓ 次の機能を作る(また最初から)

いつもこんな感じで作ってます。
どちらともなく「こうしたらどうか」「ああしたらよくなるのでは」というアイデアが出てきて、どんどんいい物になっていくのが楽しいです。
そして、不思議なことに気になる部分が高確率で同じというのが最高のパートナーだと感じさせられます。
同じ所にこだわり、別の視点から意見を言い合える、これがGimmiQの最大の武器だと思っています。
何度もキャッチボールして作り上げていくのですが、投げ返すときにお互い「相手の想像を超えてやろう」とパートナーではあるのですが、ある意味ライバル心むき出しで剛速球を投げ返してやろうとしています。
相棒を驚かせられなければ、みんなに驚いてもらうことなど不可能でしょうから…
で、結局他にも色々追加してVer.1.3.1ではなくVer.1.4になりました。
というわけで、「ちょっと直す」や「パパッと作る」がなかなかできないGimmiQですが、これからも宜しくお願い致します。(^^)/

MagicReader 1.5(無料)App
カテゴリ: ブック, ユーティリティ
販売元: GimmiQ – Yutaka Rivas-Micoud(サイズ: 26 MB)
全てのバージョンの評価: (81件の評価)