(57)【特許請求の範囲】
【請求項１】
動的コンテキストベースメニューを提供するための、コンピューティングデバイス内で少なくとも部分的に実行される方法であって、
ユーザインタフェース上に表示されたコンテンツの一部の選択、挿入点グリッパ上のタップ動作、および、前記ユーザインタフェース上のランチャインジケータに関連付けられた動作のうちの１つの検出に応じて、前記表示されたコンテンツの前記選択された部分、表示されたコンテンツの種類、利用可能な表示領域、およびユーザインタフェースの境界の組からの少なくとも１つに基づいて動的に選択された位置に前記コンテキストベースメニューを提示する工程と、
前記コンテキストベースメニューに関連する利用可能な項目を、スクロールするリスト様式で、前記コンテキストベースメニューの中心および近傍のうちの１つに表示する工程と、
前記利用可能な項目からの１つまたは複数の項目の選択の検出に応じて、コマンドを実行する工程および前記選択された１つまたは複数の項目に関連付けられたサブメニューを表示する工程のうちの一方と、を含む、方法。
【請求項２】
前記動作は、前記ユーザインタフェース上の固定されたランチャインジケータ上のタップ動作、動的なランチャインジケータ上のタップ動作、前記動的なランチャインジケータ上のスワイプ動作、キーボード入力の組み合わせ、マウス入力、ペン入力、選択されたオブジェクト上のタップ動作、１対のコンテンツ選択ハンドルの一方の上でのタップ動作、加速度センサベースの入力、方位センサベースの入力、光学的に取り込まれたジェスチャ、時間ベースの入力、別のデバイスへの近接、別の人間への近接、および、ある場所への近接の組からの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記ユーザインタフェース上の固定された位置に前記コンテキストベースメニューを提示する工程をさらに含む、請求項１に記載の方法。
【請求項４】
ユーザ属性に基づいて、前記表示されたコンテンツの前記選択された部分の左側、右側、上部、および下部のうちの１つに沿って、前記コンテキストベースメニューを提示する工程をさらに含む、請求項１に記載の方法。
【請求項５】
前記利用可能な表示領域の変化に応じて、前記コンテキストベースメニューを前記ユーザインタフェース上の異なる位置に移動させる工程をさらに含む、請求項１に記載の方法。
【請求項６】
前記コンテキストベースメニューが、コマンドの異なるカテゴリを表す項目を提示する実質的に放射状のメニューおよびリストスタイルのメニューのうちの一方を含み、表示される項目のカテゴリが前記コンテキストベースメニュー上の項目の提示を変更し、前記コンテキストベースメニューが前記表示されたコンテンツの前記選択された部分と接続されるように、前記コンテキストベースメニュー上に表示される項目の数およびメニュー形式のうちの少なくとも一方が、利用可能な表示領域および選択されたコンテンツの種類に基づいて調整される、請求項１に記載の方法。
【請求項７】
前記コンテキストベースメニューが、実質的に放射状、実質的に矩形、真っ直ぐな線状、湾曲した線状、花状、および不規則な形状のうちの１つを有する、請求項６に記載の方法。
【請求項８】
実質的に放射形状のコンテキストベースメニュー上の回転スワイプ動作を介して、前記利用可能な項目の選択を可能にする工程をさらに含む、請求項１に記載の方法。
【請求項９】
動的コンテキストベースメニューを提供するためのコンピューティングデバイスであって、
入力デバイスと、
メモリと、
前記メモリおよび前記入力デバイスに結合されたプロセッサと
を備え、前記プロセッサは、アプリケーションを実行し、前記アプリケーションに関連付けられたユーザインタフェースを画面上に表示させ、前記プロセッサが、
ユーザインタフェース上の表示されたコンテンツの一部の選択、挿入点グリッパ上のタップ動作、および前記ユーザインタフェース上のランチャインジケータに関連付けられた動作のうちの１つの検出に応じて、前記表示されたコンテンツの前記選択された部分、表示されたコンテンツの種類、利用可能な表示領域、およびユーザインタフェースの境界、の組からの少なくとも１つに基づいて動的に選択された位置に前記コンテキストベースメニューを提示し、
前記コンテキストベースメニューに関連する利用可能な項目を、スクロールするリスト様式で、前記コンテキストベースメニューの中心および近傍のうちの１つに表示し、
前記利用可能な項目からの１つまたは複数の項目の選択の検出に応じて、コマンドを実行すること、および、前記選択された１つまたは複数の項目に関連付けられたサブメニューを表示することのうちの少なくとも１つを行う
ように構成される、コンピューティングデバイス。
【請求項１０】
前記利用可能な項目が、マウスホバー、キーボードフォーカス、押された項目、選択された項目、選択されたホバー、無効化された項目、無効化されたホバー、および通常の状態のうちの１つまたは複数を含む現在の状態を表す、請求項９に記載のコンピューティングデバイス。
【請求項１１】
前記アプリケーションが、ユーザが、ブラウザまたはクライアントデバイスを介して、表示されたコンテンツと相互作用することを可能にする、ウェブベースのアプリケーションおよびクラウドベースのアプリケーションのうちの１つである、請求項９に記載のコンピューティングデバイス。
【請求項１２】
前記コンテキストベースメニューが放射形状を有し、前記項目が前記コンテキストベースメニューのハブおよびスポークスタイルのセグメント上に表示され、サブメニューへの１つまたは複数のリンクが、前記コンテキストベースメニューの中心の近傍および前記コンテキストベースメニューの外半径沿いのうちの一方で表示される、請求項９に記載のコンピューティングデバイス。
【請求項１３】
タッチおよびジェスチャ対応のデバイスのための動的コンテキストベースメニューを提供するための命令を格納したコンピュータ可読メモリデバイスであって、前記命令が、
ユーザインタフェース上の表示されたコンテンツの一部の選択、挿入点グリッパ上のタップ動作、および前記ユーザインタフェース上のランチャインジケータに関連付けられた動作のうちの１つの検出に応じて、前記表示されたコンテンツの前記選択された部分、表示されたコンテンツの種類、利用可能な表示領域、およびユーザインタフェースの境界の組からの少なくとも１つに基づいて動的に選択された位置に前記コンテキストベースメニューを提示する工程と、
前記コンテキストベースメニューに関連する利用可能な項目を、スクロールするリスト様式で、前記コンテキストベースメニューの中心および近傍のうちの１つに表示する工程と、
前記利用可能な項目からの１つまたは複数の項目の選択の検出に応じて、コマンドを実行する工程、および前記選択された１つまたは複数の項目に関連付けられたサブメニューを表示する工程のうちの１つと、
を含む、コンピュータ可読メモリデバイス。
【請求項１４】
前記利用可能な各項目が、グラフィックオブジェクト、テキストオブジェクト、ならびにグラフィックおよびテキストオブジェクトの組み合わせのうちの１つを含み、色スキーム、グラフィカルスキーム、アニメーションスキーム、および網掛けスキームの組からの少なくとも１つが、前記コンテキストベースメニューの視覚的効果を高めるために用いられる、請求項１３に記載のコンピュータ可読メモリデバイス。
【請求項１５】
前記命令が、
アニメーションスキームを介して、コンテキストベースメニューランチャ、前記コンテキストベースメニュー、前記コンテキストベースメニュー上の項目、および、サブメニューの組からの少なくとも１つの出現、提示、および消失のうちの１つを提示する工程をさらに含む、請求項１４に記載のコンピュータ可読メモリデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]コンピューティングおよびネットワーキング技術の普及と共に、コンピューティングデバイスの２つの態様、すなわち、従来型（例えば、マウスおよびキーボード）ではない入力メカニズム、ならびにより小さいフォームファクタが普及してきている。すべての種類のソフトウェアアプリケーションのためのユーザインタフェースは、典型的な画面サイズおよび入力メカニズムを考慮して設計されている。したがって、従来のシステムのユーザインタフェースは、キーボードおよびマウス型入力デバイス、ならびにユーザが特定の精度でユーザインタフェースと相互作用することができる最小の画面サイズを介するものと推定される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]タッチ対応またはジェスチャ対応デバイス用のメニューは、特別な制約および課題を有する。例えば、このようなメニューは、タッチおよびジェスチャ対応である必要があり、マウスより低い精度でアクセス可能である必要がある。メニューは、広い画面領域を専有しない場合があり、利用可能な画面領域の変化（例えば、横長画面／縦長画面の変化、様々な分解能、仮想キーボードの出現／消失、など）に柔軟である必要がある。メニューは、タッチデバイスに特定の機能（例えば、異なるジェスチャへの応答）を使用する必要があり、依然として従来のマウスおよびキーボードで機能する必要がある。主に読み取り専用であり、モバイルデバイス上で長い時間、長い文章を編集する可能性が低いモバイルデバイス上では、ユーザが、突発的な作業を生産的アプリケーション上で実行する傾向がある可能性がある。したがって、従来のメニューは、この使用モデルに対処するように調整されていない。それらは、また、様々なコンテキストおよび／または位置（例えば、１本の指／親指の使用／デスクおよびタイピングに向かう）で快適でなく、効率的でない。さらに、コマンド体験は、コンテンツ作成のために非常により豊富である必要があり、タッチが与える、より直接的な相互作用により期待される、自然で楽しい体験を提供する必要がある。
【課題を解決するための手段】
【０００３】
[0003]この概要は、以下の詳細な説明でさらに詳細に説明される概念の選択を簡略化した形式で紹介するために提供される。この概要は、特許請求される主題の主要な特徴または本質的な特徴を排他的に認定することを意図されず、特許請求された主題の範囲を決定する際の助けとしても意図されない。
【０００４】
[0004]実施形態は、動的に配置され、レイアウトされ、活性化され得るコンテキストベースメニューに向けられる。複数の実行可能コマンド、および／または、サブメニューへのリンクを提示する時、コンテキストベースメニューが、ユーザインタフェース上に表示された選択されたコンテンツ、ならびに／または利用可能な表示空間、ユーザ属性、および同様のもののような他の要因に関連する様々な形状および形式で表示されてよい。カテゴリ内のコマンドを提示するサブメニューが、親コンテキストベースメニューの代わりに、親コンテキストベースメニューに隣接して、または、親コンテキストベースメニューと重なって表示されてよい。メニューの位置、コンテンツ、および／または形状は、選択されたコンテンツの変化、ユーザ接触位置、ユーザインタフェースの変化、などに応じて調整されてよい。
【０００５】
[0005]これらおよび他の特徴および利点は、以下の詳細な説明を読むこと、および、関連する図面の検討から明らかになるであろう。前述の一般的な説明、および、以下の詳細な説明の両方は、説明的であり、特許請求される態様を制限しないことが、理解されるべきである。
【図面の簡単な説明】
【０００６】
【図１Ａ】[0006]コンテキストベースメニューが用いられ得るいくつかの例示的なデバイスを示す図である。
【図１Ｂ】コンテキストベースメニューが用いられ得るいくつかの例示的なデバイスを示す図である。
【図２】[0007]実施形態による例示的なコンテキストベースメニューおよび関連するサブメニューの起動および提示を示す図である。
【図３】[0008]実施形態による、表示されたコンテンツ上、および、タッチベースのデバイスの画面上の例示的なコンテキストベースメニューの配置を示す図である。
【図４Ａ】[0009]実施形態による、異なる形状のいくつかの例示的なコンテキストベースメニュー、および、コンテキストベースメニューを介して利用可能な項目を選択するための例示的な構成を示す図である。
【図４Ｂ】実施形態による、異なる形状のいくつかの例示的なコンテキストベースメニュー、および、コンテキストベースメニューを介して利用可能な項目を選択するための例示的な構成を示す図である。
【図４Ｃ】実施形態による、異なる形状のいくつかの例示的なコンテキストベースメニュー、および、コンテキストベースメニューを介して利用可能な項目を選択するための例示的な構成を示す図である。
【図４Ｄ】実施形態による、異なる形状のいくつかの例示的なコンテキストベースメニュー、および、コンテキストベースメニューを介して利用可能な項目を選択するための例示的な構成を示す図である。
【図４Ｅ】実施形態による、異なる形状のいくつかの例示的なコンテキストベースメニュー、および、コンテキストベースメニューを介して利用可能な項目を選択するための例示的な構成を示す図である。
【図５】[0010]いくつかの実施形態による例示的なコンテキストベースメニューの異なる態様を示す図である。
【図６】[0011]いくつかの実施形態による例示的なコンテキストベースメニューでの、空セグメントの使用、および、複数の項目選択の表示を示す図である。
【図７】[0012]他の実施形態による例示的なコンテキストベースメニューでの、アニメーション化された表示の使用、および、キーボード支援の表示を示す図である。
【図８】[0013]いくつかの実施形態による例示的なコンテキストベースメニューの他の態様を示す図である。
【図９】[0014]いくつかの実施形態による例示的な部分的コンテキストベースメニューを示す。
【図１０】[0015]実施形態によるシステムが実装され得るネットワーク環境を示す図である。
【図１１】[0016]実施形態が実装され得る例示的なコンピューティング動作環境のブロック図である。
【図１２】[0017]実施形態による動的コンテキストベースメニューを用いるプロセスの論理フロー図である。
【発明を実施するための形態】
【０００７】
[0018]簡単に前述したように、動的コンテキストベースメニューは、ユーザインタフェース上に表示された選択されたコンテンツ、ならびに／または、利用可能な表示空間、ユーザ属性、および同様のもののような他の要因に関連する様々な形状および形式で、複数の実行可能コマンド、および／または、サブメニューへのリンクを提示する。
【０００８】
[0019]以下の詳細な説明では、本明細書の一部を形成する添付図面への参照が行われ、添付図面では、特定の実施形態または例が、例示として示される。これらの態様は、組み合わされてよく、他の態様が、使用されてよく、構造的変更が、本開示の要旨または範囲から逸脱することなく、行われてよい。したがって、以下の詳細な説明は、限定的な意味に解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲およびそれらの等価物によって定義される。実施形態は、パーソナルコンピュータ上のオペレーティングシステム上で動作するアプリケーションプログラムと共に実行するプログラムモジュールの一般的な文脈で説明されることになるが、当業者は、態様は、他のプログラムモジュールとの組み合わせで実現されてもよいことを認識するであろう。
【０００９】
[0020]一般に、プログラムモジュールは、ルーチン、プログラム、構成要素、データ構造、および、特定のタスクを実行する、または、特定の抽象データ型を実装する他の種類の構造を含む。さらに、当業者は、実施形態は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な民生用電子機器、ミニコンピュータ、メインフレームコンピュータ、および、同等のコンピューティングデバイスを含む、他のコンピュータシステム構成で実施されてよいことを理解するであろう。実施形態は、タスクが、通信ネットワークを介してリンクされたリモート処理デバイスによって実行される、分散コンピューティング環境で実施されてもよい。分散コンピューティング環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶デバイスの両方に配置されてよい。
【００１０】
[0021]実施形態は、コンピュータ実装プロセス（方法）、コンピューティングシステム、または、コンピュータプログラム製品もしくはコンピュータ可読媒体のような製品として実装されてよい。コンピュータプログラム製品は、コンピュータシステムによって読み取り可能で、コンピュータまたはコンピューティングシステムに例示的なプロセス（複数可）を実行させる命令を含むコンピュータプログラムを符号化するコンピュータ記憶媒体であってよい。コンピュータ可読記憶媒体は、コンピュータ可読メモリデバイスであってよい。コンピュータ可読記憶媒体は、例えば、揮発性コンピュータメモリ、不揮発性コンピュータメモリ、ハードドライブ、フラッシュドライブ、フロッピー（登録商標）ディスク、コンパクトディスク、および同等の媒体の１つまたは複数を介して実装されてよい。
【００１１】
[0022]実施形態によれば、タッチ対応またはジェスチャ対応デバイスのユーザインタフェースは、表示されたコンテンツを管理するために、コンテキストベースメニューを用いることができる。コンテキストベースメニューは、タッチまたはジェスチャ対応コンピューティングデバイスに特定の機能を利用することができるが、従来のマウスおよびキーボードで動作することもできる。コンテキストベースメニューは、文書、電子メール、連絡先リスト、他の通信、または任意のコンテンツ（例えば、オーディオ、ビデオ、など）のような表示されたコンテンツを閲覧または編集する間に、よく使用されるコマンドへの迅速なアクセスを提供するために使用される。コンテキストベースメニューは、ユーザインタフェースの外側または内側の別個の表示ペイン（ｐａｎｅ）（例えば、ウィンドウ）内などに、ユーザインタフェースの通常のメニューの一部として出現してよい。典型的には、コンテキストベースメニューは、容易なユーザアクセスのためのコマンドの制限された組を提示するが、追加のサブメニューが、ユーザ選択に応じて提示されてよい。よく使用されるコンテキストベースメニューが、閲覧される文書上に出現してよい。本明細書で使用されるタップまたはスワイプ動作は、指、ペン、マウス、または同様のデバイスを介して、かつ予め定義されたキーボード入力の組み合わせ、または音声コマンドを介して、ユーザによって提供されてよい。
【００１２】
[0023]図１Ａおよび１Ｂは、コンテキストベースメニューが用いられ得るいくつかの例示的なデバイスを示す。タッチおよびジェスチャベースの技術が普及しており、これらの技術を用いるコンピューティングデバイスが一般的になってきているため、ユーザインタフェース配置が課題になる。タッチおよび／またはジェスチャベースのデバイス、特に携帯デバイスは、より小さい画面サイズを有する傾向があり、これは、ユーザインタフェースのためのより少ない利用可能な空間を意味する。例えば、文書（テキストおよび／またはグラフィックス）の編集を可能にするユーザインタフェースでは、文書の提示部分に加えて、仮想キーボードが表示されなければならない場合があり、利用可能な空間（「不動産」）をさらに制限する。したがって、このようなシナリオでは、完全な制御メニューを提供することは、非実用的または不可能である可能性がある。いくつかの実施形態は、動的なタッチまたはジェスチャ対応のコンテキストベースメニューに向けられる。
【００１３】
[0024]上述したように、より小さい利用可能な表示空間、より大きいコンテンツ、および、異なるアスペクト比は、従来のメニューを非実用的にする。タブレットＰＣおよび類似したもののような既存のタッチ対応デバイスは、典型的には、データ消費（例えば、表示）に向けられる。他方では、ワードプロセッシングアプリケーション、スプレッドシートアプリケーション、プレゼンテーションアプリケーション、および同等のもののような、よく使用されるアプリケーションは、作成（例えば、テキスト、グラフィカル、および他のコンテンツを有する文書を生成および編集する）に向けられる。現在利用可能なコンテキストベースメニューは、ほとんどの時間不可視であるか、それらは、それらが可視の場合、コンテンツを妨げる。いくつかの実施形態によるコンテキストベースメニューは、提示されたコンテンツおよび利用可能な空間に基づいて、動的に提供されてよく、多くの必要とされる表示領域を奪うことなく、使いやすさを提供するランチャメカニズムを介して活性化されてよい。
【００１４】
[0025]図１Ａおよび１Ｂを参照すると、タッチまたはジェスチャ対応のコンテキストベースメニューが、実施形態によるランチャメカニズムによる活性化を介して提供され得る、いくつかの例示的なデバイスが示される。実施形態は、デバイスが、タッチおよび／またはジェスチャ対応であるかぎり、フォームファクタおよび能力を変えることで、他のデバイスに同様に実装されてよい。
【００１５】
[0026]図１Ａ中のデバイス１０４は、ユーザインタフェースが画面１０６上に提供され得る大きいサイズの表示装置の一例である。様々なアプリケーションの機能が、ハードウェア制御１０８、および／または、画面１０６上に表示されるタッチもしくはジェスチャ対応メニューのようなソフト制御を介して制御されてよい。ユーザは、タッチ動作または（ビデオキャプチャデバイスによって検出される）ジェスチャを介して、ユーザインタフェースと相互作用することができてよい。コンテキストベースメニューは、固定された位置に、または、選択されたコンテンツ、利用可能な表示領域、および同様の要因に基づいて、動的に調節可能な位置に提示されてよい。デバイス１０４の例は、公共情報表示ユニット、大型コンピュータモニタ、などを含むことができる。例示的な実施形態は、利用可能な表示領域が貴重で、コンテキストベースメニューの位置、サイズ、コンテンツ、などが、利用可能な表示領域に基づいて決定され得る、小さいサイズのディスプレイに関連して説明されるが、逆の配慮が、より大きいディスプレイでは考慮される可能性がある。例えば、公共情報表示ユニットまたは大型コンピュータモニタのような大きいサイズのディスプレイでは、コンテキストベースメニューは、ユーザが、メニュー上に手を伸ばす必要がないように、または、快適に作業するために、メニューを移動させる必要がないように、選択されたコンテンツの近傍に動的に配置されてよい。
【００１６】
[0027]図１Ａ中のデバイス１１２は、機能を制御するためのジェスチャベースのメニューの使用に関する一例である。ユーザインタフェースが、画面上に表示、または、表面上に投影されてよく、ユーザ１１０の動作は、ビデオキャプチャデバイス１１４を介して、ジェスチャとして検出されてよい。ユーザのジェスチャは、デバイス１１２上に表示されるタッチまたはジェスチャ対応のメニューを活性化することができる。
【００１７】
[0028]図１Ｂは、コンピューティング、通信、制御、測定、およびいくつかの他の目的のために使用され得る、タッチ対応コンピュータモニタ１１６、ラップトップコンピュータ１１８、ハンドヘルドコンピュータ１２４、スマートフォン１２６、タブレットコンピュータ（または、スレート）１２８、およびモバイルコンピューティングデバイス１３２のようないくつかの例示的なデバイスを含む。図１Ｂ中の例示的なデバイスは、タッチ活性化１２０と共に示される。しかしながら、これらおよび他の例示的なデバイスのいずれも、コンテキストベースメニューのジェスチャ対応の活性化を用いることもできる。加えて、ペン１３０のようなツールが、タッチ入力を提供するために使用されてよい。ランチャインジケータ、および、タッチまたはジェスチャ対応のコンテキストベースメニューは、マウス入力、またはキーボード１２２を介する入力のような従来の方法を介しても制御されてよい。
【００１８】
[0029]図２は、実施形態による例示的なコンテキストベースメニューおよび関連するサブメニューの起動および提示を示す。実施形態によるコンテキストベースメニューは、フォーカスポイント（挿入ポイントまたは選択部）の近くに出現することができ、効率的な呼び出しおよび／または使用を可能にすることができ、コマンドがコンテキストによって範囲決定されることを可能にすることができ、（放射形状を介する）増加した走査能力を提供することができ、初めてのユーザのための高速な学習曲線を可能にすることができ、ユーザ体験を強化することができる。このようなメニューは、ウェブブラウザのような、コンテンツが表示および／または編集されることを可能にする任意のアプリケーションに、かつオペレーティングシステムのユーザインタフェースに実装されてよい。
【００１９】
[0030]図２中のランチャインジケータおよびコンテキストベースメニューの例示的な構成は、例示的なユーザインタフェース上に示され、例示的なユーザインタフェースのそれぞれは、テキストメニュー、グラフィカルコマンドアイコン、ならびにテキストおよび／またはグラフィカルコンテンツを含む。実施形態によるコンテキストベースメニューは、他の種類のメニューの有無に係わらず、任意の種類のコンテンツを有する任意のユーザインタフェース上で用いられてよい。ユーザインタフェース２０２を参照すると、ランチャインジケータ２０６は、ユーザインタフェース上の選択ハンドル間の選択部２０４の近傍で使用されてよい。ユーザインタフェースが選択を許可しないか、表示領域が限られている場合、固定された位置が、インジケータ２０６および／または下にあるコンテキストベースメニューに使用されてよい。代わりに、ランチャは、隠されてよく、異なるジェスチャ（例えば、選択部上のタップ）が、下にあるコンテキストベースメニューのための活性化として機能することができる。キーボード、マウス、タッチ、ジェスチャ、ペン入力、音声コマンドは、コンテキストベースメニューと組み合わせて使用され得るいくつかの例示的な入力メカニズムである。他の例示的な入力メカニズムは、加速度計または方位センサベースの入力、光学的に取り込まれたジェスチャ、時間ベースの入力、他のデバイス／人間／場所への近接、などを含むことができるが、これらに限定されない。
【００２０】
[0031]ランチャインジケータ２０６の活性化（２０８）に応じて、トップレベルコンテキストベースメニュー２１２が、ユーザインタフェース２１０上に示されるように、選択されたコンテンツに関連して表示されてよい。コンテキストベースメニューの位置は、ユーザインタフェース上の固定された位置に、または、表示されたコンテンツの選択された部分、表示されたコンテンツの種類、利用可能な表示領域、ユーザインタフェースの境界、および／もしくは、デバイスの種類に基づいて動的に選択された位置に選択されてよい。コンテキストベースメニューを表示するために、選択されたコンテンツとユーザインタフェースの境界との間に十分な表示領域が存在しない場合、コンテキストベースメニューは、自動的に、ユーザインタフェースの別の場所に移動されてよく、そのサイズが減少されてよく、または、コンテキストベースが部分的に表示されてよい。さらに、コンテキストベースメニュー２１２は、表示されたコンテンツの選択された部分のサイズの変化、ユーザインタフェースのサイズの変化、または、ユーザインタフェースの向きの変化に応じて移動されてよく、その形状またはサイズが調整されてよい。
【００２１】
[0032]コンテキストベースメニュー２１２が、放射形状に表示されるが、メニューは、以下により詳細に説明するような、実質的に放射状、実質的に矩形、真っ直ぐなインライン、湾曲したインライン、花状、または、不規則な形状を有することができる。タップ動作、スワイプ動作、または長押し動作を介する、コンテキストベースメニュー２１２上に表示された項目の１つの選択（２１４）に応じて、ユーザインタフェース２２０上のサブメニュー２２６が表示されてよい。例示的な図では、サブメニュー２２６は、コンテキストベースメニュー２２２と重なって示される。他の構成では、サブメニューは、コンテキストベースメニューを置き換えてよく、または、同時に別々の位置に表示されてよい。
【００２２】
[0033]コンテキストベースメニュー２２２上の項目は、コマンドの様々なカテゴリ、または、個々のカテゴリ内のコマンドを表すサブメニューにそれぞれ関連付けられたリンクを表すことができる。上述した動作の１つを介するサブメニュー２２６上のコマンドの選択（２２４）に応じて、コマンドは、選択されたコンテンツに適用されてよい。コマンドの実行が完了すると、サブメニューは、隠されてよく、または表示に残ってよい。
【００２３】
[0034]図３は、実施形態による、表示されたコンテンツ上の、および、タッチベースのデバイスの画面上の、例示的なコンテキストベースメニューの配置を示す。例示的なビュー３０２は、選択された部分３０４を有するテキストコンテンツを含む。上述したように、実施形態によるコンテキストベースメニューは、選択されたコンテンツに関連して表示されてよく、これは、いくつかの場合では（例えば、空いている表示空間が利用できない場合）、選択されたコンテンツ上にメニューを表示することを含んでよい。したがって、コンテキストベースメニュー３０６は、選択された部分３０４の上に表示される。実施形態によるシステムは、コンテキストベースメニューを位置決めする際に、以下の動作を実行することができる。第１に、メニューは、現在選択されているテキストのすぐ右（または、アラビア語またはヘブライ語のような双方向言語では左）の余白領域に配置されるように試みられてよい。複数のラインが選択される場合、メニューは、ビュー内の選択されたラインの垂直方向中央に配置されてよい（すなわち、ラインのいくつかが、ページ外にスクロールされる場合、それらは、メニューを配置する場所を計算する際に除外されてよい）。位置が、画面の上部または下部である（すなわち、水平方向の位置は、正しいが、垂直方向の位置が、画面外である可能性がある）ため、第１の試みが失敗する場合、メニューは、画面上にちょうど収まるように、下方または上方にそれぞれシフトされてよい。メニューが、そこに水平方向に配置され得ないため、第１の試みが失敗する場合、メニューは、表示されたコンテンツ選択部の上方に移動され、同じ水平方向の位置に配置されることが試みられてよい。依然として機能しない場合、システムは、メニューを選択部の下方に移動し、同じ水平方向の位置に配置することを試みてよい。動作の最後の組が機能しない場合、それは、おそらく、選択部がページ全体を覆うことを意味する。その場合、メニューは、できるかぎり画面の右（または左）側の近くに配置されてよく、このとき、選択部と重なる。コンテンツが配置される位置が変化する場合（例えば、テキスト幅が大きくなる、または、画像が大きくなる場合）メニューは、再び上述した規則に基づいて配置されてよい。
【００２４】
[0035]いくつかの実施形態では、ジェスチャ、またはタップおよび／もしくはスワイプのようなタッチ動作を可能にするコンテキストベースメニューが、現在の選択部に対して出現することができる。他の例では、コンテキストベースメニューは、コンテンツの変化のための余地を認めることができる。例えば、コンテキストベースメニューは、表が、インジケータを妨げることなく、大きくなれるように、表から一定の距離で、表内に出現することができる。コンテキストベースメニューは、下にあるオブジェクトのサイズが変化する場合（より多くのテキストが、テキストのラインに追加される場合、または、画像のサイズが、増加または減少される場合、列または行が、表に追加される場合、など）、移動されてもよい。前述したように、公共情報表示ユニットまたは大型コンピュータモニタのような大きいサイズのディスプレイでは、コンテキストベースメニューは、ユーザが、メニュー上に手を伸ばす必要がないように、または、快適に作業するために、メニューを移動させる必要がないように、選択されたコンテンツの近傍に動的に配置されてよい。代わりに、動的に配置されたコンテキストベースメニューは、複数の人間が、同じディスプレイ上で作業することも可能にする。例えば、コンテキストベースメニューは、一度に１つより多くの選択部に結び付けられてよく、１人より多くの人間が同時に編集することを可能にするツールの組が、選択部に提供されてよい。
【００２５】
[0036]例示的なユーザインタフェース３１０は、どのようにコンテキストベースメニュー３１４が、モバイルまたはハンドヘルドタッチ／ジェスチャ対応デバイスで用いられ得るかを示す。このようなデバイスでは、利用可能な表示領域をさらに減少させる仮想キーボード３１８が、コンテンツを編集することを可能にするために表示される可能性がある。コンテキストベースメニュー３１４は、テキストコンテンツ３１２（コンテンツの他の形態が使用されてもよい）の右に、空き空間内に表示される。コンテキストベースメニューは、ユーザ属性に基づいて、表示されたコンテンツの選択された部分の左側、右側、上部、または下部に沿って提示および／または移動されてもよい。ユーザ属性は、ユーザの左利きまたは右利き、指のサイズ、ポインティングデバイスに関連付けられたタップ動作ポインタのサイズ、ユーザの本人証明、デバイスの人間工学的特徴、ならびにユーザインタフェースのための言語選択、地理的位置情報、時間帯情報、および／または国情報のうちの１つまたは複数を含む位置属性を含むことができる。キャンバスのサイズが変化する場合（例えば、キーボードが出現する場合）、コンテキストベースメニューは、キーボードによって覆われないように、自動的に邪魔にならないところに移動することができる。
【００２６】
[0037]他の実施形態によれば、ユーザジェスチャは、コンテキストベースメニューを移動させるために使用されてよい。例えば、コンテキストベースメニューが、ユーザが取得する必要があるコンテンツの上にあるように生じる場合、ユーザは、「それを除去する」コンテキストベースメニューを長押しすることができ、次に、それを画面上の別の場所にドラッグおよびドロップすることができる。
【００２７】
[0038]図４Ａは、異なる形状のいくつかの例示的なコンテキストベースメニューを示す。タッチまたはジェスチャ対応のコンテキストベースメニューは、タップ、長押し、ドラッグ／スライド、または同様の動作を介して、ランチャインジケータを選択することによって活性化されてよい。
【００２８】
[0039]例示的なコンテキストベースメニューは、花型のメニュー４０２、放射状のメニュー４０４、矩形のメニュー４０８、湾曲したインラインメニュー４１０、および、真っ直ぐなインラインメニュー４１２を含む。他の形状および構成が、用いられてもよい。円形状のメニュー（４０２、４０４）では、項目は、中心にバックボタンを有するメニューのセグメントに表示される。メニューを閉ざすためのバックボタンは、矩形のメニュー４０８上のボタン４０６のように、メニューに対して他の位置に配置されてもよい。
【００２９】
[0040]いくつかの実施形態では、コンテキストベースメニュー上に表示される項目のレイアウトは、ユーザ属性または他の要因に基づいて、自動的に配置および再配置されてよい。色スキーム、グラフィカルスキーム、網掛け（シェイド、ｓｈａｄｉｎｇ）スキーム、および、同等のもののような、いくつかのスキームが、コンテキストベースメニューの有効性を増強するために用いられてよい。例えば、項目は、暗いおよび／または明るいフォーマットで表示されてよく、暗いおよび／または明るいフォーマットは、背景色に応じて交換可能に使用されてよい。いくつかの実施形態では、明るいまたは暗いフォーマットは、実行されるコマンドを強調するために使用されてよい。
【００３０】
[0041]図４Ｂは、放射状のコンテキストベースメニューのための５個の例示的な状態およびそれらの視覚化を示す。例示的な状態は、「休止」状態４２２、「ホバー（ｈｏｖｅｒ）」状態４２４、「押下」状態４２６、「選択」状態４２８、および、「ホバー選択」状態４３０を含む。メニューの視覚化は、異なる着色または網掛けスキーム、ならびに図４Ｂに示すように、それぞれ、内側の円４２３、４２５、４２７、４２９、および４３１に関連付けられた異なるグラフィカルスキームを使用することによって、変更されてよい。他の視覚化スキームが、使用されてもよい。
【００３１】
[0042]図４Ｃおよび４Ｄは、フォントスタイルを選択するためのコンテキストベースメニューの異なる例示的な構成を示す。図４Ｃでは、放射状のコンテキストベースメニュー４２２は、利用可能なオプションが、メニューの中心にスクロール式に表示されている間、ユーザが、メニュー上で放射状にスワイプすることを可能にする。コンテキストベースメニュー４４４上の同様の放射状スワイプ動作４４８の結果として、利用可能なオプションは、現在の選択部が強調表示される拡張ボックス上を通ってスクロールされる。同様なスキームが、コンテキストベースメニュー４４６に用いられ、利用可能なオプションは、現在の選択部が、色スキーム、網掛けスキーム、および／または、強調表示スキームを介して強調されて、メニューの一方の側（左または右）に沿って、スクロール式に表示される。
【００３２】
[0043]図４Ｄでは、コンテキストベースメニュー４５２は、ユーザが、アイコン４５４を、フォントスタイル中から選択するための放射形状メニューの周辺部に沿って回転させることを可能にする。現在選択されているフォントスタイル４５６は、放射形状メニューの中心に表示され、他のフォントスタイルは、アイコン４５４が周辺部に沿って回転されるのに連れて、スクロールされる。放射形状のコンテキストベースメニュー４５８は、メニューの周辺部に沿って表示される文字が、利用可能なフォントスタイルに割り当てられる、選択アプローチの別のバリエーションである。他の実施形態では、数字またはグラフィックアイコンが、メニューを介して選択するために利用可能な異なる項目に割り当てられてもよい。最後に、コンテキストベースメニュー４６２は、利用可能なフォント（および、現在の選択部）が、リストの形式で放射形状メニューの一方の側に表示されている間、回転スワイプ動作を介する利用可能な項目（例えば、フォントスタイル）の選択を可能にする。
【００３３】
[0044]図４Ｅは、３つの異なるコンテキストベースメニュースタイルおよび構成を示す。例示的な構成４７２は、従来のコンテキストベースメニューのカテゴリへの組織化を表示し、カテゴリは、メニューのトップを変更する。このように、メニューのルックアンドフィールは、従来のメニューのデザインと類似するが、階層は、上述した放射形状のコンテキストベースメニューの例に基づく。構成４７４は、画像と重なる透明な放射形状のコンテキストベースメニューの一例であり、トップレベルメニューの項目の数は、空間の制限に適合するように減少される。構成４７６は、メニューに関連付けられたテキストコンテンツにより一層密接に接続するコンテキストベースメニューの例示的な視覚的スタイルを示す。上述した構成は、説明の目的のみのための例示的なものである。任意の数の要素および提示スキームを有する他のメニュー形状、スタイル、および構成が、本明細書に記載の原理を使用して用いられてよい。
【００３４】
[0045]もちろん、他のアイコン、シンボル、テキストコンテンツ、などが、特定のコンテキストベースメニューおよびサブメニューを表すために使用されてよい。いくつかの実施形態によれば、コンテキストベースのタッチまたはジェスチャ対応のメニューが、ランチャインジケータが表示されることなく、活性化されてよい。例えば、メニューは、表示されたコンテツの一部の選択に応じて、直接表示されてよい。メニューは、ジェスチャに基づくだけで提示されてもよい。例えば、画面上の任意の場所の長押し、または、キーボード上のコンテキストメニューキーの押下が、コンテキストベースメニューを表示させることができる。
【００３５】
[0046]図５は、いくつかの実施形態による例示的なコンテキストベースメニューの異なる態様を示す。コンテキストベースメニュー５０２の例示的な構成では、メニューは、項目がメニュー上で放射状にセグメント内に配置されて、円形に成形される。項目（例えば、５０４、５０６）は、実行可能コマンド、または、サブメニューへのリンクを含むことができる。メニュー上に収まり得るより多くの項目が存在する場合には、省略項目５１２のような項目の１つが、他のコマンドまたはリンクのための別のメニューを開くために使用されてよい。項目のいくつかは、特定のカテゴリ内のコマンドを表す１つまたは複数のサブメニューに関連付けられてよい。これらのリンクは、メニューの中心付近の二重矢印５０８のように、グラフィカルに示されてよい。メニューの中心のランチャインジケータ５１０は、メニューを閉じるために使用されてもよい。
【００３６】
[0047]いくつかの実施形態では、選択された項目、または、コンテキストベースメニューの表示される項目のカテゴリは、コンテキストベースメニューの中心に表示されてよい。他の実施形態では、コンテキストベースメニュー上の項目が適合するコンテンツの選択された部分の種類が、中心に表示されてよい。
【００３７】
[0048]コンテキストベースメニュー５１４は、さらに別の構成を示し、この構成では、コンテキストベースメニューの中心５２０は、ページ上のコンテンツが、テキスト選択部であることを示し、したがって、異なるテキストスタイル、サイズ、などのような利用可能なオプションの中から選択するために出現した種類のメニューであることを示す。さらに他の実施形態では、コンテキストベースメニュー上の項目は、マウスホバー、キーボードフォーカス、押された項目、選択された項目、選択されたホバー、無効な項目、無効なホバー、および、通常の状態、の１つまたは複数を含む現在の情報を表すことができる。
【００３８】
[0049]コンテキストベースメニュー５０２および５１４は、トップレベルでハブおよびスポーク相互作用を用いることができ、ダイアルならびに／またはハブおよびスポーク相互作用が、サブメニューレベルで可能にされてよい。タッチベースの相互作用は、メニュー項目もしくはサブメニューランチャへのスライド、周辺部の周囲のスライド、または、メニュー項目上のタップを含むことができる。選択されたまたは検討されたメニュー項目のライブプレビューが、提供されてよい。また、様々なメニュー項目のためのテキスト識別子が、各メニュー項目の下部／上部／中央またはその近傍に提供されてよい。
【００３９】
[0050]図６は、いくつかの実施形態による例示的なコンテキストベースメニュー内の、空セグメントの使用、および、複数の項目選択の表示を示す。この図および他のものに示す放射形状のコンテキストベースメニューの異なるセグメントは、セグメント間に線を有して示されるが、それは、強調された説明目的のみのためのものである。実施形態によるメニューは、メニュー上の異なる項目に対応するセグメント間に線または他の区切りを含んでよく、または含まなくてよい。例示的なコンテキストベースメニュー６０２は、５個の項目および３個の空セグメント６０４を含む。いくつかの実施形態では、空セグメント６０４は、コンテキストベースメニューのレイアウト内でグループ化されてよく、より多くの表示領域を可能にするために、透明な様式で描画されてよい。例えば、サブメニューは、コンテキストベースメニューの空セグメントと重なって表示されてよく、これにより、コンテキストベースメニュー上のアクティブな項目の重なりを回避する。
【００４０】
[0051]他の実施形態では、表示面上の１つより多くの項目の選択が、可能にされてよい。複数の項目の選択は、ユーザが、メニューを開く前に、どのくらい多くの項目が選択されるかを知ることができるように、メニューランチャ上で示されてよく、メニュー上に、コンテキストベースメニュー６０６の中心の数字インジケータ６０８のように示されてよい。コンテキストベースメニュー上の選択された項目は、次に、表示されたコンテンツの複数の選択された部分に適用されてよい。
【００４１】
[0052]図７は、例示的なコンテキストベースメニュー内のアニメーション化された表示の使用を示す。いくつかの実施形態によれば、コンテキストベースメニュー上に表示される各項目は、グラフィックオブジェクト、テキストオブジェクト、または、グラフィックおよびテキストオブジェクトの組み合わせを含むことができる。さらに、色スキーム、グラフィカルスキーム、アニメーションスキーム、および／または網掛けスキームが、コンテキストベースメニューの視覚的効果を高めるために用いられてよい。
【００４２】
[0053]例示的なコンテキストベースメニュー７０２は、アニメーション化された中心７０４を含み、中心７０４では、インジケータ７０６が、タップまたはスワイプのような選択動作７０８の検出に応じて、コンテキストベースメニュー上の選択された項目を示すように移動する。コンテキストベースメニュー７１０は、インジケータ７１２が、別の選択動作７１４の検出に応じて、異なる項目を示すようにどのように位置を変化したかを示す。いくつかのアニメーションスキームが、コンテキストベースメニューと共に用いられよい。親またはサブメニュー上の項目を表す任意のアイコンまたはテキストが、アニメーション化された様式で表示されてよく、異なるフォントスタイル、色、フォーマット、などのような、選択された項目に関する選択が、アニメーション化された様式（例えば、スクロール、飛び込み、出現／消失、など）で提示されてよく、メニューは、アニメーション化された様式でのホバリングまたは選択のようなユーザ動作に反応することができる。例えば、ランチャが、アニメーション化されてよい（例えば、ペンメニューに関して、ランチャは、ペンの動きを示すことができる）。同様に、コンテキストベースメニューは、検出されたユーザ動作（例えば、スワイプ、タップ、など）に応じて、アニメーション化された指またはペンを表示することができる。他のアニメーションは、ユーザによる活性化動作に応じた親メニューまたはサブメニューの出現を含むことができる。例えば、図４の湾曲したインラインメニューは、広げられる円弧として出現することができる。いくつかの例では、サブメニューは、親メニューの中心または別の場所から、親メニューに重なって、または親メニューを置き換えて、アニメーション化された様式で大きくされてよい。他のアニメーションスキームが、以下に記載のような１つまたは複数の他のスキームと共に用いられてよい。
【００４３】
[0054]有効なタッチおよび／またはジェスチャベースの動作に加えて、実施形態によるコンテキストベースメニューは、キーボード入力、マウスクリック、および／またはペン入力に反応することもできる。タッチまたはジェスチャベースの入力以外の入力デバイスを使用する際にユーザを支援するために、メニュー上の各項目に関連付けられたキーボード上のキーを示すコンテキストベースメニュー上の英数字ヒントのようなヒントが、コンテキストベースメニューの各項目（および、中心）に関連して表示されてよい。
【００４４】
[0055]図８は、例示的なコンテキストベースメニューの他の態様を示す。いくつかの実施形態では、メニュー項目に関連付けられたヒントのような、１つまたは複数の表示された項目に関連付けられたテキストヒントが、コンテキストベースメニューの内側に、または、コンテキストベースメニューの外側に表示されてよい。
【００４５】
[0056]コンテキストベースメニューの視覚的効果を高める上述したスキームに加えて、メニュー上の項目は、どのコマンドが最後に実行されたかについてのユーザの理解を高めるような方法で提示されてよい。これは、コンテキストベースメニュー８０６上の項目８０８のような選択された項目の強調表示、色の変更、または背景によって、達成されてよい。他の実施形態では、選択された項目、または、最後に実行されたコマンドが、コンテキストベースメニュー８１０の中心８１２のようなメニューの中心に、覚え書きとして表示されてよい。
【００４６】
[0057]他の実施形態では、コンテキストベースメニューは、メニュー上に制限された利用可能な空間または空セグメントしか存在しない場合、部分的に表示されてよい。限られた空間だが完全にロードされたメニューの場合、部分的に表示されたメニュー８１４は、回転可能であってよい。このように、ユーザは、メニュー上をスワイプする、または、メニュー上の特定の要素をタップすることによって、メニューを回転させてよく、追加の要素が提示されてよい。
【００４７】
[0058]さらに他の実施形態では、各カテゴリ内のコマンドのリストが、ホバーオン動作、または、代表的なコマンドの選択の検出に応じて、代表的なコマンドの近傍に表示されてよい。例えば、コンテキストベースメニュー８１６内のフォントスタイル要素の選択に応じて、利用可能なフォントスタイルのリストが、リストスタイルのメニュー８１８内に、コンテキストベースメニューと重なって提示されてよい。もちろん、関連するコマンドは、リストスタイルに加えて、任意の形式または形状を使用して提示されてよい。
【００４８】
[0059]図９は、いくつかの実施形態による例示的な部分的コンテキストベースメニューを示す。特にモバイルデバイス内の、限られた表示空間に適合するように、コンテキストベースメニューは、部分的に、かつ、コンテンツの選択された部分に関連して表示されてよく、貴重な表示空間を保持しながら、ユーザが、選択されたコンテンツをメニューに関連付けることを可能にする。
【００４９】
[0060]ユーザインタフェース９０２は、選択されたコンテンツ９０８（画像）の隅に固定された例示的なコンテキストベースメニュー９０４を示す。メニュー内の項目は、最も高い優先順位の（または、最も使用される）項目が最初に表示されるように、コンテンツの種類に基づいて選択されてよい。他の項目が、他の要素を示す省略項目のような項目の選択（９０６）に応じて、または、コンテキストベースメニューを回転させることによって表示されてよい。メニューは、ユーザ属性に基づいて、選択されたコンテンツ９０８に隣接する異なる場所に（例えば、左側、右側、上部、下部、などに）配置されてよい。
【００５０】
[0061]図１〜９に示す例示的なコンテキストベースメニュー、項目、相互作用、および構成は、例示目的のみのために提供される。実施形態は、例示的な図に示す形状、形式、およびコンテンツに限定されず、本明細書に記載の原理を用いる他のテキスト、グラフィカル、または同様のスキームを使用して実施されてよい。
【００５１】
[0062]図１０は、実施形態が実施され得る例示的なネットワーク化された環境である。後述するアプリケーション８２２のようなローカルにインストールされたアプリケーションに加えて、コンテキストベースメニューが、１つまたは複数のサーバ１００６または個々のサーバ１００８上で実行されるソフトウェアを介して実装され得るホストされるアプリケーションおよびサービスと併せて用いられてもよい。ホストされるサービスまたはアプリケーションは、ウェブベースのサービスまたはアプリケーション、クラウドベースのサービスまたはアプリケーション、および同様のものであってよく、ネットワーク（複数可）１０１０を介して、ハンドヘルドコンピュータ１００１、デスクトップコンピュータ１００２、ラップトップコンピュータ１００３、スマートフォン１００４、タブレットコンピュータ（または、スレート）１００５（「クライアントデバイス」）のような個々のコンピューティングデバイス上のクライアントアプリケーションと通信することができ、ユーザに提示されるユーザインタフェースを制御することができる。ウェブベースのサービスの一例は、ワードプロセッシング、スプレッドシート、通信、スケジューリング、プレゼンテーション、および同様のアプリケーションを、クライアントデバイス上のブラウザインタフェースを介してクライアントに提供する、生産的スイートであってよい。このようなサービスは、ユーザが、本明細書で説明されるように、コンテキストベースメニューおよび様々な入力メカニズムを介して、表示されたコンテンツと相互作用することを可能にする。
【００５２】
[0063]説明したように、コンテキストベースメニューは、ホストされるサービスまたはアプリケーションによって提供される機能を制御するために使用されてよい。コンテキストベースメニューは、固定されたまたは動的な位置のランチャインジケータを介して活性化されてよい。
【００５３】
[0064]クライアントデバイス１００１〜１００５は、ホストされるサービスまたはアプリケーションによって提供される機能にアクセスするために使用される。サーバ１００６またはサーバ１００８の１つまたは複数は、上述したような様々なサービスを提供するために使用されてよい。関連データは、１つまたは複数のデータストア（例えば、データストア１０１４）に格納されてよく、１つまたは複数のデータストアは、サーバ１００６またはデータベースサーバ１０１２のいずれかによって管理されてよい。
【００５４】
[0065]ネットワーク（複数可）１０１０は、任意の技術のサーバ、クライアント、インターネットサービスプロバイダ、および通信媒体を含むことができる。実施形態によるシステムは、静的または動的なトポロジを有することができる。ネットワーク（複数可）１０１０は、企業ネットワークのような安全なネットワーク、無線オープンネットワークのような安全でないネットワーク、または、インターネットを含むことができる。ネットワーク（複数可）１０１０は、ＰＳＴＮまたはセルラネットワークのような他のネットワーク上の通信を調整することもできる。ネットワーク（複数可）１０１０は、本明細書に記載のノード間の通信を提供する。例として、限定ではなく、ネットワーク（複数可）１０１０は、音響、ＲＦ、赤外線、および他の無線媒体のような無線媒体を含むことができる。
【００５５】
[0066]コンピューティングデバイス、アプリケーション、データ源、およびデータ配信システムの多くの他の構成が、コンテキストベースメニューを提供するために用いられてよい。さらに、図１０で説明されるネットワーク化された環境は、説明目的のみのためである。実施形態は、例示的なアプリケーション、モジュール、またはプロセスに限定されない。
【００５６】
[0067]図１１および関連する説明は、実施形態が実施され得る適切なコンピューティング環境の簡潔で一般的な説明を提供することを目的とする。図１１に関して、コンピューティング環境１１００のような、実施形態によるアプリケーションのための例示的なコンピューティング動作環境のブロック図が示される。基本的な構成では、コンピューティングデバイス１１００は、図１Ａ、１Ｂ、および１０に関連して説明した例示的なデバイスのような、据え置き、モバイル、または他の形態の、任意のタッチおよび／またはジェスチャ対応デバイスであってよい。コンピューティングデバイス１１００は、プログラムを実行する際に協働する複数の処理ユニット１１０２を含むこともできる。コンピューティングデバイスの正確な構成および形式に応じて、システムメモリ１１０４は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュメモリ、などのような）、または、これら２つの何らかの組み合わせであってよい。システムメモリ１１０４は、典型的には、ワシントン州レドモンドのマイクロソフトコーポレーションからのＷｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）、またはＷｉｎｄｏｗｓ  Ｐｈｏｎｅ（登録商標）オペレーティングシステムのようなプラットフォームの動作を制御するのに適したオペレーティングシステム１１０５を含む。システムメモリ１１０４は、プログラムモジュール１１０６、アプリケーション１１２２、コンテキストベースメニューモジュール１１２４、および検出モジュール１１２６のような、１つまたは複数のソフトウェアアプリケーションを含むこともできる。
【００５７】
[0068]コンテキストベースメニューモジュール１１２４は、オペレーティングシステム１１０５またはアプリケーション１１２２と連携して動作することができ、前述したように、タッチおよび／もしくはジェスチャ対応のコンテキストベースメニューを提供することができる。検出モジュール１１２６は、様々なコンテキストベースメニュー項目の選択を検出することができる。この基本的な構成は、破線１１０８内のこれらの構成要素によって図１１に示される。
【００５８】
[0069]コンピューティングデバイス１１００は、追加の特徴または機能を有することができる。例えば、コンピューティングデバイス１１００は、例えば、磁気ディスク、光ディスク、またはテープのような、追加のデータ記憶装置（リムーバブルおよび／または非リムーバブル）を含むこともできる。このような追加の記憶装置は、リムーバブル記憶装置１１０９および非リムーバブル記憶装置１１１０によって図１１に示される。コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報を記憶するための任意の方法または技術で実現される、揮発性および不揮発性のリムーバブルおよび非リムーバブル媒体を含むことができる。システムメモリ１１０４、リムーバブル記憶装置１１０９、および非リムーバブル記憶装置１１１０は、すべてコンピュータ可読記憶媒体の例である。コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または、所望の情報を格納するために使用されることが可能で、コンピューティングデバイス１１００によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。任意のこのようなコンピュータ可読記憶媒体は、コンピューティングデバイス１１００の一部であってよい。コンピューティングデバイス１１００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ジェスチャを検出するための光補足デバイス、および、同等の入力デバイスのような入力デバイス（複数可）１１１２を有することもできる。ディスプレイ、スピーカ、プリンタ、および他の種類の出力デバイスのような出力デバイス（複数可）１１１４が含まれてもよい。これらのデバイスは、当該術分野で周知であり、本明細書で詳細に説明する必要はない。
【００５９】
[0070]コンピューティングデバイス１１００は、分散コンピューティング環境内の無線リンク、衛星リンク、セルラリンク、および同等のメカニズムのような、デバイスが他のデバイス１１１８と通信することを可能にする通信接続１１１６を含むこともできる。他のデバイス１１１８は、通信アプリケーションを実行するコンピュータデバイス（複数可）、他のディレクトリまたはポリシーサーバ、および同等のデバイスを含むことができる。通信接続（複数可）１１１６は、通信媒体の一例である。通信媒体は、搬送波もしくは他の転送メカニズムのような変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または、他のデータを内部に含むことができ、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するような方法で設定または変更された１つまたは複数の特性を有する信号を意味する。例として、限定ではなく、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、ＲＦ、赤外線、および他の無線媒体のような無線媒体を含む。
【００６０】
[0071]例示的な実施形態は、方法も含む。これらの方法は、本書に記載の構造を含む任意の数の方法で実施されてよい。１つのこのような方法は、本書に記載の種類のデバイスの機械動作によるものである。
【００６１】
[0072]別の任意の方法は、いくつかを実行する１人または複数の人間のオペレータと共に実行される方法の個々の動作の１つまたは複数のためのものである。これらの人間のオペレータは、互いに一緒に配置される必要はないが、それぞれが、プログラムの一部を実行するマシンと一緒にいるだけでよい。
【００６２】
[0073]図１２は、実施形態による動的コンテキストベースメニューを用いるプロセスに関する論理フロー図を示す。プロセス１２００は、アプリケーションまたはオペレーティングシステムの一部として実装されてよい。
【００６３】
[0074]プロセス１２００は、動作１２１０で開始し、動作１２１０では、コンテンツの選択、ランチャインジケータの活性化、または同様の動作（例えば、画面上のタップもしくは同等のジェスチャ）が検出されてよい。コンテンツの一部の検出または同様の動作に応じて、動作１２２０で、動的コンテキストベースメニューが提示されてよい。動的コンテキストベースメニューの位置は、選択されたコンテンツ、ユーザ動作の位置、利用可能な表示領域、ユーザ属性（例えば、言語が、右から左に書かれた言語である場合）、および同様の要因に基づいて、自動的に選択されてよい。
【００６４】
[0075]コンテキストベースメニューの提示に続いて、動作１２３０で、タップ、スワイプ、長押し、または同様の動作を介して、メニュー上の項目の選択が検出されてよい。メニュー上の項目は、実行可能コマンド、または、サブメニューへのリンクであってよい。動作１２４０で、選択された項目に応じて、選択されたコマンドが実行されてよく、または、サブメニューが表示されてよい。特定のコマンドの実行に応じて、または、コンテキストベースメニューの構成に基づいて、メニューは、任意の動作１２５０で隠されてよい。サブメニューが起動されると、コンテキストベースメニューは、隠されてもよく、全体的にまたは部分的に表示され続けてもよい。コンテキストベースメニューの出現および／または消失は、アニメーション化されてよい。いくつかの実施形態では、コンテキストベースメニュー上の個々の要素および／または遷移は、同様にアニメーション化されてよい。
【００６５】
[0076]プロセス１２００に含まれる動作は、例示の目的のためのものである。実施形態によるコンテキストベースメニューを提示することは、より少ないもしくはより多いステップを有する同様のプロセスによって実施されてよく、また、本明細書に記載の原理を使用する動作の異なる順序で実施されてよい。
【００６６】
[0077]上記の仕様、例、およびデータは、実施形態の構成物の製造および使用の完全な説明を提供する。主題は、構造的特徴および／または方法論的動作に特有の言語で説明されてきたが、添付の特許請求の範囲で定義される主題は、上述した特定の特徴または動作に必ずしも限定されないことが理解されるべきである。むしろ、上述した特定の特徴および動作は、特許請求の範囲および実施形態を実施する例示的な形態として開示される。
【図１Ａ】
0006050348.tif 000002
【図１Ｂ】
0006050348.tif 000003
【図２】
0006050348.tif 000004
【図３】
0006050348.tif 000005
【図４Ａ】
0006050348.tif 000006
【図４Ｂ】
0006050348.tif 000007
【図４Ｃ】
0006050348.tif 000008
【図４Ｄ】
0006050348.tif 000009
【図４Ｅ】
0006050348.tif 000010
【図５】
0006050348.tif 000011
【図６】
0006050348.tif 000012
【図７】
0006050348.tif 000013
【図８】
0006050348.tif 000014
【図９】
0006050348.tif 000015
【図１０】
0006050348.tif 000016
【図１１】
0006050348.tif 000017
【図１２】
0006050348.tif 000018