Squirrel MailログインページをiPhone向けにカスタマイズ

iPhone OSのファームウェア2.1で、auの絵文字入りメールが全文文字化けするようになってしまいました。以前は絵文字部分だけが化けてたので内容は読み取れたのですが、今回は全文化けてしまうのでどうにもなりません。IMAPもMobileMeもダメです。

で、対策されるまでの一時しのぎで、文字化けメールが来た時はSafariからPHPベースのWebメールASPであるSquirrel Mailを使って読んでいるんですが、このログインページがデフォルトだと写真のように表示され、フォームの選択がやりづらい。ダブルタップでも拡大してくれず、ピンチで手動ズームする必要があります。

対策前

そこで、例によってmetaタグを追加して、iPhone/iPod touchで適当な倍率で表示されるようにしてみました。

なお使用中のバージョンは1.4.8です。

手を加えたのは、functions/page_header.phpです。30行目付近にページ先頭部分のHTMLが定義されているので、赤字部分を追加するだけです。PCでは解釈されず無視されるので影響はないはずです。

    echo ‘<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>’ .
         “\n\n” . html_tag( ‘html’ ,” , ”, ”, ” ) . “\n<head>\n” .
         “<meta name=\”viewport\” content=\”width=device-width, hight=device-height, initial-scale=0.8, \
user-scalable =yes\”>\n” .

         “<meta name=\”robots\” content=\”noindex,nofollow\”>\n”;

initial-scaleは0.8位だと縦画面でちょうど良い感じになりました。横画面メインの方は適宜調節してみて下さい。

対策後

こんな感じになりました。たかだかピンチ1回の手間ですが、省けるものは省いた方が気分が良いです(ピンチは片手持ちでできないので結構手間ですしね)。

iPhoneをファイルビューワーにするDataCase

少し前からサイトに情報はあがっており、AppStoreでの公開が待たされていたDataCaseが本日販売開始されていました。iPhone上で簡易ファイルサーバーを立て、PC/Macからファイルを転送。iPhone上のビューワーで閲覧、といったツールです。実は既に何本か同種のソフトが発売済みだったんですが、それらは転送プロトコロルにWebDAVを使っており、Vistaとの相性や日本語ファイル名が空白になってしまう問題を抱えていました。サードパーティのWebDAVクライアントを入れれば良いものの、普段あまり使わないWebDAVのためにツールを入れるのも面倒で敬遠していたところです。

で、DataCaseの場合はより汎用性の高いFTPを使っています。FTPなら常用マシンには全てFileZillaも入ってるし、文字コード指定してやればなんとかなるだろう、という判断で特攻してみました。

■PCからの転送

結果、VistaのExplorerからFTPアドレスを叩いてファイルを置いた場合、やはり日本語ファイル名が空白になってしまいました。が、FileZillaを使って、文字コードをUTF-8強制(自動はダメ)、転送モードをアクティブにしたところ、ばっちりでした。FileZillaは接続プロファファイルを作っておけば、使い勝手は悪くないので、個人的にはこれで満足です。

Macの場合は、AFP + Bonjourにも対応しているようなので、普通にFinderに出現して更に便利そげ。ウチの場合は不要なのでオフにしましたが(設定アプリで可能)。

共有フォルダは自由に追加でき、それぞれに対して、書き込み許可、読み出し許可、不可視、iTunesへのバックアップ、接続の度にiPhone画面に確認ダイアログの表示などをON/OFFできます。不可視にすると一覧で見えなくなるので、フォルダ名を知ってて自分でタイプしないと開けなくなります。簡易的な認証になるワケですね。iTunesへのバックアップもON/OFFできるのも気が利いてます。

■PCへの転送

当然これもFTPクライアントを使えばいいんですが、別にHTTPサーバー機能も持っていて、ブラウザから8080番ポートを叩けばアクセスできます(ダウンロードのみ)。誰かにファイルを渡すには便利かも知れません。

■本体ビューワー

