JP2013518321A - パターンベースのユーザインターフェース - Google Patents

パターンベースのユーザインターフェース Download PDF

Info

Publication number
JP2013518321A
JP2013518321A JP2012550006A JP2012550006A JP2013518321A JP 2013518321 A JP2013518321 A JP 2013518321A JP 2012550006 A JP2012550006 A JP 2012550006A JP 2012550006 A JP2012550006 A JP 2012550006A JP 2013518321 A JP2013518321 A JP 2013518321A
Authority
JP
Japan
Prior art keywords
user interface
information
classification
metadata
interface structures
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2012550006A
Other languages
English (en)
Inventor
エス.ビンダー ジョセフ
エー.ウェザーフォード スティーブン
エイチ.クン アンディ
スタントン リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013518321A publication Critical patent/JP2013518321A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

ソフトウェアアプリケーションによって表示されるべき情報の意図される用法が説明され得る。その情報を表示するためのユーザインターフェースパターンモジュールの選択が実行され得る。ユーザインターフェースパターンモジュールは、意図される用法のために設計され得る。アプリケーションが実行されている間、ユーザインターフェースパターンモジュールを使用して情報を表示するためのユーザインターフェース構造が、インスタンス化され、編成されることが可能であり、さらに情報を表示するようにレンダリングされることが可能である。さらに、第1のユーザインターフェースパターンモジュールが、第1のコンテキストで情報を表示するように選択されて、情報に関する分類メタデータと一緒に使用されることが可能であり、さらに第2のユーザインターフェースパターンモジュールが、第2のコンテキストで情報を表示するように選択されて、情報に関する分類メタデータと一緒に使用されることが可能である。さらに、分類メタデータは、改訂されることが可能であり、さらにその改訂された分類メタデータ、および選択されたユーザインターフェースパターンモジュールが、ユーザインターフェース構造をインスタンス化し、編成するのに使用されることが可能である。

Description

