親愛なるアップル様:
iPhoneをサードパーティ開発に開放することに関する以前の要望は無視してください。あの要望を書いた当時は、iPhoneの機能に欠けている重要な機能は、Appleが承認した真のサードパーティ製アプリケーション(単にフォーマットされたAjax Webページではない)を実行するための何らかの方法だと確信していました。しかし、iPhoneを使い始めて数ヶ月が経ち、考えが変わりました。サードパーティ製のiPhone SDKの開発は気にしなくていいのです。本当に。あの要望は私が書いたことなどなかったことにしていただければいいのですが。
代わりに、新たなお願いがあります。iPhoneにおけるサードパーティ製アプリケーションの開発に関しては、一切の対策を講じないでください。開発を奨励するようなことは一切せず、何よりも、開発を阻害したり、阻止したり、停止させたり、あるいは開発そのものを阻止するようなことは一切しないでください。ありがとうございます。
では、なぜ私は(もちろん架空の話ですが)上記の手紙を Apple に送ったのでしょうか。それは、もはや iPhone にとってサードパーティ製アプリケーションが重要ではないと感じているからでしょうか。いいえ、全く違います。また、美しくフォーマットされた Ajax Web ページがあれば本当に十分な機能を発揮するからでしょうか。いいえ、それも違います。では、なぜ私は Apple が公式のサードパーティ製 SDK を提供することに懸念を抱いていないのでしょうか。簡単に言えば、非常に聡明で才能があり、やる気のある人々が、Apple の助けを借りずに、実際に自力でその機能を実現したからです。これらの素晴らしい人々のおかげで、私の iPhone は(後述する小さな例外を 1 つ除き)Palm Treo と同じくらい優れたツールになりました。
だから、Appleさん、iPhoneの公式サードパーティ開発キットについては心配しないでください。でも、サードパーティの人たちには手を出さないでください。彼らはこれまで素晴らしい仕事をしてくれていますし、将来iPhoneを「アップグレード」した時に、サードパーティが提供してくれた機能が消えてしまうなんて考えられません。どうか、私たちの手を出さないで!
サードパーティとiPhone
さて、これらのサードパーティは一体何を成し遂げたのでしょうか。Appleに公式開発キットが必要なくなったと感じさせるほどです。驚くほど短期間で、開発者向けドキュメントが一切ない、いわゆるクローズドなプラットフォームを、OS X Macと同じくらい簡単にアプリケーションをインストールできるインストーラーにし、実に便利なプログラムを数多く開発しました。iPhoneが発売されてからまだ約75日しか経っていないことを考えると、これは実に印象的です。
当初(つまり30日ほど前)、iPhoneをハッキングして真のサードパーティ製アプリケーションを使用するのは複雑なプロセスでした。これは、ベン・ロング氏が8月中旬のこの記事で説明している通りです。しかしその後、Installer.appのベータ版がリリースされました。iPhoneのハッキングは現在、シンプルな3ステップのプロセスです。(1) iPhoneを接続した状態でMacにInstaller.appをダウンロードして実行します。(2) iPhoneに切り替え(この時点でMacから切断しても構いません)、表示されたインストーラを起動します。(3) 任意の数のサードパーティ製アプリケーションをインストールします。Macを使ってiPhoneにInstaller.appをロードした後は、あとはすべてiPhone上で行われます。ソフトウェアのインストールとアップデートは、EDGEまたはWi-Fi経由で行われます。
Linuxに詳しい方(あるいはMacにFinkやMacPortsをインストールしたことがある方)にとって、インストーラーはパッケージマネージャーによく似ています。インストーラーには、「インストール」、「アップデート」、「アンインストール」、「ソース」の4つのタブがあります。いずれも説明は不要でしょうが、「ソース」タブだけは、各アプリケーションを担当するグループに関する情報が一覧表示されるだけです。インストール画面では、利用可能なプログラムがカテゴリ別にグループ化されており、いずれかのエントリをタップすると、そのアプリケーションの詳細が表示されます。ここでは、左側の「インストール」タブと、リスト内のいずれかのエントリをタップしたときに表示される詳細情報(右側)を見てみましょう。このエントリは「Butterfly」というゲームのものです。

