アプリ開発秘話:005 縦書きビューワ

2010年06月15日 16:05 by 編集部しみず
縦書きビューワ:明朝体表記が美しい

縦書きビューワ:明朝体表記が美しい

続々と登場するAndroidアプリの開発者に「開発秘話や開発者から見たAndroidの魅力」を直撃する企画「アプリ開発秘話」。アプリ開発の最前線を垣間見る事で、Android の新たな魅力を発見!


第5回目にご紹介するのは、「縦書きビューワ」を開発した、2SC1815Jさんです。本は縦書きで読みたい!と思っている方におススメのアプリです。フォントを選んだり、背景を古紙風にすると雰囲気が、がらりと変わり楽しめます。


「ただ縦書きで読める」というわけではありませんよ!今回2SC1815Jさんには、普通にアプリを使用しているだけでは気付かないような開発者ならではのこだわりや、開発する上で感じた喜びや苦労など、貴重なお話をたくさんうかがうことができました。




「縦書きビューワ」のアイコン画像は、夏目漱石氏が愛用していた原稿用紙を元にしているというのですから驚きです!(今までに気付いた方は1名らしいです)細かい事へのこだわりも強く、ものづくりへの愛情を感じます。私もお話を聞く中でユーザとして、「縦書きビューワ」への愛着が深まりました。


開発者プロフィール
縦書きビューワ

2SC1815J

ペンネーム 2SC1815J
ブログ 2sc1815jの日記


座右の銘 果報は寝て待て
普段のお仕事や休日の過ごし方などの生活スタイル 開発したり、赤子(生後3か月)の相手をしたり、読書をしたり、クライアントとの打ち合わせに出たり、自由なライフワークスタイルです。



開発したアプリ
アプリ名
アプリの概要
小説などの日本語文章を縦組みで読みやすく表示するアプリです。青空文庫(※)形式テキストに対応し、ルビ・圏点・挿絵なども表示できます。また、今後普及が進むであろう電子書籍のフォーマットEPUB形式にも簡易対応しており、同じように表示できます。
自分自身、このアプリを作るまでは「携帯電話で読書なんて」と思っていましたが、意外に読めるものですよ。
※「青空文庫」:著作権の消滅した文学作品などを多数無料で公開しているサイト
苦労したこと
青空文庫では「ドグラ・マグラ」という作品が人気ランキングの上位に入りますが、これは文庫本で2~3冊分に相当する文章が一つのテキストファイルになっています。こうした大長編作品を読み込んだときにもメモリ不足にならないよう調整するのに苦労しました。
あとは、シンプルに軽快に動くようにという目標と、より読みやすい表示にするという目標(処理内容が増えると重くなる)のバランスを取ることです。
うれしかったこと
このアプリは、紙で本を読むことが好きな人が、Android端末上でも普通に読めることを目標にしたものなので、日々の読書に役立っているというコメントをいただくと嬉しいですね。
こだわりポイントである組版(文字表示等の仕方)について「日本語として非常に視認性が高く読みやすい」「日本語として美しく表示」とのコメントをいただいたのも励みになりました。
こだわりポイント
紙の書籍になじんだ方にも違和感の少ない文字表示を目指しています。 行頭禁則、行末禁則、行頭行末そろえ等はもちろん、連続する約物間の空き量にもこだわっています。
  • 行頭禁則…小学校の作文の授業で習う「原稿用紙では、行の先頭にテンやマルを書いてはいけません」という決まりです(実際にはほかにもいろいろルールがあります)。
  • 約物…句読点や疑問符、括弧などのことを指します。
