Top  Feedback (Main, Sub)  Tips  Software  My Mac  No!CCCD  Link  公開日:2007年01月21日
更新日:2009年03月18日

コラム:iPhoneを考える(第2回)
〜 ソフトウェアの拡張を妄想する 〜

思いついたことを、とりとめもなく書いてみるコラムです。あまり真面目に読まないでくださいね。(^^;

フィードバック・メニュー | 第1回 | 第2回 | 第3回 | 第4回 | 第5回 | 第6回 | 第7回 | 第8回 | 第9回

green第2回の目次

green アップデート方法は? (2007/01/21)

iPhone
(画像は米国Apple社のWebページより)

iPhoneにはMac OS Xの一種である「OS X」が搭載されています。セキュリティを保つためにも、バグを取り、機能を強化するためにも、OSとアプリケーションにはアップデートが必修です。第1回

携帯電話回線を経由してアップデートする…という可能性はないでしょう。Apple社の戦略はiTunesを中心に構築されています。iPhoneはiTunesでパソコンと同期することが前提の、PC周辺機器としてのIT家電です。よって、iTunes 7登場以降のiPodと同様に、iTunesと同期した際にアップデートを求められるようになることでしょう。iPhoneの利用には、インターネットに接続できるパソコンが必須です。

Mac OS XのバグがすべてiPhoneに影響するとは限りませんが、メールやWebKitの影響は免れないはずです。これらにセキュリティホールが見つかるたびに、iPhoneもアップデートすることになります。こんなにアップデートが頻繁な携帯電話は他にない…と揶揄されることでしょう。

green サードパーティ製ソフトウェアへの壁 (2007/01/21)

セキュリティ

2007年1月に発表されたiPhoneには、Apple製のアプリケーションとウィジェットだけが搭載されています。サードパーティ製のソフトウェアはインストールできません。その理由として、セキュリティの維持が挙げられています第1回。ウイルスやスパイウェアといったマルウェアの侵入を防ぐためという訳です。

ビジネスモデル

Apple社は口外しませんが、別の理由も考えられます。パソコンのようにサードパーティが自由にソフトウェアを販売し、ユーザが自由にインストールできるようにした場合、次の2つの問題が生じます。

よって、サードパーティ製ソフトウェアを認めるには、iTunesを中心とするApple社のビジネスモデルに合致する方法でなければなりません。

セキュリティ維持の方法 《ファストユーザスイッチ》

iPhoneのOSがOS Xである以上、マルチユーザ機能が動作しているはずです。といっても、「人間」という意味でのユーザが複数名でiPhoneを利用できるとは思いません。rootユーザとして動作するOSそのものと、制限付きユーザとして動作するメーラーやWebブラウザなどのアプリケーションがある、つまりOSに対するソフト上の「ユーザ」です。アプリケーションを制限付きユーザで実行することで、ユーザ(こちらは人間)の誤操作によるOSの破壊を防ぐ訳です。Mac OS Xでも使われている機構です。

ここで、サードパーティ製アプリケーションの専用ユーザを想定しましょう。当然、制限付きユーザであり、OSの領域には侵入できません。さらに、メール・Web・その他の純正アプリケーションとは異なるユーザとして動作しますから、これらが蓄積したデータにも触れることができません。利用可能なストレージ容量を制限することも可能でしょう。これによって、セキュリティの問題を解決できます。

Mac OS X 10.4の場合、ユーザインタフェースを持つアプリケーションは、すべて同じユーザとして動作します。ほかのユーザ(wwwなど)で動作するアプリケーションもありますが、それらにはユーザインタフェースがありません。iPhoneで上記の機能を実現するには、この点を改良せねばなりません。

一番簡単なのは、Mac OS Xのファストユーザスイッチ機能の拡張です。たとえば「ゲーム」ボタンをクリックすると、ゲームの選択画面に変わるとします。この際に、ファストユーザスイッチ機能によって別アカウントでログインします。以後、ゲームを起動してプレイしている間は、ゲーム専用アカウントを使っていることになります。ゲームを終了してホーム画面に戻ると、ゲームアカウントをログアウトして元のアカウントにスイッチします。

ゲーム中でも電話やメールの着信は通知して欲しいですから、これらの通知機能はrootユーザとして動作することになるでしょう。

ファストユーザスイッチを使う方法の欠点は、メモリを多く要することです。メモリの搭載量が限られ、仮想記憶機能もOFFになっているであろうiPhoneでは、開発の重大な障害になるかもしれません。これについては、メモリの消費を抑えるよう改良され、さらに優先度が低いアプリケーションから順に強制終了するような仕組みをOS側に設けるようになることと想像します。

ビジネスモデル維持の方法 《iTunes Store》

パソコンとの同期にiTunesを使う以上、iTunes Storeへ誘導することは必然です。音楽やビデオはもちろん、iPod用のゲームが販売されているように、iPhone用のサードパーティ製ソフトウェアもiTunes Storeのみで販売されるようになるでしょう。これによって、次の利点が得られ、上述の問題を解決できます。

  1. ソフトの導入・管理・削除を、iTunes上で統一的に提供できる。
  2. ソフトウェアの種類によっては、マルウェアでないことを事前に確認できる。
  3. インタフェースのルールを含めて、Apple社が認められるソフトウェアか否かを事前に判断できる。
  4. サードパーティ製アプリケーションが売れるほど、Apple社に利益が還元される。

ただし、この方針を厳格に採用した場合、iPhone用のソフトウェア環境は、パソコンやかつてのPalmのように玉石混合で活気に富んだものにはならず、安全できれいなものの小規模に留まることでしょう。活気に富んだ大きな市場に育てるには、上記の2番と3番のチェックを行わず、4番に反してもフリーウェアの配布も認める必要があると考えます。

green サードパーティ製ソフトウェアの種類 (2007/01/21)

仮に、サードパーティ製のソフトウェアが追加されることになるとします。その場合、どのようなソフトウェアになるでしょうか?

ウィジェット(Widget)

ウィジェットは、HTML・CSS・JavaScriptで構築された簡単なアプリケーションです。Mac OS X 10.4以降の機能であり、iPhoneにも複数のウィジェットが搭載されています。Windows Vistaにも同様の機能が搭載されました。

サードパーティに開放される可能性が最も高いのは、このウィジェットでしょう。原理的にCPUの種類に依存しませんから、次世代のiPhoneでCPUを変更してもウィジェットの動作に影響を与えません。さらに、機能が限定的であるが故に、いくつかのガイドラインに準拠していることさえ確認すれば、iPhoneの動作に悪影響を及ぼさないことや、マルウェアでないことを保証できることでしょう。

主な用途は、ネットワークから最新情報を入手して表示する簡易アプリケーション。純正ウィジェットのGoogle MapsやWeatherのようなものでしょう。

Javaアプリケーション

日本の携帯電話市場には、豊富なJavaアプリが存在します。しかし、iPhoneには今のところ予定されていません。もっとも、Mac OS XにはJavaが存在するので、iPhoneにランタイム環境が移植される可能性はあります。

Javaランタイム環境の移植には多くのメリットがあります。まず、Javaアプリケーションならば、次世代のiPhoneでCPUを変更しても動作に影響を受けません。これだけならウィジェットと同じですが、ウィジェットよりも複雑なアプリケーションを構築できます。さらに、既存のJavaアプリケーションを最小限の修正でiPhone用に移植できるため、豊富なアプリケーションを用意できます。その上、後述するCocoaアプリケーションよりも、セキュリティの維持に向いています。

しかし、デメリットも存在します。まず速度が低下し、さらに大量のメモリを要します。これらはJava用のチップを搭載することで緩和できますが、日本市場を重視しないApple社がコストアップになる専用チップを搭載するとは思えません。逆に、これらが解決できれば、ウィジェットに次いでサードパーティ製アプリケーションに適した環境といえます。

Cocoaアプリケーション

Cocoaアプリケーションは、Mac OS Xの標準的なアプリケーションです。しかし、iPhone用のサードパーティ製アプリケーションとしては、一般化しないと予想します。

まず、将来のiPhoneでCPUが変更される場合、アプリケーションの制作元がコンパイルして販売しなおさねばなりません。さらに、マルウェアの作成が容易で、Apple社には事前にマルウェアと判別することが困難です。そのため、サードパーティ製アプリケーションには適しません。

しかし、ウィジェットよりも複雑なアプリケーションを、Javaよりも高速に動作させられますから、用途によっては無視できません。私は、それがゲームではないかと考えます。ゲームであれば、入出力はユーザによる操作・画面表示と音出力・データのセーブ/ロードに限られます。これしか行えないことを確認できれば、マルウェアである可能性を排除できます。

上述のファストユーザスイッチ機能を使ってサードパーティ製アプリケーションを隔離できるようになれば、Cocoaアプリケーションがさまざまな用途に使われるようになるでしょう。

green Webアプリケーションの時代 (2007/01/23)

サードパーティ製アプリケーションが禁じられ続けた場合や、限定的にしか解禁されない場合でも、大多数のユーザが必要とするアプリケーションはApple社が提供するでしょう。そのため、痒いところに手が届かない思いをすることはあっても、大多数のユーザにとっては困ることはないでしょう。

しかも、携帯電話の通信速度が向上するにつれ、Webブラウザですべて用が足りる時代がやってきます。Googleなどが提供するWebアプリケーションにWebブラウザでアクセスし、WordやExcelのデータをそのなかで作成し、Web上のストレージに保存、またはメールで必要とする相手に届ける。そんな時代になるでしょう。ローカル環境にアプリケーションを必要としない時代の到来です。

もちろん、それはパソコン時代の終わりの始まりでもあります。Apple社は、そこまで見越して、会社名から「コンピュータ」を取り除いたのかもしれません。…って、そんな時代が来ると言われ続けて、はや十ン年。道は遠いなぁ。

green iPhone用アプリの開発環境がリリース (2008/03/07)

サードパーティ製アプリケーションの開発環境のβ版リリースされました。正式版は2008年6月に公開予定で、開発されたアプリは同時にリリースされるiPhone firmware 2.0(無料)で使えるようになります。気になるポイントを下記に列記。

情報源:engadget japaneseiPhone SDK開発者向け情報、比較), site-aroiPhone SDK リリース & いろいろ疑問点), TechCrunchiPhone SDKとその制限:いいことずくめではないディテール)他多数

