自炊ePubのためのあれこれ覚え書き

先日、ちょっとした私家版書籍の電子版製作を依頼され、先月はあれこれ試行錯誤していましたが、ようやくそこそこ形になったので培ったノウハウをメモしておきたいと思います。作業環境はMacです。

■仕様

  • 原稿はWordでレイアウトされたファイル
  • 日本語縦書き
  • 本文は明朝、見出しはゴシック、引用文として丸ゴシック
  • 図版は無し(これがあったら更に大変だったことでしょう…)
  • リフローで作る
  • 汎用フォーマットとしてePub、Kindle用に別途mobiを作成
  • KDPによる出版などはせず、自サイトでの無償配布のみ

てな感じです。

■作業手順概要

元ファイルがWordだったので、一太郎・玄2013で読み込み、ePub書き出しをしてみました。元Wordでのレイアウトがスタイルを駆使したものではなく、個別指定箇所がほとんどだったため、微妙なマージやフォントサイズ指定の差異で、かなりアドホックなCSSクラスが作られてしまいましたorz。

一太郎ではePubのソースは一切いじれないので、そこからはSigilで手作業。ただし、Sigilは縦書きに正式対応したePub3.0には対応しておらず、Android系やWindowsストア系のePubリーダーアプリでは縦書きにならない問題が発生(iBooksやmobi化してKindle PaperwhiteではOK)。結局ePub3.0化を決意して、テキストエディタ(Sublime Text2を使用)でちまちま修正することにしました。Sigilは非対応なタグを強制的にePub2.0仕様に書き換えてしまうので、おそらく一太郎出力時点でePub3.0だったものが色々書き換えられてしまったんじゃないかと思います。今後はSigilを使わずにエディタを使おうと思います。Sigilの出力したファイルをePub3.0互換に書き換えるには、EPUB日本語文書作成チュートリアルが参考になりました。

Sigilの便利な点はePubを読み込み、ePubを書き出す、という作業が自動で行える点です。ePubは実際にはxhtml、css、画像その他のメタファイルを一定のフォルダ階層ルールに沿って配置し、zipで固めて拡張子をepubにしたものです。テキストエディタ等で手編集する場合は、デバッグ作業をする度に、zip化->リネームをしなければなりません。しかも、mimetypeというファイルがアーカイブの先頭になければならない、というルールがあり、単純にアーカイバにフォルダをドロップ、というわけにもいきません。具体的には、Macのターミナルで、こんな感じで作業しました。カレントディレクトがソースフォルダhogeのルート(トップ)にいるとします。

zip -0 -X ../hoge.epub mimetype
zip -r ../hoge.epub * -x mimetype

1行目で新規アーカイブhoge.epubを1つ上の階層(ソースフォルダと同じ場所)に作成し、mimetypeのみ追加。2行目で同じアーカイブにmimetype以外の全てを追加、という手順ですね。アーカイブの拡張子はepubが直接指定できているのでリネームは必要ありません。ターミナルの履歴を使えばさほど手間ではないですが、いっそバッチやドロップレットにしてしまうのも手かも知れません。

OSX MervericksではMac版iBooksが搭載されているので、できたファイルをダブルクリックすればiBooksで開き検証ができます。Mervericksが出る前はMurasakiを使っていました。Mac版iBooksはデフォルトではページ中心に隙間があいた2ページ表示ですし起動もややもっさりしていおり、更には単に元ファイルを上書きするだけでは更新されず、ライブラリからアイコンを削除しないと変更が反映されないこともありました。なので、Mervericksであってもデバッグ作業はMurasakiの方が効率が良いかも知れません。たぶんレンダリングエンジンは同じWebKitベースだと思います。

■縦書きにする

色々試しすぎてどれが効いているかやや微妙ですが、憶えてる限りでは、スタイルシートに、

html {
    writing-mode: vertical-rl;
    -epub-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;

    line-break: strict;
    -epub-line-break: strict;
    -webkit-line-break: strict;

    word-break: normal;
    -epub-word-break: normal;
    -webkit-word-break: normal;

}

