(57)【要約】  複数の選択されたファイルに関するプロパティ（或いはメタデータ）の表示において、プロパティは集約されることができる。表示される集約された値を、それらの値が属する１つ又は複数の選択されたファイルに関連付けるために、視覚的な区別が使用されることができる。多値プロパティは集約及び区別され、並びに／或いは強調されることもできる。複数の多値プロパティを集約する場合には、それらの多値プロパティが属する選択されたファイルのそれぞれによって割り当てられた相対的な優先順位や位置付けを伝達するための処置が取られることができる。集約された多値プロパティは、編集オプションをユーザに知らせるプロンプトテキストを含むことができ、ユーザは、表示されている集約されたプロパティを編集することによって、プロパティを編集することができる。集約されたプロパティに対する変更は、さまざまな選択されたファイルのプロパティに適用されることができる。
2008538629.tif 000002
【特許請求の範囲】
【請求項１】
ファイルプロパティを表示する方法であって、
それぞれが少なくとも１つの多値プロパティを有する、コンピュータシステムの複数のファイルの選択を受け取るステップと、
前記複数のファイルの前記多値プロパティの値の集約を前記コンピュータシステムのディスプレイ上に表示するステップと、
を備え、少なくとも１つの表示された値が、前記値を前記選択されたファイルのうちの１つ又は複数に相関付けるために視覚的に区別される方法。
【請求項２】
前記少なくとも１つの表示された値が、前記値が前記選択されたファイルのすべてに関連付けられていることを示す様式で視覚的に区別される、請求項１に記載の方法。
【請求項３】
前記少なくとも１つの表示された値が、前記値が前記選択されたファイルのサブセットに関連付けられていることを示す様式で視覚的に区別される、請求項１に記載の方法。
【請求項４】
前記選択されたファイルのうちの前記１つ又は複数を、前記少なくとも１つの表示された値に対応する様式で視覚的に区別するステップを更に含む、請求項１に記載の方法。
【請求項５】
前記選択された複数のファイルの前記多値プロパティを正規化するステップを更に含む、請求項１に記載の方法。
【請求項６】
前記複数のファイルによって与えられた優先順位に基づいて値の前記集約を並べ替えるステップを更に含む、請求項１に記載の方法。
【請求項７】
並べ替える前記ステップが、
整数定数Ｃを設定するステップと、
１位からＣ位に関して前記選択されたファイルの前記多値プロパティ内に見られるそれぞれの値ごとに優先順位の得票を集計するステップと、
を含む、請求項６に記載の方法。
【請求項８】
並べ替える前記ステップが、１位からＣ位のうちの１つに関して、その順位に関して最も多い優先順位の得票を有する値にその順位を与えるステップを更に含む、請求項７に記載の方法。
【請求項９】
並べ替える前記ステップが、１位からＣ位のうちの前記１つに関して複数の値の間で同点である場合に、１位からＣ位のうちの前記１つの後に続く次の順位を覗き見て、前記覗き見の結果に基づいて１位からＣ位のうちの前記１つに順位を与えるステップを更に含む、請求項８に記載の方法。
【請求項１０】
前記表示された値の集約と共にプロンプトテキスト文字列を含めるステップを更に含む、請求項１に記載の方法。
【請求項１１】
ユーザが前記表示された集約された値の中でデータ入力操作を開始したことに応答して前記プロンプトテキスト文字列を自動的に取り除くステップを更に含む、請求項１０に記載の方法。
【請求項１２】
前記ユーザが前記データ入力操作を終了したことに応答して前記プロンプトテキスト文字列を自動的に元に戻すステップを更に含む、請求項１１に記載の方法。
【請求項１３】
ユーザが前記表示された集約された値の中でデータ入力操作を開始したことに応答して候補のドロップダウンメニューを表示するステップを更に含む、１のステップを更に含む、請求項１に記載の方法。
【請求項１４】
前記候補のメニューが、コンテキストの基準に基づいて自動的にフィルタにかけられる、請求項１３に記載の方法。
【請求項１５】
前記フィルタにかけられた候補のメニューをソートするステップを更に含む、請求項１４に記載の方法。
【請求項１６】
データを表示する方法であって、
コンピュータシステムディスプレイ上でファイルのリストをユーザに表示するステップと、
ユーザによる複数の前記ファイルの選択を受け取るステップと、
前記ファイルのうちの１つ又は複数のプレビューを表示するステップと、
前記プレビューが表示されている間に前記選択されたファイルのメタデータを表示するステップであって、前記メタデータの少なくとも一部が、前記選択された複数のファイルの多値プロパティの値の集約であるステップと、
前記値と、前記選択されたファイルのうちの１つ又は複数との間における１つ又は複数の関連付けを識別するために前記集約された値のうちの１つ又は複数を視覚的に区別するステップと、
を含む方法。
【請求項１７】
前記集約された値がフィールド内に表示され、前記フィールドが、前記集約された値の末尾にプロンプトテキストを付加する、請求項１６に記載の方法。
【請求項１８】
ユーザが前記フィールド内でデータ入力操作を開始したことに応答して前記プロンプトテキストを自動的に取り除くステップを更に含む、請求項１７に記載の方法。
【請求項１９】
前記選択されたファイルのそれぞれに関連付けられているそれぞれの優先順位に従って前記表示された集約された値を並べ替えるステップを更に含む、請求項１８に記載の方法。
【請求項２０】
ファイルメタデータを編集する方法であって、
複数の選択されたファイルの多値プロパティの集約された値を表示するステップと、
前記区別された値と、前記複数の選択されたファイルのうちの１つ又は複数との間における関連付けを示すために前記集約された値のうちの少なくとも１つを視覚的に区別するステップと、
前記表示された集約された値を、前記値を編集したいというユーザの要求に従って修正するステップと、
前記ユーザが前記集約された値を編集したことに応答して、前記選択されたファイルのうちのそれぞれのプロパティへの対応する修正を行うステップと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００３年３月２４日に出願された「System and Method for User Modification of MetaData in a Shell Browser」という名称の同時係属の米国特許出願第１０／３９５，５３３号、及び２００３年３月２４日に出願された「Extensible Object Previewer in a Shell Browser」という名称の米国特許出願第１０／３９５，５６０号の一部継続出願であり、それらの米国特許出願の明細書は、参照によって本明細書に組み込まれる。
【０００２】
本出願は、一般にコンピュータソフトウェアの分野に関する。より詳細には、本出願は、システム上でファイルの多値プロパティを見る際のユーザ経験を改善するためのシステム及び方法に関する。いくつかの態様は、集約された多値プロパティが表示のために選択されて優先順位を付けられる方法に関する。
【０００３】
発明の背景
パーソナルコンピュータ（ＰＣ）などのコンピューティング環境内に保存されているアイテムを迅速に識別する必要性は、ますます多くの個人が日常的にコンピュータを利用するにつれて、また、保存される情報のタイプが画像、音楽、ドキュメントなどの間でさまざまに異なるにつれて、劇的に高まっている。ドキュメント及びメディアは通常、コンピュータ上に階層形式で保存され、フォルダ内に保存されている情報やメディアのファイルを用いて編成される。ファイルシステムブラウザによって、ユーザは、ファイルシステム内をナビゲートし、ファイル及びフォルダを見つけ出して開くことができる。たとえば、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎのＷＩＮＤＯＷＳ（登録商標）  ＥＸＰＬＯＲＥＲ（商標）は、ユーザがファイルシステムをブラウズできるようにするオペレーティングシステムユーティリティーである。
【０００４】
システム上のファイルをブラウズしているときに、いくつかのシステムは、選択されたファイルに関する１つ又は複数のプロパティやファイル属性を表示することができる。ＷＩＮＤＯＷＳ（登録商標）  ＥＸＰＬＯＲＥＲ（商標）によって、ユーザは、ファイルアイコン上でマウスボタンを右クリックして、そのファイルの選択されたプロパティを含むポップアップダイアログを表示することができる。プロパティは、ファイルタイプ、場所、サイズ、及び作成日を含むことができるが、その範囲は、かなり限られている。コンピューティングシステムがますます洗練されていくにつれて、より洗練されたプロパティ及びプロパティ提示技術が望ましくなる。
【０００５】
より洗練されたプロパティの１つのタイプが、多値プロパティである。多値プロパティとは、自分自身に関連付けられている複数の値を有することができるプロパティである。たとえば、ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ（登録商標）Ｅメールプログラムにおいては、Ｅメールの宛先フィールド（「Ｔｏ」）は、複数の宛先を有することができる。
【０００６】
ユーザは、多値プロパティフィールドを編集するのに苦労する場合が多い。表示されている多値プロパティフィールド内で複数の値を区切るのに使用されている（セミコロンなどの）区切り文字に苦労するユーザもいる。ＭＩＣＲＯＳＯＦＴ  ＯＵＴＬＯＯＫ（登録商標）は、複数の項目を区切るのにセミコロンを使用しており、ユーザは、自分のＥメールに関して「Ｔｏ」フィールドの編集に取り組む際に、その区切り文字に気づかないか、その区切り文字をうっかり削除してしまうか、又は多すぎる区切り文字をうっかり挿入してしまうかのいずれかとなる場合が多い。他のユーザが、その多値フィールド内にミスス
ペルの入力を行えば、その後の混乱は、更に大きくなる。
【０００７】
したがって、コンピューティングシステム上でファイルをナビゲート及び管理する際のユーザの経験を簡略化するために、プロパティの表示を取り扱い、多値プロパティを管理する改良された方法が必要とされている。
【０００８】
発明の概要
本発明の態様は、プロパティ（或いはメタデータ）をユーザが修正するためのシステム及び方法を提供することによって、上述のニーズのうちの１つ又は複数を満たし、従来技術における１つ又は複数の欠点を克服することができる。一態様においては、多値プロパティを含むことができるファイルプロパティの表示を含むシェルブラウザが提供される。ユーザは、多値プロパティを編集することができ、システムは、ユーザが多値プロパティを編集するのをインテリジェントに補助することができる。システムは、多値プロパティの値をトークン化することができ、多値プロパティフィールドのオプションをユーザに思い出させるためのものとして、永続的なプロンプトテキストをそのフィールド内に提供することができる。
【０００９】
システムは、集約されたプロパティの値を表示することができ、集約された値を、それらの集約された値が適用されるファイルに関連付けるための視覚的な区別を組み込むことができる。集約された値の編集が可能であり、集約された多値プロパティを編集する際には、システムは、既に使用中の項目、そのプロパティの値が使用されるコンテキストなど、さまざまな要因に基づいてユーザが項目を選択（或いは回避）するのをインテリジェントに補助することができる。
【００１０】
複数の選択されたファイルに関する多値プロパティを集約する際には、システムは、特定の値がさまざまなファイル内に現れた順序を保存するのを補助するための処置を取ることもできる。ファイルの多値プロパティのはじめの方により頻繁に現れる傾向のある値は、対応する集約された多値プロパティのはじめの方に現れる傾向がある。
【００１１】
以降では、添付の図面を参照して、本発明について詳細に説明する。
発明の詳細な説明
本発明は、シェルブラウザから１つ又は複数の選択されたファイルのプレビューをユーザに提供することによってシェルブラウザ内でのユーザ経験を改善するためのシステム及び方法に関する。以降では、本発明に関する例示的な動作環境について説明する。
【００１２】
図面においては、同様の参照番号によって、さまざまな図における同様のコンポーネントが識別されており、それらの図面を全般的に参照すると、また、はじめは特に図１を参照すると、例示的な動作環境が示されており、全体として動作環境１００と指定されている。コンピューティングシステム環境１００は、適切なコンピューティング環境の一例にすぎず、本発明の使用や機能の範囲に対して何らかの限定を提示することを意図するものではない。またコンピューティング環境１００が、例示的な動作環境１００内に示されているコンポーネントのうちの任意の１つ又は任意の組合せに関して何らかの依存性や必要性を有すると解釈すべきでもない。
【００１３】
本明細書に記載されている機能については、コンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令という一般的なコンテキストにおいて説明することができる。一般にプログラムモジュールは、特定のタスクを実行したり特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。更に、これらの機能は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品やプログラム可能な家庭用電化
製品、ミニコンピュータ、メインフレームコンピュータなどを含むさまざまなコンピュータシステム構成と共に実施されることができるということを当業者なら理解できるであろう。これらの機能は、通信ネットワークを通じてリンクされているリモート処理デバイスによってタスクが実行される分散コンピューティング環境において実施されることもできる。分散コンピューティング環境においては、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータストレージメディア及びリモートコンピュータストレージメディアの双方に配置されることができる。
【００１４】
図１を参照すると、例示的なシステム１００は、汎用コンピューティングデバイスをコンピュータ１１０の形態で含み、このコンピュータ１１０は、処理装置１２０と、システムメモリ１３０と、システムメモリ１３０を含むさまざまなシステムコンポーネントを処理装置１２０に結合するシステムバス１２１とを含む。希望に応じて、本明細書に記載されている要素のうちのいずれかが、スタンドアローンの要素（たとえば、単一の処理装置）として、或いは連携して機能する複数の要素（たとえば、複数の処理装置）として実装されることもできる。
【００１５】
コンピュータ１１０は通常、さまざまなコンピュータ可読メディアを含む。たとえばコンピュータ可読メディアは、コンピュータストレージメディア及び通信メディアを含むことができるが、これらには限定されない。コンピュータストレージメディアの例としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、又はその他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、又はその他の光ディスクストレージやホログラフィックディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、又はその他の磁気ストレージデバイス、或いは所望の情報を記憶するために使用可能で、コンピュータ１１０によってアクセス可能なその他の任意のメディアを含むが、これらには限定されない。システムメモリ１３０は、コンピュータストレージメディアを、ＲＯＭ  １３１及びＲＡＭ  １３２などの揮発性メモリ及び／又は不揮発性メモリの形態で含む。ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１３３は、（起動期間などに）コンピュータ１１０内の要素どうしの間における情報伝達を補助する基本ルーチンを含み、通常はＲＯＭ  １３１内に格納されている。ＲＡＭ  １３２は通常、処理装置１２０がすぐにアクセスできるか、及び／又は処理装置１２０によってその時点で操作されているデータモジュール及び／又はプログラムモジュールを含む。図１は、例としてオペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、及びプログラムデータ１３７を示しているが、これらには限定されない。
【００１６】
またコンピュータ１１０は、その他の取り外し可能な／取り外し不能な、揮発性の／不揮発性のコンピュータストレージメディアを含むこともできる。ほんの一例として、図１は、取り外し不能な不揮発性の磁気メディアとの間で読み取りや書き込みを行うハードディスクドライブ１４１と、取り外し可能な不揮発性の磁気ディスク１５２との間で読み取りや書き込みを行う磁気ディスクドライブ１５１と、ＣＤ−ＲＯＭやその他の光メディアなどの取り外し可能な不揮発性の光ディスク１５６との間で読み取りや書き込みを行う光ディスクドライブ１５５とを示している。この例示的な動作環境において使用されることができるその他の取り外し可能な／取り外し不能な、揮発性の／不揮発性のコンピュータストレージメディアとしては、磁気テープカセット、フラッシュメモリユニット、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどを含むが、これらには限定されない。ハードディスクドライブ１４１は通常、インターフェース１４０などの取り外し不能なメモリインターフェースを通じてシステムバス１２１に接続されている。磁気ディスクドライブ１５１及び光ディスクドライブ１５５は通常、インターフェース１５０などの取り外し可能なメモリインターフェースによってシステムバス１２１に接続されている。
【００１７】
図１に示されている上述のドライブ及びそれらに関連するコンピュータストレージメディアは、コンピュータ１１０に対するコンピュータ可読命令、データ構造、プログラムモジュール、及びその他のデータの記憶を提供する。たとえばハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、及びプログラムデータ１４７を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、及びプログラムデータ１３７と同一であっても、異なっていてもよいという点に留意されたい。通常、ＲＡＭ内に保存されているオペレーティングシステム、アプリケーションプログラムなどは、ハードディスクドライブ１４１から読み出される対応するシステム、プログラム、或いはデータの部分であり、それらの部分のサイズ及び範囲は、所望の機能に応じてさまざまに異なる。ここでは少なくとも、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、及びプログラムデータ１４７を異なるコピーとすることができるということを示すために、それらに異なる番号を割り当てている。ユーザは、キーボード１６２、一般にマウス、トラックボール、タッチパッドと呼ばれるポインティングデバイス１６１、無線入力受信コンポーネント１６３、或いはリモコン等の無線源などの入力デバイスを通じてコンピュータ１１０にコマンド及び情報を入力することができる。その他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。これら及びその他の入力デバイスは、システムバス１２１に結合されているユーザ入力インターフェース１６０を通じて処理装置１２０に接続される場合が多いが、パラレルポート、ゲームポート、ＩＥＥＥ  １３９４ポート、ＵＳＢ、赤外線（ＩＲ）バスなどのその他のインターフェース構造及びバス構造によって接続されることもできる。
【００１８】
またディスプレイデバイス１９１も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。ディスプレイデバイス１９１は、モニタ、ＬＣＤスクリーン、薄膜トランジスタ（ＴＦＴ）スクリーン、フラットパネルディスプレイ、従来のテレビジョン、或いはスクリーンプロジェクタに限らず、コンピュータ１１０の出力を表示するための任意のデバイスとすることができる。コンピュータは、ディスプレイデバイス１９１に加えて、スピーカ１９７及びプリンタ１９６などのその他の周辺出力デバイスを含むこともでき、これらは、周辺出力インターフェース１９５を通じて接続されることができる。
【００１９】
コンピュータ１１０は、リモートコンピュータ１８０などの１つ又は複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で機能することができる。リモートコンピュータ１８０は、パーソナルコンピュータとすることができ、図１には、メモリストレージデバイス１８１しか示されていないが、通常は、コンピュータ１１０に関連する上述の要素の多く又はすべてを含む。図１に示されている論理接続は、ＬＡＮ１７１及びＷＡＮ１７３を含むが、メトロポリタンエリアネットワーク（ＭＡＮ）、イントラネット、或いはインターネットへの接続など、その他のネットワークを含むこともできる。
【００２０】
ＬＡＮネットワーキング環境において使用される場合には、コンピュータ１１０は、ネットワークインターフェース又はアダプタ１７０を介してＬＡＮ  １７１に接続されることができる。ＷＡＮネットワーキング環境において使用される場合には、コンピュータ１１０は、インターネットなどのＷＡＮ  １７３上で通信を確立するためのモデム１７２やその他の手段を含むことができる。モデム１７２は、内蔵型とすることもでき、或いは外付け型とすることもでき、ネットワークインターフェース１７０やその他の適切なメカニズムを介してシステムバス１２１に接続されることができる。モデム１７２は、ケーブルモデム、ＤＳＬモデム、或いはその他のブロードバンドデバイスとすることができる。ネ
ットワーク化された環境においては、コンピュータ１１０に関連して示されているプログラムモジュールやそれらの一部はリモートメモリストレージデバイス内に格納されることができる。図１は、例としてリモートアプリケーションプログラム１８５をメモリデバイス１８１上に常駐するものとして示しているが、この形態には限定されない。示されているネットワーク接続は例示的なものであり、コンピュータどうしの間に通信リンクを確立するその他の手段も使用されることができるということが理解できる。
【００２１】
コンピュータ１１０のその他の内蔵コンポーネントも可能であるが、図示していない。たとえば、テレビチューナーカード及びネットワークインターフェースカードなど、さまざまな拡張カードがコンピュータ１１０内に組み込まれることができる。
【００２２】
コンピュータ１１０がオンにされたり再起動されたりしたときに、ＲＯＭ  １３１内に格納されているＢＩＯＳ  １３３は、オペレーティングシステム、或いはその必要な部分をハードディスクドライブ１４１からＲＡＭ  １３２内へロードするように処理装置１２０に指示する。オペレーティングシステム１４４として指定されたオペレーティングシステムのコピーされた部分が、ＲＡＭ  １３２内へロードされると、処理装置１２０は、オペレーティングシステムコードを実行し、オペレーティングシステム１３４のユーザインターフェースに関連付けられている視覚的な要素が、ディスプレイデバイス１９１上に表示される。通常、アプリケーションプログラム１４５がユーザによって開かれると、プログラムコード及び関連するデータが、ハードディスクドライブ１４１から読み出され、必要な部分がＲＡＭ  １３２内へコピーされ、そのコピーされた部分が、ここでは参照番号１３５によって表されている。
【００２３】
前述のように、本明細書に記載されている機能は、コンピュータで使用可能な命令という一般的なコンテキストにおいて説明されることができる。コンピュータで使用可能な命令は、１つ又は複数のコンピュータやその他のデバイスによって使用可能な機能、プロシージャ、スキーマ、ルーチン、コードセグメント及びモジュールを含む。コンピュータで使用可能な命令は、コンピュータが入力源に従って反応できるようにするためのインターフェースを形成する。これらの命令は、その他のコードセグメントと連携して、受け取ったデータの源と共に受け取ったデータに応答してさまざまなタスクを開始する。
【００２４】
図２Ａを参照すると、パネル２００が、シェルブラウザのグラフィカルユーザインターフェースのためのスクリーンサイズのディスプレイエリアを表している。パネル２００は、プレビューパネルエリア２０２及びビューエリア２０４を含む。プレビューパネル２０２は、プレビューコントロール２０６、ユーザインターフェース（ＵＩ）又は編集コントロール２０８、及びタスクコントロール２１０を含むことができる。通常、プレビューコントロール２０６は、プレビュー表示されるアイテム（たとえば、選択されたファイル）のイメージやその他の視覚表示をユーザに提供する。プレビューコントロール２０６は、ユーザがマウスボタンをクリックすることによって１つのアイテムから次のアイテムへ焦点を移すことができるようにするイテレータボタンなどのコントロールをユーザに提供することもできる。１つ又は複数のアイテムに対応するメタデータ、及び／又はアイテムコンテナに対応するメタデータがパネル２００内のさまざまな場所に表示されることができる。たとえば、編集コントロール及びメタデータは編集コントロールエリア２０８内の同一の場所に配置されることができ、それによって編集コントロールエリアは、プレビュー表示されるアイテムの主要なプロパティの表示を含むだけでなく、メタデータに対して編集を行うオプションもユーザに提供する。タスクコントロール２１０は、ネームスペース及び／又は選択に関するタスクを含む。本明細書に記載されているさまざまな要素は、共通のユーザインターフェースパネル内に表示されるなど、１つのディスプレイエリアを共有することもでき、或いは別々のパネルなど、自前の別々のエリアを有することもできる。
【００２５】
任意選択の機能がパネル２００内に含められることもでき、機能が取り外されることもできる。たとえば、プレビューコントロール２０６及びタスクコントロール２１０が取り外されることができる。更に、イテレータボタンや、ユーザがプレビューペインを開閉することができるようにする表示／非表示ボタンを含むツールバーなどの図２Ａに示されていないその他の機能が任意選択で追加されることができる。これら及びその他の任意選択の機能は、ユーザがシェルブラウザ内の特定のアイテムを容易に見つけ出す上で役に立つことができる。
【００２６】
ビューエリア２０４は、ファイルシステムファイルやフォルダなどの１つ又は複数のアイテム２１２に関する、アイテムの一覧やリストなどのリストビューを提供する。アイテム及びシェルアイテムは、ファイル、フォルダ、及び／又はその他のそのようなコンテナとすることができ、リストビュー内に表示されることができるその他のファイル以外のオブジェクトを含むことができる。ファイル以外のオブジェクトの例としては、デバイス、連絡先、お気に入り、及びＥメールメッセージを含むことができるが、これらには限定されない。「シェルブラウザ」及び「ファイルシステムブラウザ」という用語は、本明細書においては同義に使用され、ファイル及びその他のファイル以外のアイテムを含む１つ又は複数のネームスペース内をユーザがナビゲートできるようにするブラウザを指す。
【００２７】
パネル２００に関しては、多くの可能なデザイン及びレイアウトが考えられる。たとえば図２Ａにおいては、プレビューパネル２０２は、ビューエリア２０４の上に表示されている。しかし、プレビューパネル２０２及びビューエリア２０４を横に並べて配置することなど、その他のレイアウトも可能である。編集コントロール２０８も、表示されるメタデータの場所とは無関係に、及びその他のあらゆるコントロールの場所とは無関係に配置されることができる。リストビューエリア２０４内に表示されるアイテムに関しても、詳細、スライドショー、フィルムストリップ、サムネイル、タイル、アイコンなど、多くの可能なビュータイプがある。
【００２８】
図２Ｂは、図２Ａと類似しているが、ビューエリア２０４が、ビューエリア２１４に入れ替わっており、ビューエリア２１４は、アイテム２１２を詳細モードで表示している。詳細モードで表示されているシェルアイテムに関しては、アイテム２１２は、ビューエリア２１４の左側で一列に整列することができ、１つ又は複数の列見出し２１６が、同じ行に配置されている対応するアイテムに関連するメタデータ２１８を含む列のセットの最も上の行を形成している。ユーザは、パネル２００内の任意の場所で１つ又は複数の編集コントロール２０８のインスタンス化を通じてメタデータの値を別の値へ変更することができる。たとえば編集コントロールは、プレビューパネル２０２内に、及び／又はビューエリア２１４内に提供されることができる。たとえば、はじめはユーザに見えない編集コントロールがビューエリア２１４内に提供されることができる。そのようなコントロールは、たとえばユーザがメタデータ２１８の上にマウスポインタを置いて、そしてそのメタデータ２１８の上でクリックして編集モードに入るときに、インスタンス化されることができる。
【００２９】
次いで図３を参照すると、シェルブラウザ内のウェルカムパネル３００の概略図が提供されている。ウェルカムパネルは、選択とは対照的なネームスペース／ページ又はコンテナを表すため、「ヌル選択」パネルと呼ばれる場合もある。ユーザがまだ選択を行っていない場合には、プレビューパネル３０２は、フォルダ又はシェルライブラリに関連するメタデータ３０４及び主要なタスクを表示することができる。希望に応じて、それらのタスクは、主要なタスク３０６と、その他の関連タスク３０８とに分けられることができる。ウェルカムパネル３００はまた、ビューエリア３１０を含み、このビューエリア３１０内では、複数のファイルやその他のアイテム３１２が表示されることができる。ウェルカム
ペインメタデータ３０４は、コンテナ（たとえば、ＭｙＰｉｃｔｕｒｅｓ）のプロパティなどの情報を含むことができ、その場合には、メタデータの表示は、静的なものとすることができる。或いは、ウェルカムペインメタデータ３０４は、コンテナ内のアイテムのそれぞれからのメタデータのサンプリングなどの情報を含むことができ、その場合には、メタデータの表示は頻繁に変更されることができる。たとえばメタデータの表示は、１つのアイテムから次のアイテムへと３０秒毎に循環させることによって、一度に１つのアイテムのプロパティに制限されることができる。
【００３０】
図４は、シェルブラウザ内の選択済みパネル４００の概略図である。ウェルカムパネルとは対照的に、選択済みパネルは、ユーザによる選択を表す。ユーザが、コンテナやフォルダを選択した場合には、選択済みパネルは、そのコンテナやフォルダのためのウェルカムパネルと同一である必要はない。図４においては、選択済みパネル４００は、プレビューパネル４０２を含み、このプレビューパネル４０２は、プレビューコントロール４０４、メタデータディスプレイ４０６、及びタスクディスプレイ４０８を含む。（図３の）ウェルカムパネル３００と同様に、選択済みパネル４００も、ビューエリア４１０を含み、このビューエリア４１０内では、複数のファイルやその他のアイテム４１２が表示されることができる。しかし図４においては、ユーザは、それらのファイルのうちの１つを選択している。その結果、プレビューコントロール４０４は、その選択されたファイルのプレビューイメージを表示し、メタデータディスプレイ４０６は、その選択されたファイルのプロパティを表示し、タスクディスプレイ４０８は、その選択されたファイル上で操作を行うための関連するタスクのメニューを提供する。
【００３１】
図５は、図４の選択済みパネルの概略図だが、シェルブラウザ内のメタデータをユーザが修正できるようにするためのコンテキストメニュー５００も含んでいる。図５のコンテキストメニュー５００は、選択されたメタデータを変更するためのいくつかのオプションをユーザに提供する。メニュー５００内に示されている一般的な文章は、もちろん、表示されているメタデータを編集するためにユーザに提示されることができるオプションのタイプの一例にすぎない。コンテキストメニューは、ユーザ経験を改善するために、ウェルカムペインを含むいかなるパネル内でも提供されることができる。当業者なら理解できるであろうが、任意の数のさまざまなコンテキストメニューがサポートされることができる。シェルブラウザ内で表示されているメタデータをユーザが修正できるようにするための１つの手段は、編集可能メタデータコンテキストメニュー５００などのコンテキストメニューを提供することである。ユーザは、たとえば、プレビューパネル内の対応するテキストやオブジェクト上でクリックすることによって、コンテキストメニューを呼び出すことができる。
【００３２】
シェルブラウザ内で表示されているメタデータをユーザが修正できるようにするために、コンテキストメニュー以外の手段が使用されることもできる。そのような１つの手段は、ユーザがメタデータ上でクリックして編集モードに入ることである。対照的に、ユーザは、プレビューパネル内の関連するテキストやオブジェクト上にマウスポインタを置くことによって、編集モードに入ることもできる。データを入力及び／又は編集するいかなる公知の形式も使用されることができる。
【００３３】
図６は、シェルブラウザ内のウェルカムパネル内に表示されているメタデータをユーザが修正できるようにするための方法６００を示す流れ図である。方法６００は、６０２において、ウェルカムパネルと、そのウェルカムパネルに関連付けられているメタデータとを表示するステップを含む。そして６０４において、この方法は、その表示されたメタデータをユーザが修正するためのコントロールを提供する。６０６において、ユーザがそのコントロールを操作して、表示されたメタデータを修正すると、この方法は、次いで６０８において、その修正されたメタデータをウェルカムパネルに関連付け、これによって、
次にウェルカムパネルが表示されたときには、その修正されたメタデータが表示されることになる。
【００３４】
図７は、シェルブラウザ内の選択済みパネル内に表示されているメタデータをユーザが修正できるようにするための方法７００を示す流れ図である。まず７０２において、方法７００は、ウェルカムパネル内のアイテムや、選択されたコンテナ内のアイテムなど、複数のアイテムを表示する。７０４において、ユーザがそれらのアイテムのうちの１つ又は複数を選択すると、この方法は、７０６において、その選択されたアイテムに関連付けられているメタデータを表示する。７０８において、この方法は、その表示されたメタデータをユーザが修正するためのコントロールを提供する。７１０において、ユーザがそのコントロールを操作して、表示されたメタデータを修正すると、この方法は、次いで７１２において、その修正されたメタデータを、選択されたアイテムに関連付け、これによって、次にその選択されたアイテムが表示されたときには、その修正されたメタデータが表示されることになる。
【００３５】
７０４において、ユーザが複数のアイテムを選択した場合には、表示されるメタデータは、それらの選択されたアイテムに共通するプロパティ、プロパティの和集合、或いは、おそらくはそれらの選択されたアイテムに関連する新たなプロパティを含むことができる。たとえば、データが集約されて、ファイルサイズの合計、再生時間の合計、アイテム数の合計、ファイルサイズの平均、再生時間の平均などを提供することができる。或いは、表示されるメタデータは、（たとえば、１つの選択されたアイテムのメタデータから次の選択されたアイテムのメタデータへと３０秒毎に循環する）選択されたアイテムのそれぞれからのメタデータの回転式のサンプルを含むことができる。アイテムのすべてを選択した結果として生じるメタデータの表示が、ヌル選択の結果として生じるメタデータの表示と同じになる可能性もある。
【００３６】
図８は、シェルブラウザ内に表示されるアイテムに関連付けられているユーザによって修正可能なメタデータを含むデータ構造８００のブロック図である。データ構造８００は、アイテムの名前を示すタイトルフィールド８０２を含む。ファイル以外のアイテムの場合、タイトルフィールド８０２は、リストビュー内でそのアイテムをアルファベットで表すために使用されるプロパティが何であれ、そのプロパティの名前を含むことができる。データ構造８００は、表示されるアイテムに関連付けられている１つ又は複数のプロパティを含むユーザによって編集可能なプロパティのフィールド８０４を含み、この場合には、表示されるアイテムと共に、ユーザによって編集可能なプロパティが、シェルブラウザ内に表示される。データ構造８００は、読み取り専用のプロパティのフィールド８０６を任意選択で含むことができ、このフィールド８０６は、表示されるアイテムに関連付けられていてシェルブラウザ内に表示するに値するあらゆる読み取り専用のプロパティを含む。シェルブラウザ内のメタデータディスプレイのサイズの制約が与えられている場合には、フィールド８０４及び８０６内のプロパティの数が制限されることができる。したがってデータ構造８００は、すべてのプロパティのフィールド８０８を任意選択で含むことができ、このフィールド８０８は、表示されるアイテムに関連付けられているプロパティやメタデータのすべてを含む場所（たとえば、プロパティページ）へのリンクやポインタを含む。もちろん、フィールド８０４及び８０６が、表示されるアイテムに関連付けられているプロパティのすべてを含む場合には、すべてのプロパティのフィールド８０８は不要であろう。データ構造８００は、ファイルシステムやシェル内など、１つ又は複数のコンピュータ可読メディア上に格納されて、シェルブラウザ内でリッチなストレージビューを提供し、したがってユーザ経験を改善する。
【００３７】
本明細書に記載されている機能を用いて複数のシナリオが可能にされることができる。第１の例として、ある学生は、プレビューパネルを使用して、自分のプロジェクトを管理
することができる。彼女は、自分が取り組んでいるプロジェクトの一環として新たなドキュメントを入手すると、自分のドキュメントライブラリ内でそれらのドキュメントを選択し、編集コントロールを使用して、そのドキュメントの著者の名前及びそのプロジェクトの名前をキーワードフィールド内へ入力することができる。これで、それらの新たなドキュメントは、「キーワードによってグループ分けされ、著者によってリストアップされたドキュメント」という彼女のお気に入りのビュー内に表示されるようになる。第２の例としては、来たる広告キャンペーンのための素材を探している従業員が含まれる。彼は、シェルブラウザを使用して自分の雇用主による写真の所蔵コレクションを閲覧している際に、数枚の写真を選択し、プレビューペインから「２００３年の夏のキャンペーン」という新たなキーワードを追加する。複数の選択に関するメタデータを更新すると、その従業員は、次いでキーワードによって見回して、いっしょのグループに分類されている「２００３年の夏のキャンペーン」のファイルをすべて表示することができる。
【００３８】
図９は、図４の４００の選択済みパネルに類似しているが拡張コントロールを有する選択済みパネルの概略図である。選択済みパネル９００は、プレビューパネル９０２を含み、このプレビューパネル９０２は、拡張コントロール９１４を有するプレビューコントロール９０４と、メタデータディスプレイ９０６と、タスクディスプレイ９０８とを含む。選択済みパネル９００はまた、ビューエリア９１０を含み、このビューエリア９１０内では、複数のファイルやその他のアイテム９１２が表示されることができる。ユーザは、ファイル９１２のうちの１つを選択しており、したがってプレビューコントロール９０４は、その選択されたファイルのプレビューイメージを表示し、メタデータディスプレイ９０６は、その選択されたファイルのプロパティを表示し、タスクディスプレイ９０８は、その選択されたファイル上で操作を行うための関連するタスクのメニューを提供する。
【００３９】
拡張コントロール９１４は、より高いレベルの機能を表す。たとえば、図４に示されているようなデフォルトのプレビューパネルやプレビューコントロールは、選択されたアイテムのプレビューイメージを単に表示することしかできない。そのアイテムが、ワープロドキュメントやスライドプレゼンテーションである場合には、デフォルトのプレビューイメージは、その一組のドキュメントやスライドの最初のページでありうる。しかし、プレビューイメージの機能を拡張して、よりインタラクティブにすることによって、ユーザは、拡張コントロール９１４を非常に容易に操作して、ドキュメントやスライドプレゼンテーションの全体にわたってページをめくることができる。この強化されたレベルの機能によって、ユーザは、プレビュー表示されるアイテムを開くことなく、そのアイテムをより総合的にブラウズすることができるため、ユーザ経験が改善され、これは、最初のページだけでは容易に識別できないファイルにとって、とりわけ有用である。
【００４０】
拡張コントロール９１４は、シェルブラウザ内の代替プレビューアの一部としてユーザにとって利用可能にすることができる。「プレビューア」という用語は、プレビューコントロール、プレビューコントロールを含むプレビューパネル、或いはプレビューの選択、作成、及び／又は表示に関連するソフトウェアを指すことができる。シェルブラウザは、複数のアイテムタイプのための標準レベルの機能を提供するデフォルトプレビューアと、ユーザ経験を高めるために特定のアイテムタイプのためのさまざまなレベルの機能を提供する１つ又は複数の代替プレビューアとをユーザに提供することができる。独立ソフトウェアベンダー（ＩＳＶ）及びその他のサードパーティー開発者に対して代替プレビューアの開発への門戸を開くことは、容易に認識できる方法でファイルの関連する側面を表示することによって、ファイルをブラウズする経験に価値を加える。イメージファイル、ビデオファイル、連絡先、ゲーム、スキャナ、ビデオカメラ、ドキュメントファイル、スプレッドシートファイル、スライドプレゼンテーションファイル、描画ファイル、及びタブレットインクファイルを含むが、これらには限定されない多くのファイルタイプ及びファイル以外のアイテムタイプのためのカスタムプレビューアが開発されることができる。
【００４１】
サードパーティーは、ファイルタイプの中を見て、ユーザが理解できるであろう意味のあるイメージを提供することができるコードを提供することによって、自分たちのファイルタイプを記述して示すことができる。たとえばアップルは、ＱＵＩＣＫＴＩＭＥ（商標）プレビューコントロールを実装することができ、このＱＵＩＣＫＴＩＭＥ（商標）プレビューコントロールは、ユーザがシェルブラウザ内でＱＵＩＣＫＴＩＭＥ（商標）ファイルを選択したときに表示される。このプレビューコントロールは、ＱＵＩＣＫＴＩＭＥ（商標）ムービーの全体又は一部（たとえば、最初の５秒間）を表示すること、及び／又はＱＵＩＣＫＴＩＭＥ（商標）プレーヤをユーザが起動するためのボタン及びコントロールを提供することなどの機能を含めて、オペレーティングシステムのシェル内のデフォルトプレビューアを超える代替レベル又は拡張レベルの機能を提供することができる。音楽ファイル用の代替プレビューアも、同様の拡張機能を提供することができる。当業者なら理解できるように、代替プレビューアにおける拡張機能に関する可能性は無限である。
【００４２】
図１０は、図４に類似しているが、シェルブラウザ内のメタデータをユーザが修正できるようにするためのコンテキストメニュー１０１４も含む選択済みパネルの概略図である。選択済みパネル１０００は、プレビューパネル１００２を含み、このプレビューパネル１００２は、プレビューコントロール１００４、メタデータディスプレイ１００６、及びタスクコントロール１００８を含む。選択済みパネル１０００はまた、ビューエリア１０１０を含み、このビューエリア１０１０内では、複数のファイルやその他のアイテム１０１２が表示されることができる。メタデータコントロール１００６及びタスクコントロール１００８は、希望に応じて省略されることができる。
【００４３】
図１０のコンテキストメニュー１０１４は、選択されたアイテムに関してデフォルトプレビューア又は代替プレビューアのいずれかを選択する選択肢を含むいくつかのオプションをユーザに提示する。メニュー１０１４内に示されている一般的な文章は、もちろん、プレビューアを選択するためにユーザに提示されることができるオプションのタイプの一例にすぎない。コンテキストメニューは、ユーザ経験を改善するために、ウェルカムペインを含むいかなるパネル内でも提供されることができる。当業者なら理解できるであろうが、任意の数のさまざまなコンテキストメニューが本発明によってサポートされることができる。シェルブラウザ内のプレビューアをユーザが選択できるようにするための１つの手段は、コンテキストメニュー１０１４などのコンテキストメニューを提供することである。ユーザは、たとえば、プレビューパネル内の対応するテキストやオブジェクト上でクリックすることによって、コンテキストメニューを呼び出すことができる。
【００４４】
シェルブラウザ内の複数の利用可能なプレビューアから、表示されているアイテムのためのプレビューアを選択するために、コンテキストメニュー以外の手段が提供されることもできる。そのような１つの手段は、ユーザがプレビューコントロール上でクリックして選択モードに入ることである。同様に、プレビューパネル内で右クリックすることによってプレビューアを選択するようにユーザが促されることもできる。対照的に、ユーザは、プレビューパネル内の関連するテキスト上や関連するオブジェクト上にマウスポインタを置くことによって、選択モードに入ることもできる。多くの代替手段が利用可能であり、本発明の範囲内にある。
【００４５】
図１１Ａは、複数のアイテムをサポートするシェルブラウザ内でプレビューアをユーザが選択できるようにするための方法１１００を示す流れ図である。方法１１００は、１１０２において、シェルブラウザ内に複数のプレビューアを提供する。それらの複数のプレビューアは、複数のアイテムタイプのためのデフォルトプレビューアと、特定のアイテムタイプのための１つ又は複数の代替プレビューアとを含むことができる。これらの代替プレビューアは、サードパーティーによって開発されたインストールされるアプリケーショ
ンを含むことができる。１１０４において、方法１１００は、特定のアイテムタイプのための複数のプレビューアの選択肢をユーザに提示する。プレビューアを選択するように促すことは、（たとえば、新たなアイテムタイプが表示された際に）シェルブラウザによって、及び／又は（たとえば、コンテキストメニューを表示するためにオブジェクト上でクリックすることによって）ユーザによって開始されることができる。１１０６において、特定のアイテムタイプに関してプレビューアのうちの１つを選択することを示す入力をユーザから受け取ると、方法１１００は、次いで１１０８において、その選択されたプレビューアをその特定のアイテムタイプに関連付ける。その選択されたプレビューアは、ユーザが別のプレビューアを選択するまで、続けて使用されることになる。しかし、選択されたプレビューアが、インストールされるアプリケーションである場合には、そのアプリケーションをアンインストールすると、希望に応じて、その選択されたプレビューアの使用を終了することができる。
【００４６】
図１１Ｂは、複数のアイテムタイプをサポートするシェルブラウザ内でプレビューアを自動的に選択するための方法１１１０を示す流れ図である。方法１１１０は、１１１２において、シェルブラウザ内に複数のプレビューアを提供する。それらの複数のプレビューアは、複数のアイテムタイプのためのデフォルトプレビューアと、特定のアイテムタイプのための１つ又は複数の代替プレビューアとを含むことができる。これらの代替プレビューアは、サードパーティーによって開発されたインストールされるアプリケーションを含むことができる。
【００４７】
１１１４においては、（ユーザとは対照的に）システムが、特定のアイテムタイプのために複数の利用可能なプレビューアからデフォルトプレビューアを自動的かつ透過的に選択する。システムは、新たなアイテムタイプの表示や、代替プレビューアの存在などのイベントに応答して、プレビューアを選択することができる。システムは、論理的なルールに基づいてデフォルトプレビューアを選択するように構成されている。例外的な状況のもとでは、システムは、８１６において、それらのルールを無効にすることを決定し、適用可能なルールのもとでは選択されないはずのプレビューアを選択することができる。たとえば、ルールが、新たに利用できるプレビューアを現在のデフォルトプレビューアに勝るものとして選択することである場合には、インストールされるアプリケーションは一般に、デフォルトプレビューアを、そのインストールされるアプリケーションから現在利用できるプレビューアに変更する権限を有することができる。しかしシェルブラウザは、たとえば、新たにインストールされるアプリケーションによって提示される変更を無効にする権利を留保することができる。たとえば、新たにインストールされるアプリケーションを当該アイテムタイプの適正な所有者として認証できない場合には、無効にすることが適切であり得る。
【００４８】
いずれにしても、方法１１１０は、次いで１１１８において、選択されたプレビューアを特定のアイテムタイプに関連付ける。その選択されたプレビューアは、別のプレビューアが選択されるまで、続けて使用されることになる。しかし、選択されたプレビューアが、インストールされるアプリケーションである場合には、そのアプリケーションをアンインストールすると、希望に応じて、その選択されたプレビューアの使用を終了することができる。
【００４９】
次いで図１２を参照すると、流れ図が、複数のアイテムタイプをサポートするシェルブラウザ内でサードパーティーのプレビューアを使用できるようにするための方法１２００を示している。方法１２００は、１２０２において、複数のアイテムタイプのためのデフォルトプレビューアを有するシェルブラウザを提供するステップを含む。方法１２００は、１２０４において、複数のアイテムタイプのうちの少なくとも１つのための代替プレビューアをサードパーティーが開発するための拡張性メカニズムを提供するステップを更に
含む。その代替プレビューアは、１２０６においてシェルブラウザ内に登録されることができる。インストールされるアプリケーションの場合には、実質的にインストール時に登録を行うことができる。たとえば、そのアプリケーションがＯＥＭによってインストールされる場合には、ユーザがコンピュータを入手する前に、代替プレビューアは登録されることができる。或いはユーザは、そのアプリケーションをローカルに、又はリモートにインストールすることもできる。
【００５０】
１２０４において上述した拡張性メカニズムに関しては、多くの可能なアプローチがある。そのような１つのアプローチは、ＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍ
ｉｎｔｅｒｆａｃｅ）のセットを公開することを含み、それによって、独立ソフトウェアベンダー（ＩＳＶ）及びその他のサードパーティー開発者は、代替プレビューアを開発することができる。このＡＰＩのアプローチに関しては、ＩＳＶが自分のプレビューコントロールをそのＩＳＶによって所有されているアイテムタイプに関連付けることができるようにする登録メカニズムが存在する。そのタイプのアイテムやファイルがシェルブラウザ内で選択されると、ＩＳＶのプレビューコントロールは、この登録メカニズム及び拡張性ＡＰＩを介してインスタンス化される。このＡＰＩは、データ、すなわちビュー内の選択されたアイテムを表すデータ、及びビュー内のそれらのアイテムの親コンテナを表すデータをプレビューコントロールに提供する。プレビューコントロールは、このデータ上で機能して、シェルブラウザ内に提示されているＡＰＩを通じてユーザインターフェースを提供する。ユーザは、キーストローク及びマウスイベントを用いて入力を提供することができ、それらのイベントは、シェルブラウザによってプレビューコントロールへ渡され、プレビューコントロールは、それらのユーザ入力イベントに関して機能することができる。
【００５１】
当業者なら理解できるように、拡張性メカニズムのコンテキストにおいては多くのアプローチが可能である。ＡＰＩのアプローチに加えて、ユーザによる構成、ＨＴＭＬへのポインタ、或いはフラッシュをホストすることを介して、同様の機能が実現されることができる。更に拡張性モデルは、選択されたアイテムタイプを所有する唯一のアプリケーションが唯一の代替プレビューアを提供することができるということを要求することができる。すなわち、複数の登録されて拡張されたプレビューアが相互に競合状態にあるという劣悪なユーザ経験を回避するために、利用可能なプレビューアの数がデフォルトプレビューア及び１つの代替プレビューアに制限されることができる。しかし別のモデルは、選択されたアイテムタイプを取り扱うことができるいかなるアプリケーションも追加プレビューアを１つ提供できるようにすることであろう。ある代替モデルによれば、いかなる実行中のコードも、任意のアイテムタイプに関して追加プレビューアを１つ提供できるようになる。特定の状況のもとでは、デフォルトプレビューアを取り替えたり取り外したりできるようにすることも望ましいことであり得る。
【００５２】
図１３は、１つ又は複数のコンピュータ可読メディア上に保存されていて、シェルブラウザ内の複数のプレビューアを示す情報を含むデータ構造１３００のブロック図である。データ構造１３００は、複数のアイテムタイプをサポートするデフォルトプレビューアを示す情報を含むデフォルトプレビューアフィールド１３０２を含む。代替プレビューアフィールド１３０４は、第１のアイテムタイプのための代替プレビューアを示す情報を含む。別の代替プレビューアフィールド１３０６は、第１のアイテムタイプのための第２の代替プレビューアを示す情報を含むことができ、或いは、第２のアイテムタイプのための代替プレビューアを示す情報を含むことができる。当業者なら理解できるように、代替プレビューアフィールドが１つしか存在することができない場合もあり、代替プレビューアフィールドが複数存在することができる場合もある。選択されたプレビューアフィールド１３０８は、特定のアイテムタイプのアイテムがシェルブラウザ内に表示されたときにデフォルトプレビューア又は代替プレビューアを呼び出すかどうかを示す情報を含む。フィー
ルド１３０６が、第２のアイテムタイプのための代替プレビューアを示す情報を含む場合には、選択されたプレビューアフィールド１３１０は、第２のアイテムタイプの１つ又は複数のアイテムがシェルブラウザ内に表示されたときにデフォルトプレビューア又は代替プレビューアを呼び出すかどうかを示す情報を含むことができる。フィールド１３０２、１３０４、及び／又は１３０６内に含まれる情報は、ユーザがそのタイプのオブジェクトを選択したときに実行されるように構成されているプレビューアコードを含むことができる。
【００５３】
図１４Ａ〜図１４Ｂは、上述した機能及び本明細書に記載されている機能と共に使用されることができるプレビュープロセスに関する流れ図の一例を示している。このプロセスにおける最初のステップとして、ステップ１４０１において、１つ又は複数のプレビューアがシステム上にインストールされることができる。プレビューアは、基礎をなすオペレーティングシステムソフトウェアの一部として出荷されるソフトウェアとすることができる。プレビューアはまた、コンピュータシステムが出荷された後にそのコンピュータシステム上にロードされる追加のソフトウェアとすることもできる。たとえば、基礎をなすオペレーティングシステムは、プレビューアのその後の開発及び／又は追加を可能にするＡＰＩのセットを公開することができる。
【００５４】
ステップ１４０２においては、１つ又は複数のプレビューアのために新たな関連付けが作成されるかどうかを判定するためにチェックが行われることができる。関連付けは、使用されることになるプレビューアの回数及びタイプを規定する任意の基準及び／又は要求とすることができる。所与のユーザＩＤ（又は特定のユーザがプレビューをまったく無効にしたいと望む場合）に関して、並びに／或いはシステムの状況に基づくある所定の状況（たとえば、利用可能なリソース、メモリ、現在実行中のアプリケーション、作成された、又は作成されることになるプレビューの数、利用可能なパワー、時刻、その他のアプリケーションのステータスなど）、及びファイルタイプ（たとえばユーザは、ホームビデオに関しては、あるタイプのプレビューアを使用することを好み、圧縮された曲に関しては、別のプレビューアを使用することを好むことがあり得る）に関して使用されることになるプレビューアのタイプを規定するために関連付けが作成されることができ、それによって、システムが使用するデフォルトプレビューアをユーザが定義することができる。ユーザは、特定のファイルタイプが基本的な／インタラクティブではないプレビューを有するだけとなることを指示することができ、或いはシステムは、あるプレビューが所定の回数の不具合、クラッシュ、又はハングを経験した場合には、そのプレビューを自動的に無効にすることができる。アプリケーションは、１つ又は複数のプレビューアに関連付けられることができ、それによって、そのアプリケーションから開かれたプレビューや、そのアプリケーションによって作成されたファイルのプレビューは、常にその同じプレビューアを使用してプレビュー表示されることができる。これらの関連付けは、階層的な性質のものとすることができ、それによって、複数のプレビューが好みの順にランク付けされる。新たな関連付けを要求するステップ１４０２は、起動時に、アプリケーションのインストール時に、所定のアプリケーションの実行時に、及び／又はユーザの要求によって行うことができる。
【００５５】
新たな関連付けを作成する要求が受け取られると、ステップ１４０３において、関連付けが作成される。関連付けを作成するという行為は、特定のプレビューアが使用されることになる際に特定の基準が満たされているかをユーザに問い合わせることによって、或いはそのような基準の情報をアプリケーション及び／又はシステム自体から自動的に検索することによって達成されることができる。実際の関連付けは、作成される際には、プレビューアを、上述のように識別された基準のうちのいずれかに関連付ける、コンピュータシステムのメモリ内に保存されているデータの形態を取ることができる。
【００５６】
ステップ１４０４においては、プレビューアが開かれる必要があるかどうかを判定するためにチェックが行われることができる。プレビューアを開くことをトリガーすることができる複数のイベントがある。たとえば、ユーザがシステム上のシェルブラウザを開いて、ファイル及び／又はフォルダを調べ始めると、ブラウザは、プレビューアを始動して、１つ又は複数の選択されたファイル（或いは何も選択されていない場合には、デフォルトのファイル）のプレビューを表示することができる。或いは、その他の任意のアプリケーションの要求に応じてプレビューアがトリガーされることもできる。複数のアプリケーションによって共有される共通ファイルダイアログを作成することによって、プレビューアがトリガーされることもできる。共通ファイルダイアログのプレビューについて、以降で更に論じられる。
【００５７】
プレビューアが開かれることになる場合には、システムは、ステップ１４０５において、プレビュー表示されることになる１つ又は複数の選択を受け取ることができる。これは、プレビュー表示されることになる１つ又は複数のファイルのＩＤを受け取ることを含むことができる。そのような選択は、リストアップされているファイルへマウスポインタを移動させて左マウスボタンを押すことによって、或いは複数のファイルリストの周囲に選択ボックスをクリックアンドドラッグで作成することによって１つ又は複数のファイルを選択することなど、ユーザによって行われることができる。或いは、選択が自動的に行われることもできる。たとえば特定のアプリケーションは、所定のファイルに対してデフォルトに設定することができ、最初に開いたときにプレビュー用としてそのファイルを自動的に選択することができる。ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ（商標）などのワープロプログラムは、テキスト編集機能を含むプレビューアに対してデフォルトに設定することができる。システムは、検索を行った結果として、プレビュー用のファイルを自動的に選択することができる。ユーザは、キーワードなどの検索基準を入力することができ、システム又はアプリケーションは、検索結果のうちの１つをプレビュー用として自動的に選択することができる。たとえばユーザは、キーワードとして「ピーナッツ」をシステム検索ツール内に打ち込むことができ、結果として、「ピーナッツ」を含むファイルのリストを、最初にリストアップされたファイルのプレビューと共に表示することができる。
【００５８】
プレビュー表示されるファイルが選択されると、システムは、次いでステップ１４０６において、適切なプレビューを選択して作成する。適切なプレビューを選択することは、あらかじめ作成された１つ又は複数の関連付け（たとえば、特定のタイプのすべてのファイルをプレビュー表示するために、或いは特定のファイルをプレビュー表示するために特定のプレビューアをユーザが選択しておく）に基づくことができ、また、利用可能な（或いは消費される）システムリソースに基づくこともできる。或いは、たとえばプレビュー表示するための選択に適している可能性のある所定のプレビューアの提示されているリストから選択を行うことによって、現在のプレビューのためにどのプレビューアを使用すべきかを特定するようにユーザに要求することもできる。
【００５９】
状況によっては、よりリッチでインタラクティブなプレビューが始動されている間に表示することができる最初の基本的なプレビューを作成することが望ましい。たとえば、テキストドキュメントのリッチなプレビューをロード及び作成するのに数秒を必要とする場合には、その間に、もっと早く作成することができるより基本的なプレビューをユーザに提示することができる。より基本的なプレビューは、リッチなプレビュー内で提供されるインタラクティブな機能のうちのいくつかを有することもでき、或いはそれらの機能をまったく有さないこともでき、また少なくとも、ユーザに選択をプレビュー表示することを開始させることができる。
【００６０】
プレビューを選択することは、使用することができるプレビューアの事前に記憶された序列を含むことができる。たとえば、特定のアプリケーションやビューは、完全なリッチ
なプレビューア、機能を減らしたプレビューア、基本的なサムネイルプレビュー（これは、インタラクティブである必要はない）、及びＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（商標）オペレーティングシステムで現在使用されているデスクトップアイコンと同様の基本的なアイコンなど、利用可能なプレビューアの階層的な序列を有することができる。プレビューアが開かれる際に、システムは、完全なリッチなプレビューアなどの１つのプレビューアからスタートし、プレビューアの序列を「後戻り」して、最も適切なプレビューアを見つけることができる。たとえば、ユーザがプレビューからドキュメントを修正できるようにするページをめくる機能、ズーム機能、及びテキスト編集機能を提供するプレビューアと共に特定のビューにとって完全なリッチなプレビューをデフォルトに設定することができ、（たとえば、メモリ上の制限、その他のアプリケーション、その他のプレビューアなどのために）そのプレビューを適切に提供する上でシステムリソースが不十分である場合には、システムは、リスト上の次なるプレビューア（たとえば、機能を少なくしたプレビューア）をチェックすることができる。次なるプレビューアは、たとえば、ドキュメントをナビゲートする機能（たとえば、ページをめくる機能及びズーム機能）のみを提供する一方で編集機能を付加しないことによって、わずかに機能を少なくすることができる。そのようなプレビューアは、作動するのに必要なシステムリソースがより少なくてすみ、リソースが利用できない場合には好ましいことがあり得る。その第２のプレビューアを提供する上でもまだリソースが不十分な場合には、システムは、次なるプレビューア（たとえば、双方向性のほとんどない、或いはまったくない基本的なサムネイルビュー）をチェックすることができ、そのようなチェックが、利用可能なリソースを前提として適切なプレビューアが見つかるまで続けられる。
【００６１】
プレビューが作成されると、そのプレビューは、そのプレビューを要求しているアプリケーションから切り離された別個のプロセスとして開始されることができる。たとえば、あるプレビューアがシステムシェルブラウザ内で提供される場合には、そのプレビューアは、そのシェルブラウザから独立したプロセスとして実行されることができる。切り離されたプロセスとしてのプレビューによって、シェルブラウザは、自分自身がプレビューアプリケーションからの応答を待たなければならない立場に置かれることは決してなく、それによって、プレビューアが困難に直面した場合にクラッシュやハングを回避することができる。そのような困難は、さまざまな原因からもたらされる可能性がある。選択されたファイルが、間違ったデータを有している可能性があり、それによって、プレビューアプリケーションが、そのデータを処理することができなかったり、そのプレビューアプリケーション自体が、エラーやバグを有している可能性もあり、その円滑なオペレーションを阻害したり、ファイルのラベルやＩＤが誤っている可能性もあり、それによって、間違ったプレビューアプリケーションが選択されたり（たとえば、そのファイルが、実際はテキストファイルなのに、オーディオファイルであると表示されていることがあり得る）、或いはシステムリソースが、不良メモリセクタなどの問題に直面したりする可能性がある。プレビューアを別個のプロセスとして有することが、クラッシュ／ハングに対するある程度の抵抗力を提供する。プレビューアが、エラー、クラッシュ、或いはハングに直面した場合には、その問題は、プレビューパネルそのものに限定されることになり、シェルブラウザは、引き続き機能することになる。場合によっては、システムは、特定のプレビューアプリケーションが困難、クラッシュ、及び／又はハングに直面する回数を追跡把握することができ、所定の回数（たとえば３回）を超えた場合には、システムは、その特定のプレビューアが使用される頻度を減らすための処置を取ることができる。たとえばシステムは、そのプレビューアの優先順位を低くすることもでき、或いは、別のプレビューアを呼び出す関連付けを作成することもできる。
【００６２】
ステップ１４０７においては、いずれかの表示されているプレビューとユーザが対話したかどうかを判定するためにチェックが行われることができる。対話は、公知のコンピュータ対話のいかなる形態を取ることもできる。たとえば、ある対話は、プレビューパネル
内でのマウスのクリックであり得る。ある対話は、ページボタンやカーソルの矢印など、プレビューパネル内の１つ又は複数のグラフィカルインターフェース要素を選択することであり得る。対話は、テキストドキュメントのプレビュー内でカーソルを動かすためのカーソル移動キーなどのキーボードキーの形態を取ることができる。
【００６３】
対話が行われた場合には、ステップ１４０８において、適切な処理が行われることになる。対話を処理することは、ユーザ入力へのいかなる応答の形態を取ることができる。たとえば処理は、プレビューパネル内でマウスやその他のポインタをユーザがクリックしたことに応答して、編集プロセスを開始することができる。この編集プロセスは、ユーザが、プレビュー表示されているファイルをプレビューパネルから直接見ること、及び／又は編集することを可能にすることができ、ユーザは、そのプレビューパネルを有するビューから離れなくてもよい。
【００６４】
ステップ１４０９においては、プレビューパネルがサイズ変更されているかどうかを判定するためにチェックが行われる。パネルは、たとえばユーザがコマンドを入力することによって、及び／又はプレビューパネルの境界やサイズ変更ツールをクリックアンドドラッグすることによって、サイズ変更されることができる。パネルがサイズ変更された場合には、ステップ１４１０において、新たなサイズ変更されたパネルが表示される。サイズ変更されたパネルは、希望に応じて、元のパネル内で見られたのと同じ縦横比を自動的に保持するように構成されることができる。いくつかのファイルタイプは、関連付けを通じてなど、常に同じ縦横比を有するように構成されることができる（たとえば、ビデオは常に４：３とすることができる）。プレビューに伴ってプロパティやメタデータが表示されていたならば、そのプロパティ及び／又はメタデータのディスプレイエリアも、新たなプレビューパネルのサイズに対応するようにサイズ変更することができる。たとえば、プロパティやメタデータのディスプレイエリアは、常にプレビューパネルと同じ高さや幅を有するように構成されることができる。逆に、プロパティ／メタデータのディスプレイエリアがサイズ変更されたことに応答してプレビューアがサイズ変更されることもできる。希望に応じて、新たなサイズが、特定のファイルタイプ、現在のビュー、アプリケーション、及び／又はユーザに関連付けられた新たなデフォルトサイズとしてシステム内に記憶され、次にプレビューが必要になったときに使用されることができる。
【００６５】
ステップ１４１１においては、プレビューパネルの新たなサイズが、プレビューに関する１つ又は複数の所定のしきい値を超えているかどうかを見るためにチェックが行われることができる。上述のように、プレビューアは、プレビューアの使用に関する１つ又は複数の基準を有することができる。そのような１つの基準は、プレビューアにとって利用可能なディスプレイエリアの量に関連することができる。たとえば、プレビューのさまざまなサイズごとに、さまざまなレベルの双方向性及び／又は機能が提供されることができる。一例として、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ（商標）などのワードプロセッサを使用する際には、より大きなプレビューは、ドキュメント内でナビゲートすること／ページをめくること、及びズームを行うこと、フォントサイズを変更すること、或いはプレビュー内でカーソルを使用してテキストを編集することなど、より詳細な機能を提供することができ、その一方で、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ（商標）ドキュメントのより小さなプレビューは、やはりナビゲーション機能及びズーム機能を含むが、テキストを編集するためにカーソルを無理なく使用するにはディスプレイが小さすぎる場合には、カーソルテキスト編集を省略することができる。プレビューアは、そのプレビューアに関連付けられている１つ又は複数のしきい値サイズを有することができ、それらのしきい値サイズは、関連付けの最中に作成され、コンピュータシステムのメモリ内に保存されることができ、そのしきい値に達したり、そのしきい値を超えたりした場合には、代わりに使用するためのプレビューアを特定することができる。たとえばプレビューアは、ある機能を実装するために最小で２５６ピクセルの幅を必要とすることができ、その一方で、その他の機能を含め
ることができるためには、５１２ピクセルあればよい。
【００６６】
新たなサイズが、最小又は最大のしきい値などのしきい値を超えた場合には、ステップ１４１２において、代替プレビューが選択され作成されることができる。代替プレビューの作成は、ステップ１４０６におけるプレビューの作成と同一とすることができる。したがって、たとえばプレビューパネルが特定の最小サイズを下回るサイズに縮小されている場合には、そのより小さなサイズでも依然として使用することができるインタラクティブな機能のより小さなサブセットを提供する代替プレビューアが使用されることができる。或いは、プレビューパネルが特定の最大サイズを超えて拡大されている場合には、より多くのユーザインターフェースコントロールを有していたり、或いはプレビュー内での詳細な編集を可能にしたりするプレビューアなど、そのより大きなサイズを前提として役に立つことができるより多くの機能を提供する代替プレビューアが使用されることができる。
【００６７】
ステップ１４１３においては、表示されているプロパティ、或いはメタデータの一部が編集されることになるかどうかを判定するためにチェックが行われる。そのようなデータは、たとえば、表示されているメタデータの一部の上でマウスやポインタをクリックして、テキスト入力又はメニューユーザインターフェースを使用して値を入力することによって編集されることができる。ステップ１４１４においては、特定のプロパティを編集するために適切なステップが取られる。実際のステップは、編集されているデータのタイプに依存することができる。日付フィールドは、カレンダユーザインターフェースの要素を提示することができ、それによってユーザは、入力のために日付（及び／又は時刻）の値を見て、選択することができる。その他のタイプのデータは、テキスト入力ボックスを通じて入力されることができ、その他のタイプは、プルダウンメニューなどのメニューから選択されることができる。
【００６８】
ステップ１４１５においては、リッチなプレビューアがロードされるのをシステムが待っているかどうかを判定するためにチェックが行われる。上述のように、リッチなプレビューがシステム上で初期設定されている間に、より基本的な又は一般的なプレビューが提供されることができる。システムがリッチなプレビューアを待っている場合には、ステップ１４１６において、リッチなプレビューアの準備が整っているかどうかを判定するためにチェックが行われる。リッチなプレビューアの準備が整っている場合には、システムは、ステップ１４１７において、現在のプレビューをリッチなプレビューに置き換える。ステップ１４１７は、リッチなプレビューアが依然として望まれているかどうかを判定するためのユーザへの問合せを含むこともできる。このステップは、２つのプレビューアを示しているが、３つ以上のプレビューアが使用されることもできる。たとえばシステムは、サムネイルプレビューを待っている間にはアイコンを表示し、リッチなプレビューを待っている間にはサムネイルを表示する、といった具合にすることができる。
【００６９】
ステップ１４１８においては、プレビューアが閉じられることになるかどうかを判定するためにチェックが行われ、そうなる場合には、そのプレビューアは、ステップ１４１９において閉じられる。そしてプロセスは、ステップ１４０２へ戻って、再び開始する。もちろん、図１４ａ〜図１４ｂに示されているプロセスは、複数のステップを構成する方法を示す一例にすぎず、希望に応じて、それらのステップのうちのいずれかを並べ替え、繰り返し、削除し、或いは修正して、本明細書に記載されている任意の機能を実装する（或いは取り外す）ことができる。
【００７０】
図１５は、本発明の１つ又は複数の態様を組み込んでいる別のシェルブラウザインターフェース１５００（又はシステムブラウザ）の一例である。ブラウザ１５００は、１つ又は複数のディレクトリ、ネットワーク、ドライブ、フォルダなどのコンテンツを表示するためのオペレーティングシステムの一部として提供されることができ、一般的なもの、す
なわちアプリケーションに固有ではないものにされることができる。ブラウザ１５００においては、複数のアイテム１５０１がリストアップされており、さまざまなアイテムに関して、ファイル名、ファイルタイプ、及びその他のデータがリストアップされている。この例に示されているように、複数の異なるタイプのファイル（たとえば、テキストファイル、イメージファイル、オーディオファイル、及び／又はワープロアプリケーションなどの既存のアプリケーション用のカスタムデータファイル）は、すべてシェルブラウザ内に表示されることができる。アイテム１５０１は、日付（たとえば、今日のファイル及び昨日のファイル）によって編成されて表示されているが、いかなる並べ替えや編成（たとえば、ファイルサイズ、ファイル名、プロジェクト名、ファイルタイプ、アーティスト、アルバム、作成日、編集日など）が使用されることもできる。ユーザは、リスト１５０１ａ（第１のパターンを用いて視覚的に区別されて表示されており、この第１のパターンは、赤色とすることができる）など、リストのうちの１つを選択することができ、シェルブラウザ１５００は、選択されたアイテム１５０１ａに対応するインタラクティブプレビューパネル１５０２を表示することができる。
【００７１】
インタラクティブプレビューパネル１５０２は、たとえば、選択されたアイテム１５０１ａが、ＭＩＣＲＯＳＯＦＴ  ＷＯＲＤ（商標）ファイルやその他のワープロプログラムなど、テキストデータを含むファイルである場合には、そのアイテム１５０１ａ内に現れるテキストの１つ又は複数のページを表示することができる。インタラクティブプレビュー１５０２は、ユーザが、表示されているテキストをプレビューパネル内で直接編集及び／又は操作できるようにすることができる。たとえばユーザは、インタラクティブプレビュー１５０２内でマウスポインタをクリックして、パネル内にカーソルが表示されるようにすることができ、またユーザは、そのカーソルを操作して、或いはキーボードの入力を打ち込んで、表示されているテキストを追加、削除、及び／又はその他の形で修正することができる。ページコントロール、フォント／フォーマットコントロール、スクロールコントロール、ファイル管理コントロール、入力／出力コントロールなど、その他のタイプのコントロールも、プレビューパネル１５０２内に表示されることができる。
【００７２】
別々のタイプのデータファイルは、別々のタイプのインタラクティブプレビューを有することができる。たとえば、オーディオファイル用のインタラクティブプレビューは、コンピュータシステムの（スピーカ１９７などの）１つ又は複数のスピーカ上における選択されたオーディオファイルのオーディオプレビューの再生をコントロールするためのコントロールを含むことができる。．ｗａｖファイルや．ｍｐ３ファイルのプレビューは、そのようなオーディオコマンドを含むことができる。オーディオファイルの再生、一時停止、或いは再生の頭出しを行うためのコントロールも存在することができる。写真のプレビューなど、いくつかのプレビューは、表示されているイメージを操作できるようにするためのズーム／パンコントロールを含むことができる。ビデオプレビューは、コンピュータシステムのディスプレイ上のビデオ及びスピーカ上のオーディオの再生、一時停止、或いは再生の頭出しを行うためのコントロールを有することができる。
【００７３】
インタラクティブプレビュー１５０２は、ラベル１５０３ａ及び対応する値１５０３ｂを有するものとして図１５に示されている（メタデータを含む）複数のプロパティ１５０３と共に表示されることもできる。いかなるタイプのファイルプロパティも、ラベルと共に表示されることができる。プロパティの例としては、ファイルのサイズ、フォルダの場所、ファイル名、プロジェクト名、編集日／作成日、アプリケーションのタイプなどを含むことができる。表示されるさまざまなラベル及びプロパティ１５０３は、選択されたファイルのタイプに従ってカスタマイズされることができ、それによって、選択されたファイルのタイプにとって何が適切かに応じて、別々のタイプのファイル毎に別々のセットのプロパティが表示されることができる。たとえば、曲を含む選択されたオーディオファイルは、アルバム名、アーティスト、曲名、及びリリース日に関するプロパティを有するこ
とができ、その一方で、選択されたスプレッドシートファイルは、それらのプロパティを、グループ名、プロジェクト名、プロジェクトリーダ、及びプロジェクト開始日など、別のプロパティに置き換えることができる。どのプロパティが表示されることになるかの決定が自動的に設定されることもでき、或いはまた、ユーザは、特定のファイルタイプに関してプロパティエリア内に表示されるプロパティを選択する（及び／又は選択解除する）オプションを与えられることもできる。この表示を容易にするために、プロパティはタイプごとの優先順位を付けられることができる（たとえば「アルバム名」のプロパティタイプは、イメージファイルよりも曲ファイルにとって、より重要とすることができる）。
【００７４】
表示されている情報に関するその他のバリエーションも可能である。たとえば、（ファイル名及びファイルタイプなどの）いくつかのラベルは、任意選択とみなされることもでき、或いはディスプレイから完全に省略されることもできる。図１５からの一例としては、ファイル名及びファイルタイプを挙げることができ、これらは、スクリーン上の別の場所に既に表示されており、プレビューアによってプロパティエリア内に再び表示されると、重複することになる。そのような表示されないラベルにとって利用可能なスペースが使用されて、さらなるプロパティ情報を表示することができる。値をまったく有していないプロパティは、デフォルトによって省略されることもでき、或いは、空であるにもかかわらず表示されるようにフラグを設定することもできる。別のバリエーションとして、いくつかのプロパティは、更に長いプロパティに対応するために別の量のスペースを伴って提供されることができる。
【００７５】
プロパティは、プロパティディスプレイエリアから編集されることができる。たとえばユーザは、表示されているプロパティの値の上で単にクリックしたり、或いはそのプロパティの値の上にマウスポインタを置いたりして、データを入力／編集するプロセスを開始することができる。データを入力／編集するためのインターフェースは、含まれている特定のプロパティやタイプに依存することができる。日付などのいくつかのプロパティは、値を選択するためのカレンダ表示及び／又はプルダウンメニューを有することができる。たとえばユーザは、マウスポインタを日付フィールドの上に単に移動させることができ、カレンダの表示が現れるようにして、そのカレンダから選択することによってユーザが日付を入力する際に役立てることができる。入力を簡単にするために、候補のプルダウンメニューやリストが表示されることもできる。たとえば、月フィールド上でマウスポインタをクリックすることによって、システムは、月のリストを表示することができ、そこからユーザが選択を行って、そのフィールドに入力することができる。簡単なテキストボックスがカーソルと共に表示されて、ユーザがプロパティの値をプレビューディスプレイから直接打ちこむ及び／又は編集できるようにすることができ、データ用のダイアログボックスを別途表示する必要はない。このテキストボックスは、空欄に入力する形式のボックスとすることができ、ユーザは、カーソル及びキーボードを使用して、そこに打ち込むことができる。その他のいかなる形式のデータ入力が使用されることもできる。編集できるプロパティをユーザが識別する際に役立つように、それらのプロパティはディスプレイ内において何らかの様式で視覚的に区別されたり強調されたりすることができる。たとえば、別の色（たとえば黄色）、フォント（たとえば太字や、すべて大文字のフォント）、外見、及び／又はシンボルが使用されて、ユーザによって編集できる値と、そうでない値とを示すことができる。ハイライト表示が使用されて、特定のフィールドを区別したり強調したりすることもできる。たとえば編集可能なフィールドは、特定の色（たとえば、明るい黄色）をそれらのフィールドの中に、及び／又は外周上に有することができ、印刷されたドキュメント上で黄色のハイライトマーカーを使用した際にもたらされるのと同様の効果が得られる。
【００７６】
いくつかのファイルタイプは、与えられたプレビューディスプレイに収まるよりも多くのプロパティを有する可能性がある。いくつかの実施の形態においては、ＡＬＬ（すべて
）ボタン１５０４などのオプションが存在することができ、これは、ユーザが、所与のファイルに関するすべてのプロパティを表示できるように、或いは少なくともさらなるプロパティを表示できるようにすることができる。
【００７７】
上述のように、ステップ１４０９において、ユーザはブラウザ１５００内で使用されているプレビュー及び／又はプロパティのディスプレイをサイズ変更するオプションを与えられることができる。たとえば、サイズ変更ツール１５０５がプレビューパネル１５０２内で使用されることができ、このツールを選択して動かすことによって、ユーザは、プレビューア及び／又はプロパティエリアによって占められているディスプレイエリアをブラウザ１５００に自動的に調整させることができる。
【００７８】
図１６は、ユーザインターフェースの一例を示しており、ここでは、ユーザがインタラクティブプレビュー１５０２をより大きなサイズを有するようにサイズ変更しており、その結果、より大きなインタラクティブプレビュー１６０１が表示されている。新たなプレビュー１６０１は、古いプレビュー１５０２と同じ縦横比を有するように構成されることもでき、或いは、サイズ変更プロセスの一環としてユーザが縦横比を修正できるようにすることもできる。より大きなプレビュー１６０１に伴って、ブラウザ１５００は、プロパティの表示に割り当てられるスペースを増やすこともでき、それによって、プロパティ及びプレビューがサイズの点で対応する。たとえばプロパティエリア１６０２は、サイズ変更されたプレビューと同じ高さを有するように構成されることができ、表示されているデータを、新たなサイズに対応するように自動的に配置し直すことができる。このより大きなエリア内には、さらなるプロパティが表示されることができる。
【００７９】
上述のように、プレビューのサイズが変わると、場合によっては、提供されるプレビューのタイプが変わる可能性があり、このため、プレビューパネルのサイズが変わると、結果としてインタラクティブプレビューのタイプが変わる。したがってプレビュー１６０１は、提供される双方向性のレベル及び／又は機能のタイプに関して、プレビュー１５０２とは異なる可能性がある。一例として、特定のグラフィック編集機能は、プレビューの幅が２５６ピクセルに満たない場合には意味をなさない可能性がある。プロパティを表示するために使用されているエリアをユーザがサイズ変更する場合には、同じタイプのサイズ変更を行うことができる。たとえばユーザは、プロパティエリア１６０２の境界上でマウスポインタをクリックアンドドラッグして、そのプロパティエリア１６０２をサイズ変更し、新たなプロパティエリア１６０２のサイズに合うようにプレビューエリア１６０１をサイズ変更させることができる。
【００８０】
図１７は、より小さなプレビュー１７０１になるようにプレビューがサイズ変更されている一例を示している。より小さなプレビューパネル１７０１は、そのより小さなサイズを前提として、機能の削減されたセットを有することができる。プロパティエリア１７０２も、プレビューパネル１７０１に従って縮小されることができ、表示されているプロパティやメタデータを、利用可能なスペースの縮小に対応するように配置し直すこと、及び／又は削除することができる。いくつかのプレビューは、Ｍｉｃｒｏｓｏｆｔ  ＷＩＮＤＯＷＳ（商標）オペレーティングシステムにおいて見られるアイコンの動きを示すことができ、そのため、右クリック、左クリック、ドラッグなどは、同じ効果を有することができる。たとえば、１つのアイコンを別のアイコン上へドラッグアンドドロップすることによって、第１のファイルを第２のファイルに添付することができる。
【００８１】
プレビューパネル及び／又はプロパティディスプレイエリアをサイズ変更することに加えて、これらの要素は自動的に、又はユーザの要求によって配置され直すことができる。たとえばユーザは、（たとえば、好みを選択することによって、プレビューをクリックアンドドラッグすることによって、或いはその他の何らかのユーザ入力によって）プレビュ
ー１８０１を、別の向き及び外見を有するように動かしたいと望むことがありうる。特定のタイプのファイルがプレビューされる場合には、別の向きが好ましいことがありうる。たとえば、「横長の」フォーマットで撮影された写真のプレビューや、ビデオイメージのプレビューは、縦よりも横が長い（たとえば「横長の」）向きがより適しているかもしれないが、その他のタイプのファイル（たとえば、テキストドキュメントや、「縦長の」イメージ）は、横よりも縦が長い向きがより適していることがありうる。フォーマット間での選択は、たとえばファイルタイプに基づいて自動的に行われることもできる。システムは、たとえばステップ１４０６におけるプレビューの選択、或いはステップ１４０３における関連付けの一環として、ファイルタイプ、プロパティ、及び／又はメタデータを自動的に調べて、プレビュー表示される選択にとってどのプレビューの向きが最適であるかを判断することができる。
【００８２】
配置し直すこと、及びプレビューパネルに関して上述したクラッシュ／ハングへの抵抗力をつけることを容易にするために、プレビューパネルと、プロパティ／メタデータエリアとが別々のソフトウェアモジュールとして実装されることができる。それぞれのモジュールは、システムの１つ又は複数の処理装置１２０上で別個のプロセスとして実行されることができる。別法としては、プレビューパネルと、プロパティ／メタデータパネルとがシステム内の別個のソフトウェアやソフトウェアモジュールとして実装される必要はなく、代わりに共通のモジュールとして実装されることができる。統合のレベルは、所望の拡張性のレベル、ソフトウェアメモリフットプリント、及びその他の要因に基づく設計上の選択とすることができる。
【００８３】
前述のように、プレビューパネルは、コンピュータシステムの共通ファイルダイアログ内に組み込まれることができる。共通ファイルダイアログは、システム上で実行されるさまざまなアプリケーションによって共有するためにコンピュータシステムによって提供されるユーザインターフェース要素及び／又はプログラムとすることができる。たとえばオペレーティングシステムは、システム上でファイルを作成したいと望むいかなるアプリケーションによっても使用されることができる共通の「ファイルを開く」や「ファイルを保存する」ダイアログを提供することができる。プレビューアをそのような共通ファイルダイアログ内に含めることによって、複数の異なるタイプのアプリケーションは、プレビューを有することから恩恵を享受することができ、アプリケーションは、自前のプレビューアを開発するようアプリケーション開発者に要求することなく、もともとはサポートされていないファイルのリッチでインタラクティブなプレビューを効果的に提供することができる。プレビューアを共通ファイルダイアログ内に組み込むことはまた、複数のアプリケーションにわたって一貫したインターフェースを提供し、そこでは、ユーザの好み及び関連付けがさまざまなアプリケーションにわたって一貫して使用されることができる。更に、プレビューアを共通ファイルダイアログ内に提供することによって、アプリケーションが、多様なファイルタイプに関して（そのアプリケーションがもともとはサポートしていないファイルタイプに関してさえ）リッチでインタラクティブなプレビューを効果的に提供できるようにすることができる。たとえば、あるスプレッドシートアプリケーションは、データ量の多いスプレッドシートのプレビューを取り扱うために自前のリッチでインタラクティブなプレビューアをインストールしていることがありうる。別のワープロアプリケーションは、スプレッドシートアプリケーションのデータファイルを編集するためのいかなる機能も有していないことがありうるが、それにもかかわらず、共通ファイルダイアログを使用することによって、そのようなプレビューを提供することができる。図１９は、「ファイルを開く」共通ダイアログの一部であるプレビューアの一例を示している。これらの共通ファイルダイアログは、それらのプレビューと共に、特定のＡＰＩを通じてその他のアプリケーションへ拡張可能に提供されることができる。
【００８４】
場合によっては、ユーザは、複数のファイルを一度に選択することや、複数のファイル
が同時にアクティブに選択された状態にすることを望むことがあり得る。それらの場合に、プレビューアは、上述のように機能して、それぞれの選択されたファイルごとに別々のプレビューを提供することができる。或いはシステムは、その動作を変更することもできる。たとえば、ステップ１４０５において、複数のファイルが選択されているとシステムが判定した場合には、プレビューを作成するステップ１４０６は、どの選択されたファイルがプレビュー表示されるか、及びどの選択されたファイルがプレビュー表示されないかを判定するプロセスを含むことができる。この判定は、上述の関連付け及び好みなどのさまざまな基準（たとえば、最初の選択、最後の選択、最新の選択、最大の選択、最も簡単なプレビュー、ユーザのプレビューアの好みなど）に基づいて行われることができる。
【００８５】
システムは、複数の選択に対応して同時に表示されるプレビューを作成するための処置を取ることもできる。図２０に示されているように、複数のプレビューパネル２００１は、積み重なった外見を与えられて、複数の選択がプレビューされているということを示すことができる。第１のプレビュー２００１ａは、一番上に表示されることができ、その他のプレビューに関して上述した同じリッチな双方向性をすべて有することができる。その他の選択に関する更なるプレビュー２００１ｂ、２００１ｃ、及び２００ｄは、第１のプレビュー２００１ａの後ろに積み重なって表示されることができ、横のずれＸ及び縦のずれＹを有することができる。これらのずれは、均一な外見を提示するために一定にすることができる。或いは、それぞれの後続のプレビューのためのずれは、より多くのプレビューが背景内に配置されるにつれて、より小さくすることができる。積み重なったプレビューに関しては、所定の最大数が存在することができ、それを超えた場合には、別の外見が使用されることができる。たとえば、プレビューの所定の最大数が６に設定されていて（システムによって、或いはユーザによって設定されることができる）、７個以上のファイルが選択されている場合には、積み重なったプレビューは、図２１に示されているように、別の外見を有することができる。そこには、最初の６個を超えるプレビュー２１０１ａ、２１０１ｂ、及び２１０１ｃが、より小さなずれを伴って積み重なっている状態で示されている。これらのさらなるプレビューは、プレビュー表示されていない選択されたファイルが更に多く存在するということをユーザに示すために、所定のパターンを伴って、及び／又は一定の透明性又は不透明性を伴って、単に空白のプレビューとしてレンダリングされることができる。
【００８６】
複数のプレビューの代替ディスプレイが使用されることもできる。たとえば、図２２に示されているようなプレビューの回転式の３次元のカルーセルが使用されることができる。６つの面を有するカルーセル２２０１は、６つの別々のプレビューをその別々の面２２０２ａ、２２０２ｂ、２２０２ｃ（後ろから表示される）、２２０２ｄ（後ろから表示される）、２２０２ｅ（後ろから表示される）、及び２２０２ｆ上に表示することができる。回転やズームなど、カルーセルを通じた手動のナビゲーションを可能にするためにユーザインターフェース要素２２０３が提供されることもでき、或いは、カルーセルが自動的に回転することもできる（又は、まったく回転しないこともできる）。その他のアプローチは、扇形に広がったディスプレイ内に複数のプレビューを表示すること、複数のプレビューを（希望に応じてサイズ変更して）横に並べて表示すること、（紙を積み重ねた状態に似た）積み重なった３次元の等角図内にそれらのプレビューを表示すること、及び自動又は手動のナビゲーションを用いてそれらのプレビューを順に表示することを含む。
【００８７】
（たとえば、複数のファイル上でマウスカーソルをクリックすること、ＳＨＩＦＴキーやＣＴＲＬキーを押したままでクリックすること、或いはクリックアンドドラッグして複数のファイルのまわりに選択エリアを作成することによって選択された）複数の選択されたファイルのプレビューはまた、選択されたファイルのタイプに応じてさまざまなものとすることができ、選択されたファイルの組合せが異なれば、異なるプレビューの順序を使用することができる。たとえばシステムは（たとえば、オペレーティングシステム、ハー
ドウェア、アプリケーションなどを介して）、複数のイメージファイルが選択された場合には、積み重なったプレゼンテーションを使用することができ、複数のビデオファイルが選択された場合には、連続したビデオプレビューを使用することができる。システムは、複数のファイルが選択された場合には、リソースを節約するために、提供されるプレビューを縮小したり簡略化したりすることもできる。
【００８８】
上述のさまざまな機能は、単一の統合されたコードの一部として、或いはサブルーチンやモジュールの集合として実装されることができる。たとえば、複数のファイルのプレビューを取り扱うためのイテレータモジュール、プレビュー内で提供されるユーザインターフェースコマンドを担当するコマンドモジュール、プレビューそのものを作成するためのプレビューモジュール、プレビューディスプレイのプロパティ／メタデータ部分を取り扱うためのプロパティモジュールなどが存在することができる。
【００８９】
上述のように、これらのプレビュー機能は、ユーザがシステム上のファイルやその他のデータのリストを表示される際にはいつでも提供されることができる。ディスプレイが、ユーザによって要求されたキーワード検索の結果である場合など、１つ又は複数の基準を使用することを通じて特定のリストが作成される場合には、プレビューアは、その検索基準を使用して、プレビューを作成することができる。たとえばアプリケーションは、どのプレビューを使用するか、或いは複数のプレビューが使用される場合にはそれらのプレビューをどのように並べるかをプレビューアが判断できるように、検索において使用されたキーワードをプレビューアに知らせたいと望むことがありうる。これは、プレビューアが検索基準を提供される場合の拡張機能とすることができる。
【００９０】
上述のように、複数の選択が行われることができ、結果として、表示されるプレビューイメージは変わることができる。これらの複数の選択は、プロパティ及び／又はメタデータの表示を変えることもできる。たとえば図２３は、２つのファイル２３０１及び２３０２が選択されているビューの一例を示している。選択されたファイルは、区別できる色、フォント、形、テクスチャ、スタイル、サイズ、背景色、パターンなどを有することなど、他とは異なる様式で、或いは他とは異なる外見を伴って区別及び／又は強調されることができる。選択されたファイルに関するプロパティ及びメタデータは、（それぞれに関するプロジェクト名などの）双方のファイルに関する同じプロパティ２３０３、２３０４を表示することができ、また、対応する外見を有することができ、それによってユーザは、プロパティをそれらの対応するファイルと容易にマッチさせることができる。たとえばプロパティは、それらのプロパティが属する選択されたファイルを識別するために色分けされることができる。ファイル２３０１に関して示されているパターンは、色（たとえば赤色）、ハイライト表示（たとえば、紙のドキュメント上でハイライトマーカーを用いた場合と同様に、別の色でテキストを囲むこと）、フォント（たとえば、太字、アンダーライン、すべて大文字、Ｔｉｍｅｓ  Ｎｅｗ  Ｒｏｍａｎなど）、サイズ（たとえば、より大きなテキスト）等によってなど、そのファイルを強調及び／又は区別することができる。プロパティ２３０３は、ファイル２３０１のプロパティを表示することができ、プロパティと、それらのそれぞれのファイルとを相関付けるために、そのファイルに関して使用されている同じ強調及び／又は区別を有することができる。
【００９１】
複数の選択されたファイルに関する多くのプロパティ及び／又はメタデータが集約されて、まとめや合計として総合的に提示されることができる。たとえば、表示されている１つのプロパティがファイルサイズ（たとえば、何キロバイト（ｋｂ）或いは何メガバイト（Ｍｂ）が使用されているか）であり、複数のファイルが選択されている場合には、ファイルサイズのプロパティは、選択されたファイルどうしのファイルサイズを合計した集約されたファイルサイズの値（たとえば、４．３Ｍｂ）を表示することができる。別の例として、表示されている１つのプロパティがキーワードを有する場合には、複数の選択され
たファイルに関するキーワードが集約されて、単一のキーワードのプロパティとして提示されることができる。いくつかの集約の結果、プロパティの表示が大きくなる可能性があり、集約されたプロパティをそれらの対応するファイルに相関付けるために上述の同じ外見の強調／区別を使用することができる。或いは、これらのプロパティは、このプロパティがすべての選択されたファイルの集約であるということを示すために、選択されたファイルから更に区別されることができる（たとえば、別の色、フォント、ハイライト表示、外見、サイズなど）。図２４に示されている一例では、集約されたプロパティの値２４０１が、陰影によって表された区別できる外見を伴って表示されており、これは、選択されたファイル２３０１、２３０２のそれぞれに関するパターンとは異なる。この陰影は、たとえば赤色で表すことができ、その一方で、ファイル２３０１及び２３０２に関するパターンは、緑色及び黄色とすることができる。
【００９２】
集約された値の強調及び／又は区別は、場合によっては、それらの値の源を示す様式で行われることができる。たとえば図２５は、図２４に示されているビューの拡大されたプロパティ／メタデータの表示を示している。キーワードなど、いくつかの集約されたプロパティは、複数の選択から集約された複数のプロパティの値のリスト２５０１に結実することができる。これらの集約されたプロパティは、どの値がどの選択されたファイルから来たものであるかを示す区別できる外見を与えられることができる。図２５の例においては、値２５０２及び２５０３は、それらの特定の値（たとえばキーワード）が双方の選択されたファイル２３０１及び２３０２にとって共通であることを示す１つの形式の陰影で表示されている。この陰影は、上述の区別及び／又は強調のタイプのいずれを（たとえば赤色）反映することもできる。値２５０４及び２５０５は、それらの値が１つの選択されたファイル２３０１に関連付けられていることを示す第１のパターンを用いて示されており、このファイル２３０１は、その同じパターンを共有しており（たとえば、ファイル及びその値は、双方とも青色になっており）、値２５０６は、その値が他の選択されたファイル２３０２に関連付けられていることを示す別のパターンを有しており、このファイル２３０２は、その同じパターンを共有している（たとえば、このファイル及びその値は、緑色になっている）。区切り線２５０７を使用して、すべての選択されたファイルに共通していた値を、そうでなかった値から区別することができる。もちろん、より多くのファイルが選択されている場合には、さまざまな外見がさまざまな意味を与えられることができる。ラベル２５０８も、集約されたプロパティであることを示すように視覚的に区別及び／又は強調されることができる。たとえば、ラベル２５０８を赤色にされることもできる。
【００９３】
強調及び／又は区別は、集約された値のうちの特定の値をユーザが選択することによって開始することもできる。たとえばユーザは、集約されたリスト内の値のうちの１つを選択し、その選択した値をどのファイルが共有しているかを示す次なる表示が現れるようにすることができる。この表示は、共通の外見の形式で表示することができ、選択された値及びその対応するファイルは、共通の様式で表示される。たとえば、値２５０６の上でクリックすることによって、システムは、そのプロパティの値のフォントを太字のフォントへ自動的に変更することができ、そして、選択されたプロパティが属するファイルを識別するためにファイルリスト２３０２にも同じ変更を行うことができる。
【００９４】
上述の考察は、シェルブラウザ内でプレビューと共に表示されるプロパティ及びメタデータを対象としているが、これらの機能は、その他のコンテキストにおいても使用されることができる。複数のプロパティ及び／又はメタデータの表示を含むいかなる状況も、本明細書に記載されている機能から恩恵を享受することができる。
【００９５】
いくつかの種類のプロパティは、数字を有する（たとえばファイルサイズは、単純に個々のサイズの合計である）ため、比較的集約しやすいが、その他のタイプのプロパティは
、比較的集約しづらいこともある。たとえば、いくつかのプロパティは、値としてテキストの単語（たとえばキーワード）を有する。更に、いくつかの個々のプロパティ及び／又はメタデータは、それ自体が複数の値を有することができ、多値プロパティとして知られている。たとえば、所与のファイルの「キーワード」プロパティは、ゼロ、１つ、２つ、３つ、或いは任意の数の別々のキーワードを値として有することができる（たとえば、あるファイルは、そのファイルに関連するキーワードとして「ピーナッツ」、「食べ物」、及び「キャンディー」をリストアップすることができる）。これらの複数の値はまた、それぞれのファイルごとに意味のある様式で順序付けられることができ、それによって、リストアップされた最初の値は、より重要なものとなることができる（たとえば、ピーナッツを主に扱う製品は、ピーナッツが最も重要であるため、「ピーナッツ」を第１のキーワードとしてリストアップすることができ、「食べ物」及び「キャンディー」を第２のキーワード及び第３のキーワードとして重要度の降順でリストアップすることができる）。それぞれが複数のキーワードを有する複数のファイルが選択される場合には、それらのプロパティを集約するプロセスは、単に数字を足していくプロセスほど簡単ではない。これが行われる場合には、システムは、個々の選択されたファイルに関して値が現れた順序に基づいて何らかの形式のランク付けされた順序になっている値のリストを表示することができる。結果として得られる集約された値のリストが、さまざまな選択されたファイルに関してそれらの値が現れた際のそれらの値の相対的な重要度に必ず対応するようにするのを補助するための処置が取られることができる。たとえば、５つの新聞記事が、それらの記事の中で論じられている都市を識別するキーワードを有していて、それらが、下記の順にランク付けされるかもしれない。
ファイル１：オースティン、シカゴ、ボストン、デトロイト
ファイル２：シカゴ、デトロイト、ボストン
ファイル３：シカゴ、ボストン
ファイル４：デトロイト、シカゴファイル
５：ボストン、オースティン
この例では、シカゴは、「１位」を２回与えられており（たとえばファイル２及び３は、シカゴについて多く論じており）、「２位」を２回与えられている（たとえばファイル１及び４は、シカゴを中心に取り上げてはいないが、言及はしている）。これらのプロパティを集約すると、結果として重複を取り除くことができ、ファイルにとっての「シカゴ」（及びその他の値）の相対的な重要度を表す順序でプロパティを表示することができ、また、特定の値がファイルのプロパティ「シカゴ、ボストン、デトロイト、オースティン」に少しでも現れた回数を考慮することもできる。したがってこの例については、複数の選択されたファイルは、全体としてシカゴを主に取り扱い、次にボストンを、次いでデトロイトを、そしてオースティンを最も少なく取り扱っている。
【００９６】
図２６Ａ〜図２６Ｂは、多値プロパティに関する集約された値が表示されることができる順序で、かつ、そのような集約された表示が必要とされる場合は常に、及び／又は多値プロパティが変更された場合は常に実行することができる順序を決定するためのプロセスの一例を示している。このプロセスは、単一移譲票アルゴリズムの修正形態である。このプロセスにおいては、特定の値がファイルのプロパティ内で最初にリストアップされると、それが、１位のための「投票」とみなされる。その値が２番目にリストアップされると、それが、２位のための投票となる、といった具合である。このプロセスは、選択されたファイル内にそれぞれの特定の値が現れる回数、及び選択されたファイルのそれぞれによってその値に与えられる相対的な重要度の双方に基づく重複のないランク付けを作成する。
【００９７】
ステップ２６０１においては、全体的な整数定数Ｃが、自動的に設定され（たとえばコンピュータシステムは、システムリソースの可用性を検知し、定数を調整して、システムが完全に停止するのを回避することができる）、或いは手動で設定される（たとえば、多
値プロパティを集約する際にどれぐらいの詳細度を望むかに応じて所望の高さ又は低さにＣを設定するオプションをユーザに与えることができる）。この定数は、プロセスが実行されることになる順位すなわちランキングの数を表し、たとえば、Ｃを１０とすることができる。定数Ｃを高くすれば、ランキングにおける細かさを高めることができるが、より高い処理能力及びより多くの時間が必要となる。この値は、ユーザの好み、システムの設定、利用可能なリソース、システムの負荷などに応じて動的に設定することができる。
【００９８】
ステップ２６０２においては、選択された複数のファイルに共通して存在するそれぞれの値に対してループが始動する。ステップ２６０３においては、投票における上からＣ位までに対して、入れ子型のループが実行される。ステップ２６０４においては、システムは、それぞれの順位ごとに、現在の値がその順位に関して受け取った得票数を集計する。これらの２つのループの結果、システムは、それぞれの値ごとに、上からＣ「位」までのそれぞれに関してその値がいくつの「票」を受け取ったかを測定する。そしてステップ２６０５においては、Ｃ位までのそれぞれを処理するために別のループが始動され、一番上の順位（１位）から始まって、Ｃ位まで続く。
【００９９】
ステップ２６０６においては、検討中の順位に関して、いずれかの単一の値が最も多くの票を受け取ったかどうかを判定するためにチェックが行われる。ある値が、この順位に関して最も多くの票を受け取った場合には、ステップ２６０７において、その値がこの順位を与えられ、その値は、得票集計プロセスにおける計算の残りから除外される。したがって上記の例では、シカゴが、１位に関して最も多くの票（２票）を受け取った。
【０１００】
ステップ２６０６において、この順位に関して最も多くの得票を有する単一の値がなかった場合には、現在の順位に関しては同点の状態（３つ以上の値が、この順位に関して同じ得票数を有していたか、又はすべての値が、この順位に関する得票数がゼロであったか）であり、プロセスはステップ２６０８へ移り、このステップ２６０８では、チェックされている現在の順位が、チェックすべき最後の順位（Ｃ位）であるかどうかを判定するためにチェックが行われる。そうでない場合には、プロセスはステップ２６０９へ移る。ステップ２６０９においては、システムは、１つ先の順位を「覗き見て」、現在の同点の値が次の順位に関して受け取った得票数を確認する。ステップ２６１０において、同点の値のうちの１つが次の順位に関して最も多くの得票を有していた場合には、ステップ２６１１において、その値が現在の順位を与えられ、その他の同点の値によって保持されている現在の順位に関する得票は、次の順位へ移される、すなわち移譲される。換言すれば、ステップ２６１１における「敗者」は、現在の順位に関する自分たちの得票を次の順位に関する自分たちの得票の合計に追加してもらい、それによって、検討中の順位における票を受け取ったがその順位を与えられなかったすべての値に関して、現在のラウンドにおけるその得票が繰り越され、次のラウンドに関して勝者を算出する際のそのラウンドにおけるその得票に追加される。
【０１０１】
ステップ２６１０において、同点の値のうちのいずれも、次の順位に関して最も多くの得票を有していない場合には、ステップ２６１３において、同点の値のすべてが、現在の順位に関してアルファベット順にランク付けされ（また、同点の値がすべて順位を与えられるまでは、次のいくつかの順位に関してもアルファベット順にランク付けされ）、プロセスは、ステップ２６０５へ戻る。同様に、ステップ２６０８において、同点が生じた際に最後の順位（Ｃ位）を調べるためにプロセスが発生した場合には、このプロセスも、ステップ２６１３へ移って、同点の値をアルファベット順にランク付けし、そしてステップ２６０５へと移る。
【０１０２】
ステップ２６０５から、最後の順位（Ｃ位）が処理された場合には、プロセスはステップ２６１４へ移り、このステップ２６１４では、残りのランク付けされていない値に関す
る残りのすべての得票は、Ｃ位に関する得票として扱われ、残りの値は、Ｃ位に関する最も多くの得票を有する順にランク付けされ、同点は、アルファベット順を使用して解消される。
【０１０３】
図２６Ａ〜図２６Ｂに示されているアルゴリズムは、さまざまな得票数及び値を集計する集計テーブルをメモリ内に保持することができる。この集計テーブルが有益なのは、システムが、プロセスが実行されている際に作動中のＲＡＭ内へこのテーブルを漸増的にロードして、もはや必要とされていない部分をＲＡＭから削除し、それによって、プロセスを実行するのに必要とされるランタイムメモリの量を減らすことができる点にある。
【０１０４】
場合によっては、さまざまな多プロパティ値は、正規化プロセスを経ることができる。正規化プロセスは、ファイルの複数プロパティフィールド内の値の重複する外見を削除することができる。たとえば、あるファイルは、キーワード（犬、猫、犬）を有することができ、正規化プロセスは、それらの値の最初の出現を保持して、同じ値の次の出現を削除することができる（たとえば、「犬、猫」という結果になる）。正規化されていないデータをシステムのメモリ内に保存することができ、その上で、正規化されたバージョンでそのデータを上書きすることもでき、或いは、正規化データを単にメモリ内に別個に保存することもできる。場合によっては、ユーザが多値プロパティを修正した際に、正規化を行うこともできる。
【０１０５】
場合によっては、ユーザは、集約された表示との対話を通じて多値プロパティを編集したいと望むことがある。これを行う場合には、システムは、集約された多値プロパティの表示に対して行われた変更に応じて、それぞれのファイルごとに多値プロパティを修正することができる。たとえば、集約された表示の末尾に新たなプロパティを追加すると、ファイルのそれぞれに関する多値プロパティにその新たなプロパティが単に付加されるようにすることができる。集約された多値プロパティの表示の先頭に新たなプロパティが挿入された場合や、その他の何らかの挿入の場合にも、同じことを行うことができる。集約されたプロパティの表示内でプロパティを並べ替えることなど、いくつかの変更によって、ファイルのそれぞれに対する多値プロパティが対応して並べ替えられるようにすることができる。
【０１０６】
多値プロパティは、データを編集することに対してユニークなアプローチを有することもできる。たとえば、そのようなプロパティに関するフィールドは、図２７に示されているのと同様のリスト内に表示することができる。フィールド２７０１は、ユーザがデータを打ち込んで入力することができるアクティブなテキスト編集ボックスとすることができ、また、複数の値２７０２を有することができ、それらの値２７０２は、セミコロンなどの文字によってフィールド内で区切ることができる。値２７０２は、アトミック動作、すなわちトークン動作を示すことができ、それによって、全体の値を単一の選択として選択することができる。したがって、場合によっては、データを編集するために挿入ポイントがフィールド２７０１内に置かれると、アトミック値２７０２は、複数の文字とは対照的に単一の構成単位として（たとえば「Ｎ」、「Ｙ」、「Ｃ」とは対照的に「ＮＹＣ」として）動作することができ、また、１つのアトミック値の中に挿入ポイントを置くことさえ禁止されることができ、それによって、（たとえばアトミック値の中でマウスをクリックすることによって）挿入ポイントをアトミック値の中に置こうとすると、結果として挿入ポイントがアトミック値の前又は後ろに置かれるようにすることができる。アトミック値のまわりで動くために矢印キーを押すと、１回キーを押すだけでその値の一方の側から他方の側へ移動することもできる。更に、選択領域が可能である場合には、そのような領域は、アトミック値の一部のみを選択することを禁止されることができ、それによって、その値の所定の部分（たとえば半分）を選択すると、結果として、その値の全体が選択される。アトミック値の上にマウスポインタを置くと、その値は、アトミック値であることを
示す、浮かび上がった状態に入ることができる。たとえば、浮かび上がった状態とは、そのアトミック値の全体を囲むボックスやハイライト表示、或いはその他の視覚的な区別や強調を含むことができる。アトミック値については、それらの値をドラッグアンドドロップ操作によって配置し直すこともできる。
【０１０７】
トークン動作は、単に言葉の全体を一度に選択することには限定されない。言葉は、代替ユーザインターフェース要素によって置き換えることもできる。たとえば、時間は、時計のグラフィックイメージによって置き換えられることができ、日付は、カレンダのイメージによって置き換えられることができる。アトミック値は、アイコン動作を示すことができ、それによって、それらのアトミック値の上でクリック（或いは右クリック）すると、コマンドメニュー、オプションリスト、その他のポップアップ等を提示することなど、さらなるレベルの双方向性をもたらすことができる。値がその他のファイル及び／又はプロパティ上へドラッグされることもでき、それらの値がその他のファイル及び／又はプロパティに追加されることができる。
【０１０８】
フィールドのリストの末尾には、そのフィールドが何のデータを含んでいるかをユーザに思い出させるプロンプト文字列２７０３が存在することができる。場合によっては、プロンプト文字列２７０３は、データを入力するためのキーボードの焦点が与えられる場合など、フィールド２７０１が編集状態にある場合のみ表示することができ、そしてプロンプト文字列２７０３は、多値フィールド内の実際の値として扱われない（たとえば、フィールド内の値としてメモリに保存されるのではなく、むしろユーザインターフェースの一部として作成される）。
【０１０９】
プロンプト文字列２７０３は、前述のタイプのいずれかを使用して視覚的に区別及び／又は強調しておくことができ（たとえば、文字を囲む領域に特定の色のハイライト表示を有することができ）、また、いくつかのタイプのデフォルトの動作を示すことができる。たとえばプロンプト文字列２７０３は、フィールド２７０１が編集状態にあって、挿入ポイントが値の文字列の末尾にある場合は常に、自動的に表示することができる。ユーザが、挿入ポイントに新たな値を挿入するために（たとえば、テキストボックス内で打ち込みを開始することによって）打ち込みを開始し、新たな文字が追加されると、プロンプト文字列２７０３は、自動的に消えることができる。プロンプト文字列は、ユーザが新たな値の入力を完成させると、或いは取りやめると、自動的に再表示することができる。
【０１１０】
編集状態においては、フィールドは、多値フィールド２７０１に追加する値の候補のリストをユーザに提供するドロップダウンメニュー２７０４を表示することもでき、そしてユーザは、そのメニューから入力を選択することができる。ドロップダウンメニュー２７０４は、自動提示機能を含むことができ、この自動提示機能は、図２８に示されているプロセスに従って実施されることができる。はじめに、このプロセスは、ステップ２８０１において、所与のプロパティに関して既に使用されている、及び／又は所与のユーザによって使用されているすべての値を収集することによって開始することができる。ステップ２８０２においては、メニュー２７０４は、重複を追加したいとユーザが望む可能性は低いため、選択された（１つ又は複数の）ファイルに関する多値プロパティ内に既に存在する値を省略することができる。ステップ２８０３においては、一般性、アルファベット順、或いはその他の任意の所望の方法によってリストがソートされることができる。そしてステップ２８０４においては、自動提示を用いてメニューが表示されることができる。リストアップされた値のうちのいくつかが、選択されたファイルのうちのすべてではないがいくつかに関して既に存在している場合には、その事実を示すために、それらの値に別の外見（たとえば、上述したようなハイライト表示、色、パターン、フォントなど）が与えられることができる。選択されたファイルのうちのいずれにおいても使用されていない値にも、その事実を示すために、別の外見が与えられることができる。
【０１１１】
フィールドは、図２９に示されているように自動完成機能を有することもできる。自動完成機能を用いた場合、ユーザが、（図２９の例において「Ｄ」を打ち込むことによってなど）多値プロパティに追加するために新たな値を打ち込み始めると、システムは、予想される値を用いてその入力を完成させようと自動的に試みることができる。自動完成機能は、図３０に示されているプロセスを使用して実施されることができる。予想された値は、はじめにステップ３００１において、所与のプロパティに関して使用中の値のすべてを取り上げること、そしてステップ３００２において、選択された１つ又は複数のファイルに既に適用されている値をフィルタで除外することによって選択されることができる。ステップ３００３においては、さらなるフィルタリングを行って、ユーザによって既に入力されている文字で始まる値を特定し、ユーザが既に打ち込んだ１つ又は複数の文字で始まる（アルファベット順で）最初の値を選択することができる。ステップ３００４においては、一般性、アルファベット順、或いはその他の任意の所望の方法によって残りの候補をソートすることができ、そしてステップ３００４においては、残りのリストを表示することができる。リスト内の最初の入力は、デフォルトによって選択されることができ、又はイライト表示されることもでき、残りの文字は、ユーザの入力したデータに続いて、希望に応じてさらなるハイライト表示を伴って、フィールド内に自動的に配置されることができる。
【０１１２】
上述の自動提示機能及び自動完成機能は、その他のタイプのフィルタリングステップも含むことができる。たとえばフィルタは、ユーザによって選択及び／又は入力された最も新しい値を選択したり、或いは、プロパティのリストを作成したコンテキストに基づいて値の候補をフィルタにかけたりすることができる。たとえば選択されたファイルが、プロジェクトビュー（たとえば、所与のプロジェクトに関連するファイルを表示すること）の一部として表示するために選択されたものである場合には、システムは、特定の値の候補がそのプロジェクト内で使用される可能性が高い（或いは低い）ことを自動的に判定することができ、そして、それに応じてリストをフィルタにかけることができる。
【０１１３】
ユーザがフィールド内にデータを入力しているときに、その入力を確認するためにチェックを行うことができる。たとえば特定のフィールドは、値の候補の指定された範囲又はリスト（たとえば曜日）のみを有するように事前に定義されることができ、そしてユーザが、無効な入力をその複数プロパティフィールド内に入力しようとすると、システムは、その入力を単に拒否して、その入力が無効だったことを示すメッセージをユーザに提供することができる。
【０１１４】
本発明の代替の実施の形態及び代替の実装形態については、当業者が図面を含めて本明細書を検討すれば明らかになるであろう。たとえば、記載されているプロセスにおけるさまざまなステップが希望に応じて配置し直され、修正され、及び／又は削除され、本明細書に記載されている機能の選択されたサブセットを実装することができる。更に、上記においては、「本発明」の１つ又は複数の「態様」や「実施の形態」において見られる特定の機能への言及は、単独で、或いはその他の概念と組み合わせて有利に使用することができるさまざまな概念を示すために行われているにすぎず、本明細書に開示されている発明性のある概念は１つしかないということや、記載されている機能のすべてが添付の特許請求の範囲のいずれにおいても必要とされるということを意味するものと解釈すべきではない。それどころか、添付の特許請求の範囲のそれぞれは、それ自体が別個の発明として存在し、記載されている制限を超えるいかなる制限を有するものとも解釈すべきではない。
【図面の簡単な説明】
【０１１５】
【図１】本明細書に記載されている１つ又は複数の機能を実装する際に使用するのに適したコンピューティングシステム環境を示すブロック図である。
【図２Ａ】編集コントロールを有するシェルブラウザのための例示的なグラフィカルユーザインターフェースを示すブロック図である。
【図２Ｂ】１つ又は複数の編集コントロールを有するシェルブラウザのための例示的なグラフィカルユーザインターフェースを示すブロック図である。
【図３】シェルブラウザ内のウェルカムパネルを示す概略図である。
【図４】シェルブラウザ内の選択済みパネルを示す概略図である。
【図５】シェルブラウザ内のメタデータをユーザが修正できるようにするためのコンテキストメニューを含む図４の選択済みパネルを示す概略図である。
【図６】シェルブラウザ内のウェルカムパネル内に表示されているメタデータをユーザが修正できるようにするための方法を示す流れ図である。
【図７】シェルブラウザ内の選択済みパネル内に表示されているメタデータをユーザが修正できるようにするための方法を示す流れ図である。
【図８】シェルブラウザ内に表示されるアイテムに関連付けられているユーザによって修正可能なメタデータを含むデータ構造を示すブロック図である。
【図９】拡張コントロールを有するシェルブラウザ内の選択済みパネルを示す概略図である。
【図１０】図４に類似しているが、シェルブラウザ内でプレビューアをユーザが選択できるようにするコンテキストメニューを含む選択済みパネルを示す概略図である。
【図１１Ａ】シェルブラウザ内でプレビューアをユーザが選択できるようにするための方法を示す流れ図である。
【図１１Ｂ】シェルブラウザ内でプレビューアをシステムが選択できるようにするための方法を示す流れ図である。
【図１２】シェルブラウザ内でサードパーティーのプレビューアを使用できるようにするための方法を示す流れ図である。
【図１３】シェルブラウザ内の複数のプレビューアを示す情報を含むデータ構造を示すブロック図である。
【図１４ａ】本明細書に記載されている機能を採用することができるプロセスを示す流れ図の一例である。
【図１４ｂ】本明細書に記載されている機能を採用することができるプロセスを示す流れ図の一例である。
【図１５】ファイルブラウザユーザインターフェースの一例、及びさまざまなユーザインターフェース要素を示す図である。
【図１６】プレビューエリアがサイズ変更されている図１５のインターフェースの修正バージョンを示す図である。
【図１７】プレビューエリアがサイズ変更されている図１５のインターフェースの別の修正バージョンを示す図である。
【図１８】別の向きのプレビュー要素を伴う代替ブラウザインターフェースを示す図である。
【図１９】プレビューインターフェースを含む共通ファイルダイアログの一例を示す図である。
【図２０】積み重なったプレビュープレゼンテーションの一例を示す図である。
【図２１】図２０に示されている例よりも多くの積み重なったプレビューを有する積み重なったプレビュープレゼンテーションの別の例を示す図である。
【図２２】複数のファイルが選択された際に生じるプレビューの一例を示す図である。
【図２３】選択された複数のファイルと、対応するプロパティ及びファイルの視覚的な区別とを有するブラウザの一例を示す図である。
【図２４】選択された複数のファイルと、集約されたプロパティフィールドとを有するブラウザの一例を示す図である。
【図２５】プロパティを１つ又は複数の選択されたファイルに相関付けるための視覚的な区別と共に、集約されたプロパティフィールドの一例を示す図である。
【図２６Ａ】いくつかの選択された多値プロパティが自分の値を集約させることができるプロセスの一例を示す図である。
【図２６Ｂ】いくつかの選択された多値プロパティが自分の値を集約させることができるプロセスの一例を示す図である。
【図２７】多値プロパティフィールドの一例を示す図である。
【図２８】自動選択機能のためのプロセスの一例を示す図である。
【図２９】自動完成機能を有する多値プロパティフィールドの一例を示す図である。
【図３０】自動完成機能のためのプロセスの一例を示す図である。
【図１】
2008538629.tif 000003
【図２Ａ】
2008538629.tif 000004
【図２Ｂ】
2008538629.tif 000005
【図３】
2008538629.tif 000006
【図４】
2008538629.tif 000007
【図５】
2008538629.tif 000008
【図６】
2008538629.tif 000009
【図７】
2008538629.tif 000010
【図８】
2008538629.tif 000011
【図９】
2008538629.tif 000012
【図１０】
2008538629.tif 000013
【図１１Ａ】
2008538629.tif 000014
【図１１Ｂ】
2008538629.tif 000015
【図１２】
2008538629.tif 000016
【図１３】
2008538629.tif 000017
【図１４ａ】
2008538629.tif 000018
【図１４ｂ】
2008538629.tif 000019
【図１５】
2008538629.tif 000020
【図１６】
2008538629.tif 000021
【図１７】
2008538629.tif 000022
【図１８】
2008538629.tif 000023
【図１９】
2008538629.tif 000024
【図２０】
2008538629.tif 000025
【図２１】
2008538629.tif 000026
【図２２】
2008538629.tif 000027
【図２３】
2008538629.tif 000028
【図２４】
2008538629.tif 000029
【図２５】
2008538629.tif 000030
【図２６Ａ】
2008538629.tif 000031
【図２６Ｂ】
2008538629.tif 000032
【図２７】
2008538629.tif 000033
【図２８】
2008538629.tif 000034
【図２９】
2008538629.tif 000035
【図３０】
2008538629.tif 000036
【国際調査報告】
2008538629.tif 000037