アプリのインストール方法は?

App Storeで購入。iTunesでApp StoreへアクセスしてiPhoneに転送。または、iPhoneでApp Storeに直接アクセスする。App Storeで購入する際に電子署名がアプリに埋め込まれ、これがないアプリは動作しない。(販売価格の30%は、ホスティング費用などとしてApple社の取り分。)

コメント:自由なインストールを認めないのは予想どおり。曲を購入する方法と同じなので、わかりやすいですね。

フリーウェアも可能か?

可能。配布方法は有償アプリと同じ。

コメント:期待どおり! ホスティング費用などは、Apple社が負担してくれます。

有害ソフトの防止方法はあるか?

ある。App Storeでダウンロードしたアプリしかインストールできないので、ウイルス・スパイウェア・ポルノなどがあった場合、配布元を特定して対処できる。

コメント:事前のチェックに労力を割くのではなく、事後の対処を可能にした訳ですね。

iPod touchでも利用できるのか?

可能。2008年6月のiPod touch Software 2.0で対応。ただし、米国の会計制度上の理由から、若干のアップデート費用が必要。

複数のアプリを同時に実行できるか?

できない。さらに、サードパーティ製アプリはバックグラウンドで動作しない。アプリを実行中に別のアプリを操作すると、元のアプリは停止する。メールをチェックしたり、電話を取っただけでも、サードパーティ製アプリは停止する。

