カテゴリー : 2012年 1月10日

ドキュメント中心のFinder


iOSはその設計思想として、ファイルの存在をできるだけユーザに意識させないものとして作られたと思う。いちばん分かりやすいのが、Finderに相当するものがない、ってことだよね。OS Xにおいては、一番最初にユーザの目に触れて、ファイルを管理するためのアプリであるFinder。これがiOSではSpringBoardにとってかわり、アプリの起動しかできなくなった。ユーザは裏にあるファイルを、意識する事も操作する事も出来ない。まぁ、最初はこれで良かったと思うよ。

でも、iOSに対するユーザの要求は爆発的に増加した。アプリに対して、単なるビューワ機能だけでなく、編集機能も求められた。そうなると、どうしてもファイルシステムを見せざるを得んのだわ。

たとえば、Keynoteあるでしょ、iOS版の。あれ、起動すると最初にドキュメントの選択画面が出てくるじゃない。これってつまりはオープンダイアログだよね。Keynoteは作業結果をドキュメントとして保存するから、どうしたってそれを開く画面が必要になる。これって、結局ファイルシステムじゃない?

いや、反論してみよう。Keynoteのオープンダイアログに表示されるのは、Keynoteで開くドキュメントだけだ。それにファイルシステムそのものを表示している訳じゃない。この画面に表示されているドキュメントと、実際にファイルシステム内部に存在しているファイルは、1対1対応する必要はない(対応しているものもあるけど)。それにiCloud対応しているから、ファイルがどこにあるかをユーザが意識する必要はない。そういった意味では、ファイル中心というよりはドキュメント中心って呼ぶのがしっくりくるかもしれない。

じゃあ、ひるがえって自分で開発するアプリのことを考えてみる。そうすると、Keynoteみたいなオープンダイアログを自前で作らなきゃいけないことになる。うわ、めんどくせ。それこそ、OSでFinderみたいなものを用意してよ。

それに、アプリ毎にドキュメントを管理するんじゃなくて、用途毎にドキュメントを管理したい、って欲求もあるでしょ。たとえば、ある案件に対するKeynoteドキュメント、Numbersドキュメント、Pagesドキュメントをひとつにまとめたい、思うのは当然だよね。でも、いまのiOSじゃそういった要求に対応できない。プログラミングの観点からすると、iOS 5でiCloudが導入された事により、ドキュメントベースのアプリケーションにスイッチするための枠組みは出来上がっている。そういったアプリが作成したドキュメントをまとめておけるはず。

こうやって考えていくと、次のバージョンのiOSではFinderに相当する何か、が必要になるはず。それはドキュメント中心の概念を表したものになるはずだ。