としました。色々な環境に対応できるよう、-epub-と-webkit-のプレフィクスを付けた指定も重複して指定してあります。どの環境でどれが必要になるかまでは検証してません(笑)。

あとはページ送り方向を右綴じ準拠にする為、content.opfのspineタグの部分に、

<spine page-progression-direction="rtl">

のようにpage-progression-direction属性を追加しました。

■マージン指定に関するTips

段落毎などにマージンをいれたい場合、margin-right(段落の手前)、margin-left(段落の後)を使います。Kindle出版ガイドに、「emではなく%で表示しないと、文字を拡大した時に無駄に行間が空いちゃうよ」と書かれており、試しに%に書き換えてみたんですが、iBooksでヒドいことになり戻しました。どうも基準となる100%の幅として画面縦のピクセルを使っちゃうようです。ウインドウの縦の長さを変えると、横にマージンが広がる、という状態にw。縦書き対応が不十分なんですかね。あるいはright/leftではない別の指定方法があるのかも。ググるとmargin-beforeみたいな物理方向に依存しない指定方法を検討はされてるみたいですが、今のところ正式には決まってないみたい(ePbu3.0自体がまだドラフトなんですよね)。

まぁ、KDPで出版するわけじゃないので、em指定に戻しました。Kindle Paperwhiteでも特段不都合出てないような気がします。

■縦中横を指定する

縦中横とは、縦書き文中の英数字、記号などが横に寝てしまっているのを正立させる指定です。丸数字や2桁程度の数字に適用させました。スタイルシートにtcyというクラスを作り、必要箇所にspanタグで指定しました。

/* 縦中横(丸数字などを正立させる) */
span.tcy {
text-combine: horizontal;
-epub-text-combine: horizontal;
-webkit-text-combine: horizontal;

text-indent:0;
}

■フォントを埋め込む

これが一番苦労しました。本文に丸ゴシックがあるのですが、多くのリーダーは明朝とゴシックが1書体ずつ入っているのみ。また手持ちの初代SONY Reader PRS-350は内蔵フォントをCSSで指定することもできないっぽい(後継モデルは大丈夫らしい)。iOS版iBooksでは「ヒラギノ丸ゴ W4」が追加ダウンロードできるので、CSSで指定してやればOKでした(Mervericks版は標準でOK)。

ハードウェア内蔵フォントが使えないとなると、ePubに埋め込むか、リーダー自体に追加するかですが、後者はユーザにリテラシーが必要なので今回は除外。しかしePubに埋め込んで配布する場合はライセンスの問題が発生します。一般に売られているPC/Mac用の商用フォントは埋め込み禁止のものがほとんどです。使っているフォントのみ埋め込む「サブセット化」ならOKというのも聞くのですが、サイトの記載だけだといまいちはっきりせず。フリーの丸ゴシック系フォントはないものかと探したところ、「モトヤマルベリ3等幅」というのが、Android4.0搭載用にApacheライセンスでオープンソース化されていることが判明。こちらで配布されています。MTLmr3m.ttfが「モトヤマルベリ3等幅」、MTLc3m.ttfが「モトヤシーダ3等幅」という角ゴシック体のようです。今回は商用配布でもないのでコスパ優先ということでこちらを採用することにしました。Apacheライセンスなのでコンテンツ中(配布サイトでもいいのかな?)にライセンスを明記する必要があるかも知れません。また、埋め込みフォントならばPRS-350でも有効っぽかったので、角ゴシックも埋め込みで対応することにしました。

なお、これらの2書体を縦書き用にカスタマイズしたというKoboMaruとKoboNakuが公開されているようですが、試したところ記号がズレてしまってダメでした。

これら2書体のをそのまま埋め込むと、130KB程度だったファイルサイズが一気に3MB位になってしまいました。iBooksでは不要なものなのでちょっと悔しい。かといってiBooks向けとそれ以外向けでePubを複数バージョン管理するのもしんどい。ということで、サブセット化をしました。武蔵システムさんが公開しているフォントサブセットメーカーを使用します。Windows版とMac版があるのが有り難いです。実際に使用する文字をテキストで指定する必要があるわけですが、今回は原稿Wordファイルからテキスト出力して使いました。本当は角ゴシックの部分、丸ゴシックの部分だけのテキストファイルを用意してやればさらに小さなサブセットが作れるはずですが、さすがに面倒なので断念。結果として出来上がったePubは700KB程度に。これならばiOSユーザの人にもさほど負担がない範囲かと。