コメント:常時動作させ続けたいアプリは、実用性皆無になりますね。メモリ容量が少なく仮想記憶のないiPhone / iPod touchでは、ミュージックプレーヤとSafariの同時利用ですらギリギリです。これは致し方ない制限ですが、痛い制限です。

iPhone OS 3.0で、プッシュ通知機能が利用可能になりました。停止中のアプリを必要とする情報が外部から届くと、その旨、通知されます。(追記:2009/03/18)

VoIPアプリは可能か?

可能。ただし、携帯電話のネットワークは利用できない。無線LANを使う。

コメント:つまり、タダまたは安価に電話するためのアプリが登場するはずです。

Dockコネクタに接続した機器を操作できるのか?

未定。

iPhone OS 3.0で利用可能になりました。(追記:2009/03/18)

どの言語で開発できるのか?

Objective-C 2.0。Mac OS Xのアプリと同じであり、Cocoaアプリケーションになる。CocoaフレームワークのバリエーションであるCocoa touchが用意され、マルチタッチに対応している。

コメント:事後の対処を可能にしたおかげで、最大限の解放がなされました。Objective-C 2.0にも関わらずガベージコレクション非対応なのは、ハードウェアの制限か、それともβ版だからなのか。

開発するには何が必要か?

Mac OS X 10.5.2以降が動作するIntel Mac。Developerプログラムへの参加費用の$99。β版は無料。Xcodeの一部としてリリースされたものの、Interface Builderの利用はまだ不可。iPhone SDKのβ2にて、Interface Builderが利用できるようになりました。(追記:2007/03/28)

コメント:Windowsで開発できないので、日曜デベロッパの方々は困りそう。Interface Builderで開発できないのは痛いですね。開発が容易になるのはもちろん、マルチ言語サポートの効率化にも適したツールです。UIが統一されるので、ユーザにも有り難いツールなのですが…。

Flashはサポートされるのか?

No。CPUとメモリが十分ではない。携帯電話向けのFlashは、機能と互換性が不十分。

ただし、iPhone向けFlashプレーヤーを開発するとAdobe Systemsが発表している。(追記:2007/03/20)

Javaはサポートされるのか?

No。ただし、Java Virtual Machineを移植するとSun Microsystemsが発表している。

法人ユーザは社内向けの専用アプリを開発できるのか?

可能。iTunesやApp Storeに換わる配布用アプリも用意される。法人ユーザ向けに、iTunes StoreやSafariに制限を設ける手段も用意される。


フィードバック・メニュー | 第1回 | 第2回 | 第3回 | 第4回 | 第5回 | 第6回 | 第7回 | 第8回 | 第9回
top
文責:野尻隆裕 (Twitter @TakaNojiri)