本発明は、パターンベースのユーザインターフェースに関する。
効果的なユーザインターフェースは、通常、定評のあるユーザインターフェースパターンを使用して、情報を適切で、読みやすく、役立つ仕方で提示する。本明細書で使用されるパターンとは、情報を提示するための視覚的パターンである。例えば、情報のリストの中の各エントリが、複数のフィールドを有して、それらのフィールドの1つが、そのエントリにおける情報のメイン識別子であることが可能である。パターンは、このメイン識別子をリストの各エントリの一番上に含めることによって、リストの中の情報を要約することを含み得る。このメイン識別子は、比較的大きい太字のフォントで提示されることが可能であり、さらに残りの情報は、通常の太字でないフォントで、このメイン識別子の下に提示されることが可能である。他のパターンには、一括の情報を入力するためのパターン、詳細な情報を表示するためのパターン、特定のフォーマット(日付、電話番号その他のためのフォーマットなどの)で情報を表示するためのパターンが含まれ得る。最良慣行のビジュアルデザインパターンは、通常、形式化されていないが、それらのパターンの知識、およびそれらのパターンを使用するための指針を有するとともに、ユーザインターフェース技術の知識も有する開発者によって実施される。
本明細書で説明されるツールおよび技術は、パターンを使用する効果的なユーザインターフェースのより容易で、さらに/またはより効率的な作成を許すことが可能である。
一実施形態において、これらのツールおよび技術は、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法を記述することを含み得る。アプリケーションが実行されることが可能であり、さらに情報を表示するためのユーザインターフェースパターンモジュールが実行されることが可能である。本明細書で使用されるパターンモジュールとは、或る特定の用途のための標準の視覚的パターンなどの対応する視覚的パターンに適合するように1つまたは複数のユーザインターフェース構造を整理する、または構成するように呼び出され得る宣言型の命令、および/またはコンピュータ実行可能命令である。ユーザインターフェースパターンモジュールは、意図される用法のために設計され得る。アプリケーションを実行している間、ユーザインターフェースパターンモジュールを使用して情報を表示するためのユーザインターフェース構造が、インスタンス化され、編成されることが可能であり、さらにそれらのユーザインターフェース構造が、情報を表示するようにレンダリングされることが可能である。
これらのツールおよび技術の別の実施形態において、ソフトウェアアプリケーションで表示されるべき情報の分類が実行されて、分類メタデータが生成され得る。第1のユーザインターフェースパターンモジュールが、アプリケーションにおいて第1のコンテキストで情報を表示するために選択されることが可能であり、さらに第2のユーザインターフェースパターンモジュールが、アプリケーションにおいて第2のコンテキストで情報を表示するために選択されることが可能である。ユーザインターフェース構造の第1のセットが、第1のパターンモジュール選択、および分類メタデータを使用して情報の少なくとも一部分を表示するようにインスタンス化され、編成され得る。構造の第1のセットは、第1のアプリケーションコンテキストで情報を表示するようにレンダリングされ得る。ユーザインターフェース構造の第2のセットが、第2のパターンモジュール選択、および分類メタデータを使用して情報の少なくとも一部分を表示するようにインスタンス化され、編成され得る。ユーザインターフェース構造の第2のセットは、第2のアプリケーションコンテキストで情報を表示するようにレンダリングされ得る。
これらのツールおよび技術のさらに別の実施形態において、ソフトウェアアプリケーションで表示されるべき情報の分類が実行されて、分類メタデータが生成されることが可能であり、さらにその分類メタデータが改訂されることが可能である。その分類メタデータ、ならびに情報を表示するためのユーザインターフェースパターンモジュールの選択を使用して、ユーザインターフェース構造がインスタンス化され、編成されることが可能である。それらのユーザインターフェース構造が、情報を表示するようにレンダリングされ得る。
この概要は、選定された概念を簡略化された形態で説明するように与えられる。それらの概念は、詳細な説明において後段でさらに説明される。この概要は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図しておらず、主張される主題の範囲を限定するのに使用されることも意図していない。同様に、本発明は、背景技術、詳細な説明、または添付の図面において説明される特定の技術、ツール、環境、欠点、または利点を扱う実施形態に限定されない。
説明される実施形態の1つまたは複数が実施され得る適切なコンピューティング環境を示すブロック図である。 開発環境と、アプリケーション実行環境とを含むパターンベースのユーザインターフェース環境を示すブロック図である。 開発環境と、アプリケーション実行環境とを含む別のパターンベースのユーザインターフェース環境を示すブロック図である。 パターンベースのユーザインターフェース技術を示す流れ図である。 別のパターンベースのユーザインターフェース技術を示す流れ図である。 さらに別のパターンベースのユーザインターフェース技術を示す流れ図である。
多くの開発者は、ソフトウェアユーザインターフェースを開発する際に、ユーザインターフェースパターン、およびパターンを効果的に使用するユーザインターフェース技術の十分な知識を有さない。さらに、開発者がそのような知識を有する場合でさえ、それらのパターンを使用してユーザインターフェースを作成することは、時間がかかる可能性がある。本明細書で説明される実施形態は、効果的なパターンベースのユーザインターフェースのより容易で、さらに/またはより効率的な作成のための技術およびツールを対象とする。それらの実施形態は、これまでの技術の場合に行われてきたのと比べて、開発者のより大きい集団によってパターンがより効率的に使用されることを許し得る。そのような改良が、様々な技術およびツールを別々に使用すること、または組合せで使用することからもたらされ得る。
そのような技術およびツールは、アプリケーションで表示されるべき情報についてのメタデータをキャプチャすること、表示されるべき情報の意図される用法を記述すること、およびその情報についてのメタデータを使用してその情報の分類を実行することを含み得る。この分類は、分類メタデータを生成することが可能である。分類を実行することは、1つまたは複数の分類を自動的に実行すること、および/または1つまたは複数の分類を指定するユーザ入力を受け取ることを含み得る。情報を表示するためのユーザインターフェースパターンモジュールが選択され得る。ユーザインターフェースパターンモジュールおよび分類メタデータを使用して、分類メタデータおよびパターンモジュールに従って情報を表示するように1つまたは複数のユーザインターフェース構造がインスタンス化され、編成され得る。また、表示されるべき情報についてのメタデータを使用して、そのメタデータに従ってユーザインターフェース構造がインスタンス化され、編成されることも可能である。ユーザインターフェース構造は、その情報を表示するようにレンダリングされ得る。パターンモジュール選択、ならびにユーザインターフェース構造をインスタンス化すること、編成すること、およびレンダリングすることは、意図される用法が記述される開発環境とは異なるコンピューティング環境においてなど、アプリケーションが実行されている間に行われることが可能である。パターンモジュール選択は、エンドユーザがその情報の特定の部分を編集することを許可されているかどうかなどの、アプリケーションが実行されている際に利用可能な動的情報に依存することが可能である。分類メタデータ、その他の情報メタデータ、および/またはパターンモジュール選択は、改訂されることが可能であり、さらに改訂された分類メタデータ、情報メタデータ、および/またはパターンモジュール選択が、ユーザインターフェース構造をインスタンス化する際、編成する際、およびレンダリングする際に使用されることが可能である。さらに、分類メタデータを異なる複数のパターンモジュールと一緒に使用して、分類された情報がアプリケーションにおける異なるコンテキストで異なるように表示されることが可能である。また、さらなるユーザインターフェースパターンモジュールをメインパターンモジュール内で使用して、或る項目に関するパターンモジュールが項目の全体的なリストに関するパターンモジュール内でネスト化されるなどの、一連のネスト化されたユーザインターフェースパターンモジュールが形成されることも可能である。
いくつかの「ウィザード」タイプの技術が、データを記述し、さらにパターンに従ってそのデータを表示するためのボイラープレートユーザインターフェースを出すのに使用されてきた。しかし、そのようなウィザードは、限られていた。例えば、通常のウィザード技術は、アプリケーションが実行されている間のユーザインターフェース要素のインスタンス化および編成を許さなかった。また、それらの技術は、ウィザードが実行されると、改訂を許さなかった。さらに、それらの技術は、データ分類を使用して、分類された情報を、異なるコンテキストで異なるパターンモジュールに従って提示することも許さなかった。
したがって、1つまたは複数の実質的な利益が、本明細書で説明されるツールおよび技術から実現され得る。例えば、アプリケーションが実行されている間に、パターンモジュールが、選択されることが可能であり、さらにユーザインターフェース要素が、インスタンス化され、編成され、さらにレンダリングされることが可能であり、このことが、パターンモジュール選択、ならびにユーザインターフェース要素のインスタンス化、編成、およびレンダリングにより大きな柔軟性をもたらすことが可能である。また、柔軟性は、情報メタデータ、分類メタデータ、パターンモジュール、および/またはパターンモジュール選択の改訂を許すことによって、さらにデータ分類からのメタデータを使用して、異なるコンテキストで異なるパターンモジュールに従って情報を提示することによっても高められ得る。添付の特許請求の範囲において規定される主題は、本明細書で説明される利益に必ずしも限定されない。本発明の特定の実施形態は、本明細書で説明される利益のすべてをもたらすことも、いくつかをもたらすことも、いずれももたらさないことも可能である。様々な技術に関する動作は、提示のために或る特定の順序で、本明細書で説明されるものの、特定の順序が要求されない限り、この説明の仕方は、動作の順序の並べ替えを包含することを理解されたい。例えば、順番に説明される動作は、一部の事例で、並べ替えられる、または同時に実行されることが可能である。流れ図を参照して本明細書で説明される技術は、本明細書で説明されるシステムの1つまたは複数のシステムで、さらに/または他の1つまたは複数のシステムで使用され得る。例えば、本明細書で説明される様々な技術は、ハードウェアで実施されても、ソフトウェアで実施されても、またはハードウェアとソフトウェアの組合せで実施されてもよい。さらに、簡明のため、流れ図は、特定の技術が他の技術と連携して使用され得る様々な様態は示さない可能性がある。
I.例示的なコンピューティング環境
図1は、説明される実施形態の1つまたは複数が実施され得る適切なコンピューティング環境(100)の一般化された例を示す。例えば、1つまたは複数のそのようなコンピューティング環境が、開発環境またはアプリケーション実行環境として使用され得る。一般に、様々な異なる汎用または専用のコンピューティングシステム構成が使用され得る。本明細書で説明されるツールおよび技術と一緒に使用するのに適している可能性がある、よく知られたコンピューティングシステム構成の例には、サーバファームおよびサーバクラスタ、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、前述のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などが含まれるが、以上には限定されない。
本発明は、多様な汎用または専用のコンピューティング環境において実施され得るので、コンピューティング環境(100)は、本発明の用途または機能の範囲について限定を示唆することは全く意図していない。
図1を参照すると、コンピューティング環境(100)は、少なくとも1つの処理装置(110)と、メモリ(120)とを含む。図1で、この最も基本的な構成(130)が破線内に含まれる。処理装置(110)は、コンピュータ実行可能命令を実行し、現実のプロセッサであっても、仮想のプロセッサであってもよい。多重処理システムにおいて、複数の処理装置が、コンピュータ実行可能命令を実行して処理能力を高める。メモリ(120)は、揮発性メモリ(例えば、レジスタ、キャッシュ、RAM)であっても、不揮発性メモリ(例えば、ROM、EEPROM、フラッシュメモリ)であっても、揮発性メモリと不揮発性メモリの何らかの組合せであってもよい。メモリ(120)は、パターンベースのユーザインターフェースを実施するソフトウェア(180)を格納する。
図1の様々なブロックは、簡明のため線で示されるものの、現実には、様々な構成要素を線引きすることは、それほど明確ではなく、比喩的に言えば、図1、および後段で説明される他の図の線は、より正確にはグレーであり、不鮮明である。例えば、ディスプレイデバイスなどの提示構成要素は、I/O構成要素であると見なすことができる。また、プロセッサは、メモリを有する。本発明の発明者らは、当技術分野の性質がそのようなものであることを認識しており、図1の図は、本発明の1つまたは複数の実施形態に関連して使用され得る例示的なコンピューティングデバイスを示すに過ぎないことを繰り返しておく。「ワークステーション」、「サーバ」、「ラップトップ」、「ハンドヘルドデバイス」などのカテゴリの間の区別は、以上のすべてが、図1の範囲に含まれることが企図され、「コンピュータ」、「コンピューティング環境」、または「コンピューティングデバイス」を指すので、行われない。
コンピューティング環境(100)は、さらなるフィーチャを有することが可能である。図1で、コンピューティング環境(100)は、ストレージ(140)と、1つまたは複数の入力デバイス(150)と、1つまたは複数の出力デバイス(160)と、1つまたは複数の通信接続(170)とを含む。バス、コントローラ、またはネットワークなどの相互接続機構(図示せず)が、コンピューティング環境(100)の構成要素を互いに接続する。通常、オペレーティングシステムソフトウェア(図示せず)が、コンピューティング環境(100)において実行される他のソフトウェアのための動作環境を提供し、さらにコンピューティング環境(100)内の構成要素の活動を協調させる。
ストレージ(140)は、リムーバブルであっても、リムーバブルでなくてもよく、さらに磁気ディスク、磁気テープもしくは磁気カセット、CD−ROM、CD−RW、DVD、または情報を格納するのに使用され得るとともに、コンピューティング環境(100)内でアクセスされ得る他の任意の媒体などのコンピュータ可読記憶媒体を含むことが可能である。ストレージ(140)は、ソフトウェア(180)のための命令を格納する。
入力デバイス(150)は、キーボード、マウス、ペン、またはトラックボールなどのタッチ入力デバイス、音声入力デバイス、スキャンデバイス、ネットワークアダプタ、CD/DVD読み取り装置、またはコンピューティング環境(100)に入力を与える別のデバイスであることが可能である。出力デバイス(160)は、ディスプレイ、プリンタ、スピーカ、CD/DVD書き込み装置、ネットワークアダプタ、またはコンピューティング環境(100)からの出力をもたらす別のデバイスであることが可能である。
通信接続(170)は、通信媒体を介する別のコンピューティングエンティティに対する通信を可能にする。このため、コンピューティング環境(100)は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または別の一般的な通信ノードなどの1つまたは複数の遠隔コンピューティングデバイスに対する論理接続を使用して、ネットワーク化された環境において動作することが可能である。通信媒体は、変調されたデータ信号内でデータ、またはコンピュータ実行可能命令、または要求などの情報を伝送する。変調されたデータ信号とは、信号内に情報を符号化するように特性の1つまたは複数が設定された、または変更された信号である。例として、限定としてではなく、通信媒体には、電気、光、RF、赤外線、音響、または他のキャリアで実施される有線技術またはワイヤレス技術が含まれる。
これらのツールおよび技術は、一時的でないコンピュータ可読媒体の一般的な文脈で説明され得る。コンピュータ可読媒体は、コンピューティング環境内でアクセスされ得る任意の利用可能な媒体である。例として、限定としてではなく、コンピューティング環境(100)の場合、コンピュータ可読媒体には、メモリ(120)、ストレージ(140)、および以上の組合せが含まれる。
これらのツールおよび技術は、コンピューティング環境においてターゲットの現実のプロセッサまたは仮想のプロセッサの上で実行されているコンピュータ実行可能命令の一般的な文脈で説明され得る。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、ライブラリ、オブジェクト、クラス、構成要素、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において所望に応じて組み合わされても、分割されてもよい。プログラムモジュールに関するコンピュータ実行可能命令は、ローカルコンピューティング環境内で実行されても、分散コンピューティング環境内で実行されてもよい。分散コンピューティング環境において、プログラムモジュールは、ローカルコンピュータ記憶媒体と遠隔コンピュータ記憶媒体の両方の中に配置され得る。
提示のため、詳細な説明は、「決定する」、「選択する」、「調整する」、および「動作させる」のような用語を使用して、コンピューティング環境におけるコンピュータ動作を説明する。これら、およびその他の類似する用語は、コンピュータによって実行される動作に関する高レベルの抽象化であり、人間(「ユーザ」などの)による動作の実行が明示的に記載されない限り、人間によって実行される動作と混同されるべきではない。これらの用語に対応する実際のコンピュータ動作は、実施形態に依存して変わる。
II.パターンベースのユーザインターフェースシステムおよびユーザインターフェース環境
図2は、説明される実施形態の1つまたは複数が関連して実施され得るパターンベースのユーザインターフェースコンピューティング環境(200)のブロック図である。環境(200)は、表示すべき情報(202)と、情報(202)と関係するメタデータを含むメタモデル(203)と、情報(202)を表示することができるアプリケーション(206)を開発するための開発環境(204)と、アプリケーション(206)を実行することができるアプリケーション実行環境(208)とを含み得る。開発環境(204)とアプリケーション実行環境(208)は、異なる物理的マシン、または異なる仮想マシンなどの異なる環境であり得る。パターンベースのユーザインターフェース環境(200)のこれらの構成要素のそれぞれが、以下により詳細に説明される。
表示されるべき情報(202)は、図2で、開発環境(204)内に示されるが、情報(202)は、アプリケーション(206)とともに実行環境(208)内に含められることも可能である。さらに、情報(202)の一部、またはすべてが、開発環境(204)内に存在しないことも可能である。例えば、情報(202)の少なくとも一部分が、アプリケーション(206)が実行環境(208)において実行されている間にユーザによって入力されることが可能である。情報(202)は、様々なタイプの情報のいずれであってもよい。例えば、情報は、データベースからのデータ、データを入力することを求めるユーザに対するプロンプト、表示されるべき図表、ユーザによって入力されたデータなどであることが可能である。
メタモデル(203)は、XMLフォーマットなどの様々なフォーマットのいずれであることも可能な、キャプチャされた情報メタデータ(214)を含み得る。情報メタデータ(214)は、表示されるべき情報(202)を記述することが可能である。例えば、情報メタデータ(214)は、情報(202)の中のフィールドのフィールド名または説明、情報(202)の中のフィールドのタイプ(例えば、数、文字列、日付、および/または時刻)を含み得る。また、情報メタデータ(214)は、ユーザインターフェースのインスタンス化、編成、および/またはレンダリングに影響を与える可能性がある、関連するメタデータ(例えば、文字列長制約)を含むことも可能である。メタモデル(203)は、情報(202)の1つまたは複数の態様(例えば、フィールド、フィールドのグループなど)の分類メタデータ(216)を含むことも可能である。
さらに、メタモデル(203)は、情報(202)の少なくとも一部分の意図される用法の指示を含み得るパターン選択(218)を含むことが可能である。例えば、パターン選択(218)は、ユーザが情報を一括で編集するという指示を含むことが可能であり、このことは、情報の一括編集を許すユーザインターフェースパターンモジュールの選択を示す。別の例として、パターン選択(218)は、ユーザが情報の簡単な要約を所望することを指示することが可能であり、このことは、簡単な要約を提供するユーザインターフェースパターンモジュールの選択を示すことが可能である。
開発環境(204)は、実行環境(208)において実行されるべきアプリケーション(206)を開発するのに使用され得る。この開発の一環として、開発環境(204)は、メタモデル(203)に関するデータをキャプチャすることが可能である。メタモデル(203)に関するデータ(情報メタデータ(214)、分類メタデータ(216)、および/またはパターン選択(218))は、表示されるべき情報(202)に関して、開発者からユーザ入力を受け取ること、および/またはリポジトリ(例えば、データベース、ウェブサービスなど)に対して簡単なヒューリスティクスを実行することによってデータを推測することによってなど、様々な仕方でキャプチャされ得る。後段で説明されるモジュールに加えて、開発環境は、マイクロソフト社のVisual Studio(登録商標)ソフトウェア開発システムによって提供される開発モジュールなどの他の開発モジュールを含み得る。
開発環境(204)は、情報記述モジュール(220)を含み得る。情報記述モジュール(220)は、情報メタデータ(214)をキャプチャすることが可能であり、情報メタデータ(214)は、表示されるべき情報(202)を記述することが可能である。例えば、情報メタデータ(214)は、エンドユーザに表示されるべき情報の構造および性質を記述することが可能である。例えば、情報メタデータ(214)は、表示されるべき情報(202)が顧客の表現を含み、各顧客表現が名前、アドレス、電子メール、および電話番号を含んでいることを示すことが可能である。情報メタデータ(214)は、開発環境(204)において情報記述モジュール(220)によってキャプチャされることが可能であり、さらに情報メタデータ(214)は、開発環境(204)内に永続させられることも可能である。
開発環境(204)は、分類モジュール(222)を含むことも可能である。分類モジュール(222)は、表示されるべき情報(202)を分類して、分類メタデータ(216)を生成することが可能である。分類メタデータ(216)は、情報(202)の相対優先度およびセマンティクスを記述するメタデータを含み得る。例えば、前述した顧客情報の例において、分類メタデータ(216)は、名前フィールドが情報の一次識別子であること、および電子メール、アドレス、および電話番号が二次的な重要度であることを示すことが可能である。分類モジュール(222)は、開発者からユーザ入力を受け取ることによって、さらに/または情報記述モジュール(220)によってキャプチャされた情報メタデータ(214)に対して簡単なヒューリスティクスを使用して分類情報を推測することによって、分類メタデータ(216)を生成する分類を実行することが可能である。分類メタデータ(216)は、デバイス独立およびプラットフォーム独立であることが可能であり、したがって、分類メタデータ(216)は、後段で説明されるとおり、様々な異なるプラットフォームおよび/またはデバイスのいずれにおいても、パターンベースのユーザインターフェースをインスタンス化する際、および編成する際に使用され得る。分類は、1つまたは複数の分類を示すユーザ入力に応答して実行される(すなわち、分類メタデータ(216)を生成するように実行される)ことが可能であり、さらに/または分類は、情報メタデータ(214)から分類メタデータ(216)を自動的に推測することによって実行されることが可能である。例えば、情報メタデータ(214)が、フィールドの名前が「名前」であることを示す場合、そのフィールドが、その情報(202)の少なくとも一部分の一次識別子であることが推測され得る。
開発環境(204)は、パターン選択(218)をインスタンス化し、編成することができるパターン選択モジュール(224)も含み得る。パターン選択(218)は、情報(202)がどのように使用されるべきか、さらに/または情報を表示する際にどのパターンもしくはどのパターンモジュールが使用されるべきかを記述するメタデータを含み得る。例えば、パターン選択(218)は、ユーザが、顧客のリストなどのリストの中の情報構造の多くのインスタンスをブラウズすることを示すことが可能である。あるいは、パターン選択(218)は、複数のユーザが情報を一括編集すること、複数のユーザが情報の詳細な要約を所望することなどを示すことなどによって、他の複数のユーザを示すことが可能である。パターン選択(218)(選択された1つまたは複数のパターンもしくはパターンモジュールを示すメタデータを含み得る)は、パターン選択(218)を示すユーザ入力に応答することによって生成され得る。パターン選択(218)は、パターンもしくはパターンモジュールが互いにネスト化されるべきことを示すことが可能である。例えば、1つのパターンが、リストの中の各エントリに適用され得る一方で、別のパターンが、全体的なリストに適用され得る。パターンモジュールのセットが利用できることが可能であり、したがって、パターン選択(218)は、利用可能なパターンモジュールから選択することが可能である。しかし、パターンモジュールのセットは、さらなるパターン、ならびにそれらのパターンに従ってユーザインターフェース構造をインスタンス化し、編成するさらなる対応するパターンモジュールが、開発者または他の人々によるユーザ入力に応答するなどして、追加され得るように、拡張可能であり得る。パターン選択(218)は、同一の情報(202)に関する複数のパターンモジュールの選択を含み得る。例えば、パターン選択(218)における異なるパターンモジュールが、アプリケーションにおける異なるコンテキストで適用され得る。例えば、1つのコンテキストでは、情報(202)は、編集可能でない可能性がある一方で、別のコンテキストでは、情報(202)は、編集可能であり得る。別の例として、1つのコンテキストでは、情報(202)は、要約パターンで表示されることが可能であり、さらに別のコンテキストでは、情報(202)は、情報(202)の詳細のより多くが表示されて、詳細な表示パターンで表示されることが可能である。
開発者が、情報メタデータ(214)、分類メタデータ(216)、パターン選択(218)、および/または選択されたパターンモジュール自体に改訂を行うことを含め、メタモデル(203)を改訂することが可能である。また、メタモデル(203)の中のデータの第2のセットがメタモデル(203)の中のデータの第1のセットから推測される場合、第1のセットに対する改訂が、第2のセットに対する改訂も誘発することが可能である。例えば、分類メタデータ(216)が情報メタデータ(214)から推測され、さらに情報メタデータ(214)が、分類メタデータ(216)に影響を与えるような仕方で変更された場合、分類メタデータ(216)は、その変更を反映するように更新され得る。
やはり図2を参照すると、アプリケーション(206)が、開発環境(204)においてコンパイルされることが可能であり、さらにコンパイルされたアプリケーションが、実行環境(208)に送られて、実行環境(208)において実行されることが可能である。実行環境(208)は、パターン選択(218)において選択されたパターンを実施するように実行され得る、利用可能なパターンモジュール(230)を含み得る。実行環境(208)は、メタモデル(203)からのデータを使用して、1つまたは複数のユーザインターフェース構造(234)をインスタンス化し、編成することが可能なユーザインターフェース構造インスタンス化−編成モジュール(232)を含み得る。例えば、構造インスタンス化−編成モジュール(232)は、分類メタデータ(216)およびパターン選択(218)を使用して、パターン選択(218)に対応するパターンモジュール(230)の1つまたは複数を呼び出して、パターン選択(218)の中で示される対応する用法に合わせて最適化された仕方で情報を表示する1つまたは複数のユーザインターフェース構造(234)を作成することによって、ユーザインターフェース構造(234)をインスタンス化し、編成することが可能である。
呼び出されたパターンモジュール(230)は、分類メタデータ(216)を適用して、パターンの中のカテゴリに情報(202)のフィールドを割り当てることが可能であり、さらに割り当てられたフィールドがパターンカテゴリに従って表示されて情報(202)を表示するためのユーザインターフェース構造をインスタンス化し、編成することが可能である。例えば、情報(202)の「名前」フィールドが、分類メタデータ(216)の中の「一次識別子」として分類され得る。パターンモジュール(230)は、「一次識別子」カテゴリを有することが可能であり、さらに「名前」フィールドが、そのカテゴリに割り当てられることが可能である。例として、「一次識別子」カテゴリは、表示される他の情報フィールドより大きいフォントサイズで、ユーザインターフェースの中の情報の一番上に現れることが可能である。
ユーザインターフェース構造(234)は、構造のプラットフォーム独立およびデバイス独立の層と、構造のプラットフォーム依存および/またはデバイス依存の層とを含み得る。このことは、利用可能なプラットフォームから特定のプラットフォームが選択されることを許すことが可能であり、さらに構造のプラットフォーム独立の層は、選択されたプラットフォームのための構造のプラットフォーム依存の層に変換されることが可能である。ユーザインターフェース構造のプラットフォーム依存の層は、選択されたプラットフォームまたは技術を呼び出して、選択されたパターンモジュールに従って構造をレンダリングするのに使用され得る標準のユーザインターフェース構造を含み得る。例えば、ユーザインターフェース構造のプラットフォーム依存の層は、HTML、Microsoft Silverlight(商標)フォーマット、Microsoft Word文書フォーマット、XMLなどの標準フォーマットまたは特別なフォーマットになっていることが可能である。前述したとおり、パターンモジュール(230)は、拡張可能であり得、したがって、さらなるパターンモジュールが外部で定義されて、開発環境(204)において利用できるようにされることが可能であり、さらに開発環境(204)において開発されたアプリケーションが利用できるようにされることが可能である。
実行環境(208)は、ユーザインターフェース表示(238)をもたらすようにユーザインターフェース構造(234)をレンダリングすることができるユーザインターフェースレンダリングモジュール(236)を含むことも可能である。このことは、標準のユーザインターフェースプラットフォームまたはユーザインターフェース技術を用いて行われ得る。例えば、アプリケーションプログラミングインターフェース呼出しが、そのプラットフォームまたは技術に対して行われ得る。プラットフォームまたは技術は、メタモデル(203)に従って情報(202)のユーザインターフェース表示(238)をもたらすユーザインターフェース構造(234)をレンダリングすることによって、応答することが可能である。キャプチャされた情報メタデータ(214)は、ユーザインターフェースをレンダリングする際に使用され得る、プラットフォーム固有の注釈(例えば、Silverlight(商標)スタイルもしくはCSSスタイルの識別子、または主題定義)を含むことも可能である。
次に図3を参照して、代替のパターンベースのユーザインターフェース環境(300)が説明される。環境(300)は、前述した環境(200)と同一の構成要素および構成要素フィーチャを含み得る。このため、環境(300)は、アプリケーションにおいて表示すべき情報(302)と、メタモデル(303)と、開発環境(304)と、開発環境(304)において開発されたアプリケーション(306)と、アプリケーション実行環境(308)と、キャプチャされた情報メタデータ(314)と、分類メタデータ(316)と、パターン選択(318)と、情報記述モジュール(320)と、分類モジュール(322)と、パターン選択モジュール(324)と、パターンモジュール(330)と、ユーザインターフェース構造インスタンス化−編成モジュール(332)と、ユーザインターフェース構造(334)と、ユーザインターフェースレンダリングモジュール(336)と、ユーザインターフェース表示(338)とを含み得る。しかし、ユーザインターフェース構造インスタンス化−編成モジュール(332)は、実行環境(308)の代わりに開発環境(304)内にあることが可能であり、したがって、ユーザインターフェース構造は、開発環境(304)内でインスタンス化され、編成される。あるいは、或るユーザインターフェース構造インスタンス化−編成モジュールが開発環境に存在することが可能であり、さらに別のユーザインターフェース構造インスタンス化−編成モジュールが実行環境に存在することが可能であり、したがって、一部のユーザインターフェース構造は、開発環境においてインスタンス化され、編成されることが可能であり、一部のユーザインターフェース構造は、実行環境においてインスタンス化され、編成されることが可能である。パターンベースのユーザインターフェース環境の構成要素は、本明細書で明示的には詳細に述べられていない他の仕方で構成されることも可能である。
III.パターンベースのユーザインターフェース技術
図4を参照して、パターンベースのユーザインターフェース技術が説明される。ソフトウェア開発コンピューティング環境において、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法が記述され得る(410)。その情報の少なくとも一部分の分類が実行され得る(420)。アプリケーションが実行されることが可能であり(430)、さらに情報を表示するための少なくとも1つのユーザインターフェースパターンモジュールの選択が実行され得る(440)。アプリケーションが実行されている間(430)、情報を表示するための1つまたは複数のユーザインターフェース構造が、少なくとも1つのユーザインターフェースパターンモジュールを使用してインスタンス化され、編成されることが可能である(450)。分類の実行(420)が、その1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する(450)際に使用され得る分類メタデータを生成することが可能である。やはりアプリケーションが実行されている間(430)、その1つまたは複数のユーザインターフェース構造が、情報を表示するようにレンダリングされ得る(460)。また、パターンモジュール選択の実行(440)も、アプリケーションが実行されている間(430)に行われることが可能であるが、この実行(440)は、アプリケーションを実行するのに先立って行われてもよい。
情報の意図される用法を記述すること(410)は、意図される用法を示すユーザ入力を受け取ることを含み得る。その1つまたは複数のユーザインターフェース構造をインスタンス化し、編成すること(450)は、1つまたは複数のプラットフォーム独立のユーザインターフェース構造、および1つまたは複数のプラットフォーム依存のユーザインターフェース構造をインスタンス化することを含み得る。また、インスタンス化し、編成すること(450)は、アプリケーション実行環境制約を考慮に入れることも可能である。インスタンス化し、編成すること(450)は、プラットフォームを選択するユーザ入力を受け取ることを含むことが可能であり、さらにその1つまたは複数のユーザインターフェース構造の少なくとも一部分が、選択されたプラットフォームのためにフォーマットされることが可能である。別の例として、スタイルを設定すること(styling)が、ユーザインターフェース構造がどのようにインスタンス化され、編成されるかに影響を与えることが可能である。Microsoft Silverlight(商標)出力プラットフォームが、スタイルを設定すること、および主題を設定(theming)することをサポートすることが可能であり、したがって、様々な主題および/またはスタイルが適用され得る。一例において、プリンタ固有の主題が、印刷のためにスクリーンをレンダリングするためのユーザインターフェース構造をインスタンス化し、編成する際に適用され得る。このため、ユーザインターフェースは、印刷のためにレンダリングする際、スクリーン表示のためにレンダリングする際とは異なるように振舞い、さらに/または見えることが可能である。
別の例として、モバイルプラットフォームに関する或る実施形態において、1つまたは複数のユーザインターフェースの提示が、より小さいスクリーンサイズの環境制約のために異なることが可能である。例えば、様々な部分を有するスクリーンに関するパターンが、スクリーンスペースを節約するようにタブのセットに再編成されることが可能であり、またはスクリーンの一部が「その他」ボタンの背後に置かれることが可能である。意図される用法、および分類、または他の制約についての情報が、環境制約の、この種の考慮と一緒に、考慮に入れられることが可能である。モバイルプラットフォームの例を続けると、開発者の意図を表すメタデータによってそれほど重要でないと分類された情報は、ユーザインターフェース構造がインスタンス化され、編成される際に、スクリーンの「その他」セクションに自動的に入れられることが可能である。例えば、開発者によって「題名」および「副題」というラベルが付けられた情報を即時に表示することが望ましい可能性があるが、開発者によって「説明」情報というラベルが付けられた情報を即時に表示することは、それほど重要ではない可能性があり、したがって、「説明」情報は、スクリーンの「その他(more)」セクションに入れられることが可能である。
分類の実行(420)は、情報の1つまたは複数のフィールドの、少なくとも1つのユーザインターフェースパターンモジュールにおける1つまたは複数のカテゴリへの割当てを含み得る。また、分類の実行(420)は、表示されるべき情報と関係するメタデータに対するヒューリスティクスなどの、1つまたは複数のヒューリスティクスを実行することを含み得る。
また、図4の技術は、分類メタデータの改訂を示すユーザ入力を受け取ること、およびそのユーザ入力に応答して分類メタデータを改訂して、改訂された分類メタデータを生成することを含むことも可能である。改定された分類メタデータは、1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用され得る。
次に図5を参照して、別のパターンベースのユーザインターフェース技術が説明される。この技術は、ソフトウェアアプリケーションで表示されるべき情報の分類を実行して(510)分類メタデータを生成することを含み得る。また、この技術は、アプリケーションにおける第1のコンテキストで情報を表示するための1つまたは複数のユーザインターフェースパターンモジュールの第1のセットの第1の選択を実行すること(520)、およびアプリケーションにおける第2のコンテキストで情報を表示するための1つまたは複数のユーザインターフェースパターンモジュールの第2のセットの第2の選択を実行すること(530)を含むことも可能である。情報の少なくとも一部分を表示するための1つまたは複数のユーザインターフェース構造の第1のセットが、第1のパターンモジュール選択、および分類メタデータを使用してインスタンス化され、編成されることが可能であり(540)、さらに情報の少なくとも一部分を表示するための1つまたは複数のユーザインターフェース構造の第2のセットが、第2のパターンモジュール選択、および分類メタデータを使用してインスタンス化され、編成されることが可能である(550)。1つまたは複数のユーザインターフェース構造の第1のセットが、第1のコンテキストで情報を表示するようにレンダリングされることが可能であり(560)、さらに1つまたは複数のユーザインターフェース構造の第2のセットが、第2のコンテキストで情報を表示するようにレンダリングされることが可能である(570)。
1つまたは複数のユーザインターフェース構造の第1のセットをレンダリングすること(560)、および1つまたは複数のユーザインターフェース構造の第2のセットをレンダリングすること(570)は、ソフトウェアアプリケーションが実行されている間に実行され得る。1つまたは複数のユーザインターフェース構造の第1のセットをインスタンス化し、編成すること(540)、および1つまたは複数のユーザインターフェース構造の第2のセットをインスタンス化し、編成すること(550)は、ソフトウェアアプリケーションが実行されている間に実行され得る。また、この技術は、第1のコンテキストにおける情報の第1の意図される用法を記述すること、および第2のコンテキストにおける情報の第2の意図される用法を記述することを含むことも可能である。第1のコンテキストにおける情報の第1の意図される用法を記述すること、および第2のコンテキストにおける情報の第2の意図される用法を記述することは、1つまたは複数のユーザインターフェース構造の第1のセットをレンダリングすること、および1つまたは複数のユーザインターフェース構造の第2のセットをレンダリングすることが実行されるコンピューティング環境とは異なるコンピューティング環境において実行され得る。
また、図5の技術は、情報を記述するメタデータをキャプチャすることを含むことも可能であり、さらに分類の少なくとも一部分は、表示されるべき情報を記述するメタデータに対して1つまたは複数のヒューリスティクスを実行することによって実行され得る。
次に図6を参照して、さらに別のパターンベースのユーザインターフェース技術が説明される。この技術は、ソフトウェアアプリケーションで表示されるべき情報の分類を実行して(610)分類メタデータを生成することを含み得る。この分類の少なくとも一部分は、自動的に実行され得る。分類メタデータは、分類メタデータの改訂を示すユーザ入力に応答するなどして、改訂されることが可能であり(620)、さらに表示されるべき情報を記述する他のメタデータが改訂されることも可能である(625)。情報を表示するための少なくとも1つのユーザインターフェースパターンモジュールの選択が、実行され得る(630)。改訂された分類メタデータ、およびパターンモジュール選択は、1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する(640)のに使用され得る。その1つまたは複数のユーザインターフェース構造が、情報を表示するようにレンダリングされ得る(650)。
また、図6の技術は、情報を記述するメタデータをキャプチャすることを含むことも可能であり、情報を記述するメタデータは、分類の少なくとも一部分を実行する際に使用されることが可能である。情報を記述するメタデータが改訂されている場合、その改訂されたメタデータが、分類の少なくとも一部分を実行する際に使用され得る。この技術は、情報の意図される用法を示すユーザ入力を受け取ることをさらに含むことが可能であり、さらに少なくとも1つのユーザインターフェースパターンモジュールが、意図される用法のために設計されることが可能である。
主題は、構造上の特徴、および/または方法上の動作に固有の言葉で説明されてきたが、添付の特許請求の範囲において規定される主題は、前段で説明される特定の特徴または動作に必ずしも限定されないことを理解されたい。むしろ、特定の特徴または動作は、特許請求の範囲を実施する例示的な形態として開示される。

