(57)【要約】  スタートメニュー［３２７］のようなオペレーティングシステムプログラム起動メニュー［３１５］は、ユーザが、プログラム、データファイル、ストレージロケーションなど所望のデータアイテムを迅速かつ効率的に探し出し、起動できるような様々な機構を提供する。プログラム起動メニュー［３１５］内の検索ボックス［５０５］を使用して、プログラム、ドキュメント、通信、およびその他のデータアイテムを迅速に探し出すことが可能である。例えばユーザが、ユーザによって入力された検索テキストに関して検索するロケーションを限定する際、オートコンプリートフィーチャを使用することが可能である。最も一般的に使用されるプログラムリストは、使用の頻度と最近の使用をともに含む様々な基準に基づいたプログラムを含むことが可能であり、従って最近に使用されたアイテムを常に含む。Ａｌｌ  Ｐｒｏｇｒａｍｓビューは、プログラム起動メニュー［３１５］の元の境界内のホストされたツリービューにおいて、プログラムおよびドキュメントを表示することが可能であり、ディスプレイデバイス上に表示されたデスクトップ［３０３］の大きい部分の上でサブメニューを開く必要性をなくす。
2008535052.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステム上に格納された選択可能なアイテムを探し出すための方法であって、
コンピュータディスプレイデバイス上に表示されるプログラム起動メニュー内で検索テキスト入力インターフェースを表示するステップを含むことを特徴とする方法。
【請求項２】
前記プログラム起動メニューは、スタートメニューを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記プログラム起動メニューの事前定義された領域内で検索結果を表示することをさらに含み、前記検索結果は、前記検索テキスト入力インターフェースを介してユーザから受けたテキスト入力と合致する選択可能なアイテムを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記検索テキスト入力インターフェースの中に前記ユーザによってさらなるテキストが入力されるごとに、新規の検索を実行するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記特定するステップは、最後に受けたテキスト入力以来、所定の時間が経過したことを検出することを含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記表示するステップは、合致するそれぞれの選択可能なアイテムのタイプに応じて、前記検索結果を１つまたは複数のグループに構成することを含むことを特徴とする請求項３に記載の方法。
【請求項７】
前記グループは、プログラム、ファイル、インターネットロケーション、および通信を含むグループのセットからの少なくとも２つのグループを含むことを特徴とする請求項６に記載の方法。
【請求項８】
選択可能なアイテムは、前記選択可能なアイテムのメタデータが前記テキスト入力を含む場合、前記テキスト入力と合致することを特徴とする請求項３に記載の方法。
【請求項９】
前記メタデータは、アイテム名を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記メタデータは、アイテム作成者を含むことを特徴とする請求項８に記載の方法。
【請求項１１】
選択可能なアイテムは、前記選択可能なアイテムの内容が前記テキスト入力を含む場合、前記テキスト入力と合致することを特徴とする請求項３に記載の方法。
【請求項１２】
各アイテムの変更の日付／時刻に基づいて各グループ内のアイテムを順序付けるステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項１３】
各アイテムが、前記テキスト入力とどのように合致するかに基づいて各グループ内のアイテムを順序付けるステップをさらに含むことを特徴とする請求項６に記載の方法。
【請求項１４】
トップ検索結果に選択フォーカスを自動的に与えるステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項１５】
実行されると請求項１に記載の方法を実行するコンピュータ実行可能命令を格納することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１６】
コンピュータシステム上で実行されると、前記コンピュータシステム上に格納されたアイテムを起動するためのキーボードショートカットを提供するための、
（ａ）前記コンピュータシステムに直接にまたは間接的に接続されたキーボード上のプログラム起動メニューキーをユーザが押したことを検出すると、前記コンピュータシステムに直接にまたは間接的に接続されたディスプレイデバイス上でプログラム起動メニューを表示するステップと、
（ｂ）前記プログラム起動メニューを表示すると、前記コンピュータディスプレイデバイス上に表示された前記プログラム起動メニュー内の検索テキスト入力ボックスに入力フォーカスを自動的に与えるステップと、
（ｃ）前記プログラム起動メニューの事前定義された領域内で検索結果を表示するステップであって、前記検索結果は、前記検索テキスト入力ボックスを介して前記ユーザから受け取られたテキスト入力と合致する選択可能なアイテムを含む、検索結果を表示するステップステップと、
（ｄ）トップ検索結果に選択フォーカスを自動的に与えるステップと、
（ｅ）前記トップ検索結果が選択フォーカスを有する間に事前定義されたユーザ入力を受け取ると、前記トップ検索結果に対応する選択可能なアイテムを起動するステップとを含む方法を実行するコンピュータ実行可能命令を格納することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項１７】
前記方法は、前記検索結果を表示することに先立って、前記ユーザがテキスト入力の提供をいつ終えたかを特定することをさらに含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１８】
ステップ（ｃ）は、前記検索テキスト入力ボックスを介して前記ユーザからテキスト入力を受けるたびに、前記プログラム起動メニューの前記事前定義された領域内で新たな検索結果を自動的に表示することを含むことを特徴とする請求項１６に記載のコンピュータ可読媒体。
【請求項１９】
実行されると、プログラム起動メニューを提供するための方法であって、
（ａ）プログラム起動メニューをコンピュータシステムのディスプレイデバイス上に表示するステップであって、前記プログラム起動メニューは少なくとも３つのビュー、すなわち、
ｉ）ユーザがナビゲート可能な構造内ですべてのアプリケーションプログラムを表示するための第１のビューと、
ｉｉ）最近に閲覧されたアイテム、および最近に使用されたアイテムを含め、最も一般的に使用される選択可能なアイテムを表示するための第２のビューと、
ｉｉｉ）プログラム起動メニュー内に表示された検索テキスト入力ボックスを介してユーザから受けたテキスト入力と合致する選択可能なアイテムを含む検索結果を表示するための第３のビューと
を表示することができる、表示するステップと、
（ｂ）前記検索テキスト入力インターフェースの中にテキスト入力がまったく存在しない場合にトグルコントロールを介してユーザ入力を受けると、前記第１のビューと前記第２のビューの間で切り替えるステップと、
（ｃ）前記検索テキスト入力インターフェースを介してテキスト入力を受けた場合にはいつでも、前記第３のビューを自動的に表示するステップとを含む方法を実行するコンピュータ可読命令を格納することを特徴とする１つまたは複数のコンピュータ可読媒体。
【請求項２０】
前記プログラム起動メニューサイズ変更するというユーザ入力を明示的に受け取った場合にだけ、前記プログラム起動メニューのサイズを変更することをさらに含むことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願の開示の一部は、著作権保護の対象である資料を含む。本著作権所有者は、米国特許商標局の特許ファイルまたは特許記録に現れるとおりの、本特許出願または本特許開示を何人が正確に複写することにも異議はないが、それ以外、すべての著作権を保留する。
【０００２】
本発明は、一般に、コンピュータおよびコンピュータオペレーティングシステムに関する。より具体的には、本発明は、オペレーティングシステムのプログラム起動メニューのグラフィカルユーザインターフェースにおける検索ボックスおよび検索能力のための方法およびシステムを提供する。
【背景技術】
【０００３】
コンピュータオペレーティングシステムは、近年、大幅に進化してきた。通常、それらのシステムは、エンドユーザにＧＵＩ（グラフィカルユーザインターフェース）を提供するシェルを有する。シェルは、ユーザとオペレーティングシステムの間で直接の通信を提供する１つのソフトウェアコンポーネント、またはソフトウェアコンポーネントの組合せからなる。コンピュータハードウェア、例えば、メモリ、ハードドライブ、プロセッサ、グラフィックスカード、システムバスなどにおける速度の向上により、ユーザにより容易に理解されやすいより豊かなＧＵＩが可能になっている。付随するハードウェア価格の低下により、コンピュータシステムがより手頃になり、生産性ツールおよびマルチメディアシステムとしてのコンピュータの広範な採用が可能になった。ＧＵＩは、教育を受けていないまたはコンピュータに不慣れである可能性があるユーザでも、デスクトップ、アイコン、ウインドウ、およびアプリケーションの意味、ならびにユーザがそれぞれとどのように対話することができるかを、迅速に、直観的に把握することを可能にした。
【０００４】
図２に示すデスクトップは、最新のＧＵＩに関する標準のグラフィックな喩えとなっている。インターフェースは、デスクで作業する現実世界の活動をモデル化するように設計されている。デスクトップは、通常、一つのディスプレイデバイスの表面全体を占有する、あるいは複数のディスプレイデバイスにまたがることが可能であり、アイコン、メニュー、カーソル、およびウインドウなどの下位のユーザインターフェースオブジェクトをホストする。デスクトップは、複数のドキュメントおよびアプリケーションを開いておくことが可能な基礎作業領域の役割をする。
【０００５】
Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）ＸＰ（登録商標）ブランドまたはＷｉｎｄｏｗｓ（登録商標）２０００（登録商標）ブランドのオペレーティングシステムなどのオペレーティングシステムは、通常、そのオペレーティングシステムのＧＵＩ内で新たなソフトウェアアプリケーションを起動するためのグラフィックの方法を含む。図２は、Ｗｉｎｄｏｗｓ（登録商標）ＸＰオペレーティングシステムにおいて、どのようにこれを達することが可能であるかについての周知の例を示す。スクリーンショット２００は、一辺においてタスクバー２０３によって境界付けられ開いたウインドウ２０２をフィーチャするデスクトップ２０１を表示する。ユーザが、新たなアプリケーションを起動することを所望する場合、ユーザは、マウス、トラックボールなどによって制御されるポインタ（カーソルとも呼ばれる）を動かして、スタートメニュー２０４の中の適切なメニューアイテムをクリックする。スタートメニュー２０４自体、スタートボタン２０５をクリックすることによってまず呼び出される。スタートボタン２０５は、一般に、タスクバー２０３上の固定の位置に配置される。ユーザは、タスクバー２０３の位置を調整することができるが、一旦配置されると、スタートボタン２０５は、ユーザが新たなアプリケーションを起動するための、一定の見慣れた開始点となる。
【０００６】
ユーザが図２のスタートボタン２０５をクリックすると、スタートメニュー２０４が、現在の開いたウインドウ２０２およびデスクトップ２０１の上に、浮動するリストとして現れる。スタートメニュー２０４の後続のサブメニュー２０６は、ユーザが「プログラム」リストアイテムをクリックする、またはその上をさまようことによってトリガされて、さらなる選択肢を示すために最初のスタートメニューの上で右側に現れる。
【０００７】
図２に示すような、ポップアップメニューを使用してすべてのプログラムを表示するプログラム起動メニュー（例えば、スタートメニュー）はこれまで、メニューの整理、およびユーザが実行することができる機能において限られていた。ユーザが深いフォルダ構造を有する非常に長いリストの中を移動するのが、困難であることがある。ユーザは、プログラム起動メニューの中で所望されるアプリケーションまたはドキュメントを見つけようと試みている際、しばしば苛立たせられる。というのは、プログラム起動メニューの中の情報は、しばしば散らかっており整理されておらず、ユーザはしばしば、大きい散らかった起動メニューの中を移動するなかで、フォルダを誤って開くまたは閉じてしまうからである。さらに、大きいポップアップメニューはしばしば、ユーザに見た目が悪い感じを与え、プログラム起動メニュー内にあまりうまく入るように設計されているように見えない。ユーザは、ユーザのプログラム起動メニューを手作業で整理して、散らかりの少なくともいくらかを最小限に抑えることができるが、そうすることは面倒であり時間がかかり、すべてのユーザがどのようにユーザのプログラム起動メニューを整理するかを知っている経験レベルにあるわけではない。
【０００８】
プログラム起動メニューにおいて使用されてきた１つの整理フィーチャは、ＭＦＵ（最も頻繁に使用される）アイテムまたはＭＲＵ（最近に使用された）アイテムへのショートカットのリストを提供することである。しかし、ＭＦＵリストおよびＭＲＵリストは、ユーザが現在、所望しているアプリケーションおよび／またはドキュメントを必ずしも正確に反映しているとは限らない。例えばＭＦＵリストは、最近に使用されたドキュメントまたはアプリケーションを必ずしも表示せず、ＭＲＵリストは、頻繁に使用されるドキュメントまたはアプリケーションを必ずしも表示しない。
【０００９】
このため、プログラム起動メニューが、より直観的な整理をもたらし、ユーザが所望されるアプリケーションまたはドキュメントをより効率的に見つけることを可能にするフィーチャを提供する、オペレーティングシステムにおけるプログラム起動メニューを提供することが、当技術分野における進歩である。
【００１０】
以下に、本発明のいくつかの態様の基本的な理解をもたらすために、本発明の簡略化した要約を提示する。この要約は、本発明の幅広い概説ではない。この要約は、本発明の重要な要素、もしくは不可欠な要素を明らかにすること、または本発明の範囲を線引きすることを意図していない。以下の要約は、後段で提供されるより詳細な説明の前置きとして、単に本発明のいくつかの概念を簡略化された形態で提示するに過ぎない。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
前述した先行技術における限界を克服するとともに、本明細書を読み理解することで明らかとなるその他の限界を克服するために、本発明の様々な例示的な態様は、例えば、プログラム起動メニュー内の改良された検索ファシリティ、プログラム起動メニュー内の選択可能なアイテムの間で移動する改良された能力、プログラム起動メニュー内の一般的に使用されるアイテムのリスト上に現れるアイテムを選択するための改良されたヒューリスティックを含むが以上には限定されない、プログラム起動メニューおよびプログラム起動メニューの改良を対象とする。
【課題を解決するための手段】
【００１２】
本発明の例示的な態様によれば、コンピュータが、コンピュータプログラムのメニューの中の履歴上、選択されたアイテムのリストを表示するための方法の実行を支援することが可能である。方法は、ＭＦＵ（最も頻繁に使用される）アイテムを特定すること、ＭＲＵ（最近に使用されたアイテム）を特定すること、およびメニューの中のリスト内のＭＦＵアイテムおよびＭＲＵアイテムをコンピュータディスプレイデバイス上で表示することを含むことが可能である。メニューは、オプションとして、スタートメニューなどの、プログラム起動メニューであることが可能である。ＭＲＵアイテムおよびＭＦＵアイテムの選択はオプションとして、それぞれの選択可能なアイテムに関連するいくつかの使用ポイントに基づくことが可能であり、最高の使用ポイント数を有するアイテムが、リストに含められる。使用ポイントは、アイテムがユーザによって使用された際にポイントを足し、アイテムが、ユーザによって使用されないままであるとポイントを引くことにより、決定されることが可能である。アイテムが使用されると、オプションとして、例えばリスト上の前に含められた最後のアイテムの使用ポイントと等しくなるのに十分な使用ポイントを足すことにより、そのアイテムがリストに含められることを確実にするのに十分な使用ポイントを受け取ることが可能である。
【００１３】
本発明の別の例示的な態様によれば、１つまたは複数のコンピュータ可読媒体が、オペレーティングシステムのプログラム起動メニューの中に表示するためのアイテムを選択するためのコンピュータソフトウェアを格納する。方法は、複数のアイテムのそれぞれに初期の使用ポイント数を割り当てることにより、プログラム起動メニューに含められることが可能な複数のアイテムのそれぞれに対応する使用ポイント数を決定することを含む。複数のアイテムの１つがオペレーティングシステム内で起動されると、ソフトウェアが、そのアイテムに対応する使用ポイントを増加させる。ソフトウェアは、１つまたは複数の所定の期間にわたってオペレーティングシステム内で起動されなかったアイテムに対応する使用ポイントを減少させる。ソフトウェアは、複数のアイテムのうち所定の数のアイテムを、最大の使用ポイント数を有するものと特定し、それら特定されたアイテムをプログラム起動メニューの中で表示する。
【００１４】
本発明の例示的な態様によれば、スタートメニューなどのプログラム起動メニューが、コンピュータシステム上のユーザが選択可能なアイテムを探し出すのに使用することが可能な検索テキスト入力ボックスを、コンピュータディスプレイデバイス上に表示されたプログラム起動メニュー内で表示する。本発明の様々な態様は、プログラム起動メニュー内での検索結果の表示を可能にすることができ、検索結果は、検索テキスト入力ボックスを介してユーザから受け取られたテキスト入力と合致する選択可能なアイテムを明らかにする。検索結果は、オプションとして、合致するそれぞれの選択可能なアイテムのタイプ、例えば、アプリケーション、ドキュメント、インターネット、通信などに応じて、グループ化されてもよく、さらに、オプションとして、変更の日付などの１つまたは複数の２次的基準に基づき、各グループ内でランク付けされてもよい。本発明の様々な態様によれば、検索は、適宜、それぞれの選択可能なアイテムのメタデータに対して、または選択可能なアイテムの内容のフルテキスト検索に対して行われることが可能である。
【００１５】
本発明の例示的な態様によれば、１つまたは複数のコンピュータ可読媒体が、コンピュータシステム上に格納されたアイテムを起動するためのキーボードショートカットを提供するためのコンピュータソフトウェアを格納する。ユーザが、コンピュータシステムに直接に、または間接的に接続されたキーボード上のプログラム起動メニューキーを押したことを検出すると、コンピュータは、コンピュータシステムに直接にまたは間接的に接続されたディスプレイデバイス上でプログラム起動メニューを表示する。プログラム起動メニューを表示すると、コンピュータは、コンピュータディスプレイデバイス上に表示されたプログラム起動メニュー内の検索テキスト入力ボックスに入力フォーカスを自動的に提供する。コンピュータは、プログラム起動メニューの事前定義された領域内で検索結果を表示し、検索結果は、検索テキスト入力ボックスを介してユーザから受け取られたテキスト入力と合致する選択可能なアイテムを含み、トップ検索結果に選択フォーカスを自動的に与える。コンピュータは、トップ検索結果が選択フォーカスを有する間に、例えば＜Ｅｎｔｅｒ＞などの事前定義されたユーザ入力を受け取ると、トップ検索結果に対応する選択可能なアイテムを起動する。
【００１６】
本発明のさらに別の例示的な態様によれば、１つまたは複数のコンピュータ可読媒体が、プログラム起動メニューを提供するためのソフトウェアを格納することができる。ソフトウェアは、コンピュータシステムのディスプレイデバイス上でプログラム起動メニューを表示することができ、プログラム起動メニューは、少なくとも３つのビューを表示することができる。第１のビューは、ユーザがナビゲート可能な構造内ですべてのアプリケーションプログラムを表示することが可能である。第２のビューは、最近に閲覧されたアイテム、および最も頻繁に使用されるアイテムを含め、最も一般的に使用される選択可能なアイテムを表示することが可能である。第３のビューは、プログラム起動メニュー内に表示された検索テキスト入力ボックスを介してユーザから受け取られたテキスト入力と合致する選択可能なアイテムの検索結果を表示することが可能である。ユーザは、コンピュータスクリーン上に表示されたトグルコントロールを使用して、それらのビューを切り替えることができる。ユーザが検索ボックスの中にテキストを入力した場合、検索結果を自動的に表示することが可能である。
【００１７】
本発明の別の例示的な態様によれば、コンピュータディスプレイデバイス上で、コンピュータシステム上で実行されるオペレーティングシステムのプログラム起動メニューの中で選択可能なアイテムのリストを表示する方法が、存在する。方法は、コンピュータディスプレイデバイス上で、複数の選択可能なアイテムが表示され得る事前定義された領域を有するプログラム起動メニューを表示することを含み、複数の選択可能なアイテムは、階層に従って構成され、各アイテムは、拡張可能なアイテムと起動可能なアイテムのいずれかを含む。方法は、事前定義された領域内で、複数の選択可能なアイテムの第１のサブセットを最初に表示することができ、第１のサブセットの中のそれぞれの選択可能なアイテムは、階層のトップレベルにある。ユーザが第１のサブセットの中の第１の拡張可能なアイテムを選択したことに応答して、方法は、事前定義された領域内でアイテムを再配置して、複数の選択可能なアイテムの第２のサブセットを事前定義された領域内で階層表示するスペースをつくり、第２のサブセットは、第１の拡張可能なアイテムの１つまたは複数の子アイテムを含む。方法は、ユーザが事前定義された領域内に表示された起動可能なアイテムを選択したことに応答して、その起動可能なアイテムに関連するプログラムアプリケーションを実行する。選択可能なアイテムの表示は、オプションとして、アイテムのホストされた、またはネスト化されたツリービューであってもよい。
【００１８】
本発明の別の例示的な態様によれば、１つまたは複数のコンピュータ可読媒体が、コンピュータディスプレイデバイス上に表示されたプログラム起動メニューの事前定義された領域内で、複数の選択可能なメニューアイテムのネスト化されたまたはホストされたツリービューを表示するためのコンピュータソフトウェアを格納する。
【００１９】
本発明の別の例示的な態様によれば、コンピュータシステムが、プログラム起動メニューのコンピュータによるサイズ変更不能な事前定義された領域内で、複数の選択可能なアイテムのネスト化されたツリービューを表示する、格納されたソフトウェアを含む。オプションとして、ユーザが、ネスト化されたツリービューの中で第１の拡張可能なアイテムを選択したことに応答して、ソフトウェアは、事前定義された領域内でアイテムを再配置して、複数の選択可能なアイテムのサブセットを、事前定義された領域内で階層表示するスペースをつくり、サブセットは、第１の拡張可能なアイテムの１つまたは複数の子アイテムを含む。ソフトウェアは、事前定義された領域内に表示された複数の選択可能なアイテムからの、ユーザによって選択される起動可能なアイテムに対応するアプリケーションプログラムを起動することができる。
【００２０】
本発明のより完全な理解、および本発明の利点は、同様の符号が同様の特徴を示す、添付の図面を考慮して、以下の説明を参照することにより、得ることができる。
【発明を実施するための最良の形態】
【００２１】
様々な実施形態の以下の説明では、本明細書の一部を成し、本発明が実施されることが可能な様々な実施形態が例として示される添付の図面を参照する。本発明の範囲を逸脱することなく、他の諸実施形態が、利用されることが可能であり、構造上、および機能上の変形が行われることが可能であることを理解されたい。
【００２２】
例示的な動作環境
図１は、本発明が実施されることが可能な適切なコンピューティング環境１００の例を示す。コンピューティング環境１００は、適切なコンピューティング環境の一例に過ぎず、本発明の用途または機能の範囲について、何ら限定を示唆するものではない。また、コンピューティング環境１００が、例示的な動作環境１００に示されるいずれかのコンポーネント、またはコンポーネントの組合せと関係する依存関係または要件を有するものとも解釈してはならない。
【００２３】
本発明は、他の多数の汎用または専用のコンピューティングシステム環境またはコンピューティングシステム構成で機能する。本発明で使用するのに適する可能性がある周知のコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成の例には、パーソナルコンピュータ、サーバコンピュータ、ＰＤＡ（パーソナルデジタルアシスタント）、タブレットＰＣ、またはラップトップＰＣのようなポータブルデバイスおよびハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、ゲームコンソール、以上のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００２４】
本発明は、コンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈で説明することが可能である。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。また、本発明は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散コンピューティング環境において実行することも可能である。分散コンピューティング環境では、プログラムモジュールは、メモリストレージデバイスを含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置されることが可能である。
【００２５】
図１を参照すると、本発明を実施するための例示的なシステムが、コンピュータ１１０の形態で汎用コンピューティングデバイスを含む。コンピュータ１１０のコンポーネントには、処理装置１２０、システムメモリ１３０、ならびにシステムメモリ１３０を含む様々なシステムコンポーネントを処理装置１２０に結合するシステムバス１２１が含まれるが、以上には限定されない。システムバス１２１は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであってもよい。限定としてではなく例として、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス、およびメザニン（Ｍｅｚｚａｎｉｎｅ）バスとしても知られるＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００２６】
コンピュータ１１０は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。限定としてではなく例として、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の格納のために任意の方法または技術で実装される、揮発性媒体および不揮発性媒体、リムーバブルな媒体およびリムーバブルでない媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤまたは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは所望の情報を格納するのに使用できコンピュータ１１０がアクセスできる他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構で、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを実体化し、あらゆる情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で特性の１つまたは複数が設定または変更されている信号を意味する。限定としてではなく例として、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、ＲＦ媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。また、以上のいずれかの媒体の組合せも、コンピュータ可読媒体の範囲内に含められなければならない。
【００２７】
システムメモリ１３０は、ＲＯＭ（読み取り専用メモリ）１３１やＲＡＭ（ランダムアクセスメモリ）１３２などの揮発性メモリおよび／または不揮発性メモリの形態のコンピュータ記憶媒体を含む。起動中などにコンピュータ１１０内部の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（基本入出力システム）１３３は、通常、ＲＯＭ１３１の中に格納される。ＲＡＭ１３２は、通常、処理装置１２０が即時にアクセスすることができ、かつ／または処理装置１２０が現在、処理しているデータおよび／またはプログラムモジュールを含む。限定としてではなく例として、図１は、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２８】
また、コンピュータ１１０は、他のリムーバブルな／リムーバブルでない、揮発性／不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図１は、リムーバブルでない不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ１４１、リムーバブルな不揮発性の磁気ディスク１５２に対して読み取りまたは書き込みを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などのリムーバブルな不揮発性の光ディスク１５６に対して読み取りまたは書き込みを行う光ディスクドライブ１５５を示す。例示的な動作環境において使用することができる、他のリムーバブルな／リムーバブルでない、揮発性／不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれるが、以上には限定されない。ハードディスクドライブ１４１は、通常、インターフェース１４０のようなリムーバブルでないメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は、通常、インターフェース１５０のようなリムーバブルなメモリインターフェースでシステムバス１２１に接続される。
【００２９】
前述し、図１に示すドライブ群、および関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータのストレージをコンピュータ１１０に提供する。図１では、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、その他のプログラムモジュール１４６、およびプログラムデータ１４７を格納しているものとして示されている。以上のコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、その他のプログラムモジュール１３６、およびプログラムデータ１３７と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７に、ここでは、少なくともそれらが異なるコピーであることを示すように、異なる符号が与えられている。ユーザは、キーボード１６２や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス１６１などの入力デバイスを介して、コマンドおよび情報をコンピュータ１１０に入力することができる。他の入力デバイス（図示せず）には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことが可能である。以上、およびその他の入力デバイスは、しばしば、システムバスに結合されたユーザ入力インターフェース１６０を介して処理装置１２０に接続されるが、パラレルポート、ゲームポート、ＵＳＢ（ユニバーサルシリアルバス）、またはＩＥＥＥ１３９４シリアルバス（ＦｉｒｅＷｉｒｅ）などの、他のインターフェースおよびバス構造で接続されてもよい。また、少なくとも１つのモニタ１８４、または他のタイプのディスプレイデバイスが、ビデオアダプタ１８３のようなインターフェースを介して、システムバス１２１に接続されることも可能である。ビデオアダプタ１８３は、独自の専用プロセッサおよびメモリを有することに加え、高性能の３Ｄグラフィックス能力をサポートすることが可能である。また、コンピュータ１１０は、ユーザが、スタイラス入力デバイス１８６を使用して入力を与えることを可能にするデジタイザ(digitizer)１８５も含むことが可能である。モニタに加えコンピュータは、出力周辺インターフェース１８７を介して接続されることが可能な、スピーカ１８９やプリンタ１８８などの他の周辺出力デバイスも含むことが可能である。
【００３０】
コンピュータ１１０は、リモートコンピュータ１８０のような１つまたは複数のリモートコンピュータに対する論理接続を使用する、ネットワーク化された環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピュータ１１０に関連して前述した要素の多くまたはすべてを含むが、メモリストレージデバイス１８１だけが、図１に示されている。図１に示す論理接続には、ＬＡＮ（ローカルエリアネットワーク）１７１およびＷＡＮ（ワイドエリアネットワーク）１７３が含まれるが、他のネットワークも含むことが可能である。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的である。
【００３１】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインターフェースまたはネットワークアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２、または他の手段を含む。内部にあることも、外部にあることも可能なモデム１７２は、ユーザ入力インターフェース１６０、または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク化された環境では、コンピュータ１１０に関連して示したプログラムモジュール、またはプログラムモジュールの諸部分は、リモートメモリストレージデバイスの中に格納することができる。限定としてではなく例として、図１は、リモートアプリケーションプログラム１８２がメモリデバイス１８１上に存在するものとして示す。図示したネットワーク接続は例示的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることを理解されたい。
【００３２】
本発明の１つまたは複数の態様は、１つまたは複数のコンピュータまたは他のデバイスによって実行される１つまたは複数のプログラムモジュールとしてなど、コンピュータ実行可能命令として実現することが可能である。一般にプログラムモジュールには、コンピュータ内または他のデバイス内のプロセッサによって実行されると特定のタスクを実行する、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。コンピュータ実行可能命令は、ハードディスク、光ディスク、リムーバブルな記憶媒体、ソリッドステートメモリ、ＲＡＭなどのコンピュータ可読媒体上に格納することが可能である。当業者には理解されるとおり、プログラムモジュールの機能は、所望に応じて、様々な実施形態において組み合わされても、分散されてもよい。さらにその機能は、全体としてまたは部分的に、集積回路、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）などのファームウェア均等物またはハードウェア均等物で実現されてもよい。
【００３３】
例示的な諸実施形態
図３は、本発明の例示的な実施形態によるサンプルスクリーンショット３０１を示す。図３のスクリーンショットは、一辺においてタスクバー３０９によって境界付けられ、開いたウインドウ３０７をフィーチャするデスクトップ３０３を表示する。デスクトップ３０３は、アプリケーション、ストレージロケーション、または他の起動可能なアイテムおよび／またはナビゲート可能な（ｎａｖｉｇａｂｌｅ）アイテムを表すアイコン３０５ａ、３０５ｂ、３０５ｃを含め、他の要素も含むことが可能である。タスクバー３０９は、開いたウインドウ３０７に対応するアプリケーションボタン３１３、およびクイック起動領域３１４を含め、さらなる要素を含むことが可能である。
【００３４】
ユーザが新たなアプリケーションを起動すること所望する場合、ユーザは、マウスやトラックボールなどによって制御されるポインタ（カーソルとも呼ばれる）を動かし、起動メニュー３１５（本明細書で、スタートメニューとも呼ぶ）の中の適切なメニューアイテムをクリックし、メニュー３１５自体、まず、スタートボタン３１１をクリックすることによって呼び出される。スタートメニューは、代替として、ユーザが、接続されたキーボード１６２上の、例えばＷｉｎｄｏｗｓ（登録商標）キー（図示せず）などの特別なキーを押すことにより起動されてもよい。スタートボタン３１１は、一般にタスクバー３０９上の固定の位置に配置される。ユーザは、タスクバー３０９の位置を調整することができるが、一旦配置されるとスタートボタン３１１は、ユーザが新たなアプリケーションを起動する、一定の見慣れた開始点となる。
【００３５】
ユーザが、図３のスタートボタン３１１をクリックすると、スタートメニュー３１５が、現在の開いたウインドウ３０７、およびデスクトップ３０３の上に、浮動するリストとして現れる。スタートメニュー３１５は、様々なアイテム、アイコン、情報、および／またはオプションが、ユーザに提示される、複数の区域または領域を含むことが可能である。アイテムとは、アプリケーションプログラム、ストレージロケーション、データファイル、ナビゲート可能なＵＲＬ、または他の任意の選択可能な、もしくはアクション可能なデータリファレンスを指すことが可能である。本発明の１つまたは複数の例示的な態様によれば、オペレーティングシステムは、スタートメニュー３１５内で強化された整理能力および検索能力をもたらすように適合されることが可能である。スタートメニュー３１５は、ピンリスト３１７とも呼ばれる、ピン留めされたアイテムを格納する第１の領域３１７を含むことが可能である。ピン留めされたアイテムとは、他のアイテムを選択すること、および／または起動することに関してユーザによって行われるアクションにかかわりなく、スタートメニュー３１５上の固定の位置に留まるアイテムである。デフォルトで、ピンリスト３１７は、オペレーティングシステムおよびＯＥＭ（ｏｒｉｇｉｎａｌ  ｅｑｕｉｐｍｅｎｔ  ｍａｎｕｆａｃｔｕｒｅｒ）アイテムの集合で、あらかじめポピュレート(pre-populate)することが可能である。しかしユーザは、ピンリスト３１７の内容をコントロールでき、例えば、ドラッグアンドドロップ技術を使用して、ピンリスト３１７においてアイテムを追加すること、削除すること、および並べ替えることができる。ユーザが、あるアイテムをピンリスト３１７からドラッグして出した場合、オペレーティングシステムは、ドラッグされたアイテムをピン留め解除したいとユーザが実際に要望することを、ダイアログボックスを介してユーザに確認して、そのアイテムが、ピンリスト３１７から誤ってドラッグされて外されるのではないことを確かめることができる。本発明の一部の態様によれば、アイテムは、コンテキストメニューを介してピン留めされる／ピン留め解除されることが可能であり、コンテキストメニュー自体は、入力デバイスから受け取られる２次的な入力、例えば、アイテムをコンピュータマウスで「右クリックすること」が行われると、提示される。コンテキストメニューを介してピン留めされたアイテムは、デフォルトで、ピンリスト３１７の一番下に現れることが可能である。
【００３６】
スタートメニュー３１５は、本発明の１つまたは複数の例示的な態様によれば、様々な基準に従って動的アイテムリストを提示する第２の領域３１８を含むことが可能である。図３では、領域３１８は、本明細書でＭＣＵリスト３１９とも呼ぶＭＣＵ（最も一般的に使用される）アイテムリスト３１９を表す。ＭＣＵリスト３１９の動作および内容を、以下にさらに説明する。領域３１８は、ピンリスト３１７も含むことが可能である。
【００３７】
スタートメニュー３１５は、一般的に使用されるアイテム、例えば、１次ストレージロケーション、ヘルプ情報、構成アイテムなどをリストアップする第３の領域３２０を含むことが可能である。領域３２０は、本明細書で、クイックリンクリスト３２０またはクイックリンク３２０とも呼ばれることが可能である。クイックリンクリスト３２０は、オプションとして、２つ以上の下位領域３２１、３２３に分割されて、オペレーティングシステムによって定義されたクイックリンク３２１とＯＥＭクイックリンク３２３を区別してもよい。クイックリンクリスト３２０は、下位領域３２１、３２３の間の視覚的セパレータ、および各下位領域内の個々のアイテムの間、またはアイテムのグループの間の視覚的セパレータさえ含み、アイテムのグループを視覚的に区別することが可能である。ピンリスト３１７の場合と同様に、ユーザは、例えば、オペレーティングシステムのコントロールパネル（図示せず）を介して、クイックリンクリスト３２０の内容を管理することができる。
【００３８】
スタートメニュー３１５は、ユーザが、領域３１８内に動的に表示されるビューを選択することを可能にする、ビュー選択ボタンまたはビュー選択コントロール３２５をさらに含むことが可能である。ボタン３２５は、ドロップダウンリストまたはポップアップリストと同様に振舞うことが可能である。スタートメニュー３１５は、以下に、それぞれ、より詳細に説明する、ＭＣＵリスト３１９、Ａｌｌ  Ｐｒｏｇｒａｍｓビュー４０１（図４）、検索結果ビュー５０１（図５）、および実行リストビュー６０１を含むビューを提供することが可能である。本発明の例示的な態様によれば、デフォルトのビューは、ＭＣＵリストビュー３１９、または領域３１８内のオペレーティングシステムによって提供される、その他のビューの任意のビューであることが可能である。すべてのビューが、ビューコントロール３２５を介してリストアップされるわけではない可能性があり、代わりに、ユーザによる入力に基づいてアクセス可能であってもよい。また、スタートメニュー３１５は、検索ボックス３２７、およびシステムコントロール群３２９（例えば、コンピュータをシャットダウンする、休止状態にする、再起動する、または他のシステムオプションへのアクセスを提供する）も含むことが可能である。またスタートメニュー３１５は、サイズ変更コントロール３３１を介してサイズ変更可能とすることも可能である。ユーザは、ウインドウの高さを制御することによっていくつの検索結果を表示するかを制御するため（検索結果については、以下にさらに説明する）、さらにウインドウの幅を制御することによって、及び切り捨て前に表示された、表示されたファイル名およびアイテム名の長さを制御することにより、コントロール３３１を使用してスタートメニュー３１５をサイズ変更することができる。
【００３９】
図７をさらに参照すると、スタートメニュー３１５は、コンピュータシステムのユーザによる入力に応じて、様々なビューの間で遷移することができる。つまり、ユーザが何を行っているかに応じて、動的領域３１８は、ＭＣＵリスト３１９、Ａｌｌ  Ｐｒｏｇｒａｍｓ  ４０１、Ｓｅａｒｃｈ  Ｒｅｓｕｌｔｓ  ５０１、Ｒｕｎ  Ｌｉｓｔ  ６０１、またはＲｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓ（図示せず）を表示することができる。ビューコントロール３２５が、ビューの間で切り替えを行う汎用コントロールの役割をすることができる。２つだけの主要なビュー（例えば、後段の図８の説明を参照）が存在する場合、ビューコントロール３２５は、ドロップダウンリストまたはポップアップリストを表示することなしに、ＭＣＵリストとＡｌｌ  Ｐｒｏｇｒａｍｓビューの間のトグルとして振舞うことが可能である。加えて、検索ボックス３２７の中にタイプ入力することにより、テキスト（例えば、プログラム、ドキュメント、すべてなど）が入力された際に表示されていたビューに対応する検索結果ビューへの移動が、自動的に行われる。同様に、検索ボックスをクリアすることにより、前のビューに戻ることが可能である。また、＜Ｅｓｃ＞または＜Ｂａｃｋｓｐａｃｅ＞などのナビゲーションコントロールを押すことによっても、前のビューに戻ることが可能である。
【００４０】
図７は、スタートメニュー３１５の動的領域３１８に関する状態図を示す。例示的な実施形態では、デフォルトの状態７０１は、動的領域３１８内にＭＣＵリスト３１９およびピンリスト３１７を提示する。状態７０１から、検索ボックス３２７の中にテキストが入力されると、スタートメニューは、状態７０３に動的に遷移し、検索結果ビュー５０１が、領域３１８内で提示される。状態７０３から、ユーザが、検索ボックス３２７の中のテキストをクリアした場合、スタートメニューは、状態７０１に戻る。状態７０１から、ユーザが、ボタン３２５からＡｌｌ  Ｐｒｏｇｒａｍｓを選択すると、スタートメニュー３１５は、状態７０５に遷移し、すべての利用可能なプログラムおよび／またはソフトウェア（例えば、ドキュメントまたは１次ストレージ領域を含む）のリスト４０１が、領域３１８内で表示される。状態７０１から、ユーザが、Ｒｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓビューを選択した場合（例えば、ボタン３２５から、またはクイックリンクリスト３２０から）、スタートメニュー３１５は、状態７０７に遷移し、最近、使用されたドキュメント（ドキュメントおよびプログラムではなく）のリストが、領域３１８内で表示されることが可能である。状態７０５または７０７から、ユーザは、ボタン３２５からＭＣＵリストビューを選択して、状態７０１に戻ることができる。
【００４１】
状態７０３から、ユーザが、Ｒｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓを選択した場合、スタートメニュー３１５は、状態７１１に遷移し、状態７１１は、最近、使用されたドキュメントだけを含めるように、既に表示された検索結果を効果的にフィルタリングする。状態７０７から、ユーザが、検索ボックス３２７の中にテキストを入力した場合、スタートメニュー３１５は、やはり、状態７１１に遷移し、本明細書で説明するとおり、適切な検索結果を表示する。状態７１１から、ユーザが、検索ボックス３２７からテキストをクリアした場合、スタートメニュー３１５は、状態７０７に戻る。状態７１１から、ユーザが、ボタン３２５からＭＣＵリストを選択した（すなわち、Ａｌｌ  Ｄｏｃｕｍｅｎｔｓを選択解除した）場合、スタートメニューは、状態７０３に戻る。状態７１１から、ユーザが、ボタン３２５からＡｌｌ  Ｐｒｏｇｒａｍｓを選択した場合、スタートメニュー３１５は、状態７０９に遷移する。
【００４２】
状態７０３から、ユーザが、Ａｌｌ  Ｐｒｏｇｒａｍｓを選択した場合、または検索ボックス３２７をクリアした場合、スタートメニュー３１５は、状態７０９に遷移し、すべての最近に使用されたアイテムではなく、アプリケーションプログラムだけを含めるように、検索結果を効果的にフィルタリングする。状態７０５から、検索ボックス３２７の中にテキストが入力されると、スタートメニュー３１５は、やはり、状態７０９に遷移し、本明細書で説明するとおり、適切な検索結果を表示する。状態７０９から、ユーザが、検索ボックス３２７からテキストをクリアした場合、スタートメニュー３１５は、状態７０５に戻る。状態７０９から、ユーザが、ボタン３２５からＭＣＵリストを選択した場合、スタートメニューは、状態７０３に戻る。状態７０９から、ユーザが、ボタン３２５またはクイックリンクリスト３２０からＲｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓを選択した場合、スタートメニュー３１５は、状態７１１に遷移する。
【００４３】
状態７０５から、スタートメニューは、ユーザが、検索ボックス３２７の中にテキストを入力すると、状態７０９に遷移し、ユーザが、Ｒｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓを選択すると、状態７０７に遷移する。スタートメニューは、ユーザが、Ａｌｌ  Ｐｒｏｇｒａｍｓを選択すると、状態７０７から状態７０５に戻ることが可能である。
【００４４】
異なる状態遷移が使用されてもよく、いくつかの状態はオプションであってもよく、さらに、さらなる状態が追加されてもよいことが当業者には理解されよう。例えば図８は、より小さい許容可能状態セットを有する、すなわち、Ｒｅｃｅｎｔ  Ｄｏｃｕｍｅｎｔｓビューの除去に基づく、別の例示的な実施形態に関する状態図を示す。デフォルトの状態８０１から、スタートメニュー３１５は、ユーザが選択ボタン３２５からＡｌｌ  Ｐｒｏｇｒａｍｓを選択すると、状態８０３に遷移する。スタートメニュー３１５は、ユーザが、検索ボックス３２７の中にテキストを入力すると、状態８０１から状態８０５に遷移する。
【００４５】
状態８０３から、スタートメニュー３１５は、ユーザが、ボタン３２５からＭＣＵリストを選択する（または図４に示される「戻る」を選択する）と、またはユーザが、＜Ｂａｃｋｓｐａｃｅ＞または＜Ｅｓｃ＞などのナビゲーションコントロールを選択すると、状態８０１に戻るように遷移することが可能である。状態８０３から、ユーザが検索ボックス３２７の中にテキストを入力すると、スタートメニュー３１５は状態８０５に遷移し、この状態では、本明細書で説明するとおり、適切な検索結果が提示される。状態８０５から、検索ボックス３２７から検索テキストがクリアされると、スタートメニュー３１５は、デフォルトの状態８０１に戻るように遷移することが可能である。図８の状態図は、単一の検索結果状態（状態８０５）だけを示すが、別々の状態が、オプションとして使用されて、図７の状態７０３および状態７０９と同様に、状態８０１および状態８０３から開始された検索に基づく検索結果が表示されてもよい。また、変形および／または変種が、さらに、または代替として、使用されてもよい。例えば、ユーザが、以上の状態図のいずれかにおいて、Ａｌｌ  Ｐｒｏｇｒａｍｓビューを選択すると、スタートメニュー３１５が、スタートメニュー３１５の高さを、デスクトップ３０３内の可能な最大の高さに自動的にサイズ変更してもよい。スタートメニューは、ユーザがスタートメニュー３１５をサイズ変更するまで（コントロール３３１を使用して）最大の高さを保持することが可能であり、あるいはスタートメニュー３１５は、状態が、Ａｌｌ  Ｐｒｏｇｒａｍｓビューから遷移すると、前の高さに戻ってもよい。
【００４６】
本発明のある態様によれば、遷移は、ユーザが、入力を行った（例えば、検索ボックス３２７の中にテキストを入力して）、またはアクションを実行した（例えば、ボタン３２５からあるビューを選択して）時点で、自動的に起きるようにすることが可能である。本明細書で説明するとおり、オペレーティングシステム１３４、１４４は、スタートメニュー３１５のオペレーションを制御することができる。このため、前述したとおり、スタートメニュー３１５は、１つの状態から別の状態に遷移する際、オペレーティングシステム１３４、１４４、または他の何らかのソフトウェアプログラムの制御下で遷移する。つまり、オペレーティングシステム１３４、１４４は、ユーザがコンピュータシステム１００と対話するにつれ、スタートメニュー３１５をリアルタイムで動的に更新することができる。
【００４７】
オペレーティングシステムは、スタートメニュー３１５の中で利用することが可能なビューの詳細を決める様々な設定を提供することが可能である。例えば、ユーザは、アプリケーション追跡（すなわち、アイテムが、いつ、どれだけ頻繁に選択される、または起動されるかを監視すること）を不能化(disable)して、ＭＣＵリストビューを無くすことが可能であり、こうするとＡｌｌ  Ｐｒｏｇｒａｍｓビューが、デフォルトのビューになる。「私が、マウスをサブメニューの上に停止させたら、サブメニューを開く」制御設定が選択された場合、ユーザは、カーソルまたはマウスポインタをビューコントロール３２５（または「戻る」ボタンが表示される場合は「戻る」ボタン、）の上でさまよわせるだけビューを切り替えることができる。様々な状態において提示される様々なビューのそれぞれを、以下により詳細に説明する。
【００４８】
最も一般的に使用されるリストビュー
図３を再び参照すると、領域３１８が、ＭＣＵ（最も一般的に使用される）リスト３１９およびピンリスト３２１を表示している。ＭＣＵリスト３１９は、例えば、ＭＲＵリストおよび／またはＭＦＵリストに含められることが可能な、事前定義された数の最近に使用されたアイテム、または頻繁に使用されるアイテムを含むことが可能である。ＭＣＵリスト３１９の中のアイテムの特定の数は、オペレーティングシステムによって事前設定されることが可能であり、かつ／またはユーザによって変更されることが可能である。スタートメニュー３１５は、ＭＣＵリスト３１９の中、または他の任意の領域内のアイテムの数に基づき、自動的にサイズ変更されることが可能である。ＭＣＵリスト３１９は、いくつかのアイテムだけが利用される場合でも、小さくならないことが好ましい。代わりに、ＭＣＵアルゴリズムが、使用ポイントに基づいていずれのアイテムをＭＣＵリスト３１９に含めるべきかを決定し、次に、使用ポイントの引き分けがあれば、使用の日付に基づき勝敗を決めることができる。本発明の例示的な態様によれば、最後に選択されたアイテムまたは起動されたアプリケーションは、例えば、ＭＣＵリストの中で現在最低にランク付けされているアイテムと同一、またはそれより多くの使用ポイントを常に与えられるので、ＭＣＵリスト３１９の中に常に現れる。ＭＣＵアルゴリズムを、以下により詳細に説明する。
【００４９】
オペレーティングシステムおよび／またはユーザが、特定のアイテムが、使用にかかわらず、スタートメニュー３１５上に常に表示されることを確実にするため、ピンリスト３１７上にアイテムを置くことが可能である。ピン留めされたリストは、デフォルトアイテム、例えば、マイクロソフト社のＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（登録商標）ブランドのウェブブラウザなどのブラウザ、およびＯＥＭ選択アイテムで装填(populate)することが可能である。しかしユーザは、例えば、ピン留め可能なアイテムのコンテキストメニューを使用して、かつ／またはドラッグアンドドロップ選択技術を使用して、ピンリストを変更することもできる。
【００５０】
ＭＣＵアルゴリズムは、これまでに使用されてきたＭＦＵアルゴリズムまたはＭＲＵ（最近に使用された）アルゴリズムの様々な欠点に対処する。すなわちＭＦＵリストは、最近に使用された機能を必ずしも含むとは限らない。つまり、最近に使用されたアプリケーションは、その最近に使用されたアプリケーションが非常に稀にしか使用されていない場合、または最近になって初めてユーザの選好するアプリケーションになった場合、ＭＦＵリスト上に現れない可能性がある。同様に、これまでのアルゴリズムでは、最後に起動されたアプリケーションがＭＦＵリスト上に確実にあるとは限らない。
【００５１】
このため、本発明のある態様によれば、改良されたＭＣＵアルゴリズムを使用することによって、いずれのアイテムがＭＣＵリスト３１９上に置かれるかが決定される。そのＭＣＵアルゴリズムは、与えられた使用ポイント数に基づき、いずれのアイテムをＭＣＵリスト上に置くべきかを決定する。アイテムの使用ポイントが高いほど、そのアイテムは、ＭＣＵリスト３１９上で高く位置付けられることが可能である。２つのアイテムが、同一の使用ポイント数を有する場合、より新しい最後の使用のタイムスタンプもしくは編集タイムスタンプを有するアイテムが、優先されることが可能である。
【００５２】
最初にＭＣＵリスト３１９の中にリストアイテムとして入ることが可能な、コンピュータ１１０上またはコンピューティング環境１００上の各アイテムは、例えば、０などの同一の使用ポイント数で始める。しかし、デフォルトのアイテムセットでＭＣＵリストを装填するため、オペレーティングシステムは、１つまたは複数のアイテムに、他のアイテムより後のタイムスタンプを与えることができる。例えば、「Ｗｉｎｄｏｗｓ（登録商標）へようこそ」チュートリアルプログラム、Ｏｕｔｌｏｏｋ（登録商標）Ｅｘｐｒｅｓｓなどの電子メールクライアント、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ｐｌａｙｅｒ（登録商標）、およびデジタルイメージングライブラリを、コンピュータ１００上に格納された他のドキュメントまたはアプリケーションよりも、１分遅れたタイムスタンプで初期設定することが可能である。代替として、またはタイムスタンプとの組合せで、デフォルトのアイテムは、いくつかの使用ポイント数で初期設定されて、それらのアイテムが、ＭＣＵリスト３１９上にデフォルトで配置されることを確実にしてもよい。例えば、「Ｗｉｎｄｏｗｓ（登録商標）へようこそ」チュートリアルプログラム、Ｏｕｔｌｏｏｋ（登録商標）Ｅｘｐｒｅｓｓなどの電子メールクライアント、Ｗｉｎｄｏｗｓ（登録商標）Ｍｅｄｉａ  Ｐｌａｙｅｒ（登録商標）、およびデジタルイメージングライブラリを、それぞれ、１９ポイント、１８ポイント、１７ポイント、および１６ポイントで初期設定することが可能であり、これにより、それらのアイテムの、ＭＣＵリスト上の配置の順序も確実になる。オペレーティングシステム１３４、１４４、または他の制御ソフトウェアが、ＯＥＭアイテムのために１つまたは複数のデフォルトのリスト位置を確保してもよく、それらのアイテムは、それらのアイテムのＭＣＵリスト３１９上の初期の配置を保証するタイムスタンプおよび／または使用ポイントも受け取ることが可能である。例えば、１つの例示的な実施形態では、４つのＯＥＭアイテムが、それぞれ、１５、１４、１３、および１２の初期使用ポイントを受け取る。
【００５３】
初期のデフォルトの決定の後、アイテムが、ＭＣＵリスト３１９上に留まるかどうか、ＭＣＵリスト３１９に追加されるかどうか、またはＭＣＵリスト３１９から削除されるかどうかは、コンピュータシステムの１名または複数名のユーザによる各アイテムのその後の使用に依存する。一般に、ユーザが、あるアイテムを選択する、または起動すると、使用ポイントが、そのアイテムに足され、アイテムが、指定された期間にわたって使用されないままであると、使用ポイントが、そのアイテムから引かれる。ユーザが、スタートボタン３１１を選択すると、オペレーティングシステム１３４、１４４が、最も多い使用ポイントを有する所定の数のアイテムでＭＣＵリスト３１９を装填し、前述したとおり、タイムスタンプに基づいて同点の決着決めを行う。様々な方法およびアルゴリズムを使用して、アイテムごとの使用ポイントを計算することが可能であり、使用する特定のアルゴリズムは、本明細書で説明するとおり、そのアルゴリズムがもたらす結果に副次的であることが当業者には理解されよう。以下に説明し、コンピュータシステムにおいて実施されるアルゴリズムは、使用されることが可能なアルゴリズムの例に過ぎず、添付の特許請求の範囲を限定することを意図していない。
【００５４】
図９は、本発明の例示的な実施形態に従って使用されることが可能な一般的なＭＣＵアルゴリズムを示す。最初にステップ９０１で、オペレーティングシステム１３４、１４４が、有効な各アイテムに関連する使用ポイント数を計算する。本明細書で使用される、有効なアイテムとは、その有効なアイテムが、現在、ＭＵＣリスト上に置かれているかどうかにかかわらず、ＭＣＵリスト３１９上に置かれることが可能な任意のアイテムである。有効なアイテムは、任意の起動可能なアプリケーション、ストレージロケーション、ナビゲート可能なＵＲＬとして定義されることが可能であり、あるいは、例えば、起動可能なアプリケーションだけにより限定することも可能である。
【００５５】
１つの例示的な実施形態では、有効なアイテムを、．ｅｘｅ．、．ｍｓｃ、または．ｓｃｆで終わり、ＨＫＬＬ＼Ｓｏｆｔｗａｒｅ＼Ｍｉｃｒｏｓｏｆｔ＼Ｗｉｎｄｏｗｓ（登録商標）＼ＣｕｒｒｅｎｔＶｅｒｓｉｏｎ＼Ｅｘｐｌｏｒｅｒ＼ＦｉｌｅＡｓｓｏｃｉａｔｉｏｎｓ＼ＡｄｄＲｅｍｏｖｅＡｐｐｓの下でオペレーティングシステムレジストリの中でリストアップされておらず、ＨＫＣＲ＼Ａｐｐｌｉｃａｔｉｏｎｓ＼におけるアプリケーションキーの下でＮｏＳｔａｒｔＭｅｎｕもしくはＮｏＳｔａｒｔＰａｇｅのＢｏｏｌｅａｎフラグが設定されておらず、かつ／またはＭＣＵリスト上に決して現れるべきでないアプリケーションの格納された「キルリスト」の中にリストアップされていないフォルダまたはファイルに限ることが可能である。アプリケーションまたはアイテムが、前述の試験を満たさない場合でも、アプリケーションが、オペレーティングシステムレジストリの中でＨＫＣＲ＼Ａｐｐｌｉｃａｔｉｏｎｓ＼におけるアプリケーションキーの下でＳｔａｒｔＭｅｎｕ値を有する場合、依然、アプリケーションは、有効なアイテムであることが可能であり、そのため、稀にしか使用されないアプリケーションが、有効なアイテムとして現れるような明示的な機構が、提供される。
【００５６】
有効なアイテムのリストが決定されると、オペレーティングシステム１３４、１４４が、ステップ９０３で、有効なアイテムごとの使用ポイント数を計算する。使用ポイントは、有効なアイテムが選択されると増加し、有効なアイテムの非使用期間中、減少する。例示的な一実施形態では、ある有効なアイテムが、初めて選択されると、オペレーティングシステムは、その選択された有効なアイテムに、例えば６などの所定の値、またはＭＣＵリスト３１９の中で、現在、表示される資格のある有効アイテムの最小の使用ポイント数よりも大きくなるように使用ポイントカウントを割り当てる。その２つの値の大きい方を与えることにより、最近に使用されたアイテムが、さもなければＭＣＵリスト３１９上で表示される資格がない場合でも、次にオペレーティングシステム１３４、１４４がＭＣＵリスト３１９を生成し、かつ／または装填トする際に、ＭＣＵリスト３１９に含められることが確実になる。
【００５７】
直接にまたはショートカットもしくはリンクを介して（例えば、スタートメニュー検索ビュー、Ａｌｌ  Ｐｒｏｇｒａｍｓビュー、ＭＣＵリストなどを介して）有効なアイテムが選択されるたびに、その有効なアイテムの使用ポイントは、少なくとも所定の使用ポイント数、例えば、１、２、６などだけ使用ポイントを追加され、やはり、そのアイテムが、ＭＣＵリストに含められることを確実にすることが可能である。有効なアイテムがショートカットまたはリンクを介して選択されると、有効なアイテムとショートカットもしくはリンクの両方の使用ポイントが増分されることが可能である。可能な代替の実施形態によれば、使用ポイントは、アイテムタイプに基づいて（例えば、アプリケーションプログラムは、ある所定の数だけ増分され、ドキュメントは、その所定の数の１／２だけ増分され、ＵＲＬは、その所定の数の１／４だけ増分されるなど）、アイテムロケーションに基づいて（例えば、ローカルアイテムは、１だけ増分され、リモートアイテムは、１／２だけ増分されるなど）など、さらなる要因に基づいて、より多く、またはより少なく増分されることが可能である。
【００５８】
使用ポイント減少は、何らかの長さの時間にわたる有効なアイテムの使用の欠如一般に基づいて使用ポイントを減少させる任意のアルゴリズムに基づくことが可能である。使用ポイント減少は、有効なアイテムが使用されずに経過したセッションの回数に基づいてもよい。セッションは、任意の事前定義された時間、または他の計算可能な期間であることが可能である。例えば、１つの例示的な実施形態では、セッションカウンタは、ユーザログインのたびに、さらにコンピュータシステムのＨ時間の使用ごとに１回、増分される。値Ｈ＝１２が、うまく行くことが分かっている。コンピュータシステムの「使用」は、様々な仕方で定義されることが可能である。好ましくは、「使用」は、時間Ｈ中のコンピュータ１１０の任意の使用として定義される。このため、ユーザが、コンピュータシステムと対話すると、オペレーティングシステムは、「使用」フラグ＝真に設定する。ログインからＨ時間の終わりに（または「使用」フラグが設定されてからＨ時間の終わりに）、オペレーティングシステムは、セッションカウンタを増分し、「使用」フラグ＝偽にリセットし、Ｈ時間タイムクロックをリセットする。
【００５９】
例えば、ユーザが、１週間にわたって休暇に出かけ、ユーザのコンピュータをオンのままにした場合、コンピュータは、使用されていないので、セッションは、まったく経過しない（しかし、ユーザの初期のログインに関して、１回のセッションが経過する可能性がある）。他方、ユーザが、コンピュータを使用して仕事をしながら、１週間にわたってユーザのコンピュータをオンのままにした場合、ユーザが、１日当たりＨ時間未満、働くものと想定すると、概ね、１日当たり１回のセッションが増える。Ｈの他の値が使用されてもよいことが、当業者には理解されよう。
【００６０】
ある特定の有効なアイテムが選択または実行されることなしに、何回のセッションが経過したかを、オペレーティングシステム（または他の制御ソフトウェア）が確認すると、オペレーティングシステムは、経過したセッションの回数に基づく減少率を使用して、その特定の有効なアイテムの使用ポイントを減分することができる。１つの例示的な実施形態では、減少率および／または減少値は、以下のとおりであることが可能である。すなわち、
【００６１】
【表１】
2008535052.tif 000003
【００６２】
異なる回数の経過セッションを使用して、使用ポイント減少をトリガしてもよく、異なる使用ポイント減少率および／または減少値が、代替として、使用されてもよいことが、当業者には理解されよう。
【００６３】
一実施形態では、有効なアイテムの使用ポイントは、その有効なアイテムをポイントするショートカットまたはリンクの使用ポイントに加え、その有効なアイテムに対応する使用ポイントの累計として計算されることが可能である。その有効なアイテム、およびその有効なアイテムへのショートカットまたはリンクの最新のランタイムタイムスタンプが、本明細書で説明するとおり、タイブレークを行う目的で使用される。
【００６４】
ステップ９０５で、オペレーティングシステム１３４、１４４が、最高の使用ポイント値を有するＮ個の有効なアイテムを選択して、ＭＣＵリスト３１９を装填し、ただし、Ｎは、ＭＣＵリスト３１９の中のスロットの数であり、オペレーティングシステム１３４、１４４によって設定され（例えば、ディスプレイスクリーン上のＭＣＵリストに割り当てられたスペースに基づき）、かつ／またはユーザによって定義されることが可能である。オペレーティングシステム１３４、１４４は、オプションとして、ＭＣＵリストから有効なアイテムをフィルタリングして除き、それらの有効なアイテムは、別の形で、スタートメニューの中に、例えば、ピンリスト３１７の中、またはクイックリンクリスト３２０の中に既に含まれる。
【００６５】
前述したとおり、キルリストを使用して、いくつかのアイテムが、スタートメニュー３１５上に現れるのを防止することが可能である。例えば、セットアッププログラム、ドキュメンテーション、アンインストールプログラム、およびウイルススキャナは、通常、ＭＣＵリスト３１９上に現れなくてもよい。一部の実施形態では、キルリストに、あるアイテムにその句が存在している場合、そのアイテムが有効なアイテムのセットとして含められるのを禁止する句を含めることが可能である。例えば、以下の句を、大文字の使用を考慮してまたは考慮せずに、例示的なキルリストとして使用することが可能である。すなわち、Ｄｏｃｕｍｅｎｔａｔｉｏｎ、Ｈｅｌｐ、Ｉｎｓｔａｌｌ、Ｍｏｒｅ  Ｉｎｆｏ、Ｒｅａｄｍｅ、Ｒｅａｄ  Ｍｅ、Ｒｅａｄ  Ｆｉｒｓｔ、Ｓｅｔｕｐ、Ｓｕｐｐｏｒｔ、Ｗｈａｔ’ｓ  Ｎｅｗ、Ｒｅｍｏｖｅである。他の諸実施形態は、キルリストの中の特定のアプリケーションを識別することができる。例えば、以下のアプリケーションが、ＭＣＵリスト３１９上に含められることを防止することが可能である。すなわち、ｓｅｔｕｐ．ｅｘｅ、ｉｎｓｔａｌｌ．ｅｘｅ、ｉｓｕｎｉｎｓｔ．ｅｘｅ、ｕｎｗｉｓｅ．ｅｘｅ、ｕｎｗｉｓｅ３２．ｅｘｅ、ｓｔ５ｕｎｓｔ．ｅｘｅ、ｒｕｎｄｌｌ３２．ｅｘｅ、ｍｓｏｏｂｅ．ｅｘｅ、ｌｎｋｓｔｕｂ．ｅｘｅ、ｉｎｏｃｕｌａｎ．ｅｘｅ、ｒｅａｌｍｏｎ．ｅｘｅ、ｎａｖｗｎｔ．ｅｘｅ、ｅｘｐｌｏｒｅｒ．ｅｘｅ、ｓｎｄｖｏｌ３２．ｅｘｅ、ｉｃｗｃｏｎｎ１．ｅｘｅ、およびｍｏｂｓｙｎｃ．ｅｘｅである。以上のプログラムは、特定のアプリケーションが、ＭＣＵリスト上に含まれないようにすることが可能であることを単に例示するものであり、所望に応じて、ＭＣＵリスト上に含まれないようにすることが可能なアプリケーションプログラムを限定するものではない。
【００６６】
また、句と特定のアプリケーションの組合せを使用することも可能である。使用ポイントの割り当て、および使用ポイントの減少を含め、前述のアルゴリズムを、任意のＭＦＵ／ＭＲＵ／ＭＣＵリストアルゴリズムにおいて使用することが可能であり、スタートメニューまたはプログラム起動メニューにおける使用に限定されないことが、当業者には理解されよう。任意の履歴アイテムリストが、例えば、ウェブブラウザの履歴リスト、メディアプレーヤによって最近再生されたオーディオファイルおよび／またはビデオファイルなどが、本明細書で説明する装填アルゴリズムを使用することができる。
【００６７】
Ａｌｌ  Ｐｒｏｇｒａｍｓビュー
ユーザが、図３に示すとおり、ビューコントロール３２５を選択して、Ａｌｌ  Ｐｒｏｇｒａｍｓビューに切り替えると（すなわち、ビューコントロール３２５が、Ａｌｌ  Ｐｒｏｇｒａｍｓビューに切り替えるオプションを特定する、またはユーザが、ビューコントロール３２５を選択した結果、ポップアップリストからＡｌｌ  Ｐｒｏｇｒａｍｓを選択する）、スタートメニュー３１５が、図４に示すＡｌｌ  Ｐｒｏｇｒａｍｓビューに遷移する。図４で、スタートメニュー３１５は、動的領域３１８内で、利用可能なすべての実行可能なアプリケーションおよび／または１次ストレージロケーションのリスト４０１を表示する。リスト４０１は、好ましくは、アルファベット順に表示されて、ユーザが、リスト４０１を視覚的に走査して、所望されるアイテムを簡単に見出すことができるようにする。１つの例示的な実施形態（図示せず）では、ユーザは、図３に示すＭＣＵビューの中でアイテムをピン留めすることと同様に、リスト４０１上の特定の位置、例えば、リストの一番上に、アイテムをピン留めすることができる。
【００６８】
一部の例では、コンピュータシステムが多くのアプリケーションプログラムおよびストレージロケーションを格納し、すべてのアイテムの間でナビゲートすることは面倒である可能性がある。ユーザがリスト４０１の中で簡単に移動できるようにするため、ユーザは、カーソルが、リスト４０１の上にある間に、図４に示すスクロールバーを使用して、または入力デバイス（マウスなどの）のスクロールホイールを使用して、リスト４０１を上に、または下にスクロールすることができる。
【００６９】
ユーザが、リスト４０１の中で移動するのをさらに簡単にするために、スタートメニュー３１５は、リスト４０１をホストされたツリービューにおいて提示して、ユーザが、メニューおよびサブメニューの拡張および縮小を容易に行うことができるようにすることが可能である。図１２に示すような一実施形態では、リスト４０１の中のアイテムをシングルクリックまたはダブルクリックすると、そのアイテムが拡張可能である場合、スタートメニューは、図１２に示すように、リストを拡張して、最初に選択されたアイテムの下にアイテムを表示する。図１２では、ユーザは、「Ａｃｃｅｓｓｏｒｉｅｓ」リストアイテムを選択しており、これに応答して、スタートメニュー３１５は、リスト４０１を拡張して、例えば、Ａｃｃｅｓｓｉｂｉｌｉｔｙ、Ａｄｍｉｎｉｓｔｒａｔｉｖｅ  Ｔｏｏｌｓ、Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、Ｅｎｔｅｒｔａｉｎｍｅｎｔ、Ｓｙｓｔｅｍ  Ｔｏｏｌｓ、Ｃａｌｃｕｌａｔｏｒ、Ｃｏｍｍａｎｄ  Ｐｒｏｍｐｔ、Ｎｏｔｅｐａｄ、Ｐａｉｎｔ、Ｓｙｎｃｈｒｏｎｉｚｅ、Ｗｉｎｄｏｗｓ（登録商標）Ｅｘｐｌｏｒｅｒ、およびＷｏｒｄｐａｄを含む下位階層アイテムを「Ａｃｃｅｓｓｏｒｉｅｓ」の下に表示する。ユーザは、「Ａｃｃｅｓｓｏｒｉｅｓ」をもう１回選択して、アイテムのサブメニューを縮小することができる。
【００７０】
代替の例示的な実施形態では、スタートメニュー３１５は、リスト４０１を、ホストされたツリービューにおいて提示して、ユーザが認識できる「＋」コントロールおよび「−」コントロールを使用して、メニューおよびサブメニューの拡張および縮小を容易に行うことができるようにすることが可能である。ユーザが「＋」コントロールを選択すると、スタートメニュー３１５は、選択されたコントロールが対応するストレージロケーションを展開して、そのストレージロケーションに格納されたアイテムを表示し、コントロールは、「−」に変化する。ユーザが、「−」コントロールを選択した場合、スタートメニュー３１５は、選択されたコントロールが対応するストレージロケーションを縮小して、そのストレージロケーションの中に格納されたアイテムを隠す。図１０は、図４に示すトップレベル階層との組合せで、またはその階層の代替として使用することが可能なサンプルのＡｌｌ  Ｐｒｏｇｒａｍｓメニュー階層を示す。まとめて図１１と呼ぶ、図１１Ａおよび図１１Ｂは一緒に、図４および図１０に示すトップレベル階層との組合せで、またはその階層の代替として使用することが可能な、代替の、より平坦なＡｌｌ  Ｐｒｏｇｒａｍｓメニュー階層を示す。より平坦な階層は、リスト４０１に割り当てられたスペースが比較的狭い場合、好ましい可能性がある。
【００７１】
ユーザが、展開されたストレージロケーションにおけるアイテムを選択した場合、オペレーティングシステム１３４、１４４は、選択されたアイテム、または適切なアプリケーションを起動して、選択されたアイテムと対話し、スタートメニュー３１５を閉じる。スタートメニュー３１５が再び開かれ、Ａｌｌ  Ｐｒｏｇｒａｍｓビューが選択されると、リスト４０１は、リスト４０１の前の状態にかかわらず、完全に縮小されて現れることが可能であり、あるいはリスト４０１は、ユーザが、前回に拡張または縮小を行ったのと同一の状態で現れてもよい。
【００７２】
新たにインストールされたアプリケーションをユーザに強調するのに、スタートメニュー３１５は、最近、インストールされたアプリケーションをリスト４０１の中でハイライトすることができる。オプションとして、スタートメニュー３１５は、リスト４０１の中で、ハイライトされた、新たにインストールされたアプリケーションを見るために、必然的に拡張されなければならないアイテムを自動的に拡張することも可能であり、ハイライトされた、新たにインストールされたアプリケーションまでリスト４０１を自動的にスクロールすることも可能である。
【００７３】
前述したとおり、ホストされたツリービューを使用することにより、ユーザが、単に、アイテムの上を長くさまよい過ぎることにより、所望されないサブメニューを誤って開くことなしに、スタートメニューアイテムの階層を、より直観的に移動することが可能になる。加えて、前述した、ホストされるツリービューにより、これまで必要とされていたほどのデスクトップ上のスペースが覆われることなしに、ユーザが、スタートメニューの中の階層アイテムの間で移動することが可能になり、これにより、ユーザが、スタートメニューの中を移動するのと同時に、デスクトップ上で、より多くの開いたウインドウまたはフォルダを閲覧することが可能になる。
【００７４】
検索ビュー
任意のビュー、例えば、図３に示すＭＣＵビュー、または図４に示すＡｌｌ  Ｐｒｏｇｒａｍｓビューから、ユーザは、検索ボックス３２７の中にテキストをタイプ入力して、スタートメニューアイテムを検索することができる。検索ボックス３２７の中にテキストが入力されると、スタートメニュー３１５は、図５に示すような検索結果ビュー５０１に自動的に切り替わり、ユーザによって、それまで入力されたテキストと合致する結果を表示する。つまり、検索ボックス３２７から、ユーザは、ユーザのシステム上のプログラム、ユーザファイル、インターネットリンク、および通信の全体にわたって文字単位の検索を実行することができる。ユーザが、検索ボックス３２７の中にテキストを入力すると、コンピュータシステムは、以下にさらに説明するとおり、入力されたテキストを検索する。システムは、ユーザのタイプ入力が休止するのを待ってから検索結果を表示することが可能であり、あるいはシステムは、ユーザによってさらなる文字が入力されるごとに、新たな検索を開始してもよい。
【００７５】
スタートメニュー３１５は、オペレーティングシステム１３４、１４４、または他の制御ソフトウェアの制御下で（スタートメニュー３１５が、何らかのアクションを実行する場合、本明細書では、オペレーティングシステム１３４、１４４、または他の制御ソフトウェアの制御下にあるものと理解される）、任意の組み込まれた検索エンジン、または公知の検索エンジンを使用して、コンピュータシステム１００上で検索を実行することができる。検索エンジンは、好ましくは、コンピュータ１１０のファイルシステムを検索するとともに、ユーザのパスにあるＵＲＬおよび実行ファイルを検索する。また、検索サービスは、ウェブ検索エンジンからのウェブ検索結果、Ｐｉｃａｓａのような写真ウェブサイトからの写真結果、ＭＳＮミュージックのようなサービスからの音楽結果、または以上のデータプロバイダおよび／または他のデータプロバイダの任意の組合せなどの、他のデータプロバイダからの検索結果も含むことが可能である。検索エンジンは、検索を速めるため、すべての検索可能なロケーションに索引を付けることが可能である。
【００７６】
加えて、検索エンジンは、「検索」プロバイダであることをそれぞれが要求されない、様々なデータソースおよび／またはデータプロバイダを使用することができる。検索エンジンは、いくつかのタイプのデータに関して、検索されているデータまたはファイルのタイプにかかわらず、データストアから、関係のあるすべての情報を自動的に取り出し、次にその情報を、検索条件に基づいてフィルタリングして、検索結果を見出すことができる。そのため、データストアは検索を実行せず、しかるべく検索／フィルタリングを行うよう、検索エンジンに関係のある情報を提供するだけである。複数のデータプロバイダを一度に使用することにより、検索エンジンは、異なるタイプの検索結果のために異なるプロバイダを使用することができ（例えば、プログラムのために１つのプロバイダ、電子メールのために別のプロバイダなど）、あるいは検索エンジンは、ネットワーク上の異なるマシン上で実行される同一のタイプのプロバイダを使用して、異なるコンピュータからの結果を獲得してもよい（例えば、ローカルネットワーク上のすべてのコンピュータ上のファイルを見出すように）。各データプロバイダは、コンピュータシステム上に存在する組み込み型のデータプロバイダ、またはリモートデータプロバイダもしくはサードパーティデータプロバイダなどの、ネットワークを介して接続可能なリモートの信頼されるソースであることが可能である。
【００７７】
検索結果ビュー５０１は、好ましくは、結果タイプに応じて結果をグループ化するが、これは必須ではない。１つの例示的な実施形態では、以下のグループが使用される。すなわち、プログラム（実行ファイル）、ファイル（非実行ファイル）、インターネット（ＵＲＬ）、および通信（通信として認識される任意のファイル、例えば、電子メール、ＩＭログなど）である。一部の実施形態では、ユーザは、いずれの１つまたは複数のカテゴリを検索結果として示すかを選択することができる。例えば、ユーザは、個人的な選好に応じて、インターネット検索結果を除外し、電子メール結果を含めることもできる。検索を実行するのに、ときとして要求される時間のため、検索結果は、２ステップのプロセスで表示されてもよい。ステップ１で、検索が、進行中である間、４つのグループのそれぞれが、検索結果ビュー５０１の中で同量のスペースの割り当てを受ける。その量は、スペースの全体量をグループの数で割ることによって計算することが可能であり、余分のスペースも、上から下まで割り当てられることが可能である。検索エンジンが、ステップ１中に結果を特定すると、スタートメニュー３１５が、適切なグループの中で、それらの結果を表示する。好ましくは、後に同一のタイプのより良好な結果によって後に取って代わられることが不可能な結果でない限り、結果として表示されない。検索エンジンは、データプロバイダの優先順位でデータプロバイダを検索することにより、結果が取って代わられることが可能でないことを確実にすることができる。例えば、アプリケーションプログラムが、他のすべてのタイプのファイルに常に優先される場合、検索エンジンが、プログラムファイルおよび／またはプログラムフォルダを検索することを終えると、検索エンジンは、他のフォルダを検索することを終えてない場合でも、すべてのアプリケーションプログラム結果を示すことが可能である。というのは、検索エンジンが、その他のフォルダの中で何を特定するかにかかわらず、それらは、検索結果の中で見出されたアプリケーションプログラムよりも高い優先順位の配置を獲得しないからである。しかし、任意の結果が所望される場合、その結果が特定された際に表示されることが可能である。
【００７８】
ステップ２は、検索エンジンが検索を完了すると始まる。ステップ２で、スタートメニュー３１５が、結果なしのグループを削除し、そのスペースを、結果を有するグループに再分配することにより、検索結果ビュー５０１の中の割り当てられたスペースを再分配する。スペースは、残りのグループの間で均等に再分配されても、各グループが、いくつかの結果を有するかに基づいて、それに見合うように割り当てられてもよい。また、割り当てられたスペースは、あるグループが、小さい数の検索結果しか有さないことに基づき、縮小されてもよい。例えば、あるグループが、２つだけの結果しか有さず、割り当てられたスペースが、さもなければ３つの結果を表示するのに十分なだけ大きい場合、スタートメニュー３１５は、そのグループの２つの結果アイテムだけを表示するのに十分なスペースをそのグループに割り当てることも可能である。
【００７９】
スタートメニュー３１５は、各グループに関して、いずれのアイテムを表示すべきかを、様々な形で決定することができる。例えば、図５で、ユーザは、各カテゴリにおいて多くの結果と合致する、文字「ｗ」だけをタイプ入力している。そのため、スタートメニュー３１５（または検索エンジン）は、ユーザによって入力されたテキストと同じ位に合致する諸結果を表示する順序を必然的に決定しなければならない。第１の例示的な実施形態において、スタートメニュー３１５は、合致するｎ個のアイテムを、現在の日付および／または時刻から逆方向に進んで、それらのアイテムの変更の日付の順序で、提示することができ、ただしｎは、それらのアイテムが表示されるグループに割り当てられたスペースの量に基づく。別の例示的な実施形態では、スタートメニュー３１５は、任意のアイテムを、そのアイテムの名前がユーザによって入力されたテキストと合致するテキストで始まる場合１番目に表示し、そのアイテムがユーザによって入力されたテキストと合致するテキストで始まる開始語以外の語を有する場合２番目に表示し、そのアイテムがユーザによって入力されたテキストと合致する任意のテキストを有する場合３番目に表示することが可能である。
【００８０】
別の代替の実施形態では、スタートメニュー３１５は、合致がアイテムに関連する情報（例えば、メタデータ）に基づいていたかどうか、アイテムにおける情報（例えば、フルテキスト検索）に基づいていたかどうか、アイテムのストレージロケーションに基づいていたかどうか、アイテムのストレージロケーションに関連する情報（例えば、２つのアイテムがともに、ＵＲＬ履歴フォルダの中で特定された場合、最近、アクセスされたアイテムが、他方のアイテムより優先されることが可能である）に基づいていたかどうかなどの、他の事前定義された基準に従って、さもなければ同様に合致する複数のアイテムをランク付けすることができる。例示的な実施形態では、図１３のランク付け規則およびタイブレーク規則を使用することが可能である。このため、例えば、アイテム名などの、アイテムに関連するメタデータ情報と合致するスタートメニューピンリスト３１７（図３）の中に格納されたいずれのアイテムも、他のアイテムよりも上に表示される。２つ以上のアイテムがともにピンリスト３１７の中に含まれることに基づき合致した場合、それら２つのアイテムは、ピンリスト３１７の中の、それらのアイテムの順序に基づいてランク付けされる。
【００８１】
追加のまたは代替のタイブレーク規則および並べ替え規則が、使用されてもよいこと、および図１３に示す規則は可能な順序付け規則およびタイブレーク規則の一例に過ぎないことが、当業者には理解されよう。
【００８２】
検索結果を表示する際、スタートメニュー３１５は、ユーザによって入力されたテキストと合致させたアイテムの名前の該当する部分を、太字で、斜体で、またはそれ以外にして（図示せず）、アイテムを表示することができる。スタートメニュー３１５は、ユーザが検索結果アイテムの上でカーソルをさまよわせると、そのアイテムとユーザによって入力されたテキストとを合致させたメタデータを表示することができる。さらに、検索結果ビュー５０１は、各グループの中の合致するアイテムの特定数（例えば、この例では、２５個の合致するプログラム、５１２個の合致するファイル、６１個の合致するインターネットＵＲＬ、および３１２１個の合致する通信）を含むことが可能である。ステップ１中、検索が行われている間、合致するアイテムの数を表示する代わりに、検索結果ビューは、「検索中」を表示してもよい。合致するアイテムの数が表示されると、ユーザは、合致するアイテムのグループ名または数を選択して、選択されたカテゴリ内の結果だけをリストアップする別個の検索ウインドウ（図示せず）に移動することができる。
【００８３】
結果がまったく存在しない場合、検索結果ビューは、まったく結果アイコンを表示しないこと、またはエラーメッセージを表示することが可能であり、あるいは単に、＜ｆｏｏ＞は、ユーザによって入力されたテキストである場合「＜ｆｏｏ＞を検索する」というトップマッチを表示してもよい。「＜ｆｏｏ＞を検索する」が選択されると、コンピュータシステム１００は、例えば、フルテキスト検索またはフルテキスト検索ウインドウを起動することにより、ユーザによって入力されたテキストの、より広い検索を開始することができる。フルテキスト検索では、ユーザは、どこにテキスト＜ｆｏｏ＞が現れるかにかかわらず、＜ｆｏｏ＞を求めてコンピュータを検索し、＜ｆｏｏ＞を求めてインターネットを検索し、かつ／または＜ｆｏｏ＞を求めて他の何らかのコンピュータまたはデータベースを検索することが可能である。
【００８４】
本発明の例示的な態様によれば、ユーザは、アイテムをクリックすることにより、または所望される検索結果アイテムが選択フォーカスを有する場合単に＜Ｅｎｔｅｒ＞を押すことにより、検索結果アイテムを容易に起動することができる。デフォルトで、検索結果ビュー５０１は、トップマッチ５０３をハイライトする。このため、ユーザが、トップマッチを起動したいと望む場合、ユーザは、単に＜Ｅｎｔｅｒ＞を押すことができる。表示された各グループに関してグループトップマッチが存在するため、検索エンジンまたはスタートメニューは、すべてのグループトップマッチから、グローバルトップマッチを決定しなければならない。つまり各検索は、１つだけのトップマッチを有することが可能である。オペレーティングシステム１３４、１４４は、ユーザが、＜Ｅｎｔｅｒ＞を押した場合、トップマッチを起動する。グローバルトップマッチは、図１３に示すタイブレーク規則および順序付け規則と同様の規則に基づくこと、または異なる規則、例えば、図１４に示す規則を使用することが可能である。図１４の規則は、図１３に含まれない規則、例えば、検索結果アイテムがキーボードショートカットにも関連しているかどうか、検索結果アイテムがＵＲＬであるかどうか、検索結果アイテムが検索ストリングと合致する第１の語を有するかどうかを組み込む。トップマッチは、好ましくは、トップマッチに取って代わるアイテムが存在しないことを、すなわち、より高い優先順位ロケーションからのすべての検索結果が特定されていることを、検索エンジンが確定して初めて選択される。
【００８５】
本明細書で説明するとおり、＜Ｗｉｎｄｏｗｓ（登録商標）＞を有するキーボード１６２を使用し、スタートメニュー検索ボックスを使用するコンピュータシステムにおいて、ユーザは、ほぼ無限の数のキーボードショートカットを使用して、アイテムをより容易に起動させることができる。つまり、ユーザが＜Ｗｉｎｄｏｗｓ（登録商標）＞キー（図示せず）を押すと、オペレーティングシステムがスタートメニューを表示し、検索ボックス３２７がデフォルトで入力フォーカスを有する。ユーザは、ユーザがアイテムに関して検索を所望するテキストのタイプ入力を即時に開始することができる。このため、ユーザが、＜Ｗｉｎｄｏｗｓ（登録商標）＞、「ｗ」、「ｏ」、＜Ｅｎｔｅｒ＞をタイプ入力した場合、オペレーティングシステムは、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｏｒｄ（登録商標）ブランドのワードプロセッサがインストール済みであり、トップマッチである場合、そのワードプロセッサを起動する。マウス操作は、まったく必要ない（ただし、所望される場合、もちろん許される）。いずれの検索が所望される結果をもたらすかを学習することにより、ユーザは、多くのキーボードショートカットを学習して、入力された検索ストリングに対するトップマッチとして戻される所望されるアイテムを迅速に起動することができる。時間とその気があれば、ユーザは、特定のファイルに対応するものとしてキーボードショートカットを前もって手作業でリンク、またはセットアップすることを要求されることなしに、キーボードショートカットを学習することによってユーザのコンピュータ上のほとんどのアプリケーションプログラムおよびドキュメントを起動することができる。
【００８６】
一部の実施形態では、例えば、キーボードアクセラレータが関連するプログラムを起動するのに使用された場合など、いくつかのキーボードアクセラレータが、事前定義された検索結果をもたらすことが可能である。このため、キーの組合せ＜Ｗｉｎｄｏｗｓ（登録商標）＞−「ｃ」が、コントロールパネルを起動するシステムにおいて、ユーザが、検索ボックス３２７の中に「ｃ」を入力した場合、トップマッチは、ユーザが、さらなるテキストを入力するまで、デフォルトでコントロールパネルとなる。他の一般的なキーボードアクセラレータには、Ｈ−Ｈｅｌｐおよびサポート、Ｓ−Ｓｅａｒｃｈ、Ｒ−Ｒｕｎ、Ｌ−Ｌｏｇ  Ｏｆｆ、およびＵ−Ｓｈｕｔ  Ｄｏｗｎが含まれる。さらなる、または異なるキーボードアクセラレータを代替とし使用すること、またはユーザが構成することが可能である。
【００８７】
トップアイテムを起動することの代替として、ユーザは、カーソルキーを使用して、または代替のアイテムをシングルクリックして、代替のアイテムをハイライトして、代替の検索結果アイテムに移動することができる。現在ハイライトされている検索結果アイテム（トップマッチ、またはそれ以外の）に拘らず、スタートメニュー３１５は、＜ｂａｃｋｓｐａｃｅ＞などを含め、ユーザによって検索ボックス３２７の中に入力された任意のテキスト入力を適用する。これが、トップマッチが選択フォーカスを有すると言われる理由である。検索ボックス３２７、および現在、選択されているマッチは、入力フォーカスを受ける複合アイテムと考えることも可能であり、テキスト入力は検索ボックス３２７に向けられ、選択入力は現在選択されているマッチに向けられるが、選択されているマッチだけが、ハイライトされる。
【００８８】
本発明の例示的な態様によれば、ユーザは、検索ボックス３２７に入れられる特別な入力コマンドを使用して、検索されるロケーション、ファイル、および／またはファイルタイプを限定することができる。図６に示されるとおり、ユーザは、検索ボックス３２７に入力されるテキストの前に、ストレージロケーションの識別子を付けることにより、検索されるロケーションを限定することができる。ストレージロケーション識別子をタイプ入力することにより、スタートメニュー３１５が、検索結果ビュー５０１を、図６に示すオートコンプリートビュー６０１で置き換えるようにすることが可能である。この例において、「＼＼」は、イントラネットデータネットワークのルートディレクトリを指す。代替として、ユーザは、「Ｃ：＼」を入力して、Ｃ：ドライブをベースとするストレージパスを指定することもできる（他のドライブおよび／またはストレージロケーションが、代替として、指定されてもよい）。ロケーションを限定する識別子、「ｈｔｔｐ：／／」および／または「ｗｗｗ」を使用して、例えば、結果をＵＲＬ履歴、または他のＵＲＬリストに限定してもよい。ユーザが、ロケーションを限定する識別子を入力すると、スタートメニュー３１５は、図６に示されるルックアヘッド（ｌｏｏｋ  ａｈｅａｄ）ビューまたはオートコンプリートビューを使用して、結果６０１を表示することができる。つまり、リスト６０１にリストアップされた各結果は、検索ボックス３２７の中の、ユーザによって入力されたテキストと合致する。ユーザは、さらなるテキストを入力して結果をさらに限定する、または所望される検索結果までスクロールしてＥｎｔｅｒを押して、選択されたアイテムを起動することができる。ルックアヘッドフィーチャをスタートメニュー検索ボックス３２７と組み合わせて使用することにより、ユーザが、これまでのオペレーティングシステムによって要求されたように、Ｓｔａｒｔ｜Ｒｕｎオプションに移動することを要求されることなしに、任意のファイルを実行することが可能になる。
【００８９】
検索ボックス３２７に入力されたテキストが、オペレーティングシステム１３４、１４４、またはコンピュータ１１０に知られているコマンドであった場合、スタートメニュー３１５は、そのコマンドを、何らかの強調された形態で、例えば、太字で、リストの一番上に、リストの一番下に、選択フォーカスロケーションの最も近くに、またはトップマッチとして、主要マッチ結果として表示することができる。既知のコマンドは、コンピュータ１１０のパス変数によって定義されるロケーション内で見られるコマンドに限定することが可能である。
【００９０】
本発明のある態様によれば、ユーザは、検索ボックス３２７の中にコマンドライン変数を入力することができ、それらの変数は、次に選択されたコマンドが実行されるまたは起動される際に、入力される。例えば、ユーザが検索ボックス３２７の中に「ｉｐｃｏｎｆｉｇ−ｒｅｌｅａｓｅ」をタイプ入力した場合、コマンド「ｉｐｃｏｎｆｉｇ」がマッチとして提示される。「ｉｐｃｏｎｆｉｇ」結果が選択され、Ｅｎｔｅｒが押される（またはクリックなどが行われる）と、コンピュータは、「−ｒｅｌｅａｓｅ」をコマンドラインパラメータとして自動的に挿入する。コマンドラインパラメータをユーザが指定することを可能にすることにより、より高い柔軟性がもたらされ、ファイルを起動する際にコマンドラインパラメータを指定するために、Ｓｔａｒｔ｜Ｒｕｎウインドウ、または別個のＣｏｍｍａｎｄウインドウをユーザが起動することを要することが除外される。
【００９１】
図５に示すとおり、検索ボックス３２７がテキストを含む場合、検索ボックス３２７は、「Ｘ」５０５も表示することが可能であり、「Ｘ」５０５は、ユーザによって選択されると、検索ボックス３２７からテキストをクリアする。テキストボックスが、例えば、表示された「Ｘ」５０５を選択することによってクリアされると、スタートメニューは、以前に表示されていたビュー、例えば、ＭＣＵビュー３１９またはＡｌｌ  Ｐｒｏｇｒａｍｓビュー４０１に戻る。検索ボックス３２７は、空である場合、図３に示すとおり、より目立たないように、例えば、グレーで書かれたデフォルトの手引きのテキストを表示することが可能である。
【００９２】
スタートメニュー３１５は、ユーザが、検索ボックス３２７内で２次的な選択（例えば、「右クリック」）を行った場合、コンテキストメニューを表示することが可能である。コンテキストメニューは、周知の切り取りコマンド、コピーコマンド、および貼り付けコマンドを提供することに加え、例えば、６つなど事前定義された数の最近の検索ストリングも表示することができる。代替の実施形態では、コンテキストメニューは、代わりに、起動された最後の６つの（または他の数の）結果の名前を、それらの結果を見出した検索ストリングの代わりに表示してもよい。
【００９３】
表示された拡大鏡５０７（または代替のアイコン）が選択されると、オペレーティングシステムは新たな検索ウインドウを開き、その新たに開かれたウインドウ（図示せず）の中で検索結果を表示することができる。
【００９４】
キーボードショートカットを使用して、スタートメニュー検索結果ビュー５０１、オートコンプリートビュー６０１、またはその他のビューの中で移動することができる。例えば、＜Ｅｓｃ＞キーにより、検索ボックス３２７がテキストをクリアして前のビュー（例えば、ＭＣＵまたはＡｌｌ  Ｐｒｏｇｒａｍｓ）に戻るようにすることが可能であり、左右のカーソルキーにより、テキストが検索ボックス３２７の中に存在する場合に、カーソルを動かすことが可能であり、上下のカーソルキーにより、フォーカスが現在表示されているビューまたはリスト（例えば、ビュー３１９、４０１、５０１、６０１）の中で、相応して動かされることが可能であり、Ｃｔｒｌ−Ｘ、Ｃｔｒｌ−Ｃ、およびＣｔｒｌ−Ｖにより、検索ボックス３２７の中のテキストの切り取り、コピー、および貼り付けをそれぞれ行うことが可能であり、＜Ｔａｂ＞キーにより、入力フォーカスが検索ボックス３２７から検索結果５０１に進み、次にピンリスト３１７（存在する場合）に進み、次に検索ボックス３２７に戻るよう、循環的に移動させることが可能であり、フォーカスが検索ボックス３２７の中にある場合、＜Ｅｎｔｅｒ＞キーによりトップマッチを起動し、フォーカスが検索ボックス３２７を外れている場合、＜Ｅｎｔｅｒ＞キーにより選択されたアイテムを起動し、Ｃｔｒｌ−Ｅｎｔｅｒにより検索ストリングによって定義されたロケーション、例えば、「ｈｔｔｐ：／／」の後に「ｗｗｗ．＜ＳｅａｒｃｈＳｔｒｉｎｇ＞．ｃｏｍ」が続くロケーションにＷｅｂブラウザを起動することが可能であり、入力フォーカスが検索ボックス３２７の中にない場合に、文字をタイプ入力することにより入力フォーカスをそのタイプ入力された文字で始まるアイテムにジャンプさせることが可能であり、これは、Ｔｙｐｅ−Ｔｏモードとも呼ばれる。
【００９５】
本発明の例示的な態様によれば、検索ボックス３２７は、スタートメニュー３１５の外に、例えば、タスクバー３０９の中、サイドバーの中に配置されること、またはデスクトップ上で浮動することが可能であり、スタートメニュー３１５の中を移動することなしに、プログラム、ファイル、および他のアイテムを探し出す機構を提供することができる。検索結果およびオートコンプリート結果は、検索ボックス３２７の上方に提示されるサイズ変更可能な、またはサイズ変更不能なポップアップウインドウの中で表示されることが可能である。任意の検索結果が選択されると、選択されたアイテムが、起動され、ポップアップウインドウが、取り除かれる。結果ポップアップウインドウは、ユーザが検索結果を選択することなしにポップアップウインドウを閉じるための、クローズボタンを含むことが可能である。また、ポップアップウインドウは、入力フォーカスが検索ボックス３２７上にも、結果ポップアップウインドウ上にもない場合に、閉じることも可能である。
【００９６】
本発明は、本明細書で明示的に開示する新規な特徴、または特徴の新規な組合せ、あるいはそれらの任意の一般化を含む。本発明を、本発明を実施する、現在、選好される形態を含む、特定の実施例に関連して説明してきたが、以上に説明したシステムおよび技術の多数の変形および置換が存在することが、当業者には理解されよう。このため、本発明の趣旨および範囲は、添付の特許請求の範囲に記載するとおり、広く解釈されなければならない。
【図面の簡単な説明】
【００９７】
【図１】本発明の１つまたは複数の例示的な態様が実行されることが可能な動作環境を示す図である。
【図２】先行技術のデスクトップおよびプログラム起動メニューのスクリーンショットである。
【図３】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューを有するデスクトップのスクリーンショットである。
【図４】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューを示す図である。
【図５】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューを示す図である。
【図６】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューを示す図である。
【図７】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューで使用するための状態図である。
【図８】本発明の１つまたは複数の例示的な態様によるプログラム起動メニューで使用するための代替の状態図である。
【図９】本発明の１つまたは複数の例示的な態様による最高使用頻度リスト上に含めるための有効なアイテムを特定するための方法を示す図である。
【図１０】本発明の１つまたは複数の例示的な態様による、使用されることが可能なメニュー階層を示す図である。
【図１１Ａ】本発明の１つまたは複数の例示的な態様による、使用されることが可能な代替のメニュー階層を示す図である。
【図１１Ｂ】本発明の１つまたは複数の例示的な態様による、使用されることが可能な代替のメニュー階層を示す図である。
【図１２】本発明の例示的な態様による、すべてのプログラムを表示するプログラム起動メニューのスクリーンショットである。
【図１３】本発明の例示的な態様による検索結果に関するタイブレーク規則を示す図である。
【図１４】本発明の例示的な態様による検索結果に関するタイブレーク規則を示す図である。
【図１】
2008535052.tif 000004
【図７】
2008535052.tif 000005
【図８】
2008535052.tif 000006
【図９】
2008535052.tif 000007
【図１０】
2008535052.tif 000008
【図１１Ａ】
2008535052.tif 000009
【図１１Ｂ】
2008535052.tif 000010
【図１３】
2008535052.tif 000011
【図１４】
2008535052.tif 000012
【図２】
2008535052.tif 000013
【図３】
2008535052.tif 000014
【図４】
2008535052.tif 000015
【図５】
2008535052.tif 000016
【図６】
2008535052.tif 000017
【図１２】
2008535052.tif 000018
【国際調査報告】
2008535052.tif 000019
2008535052.tif 000020
2008535052.tif 000021