Windows8.1 UI面ではここが良くなった!

iOSと違ってデベロッパー契約や法人契約もしてないし、Previewつっこむ程の興味もなかったので一般リリース日に初めて触った感じで、予備知識もあまり仕入れてなかったんですが、デスクトップ、ノート、タブレットの計4台に入れてみての感触。

とても良いと思います!

すごくこなれてきた感じで色々しっくり来てます。以下、ざっと要点や気に入った点をまとめます。「いやそれは8から出来たよ」ってのがあったらごめんなさい。

■スタートボタンは復活したのか?

スタートボタンの位置に確かにボタンは復活しましたが、動作はちょっと違います。Windows7以前のようなメニューランチャーが表示されるのではなく、あくまでWindows8で導入されたスタート画面に遷移するショートカットボタンです。チャームのスタートボタンやキーボードのWindowsボタンを押すのと同じ。ただチャームやWindowsボタンって気付けないとなかなか押せないところではあるので、気軽にスタート画面にいけるようになったのは歓迎すべきことでしょう。

また玄人好みの裏技としては、この新スタートボタンを右クリックすると、コンパネやコマンドプロンプト、シャットダウン/再起動系の項目にいけるようになってます。これはチャーム内のスタートボタンには無かったし、結構面倒だったので助かりますね。

■スタート画面の改善

・マウスポイントだけでスクロール

スタート画面は基本的に横スクロールをさせて使いますが、従来のホイールに加え、画面端へマウスカーソルをもっていくだけでもスクロールするようになりました。縦ホイールで横スクロールというのがいまひとつ直観的でなかったし気付かない人もいたと思うんですが、これでとても感覚的に使えるようになったと思います。

・全アプリ一覧に行きやすくなった

Windows7でいう「すべてのプログラム」に相当する一覧ですが、今まではチャームの「検索」から行ってたんですが、8.1ではスタート画面の”下”という位置づけになりました。タッチデバイスなら上下スワイプで行き来できますし、マウスの場合は画面の下に(↓)ボタンが出てクリック一発でいけます。また設定でスタートボタンを押した時にホームではなくこちらの画面に直接遷移させることも可能になりました。

ここでキー入力をすればリアルタイムで絞り込みされるので、目的のプログラムがサクっと探せます(ちなみにホーム画面でキー入力しても同じことができます)。

・起動直後の初期画面がスタート画面ではなくデスクトップにできるようになった

最初はどうしても鳴り物入りのスタート画面を見せたかったんでしょうが、実用面でいうとまだまだデスクトップ主体な使い方が多いので、これは地味に便利です。フリーウェアで実現できていたことですが標準でできるようになったことが大事。

・スタート画面の背景にデスクトップの壁紙を出せるようになった

これが意外と認知的に大事(だいじ&おおごと)な気がしています。今まではスタート画面の壁紙は独立していて(しかもイケてないデザインばかりで)、デスクトップアプリとタイルアプリの2つの世界を行き来して使う、という印象が強かったんですが、壁紙を同じになることで、「デスクトップの世界の上にオーバーラップしてスタート画面が出る」といイメージになります。上の設定と合わせることで、「従来のWindowsデスクトップありきで、スタートメニューがスタート画面に置き換わり、タイルアプリの世界がかぶさっている」という従来Windowsユーザにとってとっつきやすいメンタルモデルが描けるようになったと思います。以後、リテラシー低めの人の導入サポートをする機会があったら、この2つの設定はONにしておいてあげようと思ってます。

・その他

スタート画面上のデスクトップアプリのアイコンに、タイルアプリとよく似た座布団がつき、スタート画面上で2つの見分けがよりつきにくくなりました。これは両者の区分けをあまりさせないことにしようという狙いでしょうか。

またカラム毎にグループ名をつけられるようになってるみたいです。個人的にはあまり必要性を感じないのでまだ試してないです。

■「ヘルプと使い方」アプリ

8.1にアップグレードするとスタート画面の右の方に勝手に追加されます。むしろ何故今までなかったのかと。Windows8/8.1の基本操作をアニメーションも交えて解説してくれます。

