[UPDATE1]TwiProwlの快適なプッシュ通知をAndroid端末でも

TwiProwlとは、Twitterのタイムラインを監視し自分宛のMentionやDirect Message、自分のツイートがお気に入り登録された時、リツイートされたとき等のイベントをほぼリアルタイムにiPhoneへプッシュ通知を送るRuby環境で動作するスクリプトです。これをAndroid端末で実現する方法をご紹介します。

[UPDATE1 2011年7月31日]
TwiProwl2.0からAndroidアプリのNotify My Androidにも対応しましたので以下のtwiprowlスクリプト本体を修正する作業は不要になりました。
参考エントリ:TwiProwl2.0はAndroidユーザにとって神アップデートだった

TwiProwlからの通知をNotify My Androidで受け取ったところ(通知バー)
Notification Bar of Galaxy SII
続きを読む [UPDATE1]TwiProwlの快適なプッシュ通知をAndroid端末でも

iPad&タブレットスタンドを購入

iPad用のスタンドを購入してきました。iPad2購入のためそれまで使ってたiPad1を親に譲ることにしました。かさばらず手頃な値段でと思ったのですが、これが意外に優れものでした。家族用のiPad1がもう一台あるので自宅用とあわせて2台欲しかったので、せっかくですから気になるものを2個選んでみました。

さすがにiPad自体が発売されてから1年以上経過してますし、値段も種類も様々です。ヨドバシカメラで悩むこと1時間。この二つを選びました。

  • オークス iPad用スタンド i Stool(アイ・スツール)
  • Bluelounge iPad タブレットスタンド Nest ネスト

値段的、機能的にもデザイン的にもほぼ一緒ですし、正直、この2台は甲乙つけ難いです。縦横いずれの方向にも立て掛けられて、かつ台座として適度な傾斜がありつつラバー素材なのでiPadを置いても滑らず安定しています。違う点はNestは小物を入れられるスペースがありますのでUSBケーブルやCamera Connection Kit等を収納できます。ただ、立て掛けるには後ろのトレイを引き出さなければなりませんので一手間が必要です。


オークス iPad用スタンド i Stool(アイ・スツール)
iStool-01

iStool-02

iStool-03

iStool-04


Bluelounge iPad タブレットスタンド Nest ネスト
Nest-01

Nest-02

Nest-03

Nest-04

先日はバッテリー充電用の収納スタンドを購入しましたが、今回は使用時のスタンドです。テーブルで作業したり、キッチンでレシピを見るのに立てかけたりできます。どちらもiPad以外のタブレットにも使えそうですし、ちょっとまだ自宅用にはどちらを残そうか迷っています。



Posted from DPad on my iPad2

iPhone4のためのcarrier.plistを自作する

SIMロックフリーのiPhone4を使っているといろいろなSIMカードで試してみたくなるものです。しかしSIMカードを入れ替える都度にAPN設定などは非常に手間ですから、これをSoftBankの黒SIMを入れたときのように各種設定を自動認識してくれるようにする方法です。

SIMロックフリーのiPhone4を購入し、かつJailBreakするユーザであれば自己責任という言葉をご存知かと思います。このエントリの内容は無保証です。*日本国内のSoftBank用にSIMロックされたiPhone4では確認していません。

キャリア設定ファイルはどこにあるのか

オフィシャル・キャリア・パートナー(SoftBankやat&tなど)のキャリア設定ファイルはiOSに実装されています。 /System/Library/Carrier Bundles/iPhone/に各キャリアのディレクトリがあり、同じ場所にシンボリックが設定されたPLMN(MCC/MNCを組み合わせ)コード名のディレクトリがあります。iPhone4にSIMカードを挿すと、PLMNコード(例えばドコモや日本通信は44010、SoftBankは44020)を認識し、Carrier Bundles以下にある設定ファイル(carrier.plistなど)をロードします。設定ファイルにはAPN設定やキャリアロゴ等の情報が記載されています。

ドコモや日本通信の設定ファイルはどうなっているのか

ドコモや日本通信はこの設定ファイルが用意されておらず「その他不明」という扱いをされてしまうのでUnknown.bundleがロードされます。その他不明なSIMはAPN設定やキャリアロゴ表示情報が用意されていませんので、ドコモSIMやプラチナSIMを入れ替える都度、たとえばAPN情報は設定.app>一般>ネットワークから自分で入力しなければなりません。

