(57)【特許請求の範囲】
【請求項１】
コンピューター実行可能命令を有する１または複数のコンピューター読み取り可能ハードウェア記憶媒体であって、前記コンピューター実行可能命令は、計算システムが、前記計算システムのディスプレイ上にユーザー・インターフェースを表示するように構成されたユーザー・インターフェース・プログラムを動作させるように、前記計算システムの１または複数のプロセッサーによって実行可能であり、前記ユーザー・インターフェースは、
前記ユーザー・インターフェース上の拡張可能方向に広がるキャンバスと、
前記キャンバス上に第１ブレードを生成する有効化メカニズムであって、前記第１ブレードは複数のエレメントを含み、前記複数のエレメントのうちの少なくともいくつかの各々は、当該エレメントが選択された場合にそれに対応するブレードが前記キャンバス上に第２ブレードとして現れるような、少なくとも１つの対応するブレードを有し、前記第１ブレードは、前記キャンバスの前記拡張可能方向に垂直な前記キャンバスの少なくとも大部分の点、ならびに前記拡張可能方向に沿った第１境界と第２境界の間および前記第１境界と前記第２境界を含む前記キャンバスの全てを占め、前記第２ブレードは、前記第１ブレードが占める同一の前記キャンバス上の前記拡張可能方向に垂直な少なくともいくつかの点、ならびに前記拡張可能方向に沿った第３境界と第４境界の間および前記第３境界と前記第４境界を含む前記キャンバスの全てを占め、前記第１境界と前記第２境界の間および前記第１境界と前記第２境界を含むエリアは、前記第３境界と前記第４境界の間および前記第３境界と前記第４境界を含むエリアと重ならず、前記第１ブレードと前記第２ブレードは連続している、有効化メカニズムと、
を含み、
前記コンピューター実行可能命令の実行は、前記計算システムに、
前記第１ブレードの第１エレメントが選択された後に、前記第２ブレードが前記キャンバス上に現れるようにするステップであって、前記第２ブレードは、第２エレメントを含む、ステップと、
前記第２エレメントにおける編集を受け取るステップであって、前記第２エレメントに関連する通知が前記ユーザー・インターフェース上に表示可能であり、前記通知は、表示されたときに、前記第２エレメントに関連して他の対話が行われているかどうかを示し、それによって、前記通知は、前記第２エレメントとどのように対話すべきかに関する補助的な情報を含む、ステップと、
前記第１エレメントと前記第２エレメントがエレメントの因果的に関連する連鎖の部分を形成すると判定するステップであって、前記因果的に関連する連鎖に含まれる全てのエレメントは、１または複数の選択アクションに基づいて相互に特定の因果関係を共有する、ステップと、
前記因果的に関連する連鎖に含まれる各エレメントを前記ユーザー・インターフェース上において強調し、それによって少なくとも前記第１エレメントと前記第２エレメントが強調されるステップと、
を行わせる、コンピューター読み取り可能ハードウェア記憶媒体。
【請求項２】
前記第２ブレードは、前記キャンバスの前記拡張可能方向において前記第１ブレードと連続している、請求項１に記載のコンピューター読み取り可能ハードウェア記憶媒体。
【請求項３】
前記第１ブレードは、前記拡張可能方向に垂直な方向においてスクロール可能である、請求項１に記載のコンピューター読み取り可能ハードウェア記憶媒体。
【請求項４】
前記複数のエレメントは、階層的に構造化され、第１選択可能エレメントにおいてペアレント・エレメントを含み、前記ペアレント・エレメントは、少なくとも１つが選択可能である複数のチャイルド・エレメントを含み、前記ペアレント・エレメントが選択された場合、前記ペアレント・エレメントに対応するブレードが前記キャンバス上に現れ、前記選択可能なチャイルド・エレメントが選択された場合、前記チャイルド・エレメントに対応するブレードが前記キャンバス上に現れる、請求項１に記載のコンピューター読み取り可能ハードウェア記憶媒体。
【請求項５】
ユーザー・インターフェースを生成するための方法であって、
前記ユーザー・インターフェースのパンニング可能方向に広がるキャンバスを提供するステップと、
前記パンニング可能方向における前記キャンバスの第１位置にキャンバスの第１ブレードを提示するステップであって、前記第１ブレードは、第１の複数のエレメントを含み、前記キャンバス上の前記パンニング可能方向に垂直な少なくとも大部分の点、ならびに前記パンニング可能方向に沿った第１境界と第２境界の間および前記第１境界と前記第１境界を含む前記キャンバスの全てを占め、前記第１の複数のエレメントのうちの少なくともいくつかの各々は、当該エレメントが選択された場合にそれに対応するブレードが前記キャンバス上に第２ブレードとして現れるような、対応するブレードを有する、ステップと、
前記第１の複数のエレメントのうちの１つの選択を検出するステップと、
前記第１の複数のエレメントにおける前記エレメントの選択の検出に応答して、前記パンニング可能方向における前記キャンバスの第２位置にキャンバスの第２ブレードを提示するステップであって、前記第２ブレードは、前記第１ブレードが占める同一の前記キャンバス上の前記パンニング可能方向に垂直な少なくともいくつかの点、ならびに第３境界と第４境界の間および前記第３境界と前記第４境界を含む前記キャンバスの全てを占め、前記第１境界と前記第２境界の間および前記第１境界と前記第２境界を含むエリアは、前記第３境界と前記第４境界の間および前記第３境界と前記第４境界を含むエリアと重ならない、ステップと、
前記第２ブレードの第２エレメントにおける編集を受け取るステップであって、前記第２エレメントに関連する通知が前記ユーザー・インターフェース上に表示可能であり、前記通知は、表示されたときに、前記第２エレメントに関連して他の対話が行われているかどうかを示し、それによって、前記通知は、前記第２エレメントとどのように対話すべきかに関する補助的な情報を含む、ステップと、
前記第１の複数のエレメントにおける前記選択されたエレメントと前記第２エレメントがエレメントの因果的に関連する連鎖の部分を形成すると判定するステップであって、前記因果的に関連する連鎖に含まれる全てのエレメントは、１または複数の選択アクションに基づいて相互に特定の因果関係を共有する、ステップと、
前記因果的に関連する連鎖に含まれる各エレメントを前記ユーザー・インターフェース上において強調し、それによって少なくとも前記第１の複数のエレメントにおける前記選択されたエレメントと前記第２エレメントが強調されるステップと、
を含む方法。
【請求項６】
前記第２ブレードは、第２の複数のエレメントを含み、前記第２の複数のエレメントのうちの少なくともいくつかの各々は、当該エレメントが選択された場合にそれに対応するブレードが前記キャンバス上に第３ブレードとして現れるような、対応するブレードを有する、請求項５に記載の方法。
【請求項７】
ユーザーの対話に応答して、少なくとも前記第１、第２、および第３ブレードを含むブレードのシーケンス全体を前記ディスプレイ上において見ることを可能にするビューアを提示するステップを更に含む、請求項６に記載の方法。
【請求項８】
ユーザーの対話に応答して、少なくとも前記第１ブレード、前記第２ブレード、および前記第３ブレードを含むブレードのシーケンス全体を保存するステップを更に含む、請求項６に記載の方法。
【請求項９】
前記第１ブレードは、前記第１位置において前記キャンバスの大部分を占め、前記第２ブレードは、前記第２位置において前記キャンバスの大部分を占める、請求項６に記載の方法。
【請求項１０】
前記第１ブレードは、前記第１位置において前記キャンバスの全てを占め、前記第２ブレードは、前記第２位置において前記キャンバスの全てを占める、請求項６に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  種々の情報コンテキストにわたってナビゲートするための現在の枠組みは、ウィンドウに基づく。これの旧来からの例に、ウェブ・ブラウザ体験がある。ユーザーは、ブラウザ空間全体を占めるホーム・ページから開始することができる。次いで、ユーザーはハイパーリンクを選択し、この選択時に新たなウィンドウが現れる。しかしながら、新たなウィンドウに新たなページを開く選択肢を実行する場合には、以前のウィンドウは消えるか、または以前のウィンドウは完全にまたは少なくとも部分的に隠される。
【発明の概要】
【０００２】
[0002]  本明細書において説明する実施形態の少なくとも一部は、一方向に拡張するキャンバスを含むユーザー・インターフェースに関する。キャンバス内に初期ブレード(blade)を生成するために、有効化メカニズム(activation mechanism)を使用することができる。ブレードとは、キャンバスが拡張する次元においてキャンバスの一部を占めるユーザー・インターフェース・エレメントである。例えば、ブレードは、それが割り当てられた部分においてキャンバスの大部分またはその全てさえも占めることもある。ブレードは、多数の選択可能エレメントを含み、その各々が対応するブレードを有する。選択可能エレメントが選択されると、対応するブレードもキャンバス上に提示される。例えば、新たなブレードは、キャンバスの拡張可能方向に第１ブレードに隣接して表示することもできる。第１ブレード内のエレメントは、第１ブレード内の選択可能エレメントが１つ以上の他の選択可能エレメントを実際に含むことができるように、階層的な構造にすることができる。
【０００３】
[0003]  ユーザー・インターフェースは、更に一般的には、拡張メカニズムを含むことができる。拡張メカニズムは、以前のブレードから選択エレメントが選択されたときに、キャンバス上に対応する後続のブレードを提示するように構成され、後続のブレードも、階層的な構造にすることができる多数の選択可能エレメントを含む。このように、ユーザーが最初のブレードを開始して以降に辿った行程(journey)を表すブレードの長いチェーンを作成することができる。
【０００４】
[0004]  この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断するときに補助として使用されることを意図するのでもない。
【図面の簡単な説明】
【０００５】
[0005]  以上で述べたおよびその他の利点ならびに特徴を得ることができる態様を説明するために、種々の実施形態の更に特定的な説明を、添付図面を参照しながら行う。これらの図面は実施形態の見本を図示するに過ぎず、したがって発明の範囲の限定であると解釈しないことを理解の上で、添付図面の使用を通じて、更に具体的にそして詳細に実施形態について説明する(described and explained)。
【図１】図１は、本明細書において説明する実施形態を採用することができる計算システムを抽象的に示す。
【図２Ａ】図２Ａは、パンニング可能なキャンバスの一部をディスプレイの表示可能エリアに表示し、キャンバスの一部がディスプレイの表示可能エリアに表示されない環境を抽象的に示す。
【図２Ｂ】図２Ｂは、ユーザーが行程において初期ブレードを有効化するために有効化コントロールを選択した状態における図２Ａのユーザー・インターフェースを示す。
【図２Ｃ】図２Ｃは、ユーザーが追加のブレードを追加するために初期ブレードの選択可能エレメントを選択した状態における図２Ｂのユーザー・インターフェースを示す。
【図３】図３は、図２Ａから図２Ｃのユーザー・インターフェースの支援アーキテクチャーを示す。
【図４】図４は、パンニング可能なキャンバスを有し、情報を通じたユーザー行程を表すブレードのシーケンスを提示するユーザー・インターフェースを生成する方法のフローチャートを示す。
【図５】図５は、キャンバスの一部が表示されたユーザー・インターフェースを示す。
【図６】図６は、ユーザーの有効化コントロールとの対話処理の結果得られるユーザー・インターフェースを示す。
【図７】図７は、行程のコンテキストから離れる必要なく、グローバルである情報にどのようにアクセスし続けることができるかを示すユーザー・インターフェースを示す。
【図８】図８は、コマンド・ウィンドウが有効化されていることを除いて、図６のユーザー・インターフェースと同様のユーザー・インターフェースを示す。
【図９】図９は、行程において１つのブレードを有し、その１つのブレードのコマンド空間が有効化されているユーザー・インターフェースを示す。
【図１０】図１０は、行程において１つのブレードを有するユーザー・インターフェースを、ユーザーがその１つのブレードから選択可能エレメントを選択することができる状態で示す。
【図１１】図１１は、ユーザーが選択可能エレメントを選択した結果得られ、行程における第２ブレードが、行程におけるブレードのシーケンスに対して、対応して添付されたユーザー・インターフェースを示す。
【図１２】図１２は、図１１の第２ブレードを完全表現モードのみで示す。
【図１３】図１３は、行程を全体的に見て、保存し、ピンニングし、共有し、または閉鎖することができる行程ビューを示す。
【図１４】図１４は、選択可能項目または部分を提示し、次いで基本的な情報リソースにコマンドを発行することに関連するフローを示す。
【図１５】図１５は、異なるサイズおよび形状で提示され、サイズおよび形状に応じて異なる形態で異なる情報を露出するパート(part)を示す。
【図１６】図１６は、お気に入りエリアにおける有効化コントロールのいずれとも関連付けられない場合に現れることができる通知を示す。
【図１７】図１７は、通知の選択に応答した、一時的エリアおよび初期ブレードの有効化を示す。
【図１８】図１８は、ユーザーがウェブサイトを作成することを選択する初期状態を示す。
【図１９】図１９は、ユーザーがウェブサイトについての情報を入力し、要求された本来のリソース上に追加するための選択肢が与えられる作成ペインを示す。
【図２０】図２０は、ユーザーがウェブサイトに関連付けようとするデーターベースを選択し、システムが自動的にウェブサイトとデーターベースとの間における接続ストリングの追加アドオン(add on)を選択する作成ペインを示す。
【図２１】図２１は、ユーザーがデーターベースについての情報を入力する作成ペインを示す。
【図２２】図２２は、ユーザーがウェブサイトとデーターベースとの間の接続ストリングについての情報を入力する作成ペインを示す。
【発明を実施するための形態】
【０００６】
[0030]  本明細書において説明する実施形態の少なくとも一部は、パンニング可能な方向に沿って一方向に拡張するキャンバスを含むユーザー・インターフェースに関する。キャンバスにおいて初期ブレードを生成するために、有効化メカニズムを使用することができる。ブレードとは、キャンバスがパンニング可能な次元においてキャンバスの一部を占めるユーザー・インターフェース・エレメントである。例えば、ブレードは、それが割り当てられた部分においてキャンバスの大部分または全てでさえも占めることもある。ブレードは、多数の選択可能エレメントを含み、その各々が対応するブレードを有する。選択可能エレメントが選択されると、対応するブレードもキャンバス上に提示される。例えば、新たなブレードは、キャンバスの拡張可能方向に第１ブレードに隣接して表示することもできる。第１ブレード内のエレメントは、第１ブレード内の選択可能エレメントが１つ以上の他の選択可能エレメントを実際に含むことができるように、階層的な構造にすることができる。
【０００７】
[0031]  ユーザー・インターフェースは、更に一般的には、以前のブレードから選択エレメント(selected element)が選択されたときにキャンバス上に対応する後続のブレードを提示するように構成された拡張メカニズムを含むことができ、後続のブレードも、階層的な構造にすることができる多数の選択可能エレメントを含む。このように、ユーザーが最初のブレードを開始して以降に辿った行程(journey)を表すブレードの長いチェーンを作成することができる。
【０００８】
[0032]  計算システムの序説的論述を図１に関して記載する。次いで、ユーザー・インターフェース、方法、および支援アーキテクチャーの例について、以降の図に関して説明する。
【０００９】
[0033]  現在、計算システムは増々多種多様な形態を取りつつある。例えば、計算システムは、ハンドヘルド・デバイス、アプライアンス、ラップトップ・コンピューター、デスクトップ・コンピューター、メインフレーム、分散型計算システム、または従来では計算システムとは見なされなかったデバイスであってもよい。この説明および請求項において、「計算システム」という用語は、少なくとも１つの物理的および有形プロセッサー、およびプロセッサーによって実行することができるコンピューター実行可能命令を有することができる物理的および有形メモリーを含む任意のデバイスまたはシステム（またはその組み合わせ）を含むと、広く定義するものとする。メモリーは、任意の形態を取ることができ、計算システムの性質および形態に応じて異なってもよい。計算システムは、ネットワーク環境を通じて分散されてもよく、更に多数の構成要素である計算システムを含んでもよい。
【００１０】
[0034]  図１に示すように、その最も基本的な構成では、計算システム１００は、通例、少なくとも１つの処理ユニット１０２およびメモリー１０４を含む。メモリー１０４は、物理システム・メモリーであってもよく、揮発性、不揮発性、またはこれら２つの何らかの組み合わせでもよい。また、「メモリー」という用語は、本明細書では、物理記憶媒体のような、不揮発性大容量ストレージを指すためにも使用されることもある。計算システムが分散型である場合、処理、メモリー、および／または記憶能力も分散されてもよい。本明細書において使用する場合、「実行可能モジュール」または「実行可能コンポーネント」という用語は、計算システム上において実行することができるソフトウェア・オブジェクト、ルーチン、または方法を指すことができる。本明細書において説明する異なるコンポーネント、モジュール、エンジン、およびサービスは、計算システム上において実行する（例えば、別個のスレッドとして）オブジェクトまたはプロセスとして実装されてもよい。
【００１１】
[0035]  以下に続く説明では、１つ以上の計算システムによって実行されるアクトを参照しながら実施形態について説明する。このようなアクトがソフトウェアで実現される場合、そのアクトを実行する関連計算システムの１つ以上のプロセッサーが、コンピューター実行可能命令を実行したことに応答して計算システムの動作を指図する。例えば、このようなコンピューター実行可能命令は、コンピューター・プログラム製品を形成する１つ以上のコンピューター読み取り可能媒体上に具体化することができる。このような動作の例は、データーの操作を伴う。コンピューター実行可能命令（および操作されるデーター）は、計算システム１００のメモリー１０４に格納することができる。また、計算システム１００は、通信チャネル１０８を含むこともでき、通信チャネル１０８は、例えば、ネットワーク１１０を介して、計算システムが他のメッセージ・プロセッサーと通信することを可能にする。
【００１２】
[0036]  また、計算システム１００はディスプレイ１１２も含み、ディスプレイ１１２上に、本明細書において説明するユーザー・インターフェースのようなユーザー・インターフェースをレンダリングすることができる。このようなユーザー・インターフェースは、レンダリングの前に、コンピューター・ハードウェアまたは他のコンピューター表現形態で生成することができる。このようなユーザー・インターフェースの提示および／またはレンダリングは、計算システム１００によって、処理ユニット（１つまたは複数）１０２に、１つ以上のコンピューター読み取り可能媒体上に具体化された１つ以上のコンピューター実行可能命令を実行させることによって、実行することができる。このようなコンピューター読み取り可能媒体は、コンピューター・プログラム製品の全部または一部を形成することもできる。
【００１３】
[0037]  本明細書において説明する実施形態は、以下で更に詳しく論ずるように、例えば、１つ以上のプロセッサーおよびシステム・メモリーのようなコンピューター・ハードウェアを含む、特殊目的または汎用コンピューターを含むことができ、または利用することができる。また、本明細書において説明する実施形態は、コンピューター実行可能命令および／またはデーター構造を搬送または格納するために、物理および他のコンピューター読み取り可能媒体も含む。このようなコンピューター読み取り可能媒体は、汎用または特殊目的コンピューター・システムによってアクセスすることができる任意の入手可能な媒体とすることができる。コンピューター実行可能命令を格納するコンピューター読み取り可能媒体は、物理記憶媒体である。コンピューター実行可能命令を搬送するコンピューター読み取り可能媒体は、送信媒体である。つまり、一例としてそして限定ではなく、本発明の実施形態は、少なくとも２つの全く異なる種類のコンピューター読み取り可能媒体、即ち、コンピューター記憶媒体および送信媒体を含むことができる。
【００１４】
[0038]  コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク・ストレージ、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは所望のプログラム・コード手段をコンピューター実行可能命令の形態で、またはデーター構造を格納するために使用することができ、更に汎用または特殊目的コンピューターによってアクセスすることができる任意の他の有形媒体を含む。
【００１５】
[0039]  「ネットワーク」とは、コンピューター・システムおよび／またはモジュールおよび／または他の電子デバイス間における電子データーの移送を可能にする１つ以上のデーター・リンクであると定義することとする。情報がネットワークまたは他の通信接続（ハードワイヤ接続、ワイヤレス、あるいはハードワイヤ接続またはワイヤレスの組み合わせ）を介してコンピューターに転送または供給されるとき、このコンピューターがこの接続を送信媒体と見なすことは適正である。送信媒体は、所望のプログラム・コード手段をコンピューター実行可能命令の形態で搬送するために、またはデーター構造を搬送するために使用することができ、汎用または特殊目的コンピューターによってアクセスすることができるネットワークおよび／またはデーター・リンクを含むことができる。以上のものの組み合わせも、コンピューター読み取り可能媒体の範囲に含まれてしかるべきである。
【００１６】
[0040]  更に、種々のコンピューター・システム・コンポーネントに到達したとき、コンピューター実行可能命令の形態であるプログラム・コード手段またはデーター構造を自動的に送信媒体からコンピューター記憶媒体に（またはその逆に）転送することができる。例えば、ネットワークまたはデーター・リンクを介して受信されたコンピューター実行可能命令またはデーター構造は、ネットワーク・インターフェース・モジュール（例えば、「ＮＩＣ」）内にあるＲＡＭにバッファすることができ、次いで最終的にコンピューター・システムＲＡＭおよび／またはコンピューター・システムにおいて揮発性が低いコンピューター記憶媒体に転送することができる。このように、送信媒体を利用する（または、主に利用する場合であっても）コンピューター・システム・コンポーネントにコンピューター記憶媒体を含めることができることは理解されてしかるべきである。
【００１７】
[0041]  コンピューター実行可能命令は、例えば、命令およびデーターを含み、プロセッサーにおいて実行されると、汎用コンピューター、特殊目的コンピューター、または特殊目的処理デバイスにある種の機能または一群の機能を実行させる。コンピューター実行可能命令は、例えば、バイナリー、アセンブリー言語のような中間フォーマット命令、またはソース・コードであってもよい。以上、主題について構造的特徴および／または方法論的アクトに特定的な文言で説明したが、添付する請求項において定められる主題は必ずしも説明する特徴や以上で説明したアクトには限定されないことは理解されよう。むしろ、説明する特徴およびアクトは、請求項を実現する形態例として開示されるまでである。
【００１８】
[0042]  尚、本発明は、多くのタイプのコンピューター・システム構成を有するネットワーク計算環境において実施できることは当業者には認められよう。コンピューター・システム構成には、パーソナル・コンピューター、デスクトップ・コンピューター、ラップトップ・コンピューター、メッセージ・プロセッサー、ハンドヘルド・デバイス、マルチプロセッサー・システム、マイクロプロセッサー・ベースのまたはプログラマブル消費者用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレーム・コンピューター、移動電話機、ＰＤＡ、ページャー、ルーター、スイッチ等が含まれる。また、本発明は、分散型システム環境において実施することもできる。分散型システム環境では、ネットワークを介して（ハードワイヤ接続されたデーター・リンク、ワイヤレス・データー・リンクによって、またはハードワイヤ接続およびワイヤレス・データー・リンクの組み合わせによって）リンクされるローカルおよびリモート・コンピューター・システムの双方がタスクを実行する。分散型システム環境では、プログラム・モジュールをローカルおよびリモート双方のメモリー記憶デバイスに配置することができる。
【００１９】
[0043]  図２Ａは、環境２００Ａを抽象的に示す。環境２００Ａにおいて、キャンバス２０２の部分２０１Ａがディスプレイの表示可能エリア２１０上に表示され、キャンバスの部分２０１Ｂはディスプレイの表示可能エリア２１０に表示されない。一例として、ディスプレイは、例えば、図１の計算システム１００のディスプレイ１１２であってもよい。キャンバス２０２は、拡張可能な方向２２１に１つの次元２２２に沿って拡張する。例えば、図２Ａから図２Ｃにおいて、拡張可能方向２２１は右向きであり、１つの次元２２２は水平である。
【００２０】
[0044]  ユーザー・インターフェースは、１つの次元２２２に沿ってキャンバス２０２をパンニングして、ユーザーがキャンバス２０２の少なくともデーター事前設定部分(populated portion)の内所望の部分のビューを得るために操作することができる、パンニング・コントロール(panning control)２３１を含んでもよい。図３は、ユーザー・インターフェース３０１のための支援アーキテクチャー３００を示す。例えば、ユーザー・インターフェース３０１は、図２Ａから図２Ｃのユーザー・インターフェースの一例である。支援アーキテクチャー３００は、ユーザー指令に応答してキャンバス２０２をパンニングするように動作するパンニング・メカニズム３１１を含むことが示されている。
【００２１】
[0045]  ある実施形態では、１つの次元２２２が、ユーザーの嗜好にしたがって垂直方向または水平方向になるように構成設定可能にしてもよい。また、拡張可能方向２２１も構成設定可能にしてもよい。例えば、次元２２２が垂直方向である場合、ユーザーは、ユーザーの好みにしたがって、キャンバスを下方向または上方向に拡張するように構成することができる。次元２２２が水平方向である場合、ユーザーは、ユーザーの好みにしたがって、キャンバスを左方向または右方向に拡張するように構成することができる。パンニング・コントロール２３１は、キャンバスの事前設定部分を一度に全て表示できない程度にキャンバスの事前設定部分が拡張するまで、有効化しなくてもよい。支援アーキテクチャー３００は、このようなユーザー好みの構成に応答するように構成される構成設定メカニズム３１２を示す。
【００２２】
[0046]  本明細書において使用する場合、キャンバスの「事前設定」部分(populated portion)とは、キャンバスとのユーザー対話処理によって組み立てられた１つ以上のブレードのシーケンスを含むキャンバスの部分を意味する。本明細書において説明する原理によれば、ユーザーがキャンバスとインターフェースするにつれて、１つ以上のそして潜在的に多くのブレードをキャンバスに追加することができる。これらのブレードの一部または全部は、連続的に追加されてもよい。したがって、キャンバスの「拡張可能方向」とは、直前のブレードからの選択可能エレメントと対話処理するときに、直前の１つ以上の連続ブレードのシーケンスに新たなブレードが追加される方向を指す。
【００２３】
[0047]  この説明および請求項において、「ブレード」とはキャンバス内部においてある位置を占めるユーザー・インターフェース・エレメントである。この意味において、「位置」とはキャンバスの１つの次元内における範囲である。例えば、パンニング可能な次元２２２が水平次元である場合、以下に続く更に具体的な例におけるように、ブレードは左位置から右位置までキャンバス２０２を占める。ブレードがキャンバス内の「位置を占める」とは、ブレードの２つの境界間において、少なくとも２つの境界自体を含む、２つの境界間にある大部分の点の各々に対して、ブレードがこれら２つの境界内におけるキャンバスの少なくとも大部分を占めることを意味する。ある実施形態では、そして以下に続く更に具体的な例では次元は水平次元であるので、以下に続く具体的な例では、ブレードは左および右境界である２つの境界間にあるキャンバスの全てを占める。
【００２４】
[0048]  また、ユーザー・インターフェース２１０は、キャンバス２２０上に初期ブレードを提示するためにユーザーによって有効化することができる有効化コントロール(activation control)２３２も含む。各ブレードは、１つまたは多数の選択可能エレメントを含むことができる。各選択可能エレメントは、対応するブレードを有し、ユーザーが対応する選択可能エレメントを選択した場合、対応するブレードが、キャンバス上の次のブレードとして、キャンバス上に現れるようになっている。例えば、図２Ｂでは、環境２００Ｂは環境２００Ａのそれと同様であるが、有効化コントロール２３２の選択が初期ブレード２４１をキャンバス２０２内に現れさせることを除く。初期ブレードは、多数の選択可能コントロール２５１Ａ、２５１Ｂ、および２５１Ｃを含む。図３は、支援アーキテクチャーが有効化メカニズム３１３を含むことを示す。有効化メカニズム３１３は、ユーザーが有効化コントロール２３２とインターフェースしたことに応答して、初期ブレード２４１を有効化するように応答する。更に、ブレード相関器３１４は、選択可能エレメントとブレードとの間で相関を維持する。したがって、アーキテクチャー３００は、どのブレードが選択可能コントロール２５１Ａ、２５１Ｂ、および２５１Ｃの各々に対応するかについての知識を有する。
【００２５】
[0049]  また、ユーザー・インターフェース２１０は、拡張メカニズム(extension mechanism)３１５も含む。拡張メカニズム３１５は、選択可能エレメント２５１Ａ、２５１Ｂ、および２５１Ｃの内の１つの選択に応答して、１つ以上の追加のブレードを初期ブレード２４１から生成させる(spawn)。例えば、ユーザーが選択可能エレメント２５１Ａを選択したと仮定すると、拡張メカニズム３１５は、次いで、相関器３１４によって識別される対応ブレードを参照し、この対応ブレードをキャンバス２０２上に現れさせる。例えば、図２Ｃでは、環境２００Ｃが第１ブレード２４１の隣りに新たなブレード２４２を現れさせることを示す。同様に、新たなブレード２４２は選択可能コントロール２５２Ａおよび２５２Ｂを有する。したがって、このプロセスは、ユーザーが繰り返し以前のブレードからの選択可能コントロールとインターフェースすることによって繰り返され、これによって新たなブレードをブレードのシーケンスに追加させることができる。この意味において、ブレードのシーケンスは、ユーザーが最初のブレードから開始して辿った行程として考えることができる。
【００２６】
[0050]  ある実施形態では、シーケンスにおける各ブレードが情報コンテキストに関連付けられる。つまり、ユーザーは、彼らのビューにおいて、ユーザーがナビゲートしてきた情報コンテキストのシーケンスを表すブレードのシーケンスを有することができる。このように、キャンバスは、ユーザーが情報行程の一部として検討した(review)種々の情報コンテキストの視覚的表現を含むエリアを表す。
【００２７】
[0051]  ある実施形態では、特定のブレード内にある選択可能エレメントは、階層的な構造に形成される。例えば、１つの選択可能エレメントが、１つ以上のチャイルド(child)選択可能エレメントを有することがあってもよい。加えて、これらチャイルド選択可能エレメントも、更にチャイルド選択可能エレメントを有することがあってもよい等となる。各選択可能エレメントは、対応するブレード表現を有する。したがって、所与の以前のブレードにおいて選択する選択可能エレメントを生成、選択するとき、ユーザーはどの種類のブレードを次に示すかについて、粒度の細かい制御を行うことができる。この選択可能エレメントの階層的構造の例について、以降の具体的な例において説明する。
【００２８】
[0052]  図４は、ユーザー・インターフェースを生成する方法４００のフローチャートを示す。方法４００は図２Aから図２Cの環境において図３のアーキテクチャー３００によって実行することができるので、ここでは、図２Aから図２C、図３、そして勿論図４を頻繁に参照しながら方法４００について説明する。
【００２９】
[0053]  方法４００は、ユーザー・インターフェースにおいてパンニング可能な方向に拡張するキャンバスを設けるアクト（アクト４０１）を含む。例えば、図２Aから図２Cにおいて、パンニング可能な次元２２２を有し、拡張可能方向２２１に拡張するキャンバス２０２が設けられる。有効化コントロール２３２とのユーザーの対話処理によって初期ブレードが有効化されない場合（判断ブロック４０２において「No」）、キャンバス２０２は、図２Aの状態のままであり、キャンバスにはブレードが事前設定されない(populate)。
【００３０】
[0054]  しかしながら、有効化コントロール２３２の有効化を検出すると（判断ブロック４０２において「Ｙｅｓ」）、この有効化に対応する初期ブレードがキャンバス上に提示される（アクト４０３）。例えば、図２Ｂでは、有効化コントロール２３２の有効化に応答して、初期ブレード２４１が提示される。初期ブレードの選択可能コントロールがいずれも選択されない場合（判断ブロック４０４において「Ｎｏ」）、ブレードのシーケンスはそれ以上拡張することはできない。他方で、ユーザーが以前のブレードの選択可能コントロールの内１つと対話処理した場合（判断ブロック４０４において「Ｙｅｓ」）、対応するブレードが発見され（アクト４０５）、そして提示される（アクト４０６）。例えば、図２Ｃでは、追加のブレード２４２が提示される。新たに追加されるブレードも各々が選択可能エレメントを有するので、このプロセスが繰り返され、大きなブレードのシーケンスを組み立てることができ、各ブレードは異なる情報コンテキストを表す。これより、ユーザー・インターフェースの更に具体的な例について、図５および多数の以降の図を参照しながら説明する。
【００３１】
[0055]  図５は、キャンバス５０１の一部が表示されたユーザー・インターフェース５００を示す。ユーザー・インターフェース５００は、図４のアクト４０１を完了した後にユーザー・インターフェースがどのように見えるかという例である。この例では、パンニング次元は水平次元になっている。言い換えると、キャンバスは、このキャンバスの少なくとも事前設定部分内において左および右にパンニングすることができる。また、この例では、拡張可能方向は右向きである。言い換えると、新たなブレードが追加されて行程において１つ以上の既存のブレードのシーケンスに添付されようとするとき、その少なくとも大部分（そして、この例では全て）はシーケンスの右端に追加および添付されることになる。
【００３２】
[0056]  キャンバスは、有効化コントロールの集合体５１１を含む。この集合体は、以後、「お気に入り」(favorites)と呼ばれることもある。図示する事例では、８つの有効化コントロールがある。集合体５１１における有効化コントロールの各々には、情報コンテキストが関連付けられる。情報コンテキストとは、例えば、ウェブサイト、プロジェクト、パテント・ツール(patent tool)、または主題に関する情報が提供され得る任意の他のコンテキストであってもよい。
【００３３】
[0057]  ユーザーは、有効化コントロールから１つを選択することによって行程を開始する。例えば、ユーザーは、カーソル５１３を使用して、またはタッチ・スクリーンの場合には有効化コントロール５１２に接触することによって、有効化コントロール５１２を選択することができる。この結果、図４の判断ブロック４０２が「Ｙｅｓ」分岐路に進むことになる。
【００３４】
[0058]  図６は、ユーザーの有効化コントロール５１２との対話処理の結果得られたユーザー・インターフェース６００を示す。尚、ブレード６０１が提示されていることを注記しておく（アクト４０３の一例として）。ブレード６０１は、ユーザーが丁度着手した(embark)ばかりのブレードのシーケンス（即ち、行程）の開始を表す。ブレード６０１には、ブレード６０１を生成する(spawn)ために使用される有効化コントロール５１２に関連付けられた情報コンテキストと関連付けられている。言い換えると、ブレード６０１は、情報コンテキストにおけるデーター内部へのビュー(view)を与える。有効化コントロール５１２は、ブレード６０１が有効化コントロール５１２の有効化によって生成されたのであり、他の有効化コントロール５１１のいずれによってでもないというコンテキスト参照をユーザーに与えるために、視覚的に強調することもできる。
【００３５】
[0059]  一実施形態では、ブレード６０１（または、ついでに言えば、行程における任意の他のブレード）は、パンニング次元に垂直な方向にスクロール可能である。例えば、図６では、ブレード６０１がキャンバスよりも縦長である場合、ブレード６０１を上にまたは下にスクロールして、ブレード６０１の垂直方向の範囲を明示することができる。
【００３６】
[0060]  ブレード６０１は、選択可能エレメントの階層を含み、各選択可能エレメントは対応するブレード表現（図６には示されていない）を有し、選択可能エレメントが選択された場合に表示される。階層の最上部には、この例では「レンズ」と呼ばれるものがある。例えば、情報コンテキストがウェブサイトである場合、レンズは、ウェブサイトのタブを選択したときに通常表示できる情報を、高いレベルで提示することができる。例えば、ブレード６０１が２つのレンズ６１１および６１２を含むことが示されている。
【００３７】
[0061]  階層の次のレベルにおいて、各レンズ６１１は１つ以上のパート(part)を含む。例えば、レンズ６１１はパート６２１〜６２４を含み、レンズ６１２はパート６２５〜６２７を含む。各パートは、データーの１つの側面についての１つのビューを表し、基本的なデーターの集合体、およびそのデーターがどのようにユーザー・インターフェース上で露出されるべきかを定義するビュー定義によって定義することができる。
【００３８】
[0062]  選択可能エレメントの階層の最低レベルには、項目がある。各パートは、１つ以上の選択可能項目を有することができる。図６において不必要に過剰な付番(over-labeling)を避けるために、１つの選択可能項目だけに番号を付ける。例えば、選択可能パート６２１は、選択可能項目６３１を有することが示されている。
【００３９】
[0063]  ユーザーがレンズ６１１および６１２の内任意のもの、選択可能パート６２１から６２７の内任意のもの、またはパートの内任意のものの中で選択可能項目の内任意のものを選択することによって、行程内において新たなブレードを表出する(launch)ことができる。つまり、ユーザーは、行程において情報およびキャンバスを通じて進展するために多数の選択肢を有する。
【００４０】
[0064]  例えば、ブレード６０１の情報コンテキストが、特定の特許出願に関連するパテント・ツール(patent tool)であると仮定する。この場合、ブレードの選択可能レンズ、パート、および項目は、ユーザーが初期開示文書、法的注記、出願の状況(status)、実際の特許出願文書、この特許出願が審査されている(pursued)国または地域等に関して、ブレード６０１において概要情報を見ることができるとよい。ユーザーが、これらの面の内任意のものについて何らかの詳細な説明を見ることを望む場合、ユーザーはエレメントを選択し、更なる詳細および選択可能項目を示す新たなブレードを生成することができる。
【００４１】
[0065]  図７は、ユーザー・インターフェース７００を示す。ユーザー・インターフェース７００は、行程のコンテキストから離れる必要なく、どのようにグローバルである情報になおもアクセスできるかを示す。具体的には、ユーザーがコントロール７０１を選択した場合、ナビゲーション・ペイン７０２が現れる。つまり、ユーザーは、例えば、文書処理体験（行程のコンテキスト）内に留まりながら、他のチーム・メンバーが何をしているのか（グローバル・タスク）を見ることができる。望まれれば、ユーザーは、新たな行程を開始するためにナビゲーション・ペイン７０２内の項目を選択することもでき、こうして行程間において素早い切り替えが可能になる。
【００４２】
[0066]  ユーザー・インターフェースにおける全てのアーチファクトにわたって、構造的な方法で命令(commanding)を実行することができる。例えば、コマンド・ウィンドウが有効化されると、コマンドに対して見込み目標(prospective target)は何であるか判定するために、コンテキストが使用される。例えば、カーソルが特定のレンズの上にある場合、コマンド・ウィンドウが現われ、レンズによって表されるリソースまたは項目のタイプが与えられると、そのレンズ上の動作に向けて個別に生成されるコマンドを示すことができる。本明細書において説明する実施形態によれば、コマンド・ウィンドウ・シェルは、コマンド・ウィンドウにおいてコマンドに対して見込み目標が何であるかには関係なく、同一に現れることができるが、コマンド自体は、見込み目標を仮定して、適宜異なることができる。例えば、見込み目標が背景キャンバス、特定のブレード・レンズ、または特定のレンズであるか否かには関係なく、コマンド・ウィンドウは同じであることができる。
【００４３】
[0067]  図８は、ユーザー・インターフェース８００を示す。これは、コマンド・ウィンドウ８０１が有効化されていることを除いて、図６と同様である。コマンド・ウィンドウ８０１は、主コマンド・セクション８１１、副コマンド・セクション８１２、およびエコシステム・ピーク・セクション(ecosystem peek section)８１３を有する。例えば、主コマンド・セクション８１１は、見込み目標のタイプを仮定して、最も頻繁に使用されるコマンドを含むことができる。副コマンド・セクション８１２は、他の主要でないコマンドを含むことができる。
【００４４】
[0068]  エコシステム・ピーク・セクションは、コマンドではないが、見込み目標に関係する他の情報（例えば、通知またはメッセージ）である情報項目を含むことができる。例えば、エコシステム・ピーク・セクションは、見込み目標を他の者も編集している場合、見込み目標が最後に更新されたのはいつかについての識別を含むことができる。更に、エコシステム・ピーク・セクションは、見込み目標をどのように使用すべきか、そして見込み目標について更なる情報をどこで入手すべきかについて素早い知見を与えるヘルプ情報を含むこともできる。
【００４５】
[0069]  エンド・ユーザーはコマンド空間またはコマンド・ウィンドウにおけるコマンドとインターフェースし、コマンド実施を宣言モデル(declarative model)として見ることができる。次いで、ユーザーは、この宣言モデルを実施するために使用した同じ手段を使用して、この宣言モジュールを拡張することができる。このように、ユーザーは彼ら自身のコマンドを作成すること、または他のコマンドを拡張することができる。
【００４６】
[0070]  図９は、ユーザーが図６におけるブレード６０１のコントロール６３２を選択した場合に現れることができるユーザー・インターフェース９００を示す。このコントロールは、各ブレードに存在することができ、そのブレード内にありそのブレードに対応するコマンド空間を有効化するために使用することができ、コマンドは、ブレードによって表されるリソースまたは項目のタイプに向けて個別に生成される。例えば、図９では、ブレード６０１のコントロール６３２を選択すると、コマンド空間９０１が現れ、ブレード６０１によって表されるリソースまたは項目に対して、ユーザーがコマンドを実行することが可能になる。
【００４７】
[0071]  図１０は、ユーザー・インターフェース１０００を示す。これは、ユーザーがブレード６０１のパート６２２を選択しようとしていることを示すことを除いて、図７のユーザー・インターフェース７００と同じである。パート６２２の選択は、判断ブロック４０４において「Ｙｅｓ」分岐路に沿って進む方法４００の実例である。応答して、パート６２２の対応するブレードが発見され（アクト４０５）、提示される（アクト４０６）。例えば、図１１のユーザー・インターフェース１１００が現れるのでもよい。ここでは、パンニング可能なキャンバス全体が左側にずらされて、以前のブレード６０１の左側と整列し、新たなブレード１１０１を現れさせる。新たなブレード１１０１も多数の選択可能エレメントを有し、これによって、望むのであれば、ユーザーにはブレードのシーケンスを更に拡張する好機が許される。
【００４８】
[0072]  新たなブレードが表出させられるとき、この新たなブレードは、デフォルトで、その時点まで行程を構成していた１つ以上のブレードのシーケンスにおける最後のブレードに隣接して、キャンバス上に位置付けられてもよい。しかしながら、デフォルトの位置はブレード毎に異なってもよい。例えば、ブレードが表示の右または左部分にピンニングされてもよく（キャンバスが水平方向にパンニングする場合）、キャンバスのパンニングはピンニングされたブレードの位置に影響を及ぼさない。また、ブレードを浮遊させることもでき、この場合、下地のキャンバスがパンニングしても、ブレードは表示のある部分に静止する。キャンバスがパンニング可能であるのに対してブレードをピンニングまたは浮遊させることによって、行程全体を通じてブレードを他のブレードと比較することが可能になる。
【００４９】
[0073]  ブレードのデフォルト位置は、あるユーザー対話処理のために変更されてもよい。例えば、ユーザーがある種のブレードと対話処理し、このある種のブレードが、行程内においてそのブレードよりも前にブレードのシーケンスに元々添付されたのである場合、ユーザーの対話処理に応じて、このある種のブレードを後に表示の左または右にピンニングするか、または浮遊させることができる。後に、このある種のブレードは、ブレードのシーケンスにおいてデフォルトの位置に戻ることもできる。
【００５０】
[0074]  更に、以前のブレードからパートが選択された場合、恐らくは１つよりも多いブレードが表出させられ、その時点までの(to that point)ブレードのシーケンスに添付される。例えば、ユーザーが監視パートを選択した場合、彼らは監視イベント、今週起こった全てのイベント、および今月起こった全てのイベントの全体像を見ることを望むのかもしれない。これらの３組は、代わりに、互いに兄弟(sibling)である別のブレードに表示することもできる。このような兄弟ブレードは、ブレードのシーケンスにおいて並び替えることができる。あるパートの選択によって、自動的に多数のブレードが生ずる場合もあるが、あるパートは、ユーザーがそのパートを選択する度に、多数のブレードを一度に１つしか許可しないのでもよい。
【００５１】
[0075]  情報を通じてユーザーの行程を表すブレードのシーケンスを使用することにより、ある種のアクションの原因および結果の可視化が可能になる。例えば、ユーザーがある種のパートのコンテキストにおいて編集するとき、編集を反映するために、そのある種のパートを視覚的に強調することができる。例えば、ブレード１１０１内にあるパートが編集されると仮定すると、その部分を強調することができる。しかしながら、原因および結果におけるその部分に至るチェーン全体も強調される。例えば、パート６２２を選択すると、最初の場所にブレード１１０１が表出させられるが、編集を示すために、パート６２２も同様に視覚的に強調することができる。更に、ブレード６０１を表出するために選択された有効化コントロール５１２も、行われた編集があることを反映するために強調することができる。ユーザーが変更を保存する場合、その編集の原因および効果のチェーンを示す強調を除去してもよい。他方で、ユーザーが保存せずにその行程から出ることを望む場合、有効化コントロール５１２は強調されたまま残り、ユーザーに、編集する必要がある何かがそのチェーンにあることを思い出させる。編集を完了させるおよび／または保存することができるように、ブレード１１０１内の編集されたパートに素早く戻るように、ユーザーがある種の方法でその有効化コントロール５１２を選択することができるコマンドがあってもよい。
【００５２】
[0076]  パートおよびブレード間において可視化された原因および効果は、他のアクションにも同様に利用することができる。例えば、確認(confirmations)について検討する。従来の確認モデル（例えば、「このファイルを削除したいか？」）は形式的(modal)である。これが意味するのは、質問に答えるために必要な情報の全てをいつ有することができるかまたはできないかの判断に、モデルがユーザーを強制的に向かわせるということである。一例として、ユーザーは、誰かがファイルを使用しているか否か知らないかもしれない。ユーザーは、どのようにそれに回答するか知らなければ、その処理を取り消す選択肢を有するはずである。しかしながら、これは、第一に、確認を行わせるアクションにユーザーが戻ることを思い出す可能性を低下させる。また、モデルは、一度に１つずつ(in a one and a time fashion)ユーザーに動作することを強制する。例えば、ユーザーは、 動作実行停止のために特定のものを選択しつつ、１組のウェブサイトにわたって作業し、次いで一度に１つの場所から動作の全てを実行することはできない。最後に、異なるタイプのコンテキスト（例えば、ウェブサイトおよびデーターベース）で作業することは、ユーザーにとって更に一層難しい。とは言え、これは非常に一般的なシナリオである。
【００５３】
[0077]  本明細書において説明する実施形態によれば、確認は形式的ではない。代わりに、特定のパートのそのコンテキストにおいて確認が行われると、有効化コントロールから、確認が発生したパートまで、パートおよびブレードの全てにわたる全体において、確認があることを反映するために、因果連鎖が強調される。ここで、ユーザーはこの行程から出て、どのように確認に対して注意を払う(respect)べきか判定するために評価することが望まれるあらゆる情報を評価することができる。次いで、ユーザーは、確認を発生した(generate)パートに素早く戻るために、確認のソース（例えば、有効化コントロール）とインターフェースすることができる。次いで、ユーザーは、より多くの知識および安全性をもって、確認に答えることができる。
【００５４】
[0078]  また、これらの強調されたパスは、誤りを露出するために使用することもできる。例えば、あるパートのコンテキストにおいて誤りが発生した場合、ユーザーは、他のリソースを使用して、元に戻ってこの誤りを評価することができる。一旦誤りが処理されていることにユーザーが満足したなら、ユーザーはエラー・メッセージを閉じることができる。あるいは、誰かが誤りの原因となった問題を処理するまで、エラー・メッセージを残すこともできる。
【００５５】
[0079]  強調されたパスは、パートに関連する体験または性能を強化するために使用することができる利用可能なサービスまたはリソースをユーザーに伝える、潜在的利用可能性メッセージのために提供することもできる。
【００５６】
[0080]  説明におけるこの時点までは、新しいブレードは各々デフォルトでは表示可能エリア全体よりも少ないことになっていた。例えば、ブレード６０１は、キャンバスの垂直範囲全体を占めるが、キャンバスの可視部分の水平範囲は１／３だけを占めることが示されている。このようなことは、ブレードの「ブラウズ・モード」と見なすことができ、したがって、パンニング・アクションによって、もっと多くのブレードを一層容易に見ることを可能にし、ユーザーが行程の一部としてナビゲートした情報コンテキストを、ユーザーが素早くブラウズすることを可能にする。ブレード１１０１も同様に、ブラウズ・モードで開かれている。
【００５７】
[0081]  対応するブレードに何らかの他の表示モードを持たせることができる何らかの対話処理もあってもよい。例えば、図１１に示すように、ブレード６０１のパート６２１と対話処理すると、図１２のユーザー・インターフェース１２００が現れることができる。ここで、ユーザー・インターフェース１２００は、ブレード全体の表現６０１’を含み、この表現全体が、表示されるキャンバスの多くを占める。完全モード(full mode)は、ブラウズ・モードとは異なる数のレンズおよびパートまたはその組み合わせを含むことができる。更に、共通であるパートはいずれも、実際には、異なるサイズであってもよく、したがって、以下で更に説明するように、情報について異なる詳細の粒度で表示してもよい。
【００５８】
[0082]  ある実施形態では、ブレードのブラウズ・モード表現と対話処理することによって、ブレードの完全表現(full representation)に到達した場合、このブレードの完全表現を単にブレードのシーケンスに追加することができ、以前のブレードはブラウズ・モード表現となる。しかしながら、キャンバスは、ブレードの完全表現全体を表示するために、自動的にパンニングする。しかしながら、ユーザーは、ブレードの完全表現の表示ではあるが、キャンパスをパンニングする能力を保持する。完全表現との更なる対話処理によって、ブラウズ・モード・ビューに戻ることができ、恐らくはブレードの完全表現をキャンバス上のブレードのシーケンスから除去する。
【００５９】
[0083]  ある実施形態では、ある選択可能エレメントについて、これらが選択されたとき、パートは、デフォルトで、ブラウズ表現ではなく完全表現になるのでもよい。選択可能エレメントに対するデフォルトの設定は、その選択可能エレメントによって表現されるリソースまたは項目の基本的なタイプの関数であってもよい。また、ユーザーがデフォルトで異なる方法で表示するために一定のタイプを設定して(configure)もよく、またはデフォルトの設定を変更する機会を有してもよい。ブレードは、ブレードのサイズを他のサイズに調節することを可能にするサイズ制御メカニズムも有することができる。いずれの場合でも、サイズ変更するブレードが、行程を表すブレードのシーケンスにおける最後のブレードでない場合、以後のブレードの位置は、再調節されたブレードに隣接したままで、隠蔽されないように調節することができる。このように、ブレードを最大化することができるが、これらが既存のブレードの上に載って増大することを意味するのではない。代わりに、ブレードは、幅方向に（更に一般的には、キャンバスのパンニング可能な方向に沿って）増大し、隣接するブレードを右および左に押しやる。また、ブレードを押しつぶすこともできる。例えば、ブレードを非常に薄くして、殆どまたは全く情報を表示させないが、ブレードを再度拡張することを可能にするコントロールを付けることもできる。
【００６０】
[0084]  この時点までで、キャンバスのナビゲーションに関連するユーザー・インターフェースについて説明した。また、ユーザーが一瞥して行程全体を見ることを可能にする行程ビューがあってもよい。この縮小(zoomed out)ビューは、行程の意味的表現であり、これが意味するのは、重要な情報は維持され一層容易に見られるようにするが、もっと細かい詳細は欠落させられるということである。ナビゲーション・コンテキストをより多く見ることができることに加えて、このビューは、ユーザーが１つのブレードから他のブレードに素早くジャンプすることを可能にし、更に目標ブレードが何を含むのか思い出さなければならないのではなく、何を見ようとしているのか理解して、そうすることができる。
【００６１】
[0085]  加えて、行程ビューは、恐らくはキャンバスがパンニングするに連れて垂直方向にスクロールすることによって、ユーザーが彼らの開いた行程の全てを見ることを可能にすることができる。このように開いた行程全てを見ることができるために、行程間の切り替えが容易になるだけでなく、行程を比較する能力も得られる。また、行程ビューは、行程にわたる、ライト・パス(light path)（以下で説明する）と呼ばれる概念を適用することも可能にする。
【００６２】
[0086]  また、ユーザーは行程コントロールにアクセスできるのでもよい。この行程コントロールは、ユーザーが行程のセマンティクスを一目で確認しながら、行程コマンド（行程を保存する、行程を共有する、行程をタイルとしてピンニングする、または行程を閉じるというような）を実行することを可能にする。例えば、行程ナビゲーションにおける任意の地点において、ユーザーはタイトル・バー（または任意の他の行程ビュー有効化コントロール）を選択して、ユーザー・インターフェースにナビゲーション・インターフェースから出させて、行程ビュー・インターフェースに入らせることができる。また、行程ビューは、ポップアウト・コマンド（pop-out command)を有してもよい。ポップアウト・コマンドは、ウィンドウ内に行程を表示させ、したがって、ユーザーが表示の残りの部分を他の目的に使用することを可能にする。基本的データーに何らかの変化があり、これが行程における変化を生ずる場合、この変化を行程のポップアウト・ウィンドウにおいて反映することができる。
【００６３】
[0087]  図１３は、図１２によって組み立てられた行程に対応する行程ビューを示すユーザー・インターフェース１３００を示す。行程ビュー１３００は、ブレード・シーケンスの全てのその時点までの範囲に及ぶ行程バー１３０１を含む。行程バー１３０１は、コマンド・セクション１３０２を含む。コマンド・セクション１３０２は、ユーザーが行程を画面のある種のエリアにピンニングする、行程を他者と共有する（電子メール、ソーシャル・メディア、協調作業環境等によって）、行程を保存する、または行程を閉じることを可能にする。例えば、行程を保存することは、行程が特定のデーターベースへのナビゲーションであるという場合のように、その行程が頻繁に再実行される場合、非常に有用であろう。行程を共有することは、例えば、テスターが特定のバグを発見し、そのバグを発見するために辿った行程を開発者に送る場合に有用であろう。次いで、開発者は、バグに至った洞察の集合によって、バグのコンテキストのみに限らず素早く理解することができる。
【００６４】
[0088]  図１４は、任意の選択可能パートまたは任意の選択可能項目に関連する一般的なシステム・フローを示す。このシステムは情報リソース１４０１を含む。選択可能項目またはパートに関連する変換(transform)１４０２は、リソース１４０１全体から、特定の情報コンテキストに関連がある部分を選別する(filter through)。例えば、変換１４０２は、ウェブサイトに関連するデーターを提供することもできる。選択可能パートまたは項目１４０３は、特定の項目またはパートに関連するデーターをプレゼンター１４０４に供給する。プレゼンターは、このデーターのしかるべきビューをディスプレイに供給するように構成される。例えば、プレゼンター１４０４はデーターのチャート・ビューを提示することもできる。選択可能パートまたは項目は選択可能であるので、そのタイプに応じて、そのパートまたは項目によって発行することができる一定のコマンドがある。次いで、これらのコマンドを、矢印１４０５によって表されるように、基本的な情報リソース１４０１に対して実行することができる。これは、潜在的に、項目またはパート１４０４の体験に影響を及ぼすだけでなく、変化したデーターを使用するあらゆる他の項目またはパートにも影響を及ぼす可能性がある。
【００６５】
[0089]  このアーキテクチャーは、開発者に意義深い好機をもたらす。例えば、開発者は、他者によって開発された既存のパートおよび項目を使用することができる。加えて、開発者は、新たなデーター・ソース１４０３を定義し、および／または新たなプレゼンター１４０４を定義することによって、彼ら自身の選択可能項目を作成することができる。開発者は、その項目についてタイプを定義し、次いでその項目に対するコマンド１４０５を定義することができ、ユーザーがこの新たなタイプのコンテキストでコマンド・ウィンドウを選択しようとした場合、これらはユーザーに露出される。また、開発者は、既存の項目を使用してまたは新たな項目を作成して新たなデーター・ソース１４０３および／またはプレゼンター１４０４を選択可能パートのために定義することによって、彼ら自身の選択可能パートを作成することもできる。また、開発者は、そのパートについてタイプを定義し、次いでそのタイプに対するコマンド１４０５を定義することができ、ユーザーがその新たなタイプのコンテキストでコマンド・ウィンドウを選択しようとした場合、これらはユーザーに露出される。
【００６６】
[0090]  開発者は、既定のレンズにアクセスすることもでき、各レンズは、達成されるべき目標に応じて、パートの組み合わせを含む。例えば、とりわけ、全体像を提示するためのレンズ、使用／請求のためのレンズ、監視のためのレンズ、構成設定のためのレンズ、リンクされたリソースのためのレンズ、チーム・ビュー(team view)のためのレンズ、オーサリングのためのレンズ、および素早い開始のためのレンズがあればよい。更に、開発者は、既存のおよび／または新たに開発したパートを集め、これらを互いに対して位置付けることによって、彼ら自身のレンズを組み立てることもできる。
【００６７】
[0091]  図１５は、１つのパートを６つの異なるサイズおよび形状で示す。これらのパートは大きなバージョン程、多くの情報をユーザーにインテリジェントに提供する。パートのサイズは、実際には、どの情報を提示すべきか、そしてどのようにその情報が提示されるべきか検討するときに、プレゼンター１４０４（図１４参照）によって考慮される。パートを定義するときに、パートの開発者によってインテリジェンスを適用することができる。この例では、ミニサイズ・パート・バージョン１５０１、小型パート・バージョン１５０２、通常パート・バージョン１５０３、大型パート・バージョン１５０４、幅広パート・バージョン１５０５、および縦長パート・バージョン１５０６がある。パートは双方共行程のブレード内に現れることができ、更にこれらは実際には１組の有効化コントロール５１１内における１つの有効化コントロールであってもよい。ある種のコンテキストでは、ユーザーが、そのパートに利用可能なサイズにしたがって、パートのサイズを変更する選択肢を有することもできる。例えば、有効化コントロール５１１内において、ユーザーがパート・サイズを小さくまたは大きく変更することができる。また、ユーザーは、ユーザーにとってもっと好ましいレイアウトにするために、有効化コントロール５１１内部でパートを移動させることもできる。離散数の既定のパート・サイズおよび形状を有することによって、パートの設計者は、どの情報をそのパートにおいて表示するとよいか、そしてその情報をどのように表示するとよいか、そのパートのサイズおよび形状を想定して彼らが最も相応しいと判断することに応じて、一層インテリジェントに設計することができる。
【００６８】
[0092]  種々の項目を、有効化させることができるパートとして、有効化コントロール５１１エリアにピンニングすることができる。例えば、ナビゲーション・ペイン７０２からの項目を、有効化コントロール５１１におけるパートとしてピンニングすることができる。コマンド・ウィンドウまたは空間からのコマンドを、有効化コントロール５１１におけるパートとしてピンニングすることができる。同様に、ブレード内部におけるレンズの構成パートを、有効化コントロール５１１内にピンニングすることができる。全パート・ピンニング機能(pin-all function)も設けることができ、この場合、ブレードの全てのパートが有効化コントロール５１１内にピンニングされる（恐らくは、他の有効化コントロール内においてネスティングされた集合体として）。リソース、集合体、フィード、精選されたコンテンツ（ヘルプ・トピックスのような）、および検索またはクエリー結果も同様に、有効化コントロール５１１においてパートとしてピンニングすることができる。例えば、コンピューター・システムにアクセス可能な多種多様な情報コンテキストにわたって、クエリーおよび検索を実行することができる。ユーザーは、多数のコンテキストにわたって行われるクエリーを構築し、次いでこのクエリーの結果をパートに戻すことができる。このパートは、クエリーの結果を表し、次いで先に定義されたパートの概念にしたがって、サイズを決め、編成することができる。このパートは、クエリー結果が望まれるコンテキストを有する各ブレードに供給することもできる。
【００６９】
[0093]  図１６は、未だ行程が開始されていないが、有効化コントロールが示されているユーザー・インターフェース１６００を示す。尚、有効化コントロールは、６つのミニサイズ・パート、４つの小型サイズ・パート、４つの通常サイズ・パート、および１つの大型サイズ・パートを含む種々の異なるサイズを有することを注記しておく。通知１６０１が現れる。この通知が有効化コントロールの内１つに繋がれたのであれば、この通知は有効化コントロールの内１つの中に現れているであろう。しかしながら、通知１６０１は有効化コントロールには繋がれず、したがって別個には現れなかった。
【００７０】
[0094]  通知１６０１を選択すると、図１７のユーザー・インターフェース１７０１が現れることができる。ここでは、通知１６０１の選択に応答して、キャンバスは、一時的エリア１７０２を示すために自動的に有効化コントロールの右側にパンニングされており、自動的に通知１６０１に対応するパート１７０３を一時的エリア１７０２に事前設定しており、ブレード１７０４が現れるように自動的にパート１７０３を選択する。このような応答は、行程の初期ブレードが、有効化コントロール５１１の内１つの選択以外の手段によって表出させられたときにはいつでも実行することができる。ユーザーがブレード１７０４を閉じようとした場合、一時的エリア１７０２は、一時的パート１７０３と共に残留することができ、そのパートを有効化コントロール５１１内にピンニングする選択肢をユーザーに与える。この説明では、有効化コントロール５１１にピンニングされると説明されたものはいずれも、同様に、ナビゲーション・ページ７０２にまたはブレードにもピンニングすることができる。例えば、パートを１つのブレードから他のブレードに移動させることができる。
【００７１】
[0095]  ユーザーが、１つのアーチファクトを作成し、次いでそれを他のものと一緒に合わせることを望むことが多い。例えば、ユーザーがウェブサイトを作成し、次いでこのウェブサイトをデーターベースと合わせることを望む場合もある。従来では、これは一度に１つずつ行われることが多かった。ユーザーは、ウェブサイトを作成し、次いでデーターベースを作成し、そして次にこれらを一緒にリンクする。または、恐らく、ユーザーは自動的にウェブサイトおよびデーターベースを内部に有するウェブサイト・テンプレートを選択する（pick)。新たなコンポーネントが出現した(come along)場合、このコンポーネントを組み込もうとする各テンプレートを更新する必要があり、そうしないと、一緒にリンクするために、 ユーザーは１つ多くのことを負担することになる。
【００７２】
[0096]  本明細書において説明した実施形態によれば、ユーザーは項目を作成し、次いで、他の共通に追加された項目の内、彼らが作成している項目に関連するのはどれであるか、システムに尋ねることができる。次いで、ユーザーはこれらの項目を選択し、それらを一緒に合わせることを選ぶことができる。合わせる(bundling)とは、これらが正しい順序で自動的に作成され（例えば、データーベースを作成しなければ、キャッシング・サービスをそれにリンクすることはできない）、次いで自動的に一緒にリンクされることを意味する。これによって、ユーザーは多大な時間量を節約することができ、更にリソースの全体的な機能を改良する好機が与えられる。これのウォークスルー(walkthrough)の一例について、図１８から図２２に関して説明する。
【００７３】
[0097]  図１８は、多数の有効化コントロールを含むユーザー・インターフェース１８００を示す。ユーザーが、新たなウェブサイトを作成するために、有効化コントロール１８０１を選択したと仮定する。すると、図１９のユーザー・インターフェース１９００が現れることができる。ウェブサイト作成ペイン１９０１が現れ、ユーザーがこのウェブサイトのために値を入力することを可能にする。しかしながら、ウェブサイト・ペイン１９０１は、ウェブサイトの性能を高めるのに役立つことができる、可能なリソースのために追加選択肢(also add option)１９０２も提示する。図２０は、ユーザーがデーターベース選択肢を選択した後におけるユーザー・インターフェース２０００を示す。システムは、データーベースおよびウェブサイトが何らかの種類の接続ストリングを必要とすることを知り、したがって自動的に選択肢２００１を選択する。次いで、進展バー２００２が現れて、ユーザーが３つのステップの内の１つを完璧に(in the total package)仕上げたことを示す。ユーザーが次を選択すると、図２１のユーザー・インターフェース２１００が現れる。ここでは、ユーザーはデーターベースに関連する情報を入力する。次を選択すると、図２２のユーザー・インターフェース２２００が現れる。ユーザーは、リンクに関連する情報を入力し、アプリケーションを完成させる。システムは自動的にアプリケーションを構築する。
【００７４】
[0098]  したがって、本明細書において説明した原理は、ユーザーが情報を通じて直観的な行程を辿り、彼または彼女が作業しているコンテキストを素早く理解することができる、ロバストな処理用インターフェースを提供する。
【００７５】
[0099]  本発明は、その主旨や本質的な特性から逸脱することなく、他の特定形態においても具体化することができる。説明した実施形態は、あらゆる観点において、限定ではなく例示に過ぎないと見なされなければならない。したがって、本発明の範囲は、以上の説明ではなく、添付した請求項によって示される。請求項の意味および均等の範囲に該当するあらゆる変更は、その範囲内に包含されるものとする。
【図１】
0006446038.tif 000002
【図２Ａ】
0006446038.tif 000003
【図２Ｂ】
0006446038.tif 000004
【図２Ｃ】
0006446038.tif 000005
【図３】
0006446038.tif 000006
【図４】
0006446038.tif 000007
【図５】
0006446038.tif 000008
【図６】
0006446038.tif 000009
【図７】
0006446038.tif 000010
【図８】
0006446038.tif 000011
【図９】
0006446038.tif 000012
【図１０】
0006446038.tif 000013
【図１１】
0006446038.tif 000014
【図１２】
0006446038.tif 000015
【図１３】
0006446038.tif 000016
【図１４】
0006446038.tif 000017
【図１５】
0006446038.tif 000018
【図１６】
0006446038.tif 000019
【図１７】
0006446038.tif 000020
【図１８】
0006446038.tif 000021
【図１９】
0006446038.tif 000022
【図２０】
0006446038.tif 000023
【図２１】
0006446038.tif 000024
【図２２】
0006446038.tif 000025