Office系ファイル、PDF、テキスト、HTML、音楽、動画などiPhone自体が対応しているファイルはおおむね対応しているようです。50ページ程度のPDFは日本語も含めて普通に読めました。ページ指定ジャンプがないので不便ではありますが。テキストはUTF-8にしないとダメっぽいです。動画はiTunes経由では観られるはずの.mp4を置いてみたんですがダメでした。タップしても何も起こらず。バグかも知れません。フォルダ分けが自由にできる分、ちゃんと動いてくれれば(プレイリスト管理ができない)iTunes経由よりは便利かも知れません(レジュームできれば)。

 

出先で同一サブネットの無線LANネットワーク下に入るということはあまり考えられないので、USBフラッシュメモリの代わりにはならないと思いますが、

  • 各種ドキュメントをフォルダ仕分けしつつiPhone上に保存し、閲覧できる
  • iTunes同期しているマシン以外からでも保存できる

などはメリットだと思います。路線図とか時刻表などのPDF/HTMLデータなんかを入れておくと便利そげ。

ひかり電話 vs ホワイトプラン(Wホワイト)

前エントリで、iPhone上の番号に固定電話からかけることが簡単になったワケですが、そこまでして固定電話を使うメリットがあるのか?という疑問が湧いたので、あらためて料金比較などしてみる。

  ひかり電話 ホワイトプラン Wホワイト
固定電話へ 8.4円/3分 21円/30秒
(15倍)
10.5円/30秒
(7.5倍)
携帯電話へ DoComo/イーモバは16.8円/60秒
それ以外は18.374円/60秒
Softbankは昼間無料
他は21円/30秒
(2.28~2.5倍)
Softbankは昼間無料
他は10.5円/30秒
(1.14~1.25倍)
PHSへ 10.5円/60秒(区域内)
10.5円/45秒(~160km)
10.5円/36秒(160km超)
21円/30秒
(区域内で4倍)
10.5円/30秒
(区域内で2倍)

(倍率は1分以上通話した場合で計算)

 

ホワイトプランはもともと通話料は高めのプランですが、半額のWホワイトにしてもまだひかり電話の方が安いんですね。

固定電話相手の場合、その差7.5倍(固定電話の場合)。うむ、これは自宅にいる時は自宅からかけましょうってことですね。まぁ、これは当たり前。

疑問だったのは携帯電話の場合。ケータイならケータイ同士の方が安いんじゃ?という気はしてたんですよね。が、これもやはり固定電話からかけた方が安い。Wホワイトなら微妙だけど、ホワイトプランなら倍違う。PHSはケータイ以上に差が大きい。

基本、いつでも固定電話(ひかり電話)からの方が安いと判明。周りにあまりSoftbankユーザがいないので、無料サービスはあまりお得感がない。問題はWホワイトの+980円/月が得してるかどうかですね。iPhone購入時に強制加入させられたWホワイトを維持するなら対ケータイは誤差の範囲と見ることも。

ホワイトプランにしたのが6月。6月の通話料は2,230円。7月は1,480円。Wホワイトは980円払って半額になるサービスなので、\1,960が境界線。一勝一敗ってワケですね。まぁ、当分つけときますか。

iPhoneからAsteriskで発信するAsteriskC2D

AppStoreにAsteriskC2D[iTunesで開く]というアプリがあります。説明によるとiPhoneからAsteriskでダイヤルできるようなことが書いてあります。まさかSIPクライアント!と期待するワケですが、残念ながらダイヤルしてくれるだけ。実際の通話は別のSIP端末でする必要があります。

なにが便利かというと、iPhoneの電話帳に登録済みの番号へ固定電話(Asterisk)からかけたい、なんて時にiPhone上の番号を見ながら電話機のテンキーを叩かなくていい、って位ですね。\115とは言え、有料アプリ買ってまでしたいことかどうかは微妙です。

でも物好きなので試してみましたw。AppStoreの説明読んでも具体的にどう機能するのかさっぱりだし、探しても日本語の情報(どころか英語も)が見つからなかったので書いておきます。

■動作の仕組み