では、一体何がインストールできるのでしょうか?実に様々なプログラムがインストール可能です。現時点でインストーラーには85ものパッケージがリストアップされており、Unixツール(Webサーバーも含む。そう、iPhoneでWebページを表示できます)からゲーム、生産性向上アプリ、デモアプリまで、あらゆるものが網羅されています。(このリストにはサードパーティ製アプリケーションのほとんどが含まれていますが、すべてではありません。また、多くのパッケージの詳細については、こちらのリストをご覧ください。)以下に、私がiPhoneにインストールしているものをいくつか簡単に紹介します。
BSD サブシステムtop: このパッケージは、、、 などの標準的な Unix プログラムを iPhone に追加します。 これが重要なもう 1 つの理由はcurl、 wc他の多くの便利なプログラムがこれをインストールする必要があることです。
Erica's Utilities :これは便利なコマンドラインツールのコレクションです。iPhoneについて書く人にとって絶対に欠かせないツールも含まれています。 snap2album スクリーンショットを撮影し、iPhoneのメディアフォルダに保存します。この記事のスクリーンショットはすべて で撮影されました snap2album。
OpenSSH :OpenSSHを使うと ssh 、iPhoneのコマンドプロンプトにログインできます。なぜこれが重要なのでしょうか?BSDサブシステムとErica's Utilitiesでインストールされるアプリはコマンドラインアプリです。これらのアプリを実行するには、 ssh MacからiPhoneにログインし、プロンプトにコマンド名を入力します。例えばスクリーンショットを撮るには、iPhoneでキャプチャしたい画面に移動し、 ssh MacからiPhoneにアクセスして「」と入力します snap2screen。
SummerBoard : iPhoneのメイン画面には、4つのアイコンが3列に並んで表示されます。Installer.appをインストールすると、4列目の先頭のアイコンになり、残りの3つのスロットには追加のプログラムが表示されます。しかし、それだけです。iPhoneの画面はスクロールできないように設計されているため、インストールした追加プログラムを実行する方法は見当たりません。解決策として、いくつかのランチャーアプリケーションがありますが、SummerBoardが最も優れています。このランチャーアプリケーションは、iPhoneのメイン画面をスクロール可能にし、画面の外観、下部のドッキングエリア、背景画像をカスタマイズするための設定一式を追加します。左側には、画面から半分スクロールしてはみ出したアイコンが表示され、右側にはカスタマイズ画面があります。

SummerBoardは非常にうまく機能し、何よりも自然な使い心地です。まるでiPhoneのメイン画面が本来そう設計されているかのように感じられます。もしAppleが16個以上のアイコンを拡張することになったら、SummerBoardがどのようにしてこの問題を解決したかを参考にすべきでしょう。
MobileTerminal :iPhone用のターミナルエミュレータ。MobileTerminalをインストールすると、 ssh 例えばiPhoneから自宅のMacに直接接続できるようになります。
VNsea : これは、OS Xに内蔵されたVNCサーバーを使って接続できる無料アプリケーション「Chicken of the VNC」のiPhone版です。もっと簡単に言うと、iPhoneを使ってMacのGUIをリモートコントロールできるということです。例えば、MacBook ProのAppleTV情報をiPhoneから見たMacTrackerで表示している様子をご覧ください。

現時点では、iPhoneを回転させてリモートMacを横向きに表示させることはできず、表示のみに制限されています。キーボード入力は(OS Xマシンのキーボードビューアミニアプリを使う以外に)見つけることができません。しかし、VNseaはまだリリースされてからまだ1日ほどしか経っていないので、今後のリリースで機能が追加されることを期待しています。
MobileChat : iPhone用の真のIMアプリケーション。iChatのほぼ完璧な代替品と言えるでしょう。ただ一つ(近いうちに解決されることを願っています)、現状では.Macアカウントが使えません。残念ながら、私は99%.Macアカウントを使っており、友達リストも全て.Macに保存しています。AIM IDも持っているので、当面はそちらを使っていますが、友達リストを2つも管理するのは面倒です。これは、Treoで使える機能の中で、サードパーティ製アプリケーションに完全に置き換えられていない唯一の機能ですが、近いうちに.Mac対応が実現されることを期待しています。
その他:便利なアプリ以外にも、iPhoneは今やずっと楽しいデバイスになっています。Frotzというプログラムを使えば、素晴らしいテキストアドベンチャーゲーム「Zork」や「銀河ヒッチハイク・ガイド」をプレイできます。Yahtzee、Tic Tac Toe、Minesweeper、Pong、Tetrisのバージョンもインストールできます。サウンド付きのNESエミュレーターもフル機能で搭載されています。ドンキーコングはいかがですか?

