アップルのiPhoneが、1981年発売のIBM PCと似ている理由
翻訳校正:村上雅章・野崎裕子
iPhone向けの公式のソフトウェア開発環境が発表されたものの、ある面において1981年発売のIBM PCと非常によく似たものとなっている。この点について、記者がiPhoneの今後を見据えて考察する。
まず最初に、アプリケーション間の好ましくないやり取りというものに目を向けてみよう。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がそういった資質を持っていると信じている。
- 昨日のトップ記事
- 2日前
- 3日前
- 4日前
- 5日前
- ホワイトペーパー
- 話題のタグ
動画再生耐久レース―フル充電からどれだけ耐えた?
心当たりありませんか--あなたの上司がイヤがる5つの話し方
フォームデザイン虎の巻:複数の選択肢を提供する
フォトレポート:技術サポートの悪夢
無料の「Oracle Database XE」で高速バッチ処理:実装のポイント
Firefoxで情報をカンタン・ベンリに整理する
iPhone Safari、Acidテストでは高得点でも…… Firefoxは載らないの?:WebサイトのiPhone 3G対応問題を考える(ソフト編)
WebサイトのiPhone 3G対応問題を考える(ハード編)
フォトレポート:時代を振り返る--「MS-DOS 4」のインストール
SOAと仮想化の関係は?--常に進化を続けるBEAのミドルウェア戦略
ウェブ開発の生産性はどうしたら上がる?--MODIPHI Appsで半日で作るマッシュアップサイト(1)
JailBreakついに:PwnageTool公開
プロジェクトの進行でよくある4つのトラブル
ZDNet Japan ホスティング特集
ZDNet Japan Green IT
DELLが掲げる「新・仮想化アセスメントサービス」
Techno Exchange