Asterisk(とWebサーバー)が動いているマシンに、専用のPerlスクリプトをインストールし、iPhoneからはhttpでそれを叩いているようです。Perlスクリプトは(必要ライブラリからして)Asteriskにtelnetして操作をしているようです。公式サイトによれば、元々はMac用のクライアントが主みたいですね。ブラウザ上で表示している番号などに簡単に発信するためのソフトのようです。ただし、iPhoneの場合は連絡先に登録した番号を呼び出せるだけ。まぁ、OSとしてコピペがない以上、どうしようもないんでしょうね。

■実際の操作手順

iPhoneにAsteriskC2Dアプリをインストールすると、設定画面にAsteriskC2Dという項目が追加されるので、そこから設定を済ませておきます。Extension欄に通話に使いたい電話機のSIP番号を指定します。UsernameとPasswordはLDAPを使う場合のもので、使わないのであれば、後述の設定をしておけば設定しなくて良いのかも知れません。

次にAsteriskC2Dアプリを立ち上げます。押せるのはContactsボタンのみ。押すと文字通り連絡先画面が開き、番号を選ぶと最初の画面に戻ってきます。

この状態で既に発信作業は行われており、間髪をおかずしてExtensionで指定した電話機が鳴ります。芸が細かいことに、発信者番号は発信先のものが表示されます。つまり、Aさんに発信した場合、あたかもAさんからかかってきたように見えるわけです。

電話を取ります。するとその時点で発呼がかかるようで、受話器からは呼び出し音が聞こえ、相手が出ると通話が開始できる、という流れです。

■サーバースクリプト導入のTips

サーバー側の設定は公式サイトに解説ページがあります。ただ少しいじる必要がありました。まずウチはLDAPを使っておらず、またCPANのライブラリもサクっとインストールできなかったので、LDAP関連の部分を無効化しました。

#use Net::LDAP;

設定部分直後の下記3行もコメントアウト 。

#my $ldap = Net::LDAP->new($LDAPServer, debug=>0) ||die "$@\n";
#my $ldapbind = $ldap->bind("uid=$in{‘username’},$LDAPSearch", password => $in{\’password’});
#if ($ldapbind->is_error()) {print "NO! username/password incorrect\n"; die "username/password incorrect: $in{‘username’} -> $in{‘password’}";}

また、番号の先頭に無駄に9を追加するので、 下記の行もコメントアウト。

#if ((substr($exten,0,1) ne ‘9’) && (length($exten) > 4) ) { $exten = ‘9’.$exten; }

あと、このスクリプト自体が勝手に呼ばれないよう、Apacheのアクセス制限で、LAN以外からはdenyするようにしておきます。同時にディレクトリ名やファイル名も適当に変えておくといいでしょう。

このスクリプトは以下のようなURIで簡単に電話がかけられるので、他にも応用が利くかも知れません。

AsteriskC2D.pl?deskphone=[使いたい電話機のSIP番号]&toCall=[発信したい電話番号]

標準の天気アプリをリプレイス

あてにならないと言われているiPhone標準の天気アプリを置き換えます。

写真左が標準アプリ、右はその右下をタップして飛んだ先のYahoo!天気情報です。当たる外れる以前に、Yahoo!の方が、

  • 郵便番号指定のピンポイント
  • 週間ではなく3時間毎の予報(モバイルとしてはこっちの方が便利かと)

と便利です。複数の郵便番号を登録しておけば、複数地点も縦スクロールで閲覧できます。

 

IMG_0005 IMG_0003 

この状態でホーム画面にショートカットを置いておけば、使い勝手は天気アプリをなんらかわりません(開いた時点でネットアクセスするのはアプリも同じ)。少し前まではホーム画面用のアイコンが用意されておらず、ページのサムネイルになって見栄えがしませんでしたが、今日アイコンを作り直してみたところ、ちゃんと対応していました。これで見た目もアプリにひけをとりません。

IMG_0002

残念ながら不要になった標準天気アプリのアイコンをホーム画面で非表示にはできませんが…