ただ、タッチとマウスでそれぞれ操作が違うんですが、タッチデバイス非搭載のマシンでもデフォルトがタッチの説明になってるのがいただけない。マウス使ってるのにジェスチャー操作の説明見せられたらかえって混乱してしまうでしょう。それくらい自動認識して切り替えておいてくれよと。ちなみに画面左下の辺りに切換えスイッチがあります。

■チャームの改善

24インチ級のモニタでないと気付かないかも知れませんが、チャーム上の5つのボタンが垂直中央寄せから上寄せに変更になってます。これはマウスでチャームを表示する操作が「右上コーナーつつき」なので、そこから下がってボタンを選ぶまでの距離を縮めたということなんでしょう。これはとても良いです。

2013.11.2追記:

その後気付いたんですが、単に上寄せになったんじゃなく、右下コーナーでもチャームが出せるようになってて、その場合はちゃんと下寄せで表示されるんですね。

ただし今はまだ慣れないので今までの位置を思い描いてマウスが通り過ぎてしまうことも。スタートボタンが真ん中、ってのはそれはそれで狙いやすかったんですよね。これはスタートボタンの復活や検索方法の変更でチャーム自体の利用頻度が下がることを見越して初めてできた工夫なのかも知れません。

■その他、個人的に嬉しいところ

ロック画面の選択設定のところん「参照…」ボタンがついて好きな画像を指定できるようになりましたね。正直ロクなのがなかったのでこれは嬉しいです。

ドキュメントやピクチャといったユーザファイルを別ドライブに自動でバックアップする機能がついたようです。複数ドライブがついているマシンでも選択肢として出ない場合もあって、いまいち動作ルールが不明ですが、簡易バックアップとしては重宝しそう。

あとExplorerのコピー関係の警告ダイアログでしか確認できてませんが、例えば「上書きして良いか?」みたいなダイアログが通知としても表示されるようになったっぽいです。例えばたくさんのファイルのコピーをかけて、待ち時間にタイルアプリでニュースを見てたとします。従来だとデスクトップで「同名ファイルがあるので上書きしますか?」って聞かれても気付かず、時間をおいて戻って見たらほとんど進んでなかった、なんてことが起きえた訳ですが、通知として出るのであればタイルアプリにしていても気付きやすくなるという訳です。これExplorer側が通知出力に対応したんですかね?いっそデスクトップアプリがモーダルダイアログを表示したら全部通知してくれるみたいな仕組みなら嬉しいかも。

■ビミョーなところ

ローカルアカウントで使っていた場合、改めてMSアカウントの紐付けを強要されます。(ネットワークをOFFってれば良いという話も聞きますが)基本的にスキップができず、意地でもMSアカウントでログオンするのを基本にしたいようです。それにともなってアップグレードのウィザードがかなり煩雑になっていて、初心者の人にはかなり難しい手順になっています。従来のService Pack扱いだとすると勝手にインストールされるのかはわかりませんが、ある日いきなりこのウィザードになったらフリーズしてしまう人が続出でしょう。

 

逆に言うとネガはそのアップグレードのところだけな気がします。全体として、新機能であるタイルの世界推しが行き過ぎていた感が収まり、「まだまだデスクトップの世界がメインだよね」っていう現実を受け入れた実用性重視のチューニングがなされたなという印象を受けます。Windows8はもともと軽さや堅牢性などではとても優れたOSなので、今回のUIチューニングで食わず嫌いだった人も警戒心を解いて触ってみてもらえるといいなと思います。

5年ぶりに(メイン機の)グラボ交換

仕事&エンコ用のメインWindows機のグラボをGeForce GTX260から実に5年ぶりリプレース。CPUやマザーは途中でSandy Bridgeに移行したのに、グラボはそのまま使い続けていました。前エントリで日常エンコにもTMPGEnc Video Mastering Works 5を活用する機会が増えそうなので、これを機に改めて1)CUDAを活用して凝ったフィルタも使ってみようかなぁとか。あと、最近同機が不調で画面が固まったりする(マウスとか時計もフリーズしてるので切り分け不能だけど、ディスクアクセスなんかはそのまま動いてるっぽかったり)のも2)治るといいなという期待、そして5年の進歩で3)消費電力や発熱もさぞ低減されているだろうという期待で。

