MobileMeうさんに「日本語で」って言われたので、ちょっと書いてみる。Serviceが要注目」と思ったことについて。今までの携帯電話って、基本的に「着信機能」についてはサードパーティーに開放されてなかったのよね。電話の着信は当たり前として、メールにせよSMSにせよ、何らかの着信を受けるという権限は電話会社が占有してたわけで、サードパーティが何かしら待ち受けからアクションをするようなアプリをでっちあげようと思ったら、自前でポーリングでもして擬似的に待ち受け処理をせにゃいかん。これは結構面倒くさい。第一にアプリがバックグラウンドで動作してないといけない。この時点で国内の携帯電話はほとんど全滅。スマートフォンかNokiaならいけるという感じ。その上でポーリング処理による疑似待ち受け処理を自前で実装せにゃいかん。回線はちゃんと繋がっているか、途中で落ちたらどうするか、不確定要素いっぱいのイベントドリブンな処理をポーリングで実装することの不毛っぷりはうさんもよくご存じの通り。そんな疑似待ち受け処理を実装したがってるのは自分だけとは限りませんわな。インターフェースの掴み合いやらなんやらとやらにゃいかんことは山ほどあります。Memoryなバッテリー駆動メインの携帯端末なわけです。動いてりゃ当然CPUサイクルは食いますわな。ことはバッテリーも食いますわな。そんな状態になってるのは自分だけとは(以下省略)。ポーリングで疑似待ち受けなのは同じなんだけど、システムレベルで一本化してサポートしてくれるのがポイント。サーバ側から端末へ通知を送信する場合はAppleの通知サービスへ通知内容を登録。待ち受けアプリ側は通知の着信時に起動するアプリを登録しとけば、バックグラウンドでシステムがポーリングしてAppleのサーバからメッセージを取ってきて、処理すべきアプリを起動して投げてくれると。ものすごく単純な仕掛けだけど、これがあるだけで着信ドリブンなアプリを作るのがえらい楽になる。リアルタイムな要求には不向きだけれど、そこらへんは割り切って考えましょうということで。重要なのは、サードパーパーティのアプリに対して「着信機能」をシステムレベルで開放してくれるってこと。ここから広がる可能性は今までの携帯電話とは比較にならないと思うんだけど。その仕組みを使ったらどんなことができるかってことの実例がMobileMe。Serviceを使うことでスマートさが段違いに違う。Mobileを載せたスマートフォンでもPOP/IMAPはサポートしてたけど、基本的に自分で受信しにいかないと着信できない。サーバプッシュで受信できるのはキャリアのメールだけだった。Serviceを使ってサーバプッシュで受信するんだよね。スケジュールやらアドレス帳もそう。Service経由で受けて、自動で変更内容を取りに行って、ローカルのスケジュールやらアドレス帳を更新する。アプリ立ち上げて、同期して、みたいなのとはスマートさが全然違う。このサービスレベルは今までの携帯電話ではまずありえない。この仕組みの一番のえげつなさは、音声通話とパケット通信以外のサービスをキャリアに関係なく自分で実装できちゃうっていうこと。今までは「着信機能」を持てないがためにキャリアでしか実装ができなかったものも自分たちで実装できるようになる。要するに「お前らはちゃんとデータを流しさえしてりゃいいんだよ」とキャリア各社に申しておるわけですよ、Appleは。MobileMeはそのことをはっきりと見せつけるためのデモンストレーションみたいなもんで、現実にMobileMeのメール実装は「キャリアのメールサービスなんか使わなくても自前でどうとでもできる」ってことをやって見せてるわけですよ。そこから金を取るつもりでさえいるわけですよ。今までならキャリアが「オプションプラン」とかいってあれやこれやと取ってた金を、キャリア抜きで直接客からぶんどっちゃおうと。Serviceはシステムサービスなわけだから、サードアプリも同様にやれるわけですよ。携帯電話ではよくあるニュースなんかの配信サービス、あんなのもキャリア抜きで実装できる。その上MobileMeがやってみせたように、自分たちでサービス利用に課金することだってできる。Storeでバッチリサポートってことでキャリアの出番はまったくなし。Serviceを経由するサービスに対して1プッシュごとにナンボ、って課金することだってできる、つーか課金するでしょやっぱり。携帯キャリアからしたら「音声通話料とパケット料金以外は丸裸」という想像するだに恐ろしい地獄絵図。携帯キャリアが築いてきたビジネスモデルをぶっ壊した上においしいところだけ根こそぎ持って行こうというこの姿勢、これをえげつないと言わずして何というのかと。