アップルのiPhoneが、1981年発売のIBM PCと似ている理由
まず最初に、アプリケーション間の好ましくないやり取りというものに目を向けてみよう。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がそういった資質を持っていると信じている。
- 新着記事
- 特集
- ブログ
- 企画特集
-
データの散在と非常率運用がネック
-
いまさら聞けない「PPAP」
-
保育業界のDX(後編)
-
保育業界のDX(前編)
-
IDaaSって何?
-
デジタルを当たり前と言えるか?
-
明日からではもう遅い?!
-
利便性とセキュリティの両立
-
ゼロトラストに不可欠なID管理
-
特集:IT最適化への道
-
いままさに社会にとっての転換点
-
話題のセキュリティ事故体験ゲーム
-
企業DXのキモはクラウドにあり
-
連載!プロが語るストレージ戦略
-
請求書がきてからでは遅い
-
いまあるデータで身近な業務をDX
-
ビッグデータ最前線!
-
次の一手はこれだ!
-
セキュリティの今を知る
-
さあ、クラウドで解決しよう。
-
連載!プロが語るストレージ戦略
-
内部不正や不注意をどう防ぐ?
-
モバイルデバイスもターゲットに!
-
講演の見どころを紹介
-
連載!プロが語るストレージ戦略