CUDAなのでGeForce一択。700系が最新ですが、コスパ狙って1世代前の600系で、なおかつ消費電力が64Wと低い650無印でいいや、ってのは割と一瞬で決まりました。その上のGTX650 Tiだといっきに110Wとかいっちゃって動機3)が弱くなるなと。実のところGTX260もCUDAに期待して投資(当時3万位したような)したものの、結局つかいどころがないままだったので、動機1)はまぁ期待半分だったんですよね。

で、GTX650をAmazonでググったところ、DVIが2ポートついてて小型でしかも補助電源いらずってのがあったので、またまた玄人志向のお世話になることにしました。

1385837_10202184370917599_1674972461_n

■とりあえず不調が1つ治った

もう随分前、Windows7の頃からなんですが、コールドブート後にログオン画面になってすぐにログオンすると画面が真っ黒のままになる現象が出ていました。デスクトップアイコンも出ず。マウスカーソルだけは反応するんだけど、結局Ctrl+Alt+Delして一旦ログオフしてから再度ログオンするとOKみたいな。あるいはログオン画面でしばらく我慢してサービス関係がひとしきり起動し終えた頃にログオンする、みたいなおまじない的な使い方をしてました。それが、グラボ交換でサクっと直り、実質のコールドブート時間が大幅に短縮。これだけでもう買って良かったと感激しきりw。

■エクスペリエンスインデックスは微妙

まず構成ですが、CPUがi7/2600K定格。マザーはPCIex Gen3に対応してるんですが、CPUが初期Sandy BridgeなのでGen2までしか使えず、Gen3対応のGTX650の実力が出し切れていない可能性があることをお断りしておきます。

Windows8エクスペリエンスインデックスは7.1->7.2の微妙な差に。実は最初に測った時GTX260は6台だったんですが、ドライバを最新版に更新したらあっさり7.1に向上。そのあとで交換したらあまり変わりないことに。5年前のモデルとはいえ当時そこそこお高かっただけはあるんですかね。

GTX260

・交換前GeForce GTX260

GTX650

・交換後 GeForce GTX650

ちなみにこちらのCUDAの「Compute Capability」という指標をみると、GTX260は1.3、GTX650無印は3.0となっています。よくわからない指標ですが、APIのバージョン的なものではなく、9800GTを1.0とした比率だとしたら倍以上高速なはず。そして現時点で最高が3.5なのでなかなかのはず!

■TVMW5での効果

前提としてエンコード自体にCUDAを使う気はありません。エンコはあくまでx264。フィルター処理が軽くなればいいなと思っています(さすがにCUDAのエンコード画質はまだ保存には耐えないレベルだろうと)。でもまぁものは試しにとCUDAでエンコードさせてみると、同じフィルタ条件下(24fps化動き優先+逆プルダウン(縦縞除去)+リサイズ)で1分ソースが58秒が41秒と短縮されますね。

フィルタでは、通常の「ノイズ除去」程度では全く使ってくれずCPU100%。より演算負荷の高い「高精度ノイズ除去」でようやく20%ほどがCUDAの分担になるようです。処理時間は2分36秒と実時間の2.5倍ほどになるので、あんま普段には使わないかなぁ。ただCPUだけでやったら3分13秒なので効果は出てますね。30秒程度の差ですが、24分のコンテンツなら12分も変わってきます。

更に「スマートシャープ」上乗せどんっ。CUDA使用率は45%に。エンコ時間は2分52秒(CUDA OFFだと3分41秒)。ただまぁスマートシャープかけるなら、aviutl側でWarpSharpプラグイン使った方が仕上がりが好みなので、これもあんまり使う機会ないかな(^^;)。

 

てことで、重ためのフィルタをかけると効果は確実に出るけど、普段使いのレシピだとあまり出番がないかなという印象。CPUをIvy Bridge世代にものにすると、PCIex Gen3が開放されて速くなるかも?という期待がありますが、その分CPUも速くなるからCUDA使用率はどうなんだろとも。いずれにせよ今月はiPadも出るししばらくは手が出ないかな。

TVMW5でロゴ消し