Claims (15)

  1. ソフトウェア開発コンピューティング環境において、ソフトウェアアプリケーションによって表示されるべき情報の意図される用法を記述するステップと、
    前記アプリケーションを実行するステップと、
    前記情報を表示するための少なくとも1つのユーザインターフェースパターンモジュールの選択を実行し、前記少なくとも1つのユーザインターフェースパターンモジュールは、前記意図される用法のために設計されているステップと、
    前記アプリケーションを実行している間、前記少なくとも1つのユーザインターフェースパターンモジュールを使用して前記情報を表示するための1つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップと、
    前記アプリケーションを実行している間、前記情報を表示するように前記1つまたは複数のユーザインターフェース構造をレンダリングするステップと
    を備えることを特徴とするコンピュータによって実施される方法。
  2. 前記情報の前記意図される用法を記述するステップは、前記意図される用法を示すユーザ入力を受け取るステップを備えることを特徴とする請求項1に記載の方法。
  3. 前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、1つまたは複数のプラットフォーム独立のユーザインターフェース構造、および1つまたは複数のプラットフォーム依存のユーザインターフェース構造をインスタンス化するステップを備えることを特徴とする請求項1に記載の方法。
  4. 前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、1つまたは複数のアプリケーション実行環境制約を考慮に入れることを特徴とする請求項1に記載の方法。
  5. 前記情報の少なくとも一部分の分類を実行するステップをさらに備え、前記分類の実行は、前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用される分類メタデータを生成することを特徴とする請求項1に記載の方法。
  6. 前記分類の実行は、前記情報の1つまたは複数のフィールドの、前記少なくとも1つのユーザインターフェースパターンモジュールにおける1つまたは複数のカテゴリへの割当てを備えることを特徴とする請求項1に記載の方法。
  7. 1つまたは複数のヒューリスティクスを実行して前記情報の少なくとも一部分を分類するステップをさらに備え、前記分類は、前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用される分類メタデータを生成することを特徴とする請求項1に記載の方法。
  8. 前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成するステップは、プラットフォームを選択するユーザ入力を受け取るステップをさらに備え、さらに前記1つまたは複数のユーザインターフェース構造の少なくとも一部分は、前記選択されたプラットフォームのためにフォーマットされることを特徴とする請求項1に記載の方法。
  9. 前記アプリケーションが実行されている間に前記少なくとも1つのユーザインターフェースパターンモジュールの選択が実行される方法であって、
    前記情報の少なくとも一部分の分類を実行するステップをさらに備え、前記分類は、分類メタデータを生成し、
    前記分類メタデータの改訂を示すユーザ入力を受け取り、さらに前記ユーザ入力に応答して前記分類メタデータを改訂して、改訂された分類メタデータを生成するステップをさらに備え、
    前記改訂された分類メタデータは、前記1つまたは複数のユーザインターフェース構造をインスタンス化し、編成する際に使用され、さらに
    前記分類メタデータは、前記情報の1つまたは複数のフィールドの、前記少なくとも1つのユーザインターフェースパターンモジュールにおける1つまたは複数のカテゴリへの割当てを備えることを特徴とする請求項1に記載の方法。
  10. 少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに、
    ソフトウェアアプリケーションで表示されるべき情報の分類を実行して分類メタデータを生成するステップと、
    前記アプリケーションにおける第1のコンテキストで前記情報を表示するための1つまたは複数のユーザインターフェースパターンモジュールの第1のセットの第1の選択を実行するステップと、
    前記アプリケーションにおける第2のコンテキストで前記情報を表示するための1つまたは複数のユーザインターフェースパターンモジュールの第2のセットの第2の選択を実行するステップと、
    前記第1のパターンモジュール選択、および前記分類メタデータを使用して前記情報の少なくとも一部分を表示するための1つまたは複数のユーザインターフェース構造の第1のセットをインスタンス化し、編成するステップと、
    前記第2のパターンモジュール選択、および前記分類メタデータを使用して前記情報の少なくとも一部分を表示するための1つまたは複数のユーザインターフェース構造の第2のセットをインスタンス化し、編成するステップと、
    前記第1のコンテキストで前記情報を表示するように1つまたは複数のユーザインターフェース構造の前記第1のセットをレンダリングするステップと、
    前記第2のコンテキストで前記情報を表示するように1つまたは複数のユーザインターフェース構造の前記第2のセットをレンダリングするステップと
    を備える動作を実行させることを特徴とするコンピュータ実行可能命令が実体化されている1つまたは複数のコンピュータ可読記憶媒体。
  11. 1つまたは複数のユーザインターフェース構造の前記第1のセットをレンダリングするステップ、および1つまたは複数のユーザインターフェース構造の前記第2のセットをレンダリングするステップは、前記ソフトウェアアプリケーションが実行されている間に実行されることを特徴とする請求項10に記載の1つまたは複数のコンピュータ可読記憶媒体。
  12. 1つまたは複数のユーザインターフェース構造の前記第1のセットをインスタンス化し、編成するステップ、および1つまたは複数のユーザインターフェース構造の前記第2のセットをインスタンス化し、編成するステップは、前記アプリケーションが実行されている間に実行されることを特徴とする請求項11に記載の1つまたは複数のコンピュータ可読記憶媒体。
  13. 前記動作は、前記第1のコンテキストにおける情報の第1の意図される用法を記述するステップと、前記第2のコンテキストにおける前記情報の第2の意図される用法を記述するステップとをさらに備えることを特徴とする請求項10に記載の1つまたは複数のコンピュータ可読記憶媒体。
  14. 前記第1のコンテキストにおける情報の前記第1の意図される用法を記述するステップ、および前記第2のコンテキストにおける前記情報の前記第2の意図される用法を記述するステップは、1つまたは複数のユーザインターフェース構造の前記第1のセットをレンダリングするステップ、および1つまたは複数のユーザインターフェース構造の前記第2のセットをレンダリングするステップが実行されるコンピューティング環境とは異なるコンピューティング環境において実行されることを特徴とする請求項13に記載の1つまたは複数のコンピュータ可読記憶媒体。
  15. 前記情報を記述するメタデータをキャプチャするステップをさらに備え、前記分類の少なくとも一部分は、前記情報を記述する前記メタデータに対して1つまたは複数のヒューリスティクスを実行することによって実行されることを特徴とする請求項10に記載の1つまたは複数のコンピュータ可読記憶媒体。
