(57)【要約】  実施形態は、カスタム化可能なユーザ・インターフェースを生成し、ユーザ・インターフェース内に既定のガジェットを実装し、ユーザ・インターフェース内に階層空間を設けることを目的とする。１つのシナリオでは、コンピュータ・システムが、ユーザ・インターフェース（ＵＩ）内に空間を作成することを指示する第１入力をユーザから受ける。各空間は、ガジェットを保持するエリアであり、各ガジェットはＵＩ制御手段となる。コンピュータ・システムは、ＵＩ内に空間を作成し、この空間は、当該空間に追加されるガジェットについてのコンテキストを規定する。コンテキストは、この空間に追加されるガジェットに適用される規則または設定を示す。また、コンピュータ・システムは、作成された空間にガジェットを追加することを指示する第２入力をユーザから受ける。次いで、コンピュータ・システムは、作成された空間に、少なくとも１つのガジェットを追加する。【選択図】図１
2017507419.tif 000002
【特許請求の範囲】
【請求項１】
カスタム化可能なユーザ・インターフェースを生成する方法を実装するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品がコンピュータ実行可能命令が格納されている少なくとも１つのコンピュータ読み取り可能記憶デバイスを含み、前記コンピュータ実行可能命令が、計算システムの１つ以上のプロセッサによって実行されると、前記計算システムに前記方法を実行させ、前記方法が、
ユーザ・インターフェース（ＵＩ）内に空間を作成することを指示する第１入力をユーザから受けるアクトであって、各空間が１つ以上のガジェットを保持するエリアを含み、各ガジェットがＵＩ制御手段を含む、アクトと、
前記ＵＩ内に空間を作成するアクトであって、前記空間が、当該空間に追加されるガジェットについてのコンテキストを規定し、前記コンテキストが、前記空間に追加されるガジェットに適用される１つ以上の規則または設定を示す、アクトと、
前記作成された空間に少なくとも１つのガジェットを追加することを指示する第２入力を前記ユーザから受けるアクトと、
前記作成された空間に少なくとも１つのガジェットを追加するアクトであって、前記１つ以上のコンテキスト・ベースの規則または設定が、前記作成された空間内にある前記ガジェットに適用される、アクトと、
を含む、コンピュータ・プログラム製品。
【請求項２】
請求項１記載のコンピュータ・プログラム製品において、前記作成された空間が、１つ以上の最小化ユーザ定義ガジェットを含む、コンピュータ・プログラム製品。
【請求項３】
請求項１記載のコンピュータ・プログラム製品において、２つ以上のガジェットが前記ＵＩ内において実質的に同じエリアを占有すると判定したとき、タブ型制御手段を自動的に生成する、コンピュータ・プログラム製品。
【請求項４】
請求項１記載のコンピュータ・プログラム製品において、前記作成された空間に対するコンテキストが、前記空間の構成によって、または指定されたタイプのコンテキストを前記空間に設定するコンテキスト選択ガジェットによって設定される、コンピュータ・プログラム製品。
【請求項５】
請求項１記載のコンピュータ・プログラム製品において、前記ガジェットに対するコンテキストが、当該ガジェットが使用される前記空間の現在のコンテキストによって設定される、コンピュータ・プログラム製品。
【請求項６】
請求項１記載のコンピュータ・プログラム製品において、作成された空間が複数のコンテキストを同時に有する、コンピュータ・プログラム製品。
【請求項７】
請求項１記載のコンピュータ・プログラム製品であって、更に、
ガジェット毎に利用可能な１つ以上のビューをユーザに選択させるアクトと、
前記作成された空間を構成するとき、各ガジェットと共に使用するビューを示す指示を前記ユーザから受けるアクトと、
を含む、コンピュータ・プログラム製品。
【請求項８】
請求項１記載のコンピュータ・プログラム製品において、前記作成された空間を構成するとき、前記ユーザが前記少なくとも１つのガジェットのために使用するビューを選択することができるように、前記ガジェットの内少なくとも１つが、多数の異なって定義されたビューを有する、コンピュータ・プログラム製品。
【請求項９】
請求項１記載のコンピュータ・プログラム製品において、前記同じガジェットの複数のビューが、前記ＵＩ内に提示される、コンピュータ・プログラム製品。
【請求項１０】
請求項１記載のコンピュータ・プログラム製品において、リスト・ビューが、選択可能な列の表示を有する、コンピュータ・プログラム製品。
【請求項１１】
請求項１記載のコンピュータ・プログラム製品において、前記作成された空間に追加される前記ガジェットが、１つ以上の既定のガジェットまたはユーザ定義ガジェットを使用して作成されるユーザ定義ガジェットを含む、コンピュータ・プログラム製品。
【請求項１２】
請求項１記載のコンピュータ・プログラム製品であって、更に、ユーザが１つ以上のＵＩエレメントを選択することを可能にする構成ツールを前記ユーザ・インターフェース（ＵＩ）内に設けるアクトを含み、前記ＵＩエレメントが、構成されつつある前記空間に追加する既定のガジェット、ユーザ定義ガジェット、および空間の内少なくとも１つを含む、コンピュータ・プログラム製品。
【請求項１３】
コンピュータ・システムであって、
１つ以上のプロセッサと、
システム・メモリと、
コンピュータ実行可能命令が格納されている１つ以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ実行可能命令が、前記１つ以上のプロセッサによって実行されると、前記計算システムに、ユーザ・インターフェース内において既定のガジェットを実装する方法を実行させる、コンピュータ読み取り可能記憶媒体と、
を含み、
前記方法が、
ユーザ・インターフェース（ＵＩ）のために空間が作成されたと判定するアクトであって、前記空間が、 当該空間に追加されるガジェットおよび空間についてのコンテキストを規定し、前記コンテキストが、前記空間に追加されるガジェットに適用される規則または設定を示す、アクトと、
前記作成された空間が、少なくとも１つの既定のガジェットまたはユーザ定義ガジェットと共にデータ・ストアにデータ構造として格納されたと判定するアクトであって、前記格納された空間およびガジェットが全体としてユーザ定義ガジェットを構成する、アクトと、
前記ＵＩ内における実装のために前記ユーザ定義ガジェットにアクセスするアクトであって、前記ユーザ定義ガジェットが、カスタム化可能なユーザ・インターフェースを作成するためのユーザ指向、基礎的ガジェットを含む、アクトと、
前記ＵＩの１つ以上の空間に前記ユーザ定義ガジェットを実装するアクトであって、前記作成された空間が１組の機能をガジェットとして提供する、アクトと、
を含む、コンピュータ・システム。
【請求項１４】
請求項１２記載のコンピュータ・システムであって、更に、ユーザ定義ガジェットを既存の空間に追加するとき、前記追加された空間の最小化ビューを示すアクトを含む、コンピュータ・システム。
【請求項１５】
請求項１３記載のコンピュータ・システムにおいて、前記最小化ビューが、前記作成された空間全体の縮小ビューである、コンピュータ・システム。
【請求項１６】
請求項１３記載のコンピュータ・システムにおいて、前記最小化空間に追加するために、前記作成された空間内からの制御手段のみが利用可能である、コンピュータ・システム。
【請求項１７】
請求項１３記載のコンピュータ・システムにおいて、前記作成された空間の最小化ビューが、直接ユーザ対話処理を可能にしつつも、前記作成された空間の全体像をユーザに提示する、コンピュータ・システム。
【請求項１８】
請求項１３記載のコンピュータ・システムにおいて、前記ユーザが、作成された空間毎に複数の最小化ビューを構成する、コンピュータ・システム。
【請求項１９】
少なくとも１つのプロセッサを含むコンピュータ・システムにおいて、ユーザ・インターフェース内に階層空間を設けるために実装される方法であって、
ユーザ・インターフェース（ＵＩ）のために空間が作成されたと判定するアクトであって、第１空間が、当該第１空間に追加されるガジェットについてのコンテキストを規定し、前記コンテキストが、前記空間に追加されるガジェットに適用される規則または設定を示す、アクトと、
前記空間内にユーザ定義ガジェットを作成することを指示する入力をユーザから受けるアクトと、
前記空間内にユーザ定義ガジェットを作成するアクトであって、前記ユーザ定義ガジェットが最小化ユーザ定義ガジェットを含み、前記空間および前記ユーザ定義ガジェットが前記ＵＩ内において階層を形成する、アクトと、
前記ＵＩを前記最小化ユーザ定義ガジェットにズームインすることを指示する入力を受けるアクトと、
前記ＵＩ内において、前記ユーザ定義ガジェットの階層を通り抜けて、前記最小化ユーザ定義ガジェットにズームインするアクトと、
を含む、方法。
【請求項２０】
請求項１８記載の方法において、最大化およびズームインされたユーザ定義ガジェットが、以前は見ることができなかった追加情報の少なくとも一部を提示する、方法。
【請求項２１】
請求項１８記載の方法において、前記最小化ユーザ定義ガジェットが前記空間全体の縮小ビューとして構成されない場合、前記ユーザ定義ガジェットの最大化空間からの前記ガジェットの部分集合を、前記最小化ユーザ定義ガジェットの表示として選択することができる、方法。
【請求項２２】
請求項１８記載の方法において、前記ユーザ定義ガジェットおよびガジェットが、複数の異なるビューと共に作成され、前記ユーザが、最小化ビューとして使用するビューを選択する、方法。
【請求項２３】
請求項１８記載の方法において、前記最小化ユーザ定義ガジェットが、ズームインすることなく、直接使用される、方法。
【請求項２４】
請求項１８記載の方法において、既定のガジェットおよびユーザ定義ガジェットが、前記縮小、ズームイン・ビューにおいて見ることができる、方法。
【請求項２５】
請求項１８記載の方法において、１つのユーザ定義ガジェットが、複数のユーザ定義ガジェットを含む、方法。
【請求項２６】
請求項１８記載の方法において、前記ユーザ・インターフェースが、全ての空間から到達可能なホーム・ビューを有する、方法。
【請求項２７】
コンピュータ・システムであって、
１つ以上のプロセッサと、
システム・メモリと、
コンピュータ実行可能命令が格納されている１つ以上のコンピュータ読み取り可能記憶媒体であって、前記コンピュータ実行可能命令が、前記１つ以上のプロセッサによって実行されると、前記計算システムに、既存の空間に空間を追加する方法を実行させる、コンピュータ読み取り可能記憶媒体と、
を含み、
前記方法が、
ユーザ・インターフェース（ＵＩ）内に空間が作成されたと判定するアクトであって、前記空間が、当該空間に追加される空間およびガジェットについてのコンテキストを規定し、前記コンテキストが、前記空間に追加されるガジェットに適用される規則または設定を示す、アクトと、
前記作成された空間に１つ以上の追加空間を追加すると判定するアクトと、
前記作成された空間に前記１つ以上の追加空間を追加するアクトであって、各追加空間が、１つ以上のユーザ定義ガジェットまたは既定のガジェットをホストするように構成される、アクトと、
を含み、
前記作成された空間に追加されるユーザ定義ガジェットおよび既定のガジェットが、最大化ビューにおける１つ以上の他のユーザ定義ガジェットまたは既定のガジェットと共に、最小化ビューで表示可能であり、前記ホストされたユーザ定義ガジェットまたは既定のガジェットが、当該ホストされたユーザ定義ガジェットまたは既定のガジェットに割り当てられた追加空間を埋め尽くす、方法。
【請求項２８】
請求項２６記載のコンピュータ・システムにおいて、前記ユーザ定義ガジェットおよびガジェットが、複数の異なるビューで作成され、前記ユーザが、前記最小化ビューにおいて使用するビュー、および前記最大化ビューにおいて使用するビューを選択する、コンピュータ・システム。
【発明の詳細な説明】
【背景技術】
【０００１】
関連出願に対する相互引用
[0001]  本願は、２０１５年２月３日に出願され"Generating and Implementing a Customizable User Interface"（カスタム化可能なユーザ・インターフェースの生成および実装）と題する米国特許出願第１４／６１３，０９５号の権利を主張する。米国特許出願第１４／６１３，０９５号は、２０１４年２月１０日に出願され"Generating and Implementing a Customizable User Interface"（カスタム化可能なユーザ・インターフェースの生成および実装）と題する米国仮特許出願第６１／９３８，０２５号の優先権および権利を主張する。以上で述べた出願は全て、ここで引用したことによりその内容全体が本願にも含まれるものとする。
【発明の概要】
【０００２】
[0002]  本明細書において説明する実施形態は、カスタム化可能なユーザ・インターフェースを生成すること、ユーザ・インターフェース内において既定のガジェット(gadget)を実装すること、およびユーザ・インターフェース内において階層的空間を設けることに関する。一実施形態では、コンピュータ・システムが、ユーザ・インターフェース（ＵＩ）内において空間を作成することを指示する第１入力をユーザから受ける。各空間は、ガジェットを保持するエリアとなり、各ガジェットはＵＩ制御手段(UI control)となる。次いで、コンピュータ・システムはＵＩ内に空間を作成する。この空間は、当該空間に追加されるガジェットについてのコンテキストを規定し(provide)、コンテキストは、空間に追加されるガジェットに適用される規則または設定を示す。また、コンピュータ・システムは、作成された空間に少なくとも１つのガジェットを追加することを指示する第２入力をユーザから受ける。第２入力を受けると、コンピュータ・システムは作成した空間に少なくとも１つのガジェットを追加し、コンテキスト・ベースの規則または設定が、作成した空間において、ガジェットに適用される。このようなカスタム化可能なユーザ・インターフェースの作成を可能にすることによって、ＵＩと対話処理するときに、ユーザの効率向上を確保する。実際に、ユーザが空間およびガジェットを作成することを可能にするカスタム化可能なＵＩは、ユーザが彼らにとって重要なものを素早くそして容易に視認することを可能にするので、必要とされる精神的努力が減少する。
【０００３】
[0003]  他の実施形態では、コンピュータ・システムがユーザ・インターフェース内に既定のガジェットを実装する。コンピュータ・システムは、ユーザ・インターフェース（ＵＩ）のために空間が作成されたと判定する。この空間は、既定のガジェット、ユーザ定義ガジェット、およびこの空間に追加される空間についてのコンテキストを規定する。コンピュータ・システムは、作成された空間が、既定のガジェットまたはユーザ定義ガジェットと共にデータ構造としてデータ・ストア内に格納されたと判定し、格納された空間およびガジェットは全体としてユーザ定義ガジェットを構成する(comprise)。次いで、コンピュータ・システムは、ＵＩ内における実装のために、ユーザ定義ガジェットにアクセスする。ユーザ定義ガジェットは、カスタム化可能なユーザ・インターフェースを作成するための、ユーザ指向の基礎的なガジェット(user-oriented, foundational gadget)である。また、コンピュータ・システムは、ＵＩの１つ以上の空間において、ユーザ定義ガジェットを実装する。アクセスされた空間は、１組の機能をガジェットとして提供する。ユーザ定義ガジェットは、最小化ビューおよび最大化ビューを定めることができ、最小化ビューは最大化ビューの部分集合である。ＵＩ内に既定のガジェットを実装することにより、ユーザは、複数組のガジェットを適用して、ユーザにとって重要なエレメントのみを含み、一方重要でないものを削除または省略した、個人専用で非常に効率的なユーザ・インターフェースを作成できるということにおいて、ユーザ対話処理性能が向上する。
【０００４】
[0004]  更に他の実施形態では、コンピュータ・システムが、ユーザ・インターフェース（ＵＩ）のために第１空間が作成されたと判定する。第１空間は、当該第１空間に追加されるガジェットについてのコンテキストを規定する。コンピュータ・システムは、第１空間内に第２ユーザ定義ガジェットを作成することを指示する入力をユーザから受け、ユーザ定義ガジェットを第１空間内に作成する。ユーザ定義ガジェットは、最小化されたユーザ定義ガジェットであるので、第１空間およびユーザ定義ガジェットはＵＩ内において階層を形成する。更に、コンピュータ・システムは、ＵＩを最小化空間にズームインする(zoom in)ことを指示する入力を受け、ユーザ定義ガジェットの階層を通り抜けて(through)ＵＩ内の最小ユーザ定義ガジェットにズームインする。
【０００５】
[0005]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として用いられることを意図するのでもない。
【０００６】
[0006]  以下に続く説明において、更に他の特徴および利点が明記されるが、一部は、当業者にはその説明から明らかであり、あるいは本明細書における教示の実施によって習得することができる。本明細書において説明する実施形態の特徴および利点は、添付した特許請求の範囲において特定的に指摘された手段(instrument)および組み合わせによって実現および収得することができる。本明細書において説明する実施形態の特徴は、以下の説明および添付した特許請求の範囲から、更に完全に明白となるであろう。
【図面の簡単な説明】
【０００７】
[0007]  本明細書において説明する実施形態の以上の特徴およびその他の特徴を更に明確にするために、添付図面を参照して更に特定的な説明を行う。尚、これらの図面は、本明細書において説明する実施形態の例を描画するに過ぎず、その範囲を限定すると解釈してはならないことは認められよう。添付図面を使用することにより、更に具体的にそして詳細に、実施形態について説明する(described and explained)。
【図１】図１は、本明細書において説明する実施形態が、カスタム化可能なユーザ・インターフェースを生成することを含む動作を実行することができるコンピュータ・アーキテクチャを示す。
【図２】図２は、カスタム化可能なユーザ・インターフェースの生成方法例のフローチャートを示す。
【図３】図３は、ユーザ・インターフェース内に既定のガジェットを実装する方法例のフローチャートを示す。
【図４】図４は、ユーザ・インターフェース内において階層空間を設ける方法例のフローチャートを示す。
【図５】図５は、同じガジェットの２つの異なるビューが示された実施形態を示す。
【図６】図６は、同じエリアを占有するガジェットがタブ型制御手段(tabbed control)を生成する実施形態を示す。
【図７】図７は、同じ空間の４つの異なる最小化ビューを示す。
【図８】図８は、４つのガジェットおよび１つの空間を有するアプリケーションの実施形態を示す。
【図９】図９は、４つのガジェットおよび１つの空間を有するアプリケーションの代替実施形態を示す。
【図１０】図１０は、機械操作員(machine operator)用のアプリケーション・ホーム・ビューを示す。
【図１１】図１１は、上級ユーザ用のアプリケーション・ビューを示す。
【図１２】図１２は、操作員用のアプリケーション・ホーム空間を示す。
【図１３】図１３は、ジョブ・キュー・ガジェットの代替ビューを示す。
【図１４Ａ】図１４Ａは、元の空間に空間が追加され、追加された空間内においてビューが最小化および最大化された実施形態を示す。
【図１４Ｂ】図１４Ｂは、元の空間に空間が追加され、追加された空間内においてビューが最小化および最大化された実施形態を示す。
【図１５Ａ】図１５Ａは、元の空間に空間が追加され、追加された空間内においてビューが最小化および最大化された代替実施形態を示す。
【図１５Ｂ】図１５Ｂは、元の空間に空間が追加され、追加された空間内においてビューが最小化および最大化された代替実施形態を示す。
【図１５Ｃ】図１５Ｃは、元の空間に空間が追加され、追加された空間内においてビューが最小化および最大化された代替実施形態を示す。
【発明を実施するための形態】
【０００８】
[0023]  本明細書において説明する実施形態は、カスタム化可能なユーザ・インターフェースを生成すること、ユーザ・インターフェース内において既定のガジェット(gadget)を実装すること、およびユーザ・インターフェース内において階層的空間を設けることに関する。一実施形態では、コンピュータ・システムが、ユーザ・インターフェース（ＵＩ）内において空間を作成することを指示する第１入力をユーザから受ける。各空間は、ガジェットを保持するエリアとなり、各ガジェットはＵＩ制御手段(UI control)となる。次いで、コンピュータ・システムは、ＵＩ内に空間を作成する。この空間は、当該空間に追加されるガジェットについてのコンテキストを規定し、コンテキストは、空間に追加されるガジェットに適用される規則または設定を示す。また、コンピュータ・システムは、作成された空間に少なくとも１つのガジェットを追加することを指示する第２入力をユーザから受ける。第２入力を受けると、コンピュータ・システムは少なくとも１つのガジェットを作成した空間に追加し、コンテキスト・ベースの規則または設定が、作成した空間において、ガジェットに適用される。このようなカスタム化可能なユーザ・インターフェースの作成を可能にすることによって、ＵＩと対話処理するときに、ユーザの効率向上を確保する。実際に、ユーザが空間およびガジェットを作成することを可能にするカスタム化可能なＵＩは、ユーザが彼らにとって重要なものを素早くそして容易に視認することを可能にするので、必要とされる精神的努力が減少する。
【０００９】
[0024]  他の実施形態では、コンピュータ・システムがユーザ・インターフェース内に既定のガジェットを実装する。コンピュータ・システムは、ユーザ・インターフェース（ＵＩ）のために空間が作成されたと判定する。この空間は、既定のガジェット、ユーザ定義ガジェット、およびこの空間に追加される空間についてのコンテキストを規定する。コンピュータ・システムは、作成された空間が、既定のガジェットまたはユーザ定義ガジェットと共にデータ構造としてデータ・ストア内に格納されたと判定し、格納された空間およびガジェットは全体としてユーザ定義ガジェットを構成する。次いで、コンピュータ・システムは、ＵＩ内における実装のために、ユーザ定義ガジェットにアクセスする。ユーザ定義ガジェットは、カスタム化可能なユーザ・インターフェースを作成するための、ユーザ指向の基礎的なガジェット(user-oriented, foundational gadget)である。また、コンピュータ・システムは、ＵＩの１つ以上の空間において、ユーザ定義ガジェットを実装する。アクセスされた空間は、１組の機能をガジェットとして提供する。ユーザ定義ガジェットは、最小化ビューおよび最大化ビューを定めることができ、最小化ビューは最大化ビューの部分集合である。ＵＩ内に既定のガジェットを実装することにより、ユーザは、複数組のガジェットを適用して、ユーザにとって重要なエレメントのみを含み、一方重要でないものを削除または省略した、非常に個人専用で効率的なユーザ・インターフェースを作成できるということにおいて、ユーザ対話処理性能が向上する。
【００１０】
[0025]  更に他の実施形態では、コンピュータ・システムが、ユーザ・インターフェース（ＵＩ）のために第１空間が作成されたと判定する。第１空間は、当該第１空間に追加されるガジェットについてのコンテキストを規定する。コンピュータ・システムは、第１空間内に第２ユーザ定義ガジェットを作成することを指示する入力をユーザから受け、ユーザ定義ガジェットを第１空間内に作成する。ユーザ定義ガジェットは、最小化されたユーザ定義ガジェットであるので、第１空間およびユーザ定義ガジェットはＵＩ内において階層を形成する。更に、コンピュータ・システムは、ＵＩを最小化空間にズームインする(zoom in)ことを指示する入力を受け、ユーザ定義ガジェットの階層を通り抜けてＵＩ内の最小ユーザ定義ガジェットにズームンする。
【００１１】
[0026]  これより、以下の論述では多数の方法および実行することができる方法アクトについて述べる。尚、注記すべきこととして、方法アクトは一定の順序で論じられ、フローチャートでは特定の順序で現れるように示されるが、具体的に明言されない場合、または要求されない場合、特定の順序付けは必ずしも必要ではない。何故なら、アクトは、そのアクトが実行される前に完了する他のアクトによって左右されるからである。
【００１２】
[0027]  本明細書において説明する実施形態は、種々のタイプの計算システムを実現することができる。これらの計算システムは、今では増々多種多様な形態をなしつつある。計算システムは、例えば、スマートフォンまたはフィーチャ・フォン(feature phone)のようなハンドヘルド・デバイス、アプライアンス、ラップトップ・コンピュータ、ウェアラブル・デバイス、デスクトップ・コンピュータ、メインフレーム、分散型計算システム、あるいは従来では計算システムとは見なされなかったデバイスでさえも可能である。この明細書および特許請求の範囲では、「計算システム」という用語は、少なくとも１つの実体があり触れることができる(physical and tangible)ハードウェア・プロセッサと、このプロセッサによって実行することができるコンピュータ実行可能命令を有することができ、実体があり触れることができるハードウェアまたはファームウェア・メモリとを含む任意のデバイスまたはシステム（あるいはその組み合わせ）を含むように、広く定義するものとする。計算システムは、ネットワーク環境上に分散されてもよく、多数の要素(constituent)計算システムを含んでもよい。
【００１３】
[0028]  図１に示すように、計算システム１０１は、通例、少なくとも１つの処理ユニット１０２およびメモリ１０３を含む。メモリ１０３は、物理システム・メモリとするとよく、揮発性、不揮発性、またはこれら２つの何らかの組み合わせでもよい。また、「メモリ」という用語は、本明細書では、物理記憶媒体または物理記憶デバイスのような不揮発性大容量ストレージを指すためにも使用することができる。計算システムが分散型である場合、処理、メモリ、および／または記憶能力も同様に分散することができる。
【００１４】
[0029]  本明細書において使用する場合、「実行可能モジュール」または「実行可能コンポーネント」という用語は、計算システム上で実行することができるソフトウェア・オブジェクト、ルーチン、またはメソッドを指すことができる。本明細書において説明する異なるコンポーネント、モジュール、エンジン、およびサービスは、計算システム上で実行するオブジェクトまたはプロセスとして実装することができる（例えば、別個のスレッドとして）。
【００１５】
[0030]  以下に続く説明では、１つ以上の計算システムによって実行するアクトを参照しながら実施形態について説明する。このようなアクトがソフトウェアで実装される場合、そのアクトを実行する関連計算システムの１つ以上のプロセッサは、コンピュータ実行可能命令を実行したことに応答して、計算システムの動作を命令する(direct)。例えば、このようなコンピュータ実行可能命令は、１つ以上のコンピュータ読み取り可能媒体、またはコンピュータ・プログラム製品を形成するコンピュータ読み取り可能ハードウェア記憶装置上に具体化することができる。このような動作の一例は、データの操作を伴う。コンピュータ読み取り可能命令（および操作されたデータ）は、計算システム１０１のメモリ１０３に格納することができる。また、計算システム１０１は通信チャネルを内蔵することもでき、この通信チャネルは、計算システム１０１が他のメッセージ・プロセッサと有線ネットワークまたはワイヤレス・ネットワークを通じて通信することを可能にする。
【００１６】
[0031]  本明細書において説明する実施形態は、特殊目的または汎用コンピュータ・システムを含むこと、または利用することができる。以下で更に詳しく論ずるように、このコンピュータ・システムは、例えば、１つ以上のプロセッサおよびシステム・メモリというような、コンピュータ・ハードウェアを含む。システム・メモリは、メモリ全体１０３内に含まれてもよい。また、システム・メモリは、「主メモリ」と呼んでもよく、少なくとも１つの処理ユニット１０２によってメモリ・バスを通じてアドレス可能なメモリ位置を含む。この場合、アドレス位置はメモリ・バス自体の上でアサートされる。システム・メモリは従前では揮発性であったが、本明細書において説明する原理は、システム・メモリが部分的にまたは全体的に不揮発性である状況であっても適用できる。
【００１７】
[0032]  また、本発明の範囲に該当する実施形態は、コンピュータ実行可能命令および／またはデータ構造を搬送または格納する物理的および他のコンピュータ読み取り可能媒体も含む。このようなコンピュータ読み取り可能媒体は、汎用または特殊目的コンピュータ・システムによってアクセスすることができる任意の入手可能な媒体とすることができる。コンピュータ実行可能命令および／またはデータ構造を格納するコンピュータ読み取り可能媒体または記憶デバイスは、コンピュータ記憶媒体またはコンピュータ記憶デバイスである。コンピュータ実行可能命令および／またはデータ構造を搬送するコンピュータ読み取り可能媒体は、伝送媒体である。つまり、一例として、そして限定ではなく、本発明の実施形態は、少なくとも２つの全く異なる種類のコンピュータ読み取り可能媒体、即ち、コンピュータ記憶媒体および伝送媒体を含むことができる。
【００１８】
[0033]  コンピュータ記憶媒体は、コンピュータ実行可能命令および／またはデータ構造を格納する物理ハードウェア記憶媒体である。物理ハードウェア記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ソリッド・ステート・ドライブ（「ＳＳＤ」）、フラッシュ・メモリ、相変化メモリ（「ＰＣＭ」）、光ディスク・ストレージ、磁気ディスク・ストレージまたは他の磁気記憶デバイス、あるいはコンピュータ実行可能命令の形態でプログラム・コードを格納する、またはデータ構造を格納するために使用することができる任意の他のハードウェア記憶デバイス（１つまたは複数）というようなコンピュータ・ハードウェアを含み、開示する本発明の機能を実現するために、汎用または特殊目的コンピュータ・システムによってアクセスし実行することができる。
【００１９】
[0034]  伝送媒体は、コンピュータ実行可能命令の形態でプログラム・コードを搬送する、またはデータ構造を搬送するために使用することができるネットワークおよび／またはデータ・リンクを含むことができ、汎用コンピュータまたは特殊目的コンピュータ・システムによってアクセスすることができる。「ネットワーク」とは、コンピュータ・システムおよび／またはモジュールおよび／または他の電子デバイス間における電子データの移送を可能にする１つ以上のデータ・リンクと定義する。ネットワークまたは他の通信接続（ハードワイヤ接続、ワイヤレス、あるいはハードワイヤ接続またはワイヤレスの組み合わせ）を通じて情報がコンピュータ・システムに転送または提供されるとき、コンピュータ・システムはこの接続を伝送媒体と見なすことができる。以上のものの組み合わせも、コンピュータ読み取り可能媒体の範囲内に含まれてしかるべきである。
【００２０】
[0035]  更に、種々のコンピュータ・システム・コンポーネントに到達すると、コンピュータ実行可能命令の形態であるプログラム・コードまたはデータ構造を自動的に伝送媒体からコンピュータ記憶媒体に（またはその逆に）転送することができる。例えば、ネットワークまたはデータ・リンクを通じて受信されたコンピュータ実行可能命令またはデータ構造は、ネットワーク・インターフェース・モジュール（例えば、「ＮＩＣ」）内にあるＲＡＭにバッファすることができ、次いで最終的にコンピュータ・システムＲＡＭおよび／またはコンピュータ・システムにおいてそれよりも揮発性でない(less volatile)コンピュータ記憶媒体に転送することができる。このように、コンピュータ記憶媒体は、伝送媒体も利用する（または主に利用する場合もある）コンピュータ・システム・コンポーネントに含むことができる。
【００２１】
[0036]  コンピュータ実行可能命令は、例えば、命令およびデータを含み、１つ以上のプロセッサにおいて実行されると、汎用コンピュータ・システム、特殊目的コンピュータ・システム、または特殊目的処理デバイスに、一定の機能または１群の機能を実行させる。コンピュータ実行可能命令は、例えば、バイナリー、アセンブリ言語のような即座フォーマット命令、またはソース・コードであってもよい。
【００２２】
[0037]  尚、当業者には、本明細書において説明する原理を、多くのタイプのコンピュータ・システム構成を有するネットワーク計算環境において実施できることが認められよう。コンピュータ・システム構成には、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージ・プロセッサ、ハンドヘルド・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのまたはプログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレーム・コンピュータ、移動体電話機、ＰＤＡ、タブレット、ページャ、ルータ、スイッチ等が含まれる。また、本発明は、分散型システム環境においても実施することができ、この場合、ローカルおよびリモート・コンピュータ・システムがネットワークを通じてリンクされ（ハードワイヤ接続データ・リンク、ワイヤレス・データ・リンク、またはハードワイヤ接続およびワイヤレス・データ・リンクの組み合わせのいずれかによって）、双方がタスクを実行する。したがって、分散型システム環境では、コンピュータ・システムが複数の要素コンピュータ・システム(constituent computer systems)を含んでもよい。分散型システム環境では、プログラム・モジュールがローカルおよびリモート双方のメモリ記憶デバイスに配置されてもよい。
【００２３】
[0038]  また、当業者には、本発明をクラウド計算環境において実施できることも認められよう。クラウド計算環境は、分散されてもよいが、そうである必要はない。分散されるとき、クラウド計算環境はある組織内部において国際的に分散されてもよく、および／または多数の組織にまたがって所有されるコンポーネントを有してもよい。この説明および以下の特許請求の範囲では、「クラウド・コンピューティング」とは、構成設定可能な計算リソース（例えば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス）の共有プールに対する、オンデマンド・ネットワーク・アクセスを可能にするモデルと定義する。「クラウド・コンピューティング」の定義は、このようなモデルが適正に配備されることによって得ることができる他の多数の利点のいずれにも限定されない。
【００２４】
[0039]  更にまた、本明細書において説明するシステム・アーキテクチャは、複数の独立したコンポーネントを含むことができ、その各々がシステムの機能に全体として寄与する。このモジュール性のために、プラットフォーム・スケーラビリティの問題に取り組むときに柔軟性の向上を図ることができ、そしてこのために種々の利点が得られる。機能範囲を絞った小規模な部品を使用することによって、システムの複雑さおよび拡張(growth)を一層容易に管理することができる。これらの緩く結合されたモジュールの使用によって、プラットフォーム・フォールト・トレランスが強化される。個々のコンポーネントは、ビジネスの必要性から求められるに連れて、徐々に拡張することができる。また、モジュール型開発は、新たな機能を市場に出すまでの時間の短縮に転化する。中核システムに影響を及ぼすことなく、新たな機能を追加または削除することができる。
【００２５】
[0040]  図１は、少なくとも１つの実施形態を採用することができるコンピュータ・アーキテクチャ１００を示す。コンピュータ・アーキテクチャ１００は、コンピュータ・システム１０１を含む。コンピュータ・システム１０１は、任意のタイプのローカルまたは分散型コンピュータ・システムであってもよく、クラウド計算システムを含む。このコンピュータ・システムは、種々の異なる機能を実行するために種々のモジュールを含む。例えば、データ・アクセス・モジュール１０５は、データ・ストア１１５に格納されたデータにアクセスするように構成することができる。データ・ストア１１５は、コンピュータ・システム１０１に対して内部または外部でもよく、任意のタイプのローカルまたは分散型記憶システム（ネットワークまたはクラウド・ストレージを含む）を含むことができる。データ・アクセス・モジュール１０５によってアクセスされたデータは、ユーザ・インターフェース（ＵＩ）１０２の一部として使用することができる。
【００２６】
[0041]  ＵＩは、構成ツール１０３を含む。これらの構成ツールは、ガジェット１０４Ａおよび空間１０４ＢのようなＵＩエレメント１０４を含むことができるが、これらに限定されるのではない。「ガジェット」という用語は、本明細書において使用する場合、ユーザ・インターフェース制御手段を指す（ボタン、スライダ・バー、ドロップ・ダウン・メニュー、リスト（物品リスト、注文リスト、ジョブ・リスト等のようなリスト）、ビュー（包装材のプレビューのようなビュー）、または他のタイプのＵＩ制御手段等）。「ガジェット」という用語が本明細書において使用されるとき、これはユーザが定義したガジェットおよび／または予め定義されたガジェットを指すことができ、以下で更に説明する。「空間」という用語が本明細書において使用されるとき、１つ以上のガジェットまたは他の空間を保持するＵＩのエリアを指す。つまり、空間１０６は、例えば、１つ以上の追加ガジェット１０８であってもよい。空間は、その空間内部にあるガジェットについてのコンテキスト１０７を規定する。後にその空間に追加されるガジェットはいずれも、その空間のコンテキストを受け取る、または継承する（以下で更に説明する）。空間は、ユーザ定義ガジェット（例えば、１１６）として格納されるとき、最大化または最小化することができる。ユーザ定義ガジェットは、エンド・ユーザ、アドミニストレータ、ＩＴマネージャ等を含む任意のタイプのユーザによって作成することができ、ユーザ定義および／または既定のガジェットを含む既存のガジェットの組み合わせを使用して作成することができる。これらの概念の各々について、図５〜１３、更には図２、図３、および図４の方法２００、３００，および４００それぞれに関して、以下で更に説明する。
【００２７】
[0042]  各ガジェットには、多数の異なるビューが定義されることが可能である。決定された空間を構成するとき、ユーザ（例えば、１１１）は、入力１１２を使用して、ガジェット毎に使用すべきビューを選択することができる。各ガジェットは多数のビューを有することができるので、ガジェットを多数の異なる方法で表示することができる。例えば、リスト・ガジェットでは、このリストに表示される列がカスタム化を更に一層拡張するように構成することもできる。図５に示すように、２つの画像が同じガジェットの２つの異なるビューを表示することができる。左側のビュー（５０１）は、ジョブ・キュー・ガジェットのビュー（ある実施形態では、これがデフォルト・ビューとなる）を表す。このビューは、現在ジョブ・キュー内にあるジョブを示す。右側のビュー（５０２）は、同じガジェット（即ち、ジョブ・キュー・ガジェット）の「最終完了ジョブ」ビューを表す。本明細書において説明するシステムのカスタム化を更に拡張するために、リスト・ビューはユーザ選択可能な表示列を有することもできる。場合によっては、ユーザはジョブのいくつかのエレメント（ジョブの長さ、幅、および高さというようなエレメント）についてはそれ程心配していないが、そのジョブの製造部門（例えば、包装部門）にはもっと関心があるという場合もある。これは、ガジェットの設定において構成することができる。したがって、ユーザは、彼らのガジェットに対する関心に応じて、同じガジェット（例えば、ジョブ・キュー・ガジェット）に対して種々の異なるビューを作成することができる。
【００２８】
[0043]  新しい空間が構成ツール１０３において作成されたとき、ユーザはガジェットを空間１０６に追加することができる。ユーザは、実質的にあらゆる数のガジェットでも任意の１つの空間に追加（または削除）することができる。機械操作パネルに似たものを得るためには、図６に示すように、ユーザ１１１は物品リスト・ガジェットを選択し（例えば、タブ６０１を使用して）、ジョブ・リスト・ガジェットを選択し（例えば、タブ６０２を使用して）、プレビュー・ガジェットを選択し、および／または包装コマンド・ガジェットを選択するとよい。同じエリアを占有するガジェットは、タブ型制御手段(tabbed control)（図６の物品、順序、ジョブ・リスト）を生成する。このように、物品リスト・ガジェット、ジョブ・リスト・ガジェット、プレビュー・ガジェット、および包装コマンド・ガジェットを空間に追加することによって、ユーザは、機械操作パネルに似た全体的な体験を生み出すことができる。この機械操作パネルは、しかしながら、ビューの各々をユーザが望む通りに削除または変更できるが、他のビューはそのままであるという点で異なる。
【００２９】
[0044]  少なくともある実施形態では、ガジェットは、当該ガジェットが使用されている空間の現在のコンテキストから、それらのコンテキストを継承することができる。つまり、図１に示すように、追加されたガジェット１０８は、空間１０６からそれらのコンテキスト１０７を得る。コンテキストは、ある種の設定、エンティティ情報、挙動特性、または当該空間内に作成されたガジェットに自動的に適用されるその他の特徴を含むことができる。空間についてのコンテキストは、構成によって、またはコンテキスト選択ガジェットからのいずれかで設定することができる。空間は、異なるタイプの多数の異なるコンテキストを保持することができる。例えば、１つの空間が機械コンテキストおよび包装コンテキストを有することもできる。空間が同じタイプの多数のコンテキスト選択ガジェットを有する場合、最後の選択が、同じタイプのガジェットからの選択を解除する(clear)。ある実施形態では、物品、順序、およびジョブ・リストが各々、包装（または他の）コンテキストを空間に設定する。包装プレビュー、ジョブ・コマンド、および詳細ビューは全て、空間の現在の包装コンテキストを使用する。このような場合、物品のコンテキストが構成されればよく、一方プレビューおよびコマンド・コンテキストによって使用される包装コンテキストは、物品リスト・ガジェットから設定される。
【００３０】
[0045]  前述のように、空間はガジェットを使用して構成することができる。空間を格納して、他のプロジェクトにおいてガジェットそれ自体として使用することができる（例えば、ユーザ定義ガジェット１１６）。ユーザ定義ガジェットを他の空間に追加するとき、追加される空間の最小化ビューが示される。空間の最小化ビューは、ユーザにその空間の全体像を与えつつも、引き続きユーザの直接的な対話処理を可能にする。少なくともある実施形態では、新たに作成された空間においては、最小化ビューは空間全体を拡縮したビューとなる。ユーザ１１１は、空間毎に様々な最小化ビューを構成することができるとよい。空間に対して最小化ビューを構成するのは、空間自体の構成を行うのと同じ方法で行われる。単純に制御手段を空の空間に追加することによって、その空間内部からの制御手段だけが、最小化空間に追加するために利用可能となる。一旦空間が構成されたなら、格納して任意の他のプロジェクトにおいて使用することができる。
【００３１】
[0046]  同じ空間の４つの異なる最小化ビューを図７に示す。左上のビュー（７０１）は、空間全体を拡縮したビューである。右上のビュー（７０２）は、カスタム化した最小化空間であり、ジョブ・キュー・ガジェットをその標準ビューと共に示す。左下角にあるビュー（７０３）は、同じガジェットをその最小化ビューで有するが、ジョブ・キューの他のビュー（即ち、最終完了ジョブ・ビュー）を示す。右下にあるビュー（７０４）は、左側に表示された(docked)物品リスト（リスト・ビューを示すために設定された）および右側に包装コマンド・ガジェットがある最小化空間を示す。
【００３２】
[0047]  一旦空間が設定されたなら、これらは階層（例えば、図１の階層１１０）を形成する。階層は、ユーザ１１１が更に詳細な情報を求めて最小化空間にズームインすることを可能にする。次いで、操作員はズームアウト(zoom out)することによって、上の空間に戻すことができる。ズームインおよびズームアウト入力（例えば、１０６）は、マウス・ホイール、フィンガ・ピンチ(finger pinch)入力（タッチ・スクリーン・ディスプレイを使用するとき）、または他のタイプの入力を使用して実行することができる。
【００３３】
[0048]  少なくともある場合には、種々の異なるユーザおよびユーザ・タイプがコンピュータ・システム１０１を使用することがあり得る。各ユーザまたはユーザ・タイプは、任意の空間から到達することができるホーム・ビューを構成させることができる。図８に示す実施形態では、多数の異なるコンピュータ・システムを制御するソフトウェア・アプリケーションのバージョンのために、最上位空間（階層における）が示されている。この最上位空間は、４つの既定のガジェットと、１つのユーザ定義ガジェットとをこの空間内に有する。これらのガジェットは、空間において利用可能な情報の概略のみを示す最小化ユーザ定義ガジェットとは対照的に、関連情報をユーザに直接示す。空間を拡張すると、階層においてユーザを下に移動させる。図８における「機械」ユーザ定義ガジェットを拡張すると、次のレベルの詳細にユーザを下げることによって、各機械についての一層の詳細（例えば、その動作状態、最後の保守の日付け、最後に実行したジョブ等）を提示する。
【００３４】
[0049]  図９は、図８に示すユーザ定義ガジェットの第２即ち「ズームイン」レベルを示す。つまり、図９の第２レベルでは、４つのガジェットおよび１つのユーザ定義ガジェットが示されている。右側にあるユーザ定義ガジェットおよび既定のガジェットは、現在の機械コンテキストに結び付けられている。したがって、これらの空間およびガジェットはこの空間における現在の機械コンテキストから情報を得る。コンテキストは、構成することができ、またはコンテキスト選択ガジェットによって選択することができる。この場合、「機械」ガジェット自体がそのコンテキストを、既に構成されている「全機械」コンテキストから得る。このレベルにおけるユーザ定義ガジェットは、「生産」ユーザ定義ガジェットである。第１レベル（図８に示すような）では、ユーザ定義ガジェットがこの空間の最小化ビューとなっており、第２レベルにおける「機械」ガジェットのみを示すが、異なる構成となっている。第２レベル（図９に示すような）では、ユーザ定義ガジェットは第３レベルの空間全体の微小ビュー(miniature view)となっている。
【００３５】
[0050]  図１０は、単独(stand-alone)機械操作員からのビューを示す。図１０に示す主要なビューは、機械操作員のためのホーム・ビューの例である。この空間は、５つのガジェットを有するが、４つを有するように現れる。２つのガジェットが同じ空間を占有するとき、タブ型ビューが作成される。これは、ジョブ・キュー・ガジェットおよび物品ガジェットの場合である。この例では、ジョブ・キュー・ガジェット１００１および物品ガジェット１００２の双方が、同じタイプのコンテキストに対して現在のコンテキストを設定する（例えば、包装体(packaging item)について）。これが発生するとき、最後の選択によって直前の選択が解除される。これが意味するのは、物品を選択し次いでジョブ・キュー・ガジェットに移動してジョブを選択すると、結果的にそのジョブが現在の包装体となり、物品の選択が解除されるということである。包装の詳細（左下角）は、場合によっては、様々なガジェットで組み立てられることもある。詳細ガジェットは、例えば、ジョブ情報ガジェット１００３、包装ガジェット１００４、特別パラメータ・ガジェット１００５、回転許可ガジェット１００６、段ボール・ガジェット１００７、およびジョブ・プロパティ・ガジェット１００８で組み立てることができる。
【００３６】
[0051]  図１０に示す空間は、ユーザ１１１のためのホーム・ビューを表すのでもよい。あるユーザはこの空間から移動できなくてもよい（例えば、もっと詳細な情報を見るため）。逆に、「スーパー・ユーザ」が編集特権を有し、生産ビューをホーム空間として使用しつつ、このビューよりも１ステップ上に彼らを移動させることを可能にしてもよい。したがって、最上位ビューおよびホーム・ビューは、ユーザ・タイプに基づいて、異なることが可能である。「スーパー・ユーザ」に利用可能な最上位空間（図１１に示すような）は、４つの空間、即ち、段ボール管理、設定管理、生産、およびユーザ管理を示す。この例における全てのユーザ定義ガジェットは、最大化ビューの微小化または縮尺バージョンを示すように構成されている。いずれの最小化ビュー内においても、ズームインする必要なくユーザ入力を入力することができる。
【００３７】
[0052]  図１２は、短時間量の内に顧客特定情報を作成するためのガジェットの異なるビューのパワーを実証する。図１２は、ユーザ１１１のためのホーム空間例を示す。この空間は、１つの他の空間、即ち、以前の例からの生産空間のみを含む。図１２では、これはジョブ・キュー・ガジェットの最小化ビューとして示されている。このビューは、最後の生産ジョブ(last produced job)のジョブ番号、およびこのジョブに指定された梱包部門(pack station)だけを示し、ユーザ／操作員がどこに各ボックスが行くべきかを明確に見ることを可能にする。これは、通常の生産において操作員が使用する画面の一例である。何か特別なことをする必要がある場合、操作員は単にビューを拡張し、全ての選択肢がある総合生産インターフェースをユーザに入手させることができる。図１３は、ジョブ・キュー・ガジェットの他のビューを表示するようにのみ構成された、全く同じ空間（図１２に示す）の例を示す。
【００３８】
[0053]  尚、図５〜図１３のガジェット、空間、および構成ツールは、包装材、および包装材を生産する機械の操作に関係するように示されたが、本明細書において説明するコンポーネントおよび特徴は、任意の数の異なる生産、またはユーザ・インターフェースが使用される他のタイプのシナリオ、更にユーザ・インターフェースのカスタム化が有利であると思われる場合にも適用できることは注記してしかるべきである。図５〜図１３によってそして以上で提示した例によって総合的に示された概念について、それぞれ、図２、図３、および図４の方法２００、３００、および４００に関して以下で更に詳細に説明する。
【００３９】
[0054]  以上で説明したシステムおよびアーキテクチャに関して、開示する主題にしたがって実現することができる方法は、図２、図３、および図４のフローチャートを参照することによって、一層正しく認められよう。説明の簡略化という目的のために、方法を一連のブロックとして示し説明することとする。しかしながら、特許請求する主題は、ブロックの順序によって限定されないことは理解され認められてしかるべきである。これは、あるブロックは、本明細書において図示し説明するものとは異なる順序で、および／または他のブロックと同時に現れてもよいからである。更に、図示されるブロックの全てが、以下に説明する方法を実現するために必要とされない場合もある。
【００４０】
[0055]  図２は、カスタム化可能なユーザ・インターフェースを生成する方法２００のフローチャートを示す。これより、方法２００について、環境１００のコンポーネントおよびデータを頻繁に参照しながら説明する。
【００４１】
[0056]  方法２００は、ユーザ・インターフェース（ＵＩ）において構成ツールを設ける任意選択アクト（２１０）を含む。この構成ツールは、ガジェットおよび空間の内少なくとも１つを含む１つ以上のＵＩエレメントをユーザが選択することを可能にする。空間は、１つ以上のガジェットを保持するエリアを含み、ガジェットはＵＩ制御手段を含む。例えば、図１におけるユーザ・インターフェース１０２は構成ツール１０３を含むことができる。構成ツールは、ガジェット１０４Ａおよび空間１０４Ｂを含むＵＩエレメント１０４へのアクセスを可能にする。前述のように、空間は、ＵＩ１０２内においてガジェットを保持するエリアを含む。ガジェットは、それ自体ＵＩ制御手段になる。つまり、構成ツール１０３は、ＵＩ内の空間内において使用することができるＵＩ制御手段へのアクセスを可能にする。
【００４２】
[0057]  また、方法２００は、ＵＩ内で空間を作成することを指示する第１入力をユーザから受けるアクト（２２０）も含む。つまり、例えば、ユーザ１１１は、新たな空間をＵＩ１０２内に作成することを指示する入力１１２を送ることができる。この入力を受けると、コンピュータ・システム１０１はＵＩ１０２内に空間１０６を作成することができる（２３０）。空間は、その空間に追加されるガジェットについてのコンテキストを規定し、コンテキストは、空間に追加されるガジェットに適用される規則または設定を示す。図１に示すように、作成された空間１０６は、この空間に追加されたガジェット（例えば、追加ガジェット１０８）についてのコンテキスト１０７を含むまたは規定する。このように、空間に追加されるＵＩ制御手段はいずれも、その空間のコンテキスト（例えば、設定、特性等）を引き継ぐ。コンテキストは、少なくともある場合には、それが適正なタイプのものでる場合にのみ適用される。例えば、図９に示すように、機械ガジェットは、機械コンテキストがそのガジェットが使用する唯一のコンテキストであると仮定して、その空間の機械コンテキストだけを引き継ぐ。
【００４３】
[0058]  ある場合には、作成された空間１０６が最小化空間１０９である場合もある。最小化空間は、最大または通常サイズの空間よりも少ない詳細を含む空間とすることができる。最小化空間は、例えば、名称および基本的情報を提供すればよく、一方最大サイズの空間は追加の詳細を含むことができる。最小化または通常サイズの空間内に示される情報の量は、ユーザによってカスタム化することができる。
【００４４】
[0059]  また、ガジェットに対するコンテキストは通例そのガジェットが作成または使用される空間の現在のコンテキストによって設定されるが、空間に対するコンテキストは、ガジェット自体の構成によって、またはコンテキスト選択ガジェットによって設定できることも注記してしかるべきである。このようにガジェットがそれ自体の構成設定を有する場合、ガジェットが使用される空間によって設定されたものを上書きする、即ち、それらよりも優先することができる。更にまた、１つの空間が異なるタイプの多数のコンテキストを同時に有することもできる。これらのコンテキストの設定または特性は、各々、空間内に作成されたガジェットの挙動に対して効果を有することができる。
【００４５】
[0060]  次に、方法２００は、作成された空間に少なくとも１つのガジェットを追加することを指示する第２入力をユーザから受けるアクト（２４０）を含む。例えば、ユーザ１１１からの入力１１２は、ガジェットを空間１０６に追加することを指示する指示を含むことができる。次いで、コンピュータ・システムは少なくとも１つのガジェットを、作成された空間に追加する。ここで、１つ以上のコンテキスト・ベースの規則または設定が、作成された空間におけるガジェットに適用される（２５０）。追加されるガジェットは、例えば、物品リスト、注文リスト、ジョブ・リスト、包装プレビュー、または任意の他のタイプのガジェットを含むことができる。作成された空間に追加されるガジェットは、ユーザによって作成された格納空間(stored space)（ここでは「ユーザ定義ガジェット」とも呼ぶ）から作成されたガジェットを含むことができる。例えば、開発者または他のユーザが空間を作成し、この空間をユーザ定義ガジェット１１６として格納することができる。次いで、このユーザ定義ガジェットをガジェットとして使用することができ、そして他の空間（例えば、空間１０６）内で使用することもできる。
【００４６】
[0061]  ある実施形態では、２つ以上のガジェットが実質的に同じエリアをＵＩ１０２内で占有するとき、タブ型制御手段を自動的に生成することができる。例えば、物品、注文、ジョブ・リスト、または他のガジェットがＵＩ１０２の同じエリアを占めようとした場合、図６に概略的に示すように、タブ型制御手段を自動的に生成し、ＵＩ内に示すことができる。ある場合には、作成された空間を構成するときに、ユーザ１１１に、ガジェット毎に利用可能な１つ以上のビューから選択させることができ、各ガジェットと共に使用しようとするビューを示す指示をユーザから受けることができる。このように、ユーザ１１１は、各ガジェットと共に使用しようとするビューを選択することができる場合もある。ガジェットに多数の異なるビューが定められている場合、ユーザはそのガジェットのために使用するビューを選択することができる。更にまた、ＵＩは同じガジェットの多数のビューを示すこともできる。例えば、図５に示すように、左側のビュー（５０１）はジョブ・キュー・ガジェットのデフォルト・ビューに対応することができ、一方右側のビュー（５０２）は同じガジェットの「最終完了ジョブ」ビューである。このように、各ガジェットは多数の異なるビュー（図５には示されない追加のビューも含む）を有することもできる。
【００４７】
[0062]  図３は、ユーザ・インターフェース内に既定ガジェットを実装する方法３００のフローチャートを示す。これより、環境１００のコンポーネントおよびデータを頻繁に参照しながら、方法３００について説明する。
【００４８】
[0063]  方法３００は、空間がユーザ・インターフェース（ＵＩ）のために作成されたと判定するアクト（３１０）を含む。空間は、その空間に追加されるガジェットおよび空間に対するコンテキストを既定する。コンテキストは、空間に追加されるガジェットに適用される規則または設定を示す。コンピュータ・システム１０１は、作成された空間（例えば、１０６）がデータ・ストア（例えば、１１５）におけるデータ構造として、少なくとも１つの既定のガジェットまたはユーザ定義ガジェットと共に格納されたと判定することができ、格納された空間およびガジェットが全体としてユーザ定義ガジェット１１６を構成する（３２０）。データ・ストア１１５は、複数の異なる格納空間１１６を収容することができる。これらの空間は、ユーザ１１１の要求時に、あるいは他のソフトウェア・プログラムまたはコンピュータ・システムというような他のエンティティの要求時に格納されてもよい。データ・アクセス・モジュール１０５は、ＵＩ１０２内における実装のために、ユーザ定義ガジェット１１６の内任意のものにアクセスすることができる。このユーザ定義ガジェット自体は、カスタム化可能なユーザ・インターフェースを作成するための、ユーザ指向の基礎的なガジェットを構成する（３３０）。前述のように、ユーザ定義ガジェットは、他のユーザ・インターフェースまたはユーザ・インターフェースの一部を作成するために使用することができる格納空間(stored space)である。これらのユーザ定義ガジェットはユーザによって定義され、したがってユーザに向けられているので、そしてユーザ定義ガジェットは他のユーザ・インターフェースを作成するために使用されるので、これらは基礎的であると言われる。この用語は、ユーザ・インターフェースの基礎を形成するために、ユーザ定義ガジェットを使用することができ、この意味において基礎的であることを意味するという意図がある。ユーザは、これらのユーザ定義ガジェットを混合および照合して、彼ら自身の個人専用ユーザ・インターフェースを作成することができる。このように、ユーザ定義ガジェットは、ユーザ指向でありしかも基礎的なガジェットである。
【００４９】
[0064]  次いで、これらのユーザ定義ガジェットをＵＩの１つ以上の空間に実装する（３４０）。次いで、アクセスされた空間は１組の機能をガジェットとして提供する。つまり、ユーザまたは他のエンティティは、データ・ストアに空間を格納し、後にこの空間にアクセスして、ガジェットと同様の機能または同じ機能を提供することができる。これによって、ユーザは、そのＵＩ内にブロックを構築するときに、ユーザ定義ガジェットを使用することが可能になる。少なくともある場合には、追加された空間の最小化ビューが、ユーザ定義ガジェットを既存の空間に追加するときに示される。この最小化ビューは、ユーザに、追加された空間の種々の上位（または他の）側面を示すことができる。例えば、最小化ビューは、作成された空間全体を拡縮したビューであってもよい。最小化ビューは、少なくともある場合には、作成された空間によって設けられる制御手段を含むことができる。作成された空間の最小化ビューは、直接ユーザ対話処理を許しつつ、作成された空間の全体像をユーザに提示する。したがって、ユーザは最小化ビューと対話処理することができ、最小化ビューを通じて行われた変更はいずれも、これらが通常サイズのデフォルト・ビューを通じて受けとられたかのように処理される。このように、ユーザは、作成した空間毎に、１つまたは多くの異なる最小化ビューを作成および使用することができる。
【００５０】
[0065]  図４は、ユーザ・インターフェース内に階層的空間を設ける方法４００のフローチャートを示す。これより、環境１００のコンポーネントおよびデータを頻繁に参照しながら、方法４００について説明する。
【００５１】
[0066]  方法４００は、ユーザ・インターフェース（ＵＩ）のために空間が作成されたと判定するアクト（４１０）を含む。この空間は、この空間に追加されるガジェットについてのコンテキストを規定する。空間１０６は、ＵＩ１０２内にコンピュータ・システム１０１によって作成することができる。空間１０６は、ＵＩ１０２内に作成された多くの異なる空間の内の１つでもよい。各空間は、多くの異なるガジェット（例えば、１０８）を追加することを可能にし、各ガジェットはコンテキスト１０７を空間１０６から受ける。構成ツール１０３は、ユーザ定義ガジェットをＵＩ１０２内に作成することを指示するす入力をユーザ１１１から受けることができる（４２０）。コンピュータ・システム１０１は、次いで、ＵＩ内にユーザ定義ガジェットを作成することができ（４３０）、このユーザ定義ガジェットは最小化ビューで示される。次いで、空間１０６およびユーザ定義ガジェット１０９はＵＩにおいて階層１１０を形成する（４３０）。階層によって、ユーザは、ユーザ定義ガジェットを構成する空間およびガジェットが示されるように、階層内のユーザ定義ガジェットにズームインすることができる。例えば、ユーザは、階層内のあるレベルに下がるためにズームインすること、または階層内のあるレベルに上がるためにズームアウトすることができる。
【００５２】
[0067]  次に、方法４００は、ＵＩを最小化ユーザ定義ガジェット１０９までズームインすることを指示する入力を受けるアクト（４４０）を含み、更にＵＩ１０２内において最小化ユーザ定義ガジェット１０９まで空間の階層１１０を通り抜けてズームインする（４５０）。少なくともある場合には、最大化およびズームインされた空間(zoomed in space)は、以前では見ることができなかった追加情報を提供することができ、または以前には見ることができた情報を隠すことができる。最小化空間は、空間全体の概要または縮小ビューとすることができる。ズームイン空間は追加のデータを全く提供する必要はない。したがって、最小化ビューを実装するとき、多量のカスタム化可能性が存在することが理解されよう。
【００５３】
[0068]  ある実施形態では、最小化ユーザ定義ガジェットが空間全体の縮小ビュー(scaled view)として構成されていない場合、最小化空間からのガジェットの部分集合を、最小化ユーザ定義ガジェットの表示として選択することができる。ユーザ定義ガジェットおよび既定のガジェットは、各々、複数の異なるビューで作成することができる。次いで、ユーザは、最小ビューとして使用するビューを選択することができる。例えば、生産履歴のためのガジェットは、最後の１０品目についての詳細情報を示す１つの最小化ビューと、最後に作成された品目の連番を示す最小化ビューとを有してもよい。ユーザ定義ガジェットまたは既定のガジェットを他の空間に追加するとき、ユーザ１１１は最小化ビューとして使用するビューを選択することができる。一旦空間が設定されたなら、これらの空間は階層を形成し、ユーザが更に詳細な情報を求めて最小化ユーザ定義ガジェットに「ズームイン」することを可能にする。更にまた、最小化ユーザ定義ガジェットは、ズームインすることなく、またはユーザ入力が全くなく、直接使用されてもよいことも注記してしかるべきである。既定のガジェットおよびユーザ定義ガジェットは、縮小したズームイン・ビューにおいて見ることができ、そして少なくともある実施形態では、ＵＩ１０２内にホーム・ビューを提示することができる。ホーム・ビューは、全ての空間から到達可能であり、ユーザがデフォルトまたは「ホーム」ビューにナビゲートすることを可能にする。このように、最小化ビュー空間は、他の空間およびガジェットと共に使用して、更にカスタム化され個人専用としたＵＩを設けることができる。
【００５４】
[0069]  図１４Ａ、図１４Ｂ、および図１５Ａ〜図１５Ｃは、空間（または多数の空間）を既存の空間に追加する実施形態について説明する。例えば、図１４Ａに示すように、第１のまたは元の空間（例えば、空間１（１４０１）をユーザ・インターフェース内に作成することができる。第１空間は任意のサイズまたは形状でもよく、図１４Ａに示すような矩形であることには限定されない。図示する実施形態では、４つの空間、空間２（１４０２）、空間３（１４０３）、空間４（１４０４）、および空間５（１４０５）が空間１に追加されている。尚、既存の空間には実質的にいずれの数の空間でも追加してもよく、同様に、後に追加された空間（例えば、空間５に追加された空間（１４０５））にもいずれの数の空間でも追加してもよいことは理解されよう。図１４Ａにおいて、各空間はユーザ定義ガジェットを含む。このユーザ定義ガジェットのビューは最小化されている。したがって、ユーザは空間１を見て、異なる空間内における多数の最小化ビューを見ることができる。
【００５５】
[0070]  ユーザがユーザ定義ガジェット（ＵＤＧ）の最大化ビューを見ることを望む場合、ユーザは単にダブル・クリックするか、またはビューを最大化することを指示する何らかの他のジェスチャを実行することができる。したがって、このような入力を受けると、ＵＤＧ１４０６ｍｉｎの最小化ビューが、図１４Ｂの１４０６ｍａｘに示すように、その空間において最大化される。最大化ビューでは、最小化ビューにおいて示された機械の各々についての詳細が示される。ユーザは、例えば、１４０６ｍｉｎにおける最小化ビューにおいて示された機械１〜４に関係する種々の棒グラフ、チャート、または他のデータを見ることができる。
【００５６】
[0071]  図１５Ａにおいて、第１のまたは元の空間１５０１が破線で示されている。この場合も、この空間はその境界内にいずれの数の空間でも有することができる。この場合、空間１（１５０１）は、４つのユーザ定義ガジェット（ＵＤＧ１（１５０３）、ＵＤＧ２（１５０４）、ＵＤＧ３（１５０５）、およびＵＤＧ４（１５０６））を含む。これらのＵＤＧは、互いに隣り合って集まって示されている。しかしながら、これらのＵＤＧは実質的にいずれのやり方で離されてもまたは集められてもよく、ユーザによって配列されてもよいことは理解されよう。場合によっては、ユーザがユーザ定義ガジェットの内１つを最大化するまたはズームインすることを望むこともあり得る。つまり、例えば、図１５Ｂにおいて、ＵＤＧ３（１５０５）を最大化状態で示すこともできる。ＵＤＧ３（ＵＤＧ１、２、および４と共に）空間１（１５０１）の一部であるので、最大化されると、空間１の全体を占める。
【００５７】
[0072]  空間１（１５０１）は空間２（１５０２）も含み、空間２（１５０２）はそれ自体ＵＤＧの最小化ビュー（１５０７ｍｉｎ）を有する。このユーザ定義ガジェットも最大化することができるが、これは空間２内において作成された（または動かされた）ので、空間２（１５０２）内で最大化される。つまり、図１５Ｃに示すように、１５０７ｍｉｎの最大化ビューが１５０７ｍａｘとして空間２内に示されている。したがって、ユーザ定義（または既定の）ガジェットは、それらの最小化または最大化状態で空間内において示すことができる。ユーザは、ビューの間で、またはガジェットの間で継ぎ目なく切り替えることができる。更に、ユーザは空間を追加することまたは空間から空間を削除すること、そして追加された空間または元の空間に／からガジェットを容易に追加または削除することができるとよい(may be able to)。
【００５８】
[0073]  一実施形態では、空間を既存の空間に追加する方法を実行するように、コンピュータ・システム（例えば、図１の１０１）を実装することもできる。例えば、コンピュータ・システムは、ユーザ・インターフェース（ＵＩ）内に空間（例えば、図１４Ａの１４０１）が作成されたと判定することができる。先に説明したように、空間は、この空間に追加される空間およびガジェットについてのコンテキストを規定する。少なくともある実施形態では、コンテキストを次のように構成することができる。コンピュータ・システムが、ＵＩのために空間が作成されたと判定することができる。次いで、コンピュータ・システムは、特定のタイプのコンテキストを空間のために構成することを指示する入力をユーザから受けることができる。更に、コンピュータ・システムは、作成された空間にガジェットを追加することを指示する第２入力を受けることができ、このガジェットが作成されたときに、そのコンテキストを、作成された空間から受ける。更に、コンピュータ・システムは、作成された空間１４０１に種々の追加空間（例えば、１４０２〜１４０５）が追加されたと判定することができる。これらの追加空間は、何らかの様式で追加され配列されればよい。これらは、図１４Ａに示すように、矩形ブロック形態に配列されてもよく、あるいは円形または他の任意に選択されたパターンに配列されてもよい。
【００５９】
[0074]  各追加空間は、このように、最初に作成された空間（即ち、１４０１）に追加することができる。各追加空間は、ユーザ定義ガジェットまたは既定のガジェットをホストするように構成することができる。図１４Ａでは、各ＵＤＧが機械（例えば、生産機械）の最小化ビューを含む。最小化ビューは、種々の異なるデータを種々の異なる形式で示すことができる。同様に、最大化ビューは異なるデータを異なる形式で示すことができる。各追加空間は、１つ以上のＵＤＧを含むことができ、各々最大化または最小化状態で示される。多数の最小化ＵＤＧを１つの空間内で示すことができ、一方１つだけの最大化ビューを１つの空間に示すこともできる。これは、最大化ビューは、それに割り当てられた空間を埋め尽くすからである（例えば、図１５ＢのＵＤＧ３（１５０５）を参照のこと）。このように、空間を空間に追加することもでき、各追加空間はそれ自体の選択可能な１組の既定のガジェットまたはユーザ定義ガジェットを有することができる。
【００６０】
[0075]  このように、カスタム化可能なユーザ・インターフェースを生成する方法、システム、およびコンピュータ・プログラム製品を提供する。更に、ユーザ・インターフェース内に既定のガジェットを実装しユーザ・インターフェース内に階層空間を設ける方法、システム、およびコンピュータ・プログラム製品も提供する。
【００６１】
[0076]  本明細書において説明した概念および特徴は、その主旨や記述的特徴(descriptive characteristics)から逸脱することなく、他の特定形態においても具体化することができる。説明した実施形態は、あらゆる観点において、限定ではなく例示として見なされるものとする。したがって、本開示の範囲は、以上の説明ではなく、添付した特許請求の範囲によって示される。特許請求の範囲の均等の意味および範囲に該当するあらゆる変更は、その範囲内に包含されるものとする。
【図１】
2017507419.tif 000003
【図２】
2017507419.tif 000004
【図３】
2017507419.tif 000005
【図４】
2017507419.tif 000006
【図５】
2017507419.tif 000007
【図６】
2017507419.tif 000008
【図７】
2017507419.tif 000009
【図８】
2017507419.tif 000010
【図９】
2017507419.tif 000011
【図１０】
2017507419.tif 000012
【図１１】
2017507419.tif 000013
【図１２】
2017507419.tif 000014
【図１３】
2017507419.tif 000015
【図１４Ａ】
2017507419.tif 000016
【図１４Ｂ】
2017507419.tif 000017
【図１５Ａ】
2017507419.tif 000018
【図１５Ｂ】
2017507419.tif 000019
【図１５Ｃ】
2017507419.tif 000020
【国際調査報告】
2017507419.tif 000021
2017507419.tif 000022
2017507419.tif 000023