マルチタスクは便利な反面、複数のアプリが動作することでバッテリ消費が進み、またバックグラウンドでのアプリ動作が前面で動作するアプリのパフォーマンスに影響を及ぼす可能性がある。それが、これまでAppleがマルチタスクの導入を避けてきた理由だった。
Appleが、iPhone OS 4でこれら問題にどう対処しているのかというと、まずApp Storeで配信されているアプリを精査し、iPhone OSアプリがマルチタスクで動作するのに必要なサービスを以下の7つに絞り込んだ。そして、これらのサービスが効率的にバックグラウンドで動作するようにiPhone OSに組み込んだ。
バックグランド・オーディオ
Voice over IP (VoIP)
バックグラウンド・ロケーション
プッシュ・ノーティフィケーション
ローカル・ノーティフィケーション
タスク・コンプリーション
ファスト・アプリ・スイッチング
iPhone OS 4では、これらのサービスをAPIを通じて提供する。これによりアプリ開発者は、7つのサービスを利用することで、バッテリやパフォーマンスに影響を及ぼさないマルチタスク機能をアプリに追加できるようになる。
では、7つのサービスを1つずつ見ていこう。
「バックグラウンド・オーディオ」
「バックグラウンド・オーディオ」はオーディオ再生をバックグラウンドで動作させるサービスだ。プレビューイベントではPandoraが、わずか1日で対応させたというネットラジオのバックグラウンド再生のデモを披露した。
「Voice over IP」(VoIP)
「VoIP」ではSkypeが登場した。現行のSkypeアプリでは、Skypeから違うアプリに切り換えるとSkypeでのコミュニケーションが途切れてしまう。またSkypeを使っていない状態ではSkype Callを受けられない。VoIPサービスを用いることで、Skype Callの待ち受けや他のアプリとの併用が可能になる。
「バックグラウンド・ロケーション」
「バックグラウンド・ロケーション」は、位置情報をバックグラウンドで継続的にアップデートするサービス。TomTomのようなターンバイターンのナビゲーション・アプリでは、これまでナビゲーション中は他のアプリを利用できなかった。バックグラウンド・ロケーションによって、例えば前面で音楽を再生しながら、同時に音声ナビを聞くというような利用が可能になる。
バックグラウンド・ロケーション・サービスではプライバシー保護に配慮し、アプリがユーザーの位置情報を取得していることを、画面上部のバーのインジケータを通じてユーザーがひと目で把握できるようにした。また設定でユーザーがアプリごとに位置情報取得の有効/無効を切り換えられるようにした。
「プッシュ・ノーティフィケーション」「ローカル・ノーティフィケーション」
「プッシュ・ノーティフィケーション」は9カ月前から提供済みのサービスだ。サードパーティの通知やアラートを、Appleがプッシュ・ノーティフィケーション・サービスを通じて一括してユーザーに提供する。新たに追加される「ローカル・ノーティフィケーション・サービス」は、サーバを介さず、ローカルアプリからの通知やアラートの提供を可能にする。
「タスク・コンプリーション」
「タスク・コンプリーション」は、作業が完了するまでバックグラウンドで作業を継続させるサービス。例えばFlickrアプリでは現在、画像アップロード中に他のアプリに切り換えるとアップロード作業が中断してしまう。タスク・コンプリーションが導入されれば、バックグラウンドでアップロード作業が進められる。
「ファスト・アプリ・スイッチング」
「ファスト・アプリ・スイッチング」は、アプリのすばやい切り換えを実現するサービス。バックグラウンドで動作させる必要がなければ、アプリの直前の状態をストアしてCPUを全く消費しない状態で待機させる。例えばゲーム中にメールが届いてゲームを中断した場合、ゲームはバックグラウンドで待機状態になり、ユーザーがメールを読んだ後にマルチタスク・ペインでゲームをタップすると中断したところから再開される。
タスクマネージャは「必要ない」
マルチタスクが可能になると、気になるのはタスクマネージャだ。動作するアプリが増えすぎると無駄にリソースが消費されるため、Android携帯ではユーザーが自身で不要なアプリを閉じるタスクマネージャ・アプリが人気である。iPhone OS 4ではユーザーがどのように動作中のアプリを管理するかというと、Jobs氏の答えは「必要ない」だった。
「iPadにスタイラスが必要だったらどうだろう? それはiPadではない失敗作だ。マルチタスクも、ユーザーがタスクマネージャを目にするのなら、それは機能していないことを意味する。バックグラウンドでどのアプリを動作させ、どれを閉じるべきかといったことを、ユーザーは一切考える必要がない。それが我々のフィロソフィーだ」と述べた。