ゲームの他に、サードパーティ製の着信音セット(Rogue Amoeba の MakeiPhoneRingTone による自作の着信音もいくつか)、新しいドック背景画像セット(ドックとは iPhone の画面の一番下にある「固定」された行のことです)、そして IRC アプリ(Colloquy と BitchX の両方が利用可能です)をインストールしました。つまり、完全な .Mac 対応の iChat クライアントを除けば、私の iPhone は今や私が望むものすべてを備えています。しかも、プログラムが次々とリリースされるにつれて、日々進化を続けています。
どうかそうさせてください
いや、またiTunesでビートルズを聴くなんて…Appleさん、サードパーティー製品には手を出さないでほしい。彼らはこれまで素晴らしい仕事をしてきたし、Apple公式のサードパーティー製アプリケーションソリューションが、独自に開発されたものより優れているとは到底思えない。
スティーブ・ジョブズは、iPhoneの安定性とネットワークの問題という2つの問題を、iPhone上のサードパーティ製アプリに関連する問題として懸念していました。では、私があれこれ試してみた結果、これらのプログラムをインストールするとiPhoneの安定性が低下するのでしょうか? 全体的には、いいえ。確かに、ごく初期のベータ版である一部のアプリは不安定で、私の環境では動作しなくなりました。しかし、iPhoneが完全にフリーズするようなことはまだ経験しておらず、Apple提供のアプリケーションはすべて問題なく動作しています。
ネットワークの問題については、今のところ発生していません。ネットワーク負荷が懸念事項である場合、スタンドアロンアプリケーションとして実行しているものの多くは、iPhone対応のWebページ(チャット、IRCなど)としても利用できるという点に留意することが重要です。そのため、これらのページからのネットワーク負荷は、同じサービスのスタンドアロンアプリケーション版を実行した場合の負荷と変わらないはずです。
次の公式iPhoneソフトウェアアップデートが待ち遠しいです。才能あふれる開発者たちの努力が無駄になってしまうのではないかという不安が拭えないからです。iPhoneのコードにちょっとした変更が加えられただけで、今使っているものがすべてアップデートの煙とともに消えてしまうかもしれないのです。先週、Appleのグレッグ・ジョズウィアック氏が PC Magazineのスタッフ数名に対し、Appleはサードパーティ製アプリケーションの開発に反対しておらず、ソフトウェアアップデートでアプリが動作しなくなるようなことはしない(ただし、動作し続けることを保証するためのテストは行わない)と発言したという記事を見て、ようやくトンネルの 出口に光が見えたような気がしました。ところが、その日のうちに元の記事が更新され、状況は悪化しました。ジョズウィアック氏は「ソフトウェアアップデートはネイティブアプリケーションを動作させる可能性が高い」と述べています。もしこれが本当なら、本当に残念です。ここには活気があり、才能豊かで、やる気に満ちたコミュニティが存在します。それがすべて消えてしまうのは、本当に残念です。
言うまでもなく、次のiPhoneアップデートがリリースされたら、近所の誰よりも先にインストールするつもりはありません。iPhoneの追加機能にすっかり夢中になっているからです。サードパーティによるこうした活動は、より多くの人々がiPhoneの購入に興味を持ち、2008年販売台数1000万台という目標に近づくことになるので、Appleにとっては良いニュースだと理解してくれることを願っています。しかし、こうした活動を阻止しようとするいかなる措置も、コミュニティに逆効果をもたらすでしょう。Appleが望んでいるのは、そのようなiPhoneの宣伝ではないのかもしれません。