今までMediaCoderをベースにしていたアニメエンコレシピを久しぶりに刷新しました。MediaCoderは様々なフリーツールを裏で呼び出して使うフロントエンドGUIツールで、今まではAviSynthでデインタレと局ロゴ消しをして、x264でmp4にエンコードするというレシピにしていました。MediaCoderは各種パラメーターがGUIで指定できて便利は便利なんですが、いまいち不安定な箇所もあります。最新版が良いとも限らないので迂闊にアップデートもできず、既に治ってるバグもあるかも知れないですが、ウチでは少なくとも、

・カンパしたのに定期的にIDを聞かれるダイアログがでてエンコが中断される

・カンパしたのにブラウザで広告ページが表示されたりしてウザい

・環境設定にFireFoxを使うのだけど、ついにFF最新版ではエラーが出るようになった(MediaCoderも最新版にすればいいんだろうけど、上記理由で勇気が要る)

など。そして、AviSynth(aviutl)によるデインタレ処理のスクリプトが難しく、色々ググってはマネしてみたんですが、単一のスクリプトで汎用性のあるものに仕上げられないでいました。

一方、デインタレでいえばTMPGEnc Video Mastering Works 5(以下TVMW5)で24fps化した方がずっと簡単で安定することはわかってたんですが、こっちは透過合成フィルタがなくロゴ消しができないので、仕方なく上述のMediaCoder環境を使っていた、という感じです(ここ2,3年位)。

それでもiPhoneやiPad、車載モニタで見る分には正直あまり気になってはいなかったんですが、最近は友達と遠隔同期視聴をしたりするので、PCモニタやプロジェクターで再生してやっぱガタガタだなぁ、と思う機会も増えてきたり。もともとチルト(縦スクロール)するカット(確かストパン2のED)がガタガタするのが気になってAvySynthを導入したんですが、気付いてみると最近はパン(横スクロール)がガタガタなのに凹む日々。

連休を使ってレシピの再検討を行いました。以上、毎度長い前振り。

■TVMW5でも局ロゴ消せる!?

なんでもっと早くググらなかったんでしょう。結論からいうとできました。正確にはaviutlで「透過性ロゴ」フィルタをかけただけの編集プロジェクトファイル(.aup)を作り、それをTVMW5にVFAPI経由で読み込ませます。aupファイル用のVFAPIプラグインはaviutlに添付されているので、TVMW5のフォルダに放り込んでやれば認識するので、環境設定画面で有効化してやればOKです。

以下、当面の手順メモです。個々のソフトの細かい操作方法などは割愛します。

・TMPGEnc MPEG Smart Renderer 4でCMカットする

tsを直接aviutlに食わせてたaupをTVMR5に食わせてからカット作業してもいいんですが、最近のTMSR4はCM検出機能とかついて便利なのと、aviutlに生tsを食わせるとGOP検出とかで読み込みに数十秒待たされるので、CMカットは従来通りTMSR4を使うことにしました。HDD容量的には中間のMPEGファイル作らなくて済ませられるのも魅力なんですが作業性優先で。ここで生成されるファイルは、CMカット済みMPEG2ファイル、以下(A)と、(チャプター付きmp4を作りたい場合は).keyframeファイル(B)です((B)は環境設定で自動的に出力されるようにできます)。ちなみに我が家ではここまでは録画機で行います。

・aviutlでロゴを指定して.aupファイルを生成

aviutlに(A)を読み込ませ、チャンネルにあったロゴをセットします。aviutlは最後に使ったロゴを自動的に適用してくれるので、同じチャンネルの番組を連続で読み込ませると作業性が上がりますね。aupファイル(C)は単なるプロジェクトファイルなのでサイズは小さいし一瞬で保存されます。

aviutlのコマンドラインツールとかで上手いことマクロ化すれば、(例えばチャンネル名をファイル名末尾に足しておいて)このaupファイル出力までを自動化できるのかも知れませんが、まだよくわかってないです。aviutlって局ロゴ透過ファイルを作るのくらいしか使ったことないので…

・TVMW5に(C)を読ませる

