(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]  図１４は、本開示の実施形態を実施することが可能であるコンピューティングデバイス６００の物理的なコンポーネント（例えば、ハードウェア）を示すブロック図である。以降で説明されているコンピューティングデバイスコンポーネントは、Ｅメールアプリケーション６６０、ワードプロセッシングアプリケーション６６２、データベースアプリケーション６６４、スライドプレゼンテーションアプリケーション６６８、スプレッドシートアプリケーション６７０、および、本明細書において開示されている方法３００を採用するために実行することが可能であるその他の任意の適切なアプリケーションのためのコンピュータ実行可能命令であることが可能である。基本的な構成においては、コンピューティングデバイス６００は、少なくとも１つの処理ユニット６０２およびシステムメモリ６０４を含むことができる。コンピューティングデバイスの構成およびタイプに応じて、システムメモリ６０４は、揮発性ストレージ（例えば、ランダムアクセスメモリ）、不揮発性ストレージ（例えば、読み取り専用メモリ）、フラッシュメモリ、またはそのようなメモリどうしの任意の組合せを含むことができるが、それらには限定されない。システムメモリ６０４は、オペレーティングシステム６０５と、図２〜図１２において示されているような改良されたシルエットを利用するソフトウェアアプリケーション６２０を稼働させるのに適した１つまたは複数のプログラムモジュール６０６とを含むことができる。オペレーティングシステム６０５は、例えば、コンピューティングデバイス６００のオペレーションをコントロールするのに適していることが可能である。さらに、本開示の実施形態は、グラフィックスライブラリ、その他のオペレーティングシステム、またはその他の任意のアプリケーションプログラムとともに実施することが可能であり、いずれかの特定のアプリケーションまたはシステムに限定されるものではない。この基本的な構成は、図１４において破線６０８内のそれらのコンポーネントによって示されている。コンピューティングデバイス６００は、さらなる特徴または機能を有することができる。例えば、コンピューティングデバイス６００は、さらなる（取り外し可能な、および／または取り外し不能な）データストレージデバイス、例えば、磁気ディスク、光ディスク、またはテープなどを含むこともできる。そのようなさらなるストレージは、取り外し可能なストレージデバイス６０９および取り外し不能なストレージデバイス６１０によって図１４において示されている。
【００６３】
[0078]  上述のように、複数のプログラムモジュールおよびデータファイルをシステムメモリ６０４に格納することが可能である。処理ユニット６０２上で実行している間に、プログラムモジュール６０６（例えば、検証モジュール６１１またはＥメールアプリケーション）は、本明細書において説明されている実施形態を含むがそれらに限定されないプロセスを実行することができる。とりわけスクリーンコンテンツを生成するために、本開示の実施形態に従って使用することが可能であるその他のプログラムモジュールは、電子メール／連絡先アプリケーション、連絡先アプリケーション、描画アプリケーション、メッセージングアプリケーション、カレンダリングアプリケーション、ソーシャルネットワーキングアプリケーション、プロジェクト管理アプリケーション、コラボレーションアプリケーション、および／または企業管理アプリケーションなどを含むことができる。
【００６４】
[0079]  さらに、本開示の実施形態は、個別の電子要素を含む電気回路、ロジックゲートを含むパッケージ化もしくは統合された電子チップ、マイクロプロセッサを利用する回路において、または電子要素もしくはマイクロプロセッサを含む単一のチップ上で実施することが可能である。例えば、本開示の実施形態は、システムオンチップ（SOC）を介して実施することが可能であり、その場合には、図１４において示されているコンポーネントのうちのそれぞれまたは多くを単一の集積回路上に統合することが可能である。そのようなＳＯＣデバイスは、１つまたは複数の処理ユニット、グラフィックスユニット、通信ユニット、システム仮想化ユニット、およびさまざまなアプリケーション機能を含むことができ、それらのすべては、単一の集積回路としてチップ基板上に統合される（または「焼き付けられる」）。ＳＯＣを介して動作する場合には、プロトコルを切り替えるためのクライアントの能力に関する、本明細書において説明されている機能は、単一の集積回路（チップ）上でコンピューティングデバイス６００のその他のコンポーネントと統合されているアプリケーション固有のロジックを介して動作することが可能である。本開示の実施形態は、機械的な、光学的な、流体的な、および量子的なテクノロジーを含むがそれらに限定されない、例えば、ＡＮＤ、ＯＲ、およびＮＯＴなどの論理演算を実行することができるその他のテクノロジーを使用して実施することも可能である。加えて、本開示の実施形態は、汎用コンピュータ内で、またはその他の任意の回路もしくはシステムにおいて実施することが可能である。
【００６５】
[0080]  コンピューティングデバイス６００は、１つまたは複数の入力デバイス６１２、例えば、キーボード、マウス、ペン、サウンドまたは音声入力デバイス、タッチまたはスワイプ入力デバイスなどを有することもできる。出力デバイス６１４、例えば、ディスプレイ、スピーカー、プリンタなどを含むことも可能である。上述のデバイスは例であり、その他のデバイスを使用することも可能である。コンピューティングデバイス６００は、その他のコンピューティングデバイス６１８との通信を可能にする１つまたは複数の通信接続６１６を含むことができる。適切な通信接続６１６の例は、ＲＦ送信機、受信機、および／またはトランシーバ回路、ユニバーサルシリアルバス（USB）ポート、パラレルポート、および／またはシリアルポートを含むが、それらには限定されない。
【００６６】
[0081]  本明細書において使用されるコンピュータ可読メディアという用語は、コンピュータストレージメディアを含むことができる。コンピュータストレージメディアは、コンピュータ可読命令、データ構造、またはプログラムモジュールなど、情報の格納のための任意の方法またはテクノロジーにおいて実装される揮発性のメディアおよび不揮発性のメディア、取り外し可能なメディアおよび取り外し不能なメディアを含むことができる。システムメモリ６０４、取り外し可能なストレージデバイス６０９、および取り外し不能なストレージデバイス６１０はすべて、コンピュータストレージメディアの例（例えば、メモリストレージ）である。コンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、電気的消去可能読み取り専用メモリ（ＥＥＰＲＯＭ）、フラッシュメモリ、もしくはその他のメモリテクノロジー、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、もしくはその他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、もしくはその他の磁気ストレージデバイス、または、情報を格納するために使用することが可能な、かつコンピューティングデバイス６００によってアクセスすることが可能なその他の任意の製品を含むことができる。そのようなコンピュータストレージメディアはいずれも、コンピューティングデバイス６００の一部であることが可能である。コンピュータストレージメディアは、搬送波またはその他の伝搬もしくは変調されたデータ信号を含まない。
【００６７】
[0082]  通信メディアは、搬送波またはその他の伝送メカニズムなど、変調されたデータ信号においてコンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータによって具体化することが可能であり、任意の情報伝達メディアを含む。「変調されたデータ信号」という用語は、１つまたは複数の特性が、その信号において情報をエンコードするような様式で設定または変更されている信号を記述することができる。限定ではなく、例として、通信メディアは、有線ネットワークまたは直接有線接続などの有線メディア、ならびに、音響メディア、無線周波数（ＲＦ）メディア、赤外線メディア、およびその他のワイヤレスメディアなどのワイヤレスメディアを含むことができる。
【００６８】
[0083]  図１５Ａおよび図１５Ｂは、本開示の実施形態を実施することが可能であるモバイルコンピューティングデバイス７００、例えば、モバイル電話、スマートフォン、ウェアラブルコンピュータ（スマートウォッチなど）、タブレットパーソナルコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなどを示している。いくつかの実施形態においては、クライアントは、モバイルコンピューティングデバイスであることが可能である。図１５Ａを参照すると、実施形態を実施するためのモバイルコンピューティングデバイス７００の一実施形態が示されている。基本的な構成においては、モバイルコンピューティングデバイス７００は、入力要素および出力要素を両方とも有するハンドヘルドコンピュータである。モバイルコンピューティングデバイス７００は、典型的には、ディスプレイ７０５と、ユーザがモバイルコンピューティングデバイス７００内に情報を入力することを可能にする１つまたは複数の入力ボタン７１０とを含む。モバイルコンピューティングデバイス７００のディスプレイ７０５は、入力デバイス（例えば、タッチスクリーンディスプレイ）として機能することもできる。含まれている場合には、任意選択の側部入力要素７１５が、さらなるユーザ入力を可能にする。側部入力要素７１５は、ロータリースイッチ、ボタン、またはその他の任意のタイプの手動入力要素であることが可能である。代替実施形態においては、モバイルコンピューティングデバイス７００は、より多くのまたはより少ない入力要素を組み込むことができる。例えば、ディスプレイ７０５は、いくつかの実施形態においてはタッチパッドではない場合がある。さらに別の代替実施形態においては、モバイルコンピューティングデバイス７００は、セルラー電話などのポータブル電話システムである。モバイルコンピューティングデバイス７００は、任意選択のキーパッド７３５を含むこともできる。任意選択のキーパッド７３５は、物理的なキーパッド、または、タッチスクリーンディスプレイ上に生成される「ソフト」キーパッドであることが可能である。さまざまな実施形態においては、出力要素は、グラフィカルユーザインターフェース（ＧＵＩ）を示すためのディスプレイ７０５、視覚的なインジケータ７２０（例えば、発光ダイオード）、および／またはオーディオトランスデューサ７２５（例えば、スピーカー）を含む。いくつかの実施形態においては、モバイルコンピューティングデバイス７００は、触覚フィードバックをユーザに提供するための振動トランスデューサを組み込む。さらに別の実施形態においては、モバイルコンピューティングデバイス７００は、外部デバイスへ信号を送信するために、または外部デバイスから信号を受信するために、オーディオ入力（例えば、マイクロフォンジャック）、オーディオ出力（例えば、ヘッドフォンジャック）、およびビデオ出力（例えば、ＨＤＭＩ（登録商標）ポート）など、入力および／または出力ポートを組み込む。
【００６９】
[0084]  図１５Ｂは、モバイルコンピューティングデバイスの一実施形態のアーキテクチャーを示すブロック図である。すなわち、モバイルコンピューティングデバイス７００は、いくつかの実施形態を実施するためにシステム（例えば、アーキテクチャー）７０２を組み込むことができる。一実施形態においては、システム７０２は、１つまたは複数のアプリケーション（例えば、ブラウザ、Ｅメール、カレンダリング、連絡先マネージャー、メッセージングクライアント、ゲーム、およびメディアクライアント／プレーヤ）を稼働させることができる「スマートフォン」として実装される。いくつかの実施形態においては、システム７０２は、統合された携帯情報端末（ＰＤＡ）およびワイヤレス電話などのコンピューティングデバイスとして統合される。
【００７０】
[0085]  １つまたは複数のアプリケーションプログラム７６６をメモリ７６２内にロードして、オペレーティングシステム７６４上でまたはオペレーティングシステム７６４に関連付けて稼働させることが可能である。アプリケーションプログラムの例は、電話ダイヤラープログラム、Ｅメールプログラム、個人情報管理（PIM）プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザプログラム、メッセージングプログラムなどを含む。システム７０２はまた、メモリ７６２内に不揮発性ストレージエリア７６８を含む。不揮発性ストレージエリア７６８は、システム７０２が電源を落とされた場合に失われるべきではない永続的な情報を格納するために使用することが可能である。アプリケーションプログラム７６６は、Ｅメールアプリケーションによって使用されるＥメールまたはその他のメッセージ、等など、不揮発性ストレージエリア７６８における情報を使用および格納することができる。同期化アプリケーション（図示せず）も、システム７０２上に存在しており、不揮発性ストレージエリア７６８において格納されている情報を、ホストコンピュータにおいて格納されている対応する情報と同期化したままにしておくために、ホストコンピュータ上に存在している対応する同期化アプリケーションと対話するようにプログラムされている。理解されたいこととして、本明細書において説明されているようなマルチテナント環境における署名証明書を検証するための命令を含むその他のアプリケーションをメモリ７６２内にロードして、モバイルコンピューティングデバイス７００上で稼働させることが可能である（例として、および／または任意選択により、検証モジュール６１１）。
【００７１】
[0086]  システム７０２は、電源７７０を有しており、電源７７０は、１つまたは複数のバッテリーとして実装することが可能である。電源７７０はさらに、ＡＣアダプタ、または、バッテリーを補充もしくは充電するパワードドッキングクレードルなど、外部電源を含むことができる。
【００７２】
[0087]  システム７０２は、無線周波数通信を送信および受信する機能を実行する無線機７７２を含むこともできる。無線機７７２は、通信キャリアまたはサービスプロバイダを介してシステム７０２と「外界」との間におけるワイヤレス接続を容易にする。無線機７７２との間における伝送は、オペレーティングシステム７６４のコントロールのもとで行われる。言い換えれば、無線機７７２によって受け取られる通信は、オペレーティングシステム７６４を介してアプリケーションプログラム７６６へ広めることが可能であり、その逆もまた同様である。
【００７３】
[0088]  視覚的な通知を提供するために視覚的なインジケータ７２０を使用することが可能であり、および／またはオーディオトランスデューサ７２５を介して可聴通知を生成するためにオーディオインターフェース７７４を使用することが可能である。示されている実施形態においては、視覚的なインジケータ７２０は発光ダイオード（LED）であり、オーディオトランスデューサ７２５はスピーカーである。これらのデバイスは、電源７７０に直接結合することが可能であり、それによって、アクティブ化されているときには、例えばッテリー電力を節約するためにプロセッサ７６０およびその他のコンポーネントがシャットダウンする場合があっても、通知メカニズムによって指示された持続時間にわたってオンのままである。ＬＥＤは、デバイスの電源をオンにされているステータスを示すためのアクションをユーザが取るまで無期限にオンのままであるようにプログラムすることが可能である。オーディオインターフェース７７４は、可聴信号をユーザに提供するために、および可聴信号をユーザから受け取るために使用される。例えば、オーディオインターフェース７７４は、オーディオトランスデューサ７２５に結合されていることに加えて、電話での会話を容易にするためになど、可聴入力を受け取るためにマイクロフォンに結合することも可能である。本開示の実施形態によれば、マイクロフォンは、以降で説明するように、通知のコントロールを容易にするためにオーディオセンサとして機能することもできる。システム７０２はさらに、静止画像、ビデオストリームなどを録画するためにオンボードカメラ７３０のオペレーションを可能にするビデオインターフェース７７６を含むことができる。
【００７４】
[0089]  システム７０２を実施するモバイルコンピューティングデバイス７００は、さらなる特徴または機能を有することができる。例えば、モバイルコンピューティングデバイス７００は、磁気ディスク、光ディスク、またはテープなど、さらなる（取り外し可能な、および／または取り外し不能な）データストレージデバイスを含むこともできる。そのようなさらなるストレージは、図１５Ｂにおいて不揮発性ストレージエリア７６８によって示されている。
【００７５】
[0090]  モバイルコンピューティングデバイス７００によって生成されてまたは取り込まれてシステム７０２を介して格納されるデータ／情報は、上述のように、モバイルコンピューティングデバイス７００上にローカルに格納することが可能であり、またはそれらのデータは、無線機７７２を介して、もしくは、モバイルコンピューティングデバイス７００と、モバイルコンピューティングデバイス７００に関連付けられている別個のコンピューティングデバイス、例えば、インターネットなどの分散コンピューティングネットワークにおけるサーバコンピュータとの間における有線接続を介して、そのデバイスによってアクセスすることが可能である任意の数のストレージメディア上に格納することが可能である。理解されたいこととして、そのようなデータ／情報には、モバイルコンピューティングデバイス７００を介して、無線機７７２を介して、または分散コンピューティングネットワークを介してアクセスすることが可能である。同様に、そのようなデータ／情報は、電子メールおよび協調的なデータ／情報共有システムを含む、よく知られているデータ／情報転送／格納手段に従って格納および使用するためにコンピューティングデバイスどうしの間において容易に転送することが可能である。
【００７６】
[0091]  図１６は、上述のコンピューティングデバイス８０４、タブレット８０６、またはモバイルデバイス８０８など、リモートソースからコンピューティングシステムにおいて受け取られたデータを処理するためのシステムのアーキテクチャーの一実施形態を示している。サーバデバイス８０２において表示されるコンテンツは、異なる通信チャネルまたはその他のストレージタイプにおいて格納することが可能である。この実施形態においては、一般的なコンピューティングデバイス８０４は、シルエットに関する改良されたグラフィックインターフェースを利用するＥメールアプリケーション６６０を実行している。さらに、この実施形態においては、タブレット８０６は、シルエットに関する改良されたグラフィックインターフェースを利用するワードプロセッシングアプリケーション６６２を実行している。加えて、この実施形態においては、モバイルコンピューティングデバイス８０８は、シルエットに関する改良されたグラフィックインターフェースを利用するスプレッドシートアプリケーションを実行している。シルエットに関する改良されたグラフィックインターフェース、および改良されたグラフィックインターフェースを生成するための方法は、詳細に上述されており、図２〜図１３において示されている。例えば、ディレクトリサービス８２２、ウェブポータル８２４、メールボックスサービス８２６、インスタントメッセージングストア８２８、またはソーシャルネットワーキングサイト８３０を使用して、さまざまなドキュメントを格納することが可能である。
【００７７】
[0092]  本開示の実施形態は、例えば、本開示の実施形態による方法、システム、およびコンピュータプログラム製品のブロック図および／またはオペレーション図を参照して上述されている。