JP2012550006A 2010-01-22 2010-12-31 パターンベースのユーザインターフェース Withdrawn JP2013518321A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/691,744 US20110185294A1 (en) 2010-01-22 2010-01-22 Pattern-based user interfaces
US12/691,744 2010-01-22
PCT/US2010/062660 WO2011090770A2 (en) 2010-01-22 2010-12-31 Pattern-based user interfaces

Publications (1)

Publication Number Publication Date
JP2013518321A true JP2013518321A (ja) 2013-05-20

Family

ID=44307502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012550006A Withdrawn JP2013518321A (ja) 2010-01-22 2010-12-31 パターンベースのユーザインターフェース

Country Status (7)

Country Link
US (1) US20110185294A1 (ja)
EP (1) EP2526484A4 (ja)
JP (1) JP2013518321A (ja)
CN (1) CN102770842A (ja)
AU (1) AU2010343065A1 (ja)
CA (1) CA2786385A1 (ja)
WO (1) WO2011090770A2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9244659B2 (en) * 2010-04-26 2016-01-26 International Business Machines Corporation Extensible meta model for capturing solution patterns
US20110302516A1 (en) * 2010-06-02 2011-12-08 Oracle International Corporation Mobile design patterns
US20120166983A1 (en) * 2010-12-28 2012-06-28 Hilmar Demant Integrated metadata and nested authorizations in a user interface framework
CN102522067B (zh) * 2011-10-19 2013-06-19 长安大学 基于ra8870控制器的液晶模块自定义符号和图形的显示方法
CN103166793A (zh) * 2013-01-31 2013-06-19 北京佳讯飞鸿电气股份有限公司 基于元模型的服务配置方法
CN107111497A (zh) * 2015-01-16 2017-08-29 株式会社野村综合研究所 开发支持***
CN105373520A (zh) * 2015-10-13 2016-03-02 金蝶软件(中国)有限公司 设置控件样式属性的方法和装置
US10204177B2 (en) * 2015-11-30 2019-02-12 International Business Machines Corporation Matching an ordered set of strings containing wild cards
US11513655B2 (en) * 2020-06-26 2022-11-29 Google Llc Simplified user interface generation
US20240143293A1 (en) * 2022-10-27 2024-05-02 Vmware, Inc. Reusing and recommending user interface (ui) contents based on semantic information

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633315B1 (en) * 1999-05-20 2003-10-14 Microsoft Corporation Context-based dynamic user interface elements
US20060020429A1 (en) * 1999-09-30 2006-01-26 Ruven Brooks Method and apparatus for configuring interfaces for automated systems
US7334216B2 (en) * 2000-04-04 2008-02-19 Sosy, Inc. Method and apparatus for automatic generation of information system user interfaces
JP2001306308A (ja) * 2000-04-11 2001-11-02 Sap Ag データ中心アプリケーションのクラス定義方法
US7934162B2 (en) * 2001-09-28 2011-04-26 Ntt Docomo, Inc. Running state migration of platform specific graphical user interface widgets between heterogeneous device platforms
CA2364632A1 (en) * 2001-12-04 2003-06-04 Kevin W. Jameson Collection adaptive focus gui
JP2006507550A (ja) * 2002-02-13 2006-03-02 マイクロソフト コーポレーション エンティティをアスペクトパターン中の一般機能で接続する方法およびコンピュータシステム
US20040056894A1 (en) * 2002-09-19 2004-03-25 Igor Zaika System and method for describing and instantiating extensible user interfaces
US20040187140A1 (en) * 2003-03-21 2004-09-23 Werner Aigner Application framework
US7197740B2 (en) * 2003-09-05 2007-03-27 Sap Aktiengesellschaft Pattern-based software design
US20050108684A1 (en) * 2003-11-14 2005-05-19 Sohn Matthias E. Method and system for generating an application object repository from application framework metadata
US20050193380A1 (en) * 2004-02-27 2005-09-01 Vitanov Kamen B. System and method for executing wireless applications using common UI components from a UI repository
US7761865B2 (en) * 2004-05-11 2010-07-20 Sap Ag Upgrading pattern configurations
US20050257190A1 (en) * 2004-05-11 2005-11-17 Victor Shaburov Developing and executing applications with configurable patterns
US7581204B2 (en) * 2004-06-01 2009-08-25 Sap Ag Dynamic contexts
US7424485B2 (en) * 2004-06-03 2008-09-09 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US7665014B2 (en) * 2004-06-03 2010-02-16 Microsoft Corporation Method and apparatus for generating forms using form types
US7953767B2 (en) * 2004-10-05 2011-05-31 Sap Ag Developing applications using configurable patterns
US7712022B2 (en) * 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7657868B2 (en) * 2005-03-14 2010-02-02 Research In Motion Limited System and method for applying development patterns for component based applications
US8056048B2 (en) * 2005-08-04 2011-11-08 International Business Machines Corporation Pattern implementation technique
US8407610B2 (en) * 2005-09-30 2013-03-26 Sap Portals Israel Ltd. Executable and declarative specification for graphical user interfaces
US7681133B2 (en) * 2005-10-14 2010-03-16 Oracle International Corporation Declarative task-based user interfaces
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US7870512B2 (en) * 2005-12-28 2011-01-11 Sap Ag User interface (UI) prototype using UI taxonomy
US8561048B2 (en) * 2005-12-29 2013-10-15 Sap Ag Late and dynamic binding of pattern components
US8156469B2 (en) * 2005-12-29 2012-04-10 Sap Ag Single composition of pattern modules
US7584416B2 (en) * 2006-02-21 2009-09-01 Microsoft Corporation Logical representation of a user interface form
US7562303B2 (en) * 2006-03-30 2009-07-14 Microsoft Corporation Displaying users connected to computer servers
US7761809B2 (en) * 2006-03-30 2010-07-20 Microsoft Corporation Targeted user interface fall-through
US20080126958A1 (en) * 2006-08-31 2008-05-29 Ati Technologies Inc. Adding graphical user interface to display
US8010938B2 (en) * 2006-11-27 2011-08-30 International Business Machines Corporation Computer method and system for pattern specification using meta-model of a target domain
US8984441B2 (en) * 2007-12-06 2015-03-17 Sony Corporation Dynamic update of a user interface based on collected user interactions
US8782608B2 (en) * 2008-06-17 2014-07-15 International Business Machines Corporation System and method of identifying and tracking software pattern metrics
US20100180205A1 (en) * 2009-01-14 2010-07-15 International Business Machines Corporation Method and apparatus to provide user interface as a service

