(57)【特許請求の範囲】
【請求項１】
ユーザ・インターフェースのための入力モード間で自動的な切り替えを行う、コンピュータによって実行される方法であって、
第１の入力タイプのための第１の入力モードでユーザ・インターフェースを画面に表示することと、
センサを使用して、前記画面からユーザまでの距離を検出することと、
前記画面上にてタッチ入力を受け取る前に、前記画面からの検出された前記距離がしきい値距離内にあるということを判断することと、
前記判断に応答して、かつ、前記画面上にて前記タッチ入力を受け取る前に、前記第１の入力タイプのための前記第１の入力モードから第２の入力タイプのための第２の入力モードに前記ユーザ・インターフェースを切り替えることとを含み、前記第２の入力モードはタッチ入力のためのタッチ・モードに対応する、方法。
【請求項２】
前記第１の入力モードで前記ユーザ・インターフェースを表示することが、前記第１の入力タイプのユーザ入力の受信に応答して行われる、請求項１に記載の方法。
【請求項３】
前記第１の入力タイプの前記ユーザ入力を受信したときにタイマを起動することと、
前記起動されたタイマに基づいて、前記第１の入力タイプの前記ユーザ入力の受信から事前設定された期間が経過したと判断することとをさらに含み、
前記切り替えが、前記事前設定された期間が経過したという判断に応答してさらに実行される、請求項２に記載の方法。
【請求項４】
前記ユーザ・インターフェースがデバイスの画面上に表示され、前記方法はさらに、
外部デバイスが前記デバイスに接続されたと判断することを含み、
前記切り替えが、前記外部デバイスが前記デバイスに接続されたと判断したことに応答してさらに実行される、請求項１に記載の方法。
【請求項５】
前記外部デバイスがキーボードまたはマウスのうちの少なくとも一方である、請求項４に記載の方法。
【請求項６】
前記第１の入力タイプがマウス入力に対応する、請求項１に記載の方法。
【請求項７】
前記第１の入力モードはマウス入力のためのマウス・モードに対応する、請求項６に記載の方法。
【請求項８】
前記マウス・モードで前記ユーザ・インターフェースを表示することが前記ユーザ・インターフェースでホバー・コンテンツを提供し、前記タッチ・モードで前記ユーザ・インターフェースを表示することが前記ユーザ・インターフェースでホバー・コンテンツを提供しない、請求項７に記載の方法。
【請求項９】
前記マウス・モードで前記ユーザ・インターフェースを表示することが前記タッチ・モードと比較してより小さいポインタ・ターゲットを前記ユーザ・インターフェースで提供し、前記タッチ・モードで前記ユーザ・インターフェースを表示することが前記マウス・モードと比較してより大きいポインタ・ターゲットを前記ユーザ・インターフェースで提供する、請求項７に記載の方法。
【請求項１０】
前記センサはカメラである、請求項１に記載の方法。
【請求項１１】
ユーザ・インターフェースのための入力モード間で自動的な変更を行うシステムであって、
１つまたは複数のプロセッサと、
前記プロセッサによって実行されたときに、
第１の入力タイプのための第１の入力モードでユーザ・インターフェースを画面に表示することと、
センサを使用して、前記画面からユーザまでの距離を検出することと、
前記画面上にてタッチ入力を受け取る前に、前記画面からの検出された前記距離がしきい値距離内にあるということを判断することと、
前記判断に応答して、かつ、前記画面上にて前記タッチ入力を受け取る前に、前記第１の入力タイプのための前記第１の入力モードから第２の入力タイプのための第２の入力モードに前記ユーザ・インターフェースを切り替えることとを含み、
前記第２の入力モードはタッチ入力のためのタッチ・モードに対応する、
処理を前記プロセッサに実行させる命令が保管されている機械可読媒体とを含む、システム。
【請求項１２】
前記第１の入力モードで前記ユーザ・インターフェースを表示することが、前記第１の入力タイプのユーザ入力の受信に応答して行われる、請求項１１に記載のシステム。
【請求項１３】
ユーザ・インターフェースのための入力モード間で自動的な切り替えを行う、コンピュータによって実行される方法であって、
第１の入力タイプのための第１の入力モードでユーザ・インターフェースを画面に表示することと、
センサを使用して、前記画面からユーザまでの距離を検出することと、
前記画面上にてタッチ入力を受け取る前に、前記画面からの検出された前記距離がしきい値距離内にあるということを判断することと、
前記判断に応答して、かつ、前記画面上にて前記タッチ入力を受け取る前に、前記第１の入力タイプのための前記第１の入力モードから第２の入力タイプのための第２の入力モードに前記ユーザ・インターフェースを切り替えることとを含み、
前記第２の入力モードはタッチ入力のためのタッチ・モードに対応し、
前記第１の入力モードおよび前記第２の入力モードのそれぞれが１つまたは複数のグラフィカル・コンポーネントを含み、
前記切り替えることが、前記１つまたは複数のグラフィカル・コンポーネントのサイズを変更することを含む、方法。
【請求項１４】
前記サイズ変更が、前記１つまたは複数のグラフィカル・コンポーネントの表示サイズをサイズ変更することを含む、請求項１３に記載の方法。
【請求項１５】
前記サイズ変更が、前記サイズ変更された表示サイズに対応するように前記１つまたは複数のグラフィカル・コンポーネントの反応領域をサイズ変更することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記サイズ変更が、前記表示サイズをサイズ変更せずに、前記グラフィカル・コンポーネントの反応領域をサイズ変更することを含む、請求項１３に記載の方法。
【請求項１７】
前記第１の入力タイプがマウス入力に対応する、請求項１３に記載の方法。
【請求項１８】
前記第１の入力モードはマウス入力のためのマウス・モードに対応する、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ユーザ・インターフェースに関し、特に、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことに関する。
【背景技術】
【０００２】
最近のコンピューティング・デバイスは、その入力プロファイルが複雑になる可能性がある。たとえば、スマートフォンはタッチスクリーンと物理的キーボードの両方を有することができる。他の例では、ラップトップは標準的なキーボード／トラックパッド入力ならびに外部マウスを有することができ、場合によってはタッチスクリーンさえ有することができる。加えて、これらのデバイスは、より専門的なアプリケーションのためにカメラとマイクロホンがそのデバイスに一体化されている可能性がある。ユーザは自分のタスクを遂行するためにこれらの入力様式すべての中で選択することができる。また、ユーザは、キーボードに対して取り付けおよび取り外し可能なタブレットや、ラップトップに差し込み可能なマウスの場合のように、自分のデバイスの構成を変更することもできる。
【発明の概要】
【課題を解決するための手段】
【０００３】
開示された主題は、ユーザ・インターフェースのための入力モード間で自動的に切り替えることに関する。この方法は、第１の入力タイプのための第１の入力モードでユーザ・インターフェースを表示することと、所定のイベントが発生したと判断することであって、所定のイベントが第１の入力タイプまたは第２の入力タイプ以外のタイプのものであることを含む。この方法は、その判断に応答して、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースを切り替えることをさらに含む。
【０００４】
開示された主題はさらに、ユーザ・インターフェースのための入力モード間で自動的な変更を行うシステムに関する。このシステムは、１つまたは複数のプロセッサと、プロセッサによって実行されたときに、第１の入力タイプのための第１の入力モードでユーザ・インターフェースを表示することを含む動作をプロセッサに実行させる命令がそこに保管されている機械可読媒体とを含む。この動作は、所定のイベントが発生したと判断することであって、所定のイベントが第１の入力タイプまたは第２の入力タイプ以外のタイプのものであることと、その判断に応答して、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースを切り替えることであって、第１の入力タイプがマウス入力またはタッチ入力のうちの一方に対応し、第２の入力タイプがマウス入力またはタッチ入力のうちのもう一方に対応することをさらに含む。
【０００５】
開示された主題は、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行う、コンピュータによって実行される方法にも関する。この方法は、第１の入力タイプのための第１の入力モードでユーザ・インターフェースを表示することと、所定のイベントが発生したと判断することを含む。この方法は、その判断に応答して、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースを切り替えることであって、第１の入力モードおよび第２の入力モードのそれぞれが１つまたは複数のグラフィカル・コンポーネントを含み、切り替えることが１つまたは複数のグラフィカル・コンポーネントのサイズを変更することを含むことをさらに含む。
【０００６】
主題技術の様々な構成が例示として示され記載されている以下の詳細な説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。認識されるように、主題技術はその他の種々の構成が可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱せずに、様々なその他の点で変更可能である。したがって、図面および詳細な説明は、限定的なものとしてではなく、本質的に例示的なものと見なすべきである。
【０００７】
主題技術の特徴は特許請求の範囲に明記されている。しかし、説明のために、主題技術のいくつかの実施形態が以下の図面に明記されている。
【図面の簡単な説明】
【０００８】
【図１】ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供できるネットワーク環境の一例を示す図である。
【図２】マウス入力のためのマウス・モードで表示されたユーザ・インターフェースの一例を示す図である。
【図３】タッチ入力のためのタッチ・モードで表示されたユーザ・インターフェースの一例を示す図である。
【図４】ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供するプロセスの一例を示す図である。
【図５】ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供するプロセスの他の例を示す図である。
【図６】主題技術のいくつかの実現例を実現可能な電子システムの一例を概念的に示す図である。
【発明を実施するための形態】
【０００９】
以下に明記されている詳細な説明は、主題技術の様々な構成の説明として意図されており、主題技術を実践可能な唯一の構成を表すためのものではない。添付図面は本明細書に組み込まれ、詳細な説明の一部を構成する。詳細な説明は、主題技術の完全な理解を可能にするための特定の詳細を含む。しかし、主題技術が本明細書に明記されている特定の詳細に限定されず、このような特定の詳細なしで実践可能であることは、当業者にとって明確かつ明らかになるであろう。場合によっては、主題技術の概念を曖昧にするのを回避するために、周知の構造およびコンポーネントがブロック図形式で示されている。
【００１０】
上記のように、最近のコンピューティング・デバイスは、その入力プロファイルが複雑になる可能性がある。たとえば、スマートフォンはタッチスクリーンと物理的キーボードの両方を有することができる。他の例では、ラップトップは標準的なキーボード／トラックパッド入力ならびに外部マウスを有することができ、場合によってはタッチスクリーンさえ有することができる。加えて、これらのデバイスは、より専門的なアプリケーションのためにカメラとマイクロホンがそのデバイスに一体化されている可能性がある。ユーザは自分のタスクを遂行するためにこれらの入力様式すべての中で選択することができる。また、ユーザは、キーボードに対して取り付けおよび取り外し可能なタブレットや、ラップトップに差し込み可能なマウスの場合のように、自分のデバイスの構成を変更することもできる。
【００１１】
このようなデバイスの問題の１つは、ユーザが入力モード間を移行するときに、モードに著しい違いがあっても、ユーザ・インターフェースは通常変化しないことである。たとえば、マウスからタッチに移行すると、ユーザは一般に画面をより近くに保持し、より粗い入力を行うことになる。
【００１２】
この点に関しては、デバイスはタッチ・モードまたはマウス・モードでユーザ・インターフェースを表示することができる。タッチ・モードでは、ホバー状態（hover state）が存在せず、より大きいインターフェース・エレメント（たとえば、ボタンまたはその他のターゲット）が必要となる可能性がある。これは、タッチでは通常ユーザが画面により近づく必要があるからである。これに対して、マウス・モードでは、インターフェース・エレメントをより小さくすることができ（たとえば、ポインタがより精細であるため）、ホバー機能（hover functionality）を提供することができる。主題技術は、ユーザ・インターフェースをユーザの現在の入力モードに適合させることを提供する。
【００１３】
この主題開示は、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供する。ユーザ・インターフェースは第１の入力タイプのための第１の入力モードで表示される。所定のイベントが発生したという判断が行われ、所定のイベントは第１の入力タイプまたは第２の入力タイプ以外のタイプのものである。たとえば、所定のイベントは、所定の期間の間のユーザ非活動、ユーザ（たとえば、ユーザの手または指）がタッチスクリーンから所定の距離内にあること、または外部デバイスの接続であることができるが、これらに限定されない。その判断に応答して、ユーザ・インターフェースは第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードに切り替えられる。
【００１４】
図１は、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供できるネットワーク環境の一例を示している。ネットワーク環境１００は、ネットワーク１０８によってサーバ１１０に通信可能に接続された、いくつかの電子デバイス１０２〜１０６を含む。電子デバイス１０２〜１０６のそれぞれはタッチスクリーンを含むことができ、そのタッチスクリーンはデバイス自体に組み込むことができるかまたはデバイスに（たとえば、周辺装置として）電子的に接続することができる。サーバ１１０は処理装置１１２およびデータ・ストア１１４を含む。処理装置１１２は、たとえば、電子デバイス１０２〜１０６のいずれかにコンテンツ（たとえば、ウェブサイトまたはその他の表示コンテンツ）を提供するために、データ・ストア１１４に保管されたコンピュータ命令を実行する。
【００１５】
電子デバイス１０２〜１０６は、モバイル・デバイス（たとえば、スマートフォン、タブレット・コンピュータ、ＰＤＡ、およびラップトップ・コンピュータ）、ポータブル・メディア・プレーヤ、デスクトップ・コンピュータ、またはその他の適切なコンピューティング・デバイスにすることができる。図１の例では、電子デバイス１０２はスマートフォンとして描写され、電子デバイス１０４はデスクトップ・コンピュータとして描写され、電子デバイス１０６はタブレット・コンピュータとして描写されている。
【００１６】
いくつかの態様の例では、電子デバイス１０２〜１０６のいずれも、アプリケーション・データ（たとえば、ウェブ・ページ・データ）と、当該アプリケーション・データに対応する、電子デバイス（たとえば、１０２〜１０６）のタッチスクリーン上に表示すべきコンテンツ（たとえば、画像、ビデオ、テキスト、リンク）を入手することができる。いくつかの態様の例では、コンテンツは、サーバ１１０からネットワーク１０８を介して電子デバイス１０２〜１０６に伝送することができる。その他の態様の例では、コンテンツは、それぞれの電子デバイス１０２〜１０６のストレージ・コンポーネント（たとえば、ハードディスク、ＲＡＭ、ＲＯＭなど）に保管することができる。
【００１７】
電子デバイス１０２〜１０６のいずれも、第１の入力タイプのための第１の入力モードでユーザ・インターフェースを表示することができる。電子デバイス（たとえば、１０２〜１０６のいずれか）は所定のイベントが発生したと判断し、所定のイベントは第１の入力タイプまたは第２の入力タイプ以外のタイプのものである。
【００１８】
その判断に応答して、電子デバイスは、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースを切り替える。たとえば、電子デバイス上で実行されるアプリケーション（たとえば、ウェブ・ブラウザ）は、入力モードに応じて、グラフィカル・コンポーネント（たとえば、ボタン、タブ）の種々のサイズを提供することができるか、あるいはホバー・コンテンツ（hover content）を使用可能／使用禁止にすることができる。グラフィカル・コンポーネントの種々のサイズは、種々の表示サイズに対応するか、または表示サイズを変更せずに種々の反応領域（activation area）のサイズに対応することができる。
【００１９】
代わってまたは加えて、サーバ１１０は第１の入力モードと第２の入力モードとの切り替えを提供することができる。たとえば、電子デバイス（たとえば、１０２〜１０６）は、どの入力モードで動作するかを示す指示を提供することができる。受信した指示に応答して、サーバ１１０（たとえば、ウェブ・サーバ）は電子デバイスに種々のコンテンツを提供することができる。このようなコンテンツは、入力モードに応じて、グラフィカル・コンポーネントの種々のサイズ（たとえば、ウェブサイトのボタンの種々の表示サイズあるいは反応領域のサイズまたはその両方）あるいはホバー・コンテンツ／ホバー・コンテンツなし（no hover content）を含むことができるが、これらに限定されない。入力モードが切り替わる場合、アプリケーションは所望の入力モードを示す新しい指示を送信することができ、サーバ１１０はそれに応じて新しいコンテンツを提供することができる。
【００２０】
サーバ１１０は、電子デバイスにコンテンツを提供するための、プロセッサ、メモリ、および通信機能を有する任意のシステムまたはデバイスにすることができる。いくつかの態様の例では、サーバ１１０はコンピュータ・サーバなどの単一コンピューティング・デバイスにすることができる。その他の実施形態では、サーバ１１０は１つのサーバ・コンピュータのアクションを実行するために協働して機能する２つ以上のコンピューティング・デバイスを表すことができる（たとえば、クラウド・コンピューティング）。
【００２１】
ネットワーク１０８は、たとえば、セルラー・ネットワーク、衛星ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、ブロードバンド・ネットワーク（ＢＢＮ）、インターネットなどのうちの任意の１つまたは複数を含むことができる。さらに、ネットワーク１０８は、バスネットワーク、星状ネットワーク、環状ネットワーク、網目状ネットワーク、星状バスネットワーク、木状または階層ネットワークなどを含むネットワーク・トポロジのうちの任意の１つまたは複数を含むことができるが、これらに限定されない。
【００２２】
図２は、マウス入力のためのマウス・モードで表示されたユーザ・インターフェースの一例を示している。ユーザ・インターフェース２００は、マウス入力により使用するために表示されたグラフィカル・コンポーネントを含む。図２の例では、マウス・ポインタ２０６を使用して、ユーザ・インターフェース２００のグラフィカル・コンポーネントと対話することができる。
【００２３】
たとえば、ユーザ・インターフェース２００のグラフィカル・コンポーネントはボタン２０２ａ、２０２ｂ、および２０２ｃを含む。ボタン２０２ａ、２０２ｂ、および２０２ｃは、それぞれ、アプリケーション（またはアプリケーション・ウィンドウ）を、最小化、最大化または元に戻すため、および閉じるために使用される。加えて、ユーザ・インターフェース２００はコンテンツ部分２０８と対話するためのボタン２０４ａ〜２０４ｇを含む。たとえば、ユーザ・インターフェース２００がマッピング・アプリケーションに対応している場合、ボタン２０４ａ〜２０４ｇは、パン、ズーム、位置のマーキング、位置の指定、およびマップ・ビューの切り替えを含むがこれらに限定されない動作に使用することができる。
【００２４】
マウス・モードでは（たとえば、ユーザ・インターフェース２００の場合）、グラフィカル・コンポーネント（たとえば、ボタン２０２ａ〜２０２ｃ、ボタン２０４ａ〜２０４ｇ）はタッチ・モードと比較してより小さいサイズにすることができる。より小さいグラフィカル・コンポーネントは、グラフィカル・コンポーネントのためのより小さな表示サイズに対応することができる。代わって、より小さいグラフィカル・コンポーネントは、表示サイズの縮小なしに、グラフィカル・コンポーネントのためのより小さな反応領域に対応することができる。諸態様の例では、タッチ入力と比較してマウスの方がポインタ・モーションがより精細であり、正確であるので、マウス・モードでは、より小さいターゲットあるいはより小さいターゲット間隔またはその両方を使用することができる。
【００２５】
より小さいグラフィカル・コンポーネントに加えて、マウス・モードはホバー・イベント（hover event）を提供することもできる。たとえば、ホバー・イベント（たとえば、マウスオーバ（mouseover）あるいはマウスアウト（mouseout）またはその両方）では、ユーザ・インターフェース（たとえば、ユーザ・インターフェース２００）は、代替（ＡＬＴ）コンテンツなどのホバー・コンテンツを表示することができる。代わってまたは加えて、ホバー・イベントでは、ユーザ・インターフェースは追加のインターフェース・コンポーネントを有するメニューまたはサブメニューを開くことができる。
【００２６】
図３は、タッチ入力のためのタッチ・モードで表示されたユーザ・インターフェースの一例を示している。ユーザ・インターフェース３００は、タッチ入力により使用するために表示されたグラフィカル・コンポーネントを含む。図３の例では、指３０６（たとえば、またはスタイラス）を使用して、ユーザ・インターフェース３００のグラフィカル・コンポーネントと対話することができる。
【００２７】
たとえば、ユーザ・インターフェース３００のグラフィカル・コンポーネントはボタン３０２ａ、３０２ｂ、および３０２ｃを含む。ボタン３０２ａ、３０２ｂ、および３０２ｃは、それぞれ、アプリケーション（またはアプリケーション・ウィンドウ）を最小化、最大化または元に戻すため、および閉じるために使用される。加えて、ユーザ・インターフェース３００はコンテンツ部分３０８と対話するためのボタン３０４ａ〜３０４ｇを含む。たとえば、ユーザ・インターフェース３００がマッピング・アプリケーションに対応している場合、ボタン３０４ａ〜３０４ｇは、パン、ズーム、位置のマーキング、位置の指定、およびマップ・ビューの切り替えを含むがこれらに限定されない動作に使用することができる。
【００２８】
タッチ・モードでは（たとえば、ユーザ・インターフェース３００の場合）、グラフィカル・コンポーネント（たとえば、ボタン３０２ａ〜３０２ｃ、ボタン３０４ａ〜３０４ｇ）はマウス・モードと比較してより大きいサイズにすることができる。より大きいグラフィカル・コンポーネントは、グラフィカル・コンポーネントのためのより大きな表示サイズに対応することができる。代わって、より大きいグラフィカル・コンポーネントは、表示サイズの拡大なしに、グラフィカル・コンポーネントのためのより大きな反応領域に対応することができる。諸態様の例では、マウス入力と比較してタッチ入力の方が精度が低減されるので、タッチ・モードでは、より大きいターゲットあるいはより大きいターゲット間隔またはその両方を使用することができる。
【００２９】
諸態様の例では、タッチ・モードはマウス・モードと比較して所与の時間に表示できるインターフェース・コンポーネント（たとえば、ツール）がより少ない可能性がある。マウス・モードで通常表示されるインターフェース・コンポーネントは、タッチ・モードでは初期またはデフォルト・ビューから隠され、追加のインターフェース（複数も可）（たとえば、「追加のツールの表示」ボタン）によりアクセス可能になる可能性がある。一般に、マウス・モードと比較して、ユーザにとってよりタッチフレンドリになるようにタッチ・モードを適合させることができる。たとえば、写真編集アプリケーションは、マウス・モードと比較してタッチ・モードでは、より少ないツールを表示し、一般的によりタッチフレンドリになるように適合させることができる。
【００３０】
加えて、タッチ・モードは、ホバー・イベントに応答して表示されるメニューまたはＡＬＴコンテンツなど、ホバー・コンテンツを提供することができない。したがって、マウス・モードで提供されるホバー・コンテンツの代わりに、代替インターフェース・コンポーネントを使用して、タッチ・モードで同様のコンテンツを提供することができる。たとえば、マウス・モードでホバー・イベントに応答して表示されるメニューまたはサブメニューの代わりに、タッチ・モードのユーザ・インターフェース（たとえば、ユーザ・インターフェース３００）は追加のタブまたはメニューを表示することができる。これらの追加のタブまたはメニューは、デフォルトで常に表示することができるか、またはタッチ入力に応答して表示することができる。他の例では、マウス・モードでホバー・イベントに応答して表示されるＡＬＴコンテンツの代わりに、タッチ・モードのユーザ・インターフェースは、デフォルトでまたはタッチ入力に応答して追加のコンテンツを表示することができる。
【００３１】
図２および図３に関連して、マウス・モードとタッチ・モードとを自動的に切り替えるために種々の方法が存在する。所定のイベントに応答して、アプリケーションのためのユーザ・インターフェースは、マウス・モード（たとえば、ユーザ・インターフェース２００）からタッチ・モード（たとえば、ユーザ・インターフェース３００）に切り替わることができ、逆もまた同様である。
【００３２】
モード間の自動切り替えは、タッチ入力またはマウス入力の受信に応答して行うことができる。一例では、タッチ・モードのユーザ・インターフェースを表示しているアプリケーションは、マウス入力に応答して直ちにマウス・モードに切り替わることができる。このアプリケーション（たとえば、フィンガー・ペインティング・アプリケーション）は、デフォルトでタッチ・モードの表示にすることができる。しかし、マウス入力またはキーボード入力を受信すると、このアプリケーションのユーザ・インターフェースは直ちにマウス・モードに切り替わることができ、これは、より小さいインターフェース・コンポーネントを含み、ホバー・コンテンツを含むこともできる。したがって、このアプリケーションは、マウス入力またはキーボード入力に対応するイベントを待ち受け、イベント・ハンドラを使用してそのイベントに応答するプログラム・コードを含むことができる。
【００３３】
他の例では、マウス・モードのユーザ・インターフェースを表示しているアプリケーションは、タッチ入力に応答して直ちにタッチ・モードに切り替わることができる。このアプリケーション（たとえば、ウェブ・ブラウザ）は、デフォルトでマウス・モードの表示にすることができる。しかし、タッチ入力を受信すると、このアプリケーションのユーザ・インターフェースは直ちにタッチ・モードに切り替わることができ、これは、より大きいインターフェース・コンポーネントを含み、ホバー機能を提供しない。したがって、このアプリケーションは、タッチ入力に対応するイベントを待ち受け、イベント・ハンドラを使用してそのイベントに応答するプログラム・コードを含むことができる。
【００３４】
タッチ入力またはマウス入力を受信したときにモードを切り替えることに加えて、タッチ入力またはマウス入力以外のタイプの所定のイベントに応答して切り替えを行うことも可能である。デフォルト入力モード（たとえば、マウス・モードまたはタッチ・モード）を含むアプリケーションの場合、非活動の期間が検出された後に非デフォルト・モードからデフォルト・モードへの切り替えを行うことができる。
【００３５】
上記のように、デフォルトでタッチ・モードにするアプリケーション（たとえば、フィンガー・ペインティング・アプリケーション）は、マウスまたはキーボード入力を受信したことに応答してマウス・モードに切り替わることができる。この切り替えに加えて、諸態様の例は、最後のキーボードまたはマウス入力以降の所定の期間後にマウス・モード（たとえば、非デフォルト・モード）から元のタッチ・モード（たとえば、デフォルト・モード）に切り替えることを提供する。
【００３６】
詳細には、このアプリケーション（たとえば、フィンガー・ペインティング・アプリケーション）は、キーボードまたはマウス入力を受信次第、タイマを起動することができ、最後のキーボードまたはマウス入力の受信以降、事前設定された期間が経過したかどうかをさらに判断することができる。事前設定された期間が経過した場合、このアプリケーションはマウス・モードからタッチ・モードにユーザ・インターフェースを切り替えることができる。当然のことながら、このような切り替えは、デフォルトでマウス・モードの表示にするアプリケーション（たとえば、ウェブ・ブラウザ）についても行うことができ、その場合、最後のタッチ入力の受信以降、事前設定された期間が経過したことに応答して、ユーザ・インターフェースはタッチ・モードから元のマウス・モードに切り替わる。
【００３７】
上記の所定のイベントに加えて、自動切り替えは、ユーザ・インターフェースを表示するタッチスクリーンに対するユーザ（たとえば、手または指）の近接性に応答して行うことができる。たとえば、アプリケーションがマウス・モードで表示している場合、１つまたは複数のセンサ（たとえば、カメラ）を使用して、タッチスクリーンに対するユーザの指の近接性を検出することができる。ユーザ（またはユーザの動き）がタッチスクリーンから所定の距離内にある場合、これは、ユーザがタッチ入力を使用しようとしていることを示唆する可能性がある。指の近接性を検出したことに応答して、このアプリケーションは、ユーザが実際に画面にタッチする前に、マウス・モードからタッチ・モードに自動的に切り替わることができる。
【００３８】
自動切り替えは、ユーザ・インターフェースを表示しているデバイスに外部デバイスが接続されたと判断したことに応答して行うこともできる。たとえば、このユーザ・インターフェースを有するアプリケーションを実行しているデバイスはタブレット・コンピュータに対応することができ、このユーザ・インターフェースはタッチ入力のためのタッチ・モードで表示することができる。タブレット・コンピュータのユーザは、外部キーボードまたはマウスなどの外部デバイスをタブレット・コンピュータに接続することができる。諸態様の例では、外部デバイスに接続することは、外部キーボード／マウスを含むドッキング・ステーションにタブレット・コンピュータをドッキングすることに対応することができる。外部デバイスを接続したことに応答して、このアプリケーションはタッチ・モードからマウス・モードにユーザ・インターフェースを切り替えることができる。したがって、このアプリケーションは、外部デバイスに接続することに対応するイベントを待ち受け、イベント・ハンドラを使用してそのイベントに応答するプログラム・コードを含むことができる。
【００３９】
上記の所定のイベントのそれぞれが個別に入力モード間の切り替えを開始できることに留意されたい。たとえば、デフォルトでタッチ・モードになるアプリケーション（たとえば、フィンガー・ペイント・アプリケーション）の場合、マウスクリック・イベントでユーザ・インターフェースをマウス・モードに切り替えることができ、所定の時間の間、マウス入力がないと、アプリケーションを元のタッチ・モードに切り替えさせることができる。デバイスを外部キーボードまたはマウスにドッキングすると、ユーザ・インターフェースは、もう一度、マウス・モードに切り替わることができる。さらに、ユーザの指がタッチスクリーンから所定の距離内にあることを検出すると、ユーザ・インターフェースは元のタッチ・モードに切り替わることができる。当然のことながら、これは、種々の所定のイベントに基づくモード間の切り替えの一例であり、その他のイベントの組み合わせも可能である。
【００４０】
また、マウス・モードとタッチ・モードとの切り替えはインターフェース・コンポーネントのサイズを変更することができるので、インターフェース・コンポーネント（たとえば、タッチ・ターゲット）がその初期位置から移動することが起こり得ることにも留意されたい。このため、アプリケーションは、マウスクリック／タッチ・ポイントのすぐ下にあるインターフェース・コンポーネントの位置に影響を及ぼさないように、ユーザ・インターフェースのインテリジェント・サイズ変更を提供することができる。
【００４１】
加えて、図１に関連して上記したように、モード間の切り替えは、入力モードに応じて異なるコンテンツを提供するコンテンツ・サーバ（たとえば、サーバ１１０）に対応することができる。したがって、電子デバイス（たとえば、１０２〜１０６）上で実行されているアプリケーションが入力モード間の切り替えを実行させる代わりとしてまたはそれに加えて、そのアプリケーションを実行している電子デバイスは、マウス・モードとタッチ・モードとの間で切り替えるよう、サーバ（たとえば、１１０）に指示を送信することができる。この指示を受信したことに応答して、サーバは異なるコンテンツ（たとえば、ウェブ・コンテンツ）を電子デバイスに提供することができる。この異なるコンテンツは、グラフィカル・コンポーネントのための種々の表示サイズ（または反応領域のサイズ）あるいはアプリケーション（たとえば、ウェブ・ブラウザ）内に表示するためのホバー・コンテンツ／ホバー・コンテンツなしを含むことができるが、これらに限定されない。
【００４２】
上記の例では図２および図３に示されているユーザ・インターフェースのためのマウス・モードとタッチ・モードとの切り替えについて説明しているが、主題技術はこれらのモードまたはこのようなユーザ・インターフェースに限定されない。むしろ、主題技術は種々のタイプのユーザ・インターフェースに使用することができ、そのインターフェースは、マウス入力、トラックボール入力、ペン入力、スタイラス入力、タッチ入力、あるいはトラックパッド入力、またはこれらの組み合わせなど、複数の可能性のある入力タイプの１つに適合させることができる。
【００４３】
図４は、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供するプロセスの一例を示している。開始ブロック４０２に続いて、ステップ４０４で第１の入力タイプのための第１の入力モードでユーザ・インターフェースが表示される。ステップ４０６では、所定のイベントが発生したという判断が行われ、所定のイベントは第１の入力タイプまたは第２の入力タイプ以外のタイプのものである。
【００４４】
ステップ４０８では、その判断に応答して、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースが切り替えられる。第１の入力タイプはマウス入力またはタッチ入力のうちの一方に対応することができ、第２の入力タイプはマウス入力またはタッチ入力のうちのもう一方に対応することができる。第１の入力モードまたは第２の入力モードのうちの一方はマウス入力のためのマウス・モードに対応することができ、第１の入力モードまたは第２の入力モードのうちのもう一方はタッチ入力のためのタッチ・モードに対応することができる。
【００４５】
マウス・モードでユーザ・インターフェースを表示することはそのユーザ・インターフェースでホバー・コンテンツを提供することができ、タッチ・モードでユーザ・インターフェースを表示することはそのユーザ・インターフェースでホバー・コンテンツなしを提供することができる。代わってまたは加えて、マウス・モードでユーザ・インターフェースを表示することはタッチ・モードと比較してより小さいポインタ・ターゲットをそのユーザ・インターフェースで提供することができ、タッチ・モードでユーザ・インターフェースを表示することはマウス・モードと比較してより大きいポインタ・ターゲットをそのユーザ・インターフェースで提供することができる。
【００４６】
第１の入力モードでユーザ・インターフェースを表示することは第１の入力タイプのユーザ入力の受信に応答して行うことができる。諸態様の例では、所定のイベントが発生したと判断することは、第１の入力タイプのユーザ入力を受信次第、タイマを起動することと、起動されたタイマに基づいて、第１の入力タイプのユーザ入力の受信以降、事前設定された期間が経過したと判断することを含むことができる。事前設定された期間が経過したという判断に応答して、切り替えが実行される。
【００４７】
所定のイベントが発生したと判断することは、センサを使用して、ユーザ・インターフェースが表示されている画面からユーザまでの距離（たとえば、画面からユーザの指までの距離）を検出することと、その検出に基づいて、ユーザが画面から所定の距離内にあると判断することを含むことができる。ユーザが所定の距離内にあると判断したことに応答して、切り替えが実行される。
【００４８】
ユーザ・インターフェースはデバイス上に表示される。所定のイベントが発生したと判断することは、外部デバイスがそのデバイスに接続されたと判断することを含むことができる。外部デバイスがそのデバイスに接続されたと判断したことに応答して、切り替えが実行される。たとえば、外部デバイスはキーボードまたはマウスにすることができる。次に、プロセスは終了ブロック４１０で終了する。
【００４９】
図５は、ユーザ・インターフェースのための入力モード間で自動的な切り替えを行うことを提供するプロセスの他の例を示している。開始ブロック５０２に続いて、ステップ５０４で第１の入力タイプのための第１の入力モードでユーザ・インターフェースが表示される。ステップ５０６では、所定のイベントが発生したという判断が行われる。
【００５０】
ステップ５０８では、その判断に応答して、第１の入力タイプのための第１の入力モードから第２の入力タイプのための第２の入力モードにユーザ・インターフェースが切り替えられる。第１の入力モードおよび第２の入力モードのそれぞれは１つまたは複数のグラフィカル・コンポーネントを含む。切り替えは、１つまたは複数のグラフィカル・コンポーネントのサイズを変更することを含む。
【００５１】
サイズ変更は、１つまたは複数のグラフィカル・コンポーネントの表示サイズをサイズ変更することを含むことができる。サイズ変更は、サイズ変更された表示サイズに対応するように１つまたは複数のグラフィカル・コンポーネントのための反応領域をサイズ変更することをさらに含むことができる。代わって、サイズ変更は、表示サイズをサイズ変更せずに、グラフィカル・コンポーネントの反応領域をサイズ変更することを含むことができる。
【００５２】
第１の入力タイプはマウス入力またはタッチ入力のうちの一方に対応することができ、第２の入力タイプはマウス入力またはタッチ入力のうちのもう一方に対応することができる。第１の入力モードまたは第２の入力モードのうちの一方はマウス入力のためのマウス・モードに対応することができ、第１の入力モードまたは第２の入力モードのうちのもう一方はタッチ入力のためのタッチ・モードに対応することができる。
【００５３】
所定のイベントは第１の入力タイプまたは第２の入力タイプのものにすることができる。代わってまたは加えて、所定のイベントは第１の入力タイプまたは第２の入力タイプ以外のタイプのものにすることができる。
【００５４】
図６は、それにより主題技術のいくつかの実現例を実現可能な電子システムの一例を概念的に示している。電子システム６００は、コンピュータ、電話、ＰＤＡ、または任意のその他の種類の電子デバイスにすることができる。このような電子システムは、様々なタイプのコンピュータ可読媒体と、その他の様々なタイプのコンピュータ可読媒体のためのインターフェースとを含む。電子システム６００は、バス６０８と、処理装置（複数も可）６１２と、システム・メモリ６０４と、読み取り専用メモリ（ＲＯＭ）６１０と、永久記憶装置６０２と、入力装置インターフェース６１４と、出力装置インターフェース６０６と、ネットワーク・インターフェース６１６とを含む。
【００５５】
バス６０８は、電子システム６００の多数の内部デバイスを通信可能に接続する、すべてのシステム・バス、周辺バス、およびチップセット・バスをひとまとめにして表している。たとえば、バス６０８は、処理装置（複数も可）６１２を、ＲＯＭ６１０、システム・メモリ６０４、および永久記憶装置６０２と通信可能に接続する。
【００５６】
これらの様々なメモリ・ユニットから、処理装置（複数も可）６１２は、主題開示のプロセスを実行するために、実行すべき命令および処理すべきデータを検索する。処理装置（複数も可）は、種々の実現例において単一プロセッサまたはマルチコア・プロセッサにすることができる。
【００５７】
ＲＯＭ６１０は、電子システムの処理装置（複数も可）６１２およびその他のモジュールが必要とする静的データおよび命令を保管する。これに対して、永久記憶装置６０２は読み書きメモリ・デバイスである。このデバイスは、電子システム６００がオフであるときにも命令およびデータを保管する、不揮発性メモリ・ユニットである。主題開示のいくつかの実現例では、永久記憶装置６０２として大容量記憶装置（たとえば、磁気ディスクまたは光ディスクおよびそれに対応するディスク・ドライブ）を使用する。
【００５８】
その他の実現例では、永久記憶装置６０２として取り外し可能な記憶装置（たとえば、フロッピー・ディスク、フラッシュ・ドライブ、およびそれに対応するディスク・ドライブ）を使用する。永久記憶装置６０２のように、システム・メモリ６０４は読み書きメモリ・デバイスである。しかし、記憶装置６０２とは異なり、システム・メモリ６０４は、ランダム・アクセス・メモリなどの揮発性読み書きメモリである。システム・メモリ６０４は、実行時にプロセッサが必要とする命令およびデータの一部を保管する。いくつかの実現例では、主題開示のプロセスは、システム・メモリ６０４、永久記憶装置６０２、またはＲＯＭ６１０に保管される。たとえば、様々なメモリ・ユニットはいくつかの実現例に応じて入力モード間を変更するための命令を含む。これらの様々なメモリ・ユニットから、処理装置（複数も可）６１２は、いくつかの実現例のプロセスを実行するために、実行すべき命令および処理すべきデータを検索する。
【００５９】
バス６０８は入力および出力装置インターフェース６１４および６０６にも接続する。入力装置インターフェース６１４は、ユーザが電子システムに対して情報を伝達し、コマンドを選択できるようにするものである。入力装置インターフェース６１４とともに使用される入力装置は、たとえば、英数字キーボードおよびポインティング・デバイス（「カーソル制御装置」ともいう）を含む。出力装置インターフェース６０６は、たとえば、電子システム６００によって生成された画像の表示を可能にする。出力装置インターフェース６０６とともに使用される出力装置は、たとえば、プリンタおよび表示装置、たとえば、陰極線管（ＣＲＴ）または液晶ディスプレイ（ＬＣＤ）を含む。いくつかの実現例は、入力装置および出力装置の両方として機能するデバイス、たとえば、タッチスクリーンを含む。
【００６０】
最後に、図６に示されているように、バス６０８はネットワーク・インターフェース６１６を介して電子システム６００をネットワーク（図示せず）にも結合する。このように、コンピュータは、複数コンピュータからなるネットワーク（たとえば、ローカル・エリア・ネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）、またはイントラネット）あるいは複数ネットワークからなるネットワーク、たとえば、インターネットの一部にすることができる。電子システム６００のコンポーネントの一部またはすべては主題開示に併せて使用することができる。
【００６１】
上述の特徴および適用例の多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体ともいう）上に記録された１組の命令として指定されるソフトウェア・プロセスとして実現される。これらの命令が１つまたは複数の処理装置（たとえば、１つまたは複数のプロセッサ、複数プロセッサからなるコア、あるいはその他の処理装置）によって実行される場合、これらの命令は、その命令に指示されているアクションを処理装置（複数も可）に実行させる。コンピュータ可読媒体の例としては、ＣＤ−ＲＯＭ、フラッシュ・ドライブ、ＲＡＭチップ、ハード・ドライブ、ＥＰＲＯＭなどを含むが、これらに限定されない。コンピュータ可読媒体は、無線によるかまたは有線接続により通過する電子信号ならびに搬送波を含まない。
【００６２】
本明細書では、「ソフトウェア」という用語は、読み取り専用メモリに常駐するファームウェアまたは磁気記憶装置に保管されたアプリケーションを含むものであり、どちらもプロセッサによる処理のためにメモリに読み込むことができる。また、実現例によっては、主題開示の複数のソフトウェア態様は、主題開示の別個のソフトウェア態様でありながら、より大きいプログラムのサブパートとして実現することができる。実現例によっては、複数のソフトウェア態様を別々のプログラムとして実現することもできる。最後に、本明細書に記載された１つのソフトウェア態様を一緒に実現する複数の別々のプログラムの任意の組み合わせは主題開示の範囲内である。実現例によっては、ソフトウェア・プログラムは、１つまたは複数の電子システム上で動作するようにインストールされると、そのソフトウェア・プログラムの動作を実行する１つまたは複数の特定の機械実現例を定義する。
【００６３】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、またはコードとしても知られている）は、コンパイル済みまたは解釈済み言語、宣言形または手続き形言語を含む、任意の形のプログラミング言語で作成することができ、スタンドアロン・プログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、またはコンピューティング環境での使用に適したその他のユニットとしてを含む、任意の形で配備することができる。コンピュータ・プログラムは、ファイル・システム内のファイルに対応することができるが、対応する必要があるわけではない。プログラムは、その他のプログラムまたはデータを保持する１つのファイルの一部分（たとえば、マークアップ言語文書に保管された１つまたは複数のスクリプト）内に保管するか、当該プログラムに専用の単一ファイル内に保管するか、あるいは複数の協調ファイル（たとえば、１つまたは複数のモジュール、サブプログラム、またはコードの一部分を保管するファイル）内に、保管することができる。コンピュータ・プログラムは、１つのコンピュータ上で実行するか、あるいは１つのサイトに位置するかまたは複数のサイトに分散されて通信ネットワークによって相互接続された複数のコンピュータ上で実行するように配備することができる。
【００６４】
上記のこれらの機能は、デジタル電子回路、コンピュータ・ソフトウェア、ファームウェア、またはハードウェアで実現することができる。これらの技法は１つまたは複数のコンピュータ・プログラム・プロダクトを使用して実現することができる。プログラム可能プロセッサおよびコンピュータはモバイル・デバイスに含まれるかまたはモバイル・デバイスとしてパッケージ化することができる。プロセスおよびロジック・フローは、１つまたは複数のプログラム可能プロセッサならびに１つまたは複数のプログラム可能論理回路によって実行することができる。汎用および特殊目的のコンピューティング・デバイスならびに記憶装置は、通信ネットワークにより相互接続することができる。
【００６５】
いくつかの実現例は、機械可読媒体またはコンピュータ可読媒体（代わって、コンピュータ可読記憶媒体、機械可読メディア、または機械可読記憶媒体ともいう）にコンピュータ・プログラム命令を保管する電子部品、たとえば、マイクロプロセッサ、ストレージ、およびメモリを含む。このようなコンピュータ可読媒体のいくつかの例としては、ＲＡＭ、ＲＯＭ、読み取り専用コンパクト・ディスク（ＣＤ−ＲＯＭ）、記録可能コンパクト・ディスク（ＣＤ−Ｒ）、書き換え可能コンパクト・ディスク（ＣＤ−ＲＷ）、読み取り専用デジタル多用途ディスク（たとえば、ＤＶＤ−ＲＯＭ、二重層ＤＶＤ−ＲＯＭ）、様々な記録可能／書き換え可能ＤＶＤ（たとえば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなど）、フラッシュ・メモリ（たとえば、ＳＤカード、ミニＳＤカード、マイクロＳＤカードなど）、磁気またはソリッドステート・ハード・ドライブ、読み取り専用および記録可能Ｂｌｕ−Ｒａｙ（Ｒ）ディスク、超高密度光ディスク、任意のその他の光または磁気メディア、フロッピー・ディスクを含む。コンピュータ可読媒体は、少なくとも１つの処理装置によって実行可能であって、様々な動作を実行するための複数の命令セットを含む、コンピュータ・プログラムを保管することができる。コンピュータ・プログラムまたはコンピュータ・コードの例としては、たとえば、コンパイラによって生成される機械コード、ならびに、インタープリタを使用してコンピュータ、電子部品、またはマイクロプロセッサによって実行される高レベル・コードを含むファイルを含む。
【００６６】
上記の考察では主にソフトウェアを実行するマイクロプロセッサまたはマルチコア・プロセッサに言及しているが、いくつかの実現例は、１つまたは複数の集積回路、たとえば、特定用途向け集積回路（ＡＳＩＣ）またはフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）によって実行される。実現例によっては、このような集積回路は集積回路自体に保管された命令を実行する。
【００６７】
本明細書ならびに本出願のいずれかの請求項で使用されるように、「コンピュータ」、「サーバ」、「プロセッサ」、および「メモリ」という用語はいずれも、電子デバイスまたはその他の技術的デバイスを指している。これらの用語は人または人のグループを除外するものである。本明細書のために、ディスプレイまたは表示という用語は、電子デバイス上で表示することを意味する。本明細書ならびに本出願のいずれかの請求項で使用されるように、「コンピュータ可読媒体」および「コンピュータ可読メディア」という用語は、コンピュータによって読み取り可能な形で情報を保管する、有形かつ物理的な対象物に完全に限定される。これらの用語は、任意の無線信号、有線ダウンロード信号、および任意のその他の一過性の信号を除外するものである。
【００６８】
ユーザとの対話を可能にするために、本明細書に記載された主題の実現例は、ユーザに対して情報を表示するための表示装置、たとえば、ＣＲＴ（陰極線管）またはＬＣＤ（液晶ディスプレイ）モニターと、それによりユーザがコンピュータに対して入力を行うことができるキーボードおよびポインティング・デバイス、たとえば、マウスまたはトラックボールとを有するコンピュータ上で実現することができる。ユーザとの対話を可能にするために、その他の種類のデバイスを使用することもでき、たとえば、ユーザに提供されるフィードバックは任意の形の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックにすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む、任意の形で受け取ることができる。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、ユーザと対話することができ、たとえば、ウェブ・ブラウザから受信した要求に応答してユーザのクライアント・デバイス上のウェブ・ブラウザにウェブ・ページを送信することによって対話することができる。
【００６９】
本明細書に記載された主題の諸実施形態は、バックエンド・コンポーネント、たとえば、データ・サーバを含むか、ミドルウェア・コンポーネント、たとえば、アプリケーション・サーバを含むか、あるいはフロントエンド・コンポーネント、たとえば、それによりユーザが本明細書に記載された主題の一実現例と対話することができるグラフィカル・ユーザ・インターフェースまたはウェブ・ブラウザを有するクライアント・コンピュータを含むか、１つまたは複数のこのようなバックエンド・コンポーネント、ミドルウェア・コンポーネント、またはフロントエンド・コンポーネントの任意の組み合わせを含む、コンピューティング・システムで実現することができる。システムのコンポーネントは、任意の形または手段のデジタル・データ通信、たとえば、通信ネットワークによって相互接続することができる。通信ネットワークの例としては、ローカル・エリア・ネットワーク（「ＬＡＮ」）および広域ネットワーク（「ＷＡＮ」）、インターネットワーク（たとえば、インターネット）、ならびにピアツーピア・ネットワーク（たとえば、アドホック・ピアツーピア・ネットワーク）を含む。
【００７０】
コンピューティング・システムはクライアントとサーバを含むことができる。クライアントとサーバは一般に相互に遠く離れており、典型的に通信ネットワークにより対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、相互にクライアント・サーバの関係を有するコンピュータ・プログラムによって発生する。実現例によっては、サーバはクライアント・デバイスにデータ（たとえば、ＨＴＭＬページ）を伝送する（たとえば、クライアント・デバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信するため）。クライアント・デバイスで生成されたデータ（たとえば、ユーザ対話の結果）はサーバ側でクライアント・デバイスから受信することができる。
【００７１】
開示されているプロセスにおける諸ステップの任意の特定の順序または階層は手法例の例示であることは言うまでもない。設計上の好みに基づいて、プロセスにおける諸ステップの特定の順序または階層を再編成できることあるいは例示されているすべてのステップを実行できることは言うまでもない。諸ステップのうちのいくつかは同時に実行することができる。たとえば、特定の状況では、多重タスク処理および並列処理が有利である可能性がある。その上、上記の諸実施形態における様々なシステム・コンポーネントの分離はすべての実施形態においてこのような分離を要求するものと理解すべきではなく、上記のプログラム・コンポーネントおよびシステムは一般に単一ソフトウェア・プロダクトに一緒に統合できるかまたは複数のソフトウェア・プロダクトにパッケージ化できることを理解されたい。
【００７２】
上記の説明は、当業者が本明細書に記載された様々な態様を実践できるように提供されたものである。これらの態様に対する様々な変更は当業者にとって容易に明らかになり、本明細書に定義された包括的原理はその他の態様に適用することができる。したがって、特許請求の範囲は本明細書に示されている諸態様に限定するためのものではなく、請求項の表現と一致した全範囲が授与されるべきであり、その請求項においては単数形の要素に対する言及は、特にそのように指定されない限り、「唯一のもの（one and only one）」を意味するものではなく、むしろ「１つまたは複数（one or more）」を意味するものである。特に他の指定がない限り、「いくつかの（some）」という用語は１つまたは複数を指している。男性形の代名詞（たとえば、彼の（his））は女性形および中性形（たとえば、彼女の（her）およびそれの（its））を含み、逆もまた同様である。見出しおよび小見出しがある場合、便宜上使用されているだけであり、主題開示を限定するものではない。
【００７３】
「態様（aspect）」などの語句は、このような態様が主題技術にとって不可欠であることまたはこのような態様が主題技術のすべての構成に適用されることを意味するものではない。一態様に関連する開示内容はすべての構成に適用される場合もあれば、１つまたは複数の構成に適用される場合もある。一態様などの語句は１つまたは複数の態様を指す可能性があり、逆もまた同様である。「構成（configuration）」などの語句は、このような構成が主題技術にとって不可欠であることまたはこのような構成が主題技術のすべての構成に適用されることを意味するものではない。一構成に関連する開示内容はすべての構成に適用される場合もあれば、１つまたは複数の構成に適用される場合もある。一構成などの語句は１つまたは複数の構成を指す可能性があり、逆もまた同様である。
【符号の説明】
【００７４】
１００  ネットワーク環境
１０２  電子デバイス
１０４  電子デバイス
１０６  電子デバイス
１０８  ネットワーク
１１０  サーバ
１１２  処理装置
１１４  データ・ストア
【図１】
0006037973.tif 000002
【図２】
0006037973.tif 000003
【図３】
0006037973.tif 000004
【図４】
0006037973.tif 000005
【図５】
0006037973.tif 000006
【図６】
0006037973.tif 000007