(57)【要約】  コンテキストベースメニューに関連付けられた１つまたは複数のサブメニューが提供される。コンテキストベースメニューは、選択されたコンテンツ上での実行のために、または、追加の実行可能コマンドを含むサブメニュー（複数可）の活性化のために利用可能な、トップレベルコマンド／項目を含むことができる。追加のコマンドは、タップ、スワイプ、または長押し動作によって、サブメニュー（複数可）を介して実行されてよい。終了項目の選択、または、コマンドの実行に応じて、サブメニューは、隠されてよく、および／または、親メニューが表示されてよい。
2014523050.tif 000002
【特許請求の範囲】
【請求項１】
コンテキストベースメニューに関連付けられたサブメニューを提供するための、コンピューティングデバイス内で少なくとも部分的に実行される方法であって、
ユーザインタフェース上の表示されたコンテンツの一部の選択、挿入点、および前記ユーザインタフェース上の動作のうちの１つを検出することに応じて、コマンドの組およびサブメニューへのリンクからの少なくとも１つを含むコンテキストベースメニューを提示する工程と、
前記リンクの選択を検出することに応じて、
前記表示されたコンテンツの前記選択された部分に基づいて、前記サブメニューの位置を選択する工程と、
別のコマンドの組および別のサブメニューのリンクからの少なくとも１つを含む項目を提示する前記サブメニューを、前記選択された位置に表示する工程と
を含み、
前記サブメニュー上の項目の選択に応じて、前記他のコマンドを実行する工程および前記他のサブメニューを表示する工程のうちの１つを含む、方法。
【請求項２】
前記動作は、タッチ入力、光学的に取り込まれるジェスチャ入力、キーボード入力、マウスクリック、音声入力、機械的に取り込まれるジェスチャ入力、およびペン入力の組からの少なくとも１つを介して受信される、請求項１に記載の方法。
【請求項３】
前記コンテキストベースメニューが、前記ユーザインタフェース上の表示から消失するように、前記ユーザインタフェース上の前記コンテキストベースメニューの代わりに前記サブメニューを表示する工程をさらに含む、請求項１に記載の方法。
【請求項４】
前記コンテキストベースメニューが前記ユーザインタフェース上で可視のままであるように、前記ユーザインタフェース上の前記コンテキストベースメニューの隣に前記サブメニューを表示する工程をさらに含む、請求項１に記載の方法。
【請求項５】
前記コンテキストベースメニューが前記ユーザインタフェース上で部分的に可視のままであるように、前記ユーザインタフェース上の前記コンテキストベースメニューに重なるように前記サブメニューを表示する工程をさらに含む、請求項１に記載の方法。
【請求項６】
前記コンテキストベースメニューおよび前記サブメニューが、異なる形状を有する、請求項１に記載の方法。
【請求項７】
予め定義されたコマンドの実行、前記サブメニューから離れたタップ動作、前記サブメニュー上に表示されたバックボタンの選択、スクロール動作、ズーム動作、表示されたコンテンツの異なる部分の選択、新しいコンテンツ入力、および、別のユーザインタフェースの選択のうちの１つに応じて、前記サブメニューを隠す工程をさらに含む、請求項１に記載の方法。
【請求項８】
前記コンテキストベースメニューが表示されたままとなる状態、前記コンテキストベースメニューも隠される状態、および、前記サブメニューがアニメーション化された様式で消失する状態のうちの１つになるように、前記サブメニューを隠す工程をさらに含む、請求項７に記載の方法。
【請求項９】
コンテキストベースメニューに関連付けられたサブメニューを提供するためのコンピューティングデバイスであって、
入力デバイスと、
メモリと、
前記メモリおよび前記入力デバイスに結合されたプロセッサと
を備え、前記プロセッサは、アプリケーションを実行し、前記アプリケーションに関連付けられたユーザインタフェースを画面上に表示させ、前記プロセッサが、
ユーザインタフェース上の表示されたコンテンツの一部の選択、挿入点、および、前記ユーザインタフェース上の動作のうちの１つを検出することに応じて、コマンドの組およびサブメニューへのリンクからの少なくとも１つを含むコンテキストベースメニューを提示し、
前記リンクの選択を検出することに応じて、
前記表示されたコンテンツの前記選択された部分に基づいて、前記サブメニューの位置を選択すると共に、前記コンテキストベースメニュー上の前記選択されたリンクの位置に基づいて、前記サブメニュー上に表示される項目のレイアウトを選択し、
別のコマンドの組および別のサブメニューのリンクからの少なくとも１つを含む項目を提示する前記サブメニューを、前記選択された場所に表示し、
前記サブメニュー上の項目の選択に応じて、前記他のコマンドを実行すること、および、前記他のサブメニューを表示することの一方を行うように構成される、コンピューティングデバイス。
【請求項１０】
前記サブメニューが放射形状を有し、前記項目が前記サブメニューのハブおよびスポークスタイルセグメント上に表示され、他のサブメニューへの１つまたは複数のリンクが、前記サブメニューの中心の近傍および前記サブメニューの外半径沿いの一方で提示される、請求項９に記載のコンピューティングデバイス。
【請求項１１】
前記サブメニューが、前記コンテキストベースメニュー上の前記リンクおよび前記コンテキストベースメニュー全体の一方から拡大して出現する、請求項９に記載のコンピューティングデバイス。
【請求項１２】
前記プロセッサは、さらに、
前記コンテキストベースメニュー上の前記選択されたリンクに関連付けられた前記サブメニューを表示する際に、前記リンクを強調表示すること、前記リンクを網掛けすること、前記リンクを拡大すること、および、前記リンクを再着色することのうちの１つまたは複数を用いて、前記コンテキストベースメニュー上の前記リンクをマーキングするように構成される、請求項９に記載のコンピューティングデバイス。
【請求項１３】
タッチまたはジェスチャ対応のコンテキストベースメニューに関連付けられたサブメニューを提供するための命令が格納されたコンピュータ可読メモリデバイスであって、前記命令は、
ユーザインタフェース上の表示されたコンテンツの一部の選択および前記ユーザインタフェース上のタッチまたはジェスチャ動作のうちの１つを検出することに応じて、コマンドの組およびサブメニューへのリンクからの少なくとも１つを含むコンテキストベースメニューを提示する工程と、
前記リンクの選択を検出することに応じて、
前記表示されたコンテンツの前記選択された部分に基づいて、前記サブメニューの位置を選択すると共に、前記コンテキストベースメニュー上の前記選択されたリンクの位置に基づいて、前記サブメニュー上に表示される項目のレイアウトを選択する工程と、
前記コンテキストベースメニューが消失する状態、前記コンテキストベースメニューが完全に可視のままである状態、および前記コンテキストベースメニューが前記サブメニューによって重ねられて部分的に可視である状態のうちの１つであるように、前記サブメニューを表示する工程であって、前記サブメニューが、別のコマンドの組および別のサブメニューのリンクからの少なくとも１つを含む項目を前記選択された位置に提示する工程と、
前記サブメニュー上の項目の選択に応じて、前記他のコマンドを実行する工程および前記他のサブメニューを表示する工程のうちの１つと
を含む、コンピュータ可読メモリデバイス。
【請求項１４】
前記命令が、
前記サブメニューを実質的に放射状の構成で表示する工程をさらに含み、１つのサブメニュー項目にナビゲートして前記１つのサブメニュー項目を選択するために、実質的に放射状の構成の、周囲のスライディングユーザ動作を可能にするため前記サブメニューが前記サブメニューの半径の周囲の位置に出現する、請求項１３に記載のコンピュータ可読メモリデバイス。
【請求項１５】
前記命令が、
前記表示されたコンテンツの複数の部分の選択を可能にする工程と、
前記サブメニュー上に選択項目を提供し、前記サブメニュー上の前記選択された項目に関連付けられた１つまたは複数のコマンドを、前記表示されたコンテンツの前記選択された部分に適用する工程と
をさらに含む、請求項１３に記載のコンピュータ可読メモリデバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
[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]例示的な実施形態では、親コンテキストベースメニュー５０２は、選択されたテキストコンテンツ上で実行するために利用可能なコマンドを表示するためのテキスト選択コンテキストベースメニューであってよい。テキスト選択コンテキストベースメニュー上のいくつかの利用可能な実行可能コマンドは、例えば、コピー、フォント色、太字、黒丸および番号付け、フォントサイズ、フォントスタイル、取り消し、並びに、タグを含むことができる。実行可能コマンド上、または、各々の利用可能な実行可能コマンドに対応するサブメニューランチャ上の、タップまたはスワイプベースの相互作用は、選択された項目に関連付けられたサブメニューにナビゲートすることができる。以下の表は、テキスト選択コンテキストベースメニューのための例示的なトップレベル項目、コンテキストベースメニュー上の項目の位置、項目がサブメニューを有するか否か、および、項目の選択に関連付けられた動作を示す。
【００３９】
【表１】
2014523050.tif 000003
表１：トップレベルコンテキストベースメニューに関連付けられた例示的な項目および動作
【００４０】
[0047]いくつかの実施形態によれば、サブメニュー５０６、５１２、５１８、５２４、５３０、５３６、５４２、５４８、および５５２は、ユーザインタフェース内の選択されたテキストまたは他の選択されたコンテンツ上で実行するために利用可能なコンテキストベースメニュー上のトップレベルコマンドに関連付けられたサブメニューの例である。コンテキストベースメニュー５０２に関連付けられたサブメニューは、コンテキストベースメニュー５０２上のユーザ（５０４）によって選択されたコピートップレベル項目に関連付けられたコピーサブメニューを示す。以下の表は、コピートップレベル項目に関連付けられた追加の利用可能なコマンド、コピーサブメニュー５０６上のコマンドの位置、コマンドの説明、および、コマンドの選択に関連付けられた動作（複数可）を示す。
【００４１】
【表２】
2014523050.tif 000004
表２：コンテキストベースサブメニューに関連付けられた例示的な項目および動作
【００４２】
[0048]コンテキストベースメニューまたはサブメニュー上の項目の位置は、２つのことの一方であってよく、それは、メニュー上の項目が（１２時の位置の）位置「１」で開始する静的に特定された位置であってよく、項目は、「８」で終了するメニューの周囲を時計回りに配置される。代わりに、「１」は、ユーザがサブメニューに入る位置で開始してよい。例えば、「太字」サブメニューの場合、位置「１」は、実際には３時の位置であってよいが、「取り消し」サブメニューの場合、位置「１」は、９時の位置であってよい。このようにして、トップレベルコマンドは、サブメニューを描き直さなければならないことなく、ナビゲートされ得る。
【００４３】
[0049]コンテキストベースメニュー５０８に関連付けられたサブメニューは、コンテキストベースメニュー５０８上でユーザによって選択された色トップレベル項目５１０に関連付けられた色サブメニュー５１２を示す。以下の表は、色トップレベル項目に関連付けられた追加の利用可能なコマンド、色サブメニュー５１２上のコマンドの位置、コマンドの説明、および、コマンドの選択に関連付けられた動作（複数可）を示す。
【００４４】
【表３】
2014523050.tif 000005
表３：コンテキストベースメニューに関連付けられた例示的な項目および動作
【００４５】
[0050]コンテキストベースメニュー５１４に関連付けられたサブメニューは、コンテキストベースメニュー５１４上でユーザによって選択された太字トップレベル項目５１６に関連付けられた太字サブメニュー５１８を示す。以下の表は、太字トップレベル項目に関連付けられた追加の利用可能なコマンド、太字サブメニュー５１８上のコマンドの位置、コマンドの説明、および、コマンドの選択に関連付けられた動作（複数可）を示す。
【００４６】
【表４】
2014523050.tif 000006
表４：コンテキストベースサブメニューに関連付けられた例示的な項目および動作
【００４７】
[0051]サブメニュー５１８で見ることができるように、サブメニュー上のすべての利用可能な空間が満たされる必要があるというわけではない。例示的なサブメニューでは、８個の利用可能な空間上に表示された７個のコマンドが存在する。コンテキストベースメニュー５２０に関連付けられたサブメニューは、コンテキストベースメニュー５２０上でユーザによって選択された黒丸トップレベル項目５２２に関連付けられた黒丸サブメニュー５２４を示す。
【００４８】
[0052]前述したように、コンテキストベースメニューおよびサブメニューは、放射状、矩形、真っ直ぐなインライン、湾曲したインライン、および、不規則な形状を含むが、これらに限定されない任意の形状または形式で表示されてよい。例示的なコンテキストベースメニュー５２６は、放射状メニューであり、テキストスタイル項目５２８は、タップ、スワイプ、または長押し動作を介して選択される。応答して、不規則な形状のサブメニュー５３０は、テキストサイズ増加／減少項目、フォント選択項目、および、サブメニューの別のレベルを示す省略記号項目と共に表示される。フォント選択項目の選択に応じて、利用可能なフォントのリストを提供する第３のレベルのサブメニュー５３１が表示されてよい。第３のレベルのサブメニューの５１３は、ユーザが、表示されたものより大きいフォントのリスト中のフォントを選択することを可能にするスライディングリストであってよい。
【００４９】
[0053]コンテキストベースメニュー５３２に関連付けられたサブメニューは、コンテキストベースメニュー５３４上でユーザによって選択されたフォントサイズおよびスタイルトップレベル項目５３４に関連付けられたフォントサイズおよびスタイルサブメニュー５３６を示す。コンテキストベースメニュー５３８に関連付けられたサブメニューは、コンテキストベースメニュー５３８上でユーザによって選択された取り消しトップレベル項目５４０に関連付けられた取り消しサブメニュー５４２を示す。
【００５０】
[0054]コンテキストベースメニュー５４４に関連付けられたサブメニューは、コンテキストベースメニュー５４４上でユーザによって選択されたタグトップレベル項目５４６に関連付けられたタグサブメニュー５４８を示す。例示的な実施形態では、コンテキストベースメニュー５５０は、コンテンツ上で選択された挿入点で実行するために利用可能なコマンドを表示することができる。コンテキストベースメニュー５５０上のいくつかの利用可能な実行可能コマンドは、例えば、ペースト、ハイパーリンクを作成する、カメラからの画像を挿入する、ファイルからの画像を挿入する、黒丸および番号付け、表を挿入する、フォントサイズ、取り消し、並びに、タグを含むことができる。実行可能コマンド上の、および／または、各々の利用可能な実行可能コマンドに対応するサブメニューランチャ上のタップまたはスワイプベースの相互作用は、選択されたコマンドに関連付けられたサブメニューにナビゲートすることができる。以下の表は、挿入点コンテキストベースメニューのための例示的なトップレベルコマンド、コンテキストベースメニュー上のコマンドの位置、コマンドが、サブメニューを有するか否か、したがって、対応するサブメニューランチャを有するか否か、および、コマンドの選択に関連付けられた動作を示す。
【００５１】
【表５】
2014523050.tif 000007
表５：トップレベルコンテキストベースメニューに関連付けられた例示的な項目および動作
【００５２】
[0055]コンテキストベースメニュー５５０上の画像項目５５１の選択に関連付けられたサブメニューは、イラストサブメニュー５５２を示す。以下の表は、画像トップレベル項目５５１に関連付けられた追加の利用可能なコマンド、イラストサブメニュー５５２上のコマンドの位置、コマンドの説明、および、コマンドの選択に関連付けられた動作（複数可）を示す。イラストサブメニュー５５２は、チャート、画像、および他のグラフィカルコンテンツを提供することができる。
【００５３】
【表６】
2014523050.tif 000008
表６：コンテキストベースメニューに関連付けられた例示的な項目および動作
【００５４】
[0056]図５Ｄは、コンテンツ５６０上に表示されたコンテキストベースメニュー５６２を含む。コンテキストベースメニュー上のトップレベルフォント特性項目（「Ｂ」太字）５６４の選択に応じて、２つの他のフォント特性コマンド（「Ｉ」イタリック体および「Ｕ」下線）から成る部分的なサブメニューが、コンテキストベースメニューの拡張部分として、選択された項目に隣接して出現する。したがって、いくつかの実施形態では、サブメニューは、親メニューの拡張部分として出現することができる。
【００５５】
[0057]図５Ｅは、それらのそれぞれの親メニューと重なっているサブメニューの２つの例示的な構成を示す。第１の例では、親メニュー５７２は、コンテンツ５７０の上に表示される。親メニュー５７２上のリスト書式設定項目の選択に応じて、リストまたは黒丸の書式設定のための様々なオプションを提供するサブメニュー５７４が、親メニュー５７２と部分的に重なって表示されてよい。第２の例では、サブメニュー５８２は、親メニューから、表示されたコンテンツ５８０の上に両方のメニューの内容が見られ得るように生じてよい。
【００５６】
[0058]図６Ａおよび６Ｂは、他の実施形態によるいくつかの例示的なサブメニューを示す。例示的な実施形態では、トップレベルコンテキストベースメニュー６０２は、前述したトップレベル項目のいくつかを含む。各トップレベル項目のためのメニューの中心付近の小さい矢印のアイコン６０３は、サブメニューの形態の追加のコマンド／オプションの利用可能性を示す。タップまたは（例えば、中心から、選択された項目の方向のメニューの外半径への）スワイプ動作を介する項目（６０４）の１つの選択に応じて、８個の追加の項目を提示するサブメニュー６０６が表示されてよい。図６Ａの例では、サブメニュー６０６上に表示された項目の３個は、段落整列に関連付けられたコマンドであってよく、２個は、インデントに関連付けられたコマンドであってよく、１個は、テキストの方向に関連付けられたコマンドであってよく、２個の項目は、黒丸付きまたは番号付きリストに関連付けられてよい。
【００５７】
[0059]したがって、サブメニュー６０６の中心付近の小さいアイコン６０７は、項目６０８および６１０のための追加のサブメニューの利用可能性を示す。黒丸付きリスト項目６１０の選択に応じて、利用可能な黒丸形式の中からユーザが選択することを可能にする第３のレベルのサブメニュー６１４が表示されてよい。番号付きリスト項目６０８の選択に応じて、異なる番号付きリストオプションの中からユーザが選択することを可能にする第３のレベルのサブメニュー６１２が表示されてよい。
【００５８】
[0060]いくつかの実施形態では、サブメニューの各レベルは、メニューの中心付近のアイコン、メニューのエッジに沿ったアイコン、省略項目、または、他のグラフィカル／テキストインジケータを介して、サブメニューのさらなる利用可能性を示すことができる。他の実施形態によれば、選択された項目は、サブメニューの中心（もしくは、メニューのスタイル、形状、形式に応じて、他の適切な位置）に表示されてよく、または、網掛け／強調表示／着色スキームを介して、どの項目が現在選択されているか（または、以前に選択されたか）をユーザに強調するように示されてよい。
【００５９】
[0061]図６Ｂは、親コンテキストベースメニュー上のトップレベルコマンドに関連付けられたサブメニューのおよび／またはサブサブメニューに関するオプションの構成を示す。図示の例では、トップレベルコンテキストベースメニュー６２２は、前述したトップレベル項目のいくつかを含む。
【００６０】
[0062]フォントサイズおよびスタイル項目６２２の選択に応じて、サブメニュー６２５は、２つの項目、すなわち、フォントサイズ選択項目６２４およびフォントスタイル選択項目６２６を有して表示される。フォントサイズ選択項目６２４の選択に応じて、選択するために利用可能なフォントサイズを提示する第３のレベルのサブメニュー６３０が表示されてよい。サイズを設定されるフォントは、離散的に選択可能であってよく（すなわち、それぞれの表示される値は、任意である）、または、連続的に選択可能であってよい（すなわち、それぞれの表示される値は、例示的な値であり、間の他の値は、ダイアル動作を介して選択されてよい）。現在選択されているフォントサイズは、サブメニュー６３０の中心６３４に表示されてよい。他の例では、現在選択されているフォントサイズ（または、同様の選択）は、ツールチップ（ｔｏｏｌｔｉｐ）内に、または、スライダ上の選択された形式で表示されてよい。
【００６１】
[0063]フォントスタイル項目６２６の選択に応じて、利用可能なフォントスタイルを提示するフォントスタイルサブメニュー６３２が表示されてよい。利用可能なフォントスタイル中の選択は、ダイアル動作またはタップ動作を介して行われてもよい。フォントのサイズは、フォントが画面上でどのように見えるかに影響を与える可能性があるため、現在選択されているフォントサイズが、フォントスタイルサブメニュー６３２の中心に表示されてもよい。他の実施形態では、サブメニューは、選択機能を兼ね備えることができる。例えば、フォントサイズおよびスタイルは、１つのオプション（例えば、フォントスタイル）のためにセグメントを使用し、別の機能（例えば、フォントサイズ）のために中心を使用して、同じサブメニューを介して選択されてよい。このようなシナリオでは、サブメニューの中心でのフォントサイズの選択は、回転動作を介してよい（例えば、上下の矢印が、フォントサイズを増加または減少させるために表示されてよい）。
【００６２】
[0064]図１〜６に示す例示的なランチャインジケータ、構成、項目、およびコンテキストベースメニューは、例示の目的のみのために提供される。実施形態は、例示的な図に示す形状、形式、およびコンテンツに限定されず、本明細書に記載の原理を用いる他のテキスト、グラフィカル、または同様のスキームを使用して実施されてよい。
【００６３】
[0065]図７は、実施形態が実施され得る例示的なネットワーク化された環境である。後述するアプリケーション８２２のようなローカルにインストールされたアプリケーションに加えて、コンテキストベースメニューに関連付けられたサブメニューが、１つまたは複数のサーバ７０６または個々のサーバ７０８上で実行されるソフトウェアを介して実装され得るホストされるアプリケーションおよびサービスと併せて用いられてもよい。ホストされるサービスまたはアプリケーションは、ネットワーク（複数可）７１０を介して、ハンドヘルドコンピュータ７０１、デスクトップコンピュータ７０２、ラップトップコンピュータ７０３、スマートフォン７０４、タブレットコンピュータ（または、スレート）７０５（「クライアントデバイス」）のような個々のコンピューティングデバイス上のクライアントアプリケーションと通信することができ、ユーザに提示されるユーザインタフェースを制御することができる。
【００６４】
[0066]説明したように、コンテキストベースのタッチまたはジェスチャ対応メニューは、ホストされるサービスまたはアプリケーションによって提供される機能を制御するために使用されてよい。追加の実行可能コマンドを表示するためのコンテキストベースメニューに関連付けられたサブメニューは、サブメニューランチャインジケータを介して活性化されてよい。
【００６５】
[0067]クライアントデバイス７０１〜７０５は、ホストされるサービスまたはアプリケーションによって提供される機能にアクセスするために使用される。サーバ７０６またはサーバ７０８の１つまたは複数は、上述したような様々なサービスを提供するために使用されてよい。関連データは、１つまたは複数のデータストア（例えば、データストア７１４）に格納されてよく、１つまたは複数のデータストアは、サーバ７０６またはデータベースサーバ７１２によって管理されてよい。
【００６６】
[0068]ネットワーク（複数可）７１０は、任意の技術のサーバ、クライアント、インターネットサービスプロバイダ、および通信媒体を含むことができる。実施形態によるシステムは、静的または動的なトポロジを有することができる。ネットワーク（複数可）７１０は、企業ネットワークのような安全なネットワーク、無線オープンネットワークのような安全でないネットワーク、または、インターネットを含むことができる。ネットワーク（複数可）７１０は、ＰＳＴＮまたはセルラネットワークのような他のネットワーク上の通信を調整することもできる。ネットワーク（複数可）７１０は、本明細書に記載のノード間の通信を提供する。例として、限定ではなく、ネットワーク（複数可）７１０は、音響、ＲＦ、赤外線、および他の無線媒体のような無線媒体を含むことができる。
【００６７】
[0069]コンピューティングデバイス、アプリケーション、データ源、およびデータ配信システムの多くの他の構成が、コンテキストベースメニューのためのランチャメカニズムを提供するために用いられてよい。さらに、図７で説明されるネットワーク化された環境は、説明目的のみのためである。実施形態は、例示的なアプリケーション、モジュール、またはプロセスに限定されない。
【００６８】
[0070]図８および関連する説明は、実施形態が実施され得る適切なコンピューティング環境の簡潔で一般的な説明を提供することを目的とする。図８に関して、コンピューティング環境８００のような、実施形態によるアプリケーションのための例示的なコンピューティング動作環境のブロック図が示される。基本的な構成では、コンピューティングデバイス８００は、図１Ａ、１Ｂ、および７に関連して説明した例示的なデバイスのような、据え置き、モバイル、または他の形態の、任意のタッチおよび／またはジェスチャ対応デバイスであってよい。コンピューティングデバイス８００は、プログラムを実行する際に協働する複数の処理ユニット８０２を含むこともできる。コンピューティングデバイスの正確な構成および形式に応じて、システムメモリ８０４は、揮発性（ＲＡＭのような）、不揮発性（ＲＯＭ、フラッシュメモリ、などのような）、または、これら２つの何らかの組み合わせであってよい。システムメモリ８０４は、典型的には、ワシントン州レドモンドのマイクロソフトコーポレーションからのＷｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ  Ｍｏｂｉｌｅ（登録商標）、またはＷｉｎｄｏｗｓ  Ｐｈｏｎｅ（登録商標）オペレーティングシステムのようなプラットフォームの動作を制御するのに適したオペレーティングシステム８０５を含む。システムメモリ８０４は、プログラムモジュール８０６、アプリケーション８２２、コンテキストベースメニューモジュール８２４、およびサブメニューモジュール８２６のような、１つまたは複数のソフトウェアアプリケーションを含むこともできる。
【００６９】
[0071]コンテキストベースメニューモジュール８２４は、オペレーティングシステム８０５またはアプリケーション８２２と連携して動作することができ、前述したように、タッチおよび／もしくはジェスチャ動作、または、キーボード入力、マウスクリック、ペン入力、および他のもののような従来のメカニズムと相互作用され得るコンテキストベースメニューを提供することができる。サブメニューモジュール８２４は、コンテキストベースメニュー上のサブメニューランチャ上のタッチジェスチャ相互作用に応じて、コンテキストベースメニュー上の選択されたコマンドに関連付けられたサブメニューを起動することもできる。この基本的な構成は、破線８０８内のこれらの構成要素によって図８に示される。
【００７０】
[0072]コンピューティングデバイス８００は、追加の特徴または機能を有することができる。例えば、コンピューティングデバイス８００は、例えば、磁気ディスク、光ディスク、またはテープのような、追加のデータ記憶装置（リムーバブルおよび／または非リムーバブル）を含むこともできる。このような追加の記憶装置は、リムーバブル記憶装置８０９および非リムーバブル記憶装置８１０によって図８に示される。コンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータのような情報を記憶するための任意の方法または技術で実現される、揮発性および不揮発性のリムーバブルおよび非リムーバブル媒体を含むことができる。システムメモリ８０４、リムーバブル記憶装置８０９、および非リムーバブル記憶装置８１０は、すべてコンピュータ可読記憶媒体の例である。コンピュータ可読記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶装置、または、所望の情報を格納するために使用されることが可能で、コンピューティングデバイス８００によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。任意のこのようなコンピュータ可読記憶媒体は、コンピューティングデバイス８００の一部であってよい。コンピューティングデバイス８００は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、ジェスチャを検出するための光補足デバイス、および、同等の入力デバイスのような入力デバイス（複数可）８１２を有することもできる。ディスプレイ、スピーカ、プリンタ、および他の種類の出力デバイスのような出力デバイス（複数可）８１４が含まれてもよい。これらのデバイスは、当該術分野で周知であり、本明細書で詳細に説明する必要はない。
【００７１】
[0073]コンピューティングデバイス８００は、分散コンピューティング環境内の無線リンク、衛星リンク、セルラリンク、および同等のメカニズムのような、デバイスが他のデバイス８１８と通信することを可能にする通信接続８１６を含むこともできる。他のデバイス８１８は、通信アプリケーションを実行するコンピュータデバイス（複数可）、他のディレクトリまたはポリシーサーバ、および同等のデバイスを含むことができる。通信接続（複数可）８１６は、通信媒体の一例である。通信媒体は、搬送波もしくは他の転送メカニズムのような変調されたデータ信号内のコンピュータ可読命令、データ構造、プログラムモジュール、または、他のデータを内部に含むことができ、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号内の情報を符号化するような方法で設定または変更された１つまたは複数の特性を有する信号を意味する。例として、限定ではなく、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、並びに、音響、ＲＦ、赤外線、および他の無線媒体のような無線媒体を含む。
【００７２】
[0074]例示的な実施形態は、方法も含む。これらの方法は、本書に記載の構造を含む任意の数の方法で実施されてよい。１つのこのような方法は、本書に記載の種類のデバイスの機械動作によるものである。
【００７３】
[0075]別の任意の方法は、いくつかを実行する１人または複数の人間のオペレータと共に実行される方法の個々の動作の１つまたは複数のためのものである。これらの人間のオペレータは、互いに一緒に配置される必要はないが、それぞれが、プログラムの一部を実行するマシンと一緒にいるだけでよい。
【００７４】
[0076]図９は、実施形態によるコンテキストベースメニューに関連付けられたサブメニューを起動するプロセスに関する論理フロー図を示す。プロセス９００は、アプリケーションまたはオペレーティングシステムの一部として実装されてよい。
【００７５】
[0077]プロセス９００は、任意の動作９１０で開始し、動作９１０では、コンテキストベースメニューは、テキストコンテンツまたは他の表示されたコンテンツの選択された部分に関連付けられたユーザインタフェース上に表示されてよい。コンテキストベースメニューは、挿入点の検出、またはユーザインタフェース要素の活性化に応じて表示されてもよい。コンテキストベースメニューは、選択されたコンテンツ上で実行するために利用可能なトップレベルコマンドを含む親コンテキストベースメニューであってよい。コンテキストベースメニュー上に表示される各トップレベル項目は、いくつかの追加の実行可能コマンドおよびオプションを含むことができる。これらの追加の実行可能コマンドは、親コンテキストベースメニューからのトップレベルコマンドに関連付けられたサブメニューで提示されてよい。動作９２０では、ユーザは、サブメニューにナビゲートするために、コンテキストベースメニュー上に表示されたトップレベル項目の１つの上で相互作用を実行することができる。項目の１つの上での相互作用は、サブメニューにナビゲートするための、項目上でのタップジェスチャ、スワイプジェスチャ、および／または、長押しを含むことができる。
【００７６】
[0078]動作９３０では、選択された項目に関連付けられたサブメニューが起動されてよく、ユーザインタフェース上に表示されてよい。サブメニューは、コンテキストベースメニューの代わりに、コンテキストベースメニューの隣に、または、コンテキストベースメニューと重なって表示されてよい。選択された項目に関連付けられたサブメニューは、トップレベル項目に関連付けられた追加の実行可能コマンドを表示することができる。サブメニューは、ユーザが、追加の相互作用を使用して、サブメニュー上の利用可能なコマンドを実行することを可能にするように構成されてよく、動作９４０では、システムは、サブメニューからサブコマンドを選択するためのユーザ動作を検出することができる。
【００７７】
[0079]追加のコマンドが、サブメニュー上に表示される項目のために利用可能である場合、追加の利用可能なコマンドを示すための追加のサブメニューランチャが、サブメニュー上に表示されてよく、ユーザは、より低いレベルのサブメニューにナビゲートするために、サブメニュー上のサブメニューランチャを選択することができる。任意の動作９５０では、システムは、選択されたサブコマンドを実行することができる。動作９６０では、サブメニューは、バックボタンを追加で表示することができ、バックボタンは、親コンテキストベースメニューが再び可視になるように、サブメニューを表示から隠すために選択されてよい。加えて、サブコマンドの実行後、サブメニューは、ユーザインタフェース上の表示から自動的に隠されるようになってよく、任意に、コンテキストベースメニューは、全体として隠されてもよい。いくつかの場合では、コマンドの実行は、別のサブメニューに自動的にナビゲートさえすることができる。例えば、表の挿入時に、表のサイズを変更することを可能にするために、挿入行／列コマンドを含む新しいサブメニューが提示されてよい。
【００７８】
[0080]プロセス９００に含まれる動作は、例示の目的のためのものである。実施形態によるコンテキストベースメニューを提示することは、より少ないもしくはより多いステップを有する、本明細書に記載の原理を使用する動作の異なる順序での、同様のプロセスによって実施されてよい。
【００７９】
[0081]上記の仕様、例、およびデータは、実施形態の構成物の製造および使用の完全な説明を提供する。主題は、構造的特徴および／または方法論的動作に特有の言語で説明されてきたが、添付の特許請求の範囲で定義される主題は、上述した特定の特徴または動作に必ずしも限定されないことが理解されるべきである。むしろ、上述した特定の特徴および動作は、特許請求の範囲および実施形態を実施する例示的な形態として開示される。
【図１Ａ】
2014523050.tif 000009
【図１Ｂ】
2014523050.tif 000010
【図２Ａ】
2014523050.tif 000011
【図２Ｂ】
2014523050.tif 000012
【図２Ｃ】
2014523050.tif 000013
【図３】
2014523050.tif 000014
【図４】
2014523050.tif 000015
【図５Ａ】
2014523050.tif 000016
【図５Ｂ】
2014523050.tif 000017
【図５Ｃ】
2014523050.tif 000018
【図５Ｄ】
2014523050.tif 000019
【図５Ｅ】
2014523050.tif 000020
【図６Ａ】
2014523050.tif 000021
【図６Ｂ】
2014523050.tif 000022
【図７】
2014523050.tif 000023
【図８】
2014523050.tif 000024
【図９】
2014523050.tif 000025
【国際調査報告】
2014523050.tif 000026
2014523050.tif 000027
2014523050.tif 000028
2014523050.tif 000029
2014523050.tif 000030
2014523050.tif 000031