「青空文庫を読む」iOS無料アプリ バージョンアップ(ver1.5) リリースノート
「青空文庫を読む」iOS無料アプリを初期バージョン(Ver1.0)から大幅にアップデート完了(Ver1.5)してAppleに提出しました。多くの方からのフィードバックを有意義に参考にさせていただきました。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 11:49:16現在Appストアに登録されている「青空文庫を読む」ver.1.0は、ver.1.5が審査終了しリリースされるまでの間、暫定的に非公開にします。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 11:51:30Ver1.5(<-- 1.0)のリリースノート: 【明らかなバグ修正】 橋本 進吉『古代国語の音韻に就いて』その他、特殊文字の画像が表示されなかったバグを修正。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 11:58:34Ver1.5(<-- 1.0)のリリースノート: 【明らかなバグ修正】 岡本かの子『取返し物語』その他、レイアウトが画面上にはみ出して切れる問題を修正。作品ファイルのスタイルシート指定が原因なので除去しました。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:01:31Ver1.5(<-- 1.0)のリリースノート: 【明らかなバグ修正】 iPodTouchが起動時バージョンチェックでメイン画面に進めず、使用不能の問題を修正。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:02:56Ver1.5(<-- 1.0)のリリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 「この作品を読む」のボタンをよりストレスなく押せる場所へ配置換え。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:05:00Ver1.5(<-- 1.0)のリリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 「青空文庫総合インデックス」のフォントをデバイスに応じて、CSS指定でかなり大きくして、視認性操作性向上。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:06:20Ver1.5(<-- 1.0)のリリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 ページ内ローカルリンクが機能するように改善し、ページ内ローカルリンクを強調してナビゲートしやすくした。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:07:12Ver1.5(<-- 1.0)のリリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 読書画面への作品表示待機時間を従来の固定でなく、作品分量に応じて可変とし、平均的に表示時間が大幅に短縮した。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:09:25ver1.5リリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 読書画面上部タップの反応性の悪さを改善。読書画面のタップ認識手法をすべて変更。WebベースでなくネイティブUIのメニューとした。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:11:56ver1.5リリースノート: 【ユーザーインターフェイスの使用感と応答性の向上】 ピンチジェスチャーによるフォントサイズ変更も作品分量に応じた待機時間とし、アラート表示を廃止。操作性が大幅に向上した。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:14:16ver1.5リリースノート: 【UI向上+新機能】 画面左、右半分タップで、ページ送り自動スクロール機能を新たに実装。自由なスクロールと併用して利用可能。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:15:48ver1.5リリースノート: 【わかりやすさ】 初回起動の際のWelcomeドキュメント表示を追加。アプリケーションの基本コンセプトと「書庫」の新UIのコンセプトと採用の合理的理由、操作方法紹介。 http://t.co/tfJ6IAyd #aozorayomu
2012-01-29 12:18:53今回の大幅な機能操作性改善のために、デバイスの挙動とコードを精査したのだけど、長い作品をスムースに表示するのに苦労する理由が判明した。
2012-01-29 12:38:30夏目漱石『吾輩は猫である』は約100万文字あり、かなり長い作品の部類で、iOSのSafari縦組み(Webkit2/CSS3)レンダリングしてスムースにスクロールできるようにまでは10秒弱も要する。そしてこの間、Safariはこれに「つきっきり」でコードは内部でフリーズしている。
2012-01-29 12:41:25このレンダリング完了していない間に、ユーザがUIタッチイベントを送ると、一切反応しないばかりか、そのキューが溜まっていき、応答した瞬間にたとえばユーザがイライラした10回タップしていると、1気に10回分のイベント処理がはじまり、レンダリングフリーズに再突入する。
2012-01-29 12:43:30回避策として、UIイベントは最低限のイベントフラグだけ取得しておき、内部で100ミリセカンドインターバルのタイマーを回しておく。レンダリングフリーズ中はタイマーさえ回っておらず、フリーズ抜けのタイマーループで、キューの最後にあるイベント1回だけ処理させる。
2012-01-29 12:45:52HTML5時代のJavaScriptというか現行WebKitエンジンでは、Webワーカーというマルチスレッド処理が可能で、これをいよいよ使う局面なのか?と一瞬考えたが、そもそも、バックグラウンドで処理する内容などなく、ただUIイベントに呼応したUIアウトプットなので無駄だと再考。
2012-01-29 12:47:55ぶっちゃけ今回のWebハイブリッドアプリ開発は、そのスマートフォン内蔵のブラウザの処理能力の限界内で、実現可能かどうかさえも不明で、まったく手探りの状態での開発であったので、最後にやっぱりこのレベルは具現化不可能でした、ってすべて徒労になることをかなり恐れていた。
2012-01-29 12:54:38同じWebブラウザフレームワークであっても、PCのブラウザであると、その辺の限界を力技で押し切る富豪コーディングが自然と実現しており、問題がまったく露呈しないのだけど、iOS実機に展開してみると、フリーズしまくり。こういう局面が多分100回くらいあった。誇張じゃないよ100回だ。
2012-01-29 12:57:09この青空文庫アプリは、縦組み表示CSS3搭載のiOS5だから実現できた、という理由があるが、そもそもiPhone3以前の旧機種であると、レンダリング処理しきれず具現化が不可能であろう、と強く思う。
2012-01-29 12:59:28iOS自体もそうで僕は初代iPodTouchをいち早く入手したギークなんだけども、すでに現行iOSではサポート外とされている。所詮スマホのOSだろうと思いがちで、同じUNIXコア、同じOSX兄弟と思うのだけど、これはおそらくiOSがハード相応に重くなってるんだろう。載せられない。
2012-01-29 13:01:34ハードウェアの進化がソフトウェアの進化を担保する。 このアルゴリズムで、この計算量で、処理量で、ってそれを文字通りアプリケーションにするには、必ずハードウェアのパワーを見極めながら開発していくことになる。
2012-01-29 13:03:28たかだか電子書籍1作品を縦組みで表示させるだけなんだけども、僕が実装したいように、ページごと表示でなく、全作品を1画面に流しこんで、全部スクロールさせる、っていうのは、現行最新機種でギリギリの仕事だったと思う。これ以前ではCSS3搭載とかいう以前に処理能力の観点で不可能。
2012-01-29 13:04:41iOS5のスクロール関連でいうと、DIVボックス内でのコンテンツオバーフローをスクロールさせるというのは、iOS4シリーズ以前ではできなかった。無理やりJSでハックして実現することは可能なんだけど、少なくとも『吾輩は猫である』クラスのコンテンツを処理するには実用的でない。
2012-01-29 13:08:48