例えば、”」「”とかぎ括弧が続いたときに、括弧の間が全角で一文字分空いているように見えたら、それは約物間の空き量が調整されていません(きちんと作られた紙の書籍で見ると、括弧の間は半角で一文字分だけ空いているはずです)。
「縦書きビューワ」では、こうした調整もしています。 コンピュータが出始めたころは、このような調整をしない表示も仕方なかったのでしょうが、もはやコンピュータ創生期ではないのだから、より豊かで美しい表示がもっと増えても良いと思っています。 ただ、あまりあれやこれや調整しようとすると、パソコンに比べれば非力なAndroid端末では処理時間が長くかかってしまうため、現状では取り入れていない処理があります(親文字列長がルビ文字列長未満の場合の処理など)。
速度とのバランスを考慮した上で、より読みやすい表示ができればと考えています。
また、ページ指定のシークバーにも小さなこだわりが隠れています。動画・音楽プレーヤなどの一般的なシークバーは、左から右に向けて進めていきますが、「縦書きビューワ」のシークバーでは一番右が最初のページで、一番左が最後のページになるようにしています。これは縦書きの和書で、ページを読み進める方向に合わせているためです。
お使いの方に、「言われてみればなるほどだけど、今まで気にしていなかったな」と思っていただければ成功です。違和感なく使えるという目標の一つが達成できていたということですから。
開発者オススメの使い方
フォントはぜひ明朝体のものを指定してください。こんなに違うかと思うくらい、がらっと変わりますよ!アプリの設定画面から無償フォント「IPA明朝」をダウンロードすることもできますし、ライセンスをお持ちの方は商用フォントを指定されるとより美しく表示できるでしょう。
また、本文を長押しして単語を選択し、Web検索や検索機能を公開しているアプリと連携する使い方もお勧めです。
今困っていることはありますか?
Android Marketに書ける紹介文の長さが325文字までと短いこと。 アプリの機能や説明を記載すると、バージョンアップ内容の説明や更新履歴などはあまり書けません。
Android Marketでコメントをいただいた方に、お礼や状況確認など、直接メッセージを伝える方法がないのも、開発者側からすると悩ましいところです。
アプリ作成で心がけていること
クライアントに「思っていたものよりもさらに良いものが出てきた」と思ってもらえるものづくり。
このアプリの場合はクライアントワークではないので、とことん自分で使って、使い勝手や機能面で気になるところを改善し、リリースするという繰り返しです。
上記以外に開発したアプリ
近デジビューワ

近デジビューワ


国立国会図書館・近代デジタルライブラリー(略称「近デジ」)閲覧アプリです。


青空文庫は電子化されたテキストを公開していますが、近デジは明治・大正期の図書のスキャン画像を公開しています。


以前はHT-03A(Android端末)のブラウザで近デジサイトにアクセスしても正しく表示できなかったので、アプリを作成しました。その後、サイトがリニューアルし、HT-03Aのブラウザでも表示できるようになったので、現在はアプリの公開を停止しています。

縦書きビューワ

縦書きビューワ:挿絵にも対応


縦書きビューワ

縦書きビューワ:古紙風背景で古本風に


約物間の空き量も調整

こだわりポイント:約物間の空き量も調整


縦書きビューワ:ページ移動のシークバー

こだわりポイント:ページ移動のシークバー


おススメの使い方:本文を長押しで単語選択

おススメの使い方:本文を長押しで単語選択


おススメの使い方:検索機能を公開しているアプリを選択して連携

おススメの使い方:検索機能を公開しているアプリを選択して連携




ずばり開発者に聞く!
Q.1こうすればもっとアンドロイドユーザーが広がるのになぁと思うことは何ですか?
iPhoneなみに滑らかに動作するハード&OSの作り込みがスタートラインでしょう。 マーケットシェアを考えたときに、Android版だけリリースして、iPhone版をリリースしないというメジャーなアプリは(Flash以外)あると思えないので、アプリがAndroid選択の決め手になることは少ないのではと思います。
Android端末を購入してからのことについて言えば、Android Marketの使い勝手が悪すぎるのは明らかにマイナスポイントです。 アプリのインストール時に「このアプリケーションは下記にアクセスできます」という確認が表示されますが、そこに表示される項目が具体的にどのようなことを指すのか情報が少ないので、実際には判断の役に立ちません。また、Android Marketのアプリの表示順すら、何の順なのか分かりません。そういった細かいところの日本語の情報が整備されていくと、Androidが根付いていくのではないでしょうか。
Q.2他の開発者が作ったアプリで注目している物は?それは何故?
「青空プロバイダ」「DroidWing」「Libraroid」。 いずれもAndroidの特色である「インテント」を活かして、他のアプリと連携できるアプリです。
「インテント」とは、あるアプリが「これやって欲しいんだけど、できる人!」と声をかけると、「私できるよ!」と手を挙げたアプリのどれかに作業を依頼できる仕組みです。この仕組みがあることで、連携先のアプリを特定のアプリに限定しなくても、新しいアプリをインストールすれば自由に連携の輪を広げていくことができるのです。
先に挙げたアプリの場合、「青空プロバイダ」→「縦書きビューワ」→「DroidWing」「Libraroid」というインテントのコンボで、作品中の単語の意味を調べたり、図書館の本を予約できたりします。
Q.3これから作ってみたいアプリは?
趣味の古文関連でなにか。
Q.4アンドロイドの今後予想
組み込み用途での利用が増えていくのでしょうね。携帯電話と違って安価なCPUしかのせられない機器の場合であっても、Androidは軽快に動くものなのか興味があります。