iPhone OSにマルチタスク付けろとか付くとかいろいろうるさいですが、正直まともな議論は少ないと感じてます。
まず現状。電話かけながらSafariいじったり、音楽聞きながらアプリ立ち上げたり出来るのは使ってる人なら知ってると思いますが、当然これはマルチタスクです。なのでOSが対応してないというのは嘘。
次に、どんなアプリがマルチタスクして欲しいかという問題があります。マルチタスクの利点は主に、「起動時間の短縮」「前回の作業状態を保持」「バックグラウンドプロセス」あたりがあると思うのですが、起動時間は問題にならないだろうし、作業状態の保持もアプリで出来ること。バックグラウンドプロセスだけは無理ですが。
で、マルチタスクにしようとすると二つ大きな問題があると思います。UIとハードウェア。
まずUIですが、マルチタスクにすると確実に覚えることが増えます。まずマルチタスクの概念。次にタスク切り替えの操作。次にアプリの終了の操作。終了したつもりがしてなかったというトラブルが起きること間違いなし。無理とまでは言わなくてもよほど注意深くやらないと使えない人が出てくるでしょう。
次にハードウェアの制限。もちろんバッテリーもありますが、注目すべきはメモリ。最初に買ったiPod touchは128MBでした。このうちOSとバックグラウンドで動くiPodのプロセスが40MBあったとして、自由に使えるのは90MBほど。これを例えば2つのプロセスで使うと45MB、3つだと30MB。例えばあるアプリが60MB使うとすると、マルチタスク化によって動かないものが出てきます。
ここでパソコン脳の人は「swap使えばいいじゃん」と言うかもしれませんが、これは下の下の策。まずスワップという概念を理解出来る人は半数にも満たないはず。で、swap領域の設定という分かりにくい設定が増える。さらに、動かしている間にswapすると動きが遅くなるのが容易に想像付きます。MRAM採用してメインメモリとストレージの区別なしという大技でもない限り。
じゃあどうするよ?という訳ですが、ほとんどの要求はバックグラウンドで動くAPIがあれば解決するので、これを提供するのはありかなと。今でもpush機能があるので、この延長線上で。あと考えられるとしたら、メモリが512MBあれば2つまで同時起動可能にするとか。UIは知らん。