なお、上記ページから辿れるWOFFコンバータでWOFF(Web Open Font Format)形式にしてやれば更に縮むっぽかったんですが、一部環境でアプリがクラッシュするなど問題が起きたので今回は見送りました。

埋め込み方法ですが、まずソースファイルのOEBPSフォルダの下、つまりTextやStylesフォルダと同階層にFontsフォルダを作り、ttfファイルを入れます。今回は、MTLc3m_sub.ttf、MTLmr3m_sub.ttfという名前にしました。

次にコンテンツファイルの目録であるcontent.opfファイルのmanifestタグの内側に下記2行を追加します。

<manifest>
(…各種xhtmlファイルなどが列挙されてる部分…)
  <item href="Fonts/MTLmr3m_sub.ttf" id="MTLmr3m_sub.ttf" media-type="application/x-font-ttf" />
  <item href="Fonts/MTLc3m_sub.ttf" id="MTLc3m_sub.ttf" media-type="application/x-font-ttf" />

</manifest>

そしてスタイルシートで、

@font-face {
    font-family: "MTLmr3m";
    font-weight: normal;
    font-style: normal;
    src: url("../Fonts/MTLmr3m_sub.ttf");
}
@font-face {
    font-family: "MTLc3m";
    font-weight: normal;
    font-style: normal;
    src: url("../Fonts/MTLc3m_sub.ttf");
}

と定義した後、任意のクラス等に

/* 角ゴシック */
.kaku {
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "MTLc3m", "@MS ゴシック", "@MS Gothic", sans-serif;
}

/* 丸ゴシック */
.maru {
    font-family: "ヒラギノ丸ゴ W4" ,"Hiragino Maru Gothic ProN",  "MTLmr3m", "@MS ゴシック", "@MS Gothic", sans-serif;
}

等と指定します。なおこの例では最終的に丸ゴシックが使えないケースも想定してフォールバックフォントに角ゴシックを指定しています。iBooksだとヒラギノが優先的に使われ、それ以外では埋め込みのモトヤ、それもダメならMSゴシックか内蔵フォントという感じです。多くのリーダーだと、sans-serifでゴシック、serifで明朝の内蔵フォントになるようです。

■目次ファイル

Sigilが出力していたePub2.0ファイルセットを手作業でePub3.0化した際、目次ファイルであるtoc.ncxは使われないので削除してOKと書かれていたんですが、そうしてしまうとKindle PaperwhiteだったかSONY Readerだったか忘れましたが目次が使えなくなってしまいました。ので結局残してあります。目次ファイルが複数になってメンテナンス上は手間ですがまぁ仕方ないですね。

■様々なリーダー環境で確認

そんなこんなで、以下のプラットフォームで概ね良好なレンダリングが得られるものができました。

・iOS (iPad/iPhone/iPod touch)

Apple純正リーダーであるiBooksを使用。メール添付はSafariからのダウンロードでePubファイルをインストール可能。iOS6まではiMessage添付でもいけたんですがiOS7はダメになってるっぽい?配布ページにてヒラギノ丸ゴW4を別途インストールするようお願いをしています(アプリ内のフォント選択ポップアップで簡単に追加できます)。

・Mac OSX Merverick

こちらも最初からインストールされているiBooksで閲覧可能です。

・Mountain Lion以前のMac

上述のMurasakiが軽くてオススメですが、Adobe Digitai Editons辺りが大手企業ということで紹介しやすいかも知れません。

・Windows

同様に、Adobe Digital Editionsが無難でしょうか。

・Windows 8/RTストアアプリ

ePub対応を謳うアプリは山ほどありますが、残念ながら縦書きすら見られないようなものばかりでした。何か良いものがあれば是非ご紹介下さい。

・SONY Reader

