Finder

概要

FinderはMacintoshデスクトップメタファの中心である。基本的な機能はファイル管理だが、機能拡張の制御やインタフェースの元型の提示など、様々なレベルでシステムと統合されている。Macintoshの文字通りの「顔」役であり、象徴である。Macintoshの使いやすさの多くは、Finderに由来するといえる。
WindowsではMac OSのFinderとほぼ同等の動作を行うWindows Explorerがある。ただしWindows Explorerと異なり、ウェブブラウザとの統合化などは図られていない。
現在の主流のウィンドウGUIシステムは、ほとんど全てがFinderの影響下にあるといってよく、コンピュータの歴史に与えた影響は計り知れない。

デスクトップメタファ

Finderの最大の特長は、記憶装置の中にあるディレクトリやファイルを、現実の机の上にあるようなフォルダや書類などの絵（アイコン）で表現するデスクトップメタファが全面的に採用されていることにある。これにより、利用者は画面上のオブジェクトの機能を身のまわりのものから類推することができ、直感的な操作をすることが可能となった。例えば、画面右下に表示されるゴミ箱では、不要な書類をドラッグすることで削除ができたり、フロッピーディスクやCD-ROMなどのリムーバブルメディアをドラッグすることで取り出すという機能があったり、サーバへの接続を解除できたりする。ちなみにゴミ箱は、必要な書類を誤ってすぐに削除してしまわないためのフェイルセーフの役割も兼ねている。

リソースとパッケージとバンドル

Mac OSには、リソースフォークと呼ばれる、特有のファイル構造が初期から使われており、アプリケーションで使われるアイコンやメニューなどのGUI要素の定義や実行コード、文字列などのリソースを格納することができる。この仕組みにより、アプリケーション本体を再度コンパイルすることなく、表示される文字列の翻訳（ローカライズ）などの改変が可能となる。一方、ユーザから見たメリットは、多様なデータを含むアプリケーションが一つのファイルとして扱えることにある。これにより、アプリケーションの起動に必要なファイルが足りない、といった事態が起きることなく、アプリケーションのアイコンをハードディスクの好きな位置にドラッグ＆ドロップでコピーするだけで、手軽にインストールすることができる。したがってMacintoshアプリケーションでは、システムへ機能拡張やフレームワークなどのインストールを必要とする場合を除いて、インストーラが用意されない場合が多い。
そして、この延長線上にあるのが、Mac OS 9において実装されたパッケージ機能である。これは、入れ子になったフォルダを単一の書類に見せかけるもので、例えば、アプリケーションとその関連書類（ヘルプファイルやテンプレート、ライブラリなど）を含むフォルダを一つのアプリケーションに見せることができ、やはり手軽に扱うことが可能になる。また、一つのアプリケーションパッケージの中に、Mac OS 9に最適化したアプリケーション（Classicアプリケーション）とmacOS向けに最適化されたCarbonアプリケーションの両方を同梱し、実行時の環境によって最適な方が起動されるようなテクニックも使われた（AppleWorksなど）。
macOSにおいては、"パッケージ"とやや実装は異なるものの、本質的には同様のバンドルという仕組みが積極的に導入されている。バンドル構造は元々NeXTSTEPで採用されていたもので、従来リソースフォークに格納されていたGUI要素や画像、文字列などは、それぞれ単一のファイルとして、アプリケーションバンドル内に格納されるようになった。これには、リソースフォークがMac OS特有のファイル構造であるため他のオペレーティングシステムとのデータ交換に支障があったことや、アプリケーションの使用する画像やサウンドなどのデータが肥大化したことなどが理由として考えられる。CocoaアプリケーションやCarbonアプリケーションの多く（.appバンドル）、インストーラパッケージ（.pkgファイル）などはバンドルの例である。他に、画像を含むリッチテキスト（.rtfdファイル）やXcodeプロジェクト書類（.xcodeprojファイル）なども実体はバンドルとなっている（バンドルの中身はFinderのコンテクストメニューから「パッケージの内容を表示」することで見ることができる）。バンドルにより、macOSでも依然多くのアプリケーションがドラッグ＆ドロップするだけで手軽にインストール可能となっている点は特筆すべきであろう。
また、バンドル機構により、アプリケーションの各種リソースを言語ごとに分割して格納することが可能となった。macOSでは、文字列・画像・GUI要素の定義（Nibファイル）などは各言語のフォルダ（.lprojフォルダ、たとえば英語ならEnglish.lprojなど）に収められ、システムの言語環境設定に応じて必要な言語リソースがロード・表示されるようになっている。アプリケーションをローカライズするには、他の言語の.lprojフォルダをコピー・翻訳すれば良い。多言語OSとしてのmacOSを支える機構の一つである。

