Windows Phone 7 を30日間使ってみた: 21日目
スマートフォンは、スイスアーミーナイフのような存在で、複数の機能を同時に実行できることが求められることがよくあります。本日の「Windows Phone 7 30 Days With Windows Phone 7」の記事では、Microsoftが「Mango」でマルチタスクをどのように処理しているかを詳しく見ていきます。
マルチタスクは、Windows Phone 7の発売当初から搭載されるべきだった機能の一つです。しかし、MicrosoftはAppleに倣い、Windows Phone 7のコア機能に基本的なマルチタスク機能を実装したものの、ほとんどのアプリは対象外としました。「Mango」では、MicrosoftはAPIを公開し、開発者がマルチタスク機能を活用できるようにしています。

真のマルチタスクではない
まず最初に言っておきたいのは、「Mango」のマルチタスクは真のマルチタスクではないということです。ほとんどのアプリは、状態を保持したままアプリを切り替えるようなもので、いわば休止状態や一時的なアニメーションのようなものです。これは、バックグラウンドでもプログラムが実行し続けるWindows 7 PCでのマルチタスクとは異なります。
「Mango」の疑似マルチタスク機能は、AppleがiOSのマルチタスク問題に対処した方法と非常によく似ています。音楽再生アプリなど、一部のアプリはバックグラウンドでも動作を継続できます。しかし、ほとんどのアプリは実際にはバックグラウンドでアイドル状態になり、切り替えるとすぐに中断したところから再開できます。バックグラウンドで動作しているアプリでも、スタート画面のライブタイルを更新したり、プッシュ通知を受け取ったりすることはできます。
戻るボタンを長押しすると、マルチタスクアプリにアクセスできます。アプリはサムネイル表示されるので、前後にスワイプして現在起動中のアプリを確認し、開きたいアプリをタップできます。Mangoではマルチタスクアプリは最大5つまでしか起動できず、6つ目のアプリを追加すると最も古いアプリが自動的に削除されます。マルチタスクが全くできないよりはましですが、マルチタスク中にアプリを開いたままにする必要がある場合は問題が発生する可能性があります。
現時点では、マルチタスクを実際にテストするのは困難です。マルチタスクを活用するように設計されたアプリはほとんど、あるいは全く存在しないからです。しかし、マルチタスクを活用するように設計されたアプリは、マルチタスクのトップ5リストから外れた後も、その状態を維持しているようです。
一部のアプリはマルチタスクに関して少々おかしな動作をします。例えば、YouTubeは単一のアプリですが、YouTubeアプリはYouTube本体、Internet Explorerのバックエンド、そしてクリップを再生するためのMusic+Videosという3つの異なるマルチタスクタブを同時に開くため、マルチタスクスロットを2つ以上使用してしまいます。
正しいアプローチ
真のマルチタスクを求める人や、iOSやWindows Phone 7のようなモバイルOSにそれが欠けていると指摘する人が常にいるようです。個人的には「誰がそんなこと気にするんだ?」と思います。
スマートフォンのディスプレイは平均4インチしかありません。複数のアプリを開いて、画面の左側にWord Mobile、右側にIE9ブラウザといったように並べて表示することはできません。画面サイズには限界があるため、スマートフォンでのマルチタスクはアプリ間の切り替えになってしまいます。
Microsoftのアプローチにより、「Mango」はバッテリー寿命を節約し、処理能力とメモリリソースへの影響を最小限に抑えながら、この成果を達成しています。アプリが状態を記憶し、中断したところから再開してくれる限り、使用していないときにバックグラウンドでマルチタスクを実行するかどうかは、あまり気にしません。
前回の「30日間」シリーズを読む: 30 Days With Google+
20日目: VPN はどこですか?
22日目:「マンゴー」と話す