手持ちのPRS-350(最新ファーム3.0.03.03190で縦書き、ルビ、縦中横、埋め込みフォント、目次ともに正常に機能しているようです。

・kobo

手持ちがないので未検証。楽天優勝セールで半額になってたので、kobo gloを注文しました。検証できたら追記します。確かkoboは段落毎に通し番号IDをつけないと目次や既読位置保存が使えないみたいな制約があったはずです。あと、拡張子をkepub.epubみたいな二重拡張子にしないといけないんでしたっけ?

・Android (Nexus7 2013でテスト)

これもePub対応リーダーは結構ありますが互換性は微妙でした。やはり商用リーダーアプリが優秀で、「紀伊國屋書店 Kinoppy for Android」と「ソニーの電子書籍 Reader™」で検証をしていました。ただ、サブセットフォント化したらKinoppyでの記号が崩れるようになってしまいました。また表紙画像がないePubはKinpppyでは真っ白な四角形になってしまうのもイケてないです。Readerは1ページ目のサムネイルを自動生成してくれます。ということで、今回の配布サイトではSONY Readerアプリを推奨することにしました。

なお、両者ともローカル保存したePubファイルを本棚に自動登録する機能があり、KinoppyではDownloadフォルダ、ReaderではReader->downloadsフォルダに保存した上で、アプリ内メニューから「追加コンテンツの検出」(Kinoppy)や「ファイルの取り込み」(Reader)すればOKです。

■Kindle用mobiに変換する

最後にKindle対応です。ePubを直接読むことはできないので、Amazon自身が配布しているKindleGenというツールを使って.mobi形式に変換します。ただし、残念なことに現状ではフォントの埋め込みは認識されないようです(Paperwhiteのみで検証)。先のCSSでかろうじて内蔵の角ゴシックにはなりましたが。シェアは大きいので一応対応したいところですが、やはり自炊用としてはKindleは微妙ですね。

どうせ埋め込んだフォントは使われず、貴重なKindle端末のストレージを無駄に占有するだけなので、ePub時点で埋め込みフォントを抜いたものを作ります。本当はCSSやopfも書き換えるべきなんですが、毎回作り分けるのは手間なので、内部エラー上等ってことにしてzipする時に除外するだけにしますw。区別のためにhoge_nofont.epubという名前にしておきます。

zip -0 -X ../hoge_nofont.epub mimetype
zip -r ../hoge_nofont.epub * -x mimetype *.ttf

KindleGenはコマンドラインツールですが、使い方は簡単でKindleGenとePubがあるフォルダで、

./kindlegen hoge_nofont.epub

などとするだけで、同じ場所にhoge_nofont.mobiが出来ると思います。警告が多少出ましたが、とりあえず問題なく読めるようなので良しとしましたw。

できたmobiを、USBでマウントしたKindleのDocumentsフォルダにコピーすればOKです。

 

まぁ、こうしてみると、「電子出版は紙代、インク代、輸送代がタダなんだから紙版より安くできないのはおかしい!」という読者視点の考えにやや無理があるのはわかりますねw。紙版からのコンバートは結構大変です。この上、挿絵などの画像データの扱いも含めて様々な環境での動作確認をしてなんてコストはバカにならないでしょう。今後、紙用の組み版もePubベースになる等して制作コストが一元化できるようになってくればまた違ってくるんでしょうけどねぇ。InDesignとかなら出力コマンド一発で出し分けられたりするのかしら?

iPad Air衝動買い

iPad mini Retinaを買う予定だったんですが、せっかくAir発売日だし実機触りに行くか、ってんでヤマダ電機いって、気付いたら買っていたぜ。

もともとNew iPad (以下iPad3)と初代iPad miniを使っていて、最近はminiばかり使うしRetinaになるなら新miniに一本化してもいいなぁ、と思ってたんです。「おやゆびでお」なんてアプリ作るくらいで、片手持ちで動画や電子書籍の閲覧が主なので軽さが大事。ただAir実機を触ったら「これくらいの重さならアリなんじゃないか?であるならば大きい方が動画も書籍もいいよね!」と。7インチ機としてはNexus7 2013があるしとか。

容量としては、WiFiがMIMO(デュアルバンド)に対応して速度あがるなら自炊動画もほぼストリーミングで済んで容量は一番安い16GBでいいんじゃね?的な。現にiPad miniは16GBで全然困ってなかったし。てことで、急遽Airでいいじゃん!って心変わり。朝イチで普通に在庫ありました。ちなみに夜にヨドバシ横浜に行った時点では16GBシルバーのみ残り三台、後は品切れ、次回入荷未定となってました。

あとAppleショップのこの展示什器、ワイヤーに常に引っ張りテンションがかかっているので、全然軽さが体感できないんですよね…

1390596_10202342302505790_1946714705_n

■ハード周り

基本、見た目は軽くなって薄くなって端子がLightningになった以外あんま変わりないです。色味もiPad3を見慣れた目で違和感なし。若干緑に違和感を感じるのも同じ。

レスポンスも一般的なアプリを使う分にはそんなに違いは感じないかな。ただキーボード周りのサクサク感は向上したように思います。iPad3だとややかったるかったのが、iPhone並に不満なく入力できるようになった気がします。

ついにスピーカーがステレオになったっぽいですが、あいかわらず縦持ち基準のレイアウトなので横にして動画を観る時には微妙。Kindle Fire HDみたいに再生品質にこだわるよりはデザインや薄さ優先ってのはAppleらしいです。

Lightning化は単純に嬉しい。開発用Macやベッド周りのケーブル環境が共通化できてスッキリします。これでDockコネクタは車載用のiPod nano 4thのみ。母艦機にだけケーブルをつないでおけばよくなりました。いっそnanoもLightningなモデルに買い換えたい衝動に駆られますが、先月iPhone5s買ったばかりだし、iPad mini2を買う可能性が完全に消え去ったわけではないので自重w。

■MIMO効果は微妙?

MIMOにより「おやゆびでお」でHD動画をHTTPストリーミング時の途切れが改善されるかなと期待したんですが、あまり変化は見られない気がします(http live streamingではなくmp4の直リン)。ちなみにアクセスポイントはAirMac Extremeの300Mbps世代機。二世代前のものですがiPad Air/mini2は300Mbpsの2×2 MIMOなので充分なはず。ここが一番残念。Webサーバー側の限界なのかなぁ。

■アクセサリ

基本家ではカバー(フタ)を取った状態で使いたいのでマグネット脱着できるものにしたいのと、背面に吸盤リングをつける関係でバックケースはハードでつるつるなものにしたい派。

朝行ったヤマダでは純正SmartCoverもSmartCaseも入荷しておらず、エレコムのクリアハードケースだけを購入。夜にヨドバシに行ってSmartCoverを買ってきました。今回のSmartCoverは素材がポリウレタンのみになり色がiPhone5cとあわせたような明るめの色ばかりで、どれも40のオッサンには使いづらく悩みました(さすがに黒本体に黒は面白くないし)。レッドがグリーンで悩んだ挙げ句、Product (RED)で募金になればいいやくらいの消極的理由でレッド。

が、早速とりつけようとして失敗に気付く。エレコムのケースがSmartCoverに対応してなかったorz。そういえばiPad3の時もminiの時も気をつけて買っていたはずなのに、すっかり失念してました。一応マグネットはつくものの、スタンド状態にすると外れてしまう(そりゃそうだ)。仕方ないのでTUNEWEARのものを注文。発売まで少し日数があるみたいで届くまで我慢ですわ。

液晶保護フィルムは保留中。基本家使いで持ってでかける時はSmartCover付けるので、普段は裸でもいいかと。最近のガラスは強度はあるし耐指紋性能も指滑りも不満ないレベルだし、と。

 

とまぁ、そんな感じでベッドに寝転がってしばらく動画を観てみたんですが、やはりminiに比べるとそりゃ重くて腕の負担は大きいですw。胸の上にスペアの枕を置いて、その上にiPad本体を置くようなスタイルなので全ての重量が腕にかかってるわけでもないんですが。画面サイズが変わって当然視距離も離れるので腕の保持姿勢が若干かわるのもあるかな?もう少し姿勢を煮詰めていきたい。

でmini2への欲求が完全に収まったかというと微妙w。現物をみた時にまた気絶しないとは言い切れない…。iPad3とiPad miniを処分すれば今回のAir購入費は捻出できそうなので、あとは使わなくなったSONY Tablet SとかWALKMANとかとかを処分すればそんなに無理な買い物じゃないかなぁとか…

iPhone5s用ケース交換

iPhoneケースを替えてみました。

前のはこちら。とにかく薄くてiPhone5本来のサイズに近い状態で使うべく選んだんですが、やはりつるつるで扱いづらかったのと、たまたま見かけてデザインが好みだったのが買い換え動機。

写真で見ると一般的なバンパー系よりは小さそうな気がしたんですが、つけてみると普通にバンパーでしたorz。完全に一回り大きくなります。片手で保持して、親指でタップする距離が遠くなった。愛用のベルトケースにもギリギリ収まったものの、若干取り出しづらくなったり。うーむ、悩ましい。iPhoneはアラーム鳴りっぱなしの振動とかで何度もテーブルの高さから床に落下させてますが、今までそれで割れたりしたことはないので、あまりバンパー系の保護までは必要と考えてないんですよね。小傷防止したいのと、グリップ性の向上、そして見た目。

まぁ、デザインはそこそこ気に入っています。

 

SDIM0044スペースグレーのiPhone5sに装着した感じ。

Lightningポートやヘッドフォンポートをみてもらうと厚さがイメージできるんじゃないかと思います。商品写真ではここが巧妙にブラックアウトさせてるのが小ずるい。まぁ、純正Lightningケーブルや、手持ちのBOSE Quiet Comfort3のケーブルは刺さるのでまずは良し。

白い部分も公式写真ほどツヤはなく、普通にプラスチックの質感です。公式のあれはCGでしょうね。

SDIM0046

音量ボタンはちゃんとケース側に独立パーツがついているので問題なし。

一番の難点はマナーモードスイッチですね。かなり奥まってしまい、片手で切換はほぼ不可能なレベルです。


SDIM0050

背面。何度もバンパー系と書いてますが背面はちゃんとあります。ラバー塗装でサラサラしてます。


 

とまぁ、バンパー系ケースのサイズ増加やポート類へのアクセスが若干しづらくなるのが気にならない人なら、質感は値段なりでアリなんじゃないですかね。カラバリも結構あります。

逆に、製品写真みて「バンパー系の割にはスリムでいいかも!?」って思った人はお気を付け下さい。どうみてもバンパーです。本当に(ry

カアチャンiPhone向けクイックダイヤルページ作成

リテラシ低めのウチのオカン向けに、iPhoneのホーム画面には一発で電話発信できるショートカットを置いていました。「電話」アプリの「よく使う項目」でいいじゃんと思われるかも知れませんが、同時に「電話代も節約したい」というニーズがあって、050PlusやSkypeといった通話アプリも併用してて、誰にはどのアプリからかければいいとかを本人には意識させずに簡単に発信できるようにしたい、という命題があった訳です。

ところが、iOS7になってその手のホーム画面にショートカットを置く系のアプリが軒並み使えなくなってしまいました。いずれ回避策が見付かって対応版がリリースされるのかも知れませんが、ともかく現状ではAppStoreで探してみた範囲ではどれもiOS7になって動かなくなったようです。

しばらくiOS6のままにしてもいいんですが、FaceTimeオーディオが使えるとか、NewsstandやPassbookのような使わないアプリアイコンをフォルダに隠せるようになるとかメリットもあるので、ホーム画面ショートカットに頼らない方法を模索してみました。

■カスタムURLスキーム自体は使えるので、HTMLでリンク集的なものを作る

試しにSafariのアドレス欄に「facetime://0901234xxxx」と入れてみたところじゃんとFaceTime発信ができます。カスタムURLスキーム自体が廃止になったわけではないようです。これを直接ホーム画面にブックマークとして保存できれば話が早いわけですが、どうもそれは不可能っぽい。

仕方ないので、HTMLでリンク集ページを作って、ウチのサーバー上に置くことにしました。当然ながらiPhoneが圏外にいる時は参照もできませんが、そもそもの用事が通話発信なのでまぁいいだろうと。

自分でHTMLが多少は書けて、配置するサーバースペースをもっていて、なおかつ操作が苦手な親御さんなどがいたら参考になさって下さい。

ひな形配布キット quickdial.zip

■ホーム画面用のアイコンを作る

1385819_10202104811888673_1476785260_nまずホーム画面用のアイコン。適当に受話器の無料ベクター素材を拾ってきてささっとでっちあげましたw。

標準の電話アプリに似ていて、なおかつお得そうなイメージでブルーの意匠にしてみました。

iPhoneのホーム画面用としては、Retina対応機用の120×120のものと、非Retina機(3G/3GS)用の60×60のものが必要です。配布キットに含めておきますので、よければ御利用下さい。

 

■電話帳ページ(HTMLファイル)を作る

1385661_10202104812048677_158636288_n

ページ(index.html)のデザインはこんな感じ(ピンクのリボンは名前を隠すためのもので実際にはありません)。シニア向けなので字を大きめにしています。タブでグループを切換えられるようにとか凝ったことも考えましたが、やはりシニアなので操作が複雑でない方がいいかなということで、単純な1枚ページにまとめてみました。ただし、無料通話、割安通話そしてメール(実際には「メッセージ」アプリを使用するiMessage/MMS)という区分けを作って、h3タグで見出しをはさんでいます。各項目はol、liタグを使った箇条書きで、スタイルシートstyle.cssを使ってiPhoneぽいというかボタンっぽい見た目を実現しています。そしてaタグにカスタムURLスキーマを書いてリンクを実装しています。

以下、代表的な発信方法毎の記述方法を紹介します。aタグのhref属性に指定すれば利用できます。

・電話発信 tel:09012345678
・G-Call発信 tel:xxxx09012345678

通話料が半額程度になるG-Callの場合、契約時に通知される4桁の番号を電話番号の前につけるだけなので、基本的に電話発信のURLスキーマを使い番号だけ書き換えればOKです。専用アプリを経由する必要はありません。

・FaceTime(映像有り)発信 facetime://09012345678

電話番号の代わりにAppleID(メールアドレス)も指定できます。

・FaceTimeオーディオ(音声のみ)発信 facetime-audio://09012345678

iOS7以降のみ。

・050plus発信 com050voip://keypad?09012345678

ちょっと長いです。即発信とはならず、050Plusアプリのテンキー画面に指定番号が入力された状態で開くので、別途アプリ側で発信ボタンを押す必要があります。

・Skype発信 skype://username?call

「username」の部分にSkype IDを入れて下さい。

・メール送信 mailto://mail-address

「mail-address」の部分をメールアドレスに置き換えて下さい。

・iMessage、MMS、SMS送信(電話番号) sms://09012345678
・iMessage、MMS、SMS送信(メールアドレス) sms:hogehoge@ezweb.ne.jp

どうもメールアドレス形式の宛先の場合、//が不要っぽいです。

配布キットのindex.htmlをテキストエディタ(メモ帳などでOK)で開き、各行のを以下のように編集します。

<a href="発信URLスキーム"><li>表示名</li></a>

発信URLスキームは上に色々書いたアプリ別の表記です。青い字の部分は実際に画面に表示される名前です。

行の増減は自由に行ってOKです。

その他、HTMLがかける人は自由に拡張して下さい。発信方法別、相手別にアイコンをつけたりしても見やすいでしょう。

で、最終的にできあがった、htmlファイル、style.css、アイコンファイルを適当な公開サーバーに置き、iPhoneのSafariからアクセスし、ホーム画面にブックマークすれば、先のアイコンが使われるはずです。

サーバーの設定などはここでは書き切れない
のでまた別途調べるなりして下さい。電話番号やメールアドレスなどの個人情報を含むページなので、パスワード認証など適切なアクセス制限もお忘れ無く!可能ならSSLによる暗号化も使用しましょう。

■全てのiPhone内で完結させるには?

やはりサーバー上にデータを置くのは大変だしセキュリティ上の懸念もあります。本来はiPhoneローカルに情報を持たせたいところですね。アプリを作れる人はUIWebViewが1つあるだけのアプリを作り、上記HTMLを読み込ませればOKでしょう。そのうち暇をみつけてやろうかと思います。

あとは、試してませんが、JavaScriptが得意ならば、ブックマークレットのような方法で全てのデータをURIの中にもたせるなんてウルトラC的なことは可能かもしれません。ただこれは各種ショートカット作成アプリがとっているアプローチで、iOS7だとなにが問題なにか判明しないと難しいのかも知れません。

究極的にはこれらをiPhone上で作成し、表示できるアプリを作ってリリースすればいいのかもですね。ニーズがあればチャレンジしてみようかな?

iPhone5s用保護フィルム装着

とりあえず、iPhone5につけてた保護ガラスを貼り替えてしのいでいたんですが、やはり日光下での反射(白っぽくなる)が気になったのと、TouchIDの使い心地を考えると(別に問題はなかったんだけど)薄いめのフィルムにしたいなと思い物色することに。鉄板のパワサポとかマイクロソリューションはネタ的につまらないので除外(不満があればそっちを買い直すかもだけど)。

ちょうど発売直前に発表されたbelkinのガラスタイプフィルムとやらにしてみました。今までのものが0.4mm厚とあきらかに板1枚分盛られているのがわかる厚みだったのに対し、こちらは半分の0.2mm。PP系のフィルムに比べればまだ厚いし、ホームボタン使用時に若干エッジがひっかかる感じはしますがだいぶマシにはなっています。あとブルーライトカット機能は無し。

ガラスタイプの一番の売りは対衝撃性能のようですが個人的にはあまり気にしてません。どころかひっかき傷などの保護という観点ではもはや必要性を感じていません。σ(^^)が未だに保護フィルム/ガラスに執着するのは、むしろ指滑りのスムーズさに期待してのことです。「従来製品より2.5 倍スムーズなタッチ感」という売り文句に惹かれました。あとは透明度の高さですかね。まぁ、1年でヤフオクに出す時に「購入時から保護フィルムを貼ったままの美品です」って書きたいだけってのもありますw。

■お高いだけあって付属品じゃ充実。ただ、いうほど指すべり良くない?

発売価格が3,980円とiPhone5につけてた保護ガラス並のお値段。果たしてヤフオクPR用という意味ではコストが回収できるか微妙ですw。付属品としてクリーニングクロス、ゴミ取り用ペタペタ粘着シート、空気抜き用ブレード(=厚紙)など一通り必要なモノは添付されています。ただまぁこの辺りは一通り持っているので別にいらないんですけどね。抜いて安くなるものなら抜いて欲しいです。実際、ブレードはしなりが悪くて使い物にならず。やはりTポイントカード最強です。

フィルム自体はフレキシブルガラスということでしなりはするものの弾性があって、片側保持でもう片側がしなってぺちょっと貼り付いてしまう、みたいなことは置きにくく、位置あわせはとてもやりやすかったです。特にガイドもなにもない状態ですがほぼ一発でキマりました。

上記保護ガラスに比べてあきらかに反射率が低く、画面オフ時の黒がよく沈んでる感じ。もちろん解像度劣化などは全く感じられません。良くも悪くも変化を感じない感じ。指紋のつきやすさと拭き取りやすさも標準的かな。指紋がつかないってことはないです。

ただ、売りの「従来製品より2.5 倍スムーズなタッチ感」に関してはかなり期待外れかな。すごくプラスチック的です。少し使って使ってると油分が移るのかそこそこ滑り出しますが、ちょっと力をいれるとべべっとなりますね。これたまにアルコールとかで綺麗に拭くとまた滑らなくなるパターンだな(光沢のマイクロソリューションがそんな感じだったような)。指滑りでは前のヤツの方が圧倒的に良かったです。

でもまぁしばらくは使ってみます。

同日追記:

なんだか、隅っこの方が浮いてくる事案が発生中。押さえればくっつくんだけどまた時間がたつと浮いて白くなる。これは地雷臭がしてきたぞ…このまま改善しないようなら、捨てるのはもったいない値段なので返品交渉してみようかな…