【００７８】
[0093]  本出願において提供されている１つまたは複数の実施形態の説明および図示は、特許請求されている本開示の範囲をいかなる形であれ限定または制限することを意図されているものではない。本出願において提供されている実施形態、例、および詳細は、有している考えを伝えるのに、および特許請求されている本開示の最良のモードを他者が作成および使用することを可能にするのに十分であると考えられる。特許請求されている本開示は、本出願において提供されているいずれかの実施形態、例、または詳細に限定されるものと解釈されるべきではない。（構造的な、および方法論的な、という両方の点での）さまざまな特徴は、組み合わせてまたは別々に示され説明されているかどうかにかかわらず、特徴の特定のセットを伴う一実施形態を生み出すために選択的に含まれること、または省略されることを意図されている。当業者なら、本出願の説明および図示を提供されたならば、変形形態、修正形態、および代替実施形態を想起することができる。
【００７９】
[0094]  加えて、コンピューティングデバイス上のオペレーティングシステム上で稼働するアプリケーションプログラムとともに実行する改良されたシルエットという一般的なコンテキストにおいて実施形態が説明されているかもしれないが、その他のプログラムモジュールと組み合わせて態様を実施することも可能であるということを当業者なら認識するであろう。さらなる実施形態においては、本明細書において開示されている実施形態をハードウェアにおいて実施することも可能である。
【００８０】
[0095]  一般に、プログラムモジュールは、特定のタスクを実行するかまたは特定の抽象データ型を実施するルーチン、プログラム、コンポーネント、データ構造、およびその他のタイプの構造を含む。その上、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ミニコンピュータ、メインフレームコンピュータ、および類似のコンピューティングデバイスを含むその他のコンピュータシステム構成とともに実施形態を実施することが可能であるということを当業者なら理解するであろう。通信ネットワークを通じてリンクされているリモート処理デバイスどうしによってタスクが実行される分散コンピューティング環境において実施形態を実施することも可能である。分散コンピューティング環境においては、ローカルメモリストレージデバイスおよびリモートメモリストレージデバイスの両方にプログラムモジュールを配置することが可能である。
【００８１】
[0096]  コンピュータ実施プロセス（方法）、コンピューティングシステムとして、またはコンピュータプログラム製品もしくはコンピュータ可読メディアなどの製品として実施形態を実施することが可能である。そのコンピュータプログラム製品は、例示的なプロセスをコンピュータまたはコンピューティングシステムに実行させるための命令を含むコンピュータプログラムをエンコードしている、コンピュータシステムによって読み取り可能なコンピュータストレージメディアであることが可能である。そのコンピュータ可読ストレージメディアは、例えば、揮発性コンピュータメモリ、不揮発性メモリ、ハードドライブ、フラッシュドライブ、フロッピーディスク、またはコンパクトサーバ、単一のコンピューティングデバイス上で実行されるアプリケーション、および類似のシステムのうちの１つまたは複数を介して実装することが可能である。
【図１】
0006538712.tif 000002
【図２】
0006538712.tif 000003
【図３】
0006538712.tif 000004
【図４】
0006538712.tif 000005
【図５】
0006538712.tif 000006
【図６】
0006538712.tif 000007
【図７】
0006538712.tif 000008
【図８】
0006538712.tif 000009
【図９】
0006538712.tif 000010
【図１０】
0006538712.tif 000011
【図１１】
0006538712.tif 000012
【図１２】
0006538712.tif 000013
【図１３】
0006538712.tif 000014
【図１４】
0006538712.tif 000015
【図１５Ａ】
0006538712.tif 000016
【図１５Ｂ】
0006538712.tif 000017
【図１６】
0006538712.tif 000018