iPhone, Push Notification Service, MobileMe

うさんに「日本語で」って言われたので、ちょっと書いてみる。
初見で「MobileMeとPush Notification Serviceが要注目」と思ったことについて。

今までの携帯電話って、基本的に「着信機能」についてはサードパーティーに開放されてなかったのよね。
電話の着信は当たり前として、メールにせよSMSにせよ、何らかの着信を受けるという権限は電話会社が占有してたわけで、サードパーティが何かしら待ち受けからアクションをするようなアプリをでっちあげようと思ったら、自前でポーリングでもして擬似的に待ち受け処理をせにゃいかん。これは結構面倒くさい。

まず第一にアプリがバックグラウンドで動作してないといけない。この時点で国内の携帯電話はほとんど全滅。スマートフォンかNokiaならいけるという感じ。
その上でポーリング処理による疑似待ち受け処理を自前で実装せにゃいかん。回線はちゃんと繋がっているか、途中で落ちたらどうするか、不確定要素いっぱいのイベントドリブンな処理をポーリングで実装することの不毛っぷりはうさんもよくご存じの通り。しかもそんな疑似待ち受け処理を実装したがってるのは自分だけとは限りませんわな。インターフェースの掴み合いやらなんやらとやらにゃいかんことは山ほどあります。
で、まぁ頑張って実装しました、でも動かす実機はLow Power & Less Memoryなバッテリー駆動メインの携帯端末なわけです。ずっと動いてりゃ当然CPUサイクルは食いますわな。てことはバッテリーも食いますわな。しかもそんな状態になってるのは自分だけとは(以下省略)。

この部分を全部面倒見てくれるのがPush Notification Service。ポーリングで疑似待ち受けなのは同じなんだけど、システムレベルで一本化してサポートしてくれるのがポイント。
サーバ側から端末へ通知を送信する場合はAppleの通知サービスへ通知内容を登録。待ち受けアプリ側は通知の着信時に起動するアプリを登録しとけば、バックグラウンドでシステムがポーリングしてAppleのサーバからメッセージを取ってきて、処理すべきアプリを起動して投げてくれると。たぶんこんなイメージ。

ものすごく単純な仕掛けだけど、これがあるだけで着信ドリブンなアプリを作るのがえらい楽になる。
リアルタイムな要求には不向きだけれど、そこらへんは割り切って考えましょうということで。
とにかく重要なのは、サードパーパーティのアプリに対して「着信機能」をシステムレベルで開放してくれるってこと。 ここから広がる可能性は今までの携帯電話とは比較にならないと思うんだけど。

で、その仕組みを使ったらどんなことができるかってことの実例がMobileMe。やってることはPOP/IMAP受信とデータ同期なんだけど、Push Notification Serviceを使うことでスマートさが段違いに違う。
今までWindows Mobileを載せたスマートフォンでもPOP/IMAPはサポートしてたけど、基本的に自分で受信しにいかないと着信できない。サーバプッシュで受信できるのはキャリアのメールだけだった。
でもiPhoneとMobileMeではPOP/IMAPメールをPush Notification Serviceを使ってサーバプッシュで受信するんだよね。スケジュールやらアドレス帳もそう。変更通知をPush?Notification Service経由で受けて、自動で変更内容を取りに行って、ローカルのスケジュールやらアドレス帳を更新する。アプリ立ち上げて、同期して、みたいなのとはスマートさが全然違う。このサービスレベルは今までの携帯電話ではまずありえない。

でもこの仕組みの一番のえげつなさは、音声通話とパケット通信以外のサービスをキャリアに関係なく自分で実装できちゃうっていうこと。今までは「着信機能」を持てないがためにキャリアでしか実装ができなかったものも自分たちで実装できるようになる。要するに「お前らはちゃんとデータを流しさえしてりゃいいんだよ」とキャリア各社に申しておるわけですよ、Appleは。
MobileMeはそのことをはっきりと見せつけるためのデモンストレーションみたいなもんで、現実にMobileMeのメール実装は「キャリアのメールサービスなんか使わなくても自前でどうとでもできる」ってことをやって見せてるわけですよ。
しかもそこから金を取るつもりでさえいるわけですよ。今までならキャリアが「オプションプラン」とかいってあれやこれやと取ってた金を、キャリア抜きで直接客からぶんどっちゃおうと。えげつないよねぇ。
しかもしかも、Push Notification Serviceはシステムサービスなわけだから、サードアプリも同様にやれるわけですよ。例えば携帯電話ではよくあるニュースなんかの配信サービス、あんなのもキャリア抜きで実装できる。その上MobileMeがやってみせたように、自分たちでサービス利用に課金することだってできる。そこらへんのサポートはiTunes App Storeでバッチリサポートってことでキャリアの出番はまったくなし。
Apple的にもっとえげつなく行けば、Push Notification Serviceを経由するサービスに対して1プッシュごとにナンボ、って課金することだってできる、つーか課金するでしょやっぱり。
で、携帯キャリアからしたら「音声通話料とパケット料金以外は丸裸」という想像するだに恐ろしい地獄絵図。

携帯キャリアが築いてきたビジネスモデルをぶっ壊した上においしいところだけ根こそぎ持って行こうというこの姿勢、これをえげつないと言わずして何というのかと。

まぁ現実にはiPhoneなんていらない客層ってのも確実にいますから、すべてがこれでひっくり返るとは思わないですけど、何が起きるのかワクワクするなぁ、と愉快な世界を想像しておったのですが、どないなもんでしょうか?>うさん

?

“iPhone, Push Notification Service, MobileMe” への 6 件のフィードバック

  1. 菊ちゃん。。。相変わらずすげぇな。。。 めっちゃようわかったww
    いろいろようわかった。
    DoCoMoから出ない理由もなんか分かった気がするwwww

    真っ先にプッシュトークが。。(・∀・)ニヤニヤ

    確かにどんなことが出来るのか楽しみではありますな?
    ネトゲとか、遠隔セキュリティシステムとか。。。
    外出中でも家のインターフォンに出れそうだわww

    でもさ。。。。それって電話として考えたら別にいらんなぁ。。とも思っちゃうワケで(^^;
    ワンセグもしかり。。。。。。

    でも、ここ最近ではない新しい技術というか、試みというかなのでどう育っていくか見てみたい^^

  2. > でもさ。。。。それって電話として考えたら別にいらんなぁ。。とも思っちゃうワケで(^^;

    その通りやと思うよ(笑)。
    でもそれって「電話の多機能化」やと考えるからであって、「電話もできる多機能端末」って立ち位置でしょう>iPhone

    > DoCoMoから出ない理由もなんか分かった気がするwwww

    DoCoMoから出ないのはむしろ必然。上納金云々とかいうレベルで済まない金額をかっさらわれる事になりかねないもんね。
    その点SBMはコンテンツ部門はYahoo!に丸投げな上にYahoo!自体も単体で利益出してるからダメージが少ない。受けるダメージよりも「iPhone獲ったどー!!」で受ける利益が上回ったんでしょうな。
    で、iPhoneが出たらYahoo!のサービス自体をiPhoneフル対応にするんじゃない?Yahoo!オークションの出品情報とかをPush Notification Service経由で受け取るiPhone Widgetぐらい当たり前のように出そうな気がするよ。

  3. Push Notification Service についての見解を求めてあちこち読み歩いていたところ、
    このエントリに当たりました。
    あまりのわかりやすさと洞察力にひっくり返りました。
    あらためて、あちこち読んでみようと思います。

    どうもありがとうございました!

  4. ピンバック: アンカテ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です