VFAPIフィルタが正しく設定されていれば、普通にプロジェクトにドラッグとかで一括投入できます。ただしaviutl側でAC3音声を認識できてないせいか、TVMW5側でも音声トラック無しとして読み込まれます。そこで音声トラックとして手動で(A)を再指定します。(A)は映像と音声が両方入ったファイルですが問題なく音声トラックだけが利用されます。またkeyframeファイル(B)はここでは使いません。TVMW5にはキーフレームをiOSのチャプターとして出力するというチェックボックスがありますが、ウチでは機能してないっぽいので(コンテナ拡張子を.m4vとかにしたらいいのかも?)。また、keyframeファイルを読み込ませると、プラグインがクラッシュするっぽいです。エラーダイアログを無視して進めればいいだけなのでサムネイル生成に失敗してるのかな?まぁ鬱陶しいのには変わりありません。

・TVMW5でエンコする

TVMW5もH.264なmp4はx264を使うので、MediaCoderの時と同じです。もともとパラメーターを似せた出力テンプレートを作ってあったのでこれを指定。またフィルタも24fps化(動き優先)や軽くノイズ除去を適用したテンプレート作っておいて一括適用。この辺り、なるべく数をまとめてエンコした方が効率は良いです。

 

単に再生できりゃいいという方ならここまで。以下はチャプターやメタタグ、アートワークなどを一括処理する為の追加レシピです。

・keyframeファイル(B)からiOS用チャプターファイルを生成

自作のdgKeyframe2Chapterというツールを使い、.chapters.txt形式のファイル(D)を作ります。

・各種付随ファイルを統合して、高機能mp4ファイルを生成

iOSやMPCHCでチャプターを認識し、iTunes上で「TV番組」として認識して番組名やエピソード番号、サブタイトルなどが正しく表示され、更にはアートワークまで表示されるmp4ファイルにします。

AtomicParsleyというコマンドラインツールを使えば良いのですが、バッチ処理のためのGUIフロントエンドツールdgMP4Taggerを公開しています。

  • .mp4ファイル
  • .chapter.txtファイル(チャプター情報)
  • .jpgファイル(アートワーク用)

の3つを合成して新しいmp4ファイルを作ります。詳しくはリンク先や同梱のマニュアルをご覧下さい。

 

とまぁ、電子書籍レシピ同様、相当な物好きじゃなけれ
ばマネできない手順ですが、とりあえず自分の記録のために書き留めておきます。新旧レシピの比較としては、

  • パンニングなどのカットが滑らかに動くようになった
  • 動画解像度(?)も上がった気がする
  • サイズが20%程度縮まった!
  • エンコ時間が若干伸びた?(たぶんノイズ除去フィルタの分)

という変化が。今までインタレ解除がヘッタクソだったせいで、何フレームか毎に写真のような混合フレームができちゃっていました。再生ソフトでポーズかけまくってるとこういうフレームに遭遇します。当然圧縮には不利でしょうし、なによりこうした物理的にブレたフレームが混じることで見た目も悪くなります。新レシピだとスペースキー連打しまくってあちこちでポーズしてもこうしたフレームが見当たりません。

mixedframe

実際にはインタレ解除ってもっと奥が深くて、こだわってる人は番組毎、下手するとエピソード毎に最適なデインタレレシピを適用しているようですが、σ(^^)はさすがにそこまでの手間はかけたくありません。なので、TVMR5のそこそこのインテリジェントさにおまかせできるのがこのレシピの最大のメリットですね。また、ソフトとして安定度が上なのも大きいです。複数本のバッチ処理をかけて安心して寝ることができます。もっと早くググってレシピを見直すべきだったと反省しきり。

さて、これで何年戦えるんでしょうね。最近はBDレコーダーやnasneなどでもH.264のハードエンコができるようになったし、iOS端末から直接、しかも外出先からも視聴できるような環境が整ってきています。そろそろソフトエンコの時代でもないだろ、という気も。ただやはりそうしたハードエンコは画質的にはまだ微妙でブロックノイズ等が気になることが多いし、やはりOPスキップなどがフリックでできる拙作「おやゆびでお」+自作ライブラリサーバーの方が快適なんだよなぁ(ステマ)。

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上で作成し、表示できるアプリを作ってリリースすればいいのかもですね。ニーズがあればチャレンジしてみようかな?