82
では、iPhone アプリはどうやってファイルを保存するのでしょうか?

iPhone ソフトウェアを Mac (または PC) ユーザーの視点から見る場合の問題の 1 つは、誤った想定をしてしまうことがあることです。

例えば、ファイルを例に挙げてみましょう。パソコンのハードドライブにはファイルがぎっしり詰まっています。しかし、iPhoneにはファイルは存在しません。(もちろん、ファイルは存在しますが、Appleがそれを隠しています。普通のiPhoneユーザーは、そこにファイルシステムがあることに気づきません。)iPhoneユーザーからファイルを隠すことは、物事をシンプルに保つという点で非常に理にかなっています。

しかし、Mariner SoftwareがiPhone用のスプレッドシートプログラムを開発しているとしたらどうでしょうか? ここで難しい点がお分かりいただけるでしょう。世界最高の指操作式スプレッドシートプログラムを開発できたとしても、スプレッドシートファイルをデバイスに取り込んだり、デバイスから取り出したりできなければ意味がありません。

Mariner SoftwareのMichael Wray氏は、同社がこの問題に対して複数のアプローチに取り組んでいると述べましたが、それ以上の詳しい情報は提供しませんでした。それでも、開発者がこの問題を回避する方法についていくつかアイデアがあります。どれもMarinerに特有のものではありませんが、iPhone用のMariner Calcのようなスプレッドシートプログラムを例に挙げて説明します。

iPhoneを使っている時に、誰かがメールでスプレッドシートを送ってきました。それで何ができるでしょうか?残念ながら、現状では「何もできない」ようです。つまり、Quick Lookで閲覧する以外には、実際には何もできないということです。行き止まりです。

iTunes経由でMacやPCからデータを同期することはできますか? 今のところ、開発者は同期プロセスにアクセスできません。ただし、iPhoneアプリケーションは携帯電話データネットワークまたはWi-Fi経由でインターネットにアクセスできます。

そこで、Webが救いの手を差し伸べることになります。Marinerのようなソフトウェア会社が運営するWebサービスを想像してみてください。プログラムを購入してインストールし、(おそらくアプリ自体を使って)サービスに登録し、ユーザー名とパスワードを入力します。Marinerは、あなたのアカウントに紐付けられた特別なメールアドレスを記載したメモを返信します。そのアドレスにMicrosoft Excel形式のファイルを送信すれば、自動的にアカウントに追加されます。(Webブラウザでログインして、スプレッドシートをアップロードしたりダウンロードしたりすることもできます。)

ではこれをどこに保存すればいいのでしょうか?

iPhoneのスプレッドシートプログラムからソフトウェア会社のサーバーに接続し、アカウントにあるすべてのファイルを確認できます。ファイルを選択すると、ネットワーク経由で読み込まれ、開きます。作業が終わったら、ネットワークに保存し直すことができます。

よりシンプルなアプローチとしては、FTP、AFP、SMBなどのリモートファイルサービスプロトコルをサポートすることが考えられます。しかし、そのようなことを実現するにはどの程度のオーバーヘッドが必要になるかは分かりません。標準的なWebプロトコルを使用する方が簡単かもしれませんし、リモートサーバーのファイル階層をナビゲートするのはユーザーにとってかなり不便かもしれません。

もちろん、真の答えは、AppleがiPhone上でファイルを扱うためのより良い方法を考え出すことです。ファイルシステム全体を公開することが正しい答えだとは思いません。iPhoneアプリケーションを特定のファイルタイプのハンドラーとして登録するといったことも可能でしょう。そうすれば、メール(またはウェブサイト)でスプレッドシートを見つけた場合、指でそのファイルを長押しするだけで、iPhoneが添付ファイルの処理方法を尋ねてきます。例えば、クイックルックで表示するかスプレッドシート編集プログラムで開くかといった選択肢が表示されます。

これでファイルを開く問題は解決しました。(デバイスに保存するのは問題ありません。iPhoneアプリはそれぞれ専用の保存場所に保存できます。)また、iPhoneからファイルを取り出すのもそれほど難しくないかもしれません。AppleがアプリにiPhone内蔵のメールアプリにドキュメントを渡せるようにすれば、ファイルをメールで送信するだけでiPhoneから簡単にファイルを取り出せるようになります。

しかし、これらの解決策はApple自身の協力なしには実現できません。それがなければ、iPhoneソフトウェア開発者はインターネット経由でiPhoneにファイルを出し入れする巧妙な方法を考案しなければなりません。各開発者がどのようなアプローチを取るのか、そして、異なるiPhone開発者が利用できる共通のドキュメント交換フレームワークを構築しようとする人がいるのか、興味深いところです。

7月上旬にApp Storeがオンラインになれば、もっと多くのことが分かるでしょう。それまでは、ブレインストーミングと憶測だけが残されています。