AppleInsider: Apple の iPhone 4.0 ソフトウェアはマルチタスクサポートを提供か

原文: Apple's iPhone 4.0 software to deliver multitasking support

By Kasper Jade and Prince McLean
Published: Thursday, March 11, 2010 08:45 AM EST
Apple は今夏、長い道のりを経たのちに、iPhone ユーザからもっとも多く寄せられていた供給のひとつを提供して、批判を鎮めることになるかもしれない。同社は iPhone の 4.0 ソフトウェアアップデートでようやく一部のサードパーティ製アプリを同時に、そしてバックグランドで実行することを認めそうなのだ。
Apple の技術動向の予測に実績のある人々が AppleInsider に語ったところによると、同社は iPhone OS において「完全な解決策」を開発したという。ただし、そのテクノロジーがどうリソース確保やバッテリー持続時間 -- この件に関してセキュリティーと共にもっともクリティカルな問題 -- を最適化しているのかについての具体的な事柄は明かさなかった。
ユーザに直接関係する部分では、Apple 、すでに同社の Mac OS X オペレーティングシステムにバンドルされたインタフェーステクノロジーを梃にして、マルチタスクキングマネージャを提供する計画だ、と先の人々は語っている。 今は詳細について控えるように要請されている。というのも iPhone Software 4.0 はまだ開発途上にあり、成熟までにはまだ「かなりの道のり」が控えているとされているからだ。
現在の iPhone 3.x ソフトウェアは 完全なプリエンプティブなマルチタスクキング[和訳] オペレーティングシステムではあるものの、アプリ(Apple によってシステムにバンドルされた特定のもの以外)はバックグランドで実行できないよう、人為的に制限されている。

技術的な問題ではない
iPhone OS での「マルチタスクキング」をめぐる論争は、AppleiPhone 2.0 でサードパーティ製アプリを実行できるようにして以来ずっと人々の口にのぼっていた。 技術的欠陥としてはじまったとされることが多いものの、実際のところは iPhone OS でもまったく問題なくマルチタスクキングは可能だ。
同システムの電話、SMS、電子メール、iPodボイスレコーダNike+、そして特定のバンドルアプリでは、ユーザが他のアプリを立ち上げている最中にもバックグランドで実行を継続できる。 しかし、App Store から手に入れたサードパーティ製タイトル(Remote や iDisk といった Apple からのアプリも含めて)では同時に立ち上げることはできないようになっている。
この挙動は iPhone OS のセキュリティーモデルによって妨げられているものだ。このモデルでは、ユーザがホーム画面に戻ったり、電話に応答した場合にはかならず、その時点でアプリを閉じるように設計されているのだ。 このデザインのために、アプリはユーザが知らないうちにバックグランドで実行できないようになっており、そのためスパイウェアやウィルスの可能性を消し去っているのだ。

マルチタスクキングを可能にする
同システムをジェールブレークすることで iPhone OS のセキュリティーモデルを迂回でき、ユーザは複数のアプリを同時に立ち上げて実行できるようになる。 これはまた、マルウェアや幅広くはびこっている著作権侵害の両方にもドアを開くことになり、どちらも Apple によって設定された標準のセキュリティーシステムでは抑制されているものだ。
この Apple の施策によってプラットフォームの安全性は確保され、ユーザおよび開発者の双方にとって App Store が商業的に成り立つようになっているものの、こうした制約があっては実現できないアプリや機能のさまざまな例を挙げたの声高な批判が数多くある。
バックグランドで実行できるように求められているアプリの例としては次のようなものがある: パンドラスタイルのインターネットラジオ、SMS や電子メールと同じようにいつでも利用可能なサードパーティ製インスタントメッセージング機能、ユーザの位置情報を定期的にレポートしてくれる Loopt や Google Latitude のようなアプリ。

iPhone 4.0 の新機能
Apple がこうしたニーズに応えるにはさまざまな手法がある。 ひとつ目は、サードパーティ製アプリも、ちょうどバンドルされている Mail、SMS、iPod、Voice Memos と同じように、つねにバックグランドで実行できるアプリを起動できるようにすること。
これはマルチタスクキング可能な iPhone OS にとっては技術的な問題ではないが、ユーザにとっては新たな問題を引き起こすことになる。 というのも iPhone OS は従来型のウィンドウ型ユーザーインタフェースで表示をしないため、複数アプリを立ち上げることになると、ユーザが直感的にアプリ間を切り替えられるような新しいユーザーインタフェースメカニズムを加える必要が出てくる。
iPhone OS は、1990 年代の複雑な PC モデルの小型版などではなく、簡単に使えるモバイルデバイスを生み出すことを目的としてる。 AppleiPhone 2.0 発表の際に、 Windows Mobile の不親切な Task Manager を茶化していた。 今日の Android ユーザも同じように、バッテリー持続時間やパフォーマンスを最適化するためにリソースやメモリー管理に足を取られている。
iPhone 3.x にある既存のバックグランド動作が可能なアプリでは、画面トップに横線を表示して、ユーザが別のアプリをフォアグランドで使い終えたら(電話応答やボイスメモ、Nike+ セッションのような)バックグランドで動作しているアプリに戻れるようにしている。 しかしそのソリューションでは、実行されている複数のアプリすべてに一度に対処できない。

他のマルチタスクキング問題の修正
サードパーティ製アプリのマルチタスクキングモデルでは、切り替えのための新しいグラフィカルインタフェース(Mac OS X の Dock のような)に加えて、各アプリがお互いにやり取りする方法やリソース配分の優先順位付けのための方法も必要となる。 iPhoneiPod touch がモバイルゲームプラットフォームとして成功した理由のひとつには、iPhone OS でひとつのアプリに限ることでゲームをより複雑・洗練化でき、それでもモバイルデバイス上で優れたパフォーマンスを実現できるようにしているからだ。
他のモバイルプラットフォームでゲームが離陸に失敗している理由の多くは、ゲームタイトルがシンプルな体験に限られていることが挙げられる。というのも、こうしたゲームは、(Adobe Flash/Flash LiteMicrosoft Silverlight、Sun Java/Android Dalvik ランタイムのような)抽象化が不十分な処理レイヤー上で実行せざるを得ないようになっていたり、充分な数の開発者らを惹きつけられるような大きなインストールベースを持たないネイティブプラットフォームをターゲットにしているからだ。
多数のバックグランドプロセスをインストールしてしまうと、やがてはバッテリー持続時間やパフォーマンスを犠牲にせざるを得なくなるため、ユーザに混乱を引き起こさないような価値あるマルチタスクキング機能を追加するにあたっては、マルチタスクキングを提供していると謳っている他のモバイルプラットフォームであからさまになっているさまざまに些細な問題を解決することが必要なのだ。
考えられる解決策としては、フォアグランドアプリの状態を保存して待機させたり、バックグランドアプリの実行をスケールダウンさせたりして、複数アプリを実行してもモバイルデバイスで利用可能な限られたリソースを圧迫してしまわないようにすることだ。 そのどちらの解決策であっても、ユーザは大したデメリットを被ることなく、手早く実行中のアプリを切り替えられるだろう。 来ん日亜の iPhone OS では、ひとつのアプリから別のアプリへとジャンプするには一時的にホーム画面へと戻らなければならない。
より多くのシステム RAM とより高速なプロセッサーを搭載すれば、複数アプリ間を手早く切り替えたいユーザの体験を向上させていく助けになるだろう。
iPhone でもっとも要求されている機能のひとつであるマルチタスクキングは、Apple の携帯が発表されるたび噂が流れたものの(12[和訳]3[リンク切れ])、未だに当たったことはない。