(57)【特許請求の範囲】
【請求項１】
グラフィカルユーザインターフェースにおいて第１のオブジェクトを第１のフォルダに関連付ける第１の要求を検出したことに応答して、前記第１のオブジェクトを前記第１のフォルダに関連付ける前記第１の要求の結果として前記第１のオブジェクトが前記第１のフォルダに移動されることとなることをユーザフィードバックに提示する動作と、
前記第１のオブジェクトを前記第１のフォルダに移動する動作と、
グラフィカルユーザインターフェースにおいて複数のオブジェクトを第２のフォルダに関連付ける第２の要求を検出したことに応答して、前記複数のオブジェクトを前記第２のフォルダに関連付ける前記第２の要求の結果として前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示する動作であって、
移動されることとなる前記複数のオブジェクトの少なくとも一つに関連するアイコンのイメージを提示する動作と、
移動されることとなる前記複数のオブジェクトの数を示す前記ユーザフィードバックを提示する動作とを有する、前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示する動作と、
前記複数のオブジェクトを前記第２のフォルダに移動する動作と
をコンピュータに実行させるためのコンピュータ実行可能命令を記録したことを特徴とするコンピュータ読取可能な記録媒体。
【請求項２】
前記第１の要求は、前記第１のフォルダ上への前記第１のオブジェクトのドラッグ／ドロップ操作であることを特徴とする請求項１に記載のコンピュータ読取可能な記録媒体。
【請求項３】
前記第１の要求に関連付けられた前記ユーザフィードバックは、前記第１のオブジェクトに関連付けられた前記グラフィカルユーザインターフェース内の移動アイコンであることを特徴とする請求項１に記載のコンピュータ読取可能な記録媒体。
【請求項４】
前記第１の要求に対する前記ユーザフィードバックは、前記第１のオブジェクトが前記第１のフォルダに移動されることとなることのテキストの説明であることを特徴とする請求項３に記載のコンピュータ読取可能な記録媒体。
【請求項５】
前記テキストの説明は、前記第１のフォルダの名前を含むことを特徴とする請求項４に記載のコンピュータ読取可能な記録媒体。
【請求項６】
前記コンピュータ実行可能命令は、さらに、
グラフィカルユーザインターフェースにおいて第３のオブジェクトを第３のフォルダに関連付ける第３の要求を検出したことに応答して、前記第３のオブジェクトを前記第３のフォルダに関連付ける前記第３の要求の結果として前記第３のオブジェクトが前記第３のフォルダに移動されることとなることを前記ユーザフィードバックに提示し、および前記第３のフォルダ内に子フォルダを列挙するウィンドウを表示する動作と、
前記第３のオブジェクトを前記子フォルダに関連付ける第４の要求を検出したことに応答して、前記第３のオブジェクトを前記子フォルダに関連付ける前記第４の要求の結果として前記第３のオブジェクトが前記子フォルダに移動されることとなることを前記ユーザフィードバックに提示する動作と、
前記第３のオブジェクトを前記子フォルダに移動する動作と
をコンピュータに実行させることを特徴とする請求項１に記載のコンピュータ読取可能な記録媒体。
【請求項７】
プロセッサによって実行される方法であって、
グラフィカルユーザインターフェースにおいて第１のオブジェクトを第１のフォルダに関連付ける第１の要求を検出したことに応答して、前記第１のオブジェクトを前記第１のフォルダに関連付ける前記第１の要求の結果として前記第１のオブジェクトが前記第１のフォルダに移動されることとなることをユーザフィードバックに提示することと、
前記第１のオブジェクトを前記第１のフォルダに移動することと、
グラフィカルユーザインターフェースにおいて複数のオブジェクトを第２のフォルダに関連付ける第２の要求を検出したことに応答して、前記複数のオブジェクトを前記第２のフォルダに関連付ける前記第２の要求の結果として前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示することであって、
移動されることとなる前記複数のオブジェクトの少なくとも一つに関連するアイコンのイメージを提示することと、
移動されることとなる前記複数のオブジェクトの数を示す前記ユーザフィードバックを提示することとを有する、前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示すること、
前記複数のオブジェクトを前記第２のフォルダに移動することと
を含むことを特徴とする方法。
【請求項８】
前記第１の要求は、前記第１のフォルダ上への前記第１のオブジェクトのドラッグ／ドロップ操作であることを特徴とする請求項７に記載の方法。
【請求項９】
前記第１の要求に関連付けられた前記ユーザフィードバックは、前記第１のオブジェクトに関連付けられた前記グラフィカルユーザインターフェースの移動アイコンであることを特徴とする請求項７に記載の方法。
【請求項１０】
前記第１の要求に対する前記ユーザフィードバックは、前記第１のオブジェクトが前記第１のフォルダに移動されることとなることのテキストの説明であることを特徴とする請求項９に記載の方法。
【請求項１１】
前記テキストの説明は、前記第１のフォルダの名前を含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
グラフィカルユーザインターフェース内において第３のオブジェクトを第３のフォルダに関連付ける第３の要求を検出したことに応答して、前記第３のオブジェクトを前記第３のフォルダに関連付ける前記第３の要求の結果として前記第３のオブジェクトが前記第３のフォルダに移動されることとなることを前記ユーザフィードバックに提示し、および前記第３のフォルダ内に子フォルダを列挙するウィンドウを表示することと、
前記第３のオブジェクトを前記子フォルダに関連付ける第４の要求を検出したことに応答して、前記第３のオブジェクトを前記子フォルダに関連付ける前記第４の要求の結果として前記第３のオブジェクトが前記子フォルダに移動されることとなることを前記ユーザフィードバックに提示することと、
前記第３のオブジェクトを前記子フォルダに移動することと
をさらに含むことを特徴とする請求項７に記載の方法。
【請求項１３】
プロセッサと、コンピュータ実行可能命令を記憶するコンピュータ記録媒体とを備え、ファイルおよびフォルダを管理するための処理を実行するように構成されたコンピューティングデバイスであって、前記処理は、
グラフィカルユーザインターフェースにおいて第１のオブジェクトを第１のフォルダに関連付ける第１の要求を検出したことに応答して、前記第１のオブジェクトを前記第１のフォルダに関連付ける前記第１の要求の結果として前記第１のオブジェクトが前記第１のフォルダに移動されることとなることをユーザフィードバックに提示することと、
前記第１のオブジェクトを前記第１のフォルダに移動することと、
グラフィカルユーザインターフェースにおいて複数のオブジェクトを第２のフォルダに関連付ける第２の要求を検出したことに応答して、前記複数のオブジェクトを前記第２のフォルダに関連付ける前記第２の要求の結果として前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示することであって、
移動されることとなる前記複数のオブジェクトの少なくとも一つに関連するアイコンのイメージを提示することと、
移動されることとなる前記複数のオブジェクトの数を示す前記ユーザフィードバックを提示することとを有する、前記複数のオブジェクトが前記第２のフォルダに移動されることとなることを前記ユーザフィードバックに提示することと、
前記複数のオブジェクトを前記第２のフォルダに移動することと
を含むことを特徴とするコンピューティングデバイス。
【請求項１４】
前記第１の要求は、前記第１のフォルダ上への前記第１のオブジェクトのドラッグ／ドロップ操作であることを特徴とする請求項１３に記載のコンピューティングデバイス。
【請求項１５】
前記第１の要求に関連付けられた前記ユーザフィードバックは、前記第１のオブジェクトに関連付けられた前記グラフィカルユーザインターフェースの移動アイコンであることを特徴とする請求項１３に記載のコンピューティングデバイス。
【請求項１６】
前記第１の要求に対する前記ユーザフィードバックは、前記第１のオブジェクトが前記第１のフォルダに移動されることとなることのテキストの説明であることを特徴とする請求項１５に記載のコンピューティングデバイス。
【請求項１７】
前記テキストの説明は、前記第１のフォルダの名前を含むことを特徴とする請求項１６に記載のコンピューティングデバイス。
【請求項１８】
前記処理は、
グラフィカルユーザインターフェース内において第３のオブジェクトを第３のフォルダに関連付ける第３の要求を検出したことに応答して、前記第３のオブジェクトを前記第３のフォルダに関連付ける前記第３の要求の結果として前記第３のオブジェクトが前記第３のフォルダに移動されることとなることを前記ユーザフィードバックに提示し、および前記第３のフォルダ内に子フォルダを列挙するウィンドウを表示することと、
前記第３のオブジェクトを前記子フォルダに関連付ける第４の要求を検出したことに応答して、前記第３のオブジェクトを前記子フォルダに関連付ける前記第４の要求の結果として前記第３のオブジェクトが前記子フォルダに移動されることとなることを前記ユーザフィードバックに提示することと、
前記第３のオブジェクトを前記子フォルダに移動することと
をさらに含むことを特徴とする請求項１３に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、豊富なドラッグドロップユーザインターフェースに関する。
【背景技術】
【０００２】
現代の電子ファイルシステムは、典型的に、階層的なツリー構造でファイルを格納する。ツリーのそれぞれのノードは、１つまたは複数のファイルを含むフォルダであると考えられる。典型的に、そのような電子ファイルシステムにおいては、アイテムの場所は、そのファイルシステムを定義した編成によって限定される。例えば、多くのファイルシステムにおいては、それぞれのファイルは、１つの（そして唯一の）フォルダ内に配置される。つまり、ファイルの存続期間と、ファイルの編成とが結び付いている。すなわち、１つのファイルは、他のファイルやフォルダに関連して編成された１つの場所を有している間しか存在することができない。さらに、１つのファイルを複数の編成に置くことはできない。つまり、ユーザは、１つのファイルを複数のフォルダ内で見たい場合は、例えば、そのファイルの複数のコピーを作成しなければならない。これは、ユーザにとって面倒であり、間違いの元であり、また保存スペースの無駄である。
【０００３】
さらに、ドラッグ／ドロップ操作を行っているときは、ドラッグ／ドロップ操作が完了した時点でどんなアクションが起こることになるかということが、ユーザにとって常に明らかであるとは限らない。これは、ドラッグ／ドロップするための複数のファイルが一緒に選択されている場合に、さらにいっそうの混乱をきたす可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザが、グラフィカルユーザインターフェースを使用して、より柔軟な方法でファイルおよび他のオブジェクトを操作することを今まで以上に可能にするさらに進化した電子ファイルシステムおよびユーザインターフェースが必要とされている。この柔軟性によって、ドラッグ／ドロップ操作が行われている間に、これから何が起こることになるかに関するより豊富な情報をユーザに提供する機会が生じる。
【課題を解決するための手段】
【０００５】
本開示の態様は、アイテム、フォルダ、リスト、持続型自動リスト（persisted auto-list）、およびスタックを含む、実装できるさまざまなタイプのファイルシステムオブジェクトに関する。フォルダは、例えば実際のオブジェクトを含むが、リストおよび持続型自動リストは、オブジェクトそのものとは対照的に、オブジェクトへの参照、またはショートカットを含む。持続型自動リストには、持続型自動リストによって定義される１または複数の基準に準拠するプロパティを有するオブジェクトへの参照が自動的に投入される。
【０００６】
本開示のさらなる態様は、グラフィカルユーザインターフェース内で選択オブジェクト（selected object）をターゲットオブジェクト上へドラッグする操作の最中にプレビュー情報をユーザに提供することを対象としている。プレビュー情報は、選択オブジェクトがターゲットオブジェクト上へドロップされた場合、どんなタイプのアクションがとられることになるかを示し、それによって、特定のドラッグ／ドロップ操作が完了する前に、そのドラッグ／ドロップ操作が望ましいかどうかを判断する機会をユーザに提供する。とられることになる特定のアクションは、選択オブジェクトのタイプ、および／またはターゲットオブジェクトのタイプによって決定することができる。例えば、選択オブジェクトがアイテムであり、ターゲットオブジェクトが持続型自動リストである場合は、アクションは、持続型自動リストによって定義される１つまたは複数の基準に準拠するために選択オブジェクトの１つまたは複数のプロパティを追加すること、削除すること、または修正することを含むことができる。
【０００７】
本開示のまたさらなる態様は、複数のオブジェクトが選択される場合に、数値のフィードバックをユーザに提供することを対象としている。例えば、７つのオブジェクトが選択されている場合には、テキストの数字「７」をカーソルの隣に表示することができる。この結果、複数のオブジェクトが移動に伴ってスクリーンのあちこちに散在する従来のインターフェースに比べて、はるかに分かりやすいユーザインターフェースをもたらすことができる。従来のインターフェースにおいては、ユーザにとっては、いくつのオブジェクトが選択されているのかを判断することが困難な場合がある。
【０００８】
本発明のまたさらなる態様は、さまざまなドラッグ／ドロップの組合せに応じてさまざまなタイプのアクションを実行することを対象としている。実行される特定のタイプのアクションは、ドロップするオブジェクトのタイプ、および／またはそのドロップを受けるターゲットオブジェクトのタイプによって決定することができる。
【０００９】
本明細書における開示のこれらおよび他の態様は、例示的な実施形態に関する次の詳細な説明を考察すれば、明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１】例示的なコンピューティング環境を示す機能ブロック図である。
【図２】特定のドラッグ／ドロップ操作に応じてとることができる例示的なアクションを示す表である。
【図３】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンス（preview feedback instance）を示す図である。
【図４】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図５】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図６】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図７】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図８】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図９】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図１０】さまざまなドラッグ／ドロップ操作に応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図１１】ドラッグ／ドロップ操作によって、カーソルの近くに、またはスクリーン上の別の場所に、プレビューフィードバックインスタンスが提示される例示的なスクリーンショットを示す図である。
【図１２】ドラッグ／ドロップ操作によって、カーソルの近くに、またはスクリーン上の別の場所に、プレビューフィードバックインスタンスが提示される例示的なスクリーンショットを示す図である。
【図１３】ドラッグ／ドロップ操作によって、カーソルの近くに、またはスクリーン上の別の場所に、プレビューフィードバックインスタンスが提示される例示的なスクリーンショットを示す図である。
【図１４】アイテムをさまざまなタイプのターゲットオブジェクト上へドラッグすることに応じて提示することができる例示的なプレビューフィードバックインスタンスを示す図である。
【図１５】説明文を含む例示的なプレビューフィードバックインスタンスを示す図である。
【図１６】説明文を含む例示的なプレビューフィードバックインスタンスを示す図である。
【図１７】説明文を含む例示的なプレビューフィードバックインスタンスを示す図である。
【図１８】説明文を含む例示的なプレビューフィードバックインスタンスを示す図である。
【図１９】階層内で自分の下に子オブジェクト（child object）を有するターゲットオブジェクト上へオブジェクトをドラッグすることに対する例示的な応答を示す図である。
【図２０】階層内で自分の下に子オブジェクトを有するターゲットオブジェクト上へオブジェクトをドラッグすることに対する例示的な応答を示す図である。
【図２１】階層内で自分の下に子オブジェクトを有するターゲットオブジェクト上へオブジェクトをドラッグすることに対する例示的な応答を示す図である。
【図２２】階層内で自分の下に子オブジェクトを有するターゲットオブジェクト上へオブジェクトをドラッグすることに対する例示的な応答を示す図である。
【図２３】階層内で自分の下に子オブジェクトを有するターゲットオブジェクト上へオブジェクトをドラッグすることに対する例示的な応答を示す図である。
【発明を実施するための形態】
【００１１】
前述の概要、および例示的な実施形態に関する次の詳細な説明については、添付の図面と併せて読むと、よりよく理解することができ、添付の図面は、請求されている本発明に関する限定としてではなく、例示として含まれている。
【００１２】
（例示的なコンピューティング環境）
図１は、手書き文字認識機能、および／またはニューラルネットワークの作成、修正、および／またはトレーニングを実装することができる適切なコンピューティング環境１００の一例を図示する。コンピューティング環境１００は、適切なコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関して何らかの限定を示唆することを意図するものではない。またコンピューティング環境１００が、例示的なコンピューティング環境１００内に図示されているコンポーネントの任意の１つまたは任意の組合せに関して、何らかの依存性や必要性を有すると解釈すべきでもない。
【００１３】
他の汎用または専用のコンピューティングシステム環境または構成を使用することもできる。よく知られているコンピューティングシステム、環境、および／または構成の例は、ＰＣ（personal computer）、サーバコンピュータ、ＰＤＡ（personal digital assistant）、タブレットスタイルのＰＣ、ラップトップＰＣなどのハンドヘルドデバイスおよび他のポータブルデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムやデバイスのいずれかを含む分散コンピューティング環境などを含むが、これらには限定されない。
【００１４】
本明細書における開示は、コンピュータによって実行されているプログラムモジュールなどのコンピュータ実行可能命令という一般的なコンテキストにおいて説明される場合もある。一般に、プログラムモジュールは、特定のタスクを実行したり特定の抽象データ型を実装したりするルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通信ネットワークを通じてリンクされるリモート処理デバイスによってタスクが実行される分散コンピューティング環境をさらに使用することもできる。分散コンピューティング環境においては、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータ記憶媒体およびリモートコンピュータ記憶媒体の双方に配置することができる。
【００１５】
図１を参照すると、例示的なコンピューティング環境１００は、汎用コンピューティングデバイスをコンピュータ１００の形式で含む。コンピュータ１００のコンポーネントは、処理装置１２０、システムメモリ１３０、およびシステムメモリ１３０を含むさまざまなシステムコンポーネントを処理装置１２０に結合するシステムバス１２１を含むことができるが、これらには限定されない。システムバス１２１は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造のいずれかとすることができる。例として、そのようなアーキテクチャは、ＩＳＡ（Industry Standard Architecture）バス、ＭＣＡ（Micro Channel Architecture）バス、ＥＩＳＡ（Enhanced ISA）バス、ＶＥＳＡ（Video Electronics Standards Association）ローカルバス、ＡＧＰ（Advanced Graphics Port）バス、およびメザニンバスとしても知られているＰＣＩ（Peripheral Component Interconnect）バスを含むが、これらには限定されない。
【００１６】
コンピュータ１００は、典型的に、さまざまなコンピュータ読取可能媒体を含む。コンピュータ読取可能媒体は、揮発性媒体、不揮発性媒体、リムーバブル媒体、および非リムーバブル媒体などの、コンピュータ１００によってアクセスすることができる任意の利用可能な媒体とすることができる。例示であって限定ではないが、コンピュータ読取可能媒体は、コンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ読取可能命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法や技術で実装される揮発性媒体、不揮発性媒体、リムーバブル媒体、および非リムーバブル媒体を含むことができる。コンピュータ記憶媒体は、ＲＡＭ（random-access memory）、ＲＯＭ（read-only memory）、ＥＥＰＲＯＭ（electrically-erasable programmable ROM）、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ（compact-disc ROM）、ＤＶＤ（digital video disc）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または所望の情報を格納するのに使用することができ、コンピュータ１００によってアクセスできる他の任意の媒体を含むが、これらには限定されない。通信媒体は、典型的に、搬送波または他の伝送メカニズムなどの変調されたデータ信号内のコンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータを具現化し、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、情報を信号内でエンコードするような手法で設定または変更された、１または複数のその特性を有する信号を意味する。例示であって限定ではないが、通信媒体は、有線ネットワークや直接有線接続などの有線媒体、音響媒体、ＲＦ（radio frequency）媒体（例えば、ＢＬＵＥＴＯＯＴＨ、ＷｉＦｉ、ＵＷＢ）、光学媒体（例えば、赤外線媒体）および他の無線媒体などの無線媒体を含む。
【００１７】
システムメモリ１３０は、コンピュータ記憶媒体を、ＲＯＭ１３１およびＲＡＭ１３２などの揮発性および／または不揮発性のメモリの形式で含む。ＢＩＯＳ（basic input／output system）１３３は、起動中などにコンピュータ１００内の要素間の情報伝達を補助する基本ルーチンを含み、典型的には、ＲＯＭ１３１内に格納される。ＲＡＭ１３２は、典型的に、処理装置１２０からすぐにアクセス可能であり、および／または処理装置１２０によってその時点で操作されているデータおよび／またはプログラムモジュールを含む。図１は、例示であって限定ではないが、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、プログラムデータ１３７を含むコンピュータ実行可能命令の形式のソフトウェアを図示する。
【００１８】
コンピュータ１００は、他のコンピュータ記憶媒体を含むこともできる。ほんの一例として、図１は、非リムーバブルで不揮発性の磁気媒体を読み込みまたは書き込むハードディスクドライブ１４１と、リムーバブルで不揮発性の磁気ディスク１５２を読み込みまたは書き込む磁気ディスクドライブ１５１と、ＣＤ−ＲＯＭ、ＤＶＤまたは他の光学媒体などのリムーバブルで不揮発性の光ディスク１５６を読み込みまたは書き込む光ディスクドライブ１５５を図示する。この例示的な動作環境で使用することができる他のコンピュータ記憶媒体としては、磁気テープカセット、フラッシュメモリカード、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどが含まれるが、これらには限定されない。ハードディスクドライブ１４１は、典型的に、インターフェース１４０などの非リムーバブルなメモリインターフェースを通じてシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、典型的に、インターフェース１５０などのリムーバブルなメモリインターフェースによってシステムバス１２１に接続されている。
【００１９】
上述し図１に図示したドライブおよびそれらに関連するコンピュータ記憶媒体は、コンピュータ１００用のコンピュータ読取可能命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。図１においては、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するものとして図示している。これらのコンポーネントは、それぞれオペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一のもの、または異なるもののいずれともすることができることに留意されたい。図１において、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７に別の参照番号が割り当てられているのは、それらを別のコピーにすることができるということを示すためである。ユーザは、キーボード１６２、（デジタイザなどの）タッチパッド１６５およびスタイラス１６６、および（一般にマウス、トラックボール、またはタッチパッドと呼ばれている）ポインティングデバイス１６１などの入力デバイスを通じて、コンピュータ１００にコマンドおよび情報を入力することができる。タッチパッド１６５は、別個の物理的なデバイスとすることができ、またはモニタ１９１などのディスプレイデバイスと一体化することもできる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。これらおよび他の入力デバイスは、システムバス１２１に結合されているユーザ入力インターフェース１６０を通じて処理装置１２０に結合されている場合が多いが、パラレルポート、ゲームポート、ＵＳＢ（universal serial bus）、またはＩＥＥＥ  １３９４シリアルバス（ＦＩＲＥＷＩＲＥ）などの他のインターフェース構造およびバス構造によって接続することもできる。モニタ１９１または他のタイプのディスプレイデバイスも、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に結合される。ビデオインターフェース１９０は、自己の専用プロセッサおよびメモリに加えて、高性能の２Ｄまたは３Ｄのグラフィックス機能を有することができる。コンピュータ１００は、周辺出力インターフェース１９５を通じて接続することができるスピーカ１９７およびプリンタ１９６などの他の周辺出力デバイスを含むこともできる。
【００２０】
コンピュータ１００は、リモートコンピュータ１８０などの１つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク化された環境内で操作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードとすることができ、図１には、メモリストレージデバイス１８１しか図示していないが、典型的には、コンピュータ１００に関連する上述の要素の多くまたはすべてを含む。図１に表した論理接続は、ＬＡＮ（local area network）１７１およびＷＡＮ（wide area network）１７３を含むが、さらに、または代わりに、インターネットなどの他のネットワークを含むこともできる。このようなネットワーキング環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットでは一般的である。
【００２１】
ＬＡＮネットワーキング環境において使用する場合には、コンピュータ１００は、ネットワークインターフェースまたはアダプタ１７０を通じてＬＡＮ１７１に結合される。ＷＡＮネットワーキング環境において使用する場合には、コンピュータ１００は、インターネットなどのＷＡＮ１７３上で通信を確立するためのモデム１７２または別のデバイスを含むことができる。モデム１７２は、内蔵型または外付け型とすることができ、ユーザ入力インターフェース１６０または別の適切なメカニズムを介してシステムバス１２１に接続することができる。ネットワーク化された環境においては、コンピュータ１００に関連して表されているプログラムモジュール、またはそれらの一部は、リモートストレージデバイス１８１内などの離れた場所に格納することができる。例示であって限定ではないが、図１は、リモートアプリケーションプログラム１８２を、メモリデバイス１８１上に常駐するものとして図示する。示されているネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用することもできることを認識されたい。
【００２２】
（ファイルシステムの編成）
電子ファイルシステムは、コンピュータ１００によって実装され、コンピュータ１００がアクセスできるさまざまな電子媒体に格納されているファイルおよび他のオブジェクトを管理することができる。ファイルシステムは、他のプログラムモジュール１３６の一部、および／またはオペレーティングシステム１３４の一部とすることができる。ファイルシステムは、従来のファイルシステム、または、データベースで駆動（database-drive）できるさらに高性能のファイリングシステムとすることができる。ＦＡＴ（file allocation table）ファイルシステムに基づくファイルシステムなど、多くの従来のファイルシステムにおいては、ファイルへの従来のディレクトリアクセスは、ユーザが自分のファイルを階層的なディレクトリツリー内に保持したいと望むことを想定している。ファイルの場所とディレクトリの構造は、お互いに依存しており、ユーザは、ディレクトリの構造を変更せずに、ファイルを別の場所へ移動することはできない。
【００２３】
一方、ショートカットの参照を使用するさらに高性能なファイルシステムを使用することができ、したがって実際には別の異なる場所にあるファイルおよび他のオブジェクトを、１つまたは複数の場所に表示することが可能となる。このようなファイルシステムは、ファイルおよび他のオブジェクトを管理するさらにいっそう柔軟な方法を提供するさまざまなタイプのオブジェクトを定義することができる。
【００２４】
例えば、オブジェクトの１つのタイプは、リストである。本開示および特許請求の範囲の目的上、リストは、他のオブジェクトのセットを特定の順序で参照するオブジェクトである。本開示および特許請求の範囲において使用するオブジェクトの「セット」という用語は、複数のオブジェクトのセット、および単一のオブジェクトのみ有するセットの双方を含むことを意図している。リストによって参照されるオブジェクトは、例えば、ユーザによって手動でリストにそれぞれ追加されるオブジェクトの任意のセットとすることができる。しかし、リストによって参照されるオブジェクトは、従来のフォルダ内に存在する場合とは異なり、実際にはそのリスト内に格納されない。したがって、複数のリストが、同じオブジェクトを同時に参照することができる。
【００２５】
ファイルシステムによってサポートすることができる別のタイプのオブジェクトは、持続型自動リストである。持続型自動リストは、リストと類似しているが、持続型自動リストによって参照されるオブジェクトのセットは、クエリーによって決定される。クエリーは、１つまたは複数の基準を定義することができる。したがって、本開示および特許請求の範囲の目的上、持続型自動リストは、持続型自動リストと関連する１つまたは複数の基準を満たすオブジェクトのセットを含むリストとして定義される。持続型自動リストの内容は動的であり、持続型自動リスト内に列挙されているオブジェクトのセットは、さまざまなオブジェクトのプロパティの変化に従って変化することができる。例えば、John Doeという作成者によって作成されたすべてのドキュメントへの参照を含むように構成された持続型自動リスト（このケースのクエリー基準は、タイプ＝ドキュメント、および作成者＝「John Doe」である）は、John Doeが新しいファイルを作成したときや、自分のファイルの１つを削除したときに、自動的に更新することができる。持続型自動リストと関連する基準は、オブジェクトのタイプ、作成者、タイトル、内容、作成日、編集日、ファイルシステム内の場所（本明細書においては「範囲」とも呼ばれる）、カスタム組込みプロパティ（custom intrinsic properties）などの任意の基準を含むことができる。また、以降で論じるように、リストは、それらのリストおよび持続型自動リストによって参照されるオブジェクトに対し、外的プロパティ（extrinsic properties）を定義することを可能にする。
【００２６】
ファイルシステムによって管理されるそれぞれのオブジェクトは、１つまたは複数のプロパティを含むことができるか、そうでなければ１つまたは複数のプロパティと関連付けることができる。これらのプロパティは、外的プロパティおよび組み込むプロパティという２つのグループへと大まかに分類することができる。持続型自動リストと関連する１つまたは複数の基準は、オブジェクトの組込みプロパティに関するクエリーを形成する。
【００２７】
外的プロパティとは、オブジェクトとは別に格納される、オブジェクトのプロパティである。リストのコンテキストにおいては、例えば、ユーザは「List Notes」の列を追加することができ、「List Notes」の列は、リストによって参照されるオブジェクトそのものにではなく、リストのコンテキスト内にのみコメントを置く。これによって、ユーザは、例えば自分が修正する権利を有していないオブジェクト上にコメントを作成することが可能となる。外的プロパティは、そのリストのコンテキストの外側では、それらのオブジェクトと動きを共にしないであろう。したがって、それらの同じオブジェクトの１つまたは複数を参照する別のリストは、それらのアイテムのいずれの「List Notes」プロパティを含まないであろう。当然、ユーザが、そのプロパティを他のリストのコンテキスト内の項目に追加した場合は別である。外的プロパティは、ユーザによって手動で追加することもでき、または、ファイルシステム、オペレーティングシステム、および／または他のプログラムモジュールによって自動で追加することもできる。
【００２８】
組込みプロパティとは、アイテムと共に格納されるプロパティである。例えばファイルのタイトルは、タイトルがファイルと動きを共にする場合は、ファイルの組込みプロパティとみなすことができる。ファイルが特定のフォルダやリストに追加された場合、例えば、ファイルは、引き続きそのタイトルを有するであろう。オブジェクトの内容も、オブジェクトの組込みプロパティである。また、ファイルシステム内のオブジェクトの場所も、オブジェクトの別の組込みプロパティである。
【００２９】
ファイルシステムによってサポートすることができるさらに別のタイプのオブジェクトは、従来のフォルダである。フォルダは、本開示および特許請求の範囲の目的上、他のオブジェクトのセットを含むオブジェクトとして定義される。関連するタイプのオブジェクトは、スタックであり、このスタックは、所与の要件を満たすアイテムのセットを表すビュー内の仮想コンテナである。例えば、ユーザは、持続型自動リストまたはクエリーの結果を、「作成者」ごとに積み重ねて、それから、それらを書いたのは誰かによってすべての結果を見ることができる。スタックは、それぞれの作成者ごとに提示され、それぞれのスタックは、それぞれの作成者によって書かれたオブジェクトの数に基づいて異なる高さにすることができる。
【００３０】
ファイルシステムによってサポートすることができるさらに別のタイプのオブジェクトは、アイテムである。アイテムは、例えば、ファイル、Ｅメール、連絡先、またはアポイントメントとすることができる。
【００３１】
リストおよび持続型自動リストによって参照されるオブジェクト、およびフォルダおよびスタック内に含まれるオブジェクトは、任意のタイプのオブジェクトの任意の組合せとすることができる。例えば、リスト、持続型自動リスト、フォルダ、またはスタックは、それぞれ１つまたは複数のファイル、Ｅメール、リスト、持続型自動リスト、フォルダ、スタック、および／または任意の他のタイプのオブジェクトを含むことができる。
【００３２】
ファイルシステムは、１つまたは複数のボリューム内に編成することができる。ボリュームとは、本開示および特許請求の範囲の目的上、ファイルシステムによって個々のストレージリソースとして表される物理的な記憶媒体、またはそのあらかじめ定義された部分として定義される。
【００３３】
（オブジェクトのドラッグ／ドロップ）
オペレーティングシステムおよび／またはファイルシステムは、ファイルシステムによって管理されるそれぞれのオブジェクトを表すアイコンまたは他の視覚的な要素を提示するグラフィカルユーザインターフェースを有することができる。グラフィカルユーザインターフェースはさらに、ユーザが、オブジェクトを表す視覚的な要素を、他のオブジェクトを表す他の視覚的な要素の上に、従来的な手法でドラッグアンドドロップすることを可能にする。第１のオブジェクトを第２のオブジェクトの真上に、または第２のオブジェクト上に「ドラッグ／ドロップ」または「ドラッグアンドドロップ」するという用語、およびその変形は、本明細書においては、第１のオブジェクトを表す視覚的な要素を、第２のオブジェクトを表す視覚的な要素上へ従来的な手法でドラッグアンドドロップすることを表す省略表現として使用することにする。Microsoft社のWINDOWS（登録商標）系列のオペレーティングシステムなど、多くのシステムは、伝統的にドラッグ／ドロップ機能を提供する。ドラッグアンドドロップは、別のコンテキストにおいては異なる意味を有することがある。例えば、ファイルをフォルダ上へドラッグすると、典型的には、ファイルがフォルダ内へ移動することになる。言い換えると、ファイルシステム内の実際のファイルオブジェクト自体の場所が変更される。また、ドキュメントをプリンタオブジェクト上へドラッグすると、典型的には、ドキュメントが、プリンタオブジェクトと関連するプリンタで印刷されることになる。多くのそのようなオペレーティングシステムおよびファイルシステムは、カット／コピー／ペースト機能も提供するということに留意されたい。これらは、同じ結果を得る別のユーザ操作と考えられる。例えば、ファイルをリスト内へドラッグアンドドロップすることは、別の方法としては、ファイルをコピーして、リスト内にファイルをペーストすることによって達成することができる。
【００３４】
しかし、ドラッグ／ドロップの意味は、オブジェクトのさまざまな組合せ間で、および従来のシステムではこれまでサポートされていなかったコンテキストに関して確立する必要がある。例えば、アイテムを既存の持続型自動リストにドロップすることは、何を意味しているのか。そのようなドラッグ／ドロップの意味の例について、ここで図２を参照して論じる。図２は、ユーザによって行われたドラッグ／ドロップ入力に応じて、どのアクションが実行されることになるのかを示す。図２のそれぞれの行は、ドロップされることになる異なるタイプのオブジェクト（「選択オブジェクト」）に対応し、それぞれの列は、選択オブジェクトがドロップされることになる異なるタイプのオブジェクト（「ターゲットオブジェクト」）に対応する。
【００３５】
したがって、図２は、単一のアイテム、複数のアイテムのグループ、フォルダ、リスト、持続型自動リスト、およびスタックという、あり得る６つの異なるタイプの選択オブジェクトを取り扱う。図２はまた、選択オブジェクトと同一ボリューム内のフォルダ、選択オブジェクトと異なるボリューム内のフォルダ、選択オブジェクトと同一ボリューム内のリスト、選択オブジェクトと異なるボリューム内のリスト、選択オブジェクトを含む範囲（すなわち、ファイルシステム内における場所）を定義する自動リスト、および選択オブジェクトを含まない範囲を定義する自動リストという、あり得る６つの異なるタイプのターゲットオブジェクトを取り扱う。
【００３６】
ここで、図２について列ごとに論じることにする。図２の「フォルダ（同一ボリューム）」の列を参照すると、ターゲットオブジェクトは、選択オブジェクトと同一ボリューム内のフォルダであり、とられるアクションは、選択オブジェクトのタイプに関わらず、選択オブジェクトをターゲットオブジェクト内へ移動させることである。これは、選択オブジェクトとターゲットオブジェクトが同一ボリューム内にある場合にユーザが意図する可能性が最も高いため、道理にかなっている。
【００３７】
同様に、「フォルダ（異なるボリューム）」の列を参照すると、ターゲットオブジェクトは、選択オブジェクトと異なるボリューム内のフォルダであり、とられるアクションは、選択オブジェクトのタイプに関わらず、選択オブジェクトをコピーし、コピーをターゲットオブジェクト内に置くことである。この場合もやはり、このケースでは、ターゲットオブジェクトが異なるボリューム内にある場合、元の選択オブジェクト自体ではなく、選択オブジェクトのコピーをターゲットオブジェクト内に置くことをユーザが意図する可能性が最も高い。しかし、選択オブジェクトがスタックである場合には、例外がある。このケースでは、選択されたスタックをターゲットフォルダにドラッグ／ドロップすると、選択されたスタックをターゲットフォルダ内に表示する持続型自動リストが作成されることとなる。
【００３８】
ターゲットオブジェクトがリストである、図２の「リスト（同一ボリューム）」の列および「リスト（異なるボリューム）」の列を参照すると、ドラッグ／ドロップ操作により、選択オブジェクトに対する参照またはショートカットが、リスト内に置かれることになる。これは、ターゲットリストが選択オブジェクトと同一ボリューム内にあるかどうかに関わらず、当てはまる。しかし、選択オブジェクトがスタックである場合には、例外がある。このケースでは、選択されたスタックを持続型自動リストからターゲットリストへドラッグすると、持続型自動リストの定義へのショートカットが作成され、これは、（別個のファイルとして保持されずに）ターゲットリスト内に埋め込まれる。この場合もやはり、これらは、ユーザがそのようなドラッグ／ドロップ操作を行う場合にユーザが意図する可能性が最も高い。
【００３９】
図２の「自動リスト（同一範囲）」の列を参照すると、任意の選択されたアイテムを、選択オブジェクトを含む範囲を定義する持続型自動リスト上へドラッグすると、選択オブジェクトの１つまたは複数のプロパティが修正、削除、または追加され、それによって、選択オブジェクトは、ターゲット持続型自動リストによって定義される基準内に収まる。例えば、ターゲット持続型自動リストは、持続型自動リストによって参照されるオブジェクトが、フォルダc:\work\clientxyzの範囲では、（タイプ＝ドキュメント）および（作成者＝「John Doe」）でなければならない、という基準を定義することを想定されたい。このケースでは、持続型自動リストは、それらの基準を満たすその範囲内のすべてのオブジェクトを、自動的に列挙するであろう。例えば、ドキュメントは、定義された範囲内にあるが、ドキュメントには、作成者が割り当てられていないか、または異なる作成者プロパティが割り当てられていると想定されたい。そのドキュメントをターゲット持続型自動リスト上にドラッグアンドドロップする操作により、ドキュメントのプロパティは、可能な場合には、持続型自動リストによって必要とされる基準を満たすように設定されるであろう。この例においては、ドキュメントを持続型自動リストによって正しく列挙することができるように、ドキュメントの作成者プロパティは、「John Doe」に変更されるであろう。
【００４０】
ある状況においては、コンピュータ１００は、すべての基準を満たすようにプロパティを変更することが不可能であると判断することができる。例えば、同じターゲット持続型自動リスト上へドロップされているオブジェクトがドキュメントでない場合、（そのオブジェクトは、実際にはドキュメントではないので）そのオブジェクトのタイププロパティをドキュメントに変更することは意味をなさないであろう。このケースでは、ドラッグ／ドロップ操作を無効にすることができる。
【００４１】
選択オブジェクトと同一範囲内のターゲット持続型自動リスト上へドラッグ／ドロップされる選択オブジェクトがフォルダである場合は、持続型自動リストの基準を満たすように変更されるプロパティによって、（そのフォルダそのものではなく）そのフォルダ内のアイテムが、持続型自動リストによって参照されるようになる。同様に、その選択されたフォルダ内のアイテムのプロパティは、ターゲット持続型自動リストの基準を満たすことができるように変更される。
【００４２】
選択オブジェクトが持続型自動リストである場合、選択オブジェクトを別のターゲット持続型自動リスト上へドラッグ／ドロップすると、プロパティが持続型自動リストの結果に関して設定されることになる。言い換えると、選択された自動リストに準拠したすべてのアイテムのプロパティが、ターゲット自動リストにも準拠するように変更されるか、削除されるか、または追加される。
【００４３】
選択オブジェクトがスタックである場合、選択オブジェクトをターゲット持続型自動リスト上へドラッグ／ドロップすると、可能な場合には、スタックの内容のプロパティが、ターゲット持続型自動リストの基準を満たすように設定されることになる。
【００４４】
図２の「自動リスト（異なる範囲）」の列を参照すると、この列は、前の列と同じ状況を指しているが、ここで選択オブジェクトは、ターゲット持続型自動リストの範囲外にある。これらのケースでは、選択オブジェクト（または、選択されたリスト内に列挙されているオブジェクトなど、選択オブジェクトによって参照されるオブジェクト）が、はじめにコピーされ、そのコピーが、ターゲット持続型自動リストの範囲内に置かれる。そして、「自動リスト（同一範囲）」の列について言及したのと同じアクションが実行されるが、それらのアクションは、元の選択オブジェクトではなく、コピー上で実行される。
【００４５】
（ドラッグ／ドロップの変更）
図２に関して上記の例において論じたさまざまなドラッグ／ドロップ操作から生じるアクションは、デフォルトのアクションである。デフォルトのアクションは、それぞれのドラッグ／ドロップ操作を行う際のユーザの意図が何であるかを予測しようと試みる。しかし、ユーザは、ドラッグ／ドロップ操作とともに追加の入力を提供することによって、とられるはずのアクションを手動で覆すことができる。例えば、ユーザは、ドラッグ／ドロップ操作を行っている間に、キーボード１６２のキーを押すことができる。例えば、Shiftキーを押すと、すべてのコピーアクションを移動アクションにすることができ、Ctrlキーを押すと、今度は、すべての移動アクションをコピーアクションにすることができる。
【００４６】
さらなる例としては、リストにドラッグしているときに、ドラッグしながらShiftキーを押すと、選択オブジェクトを、ターゲットリストのスィケットフォルダ（thicket folder）に移動させることができ、このスィケットフォルダは、ターゲットリストがオブジェクトを収集する場合にオブジェクトを置く場所である。または、Ctrlキーを押しながらリストにドラッグすると、選択オブジェクトをリストのスィケットフォルダへコピーすることができる。持続型自動リストへドラッグしているときに、ドラッグしながらShiftキーを押すと、選択オブジェクトを、そのターゲット持続型自動リストのデフォルトフォルダに移動させることができ、このデフォルトフォルダは、オブジェクトがターゲット自動リストの範囲内にコピーされた場合にオブジェクトが置かれる場所である。または、Ctrlキーを押しながら持続型自動リストにドラッグすると、選択オブジェクトを、ターゲット持続型自動リストのデフォルトフォルダにコピーすることができる。
【００４７】
（ドラッグ／ドロップのプレビュー）
現在では、ドラッグ／ドロップ操作に応じてとることができる幅広いさまざまな可能なアクションが存在するため、特定のドラッグ／ドロップ操作が何を意味しうるかに関して、ユーザが、容易に混乱する可能性がある。これは、たとえ意図されている可能性が最も高いアクションをとるようにシステムを構成することができるとしても、当てはまる可能性がある。したがって、所与のドラッグ／ドロップ操作の結果として起こりつつあるアクション、および／またはそのドラッグ／ドロップ操作の現在の状況のうちのいくつかまたはすべてに関するプレビューを、フィードバックとしてユーザに提示することが望ましい可能性がある。このフィードバックに基づいて、ユーザは、希望に応じて、そのドラッグ／ドロップ操作を完了するか、中止するか、または修正するかを決定することができる。
【００４８】
このプレビューフィードバックは、所望の任意の形式で提示することができる。例えば、フィードバックは、アイコン、グラフィック、テキスト、および／または他の任意のタイプのフィードバックの形式とすることができ、ディスプレイのうちの任意の固定された部分または固定されていない部分に提示することができる。このフィードバックは、視覚に訴えるもの、および／または聴覚に訴えるものとすることができる。さらに、フィードバックは、カーソルとともに動くことができ、および／またはカーソルの近くに提示することができる。
【００４９】
そのようなプレビューフィードバックの例が、図３〜図１０に示されている。示されているフィードバックインスタンスは、例示的なものにすぎない。図３は、操作を完了することができない場合の処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示している。これは、例えば、ユーザが、アイテムを、持続型自動リストの基準を満たすようにアイテムのプロパティを修正することができない持続型自動リスト上へドラッグしたことに応じて生じる可能性がある。
【００５０】
図４は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、選択オブジェクトがドラッグ／ドロップ操作の完了に応じてコピーされることになるということを表している。これは、例えば、ユーザが、アイテムを、異なるボリューム内のフォルダへドラッグしたことに応じて生じる可能性がある。
【００５１】
図５は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、複数のアイテムが選択されているということを表している。この例においては、１４個のアイテムが選択されている。この数字は、それぞれの新たなアイテムが選択に追加されるにつれて、選択されたアイテムの実際の数を表すように動的に変化することができる。多くの従来的なグラフィカルユーザインターフェースファイルシステムにおいては、複数のファイルの選択は、それらの元の表示位置から、カーソルに従って新たな関連する位置に移動するファイルのさまざまなアイコンによって表される。この状況においては、いったんファイルのアイコンが移動し始めてしまうと、ユーザにとっては、何が行われ、いくつのファイルが選択されているのかを理解するのが困難になりうる。しかし、図５においては、いくつのアイテムが選択されているのかという状況を、ユーザが容易に見ることができる。図５の数字の左側にあるアイコンは、選択された最初のアイテムや、選択された最新のアイテムなど、選択されたアイテムのうちの１つのサムネイルとすることができる。選択されたバイト数など、他の情報を提供することもできる。
【００５２】
図６は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、ドラッグ／ドロップ操作の完了に応じて、選択オブジェクトがターゲットリストまたはターゲット持続型自動リストに追加されることになるということを表している。
【００５３】
図７は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、ドラッグ／ドロップ操作の完了に応じて、選択オブジェクトのプロパティが追加されるか、削除されるか、または修正されることになるということを表している。
【００５４】
図８は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、ドラッグ／ドロップ操作の完了に応じて、持続型自動リストが作成されることになるということを表している。例えば、ユーザが特定のスタックをクエリー結果の既存のセットからドラッグして、スタックをどこかにドロップすると、ドラッグ／ドロップ操作に応じて、持続型自動リストを作成することができる。このケースでは、ドラッグ／ドロップ操作に応じて、新たな持続型自動リストを自動的に作成することができ、この新たな持続型自動リストは、そのクエリーの定義を外れても持続する。
【００５５】
図９は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、ドラッグ／ドロップ操作の完了に応じて、選択オブジェクトが移動されることになるということを表している。
【００５６】
２回以上のアクションがとられることになる場合には、図４〜図９のアイコンなどのさまざまなフィードバックインスタンスを組み合わせることができる。例えば、図１０は、処理中のドラッグ／ドロップ操作の最中に生じる可能性がある視覚的なフィードバックの一例を示しており、この視覚的なフィードバックは、ドラッグ／ドロップ操作の完了に応じて、ある複数のアクションがとられることになるということを表している。この例においては、処理中のドラッグ／ドロップ操作の完了に応じて、選択オブジェクトがコピーされること、そのプロパティのうちの少なくとも１つが追加、削除、または修正されること、および新たな持続型自動リストが作成されること、という３つのアクションがとられることになる。この例においては、さまざまなアイコンを横に並べて示しているが、それらのアイコンを縦に、または他の任意の手法で並べることもできる。
【００５７】
図５に示されているフィードバックは例外として、これらのフィードバックインスタンスのそれぞれは、選択オブジェクトがターゲットの近くに移動したこと（例えば、ターゲットのしきい値の距離内に移動したこと、またはターゲットに重なったこと）に応じて、ユーザに提示することができる。例えば、図１１を参照すると、スクリーン１１００が示されており、ここでは、ユーザが、カーソル１１０３を使用して、選択オブジェクト１１０１をターゲットオブジェクト１１０２上へドラッグしようとしている。図１２を参照すると、選択オブジェクト１１０１が既にドラッグされて、もうターゲットオブジェクト１１０２の近くにある（実際は、この場合には、ターゲットオブジェクト１１０２と重なっている）。これに応じて、フィードバック１２０１が、カーソル１１０３の近くに提示されている。別の方法として、または追加として、図１３を参照すると、もともとあるステイタスバー内に、またはポップアップウィンドウ内になど、カーソル１１０３の位置とは無関係なスクリーン１１００上の場所に、フィードバック１３０１を提示することもできる。
【００５８】
既に述べたように、ユーザに提供される特定のフィードバックは、ドラッグ／ドロップ操作の完了において、どのアクションがとられることになるかによって決まる。提供することができるフィードバックの一例を、図２の表の「アイテム」の行に関連して、図１４に示す。アイテム１４０１が、同一ボリューム内のフォルダ１４０２上にドラッグされる場合は、図９のようなフィードバックが提供され、アイテム１４０１をフォルダ１４０２へドロップするとアイテム１４０１がフォルダ１４０２内へ移動されることになることを表す。アイテム１４０１が、異なるボリューム内のフォルダ１４０３上にドラッグされる場合は、図４のようなフィードバックが提供され、アイテム１４０１をフォルダ１４０３へドロップするとアイテム１４０１がフォルダ１４０３内へコピーされることになることを表す。アイテム１４０１が、同一ボリューム内のリスト１４０４上にドラッグされる場合は、図６のようなフィードバックが提供され、アイテム１４０１をリスト１４０４へドロップするとアイテム１４０１への参照がリスト１４０４に追加されることになることを表す。アイテム１４０１が、異なるボリューム内のリスト１４０５上へドラッグされる場合も、同じことが表される。アイテム１４０１が持続型自動リスト１４０５上へドラッグされ、アイテム１４０１が持続型自動リスト１４０５の範囲内にある場合は、図７のようなフィードバックが提供される。このようなフィードバックは、アイテム１４０１を持続型自動リスト１４０５にドロップすると、アイテム１４０１の１つまたは複数のプロパティが修正されることになり、それによってアイテム１４０１が持続型自動リスト１４０５内に列挙されることになるということを表す。アイテム１４０１が持続型自動リスト１４０６上へドラッグされ、アイテム１４０１が持続型自動リスト１４０５の範囲外にある場合には、図４および図７のようなフィードバックが提供される。このようなフィードバックは、アイテム１４０１を持続型自動リスト１４０５にドロップすると、アイテム１４０１がその範囲内の場所にコピーされ、アイテム１４０１のコピーの１つまたは複数のプロパティが修正され、それによってアイテム１４０１のコピーが持続型自動リスト１４０５内に列挙されることになるということを表す。
【００５９】
図１５〜図１８を参照すると、プレビューフィードバックは、追加として、または別の方法としてとられることになるそれぞれのアクションの詳細をさらに十分に説明するテキストの説明を含むことができる。例えば、図１５のフィードバックインスタンスは、選択されたアイテムのプロパティが変更されることになり、特に、「Projects」および「Work」というラベルがアイテムの組込みプロパティとして追加されることになることを、ユーザに表す。図１６のフィードバックインスタンスは、選択されたアイテムがコピーされ、そのプロパティが修正されることになり、特に、選択されたアイテムがDesktopにコピーされ、「Urgent」および「Personal」というラベルが選択されたアイテムの組込みプロパティとして追加されることになるということを、ユーザに表す。
【００６０】
図１７のフィードバックインスタンスも、詳細な情報をユーザに提供する。このケースでは、選択されたアイテムは、Client Work Folderという場所にコピーされ、表示されたさまざまなラベルは、アイテムに対するプロパティとして追加されることになる。図１７のように、説明のテキストが長くなりすぎる場合には、図示されているように、テキストを徐々に消していくことができるということに留意されたい。図１８のフィードバックインスタンスは、ドラッグ／ドロップ操作が機能しないということだけでなく、ドラッグ／ドロップ操作がなぜ機能しないのかということも表す。この例において、操作が機能しないのは、ドキュメントしか参照できないという基準を定義している持続型自動リスト上に、ドキュメントでないものをドラッグしているからである。
【００６１】
（階層内の子オブジェクトへのドラッグ／ドロップ）
ここまでは、ドラッグ中にターゲットオブジェクトがスクリーン上に表示されていることを想定してきた。しかし、本明細書における論考はすべて、そのようなオブジェクトの子供で、ドラッグの開始時にスクリーン上に表示されていない、ターゲットオブジェクトへのドラッグにも適用することができる。例えば、フォルダ、リスト、または持続型自動リストなどの主たるオブジェクトは、子オブジェクトを含むことができる。ユーザは、たとえ現に主たるオブジェクトしか表示されていない場合でも、選択オブジェクトを子オブジェクトの１つにドロップすることを望むことがありうる。これは、図１９〜図２３を参照して例示的に説明するように行うことができる。
【００６２】
図１９においては、ユーザは、ドラッグするためにオブジェクト１９０１を選択することができる。ユーザが、オブジェクト１９０１をフォルダ１９０２の子オブジェクト上にドロップすることを決めると想定されたい。したがって、図２０を参照すると、ユーザは、オブジェクト１９０１をフォルダ１９０２上にドラッグする。これに応じて、コンピュータ１００は、フォルダ１９０２内に含まれる子オブジェクトを列挙するウィンドウ２００１を表示する。図２１を参照すると、ユーザはそれから、オブジェクト１９０１をウィンドウ２００１上で下にドラッグして、そこに列挙されている特定の子オブジェクトを希望に応じて選択することができる。オブジェクト１９０１が、それぞれの子オブジェクト上にドラッグされると、適切なプレビューフィードバックをユーザに提供することができる。例えば、オブジェクト１９０１が、列挙された最初の子オブジェクト（「Persisted AutoList A」）上にドラッグされる場合、プレビューフィードバック２１０１は、オブジェクト１９０１がPersisted AutoList Aにドロップされると、オブジェクト１９０１のプロパティが、そのKeywordプロパティに「Work」を、およびそのClientプロパティに「Client XYZ」を追加するように修正されることになるということを表す。これはおそらく、Persisted AutoList Aが、自分の参照するいかなるオブジェクトについてもこれらのプロパティを必要とするという基準を定義しているためである。
【００６３】
ユーザが、オブジェクト１９０１をウィンドウ２００１上で下へドラッグし続けるにつれて、オブジェクト１９０１は、図２２に示されているように、いずれリストＥ上に置かれる可能性がある。このケースでは、プレビューフィードバック２２０１が提示され、オブジェクト１９０１をリストＥ上にドロップすると、オブジェクト１９０１はリストＥによって参照されることになるということを表す。ユーザは、そうすることを選択することができる。ユーザは、ウィンドウ２００１内に示されているいずれの子オブジェクトにもオブジェクト１９０１をドロップせず、代わりにドラッグ／ドロップを中止するか、または完全に異なるフォルダ上へドラッグすることを選択することもできる。このケースでは、ユーザは、図２３に示されているように、フォルダ１９０２およびウィンドウ２００１から離れたところにオブジェクト１９０１をドラッグすることができる。図示されているように、フォルダ１９０２および／またはウィンドウ２００１から離れたところにオブジェクト１９０１をドラッグすることに応じて、ウィンドウ２００１は、自動的に消える。これは、フォルダ、リスト、持続型自動リストなどのコンテナオブジェクト（container object）を手動で開閉する必要なく、オブジェクトを、階層内の深くに配置された他のオブジェクト上へドロップするための、ユーザにとって、便利な方法を提供することができる。
【００６４】
（結論）
このように、電子ファイルシステム内でオブジェクトを管理する改善された方法について説明した。本開示のさまざまな態様に従って、ドラッグ／ドロップ操作は、例えば、リスト、持続型自動リスト、およびスタックという概念を取り扱うための強力なツールとなっている。さらに、この高まりつつある機能、およびその機能に起因する複雑さを対処するために、ユーザは、ドラッグ／ドロップ操作が完了したことに応じて異なる可能なアクションのいずれがとられることになるかをプレビューすることができる。
【図１】
0005529205.tif 000002
【図２】
0005529205.tif 000003
【図３】
0005529205.tif 000004
【図４】
0005529205.tif 000005
【図５】
0005529205.tif 000006
【図６】
0005529205.tif 000007
【図７】
0005529205.tif 000008
【図８】
0005529205.tif 000009
【図９】
0005529205.tif 000010
【図１０】
0005529205.tif 000011
【図１１】
0005529205.tif 000012
【図１２】
0005529205.tif 000013
【図１３】
0005529205.tif 000014
【図１４】
0005529205.tif 000015
【図１５】
0005529205.tif 000016
【図１６】
0005529205.tif 000017
【図１７】
0005529205.tif 000018
【図１８】
0005529205.tif 000019
【図１９】
0005529205.tif 000020
【図２０】
0005529205.tif 000021
【図２１】
0005529205.tif 000022
【図２２】
0005529205.tif 000023
【図２３】
0005529205.tif 000024