EPUBリーダーのためにDTPのいい本ないかな、と本屋へ。行ったのだが,SharePointのいい本を見つけて購入。最近職場でSharePointの話がよく出るので本を探していたのだが,Safari Booksで見てもなかなかいいのがない。使い方とか導入方法とかはあるんだけど,考え方が書いている書籍がない。で購入したのは「SharePoint成功の道標」。日本人が書いている教科書的な本はだいたい読者のことを考えてなくて面白くないのだが,この本はつい先が気になって読み進めてしまう感じ。2章(全体の1/3)まで読んだところだけど,SharePointの画面はほとんど出てこなくてひたすら思想と実例ばっかりでよく分かる。
2014年6月のエントリ
何か急に「タイピング」というキーワードでアクセスしに来る人が増えた。と思って検索してみたら,Yahoo!で「タイピング」3番目だった。「物理シミュレータ」もいつの間にか2番目になっていた。ページランクが高くなったわけでもないのに何でだろう。「World Tester」はVectorの科学カテゴリトップだったり,紹介サイトからのリンク元からも結構アクセスがあって地味にページビューがある。
紹介するのが遅れたけど,タイピングサミットでも「Weather Typing」大会は今でも開かれていてとてもありがたい。
という感じで,新しく公開したソフトに注力している間も以前の作品は使われていて,メンテしたり機能追加したりしたいのだが,時間が足りない。何か面白いことを思いつけばやるかも,くらいになっている。
前に掲示板で「1ページ表示・2ページ表示の切替が欲しい」という要望があった。でちょっと前に解決策が思いついていたので実装してみた。「1ページずらす」メニューを作り,実行するとうまいことずらしてくれる。つまり,前のページを見ていって,タイトルまでいってしまったらタイトルが1ページ表示になるし,途中で横長のページがあればその次のページを独立させる。縦横混在の本で試してみたらまあまあうまくいったので,次のバージョンで入れる予定。
ついでに。このアプリの方針として,できるだけユーザには考えさせずに,自動的に最適な状態にしてあげるというのがある。ユーザが1ページずつ指定するとか,本ごとにあれこれ設定するとか,そういうのはやりたくない。設定画面をあえて用意してないのはそういう意味だったりもする。で,この要望をこの方針で再度考えた結果が「1ページずらす」メニュー。ちなみに機能はできるだけ少なくしたいので,「タイトルページあり/なし」機能は抹消する。「1ページずらす」があればいらないので。
会社で特許文献を読んでいてふと思ったんだけど,マルチモニタで本を読みたい。Analog Book Readerの最新版で画像をピン留めする機能を付けたんだけど,あれって,文書と図が別々のページにある,まさに特許文献みたいな本を想定している。でも,やっぱり紙に印刷して,綴じない状態で4ページくらい広げて読みたくなった。特許文献も,2台のPC使ってようやく読みやすくなった。ピン留め機能でもいいんだけどやっぱり画面が狭い。マルチモニタで4ページ表示,しかも2ページずつ別々の場所を表示できれば嬉しいのだが,Windows Storeで複数画面に大きく表示なんてできないし,どうにかできないかな。
Analog Book Reader公開から今日で3ヶ月が経過する。このアプリを公開するときに,ダウンロード数の目安を知りたくて検索したらYOMON8.NETさんの「Windowsストアアプリについて3ヵ月間のダウンロード数などを振り返ってみる」というページがあった。このページでは,「付箋タイル」というアプリの3ヶ月のダウンロード数とダウンロード数を確保する対策を書いてあってとても参考になった。てことで,私も3ヶ月のダウンロード状況を公開してみたい。次の誰かの参考になればってことで。
- データ取得期間
- 2014/3/18~2014/6/14(89日間)
- ストアカテゴリ
- 書籍 – 電子ブックリーダー
- 言語
- 日本語/英語
- ダウンロード数
- 総ダウンロード数:2680
ページビュー:9077
コンバージョンレート:29%
青が日本からのダウンロードで,オレンジが日本以外。公開一週間くらいで新着トップになり,急激にダウンロード数が上がった。書籍の人気トップ(無料)で3位くらいまでいって,一ヶ月くらいで落ち着いた。その後,緩やかにダウンロード数が落ちていって,現在は人気トップ(無料)で10位,カテゴリ全体で50~60位くらいか。
ただ,それは日本のマーケットだけで,日本以外ではまだまだ。そこで,リリース4でストアに載るアイコンを少しきれいにして,紹介文の英語をシンプルにした。その結果かどうか,だんだん日本以外のダウンロードが上がってきているっていう状況。アメリカを始めとしていくつかの国でコメントや星をもらっているのでそれなりに使ってくれている人もいるのかな?
全体的には付箋タイルと似た感じか。コンバージョンレートは29%でも高いと感じていたが,付箋タイルは36%となっているのでこれでも低いのかな? まあWindows 8.1にしか対応してないので,そんなものといえばそんなものかも。
ところで「Average App usage per day」って,単位は何なんだろう。200~400分とか出るんだけど,平均値にしては多すぎるし…。
昨日書いた日記タグ機能。2時間くらいでとりあえず完成した。今のところAnalogBookReaderだけで,ページ分割もないけどとりあえず使えるかな。
土日でEPUBの実装を少し進めた。EPUB自体はzipなのでzipライブラリで読み込める。中身のメタファイルを解析して,XHTMLはXMLライブラリで読める。と思ったら,XHTMLは要素の中にテキストと要素が混在しているため,winrtのElementsではうまく読み込めない。Elements.Valueでは混在した要素のテキストだけが抽出されてしまう。結局DescendantNodesで細かいノードを一つ一つ解析するようにした。
CSSは既に解析する処理を実装済み。オートマトンに要素階層を与えるとスタイルが返ってくるイメージ。多分遅いので改善することになるだろうけど。
あとは画像系はそのまま読み込めるとして,SVGはどうしよう。winrtでは標準で読めないので,WebViewを経由するか,NuGetでライブラリ探してくるか。
動画やJavaScriptはサポートしないとして,そんなものかな。
あとはXAML to HTML Conversion Demoが参考になりそう。標準のXMLパーサーじゃなくてHTMLパーサーを自作しているけど,おそらくXHTMLじゃないからかな。EPUB3.0だけを考えるならXHTMLだけなので,そこまでやらなくてもいいだろう。
なんかEPUBサポートまであと半年くらいかかりそう。winrtでWebKitが使えれば楽なんだろうけど。EPUB以外の改善もあるので,ある程度のところでそっちを先にリリースするかな。今考えているのは以下。
- パスワードPDF
- キーボードでの拡大縮小
- キーボードでのコーナースクロール
- 「タイトルページの独立」メニューを「見開きを1ページずらす」メニューに変更
- 関連づけで開いたときに,右開き,左開きを,前回開いた本に合わせる
他にもこの日記にタグとかコメントとか付けられるようにしたいとかいろいろあって,時間が足りなさすぎる。
本屋をブラブラしてたら「EPUB 3 電子書籍制作の教科書」というのがあったので買ってみた。最近IT本は英語で読んでいるが,これは日本の本の方が日本の状況が分かるってことで。
たまにPowerPointの資料をPDFにしてAnalog Book Readerでプレゼンすることがある。まあ拡大縮小とペン機能を使うだけなので普通のPowerPointでもいいんだけど。で1つバグを発見したのだが、2ページの本の場合、拡大縮小しても解像度が調整されない。この原因は結構深くて、欲しいイベントが欲しいタイミングでやってこないのが根本原因で、そのせいで、起動時に最後のページを開いた場合に解像度調整ができなくなるというのが二次原因。対策案はまだないが、2ページの本はあまりないから急がなくても大丈夫かな。
2週間ほど前にYahooカテゴリの申し込みをしたけどダメだったっぽい。たしか15年前くらいに一度申し込んで、そのときはコンテンツもデザインも全然だった。その後結構たってコンテンツも割と充実したよね、ってことで申し込んでみたわけだけど。見に来た形跡もないので紹介文が悪いのか。でもうちのサイトを登録するとしたらどういうカテゴリなんだろう。タイピング、脱出ゲーム、いろいろあるのでどうしてもあいまいなカテゴリになってしまう。
追加機能とバグフィックスが一段落したので,ePub対応の開発を再開。とはいえ,ePub対応するとどのくらいの電子書籍をカバーできるんだろう。Kindleとか有償サービスのクライアントを作れればいいんだけどそれはできないわけで。
本来は,電子書籍サービスと電子書籍リーダーは分離されているべきだろう。つまり,有償の電子書籍サービスがあってそれぞれ別々に魅力的なコンテンツを売っていて,でも電子書籍リーダーはユーザが自由に選べるという世界。現状は,電子書籍サービス毎に専用のリーダーがあって,この本はこのサービスで買えるからこのリーダを使う,別の本は別のサービスでしか買えないから別のリーダーを使う,ってことになる。サービスを使う側にとっては,本ごとに使い勝手が違うんでイライラする。サービスを作る側にとっても,魅力的な本を売りたいだけなのに不慣れなアプリ開発をしなければならないのでめんどくさいはず。
著作権があるので完全に自由にはできない前提で。似たような話として,地デジの視聴ソフトは,良くも悪くもB-CASがあるので,コンテンツ(番組)とアプリ(視聴ソフト)が分かれている。なので見たい番組を気に入ったソフトで見られる。これと同じような仕組みがあればいいのか,またはもうそんなやり方は古くて,コンテンツは月額料金だけで配ってしまって,ダウンロード数に応じて著作者に還元する方式がいいのか,いずれにしても根本から変えていく必要があるだろう。
Analog Book Readerは,それをふまえて,フリーソフト作者にできることって何かないかなあ,みたいなことを考えつつ作っているわけです。
Analog Book Reader Ver1.2.1でRARファイル対応した。その中で,NuGetからSharpCompressというライブラリを使った。これはC#で作られたオープンソースのアーカイバライブラリ。RAR/7Zip/Zip/Tar/GZip/BZip2に対応しててなかなか素晴らしいライブラリ。標準のPDFライブラリと近い使い方ができるので割とすぐに取り込むことができた。あと1行足すと7zにも対応できるのだが,今の使い方だとページ表示に時間がかかるようだったので入れていない。RARファイルはPDFより少し遅く感じるが,十分実用範囲。
さて,SharpCompressはシーケンシャルアクセスのReader系APIと,ランダムアクセスのArchive系APIを持っている。Analog Book Readerは開いたページを優先的に開くので,ランダムアクセスAPIを使った。しかし,RarArchive.Openはまだパスワードに対応していないようで,RARのパスワード対応はまだ先になるだろう。GitHubの最新のソースでは対応しているっぽいけどwinrt用のブランチはまだっぽかった。
パスワード付きPDFは,次のバージョンでサポート予定。パスワード付きZipはどうしようかな。winrt標準のZipArchiveはパスワード対応していないけど,SharpCompressのZipArchiveはパスワード対応している。でもいろいろ考えるとできるだけ標準クラスを使ってた方がいいだろうな。
Analog Book Reader Ver1.2.1審査合格。日曜日なのにMSの人対応してるんですね。ということで,未サポートの本が複数登録されている場合に起動エラーになる件を修正。次のストア更新のタイミングで公開されるはず。
今回は条件が限られていて,さらにコメントでバグ報告をしてもらえて助かった。何も反応がないと,私も発見できなくて,最悪誰も起動できないまま忘れさられていってしまうわけで。Windows Storeコメントでも掲示板でもメールでもTwitterでも,バグ報告は歓迎です。
ついでにRARファイル対応もリリースした。実はパスワードPDF対応したりキーボードでの拡大縮小とかも既に対応してるんだけど,まだあんまりテストできてないのでこれは次バージョン。