Also Published As

Publication number Publication date
CN102770842A (zh) 2012-11-07
EP2526484A4 (en) 2013-07-24
US20110185294A1 (en) 2011-07-28
WO2011090770A3 (en) 2011-11-17
WO2011090770A2 (en) 2011-07-28
CA2786385A1 (en) 2011-07-28
EP2526484A2 (en) 2012-11-28
AU2010343065A1 (en) 2012-08-02

Similar Documents

Publication Publication Date Title
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
JP2013518321A (ja) パターンベースのユーザインターフェース
US8392873B2 (en) Methods and apparatus for implementing model-based software solution development and integrated change management
JP5710852B2 (ja) 設計時および実行時にワークフローを継ぎ目なくオーサリングし編集するためのフレームワーク
RU2390822C2 (ru) Способ и устройство создания пользовательских интерфейсов на основе автоматизации с возможностью полной настройки
US20070220035A1 (en) Generating user interface using metadata
JP2006107478A (ja) ワークフローを設計するための拡張可能フレームワーク
US20100153149A1 (en) Software for model-based configuration constraint generation
JP2006107480A (ja) フローベースおよび制約ベースのワークフローをオーサリングし、実行するための統一モデル
JP2006107479A (ja) ワークフロー領域内の分野横断的動作問題(cross−cuttingbehavioralconcerns)をモデル化するためのフレームワーク
US20140047409A1 (en) Enterprise application development tool
CN101410798A (zh) 用于生成应用数据编辑器的方法和***
US20060225028A1 (en) Managing evelopment of an Enterprise Application
US11611627B2 (en) Action flow fragment management
US11803523B2 (en) Ingesting and processing content types
US20080288918A1 (en) Web service tool based on business object layer
US20120060141A1 (en) Integrated environment for software design and implementation
Åkesson et al. Jatte: A tunable tree editor for integrated DSLs
US8490068B1 (en) Method and system for feature migration
JP2004310279A (ja) 業務処理システムおよびその構築支援装置、業務処理システム用プログラム、業務処理システムの構築支援用プログラム
Sheldon et al. Professional visual basic 2010 and. net 4
US11816420B2 (en) Automatic template and logic generation from a codified user experience design
Sboui et al. Addressing Context-Awareness in User Interface Software Product Lines (UI-SPL) Approaches
Del Sole et al. Building Cross-Platform Apps with Xamarin. Forms
Giani et al. A set of languages for context-aware adaptation

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130717

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140106

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20140423

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140513