Finder
Finder（ファインダ）は、Mac OS用のファイルマネージャであり、同時にデスクトップを提供するグラフィカル (GUI) シェルとしても設計されている。
FinderはMacintoshデスクトップメタファの中心である。基本的な機能はファイル管理だが、機能拡張の制御やインタフェースの元型の提示など、様々なレベルでシステムと統合されている。Macintoshの文字通りの「顔」役であり、象徴である。Macintoshの使いやすさの多くは、Finderに由来するといえる。
WindowsではMac OSのFinderとほぼ同等の動作を行うWindows Explorerがある。ただしWindows Explorerと異なり、ウェブブラウザとの統合化などは図られていない。
現在の主流のウィンドウGUIシステムは、ほとんど全てがFinderの影響下にあるといってよく、コンピュータの歴史に与えた影響は計り知れない。
Finderの最大の特長は、記憶装置の中にあるディレクトリやファイルを、現実の机の上にあるようなフォルダや書類などの絵（アイコン）で表現するデスクトップメタファが全面的に採用されていることにある。これにより、利用者は画面上のオブジェクトの機能を身のまわりのものから類推することができ、直感的な操作をすることが可能となった。例えば、画面右下に表示されるゴミ箱では、不要な書類をドラッグすることで削除ができたり、フロッピーディスクやCD-ROMなどのリムーバブルメディアをドラッグすることで取り出すという機能があったり、サーバへの接続を解除できたりする。ちなみにゴミ箱は、必要な書類を誤ってすぐに削除してしまわないためのフェイルセーフの役割も兼ねている。
Finderの操作は、メニュー選択やダブルクリック・ドラッグ＆ドロップを中心として直感的に行うことができ、ファイル名の入力以外でキーボードを使う必要がないほどである。ファイル名の入力もソフトウェアキーボードにより代用することもできる。具体的には、以下の操作が基本となる。
一方で、キーボードショートカットなどの様々な操作方法が用意されており、ユーザの習熟度に応じて好きな方法を使うことができる。例えば、項目を開く操作一つをとっても、
などがある。また、Mac OS 8で採用されたコンテクストメニューや、音声認識を使う方法も存在する。
Finderの使いやすさを支える要素として、人間工学に基づく、非常に細かなチューニングも挙げられる。例えば、ダブルクリック時の1クリック目と2クリック目を行う間にマウスがほんの少し動いてしまうことはよくあるが、Finderでは、その移動が3ピクセル以内ならばダブルクリックとして認識される。他に、ファイル名部分をクリックした後にポインタをすぐによけると名前の編集が可能になるなど、普段ユーザが意識しないレベルで、絶妙なチューニングが多数なされており、このような気配りこそがMacintoshを親しみやすくしていた要因の一つであるといえる。一方、macOSのFinderでは、当初そのような配慮の欠けた部分が見られる場面もあり、「macOSのFinderはMacらしくない」と言われる一因となった。
デスクトップメタファにおいて重要な要素であるアイコンも、Finderとともに進化してきた。
アイコンには、「情報を見る」ウィンドウで設定することにより、ユーザの好きなピクチャを設定することもできる（カスタムアイコン）。これを利用し、一枚の大きなピクチャを多数のアイコンとして表現することでFinderウィンドウ内にピクチャを表示する手法が、Classic Mac OSの時代にパッケージソフトなどで見られた。ちなみにmacOSではウィンドウの背景に任意のピクチャを設定することが標準で可能である。
アイコンそのもののデータは、Classic Mac OSではリソースフォーク内の'icl8', 'ICON', 'icns'リソースなどに格納されている。これらには複数のサイズのアイコンを格納することができ、表示する際の大きさに応じて最適なものが選択されるようになっている。macOSでは、通常".icns"の拡張子を持つファイルに格納されており、開発環境のXcode Toolsに含まれるIcon Composerアプリケーションなどで編集することができる。
macOSより前のClassic Mac OSファイルシステム上及びFinderでは、クリエータコードとファイルタイプという2種のコードによって、書類とアプリケーションが関係づけられていた。クリエータとファイルタイプはFinder情報に格納されている。
この仕組みにより、書類を開いた際に、通常その書類を作成したアプリケーションが起動される。また、各アプリケーションは自分の開くことのできるファイルタイプのリストを有しており、アプリケーションのアイコンに書類をドラッグした際、開くことのできるファイルタイプであればアプリケーションが起動するようになっている。書類を作成したアプリケーションがない場合でも、そのファイルタイプを扱える他のアプリケーションを使えばよいというのは大きなメリットである。
2種類のコードを使用する利点は、Windowsオペレーティングシステムなどで使用される拡張子と比較すると分かりやすい。通常、アプリケーションごとにファイルタイプを表す拡張子が定義されるため、別種のアプリケーションでは同じファイル形式でも拡張子が異なる場合があり、その書類を開けられるかは開いてみないと分からない。一方、よく使われるファイル形式には共通の拡張子（".jpg", ".mp3"など）が使われる場合があるが、開くアプリケーションは拡張子ごとに1種類しか指定することができない。また、拡張子はファイル名の一部であるためユーザが削除・変更してしまう危険性も高いが（もちろん、拡張子を表示させないという設定が用意されている場合もある）、クリエータ／ファイルタイプはResEditなどのツールを使わなければ閲覧・変更ができないため、より安全である。
macOSでは他のオペレーティングシステムとの整合のために拡張子を扱うようになった。
余談だが、クリエータコードはそのアプリケーションの開発コードなどにちなむことも多い。（例：HyperCard→'WILD'（HyperCardの開発コードネーム"WildCard"から））
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を支える機構の一つである。
Classic Mac OSにおけるFinderは、Macintosh向けアプリケーションのユーザインタフェースを規定している、アップルのヒューマンインタフェースガイドラインの実動するサンプルとしても見られることが多かった。すなわち、開発者にとってFinderはMacintoshユーザインタフェースの規準であった。実際、FTPソフトのNetFinderやTransmit、メールソフトのARENA Internet Mailerなどのように、Finderインタフェースに強く影響を受けたソフトも少なくない。このように、多くのソフトウェアにFinderのデザインや挙動が手本にされたことで、様々なソフト間での一貫した操作性が生まれ、これがMacintoshの使いやすさにつながったといえる。また、「Finderライクの使い勝手」という言葉は、かつてMacintoshアプリケーションの使いやすさに関する最大級の誉め言葉であった。
オリジナルのFinderは、ブルース・ホーン とスティーブ・キャップス により開発された。
Finderは、事実上システムのコアと不可分な存在で、少なくともユーザにとってファイルシステム/ファイルブラウザという区分は意識されなかった。逆に言えば、それほどFinderはコンピュータの内部構造を直感的に表現していたのである。
Macintosh内部のあらゆるリソースはFinderのレベルで仮想化されていた。良く知られているのは、機能拡張を行なうためにはそのためのファイル (パズルのピースの形をした書類) を「機能拡張フォルダ」にコピーするだけでよいという構造である。これは同時代のコンピュータが全て手作業で設定を記述していた事と比べて遥かに先進的な構造といえる。
また初期のMacintoshはMFSというファイルシステムを持っていたが、これはフォルダをサポートしない単一階層のシステムだった。それにも関わらずユーザがフォルダを利用できたのは、フォルダ構造をFinderがエミュレートしていた為である。後に真のフォルダをサポートしたHFSが実装されたが、ユーザにとって両者の使い勝手は全く同一のものであった。本来 "Mac OS 8" と呼ばれるはずだった "Copland" のFinderに予定されていた機能が多く流用され、大幅な進化を遂げたバージョン。全面的にマルチスレッド化がなされ、ファイルのコピーを複数行いながらゴミ箱を空にする、といった並行作業が可能になった。また、システム全体でのプラチナアピアランス採用に伴い、アイコンデザインが立体的なものに変更されたり、リスト表示で罫線が描画されるようになるなど、全面的なデザイン変更が行われた。Finder自体のアイコンも、従来の一体型Macintoshアイコンに、Mac OSのロゴである顔マークが付いたものに変更された。macOSにおいてFinderのアイコンがClassic Mac OSの顔マークなのはその名残である。
その他の主な新機能を以下に挙げる。
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つのウィンドウ内で手軽にフォルダ階層を辿ることが可能となった。
Leopardに搭載されるFinderの詳細は、http://www.apple.com/jp/macosx/features/finder.html で見ることができる。