iPhoneにマルチタスクはいらない
いつもtwitterで楽しく見させてもらっている @motomaka さんのブログにこんな記事が書いてあった。
iPhoneにおけるマルチタスクの必要性 ー もとまかのiPhone・iPod touch戯れ日記
実際、JailbreakしてProSwitcherやBackgrounderを活用している身としてはマルチタスクは便利である。コメントにもあったが、ジョギングやランニングの距離をGPSを利用して記憶してくれるソフトを利用しているときに曲を変えたい時に、計測を継続させながらiPodを開いて変えることができたり、別のアプリケーションを起動しても、気づいたらサーバーにflickrにアップロード完了してたりするわけである。
だが、そもそもこれらは本当にマルチタスクでないとできないことなのか、というところ考えてみよう。
まず、上記に挙げた二つの例だが、両方共にマルチタスクは必要ない。そもそもだが、走っている最中にわざわざ画面をタッチしながら曲を変えることを求める人はどれくらいいるのだろうか。最初からプレイリストでも作って再生したまんまにすればいいではないか。曲を飛ばしたり戻したい時は純正のイヤフォンを使うか、サードパーティのリモコンを使えば解決する。さらに言えば、僕はRunkeeperの無料版を使っているのだが、有料版を買えば、アプリで計測中でもiPhoneのトラックなどをいじれるらしい。というわけで、そもそも現状でどうにでもなるのだ。
画像を自動でアップロードするのは、確かに必要である。だが、これは必ずしもマルチタスクが必要であるわけではない。各アプリがバックグラウンド動作に対応する必要性があるだけである。さらに言うと、アプリ自体が完全に起動している必要があるわけではなく、アップロードをする部分のみがバックグラウンドで動作して、完了した際に「完了しました」とポップアップなどが表示されるなどすればいい。iPhoneからYoutubeに動画をアップロードした際にはバックグラウンドでアップロードをしてくれるので、その機能をAppleがサードパーティに公開してくれればいいだけの話である。結論、現状ではできないが、求められるのは「マルチタスク」ではなく、動作の一部をバックグラウンドで継続可能にするAPIの公開、つまり、バックグラウンドプロセシングの開放、ということである。
では、改めて考えよう。マルチタスクは本当に必要なのだろうか。
マルチタスクとは、複数の動作を同時に稼動していることだと認識している。世間のiPhoneユーザーがどのような場合にマルチタスクを求めているか分からないが、もし仮に冒頭に書いたような例である場合は「マルチタスク」は必要ないだろう。世間が求めている「マルチタスク」は、バックグラウンドプロセシングとサスペンド機能で十分である。
先程のflickrのアップロードなどは、バックグラウンドで動作するようにすればいい。だが、マルチタスクを利用している身として利点をもう一つ上げるとしたら、アプリの復帰スピードである。当然、マルチタスクではなくても、サスペンド機能さえ実装されれば実現できる話である。それぞれのアプリ次第ではあるが、Safariなどはサスペンドが実装されると、開くたびにページを読み込み直さなくて済むだろう。
今年の夏に発表されると噂されているiPhoneがメモリやCPUの強化をするのであれば、多少のバックグラウンド動作やサスペンド機能を実装しても、iPhone本来のすべき動作に支障はでないだろう。また、バッテリーも強化されると予想(期待に近いが)、上記2機能は実現可能なのではないかと考える。
繰り返すが、これらはマルチタスクではない。あくまでも一部動作のバックグラウンド動作を可能にするバックグラウンドプロセシングとサスペンド機能である。よって、マルチタスクそのものは必要ないだろう。ただ、今後発表されるであろう次期OS4.0にはこれら2つの機能の実装を期待している。
もとまかさん
ご連絡が遅くなって申し訳ございません。今回iPadが出て、もとまかさんの仰っていたように起動が恐ろしく早いシングルタスク端末と仕上がってました。今後発売されるであろうiPhoneも恐らく同様に早いと良いですね…!
とりあえず僕は壮絶にiPadが欲しいです笑。
もとまかです。
ご紹介頂きまして、ありがとうございます。
遅くなってすみません(^^;;
バックグラウンドプロセシングの開放って考えは面白いですね。
確かにそれがあるだけで色んなことが出来そうだし、
終わったら処理が解放されてメモリ使用状態も元に戻る、
ちょうどAppStoreからダウンロードする時みたいな動作が
一般アプリでも実現出来そうで、非常に良いと思いました。
あくまでも私の感覚ですが、今の3GSでもまだモバイルとしての
理想の体感速度にはほど遠い、と思ってます。
ホームボタンを押して、ロック解除して、アプリアイコンをタップして、
目的の画面を表示させて、そうやって本来の目的に到達出来るわけで、
それが非常に煩わしく感じることが多いです。
もちろん、これまでのモバイル機器からすると飛躍的に速くて
使いやすいですが、ものが良いと、もっともっとと欲が出てくるもので(^^;;
なので、マルチタスク云々よりも、もっとシングルタスクでの
レスポンス、スピード感をアップさせて欲しいし、マルチは
それから考えても全然遅くないと思ってます。