ドコモや日本通信もSIMカードを挿して自動設定させたい

設定ファイル(carrier.plist)にアクセスするにはJailBreakしなければなりません。iPhoneのデータ通信を司るCommCenterはサインなしのcarrier.plistを認識しないため、Cydiaにレポジトリ(http://cydia.iphonemod.com.br)を追加して、iOSバージョンに対応したCommCenter Patchを適用する必要があります。

日本通信のtalking b-microSIMプラチナサービスのcarrier.plistを自作する

必要な設定ファイルと格納場所を作ります。手っ取り早く作るにはUnknown.bundleにあるcarrier.plistをベースにします。その他、version.plist、info.plistも母艦にコピーします。母艦でProerty List Editor等を使って、carrier.plistにAPN設定とキャリアロゴ表示、FaceTimeアクティベーション(成功事例は未確認)に必要な情報を追記します。info.plistは必要に応じて変更します。作業の前には必ずバックアップをとりましょう。

サポートSIMに日本通信(ドコモFOMA網)のPLMN(Public Land Mobile Network)コードを追記します。Unknown.bundleのcarrier.plistにはオフィシャルサポートするキャリアのPLMNコードが全て記載されていますので、その最初でも最後でも構いませんので追記します。

<key>SupportedSIMs</key>
<array>
<string>44010</string>
</array>

FaceTimeのアクティベーション関係

<key>PhoneNumberRegistrationGatewayAddress</key>
<string>+447860015000</string>
<key>RegistrationOptInRequired</key>
<true/>

設定内容の詳細は、”日本通信のプラチナSIMでiPhone4のFaceTimeはアクティベーションできないのか?“をご参考まで。

キャリアロゴ表示関係

<key>StatusBarImages</key>
<array>
<dict>
<key>AllowPrexMatching</key>
<false/>
<key>CarrierName</key>
<string>NTT DOCOMO</string>
<key>DefaultImage</key>
<string>Default_CARRIER_NTTdocomo.png</string>
<key>FullScreenOpaqueImage</key>
<string>FSO_CARRIER_NTTdocomo.png</string>
<key>StatusBarCarrierName</key>
<string>NTT DoCoMo</string>
</dict>
</array>

キャリアロゴについて、詳しくは”iPhone4/iOS4.3.Xにドコモのキャリアロゴを表示する方法【iPhone JB】“をご参考まで。

APN設定関係

<key>apns</key>
<array>
<dict>
<key>apn</key>
<string>dm.jplat.net</string>
<key>password</key>
<string>bm</string>
<key>type-mask</key>
<integer>1</integer>
<key>username</key>
<string>bm@ios</string>
</dict>
<dict>
<key>apn</key>
<string>dm.jplat.net</string>
<key>password</key>
<string>u300</string>
<key>type-mask</key>
<integer>48</integer>
<key>username</key>
<string>u300@ios</string>
</dict>
<dict>
<key>apn</key>
<string></string>
<key>password</key>
<string></string>
<key>type-mask</key>
<integer>0</integer>
<key>username</key>
<string></string>
</dict>
</array>

type-maskについて補足しておきますと、この数字には意味があります。
 0:無効
 1:データ通信
 2:ビジュアルボイスメール
 4:MMS
 48:テザリング

プラチナSIMの場合は、データ通信とテザリングのAPNが分かれていますので、それぞれのtype-maskについて”1″と”48″を設定します。これがSoftBankの黒SIMは”7″ですから、smile.worldには「1:データ通信+2:ビジュアルボイスメール+4:MMS=7」という設定が割り当てられていることがわかります。この時、APN側が対応していない組み合わせを指定してしまうと設定内容は無効になりますので注意してください。

Unknown.bundle以外で使用する場合はinfo.plistの修正も必要になります。info.plistをProperty List Editor等で開いてCFBundleExecutableキーを”Unknown”から適当な名称(例:bmobile)に変更します。またCFBundleIdentifierを”com.apple.Unknown”を”com.apple.bmobile”等に変更します。

iPhone側の準備をしてファイルをアップロード

carrier.plistの編集が完了したら、設定ファイルを格納場所をiPhone側に作ります。Unknown.bundleで構わない場合は、/System/Library/Carrier Bundles/iPhone/Unknown.bundleにcarrier.plitを戻します。

Unknown.bundle以外で自作する場合は、/System/Library/Carrier Bundles/iPhone/にinfo.plistで修正したバンドル名を使用したディレクトリを作ります。上記の場合だと”bmobile.bundle”と、”.bundle”を付けるのを忘れないでください。このディレクトリにcarrier.plist、version.plist、info.plistをアップロードします。

※キャリアロゴを変更する場合は、必要に応じて画像ファイルもアップロードします。

そしてPLMNコード(44010)でUnknown.bundleまたは自作したディレクトリ(bmobile.bundle)にシンボリックリンクを設定します。

適用されているかどうかを確認する

リブートして作業は完了です。これで差し替える都度、APN設定する必要がなくなりました。ただしく反映されない場合は、iFile等で/var/mobile/Library/Carrier Bundles/を確認します。正しく認識されていれば、Unknown.bundleまたは自作したディレクトリにシンボリックリンクされています。

/var/mobile/Libraryに”Carrier Bundle”がない場合は、CommCenter Patchが適用されていない、info.plistで指定したCFBundleExecutableやCFBundleIdentifierの名称とディレクトリの不一致、PLMNコードのシンボリックが正しくないなどが考えられます。/var/mobile/Libraryに”Carrier Bundle”があるが、正しく反映されない場合は、carrier.plistの中身に誤りがある可能性があります。

ちなみに、Cydia(”http://peaboo.net/apt/”レポ追加)からリリースされている”NTTdocomo Carrier bundle”をインストールしてAPN設定を追記すれば同じ作業の効果があるように思いますが未確認です。

なお、carrier.plistの設定内容については以下のサイトが大変参考になると思います。
Carrier.plist – The iPhone WiKi
Carrier Bundle – The iPhone WiKi

  

Posted from DPad on my iPad2

[UPDATE1]SoftBankのパケットロスが酷いというので日本通信と比較してみた

SoftBankのパケットロスが酷いということで、本当かなぁと思い香港版SIMロックフリーのiPhone4を使って日本通信のtalking b-microSIMプラチナサービスとソフトバンクiPhone4専用microSIMで比較してみました。

続きを読む [UPDATE1]SoftBankのパケットロスが酷いというので日本通信と比較してみた

アフィリエイト収入実績をスマートフォンにプッシュ通知する方法

さくらレンタルサーバーを活用してGoogle AdSenseとAmazonのアフィリエイト収入レポートをiPhoneやAndroid端末にプッシュ通知します。レンタルサーバー活用術としていかがでしょうか。これはiPhoneへの通知にProwl、Androidへの通知にはNotify My Androidを利用します。

続きを読む アフィリエイト収入実績をスマートフォンにプッシュ通知する方法

HTC Desire Sの起動まわりで気付いたこと

HTCが公式にブートローダーのアンロックを認めましたが、その範囲や方法については明らかになっていません。そのためDesire Sのroot取得を思いとどまっています(S-OFF可否の情報が未確認ということも要因ですが)。

‎”There has been overwhelmingly customer feedback that people want access to open bootloaders on HTC phones. I want you to know that we’ve listened. Today, I’m confirming we will no longer be locking the bootloaders on our devices. Thanks for your passion, support and patience,” Peter Chou, CEO of HTC
http://www.facebook.com/HTC/posts/10150307320018084

ブートローダーのメニューはいつものようにボリュームボタンの下側を押しながら、右上のパワーボタンです。ただし、シャットダウンの前に”Fast boot(高速ブート)”はオフにしておく必要があります。当然ですがS-ONの状態。HBOOTのバージョンは”0.98.0000″、RADIOは38.03.02.14_Mです。

HTC Desire S bootloader

Desire Sを購入して初めて知ったのですが、HTCのSense UIの機能なのでしょうか、高速に起動する”Fast boot(高速ブート)”という機能がありました。設定→省電力(Settings→Power)のメニューに項目があり、ここをチェックすると電源オフの状態から高速に起動させることができます。

desires-fast-boot

高速ブートがオフの状態で起動すると約60秒(実測)かかりますが、高速ブートをオンにすると約20秒(実測)で起動することができました。仕組みは理解できていませんが、おそらく終了時の状態をRAMに残しているだけだと思います。(高速ブートOnの状態で電源を落とし、バッテリーを一度外してから電源オンしたところ通常起動となりました)。

高速ブートはHTC Desire HDにも実装されていたようですが、聞いたことはありませんでした。Googleで検索しても詳しい説明が出てこないのであまり使われていない機能なのかも知れません。

TwiProwlをレンタルサーバーに導入する備忘録

TwiProwlをさくらインターネットのレンタルサーバーに導入した備忘録です。TwiProwlを自宅Macに導入した結果、この破壊力は凄まじく、今ではTwitterには欠かせないツールの位置づけになってしまいました。そこで、自宅Macを四六時中稼動させておくのもなんだと思い、ブログの引越し先であるさくらレンタルサーバーに導入してみました。

続きを読む TwiProwlをレンタルサーバーに導入する備忘録

HTC Desire Sを2週間ほど使ってみて

Desire Sを2週間ほど使用してみての感想です。前回の購入時のエントリのとおり期待を裏切りらない進歩を感じました。初代Desireで一番不満に感じていた内蔵メモリの少なくてすぐに警告が出るようなことはありませんし、初代のたまに出るモッサリ感はありません。

また、タッチパネルの精度というか操作性がかなり向上したように思います。初代Desireのキーボード入力はミスタッチがひどかった。iPhoneの感覚でタッチするとちょっとズレてしまうし、触れた感じがiPhoneは吸いついて滑るのに対して、Desireは滑らなずキュッと止まってしまう感じでした。それがDesire Sではかなり改善しているように感じます。ミスタッチや狙った場所と違うところをタップすることが減りました。慣れの問題なのかも知れませんが。

面白いものを入手したのでディスプレイの比較をしてみました。iPhone4に装着するマイクロスコープで初代DesireとDesire Sのディスプレイ画面の同じ画像を拡大(60倍)して撮影してみました。

Microscope1

例えば千円札の裏面右上にある「1000」の左側の3つのサクラの花びらの雄しべの先にカタカナで「ニ」「ホ」「ン」と書いてあります。肉眼で視認するのは極めて困難な大きさだと思いますが、クッキリと捉えることができます。

IMG_0027 IMG_0025

これを使って初代DesireとDesire Sのディスプレーを見てみました。まず、http://www.apple.comのトップページにあったiPhone4ホワイトモデルのDock内左の電話アイコンを拡大してみました。

desires-apple-websites

HTC Desire S
HTC Desire
02desires

04desires

01desire

03desire

拡大してみるとずいぶんと違うものですね。有機ELとTFT液晶との違いなのでしょうか。普通に使用している分には初代とDesire Sの違いはあまりわかりませんでしたが、iPhone4のRetinaディスプレイやGalaxy S2のスーパー有機ELはもっと目が細かいのでしょう。別の機会にご紹介します。

Desire Sのカメラの写真と動画のサンプルです。カメラは瞬時に起動しますし、タッチフォーカスはキビキビと反応して被写体に合わせてくれます。動画は720HDの割には画質に不満が残りますが、写真は500万画素ですが十分な水準ではないかと思います。


05desires

06desires

バッテリーについては使い方によって全然異なりますが、バッテリー容量は増えていますし、初代Desireよりは多少もつかなという程度です。購入したばかりなので、通常よりも操作している時間がないせいかも知れません。また、初代に比べて軽量化(マイナス5g)されたわけではありませんが、背面のアールが強くなりコーナーが丸みを帯びていますので小さく、軽く感じます。

グリップもいいですし、光学トラックボールと物理ナビゲーションキーはなくなりましたが、まったく気になりません。自分の手が小さいので、これくらいの大きさが本当にちょうどいい。わたしが片手で持った場合のタッチパネルの上下左右端から端までタッチ可能な限界のサイズかもしれません。


Notify My Android – AndroidにGrowl通知をプッシュするアプリ

AndroidにはiOSで当たり前のプッシュ通知機能に対応したアプリが少ないのが気になります。iPhoneやiPadではメールの着信やツイッターのメンションなどをいち早く教えてくれる非常に便利で、わたしにとってはなくてはならない機能のうちの一つです。

Androidマーケットに”Notify My Android”というGrowl通知をプッシュしてくれるアプリがありましたのでご紹介します。iPhoneのProwlアプリと同じような機能を持ちますので、使ったことのあるユーザはイメージできると思います。

Notify My Android 2.2.13
カテゴリ: 通信
Google Playで詳細を見る

続きを読む Notify My Android – AndroidにGrowl通知をプッシュするアプリ