開発者にとってのFinder

Classic Mac OSにおけるFinderは、Macintosh向けアプリケーションのユーザインタフェースを規定している、アップルのヒューマンインタフェースガイドラインの実動するサンプルとしても見られることが多かった。すなわち、開発者にとってFinderはMacintoshユーザインタフェースの規準であった。実際、FTPソフトのNetFinderやTransmit、メールソフトのARENA Internet Mailerなどのように、Finderインタフェースに強く影響を受けたソフトも少なくない。このように、多くのソフトウェアにFinderのデザインや挙動が手本にされたことで、様々なソフト間での一貫した操作性が生まれ、これがMacintoshの使いやすさにつながったといえる。また、「Finderライクの使い勝手」という言葉は、かつてMacintoshアプリケーションの使いやすさに関する最大級の誉め言葉であった。

Classic Mac OSにおけるFinder

オリジナルのFinderは、ブルース・ホーン とスティーブ・キャップス により開発された。
Finderは、事実上システムのコアと不可分な存在で、少なくともユーザにとってファイルシステム/ファイルブラウザという区分は意識されなかった。逆に言えば、それほどFinderはコンピュータの内部構造を直感的に表現していたのである。
Macintosh内部のあらゆるリソースはFinderのレベルで仮想化されていた。良く知られているのは、機能拡張を行なうためにはそのためのファイル (パズルのピースの形をした書類) を「機能拡張フォルダ」にコピーするだけでよいという構造である。これは同時代のコンピュータが全て手作業で設定を記述していた事と比べて遥かに先進的な構造といえる。
また初期のMacintoshはMFSというファイルシステムを持っていたが、これはフォルダをサポートしない単一階層のシステムだった。それにも関わらずユーザがフォルダを利用できたのは、フォルダ構造をFinderがエミュレートしていた為である。後に真のフォルダをサポートしたHFSが実装されたが、ユーザにとって両者の使い勝手は全く同一のものであった。

macOSのFinder

macOSでは、いったんFinderの歴史はリセットされ、Carbonによる完全な新規設計に置き換わった。OSの設計思想の違いを反映し、様々な部分に「旧Finderとは違う」ところが散見される。特にMac OS X v10.0 に搭載されたものは"Finder"という名前を冠しただけの別物といった具合であったが（実際Mac OS X Public Betaでのプロセス名は"Desktop"であり、"Finder"という名称はウィンドウタイトルにかろうじて残っていただけであった）、その後Mac OS X v10.1からMac OS X v10.2にかけて旧Finderの多くの機能（スプリングフォルダ、ラベル機能など）が復活するなど、旧Finderの長所を取り入れて細かい部分の使い勝手に多くの改良が施された。
その後インタフェース面では、Mac OS X v10.3ではiTunesからサイドバーなどの機能を取り入れ、Mac OS X v10.4ではSpotlightの検索機能を統合するなど、徐々に旧Finderとは異なる方向に変化している。2007年発売のMac OS X v10.5ではiTunesやiPhoto風のインタフェースを大幅に取り入れ、Quick Lookなどのプレビュー機能を大幅に強化、メディア再生機能を導入し、従来のファイルブラウザから、メディアブラウザへの脱皮を遂げていった。
旧Finderとの最大の違いは、システムファイルと並ぶOSの根幹からユーザインタフェースの要となる1アプリケーションへと立場を移したことである。ユーザがログインすると同時に立ち上がり、ログイン中は常に起動しているが、Finderのみを再起動することも容易にできるばかりか、Finderを起動しないようにしてより高機能なサードパーティーのソフトウェアを使用するヘビーユーザさえもいる。現在でもデスクトップを統括する重要なコンポーネントではあるものの、以前のようにシステム全体と密着しているわけではなく、あくまでもファイルブラウザ/メディアブラウザの役割に徹している。これはNeXTに由来する、リソースの抽象性・仮想性の高さとも関係しており、SpotlightやQuick LookといったFinderに統合された機能の多くは、他のアプリケーションからも利用できる。
また、旧Finderが体現していたデスクトップメタファの特徴であった、"1フォルダ-1ウィンドウ"の原則を止めたことも特筆すべきであろう。旧Finderでは、あるフォルダに対応するウィンドウは1つしか開くことができなかった。その代わり、フォルダを開いた際、ウィンドウは必ず最後に閉じた時の位置と表示形式で表示されることが保証されていた。これにより、ユーザはあるフォルダが画面上のどのあたりに存在していたかを直感的に記憶しておくことができた。一方macOSのFinderではこの利点は損なわれたものの、"カラム表示"という階層化された表示形式がNEXTSTEPから導入され、1つのウィンドウ内で手軽にフォルダ階層を辿ることが可能となった。