(57)【要約】ソフトウェアアプリケーションによって表示されるべき情報の意図される用法が説明され得る。その情報を表示するためのユーザインターフェースパターンモジュールの選択が実行され得る。ユーザインターフェースパターンモジュールは、意図される用法のために設計され得る。アプリケーションが実行されている間、ユーザインターフェースパターンモジュールを使用して情報を表示するためのユーザインターフェース構造が、インスタンス化され、編成されることが可能であり、さらに情報を表示するようにレンダリングされることが可能である。さらに、第１のユーザインターフェースパターンモジュールが、第１のコンテキストで情報を表示するように選択されて、情報に関する分類メタデータと一緒に使用されることが可能であり、さらに第２のユーザインターフェースパターンモジュールが、第２のコンテキストで情報を表示するように選択されて、情報に関する分類メタデータと一緒に使用されることが可能である。さらに、分類メタデータは、改訂されることが可能であり、さらにその改訂された分類メタデータ、および選択されたユーザインターフェースパターンモジュールが、ユーザインターフェース構造をインスタンス化し、編成するのに使用されることが可能である。
2013518321.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発コンピューティング環境において、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法を記述するステップと、
前記アプリケーションを実行するステップと、
前記情報を表示するための少なくとも１つのユーザインターフェースパターンモジュールの選択を実行し、前記少なくとも１つのユーザインターフェースパターンモジュールは、前記意図される用法のために設計されているステップと、
前記アプリケーションを実行している間、前記少なくとも１つのユーザインターフェースパターンモジュールを使用して前記情報を表示するための１つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップと、
前記アプリケーションを実行している間、前記情報を表示するように前記１つまたは複数のユーザインターフェース構造をレンダリングするステップと
を備えることを特徴とするコンピュータによって実施される方法。
【請求項２】
前記情報の前記意図される用法を記述するステップは、前記意図される用法を示すユーザ入力を受け取るステップを備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、１つまたは複数のプラットフォーム独立のユーザインターフェース構造、および１つまたは複数のプラットフォーム依存のユーザインターフェース構造をインスタンス化するステップを備えることを特徴とする請求項１に記載の方法。
【請求項４】
前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、１つまたは複数のアプリケーション実行環境制約を考慮に入れることを特徴とする請求項１に記載の方法。
【請求項５】
前記情報の少なくとも一部分の分類を実行するステップをさらに備え、前記分類の実行は、前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用される分類メタデータを生成することを特徴とする請求項１に記載の方法。
【請求項６】
前記分類の実行は、前記情報の１つまたは複数のフィールドの、前記少なくとも１つのユーザインターフェースパターンモジュールにおける１つまたは複数のカテゴリへの割当てを備えることを特徴とする請求項１に記載の方法。
【請求項７】
１つまたは複数のヒューリスティクスを実行して前記情報の少なくとも一部分を分類するステップをさらに備え、前記分類は、前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用される分類メタデータを生成することを特徴とする請求項１に記載の方法。
【請求項８】
前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、プラットフォームを選択するユーザ入力を受け取るステップをさらに備え、さらに前記１つまたは複数のユーザインターフェース構造の少なくとも一部分は、前記選択されたプラットフォームのためにフォーマットされることを特徴とする請求項１に記載の方法。
【請求項９】
前記アプリケーションが実行されている間に前記少なくとも１つのユーザインターフェースパターンモジュールの選択が実行される方法であって、
前記情報の少なくとも一部分の分類を実行するステップをさらに備え、前記分類は、分類メタデータを生成し、
前記分類メタデータの改訂を示すユーザ入力を受け取り、さらに前記ユーザ入力に応答して前記分類メタデータを改訂して、改訂された分類メタデータを生成するステップをさらに備え、
前記改訂された分類メタデータは、前記１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用され、さらに
前記分類メタデータは、前記情報の１つまたは複数のフィールドの、前記少なくとも１つのユーザインターフェースパターンモジュールにおける１つまたは複数のカテゴリへの割当てを備えることを特徴とする請求項１に記載の方法。
【請求項１０】
少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
ソフトウェアアプリケーションで表示されるべき情報の分類を実行して分類メタデータを生成するステップと、
前記アプリケーションにおける第１のコンテキストで前記情報を表示するための１つまたは複数のユーザインターフェースパターンモジュールの第１のセットの第１の選択を実行するステップと、
前記アプリケーションにおける第２のコンテキストで前記情報を表示するための１つまたは複数のユーザインターフェースパターンモジュールの第２のセットの第２の選択を実行するステップと、
前記第１のパターンモジュール選択、および前記分類メタデータを使用して前記情報の少なくとも一部分を表示するための１つまたは複数のユーザインターフェース構造の第１のセットをインスタンス化し、編成するステップと、
前記第２のパターンモジュール選択、および前記分類メタデータを使用して前記情報の少なくとも一部分を表示するための１つまたは複数のユーザインターフェース構造の第２のセットをインスタンス化し、編成するステップと、
前記第１のコンテキストで前記情報を表示するように１つまたは複数のユーザインターフェース構造の前記第１のセットをレンダリングするステップと、
前記第２のコンテキストで前記情報を表示するように１つまたは複数のユーザインターフェース構造の前記第２のセットをレンダリングするステップと
を備える動作を実行させることを特徴とするコンピュータ実行可能命令が実体化されている１つまたは複数のコンピュータ可読記憶媒体。
【請求項１１】
１つまたは複数のユーザインターフェース構造の前記第１のセットをレンダリングするステップ、および１つまたは複数のユーザインターフェース構造の前記第２のセットをレンダリングするステップは、前記ソフトウェアアプリケーションが実行されている間に実行されることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１２】
１つまたは複数のユーザインターフェース構造の前記第１のセットをインスタンス化し、編成するステップ、および１つまたは複数のユーザインターフェース構造の前記第２のセットをインスタンス化し、編成するステップは、前記アプリケーションが実行されている間に実行されることを特徴とする請求項１１に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１３】
前記動作は、前記第１のコンテキストにおける情報の第１の意図される用法を記述するステップと、前記第２のコンテキストにおける前記情報の第２の意図される用法を記述するステップとをさらに備えることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１４】
前記第１のコンテキストにおける情報の前記第１の意図される用法を記述するステップ、および前記第２のコンテキストにおける前記情報の前記第２の意図される用法を記述するステップは、１つまたは複数のユーザインターフェース構造の前記第１のセットをレンダリングするステップ、および１つまたは複数のユーザインターフェース構造の前記第２のセットをレンダリングするステップが実行されるコンピューティング環境とは異なるコンピューティング環境において実行されることを特徴とする請求項１３に記載の１つまたは複数のコンピュータ可読記憶媒体。
【請求項１５】
前記情報を記述するメタデータをキャプチャするステップをさらに備え、前記分類の少なくとも一部分は、前記情報を記述する前記メタデータに対して１つまたは複数のヒューリスティクスを実行することによって実行されることを特徴とする請求項１０に記載の１つまたは複数のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターンベースのユーザインターフェースに関する。
【背景技術】
【０００２】
効果的なユーザインターフェースは、通常、定評のあるユーザインターフェースパターンを使用して、情報を適切で、読みやすく、役立つ仕方で提示する。本明細書で使用されるパターンとは、情報を提示するための視覚的パターンである。例えば、情報のリストの中の各エントリが、複数のフィールドを有して、それらのフィールドの１つが、そのエントリにおける情報のメイン識別子であることが可能である。パターンは、このメイン識別子をリストの各エントリの一番上に含めることによって、リストの中の情報を要約することを含み得る。このメイン識別子は、比較的大きい太字のフォントで提示されることが可能であり、さらに残りの情報は、通常の太字でないフォントで、このメイン識別子の下に提示されることが可能である。他のパターンには、一括の情報を入力するためのパターン、詳細な情報を表示するためのパターン、特定のフォーマット（日付、電話番号その他のためのフォーマットなどの）で情報を表示するためのパターンが含まれ得る。最良慣行のビジュアルデザインパターンは、通常、形式化されていないが、それらのパターンの知識、およびそれらのパターンを使用するための指針を有するとともに、ユーザインターフェース技術の知識も有する開発者によって実施される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本明細書で説明されるツールおよび技術は、パターンを使用する効果的なユーザインターフェースのより容易で、さらに／またはより効率的な作成を許すことが可能である。
【課題を解決するための手段】
【０００４】
一実施形態において、これらのツールおよび技術は、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法を記述することを含み得る。アプリケーションが実行されることが可能であり、さらに情報を表示するためのユーザインターフェースパターンモジュールが実行されることが可能である。本明細書で使用されるパターンモジュールとは、或る特定の用途のための標準の視覚的パターンなどの対応する視覚的パターンに適合するように１つまたは複数のユーザインターフェース構造を整理する、または構成するように呼び出され得る宣言型の命令、および／またはコンピュータ実行可能命令である。ユーザインターフェースパターンモジュールは、意図される用法のために設計され得る。アプリケーションを実行している間、ユーザインターフェースパターンモジュールを使用して情報を表示するためのユーザインターフェース構造が、インスタンス化され、編成されることが可能であり、さらにそれらのユーザインターフェース構造が、情報を表示するようにレンダリングされることが可能である。
【０００５】
これらのツールおよび技術の別の実施形態において、ソフトウェアアプリケーションで表示されるべき情報の分類が実行されて、分類メタデータが生成され得る。第１のユーザインターフェースパターンモジュールが、アプリケーションにおいて第１のコンテキストで情報を表示するために選択されることが可能であり、さらに第２のユーザインターフェースパターンモジュールが、アプリケーションにおいて第２のコンテキストで情報を表示するために選択されることが可能である。ユーザインターフェース構造の第１のセットが、第１のパターンモジュール選択、および分類メタデータを使用して情報の少なくとも一部分を表示するようにインスタンス化され、編成され得る。構造の第１のセットは、第１のアプリケーションコンテキストで情報を表示するようにレンダリングされ得る。ユーザインターフェース構造の第２のセットが、第２のパターンモジュール選択、および分類メタデータを使用して情報の少なくとも一部分を表示するようにインスタンス化され、編成され得る。ユーザインターフェース構造の第２のセットは、第２のアプリケーションコンテキストで情報を表示するようにレンダリングされ得る。
【０００６】
これらのツールおよび技術のさらに別の実施形態において、ソフトウェアアプリケーションで表示されるべき情報の分類が実行されて、分類メタデータが生成されることが可能であり、さらにその分類メタデータが改訂されることが可能である。その分類メタデータ、ならびに情報を表示するためのユーザインターフェースパターンモジュールの選択を使用して、ユーザインターフェース構造がインスタンス化され、編成されることが可能である。それらのユーザインターフェース構造が、情報を表示するようにレンダリングされ得る。
【０００７】
この概要は、選定された概念を簡略化された形態で説明するように与えられる。それらの概念は、詳細な説明において後段でさらに説明される。この概要は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図しておらず、主張される主題の範囲を限定するのに使用されることも意図していない。同様に、本発明は、背景技術、詳細な説明、または添付の図面において説明される特定の技術、ツール、環境、欠点、または利点を扱う実施形態に限定されない。
【図面の簡単な説明】
【０００８】
【図１】説明される実施形態の１つまたは複数が実施され得る適切なコンピューティング環境を示すブロック図である。
【図２】開発環境と、アプリケーション実行環境とを含むパターンベースのユーザインターフェース環境を示すブロック図である。
【図３】開発環境と、アプリケーション実行環境とを含む別のパターンベースのユーザインターフェース環境を示すブロック図である。
【図４】パターンベースのユーザインターフェース技術を示す流れ図である。
【図５】別のパターンベースのユーザインターフェース技術を示す流れ図である。
【図６】さらに別のパターンベースのユーザインターフェース技術を示す流れ図である。
【発明を実施するための形態】
【０００９】
多くの開発者は、ソフトウェアユーザインターフェースを開発する際に、ユーザインターフェースパターン、およびパターンを効果的に使用するユーザインターフェース技術の十分な知識を有さない。さらに、開発者がそのような知識を有する場合でさえ、それらのパターンを使用してユーザインターフェースを作成することは、時間がかかる可能性がある。本明細書で説明される実施形態は、効果的なパターンベースのユーザインターフェースのより容易で、さらに／またはより効率的な作成のための技術およびツールを対象とする。それらの実施形態は、これまでの技術の場合に行われてきたのと比べて、開発者のより大きい集団によってパターンがより効率的に使用されることを許し得る。そのような改良が、様々な技術およびツールを別々に使用すること、または組合せで使用することからもたらされ得る。
【００１０】
そのような技術およびツールは、アプリケーションで表示されるべき情報についてのメタデータをキャプチャすること、表示されるべき情報の意図される用法を記述すること、およびその情報についてのメタデータを使用してその情報の分類を実行することを含み得る。この分類は、分類メタデータを生成することが可能である。分類を実行することは、１つまたは複数の分類を自動的に実行すること、および／または１つまたは複数の分類を指定するユーザ入力を受け取ることを含み得る。情報を表示するためのユーザインターフェースパターンモジュールが選択され得る。ユーザインターフェースパターンモジュールおよび分類メタデータを使用して、分類メタデータおよびパターンモジュールに従って情報を表示するように１つまたは複数のユーザインターフェース構造がインスタンス化され、編成され得る。また、表示されるべき情報についてのメタデータを使用して、そのメタデータに従ってユーザインターフェース構造がインスタンス化され、編成されることも可能である。ユーザインターフェース構造は、その情報を表示するようにレンダリングされ得る。パターンモジュール選択、ならびにユーザインターフェース構造をインスタンス化すること、編成すること、およびレンダリングすることは、意図される用法が記述される開発環境とは異なるコンピューティング環境においてなど、アプリケーションが実行されている間に行われることが可能である。パターンモジュール選択は、エンドユーザがその情報の特定の部分を編集することを許可されているかどうかなどの、アプリケーションが実行されている際に利用可能な動的情報に依存することが可能である。分類メタデータ、その他の情報メタデータ、および／またはパターンモジュール選択は、改訂されることが可能であり、さらに改訂された分類メタデータ、情報メタデータ、および／またはパターンモジュール選択が、ユーザインターフェース構造をインスタンス化する際、編成する際、およびレンダリングする際に使用されることが可能である。さらに、分類メタデータを異なる複数のパターンモジュールと一緒に使用して、分類された情報がアプリケーションにおける異なるコンテキストで異なるように表示されることが可能である。また、さらなるユーザインターフェースパターンモジュールをメインパターンモジュール内で使用して、或る項目に関するパターンモジュールが項目の全体的なリストに関するパターンモジュール内でネスト化されるなどの、一連のネスト化されたユーザインターフェースパターンモジュールが形成されることも可能である。
【００１１】
いくつかの「ウィザード」タイプの技術が、データを記述し、さらにパターンに従ってそのデータを表示するためのボイラープレートユーザインターフェースを出すのに使用されてきた。しかし、そのようなウィザードは、限られていた。例えば、通常のウィザード技術は、アプリケーションが実行されている間のユーザインターフェース要素のインスタンス化および編成を許さなかった。また、それらの技術は、ウィザードが実行されると、改訂を許さなかった。さらに、それらの技術は、データ分類を使用して、分類された情報を、異なるコンテキストで異なるパターンモジュールに従って提示することも許さなかった。
【００１２】
したがって、１つまたは複数の実質的な利益が、本明細書で説明されるツールおよび技術から実現され得る。例えば、アプリケーションが実行されている間に、パターンモジュールが、選択されることが可能であり、さらにユーザインターフェース要素が、インスタンス化され、編成され、さらにレンダリングされることが可能であり、このことが、パターンモジュール選択、ならびにユーザインターフェース要素のインスタンス化、編成、およびレンダリングにより大きな柔軟性をもたらすことが可能である。また、柔軟性は、情報メタデータ、分類メタデータ、パターンモジュール、および／またはパターンモジュール選択の改訂を許すことによって、さらにデータ分類からのメタデータを使用して、異なるコンテキストで異なるパターンモジュールに従って情報を提示することによっても高められ得る。添付の特許請求の範囲において規定される主題は、本明細書で説明される利益に必ずしも限定されない。本発明の特定の実施形態は、本明細書で説明される利益のすべてをもたらすことも、いくつかをもたらすことも、いずれももたらさないことも可能である。様々な技術に関する動作は、提示のために或る特定の順序で、本明細書で説明されるものの、特定の順序が要求されない限り、この説明の仕方は、動作の順序の並べ替えを包含することを理解されたい。例えば、順番に説明される動作は、一部の事例で、並べ替えられる、または同時に実行されることが可能である。流れ図を参照して本明細書で説明される技術は、本明細書で説明されるシステムの１つまたは複数のシステムで、さらに／または他の１つまたは複数のシステムで使用され得る。例えば、本明細書で説明される様々な技術は、ハードウェアで実施されても、ソフトウェアで実施されても、またはハードウェアとソフトウェアの組合せで実施されてもよい。さらに、簡明のため、流れ図は、特定の技術が他の技術と連携して使用され得る様々な様態は示さない可能性がある。
【００１３】
Ｉ．例示的なコンピューティング環境
図１は、説明される実施形態の１つまたは複数が実施され得る適切なコンピューティング環境（１００）の一般化された例を示す。例えば、１つまたは複数のそのようなコンピューティング環境が、開発環境またはアプリケーション実行環境として使用され得る。一般に、様々な異なる汎用または専用のコンピューティングシステム構成が使用され得る。本明細書で説明されるツールおよび技術と一緒に使用するのに適している可能性がある、よく知られたコンピューティングシステム構成の例には、サーバファームおよびサーバクラスタ、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前述のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
【００１４】
本発明は、多様な汎用または専用のコンピューティング環境において実施され得るので、コンピューティング環境（１００）は、本発明の用途または機能の範囲について限定を示唆することは全く意図していない。
【００１５】
図１を参照すると、コンピューティング環境（１００）は、少なくとも１つの処理装置（１１０）と、メモリ（１２０）とを含む。図１で、この最も基本的な構成（１３０）が破線内に含まれる。処理装置（１１０）は、コンピュータ実行可能命令を実行し、現実のプロセッサであっても、仮想のプロセッサであってもよい。多重処理システムにおいて、複数の処理装置が、コンピュータ実行可能命令を実行して処理能力を高める。メモリ（１２０）は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であっても、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ）であっても、揮発性メモリと不揮発性メモリの何らかの組合せであってもよい。メモリ（１２０）は、パターンベースのユーザインターフェースを実施するソフトウェア（１８０）を格納する。
【００１６】
図１の様々なブロックは、簡明のため線で示されるものの、現実には、様々な構成要素を線引きすることは、それほど明確ではなく、比喩的に言えば、図１、および後段で説明される他の図の線は、より正確にはグレーであり、不鮮明である。例えば、ディスプレイデバイスなどの提示構成要素は、Ｉ／Ｏ構成要素であると見なすことができる。また、プロセッサは、メモリを有する。本発明の発明者らは、当技術分野の性質がそのようなものであることを認識しており、図１の図は、本発明の１つまたは複数の実施形態に関連して使用され得る例示的なコンピューティングデバイスを示すに過ぎないことを繰り返しておく。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリの間の区別は、以上のすべてが、図１の範囲に含まれることが企図され、「コンピュータ」、「コンピューティング環境」、または「コンピューティングデバイス」を指すので、行われない。
【００１７】
コンピューティング環境（１００）は、さらなるフィーチャを有することが可能である。図１で、コンピューティング環境（１００）は、ストレージ（１４０）と、１つまたは複数の入力デバイス（１５０）と、１つまたは複数の出力デバイス（１６０）と、１つまたは複数の通信接続（１７０）とを含む。バス、コントローラ、またはネットワークなどの相互接続機構（図示せず）が、コンピューティング環境（１００）の構成要素を互いに接続する。通常、オペレーティングシステムソフトウェア（図示せず）が、コンピューティング環境（１００）において実行される他のソフトウェアのための動作環境を提供し、さらにコンピューティング環境（１００）内の構成要素の活動を協調させる。
【００１８】
ストレージ（１４０）は、リムーバブルであっても、リムーバブルでなくてもよく、さらに磁気ディスク、磁気テープもしくは磁気カセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報を格納するのに使用され得るとともに、コンピューティング環境（１００）内でアクセスされ得る他の任意の媒体などのコンピュータ可読記憶媒体を含むことが可能である。ストレージ（１４０）は、ソフトウェア（１８０）のための命令を格納する。
【００１９】
入力デバイス（１５０）は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャンデバイス、ネットワークアダプタ、ＣＤ／ＤＶＤ読み取り装置、またはコンピューティング環境（１００）に入力を与える別のデバイスであることが可能である。出力デバイス（１６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤ／ＤＶＤ書き込み装置、ネットワークアダプタ、またはコンピューティング環境（１００）からの出力をもたらす別のデバイスであることが可能である。
【００２０】
通信接続（１７０）は、通信媒体を介する別のコンピューティングエンティティに対する通信を可能にする。このため、コンピューティング環境（１００）は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または別の一般的な通信ノードなどの１つまたは複数の遠隔コンピューティングデバイスに対する論理接続を使用して、ネットワーク化された環境において動作することが可能である。通信媒体は、変調されたデータ信号内でデータ、またはコンピュータ実行可能命令、または要求などの情報を伝送する。変調されたデータ信号とは、信号内に情報を符号化するように特性の１つまたは複数が設定された、または変更された信号である。例として、限定としてではなく、通信媒体には、電気、光、ＲＦ、赤外線、音響、または他のキャリアで実施される有線技術またはワイヤレス技術が含まれる。
【００２１】
これらのツールおよび技術は、一時的でないコンピュータ可読媒体の一般的な文脈で説明され得る。コンピュータ可読媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な媒体である。例として、限定としてではなく、コンピューティング環境（１００）の場合、コンピュータ可読媒体には、メモリ（１２０）、ストレージ（１４０）、および以上の組合せが含まれる。
【００２２】
これらのツールおよび技術は、コンピューティング環境においてターゲットの現実のプロセッサまたは仮想のプロセッサの上で実行されているコンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、構成要素、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わされても、分割されてもよい。プログラムモジュールに関するコンピュータ実行可能命令は、ローカルコンピューティング環境内で実行されても、分散コンピューティング環境内で実行されてもよい。分散コンピューティング環境において、プログラムモジュールは、ローカルコンピュータ記憶媒体と遠隔コンピュータ記憶媒体の両方の中に配置され得る。
【００２３】
提示のため、詳細な説明は、「決定する」、「選択する」、「調整する」、および「動作させる」のような用語を使用して、コンピューティング環境におけるコンピュータ動作を説明する。これら、およびその他の類似する用語は、コンピュータによって実行される動作に関する高レベルの抽象化であり、人間（「ユーザ」などの）による動作の実行が明示的に記載されない限り、人間によって実行される動作と混同されるべきではない。これらの用語に対応する実際のコンピュータ動作は、実施形態に依存して変わる。
【００２４】
ＩＩ．パターンベースのユーザインターフェースシステムおよびユーザインターフェース環境
図２は、説明される実施形態の１つまたは複数が関連して実施され得るパターンベースのユーザインターフェースコンピューティング環境（２００）のブロック図である。環境（２００）は、表示すべき情報（２０２）と、情報（２０２）と関係するメタデータを含むメタモデル（２０３）と、情報（２０２）を表示することができるアプリケーション（２０６）を開発するための開発環境（２０４）と、アプリケーション（２０６）を実行することができるアプリケーション実行環境（２０８）とを含み得る。開発環境（２０４）とアプリケーション実行環境（２０８）は、異なる物理的マシン、または異なる仮想マシンなどの異なる環境であり得る。パターンベースのユーザインターフェース環境（２００）のこれらの構成要素のそれぞれが、以下により詳細に説明される。
【００２５】
表示されるべき情報（２０２）は、図２で、開発環境（２０４）内に示されるが、情報（２０２）は、アプリケーション（２０６）とともに実行環境（２０８）内に含められることも可能である。さらに、情報（２０２）の一部、またはすべてが、開発環境（２０４）内に存在しないことも可能である。例えば、情報（２０２）の少なくとも一部分が、アプリケーション（２０６）が実行環境（２０８）において実行されている間にユーザによって入力されることが可能である。情報（２０２）は、様々なタイプの情報のいずれであってもよい。例えば、情報は、データベースからのデータ、データを入力することを求めるユーザに対するプロンプト、表示されるべき図表、ユーザによって入力されたデータなどであることが可能である。
【００２６】
メタモデル（２０３）は、ＸＭＬフォーマットなどの様々なフォーマットのいずれであることも可能な、キャプチャされた情報メタデータ（２１４）を含み得る。情報メタデータ（２１４）は、表示されるべき情報（２０２）を記述することが可能である。例えば、情報メタデータ（２１４）は、情報（２０２）の中のフィールドのフィールド名または説明、情報（２０２）の中のフィールドのタイプ（例えば、数、文字列、日付、および／または時刻）を含み得る。また、情報メタデータ（２１４）は、ユーザインターフェースのインスタンス化、編成、および／またはレンダリングに影響を与える可能性がある、関連するメタデータ（例えば、文字列長制約）を含むことも可能である。メタモデル（２０３）は、情報（２０２）の１つまたは複数の態様（例えば、フィールド、フィールドのグループなど）の分類メタデータ（２１６）を含むことも可能である。
【００２７】
さらに、メタモデル（２０３）は、情報（２０２）の少なくとも一部分の意図される用法の指示を含み得るパターン選択（２１８）を含むことが可能である。例えば、パターン選択（２１８）は、ユーザが情報を一括で編集するという指示を含むことが可能であり、このことは、情報の一括編集を許すユーザインターフェースパターンモジュールの選択を示す。別の例として、パターン選択（２１８）は、ユーザが情報の簡単な要約を所望することを指示することが可能であり、このことは、簡単な要約を提供するユーザインターフェースパターンモジュールの選択を示すことが可能である。
【００２８】
開発環境（２０４）は、実行環境（２０８）において実行されるべきアプリケーション（２０６）を開発するのに使用され得る。この開発の一環として、開発環境（２０４）は、メタモデル（２０３）に関するデータをキャプチャすることが可能である。メタモデル（２０３）に関するデータ（情報メタデータ（２１４）、分類メタデータ（２１６）、および／またはパターン選択（２１８））は、表示されるべき情報（２０２）に関して、開発者からユーザ入力を受け取ること、および／またはリポジトリ（例えば、データベース、ウェブサービスなど）に対して簡単なヒューリスティクスを実行することによってデータを推測することによってなど、様々な仕方でキャプチャされ得る。後段で説明されるモジュールに加えて、開発環境は、マイクロソフト社のＶｉｓｕａｌ  Ｓｔｕｄｉｏ（登録商標）ソフトウェア開発システムによって提供される開発モジュールなどの他の開発モジュールを含み得る。
【００２９】
開発環境（２０４）は、情報記述モジュール（２２０）を含み得る。情報記述モジュール（２２０）は、情報メタデータ（２１４）をキャプチャすることが可能であり、情報メタデータ（２１４）は、表示されるべき情報（２０２）を記述することが可能である。例えば、情報メタデータ（２１４）は、エンドユーザに表示されるべき情報の構造および性質を記述することが可能である。例えば、情報メタデータ（２１４）は、表示されるべき情報（２０２）が顧客の表現を含み、各顧客表現が名前、アドレス、電子メール、および電話番号を含んでいることを示すことが可能である。情報メタデータ（２１４）は、開発環境（２０４）において情報記述モジュール（２２０）によってキャプチャされることが可能であり、さらに情報メタデータ（２１４）は、開発環境（２０４）内に永続させられることも可能である。
【００３０】
開発環境（２０４）は、分類モジュール（２２２）を含むことも可能である。分類モジュール（２２２）は、表示されるべき情報（２０２）を分類して、分類メタデータ（２１６）を生成することが可能である。分類メタデータ（２１６）は、情報（２０２）の相対優先度およびセマンティクスを記述するメタデータを含み得る。例えば、前述した顧客情報の例において、分類メタデータ（２１６）は、名前フィールドが情報の一次識別子であること、および電子メール、アドレス、および電話番号が二次的な重要度であることを示すことが可能である。分類モジュール（２２２）は、開発者からユーザ入力を受け取ることによって、さらに／または情報記述モジュール（２２０）によってキャプチャされた情報メタデータ（２１４）に対して簡単なヒューリスティクスを使用して分類情報を推測することによって、分類メタデータ（２１６）を生成する分類を実行することが可能である。分類メタデータ（２１６）は、デバイス独立およびプラットフォーム独立であることが可能であり、したがって、分類メタデータ（２１６）は、後段で説明されるとおり、様々な異なるプラットフォームおよび／またはデバイスのいずれにおいても、パターンベースのユーザインターフェースをインスタンス化する際、および編成する際に使用され得る。分類は、１つまたは複数の分類を示すユーザ入力に応答して実行される（すなわち、分類メタデータ（２１６）を生成するように実行される）ことが可能であり、さらに／または分類は、情報メタデータ（２１４）から分類メタデータ（２１６）を自動的に推測することによって実行されることが可能である。例えば、情報メタデータ（２１４）が、フィールドの名前が「名前」であることを示す場合、そのフィールドが、その情報（２０２）の少なくとも一部分の一次識別子であることが推測され得る。
【００３１】
開発環境（２０４）は、パターン選択（２１８）をインスタンス化し、編成することができるパターン選択モジュール（２２４）も含み得る。パターン選択（２１８）は、情報（２０２）がどのように使用されるべきか、さらに／または情報を表示する際にどのパターンもしくはどのパターンモジュールが使用されるべきかを記述するメタデータを含み得る。例えば、パターン選択（２１８）は、ユーザが、顧客のリストなどのリストの中の情報構造の多くのインスタンスをブラウズすることを示すことが可能である。あるいは、パターン選択（２１８）は、複数のユーザが情報を一括編集すること、複数のユーザが情報の詳細な要約を所望することなどを示すことなどによって、他の複数のユーザを示すことが可能である。パターン選択（２１８）（選択された１つまたは複数のパターンもしくはパターンモジュールを示すメタデータを含み得る）は、パターン選択（２１８）を示すユーザ入力に応答することによって生成され得る。パターン選択（２１８）は、パターンもしくはパターンモジュールが互いにネスト化されるべきことを示すことが可能である。例えば、１つのパターンが、リストの中の各エントリに適用され得る一方で、別のパターンが、全体的なリストに適用され得る。パターンモジュールのセットが利用できることが可能であり、したがって、パターン選択（２１８）は、利用可能なパターンモジュールから選択することが可能である。しかし、パターンモジュールのセットは、さらなるパターン、ならびにそれらのパターンに従ってユーザインターフェース構造をインスタンス化し、編成するさらなる対応するパターンモジュールが、開発者または他の人々によるユーザ入力に応答するなどして、追加され得るように、拡張可能であり得る。パターン選択（２１８）は、同一の情報（２０２）に関する複数のパターンモジュールの選択を含み得る。例えば、パターン選択（２１８）における異なるパターンモジュールが、アプリケーションにおける異なるコンテキストで適用され得る。例えば、１つのコンテキストでは、情報（２０２）は、編集可能でない可能性がある一方で、別のコンテキストでは、情報（２０２）は、編集可能であり得る。別の例として、１つのコンテキストでは、情報（２０２）は、要約パターンで表示されることが可能であり、さらに別のコンテキストでは、情報（２０２）は、情報（２０２）の詳細のより多くが表示されて、詳細な表示パターンで表示されることが可能である。
【００３２】
開発者が、情報メタデータ（２１４）、分類メタデータ（２１６）、パターン選択（２１８）、および／または選択されたパターンモジュール自体に改訂を行うことを含め、メタモデル（２０３）を改訂することが可能である。また、メタモデル（２０３）の中のデータの第２のセットがメタモデル（２０３）の中のデータの第１のセットから推測される場合、第１のセットに対する改訂が、第２のセットに対する改訂も誘発することが可能である。例えば、分類メタデータ（２１６）が情報メタデータ（２１４）から推測され、さらに情報メタデータ（２１４）が、分類メタデータ（２１６）に影響を与えるような仕方で変更された場合、分類メタデータ（２１６）は、その変更を反映するように更新され得る。
【００３３】
やはり図２を参照すると、アプリケーション（２０６）が、開発環境（２０４）においてコンパイルされることが可能であり、さらにコンパイルされたアプリケーションが、実行環境（２０８）に送られて、実行環境（２０８）において実行されることが可能である。実行環境（２０８）は、パターン選択（２１８）において選択されたパターンを実施するように実行され得る、利用可能なパターンモジュール（２３０）を含み得る。実行環境（２０８）は、メタモデル（２０３）からのデータを使用して、１つまたは複数のユーザインターフェース構造（２３４）をインスタンス化し、編成することが可能なユーザインターフェース構造インスタンス化−編成モジュール（２３２）を含み得る。例えば、構造インスタンス化−編成モジュール（２３２）は、分類メタデータ（２１６）およびパターン選択（２１８）を使用して、パターン選択（２１８）に対応するパターンモジュール（２３０）の１つまたは複数を呼び出して、パターン選択（２１８）の中で示される対応する用法に合わせて最適化された仕方で情報を表示する１つまたは複数のユーザインターフェース構造（２３４）を作成することによって、ユーザインターフェース構造（２３４）をインスタンス化し、編成することが可能である。
【００３４】
呼び出されたパターンモジュール（２３０）は、分類メタデータ（２１６）を適用して、パターンの中のカテゴリに情報（２０２）のフィールドを割り当てることが可能であり、さらに割り当てられたフィールドがパターンカテゴリに従って表示されて情報（２０２）を表示するためのユーザインターフェース構造をインスタンス化し、編成することが可能である。例えば、情報（２０２）の「名前」フィールドが、分類メタデータ（２１６）の中の「一次識別子」として分類され得る。パターンモジュール（２３０）は、「一次識別子」カテゴリを有することが可能であり、さらに「名前」フィールドが、そのカテゴリに割り当てられることが可能である。例として、「一次識別子」カテゴリは、表示される他の情報フィールドより大きいフォントサイズで、ユーザインターフェースの中の情報の一番上に現れることが可能である。
【００３５】
ユーザインターフェース構造（２３４）は、構造のプラットフォーム独立およびデバイス独立の層と、構造のプラットフォーム依存および／またはデバイス依存の層とを含み得る。このことは、利用可能なプラットフォームから特定のプラットフォームが選択されることを許すことが可能であり、さらに構造のプラットフォーム独立の層は、選択されたプラットフォームのための構造のプラットフォーム依存の層に変換されることが可能である。ユーザインターフェース構造のプラットフォーム依存の層は、選択されたプラットフォームまたは技術を呼び出して、選択されたパターンモジュールに従って構造をレンダリングするのに使用され得る標準のユーザインターフェース構造を含み得る。例えば、ユーザインターフェース構造のプラットフォーム依存の層は、ＨＴＭＬ、Ｍｉｃｒｏｓｏｆｔ  Ｓｉｌｖｅｒｌｉｇｈｔ（商標）フォーマット、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ文書フォーマット、ＸＭＬなどの標準フォーマットまたは特別なフォーマットになっていることが可能である。前述したとおり、パターンモジュール（２３０）は、拡張可能であり得、したがって、さらなるパターンモジュールが外部で定義されて、開発環境（２０４）において利用できるようにされることが可能であり、さらに開発環境（２０４）において開発されたアプリケーションが利用できるようにされることが可能である。
【００３６】
実行環境（２０８）は、ユーザインターフェース表示（２３８）をもたらすようにユーザインターフェース構造（２３４）をレンダリングすることができるユーザインターフェースレンダリングモジュール（２３６）を含むことも可能である。このことは、標準のユーザインターフェースプラットフォームまたはユーザインターフェース技術を用いて行われ得る。例えば、アプリケーションプログラミングインターフェース呼出しが、そのプラットフォームまたは技術に対して行われ得る。プラットフォームまたは技術は、メタモデル（２０３）に従って情報（２０２）のユーザインターフェース表示（２３８）をもたらすユーザインターフェース構造（２３４）をレンダリングすることによって、応答することが可能である。キャプチャされた情報メタデータ（２１４）は、ユーザインターフェースをレンダリングする際に使用され得る、プラットフォーム固有の注釈（例えば、Ｓｉｌｖｅｒｌｉｇｈｔ（商標）スタイルもしくはＣＳＳスタイルの識別子、または主題定義）を含むことも可能である。
【００３７】
次に図３を参照して、代替のパターンベースのユーザインターフェース環境（３００）が説明される。環境（３００）は、前述した環境（２００）と同一の構成要素および構成要素フィーチャを含み得る。このため、環境（３００）は、アプリケーションにおいて表示すべき情報（３０２）と、メタモデル（３０３）と、開発環境（３０４）と、開発環境（３０４）において開発されたアプリケーション（３０６）と、アプリケーション実行環境（３０８）と、キャプチャされた情報メタデータ（３１４）と、分類メタデータ（３１６）と、パターン選択（３１８）と、情報記述モジュール（３２０）と、分類モジュール（３２２）と、パターン選択モジュール（３２４）と、パターンモジュール（３３０）と、ユーザインターフェース構造インスタンス化−編成モジュール（３３２）と、ユーザインターフェース構造（３３４）と、ユーザインターフェースレンダリングモジュール（３３６）と、ユーザインターフェース表示（３３８）とを含み得る。しかし、ユーザインターフェース構造インスタンス化−編成モジュール（３３２）は、実行環境（３０８）の代わりに開発環境（３０４）内にあることが可能であり、したがって、ユーザインターフェース構造は、開発環境（３０４）内でインスタンス化され、編成される。あるいは、或るユーザインターフェース構造インスタンス化−編成モジュールが開発環境に存在することが可能であり、さらに別のユーザインターフェース構造インスタンス化−編成モジュールが実行環境に存在することが可能であり、したがって、一部のユーザインターフェース構造は、開発環境においてインスタンス化され、編成されることが可能であり、一部のユーザインターフェース構造は、実行環境においてインスタンス化され、編成されることが可能である。パターンベースのユーザインターフェース環境の構成要素は、本明細書で明示的には詳細に述べられていない他の仕方で構成されることも可能である。
【００３８】
ＩＩＩ．パターンベースのユーザインターフェース技術
図４を参照して、パターンベースのユーザインターフェース技術が説明される。ソフトウェア開発コンピューティング環境において、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法が記述され得る（４１０）。その情報の少なくとも一部分の分類が実行され得る（４２０）。アプリケーションが実行されることが可能であり（４３０）、さらに情報を表示するための少なくとも１つのユーザインターフェースパターンモジュールの選択が実行され得る（４４０）。アプリケーションが実行されている間（４３０）、情報を表示するための１つまたは複数のユーザインターフェース構造が、少なくとも１つのユーザインターフェースパターンモジュールを使用してインスタンス化され、編成されることが可能である（４５０）。分類の実行（４２０）が、その１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する（４５０）際に使用され得る分類メタデータを生成することが可能である。やはりアプリケーションが実行されている間（４３０）、その１つまたは複数のユーザインターフェース構造が、情報を表示するようにレンダリングされ得る（４６０）。また、パターンモジュール選択の実行（４４０）も、アプリケーションが実行されている間（４３０）に行われることが可能であるが、この実行（４４０）は、アプリケーションを実行するのに先立って行われてもよい。
【００３９】
情報の意図される用法を記述すること（４１０）は、意図される用法を示すユーザ入力を受け取ることを含み得る。その１つまたは複数のユーザインターフェース構造をインスタンス化し、編成すること（４５０）は、１つまたは複数のプラットフォーム独立のユーザインターフェース構造、および１つまたは複数のプラットフォーム依存のユーザインターフェース構造をインスタンス化することを含み得る。また、インスタンス化し、編成すること（４５０）は、アプリケーション実行環境制約を考慮に入れることも可能である。インスタンス化し、編成すること（４５０）は、プラットフォームを選択するユーザ入力を受け取ることを含むことが可能であり、さらにその１つまたは複数のユーザインターフェース構造の少なくとも一部分が、選択されたプラットフォームのためにフォーマットされることが可能である。別の例として、スタイルを設定すること（ｓｔｙｌｉｎｇ）が、ユーザインターフェース構造がどのようにインスタンス化され、編成されるかに影響を与えることが可能である。Ｍｉｃｒｏｓｏｆｔ  Ｓｉｌｖｅｒｌｉｇｈｔ（商標）出力プラットフォームが、スタイルを設定すること、および主題を設定（ｔｈｅｍｉｎｇ）することをサポートすることが可能であり、したがって、様々な主題および／またはスタイルが適用され得る。一例において、プリンタ固有の主題が、印刷のためにスクリーンをレンダリングするためのユーザインターフェース構造をインスタンス化し、編成する際に適用され得る。このため、ユーザインターフェースは、印刷のためにレンダリングする際、スクリーン表示のためにレンダリングする際とは異なるように振舞い、さらに／または見えることが可能である。
【００４０】
別の例として、モバイルプラットフォームに関する或る実施形態において、１つまたは複数のユーザインターフェースの提示が、より小さいスクリーンサイズの環境制約のために異なることが可能である。例えば、様々な部分を有するスクリーンに関するパターンが、スクリーンスペースを節約するようにタブのセットに再編成されることが可能であり、またはスクリーンの一部が「その他」ボタンの背後に置かれることが可能である。意図される用法、および分類、または他の制約についての情報が、環境制約の、この種の考慮と一緒に、考慮に入れられることが可能である。モバイルプラットフォームの例を続けると、開発者の意図を表すメタデータによってそれほど重要でないと分類された情報は、ユーザインターフェース構造がインスタンス化され、編成される際に、スクリーンの「その他」セクションに自動的に入れられることが可能である。例えば、開発者によって「題名」および「副題」というラベルが付けられた情報を即時に表示することが望ましい可能性があるが、開発者によって「説明」情報というラベルが付けられた情報を即時に表示することは、それほど重要ではない可能性があり、したがって、「説明」情報は、スクリーンの「その他（ｍｏｒｅ）」セクションに入れられることが可能である。
【００４１】
分類の実行（４２０）は、情報の１つまたは複数のフィールドの、少なくとも１つのユーザインターフェースパターンモジュールにおける１つまたは複数のカテゴリへの割当てを含み得る。また、分類の実行（４２０）は、表示されるべき情報と関係するメタデータに対するヒューリスティクスなどの、１つまたは複数のヒューリスティクスを実行することを含み得る。
【００４２】
また、図４の技術は、分類メタデータの改訂を示すユーザ入力を受け取ること、およびそのユーザ入力に応答して分類メタデータを改訂して、改訂された分類メタデータを生成することを含むことも可能である。改定された分類メタデータは、１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用され得る。
【００４３】
次に図５を参照して、別のパターンベースのユーザインターフェース技術が説明される。この技術は、ソフトウェアアプリケーションで表示されるべき情報の分類を実行して（５１０）分類メタデータを生成することを含み得る。また、この技術は、アプリケーションにおける第１のコンテキストで情報を表示するための１つまたは複数のユーザインターフェースパターンモジュールの第１のセットの第１の選択を実行すること（５２０）、およびアプリケーションにおける第２のコンテキストで情報を表示するための１つまたは複数のユーザインターフェースパターンモジュールの第２のセットの第２の選択を実行すること（５３０）を含むことも可能である。情報の少なくとも一部分を表示するための１つまたは複数のユーザインターフェース構造の第１のセットが、第１のパターンモジュール選択、および分類メタデータを使用してインスタンス化され、編成されることが可能であり（５４０）、さらに情報の少なくとも一部分を表示するための１つまたは複数のユーザインターフェース構造の第２のセットが、第２のパターンモジュール選択、および分類メタデータを使用してインスタンス化され、編成されることが可能である（５５０）。１つまたは複数のユーザインターフェース構造の第１のセットが、第１のコンテキストで情報を表示するようにレンダリングされることが可能であり（５６０）、さらに１つまたは複数のユーザインターフェース構造の第２のセットが、第２のコンテキストで情報を表示するようにレンダリングされることが可能である（５７０）。
【００４４】
１つまたは複数のユーザインターフェース構造の第１のセットをレンダリングすること（５６０）、および１つまたは複数のユーザインターフェース構造の第２のセットをレンダリングすること（５７０）は、ソフトウェアアプリケーションが実行されている間に実行され得る。１つまたは複数のユーザインターフェース構造の第１のセットをインスタンス化し、編成すること（５４０）、および１つまたは複数のユーザインターフェース構造の第２のセットをインスタンス化し、編成すること（５５０）は、ソフトウェアアプリケーションが実行されている間に実行され得る。また、この技術は、第１のコンテキストにおける情報の第１の意図される用法を記述すること、および第２のコンテキストにおける情報の第２の意図される用法を記述することを含むことも可能である。第１のコンテキストにおける情報の第１の意図される用法を記述すること、および第２のコンテキストにおける情報の第２の意図される用法を記述することは、１つまたは複数のユーザインターフェース構造の第１のセットをレンダリングすること、および１つまたは複数のユーザインターフェース構造の第２のセットをレンダリングすることが実行されるコンピューティング環境とは異なるコンピューティング環境において実行され得る。
【００４５】
また、図５の技術は、情報を記述するメタデータをキャプチャすることを含むことも可能であり、さらに分類の少なくとも一部分は、表示されるべき情報を記述するメタデータに対して１つまたは複数のヒューリスティクスを実行することによって実行され得る。
【００４６】
次に図６を参照して、さらに別のパターンベースのユーザインターフェース技術が説明される。この技術は、ソフトウェアアプリケーションで表示されるべき情報の分類を実行して（６１０）分類メタデータを生成することを含み得る。この分類の少なくとも一部分は、自動的に実行され得る。分類メタデータは、分類メタデータの改訂を示すユーザ入力に応答するなどして、改訂されることが可能であり（６２０）、さらに表示されるべき情報を記述する他のメタデータが改訂されることも可能である（６２５）。情報を表示するための少なくとも１つのユーザインターフェースパターンモジュールの選択が、実行され得る（６３０）。改訂された分類メタデータ、およびパターンモジュール選択は、１つまたは複数のユーザインターフェース構造をインスタンス化し、編成する（６４０）のに使用され得る。その１つまたは複数のユーザインターフェース構造が、情報を表示するようにレンダリングされ得る（６５０）。
【００４７】
また、図６の技術は、情報を記述するメタデータをキャプチャすることを含むことも可能であり、情報を記述するメタデータは、分類の少なくとも一部分を実行する際に使用されることが可能である。情報を記述するメタデータが改訂されている場合、その改訂されたメタデータが、分類の少なくとも一部分を実行する際に使用され得る。この技術は、情報の意図される用法を示すユーザ入力を受け取ることをさらに含むことが可能であり、さらに少なくとも１つのユーザインターフェースパターンモジュールが、意図される用法のために設計されることが可能である。
【００４８】
主題は、構造上の特徴、および／または方法上の動作に固有の言葉で説明されてきたが、添付の特許請求の範囲において規定される主題は、前段で説明される特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴または動作は、特許請求の範囲を実施する例示的な形態として開示される。
【図１】
2013518321.tif 000003
【図２】
2013518321.tif 000004
【図３】
2013518321.tif 000005
【図４】
2013518321.tif 000006
【図５】
2013518321.tif 000007
【図６】
2013518321.tif 000008
【国際調査報告】
2013518321.tif 000009
2013518321.tif 000010