アップルのiPhoneが、1981年発売のIBM PCと似ている理由

文:Rupert Goodwins(ZDNet.co.uk) 翻訳校正:村上雅章・野崎裕子
2008-04-21 08:00:00
  • このエントリーをはてなブックマークに追加

 まず最初に、アプリケーション間の好ましくないやり取りというものに目を向けてみよう。IT業界内で長く生きてきた人であれば、MS-DOSがもたらした、あの悪夢のような日々を憶えていることだろう。あの頃は、XMSやEMSといったメモリマネージャと競合するTSRプログラム(実行終了後もメモリに常駐し続けるようなプログラム)との戦いに明け暮れていた。こういったものすべては、前時代的なOSの上にタコなやり方を積み重ねていくかたちで実装されていたのだ。その結果、経験豊富な人がじっくりと手間暇かけなければ運用できないという、見事なまでに不安定なコンピューティング環境が生み出されたのだ。iPhoneにそんなことを望む人はいないはずだ。

 しかも、今は1981年ではない--2008年だ。現代のプロセッサにはハードウェアレベルでメモリ管理機構が搭載されている。また、現代のOS、特にMac OS Xのように、数十年にわたる開発の成果物として生み出されたOSは極めて堅牢なものとなっている。われわれは、アプリケーション同士を干渉させないようにする技術を持っているのだ。

 次に、リソース不足という問題に目を向けてみよう。iPhoneのRAMは128Mバイトしかなく、プロセッサ速度もあまり高速ではないというのは事実である。iPhoneは最上位クラスに位置するデスクトップ型のモンスターマシンではない。しかし、iPhoneは情報家電というわけでもない。情報家電と言えるのはシンプルな電話機能しか持ち合わせていない「家電」なのだ。ともかくも、数多くの機能を小さなメモリ空間に詰め込む技術は、われわれの経験してきたソフトウェア開発の長い歴史の中で培われてきているはずなのだ。

 大量のアプリケーションを同時に実行させようとしてもうまくいかないということは、ユーザーもある程度は理解しているし、知識としても知っているはずだ。また、そういったことはプログラムが要求する動作環境と、ちょっとした使用上の注意を明記することで強調できるはずでもある。さらに、シンクライアントシステムの設計手法を採用することで、非常に短いコードの中に多くの機能を盛り込むことも可能になっている。こういった制約内で動作するようなコードを記述すればよいのだ。

 Appleがバックグラウンドタスクを実行可能にしていないことに対する最も説得力のある主張は、バックグラウンドタスクによって大量の通信が発生し、バッテリが消耗してしまうというものと、ユーザーの注意を引くための方法がないというものである。バックグラウンドタスクを許さない理由が、このどちらかであるならば、Appleの言うことにも一理あるのかもしれない。しかし、そのどちらもが間違っているため、いずれにしてもその主張は理にかなっていないのだ。

 iPhoneが設計上の理由で常時接続を許していない(Appleが機能よりも見た目を優先するのは今に始まったことではない)のであれば、ワイヤレスアクセスの基準を把握し、アクセスするコンテンツとそのタイミングを的確に判断できるスケジューラを導入すればよいのである。こういったことを行うために、アプリケーション設計者にはチャネルの制約や能力を把握し、それに従ったソフトウェア開発を行うという責任が課されるのは確かであるが、それも彼らの仕事なのである。同様に、ユーザーインタフェースに制限があるのであれば、リクエストややり取りを仲介する共通のアラートメカニズムを用意すればよいのだ。そのやり方は1つというわけではない。巧妙な仕組みを考え出す能力があり、使い勝手というものを判っており、設計原則をきちんと理解していれば実現できることだ。私は、Appleがそういった資質を持っていると信じている。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]