(58)【調査した分野】(Int.Cl.,DB名)
前記視覚ランドマークは、スナップバー、スナップアーク、スナップベジエ、グラビティウェル、スナップスタック、スティッキーボックス、およびスティッキー投げ縄の中から選択されることを特徴とする請求項1に記載の方法。
前記構成可能プロパティは、前記視覚ランドマークに相対した視覚要素の整列の仕方、相互に相対した前記視覚ランドマーク上での要素の間隔設定の仕方、および前記視覚ランドマークの回転の1つまたは複数を定義するプロパティを含むことを特徴とする請求項1に記載の方法。
前記図表内に前記複数の視覚要素とともに視覚ランドマークを提示する前記ステップは、他の1つまたは複数の視覚ランドマークから構築されたカスタム視覚ランドマークを提示するステップを含むことを特徴とする請求項1に記載の方法。
前記複数の視覚要素の1つを選択するインプットを受信する前記ステップは、前記複数の視覚要素の1つを選択するユーザインプットを受信するステップを含むことを特徴とする請求項1に記載の方法。
前記構成可能プロパティに従って、前記選択された視覚要素を前記視覚ランドマークおよび前記視覚ランドマークに関連づけられた他の視覚要素に相対して自動的に位置づける前記ステップは、前記選択された視覚要素を前記視覚ランドマークに相対して整列させるステップを含むことを特徴とする請求項1に記載の方法。
前記構成可能プロパティに従って、前記選択された視覚要素を前記視覚ランドマークおよび前記視覚ランドマークに関連づけられた他の視覚要素に相対して自動的に位置づける前記ステップは、前記選択された視覚要素を前記視覚ランドマークに関連づけられた他の視覚要素に相対して間隔設定するステップを含むことを特徴とする請求項1に記載の方法。
前記構成可能プロパティに従って、前記選択された視覚要素を前記視覚ランドマークおよび前記視覚ランドマークに関連づけられた他の視覚要素に相対して自動的に位置づける前記ステップは、前記選択された視覚要素を、前記視覚ランドマーク上のある場所から別の場所に移動するステップを含むことを特徴とする請求項1に記載の方法。
前記複数の視覚要素の更新配列を提示するステップは、前記視覚ランドマークと交差する前記複数の視覚要素を提示するステップを含むことを特徴とする請求項1に記載の方法。
前記複数の視覚要素の更新配列を提示するステップは、前記視覚ランドマークの境界の内側に前記複数の視覚要素を提示するステップを含むことを特徴とする請求項1に記載の方法。
【背景技術】
【0002】
コンピュータシステムおよび関連技術は、社会の多くの側面に影響を与える。実際、情報を処理するためのコンピュータシステムの能力は、我々の生き方および働き方を変えてきた。コンピュータシステムは今では一般に、コンピュータシステムの出現前には手作業で行われていた多くの業務(例えば、文書処理、日程計画、会計など)を実施する。近年、コンピュータシステムは、相互に、また他の電子デバイスに結合されて、有線および無線コンピュータネットワーク両方を形成し、こうしたネットワーク上で、コンピュータシステムおよび他の電子デバイスは、電子データを転送することができる。したがって、多くのビジネス関連プロセスの実施は、異なるいくつかのコンピュータシステムおよび/または異なるいくつかのコンピューティングコンポーネントに分散される。
【0003】
例えば、作図アプリケーションは、フローチャート、組織図、ワークフロー図などを生成するのに使用することができる。ほとんどの作図アプリケーションは、少なくともツールバーおよびキャンバスエリアを含む。ユーザは、ツールバーから図形(例えば、円、長方形、正方形、菱形など)を引き出して、キャンバスに追加することができる。図形は、相互に接続して、図形の間の関係を示すことができる。ユーザは、キャンバス内で既存の図形および接続を並べ替え、削除することもできる。
【0004】
少なくとも一部の作図アプリケーションは、キャンバス上での図形の整理および間隔設定に対する完全な制御をユーザに認める自由形式キャンバスを使用する。ユーザは、適当と判断した場合は、制約なしで図形および接続を自由に並べ(替え)る。したがって、自由形式キャンバスは、図表をその正確な仕様に合わせて作成するための大幅な柔軟性をユーザに与える。
【0005】
ただし、自由形式キャンバスを使う図表の作成は、時間と労力もかかる。図表の意味は、図表内の図形が整理され、適切に間隔設定されたとき、より適切に伝えられる(例えば、視覚的に認識される)。したがって、図表が変わる(例えば、図表に新たな図形が導入され、または既存の図形が図表から削除され、もしくは図表の中で移動される)度に、図形および接続の整理および間隔設定が、図表の新たな意味を適切に伝えるように調整される必要がある。
【0006】
残念ながら、自由形式キャンバスを使うと、ユーザは、例えば、図形の接続解除および再接続、ピクセル整列など、こうした全ての調整を、独自で個別に行うよう要求される。多くの図表、並びに特に比較的大きいおよび/またはより複雑な図表の場合、こうした調整は非常に多く、実行するのにかなりの時間がかかり得る。さらに、図表を一度変更すると、多数の図形が整理されなくなり、かつ/または不適切に間隔設定されるという波及効果がもたらされ得る。
【0007】
したがって、一部の作図アプリケーションは、例えば、図表への変更に応答して図形および接続をユーザが適切に調整するのを支援するための、自動レイアウトアルゴリズムなどの自動化機構を含む。自動レイアウトアルゴリズムは、図表内での図形の配置および接続を基本的に規定する様々なレイアウト(例えば、整理および間隔設定)制約をもち得る。自動レイアウトアルゴリズムは、異なる様々な機能の1つまたは複数も含み得る。
【0008】
例えば、(新規または移動された)図形が図表内の指定場所に挿入されると、自動レイアウトアルゴリズムは、レイアウト制約に適合するように、指定場所から、(キャンバス上の)より適切な(例えば、すぐ近くの)場所に図形を自動的に移動することができる。同様に、図表内のある場所から図形が削除される(消去され、または移動される)と、自動レイアウトアルゴリズムは、レイアウト制約に適合するように、(キャンバス上の)削除図形に予め接続された図形を自動的に調整することができる。図表内部で図形が移動されると、こうした機能は両方とも実行され得る。自動レイアウトアルゴリズムは、図形の追加、消去、または移動に応答して、レイアウト制約に適合するように(例えば、波及効果を補償するように)、図表内部の任意および他の図形および接続を調整するための機能も含み得る。
【0009】
したがって、自動レイアウトアルゴリズムは、図表の新たな意味をより分かりやすく伝えるように、図表内で図形および接続を自動的に並べるのに使用することができる。一部の自動レイアウトアルゴリズムは、レイアウト制約の調節さえも可能にし、その結果ユーザは、図表のレイアウトをある程度制御することができる。ただし、自動レイアウトアルゴリズムは通常、規範的であり、(調節されたレイアウト制約に基づくものでさえも)図表に対する非適合変更を認めない。さらに、ユーザは通常、図形を挿入し、移動し、または消去する前には、図形および/または周囲の接続図形の場所を自動レイアウトアルゴリズムがどのように調整するかを知る術をもたない。
【0010】
しばしば、図形は、図表の既存図形に相対して任意の数の場所に配置され、レイアウト制約に適合し得る。ただし、ユーザは、変更を行う前には、適合場所が既存図形に相対することを知る術をもたない場合がある。したがって、ユーザは、自動レイアウトアルゴリズムに依拠して、適合場所を選択しなければならないが、この場所は、図表に対するユーザの意図に基づき、最も適切な適合場所ではない場合がある。
【0011】
他には自由形式図表を限定的に整理するための、それ以外のいくつかのツールが存在する。こうしたそれ以外のツールは、整列、センタリング、および分布などを可能にし得る。ただし、こうしたそれ以外のツールには、いくつかの欠陥がある。例えば、こうしたツールは通常、キャンバス上に提示されない。さらに、こうしたツールは、例えば、新規図形の追加などの更新には自動的に適用し直されない。したがって、こうしたツールは、その機能を呼び出すために、(ある程度の頻度で、また一部の環境では基本的には定期的に)適用し直されなければならない。さらに、こうしたそれ以外のツールは通常、カスタマイズ可能でない。カスタマイズ可能でないことにより、特殊化レイアウトを構築し、維持することが難しくなる。
【図面の簡単な説明】
【0018】
本発明の上述したおよび他の利点および特徴が達成され得る方法を説明するために、上で簡潔に述べた本発明のより具体的な説明を、添付の図面に示される本発明の具体的な実施形態を参照して行う。こうした図面は本発明の典型的な実施形態を示すに過ぎず、したがって、本発明の範囲を限定するものと見なされるべきではないことを理解した上で、本発明を、添付の図面を用いてさらに具体的かつ詳細に説明する。
【
図1】視覚ランドマークを使用して図表を整理するのを容易にするコンピュータアーキテクチャ例を示す図である。
【
図2】視覚ランドマークを使用して図表を整理する方法例を示すフローチャートである。
【
図3A】視覚ランドマークを使用して図表を整理する例を示す図である。
【
図3B】視覚ランドマークを使用して図表を整理する例を示す図である。
【
図3C】視覚ランドマークを使用して図表を整理する例を示す図である。
【
図3D】視覚ランドマークを使用して図表を整理する例を示す図である。
【
図4A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図4B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図4C】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図4D】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図4E】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図5A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図5B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図5C】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図6A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図6B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図7A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図7B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図7C】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図8A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図8B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図8C】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図9A】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図9B】視覚ランドマークを使用して図表を整理する別の例を示す図である。
【
図10A】図表中で要素を整理するのに使用され得るスナップバーの例を示す図である。
【
図10B】図表中で要素を整理するのに使用され得るスナップバーの例を示す図である。
【
図10C】図表中で要素を整理するのに使用され得るスナップバーの例を示す図である。
【
図10D】図表中で要素を整理するのに使用され得るスナップバーの例を示す図である。
【
図11A】図表中で要素を整理するのに使用され得るスナップベジエの例を示す図である。
【
図11B】図表中で要素を整理するのに使用され得るスナップベジエの例を示す図である。
【
図12A】図表中で要素を整理するのに使用され得るスナップアークの例を示す図である。
【
図12B】図表中で要素を整理するのに使用され得るスナップアークの例を示す図である。
【
図12C】図表中で要素を整理するのに使用され得るスナップアークの例を示す図である。
【
図13A】図表中で要素を整理するのに使用され得るグラビティウェル(gravity well)の例を示す図である。
【
図13B】図表中で要素を整理するのに使用され得るグラビティウェルの例を示す図である。
【
図13C】図表中で要素を整理するのに使用され得るグラビティウェルの例を示す図である。
【
図14A】図表中で要素を整理するのに使用され得るスナップスタックの例を示す図である。
【
図14B】図表中で要素を整理するのに使用され得るスナップスタックの例を示す図である。
【
図15】図表中で要素を整理するのに使用され得るスティッキーボックスの例を示す図である。
【
図16】図表中で要素を整理するのに使用され得るスティッキー投げ縄の例を示す図である。
【
図17】視覚ランドマークをカスタマイズする方法例を示すフローチャートである。
【
図18】カスタマイズされた視覚ランドマークの例を示す図である。
【発明を実施するための形態】
【0019】
本発明は、視覚ランドマークを使用して図表を整理する方法、システム、およびコンピュータプログラム製品を対象とする。いくつかの実施形態では、図表を整理するのに視覚ランドマークが使用される。コンピュータシステムは、図表を表す1つまたは複数の視覚要素を提示する。コンピュータシステムは、1つまたは複数の視覚要素とともに視覚ランドマークを図表中に提示する。視覚ランドマークは、関連する視覚要素に適用されて、関連する視覚要素を視覚ランドマークに相対して位置づけるべき1つまたは複数のプロパティで構成される。
【0020】
コンピュータシステムは、1つまたは複数の視覚要素の1つを、図表中に配置するために選択するインプットを受け取る。コンピュータシステムは、選択された視覚要素が、視覚ランドマークに関連づけられるべきであることを示す追加インプットを受け取る。コンピュータシステムは、視覚ランドマークの対応する1つまたは複数のプロパティに従って、選択された視覚要素を視覚ランドマークに相対して自動的に位置づけて、選択された視覚要素を図表中で整理する。選択された視覚要素は、追加インプットの受取りに応答して位置づけられる。
【0021】
他の実施形態では、視覚ランドマークは、図表を整理する際に使用するためにカスタマイズされる。コンピュータシステムは、図表中で視覚要素を整理するのに使用され得る、格納された視覚ランドマークにアクセスし、視覚的に提示する。コンピュータシステムは、ユーザ入力インプットに従って、視覚ランドマークの視覚的表現を変更する。
【0022】
コンピュータシステムは、ユーザ入力インプットに従って、視覚ランドマークの1つまたは複数のプロパティを構成する。構成された1つまたは複数のプロパティは、関連する視覚要素を視覚ランドマークに相対してどのようにして自動的に位置づけて、関連する視覚要素を図表中で整理するかを示す。コンピュータシステムは、構成された1つまたは複数のプロパティとともに、変更された視覚的表現を、新たな視覚ランドマークとして格納する。新たな視覚ランドマークは、ユーザ入力インプットに従った図表の整理に使用するためのものである。
【0023】
本発明の実施形態は、後述するように、コンピュータハードウェアを含む特殊目的または汎用コンピュータを備え、または使用し得る。本発明の範囲内の実施形態は、コンピュータ実行可能命令および/またはデータ構造を伝搬し、または格納する物理的および他のコンピュータ可読媒体も含む。このようなコンピュータ可読媒体は、汎用または専用コンピュータシステムによってアクセスすることができる利用可能な任意の媒体でよい。コンピュータ実行可能命令を格納するコンピュータ可読媒体は、物理記憶媒体である。コンピュータ実行可能命令を伝搬するコンピュータ可読媒体は、伝送媒体である。したがって、限定ではなく例として、本発明の実施形態は、物理記憶媒体および伝送媒体という、明確に異なる少なくとも2種類のコンピュータ可読媒体を備え得る。
【0024】
物理記憶媒体は、RAM、ROM、EEPROM、CD−ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形で格納するのに使うことができ、汎用または専用コンピュータによってアクセスすることができる他の任意の媒体も含む。
【0025】
「ネットワーク」は、コンピュータシステムおよび/またはモジュールおよび/または他の電子デバイスの間の電子データの移送を可能にする1つまたは複数のデータリンクとして定義される。ネットワークまたは別の通信接続(配線、無線、または配線もしくは無線の組合せ)を介して情報がコンピュータに転送され、または提供されるとき、コンピュータは、この接続を正しく伝送媒体と見なす。伝送媒体は、所望のプログラムコード手段をコンピュータ実行可能命令またはデータ構造の形で伝搬するのに使うことができ、汎用または専用コンピュータによってアクセスすることができるネットワークおよび/またはデータリンクを含み得る。上記の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【0026】
さらに、様々なコンピュータシステムコンポーネントに到達すると、コンピュータ実行可能命令またはデータ構造の形のプログラムコード手段は、伝送媒体から物理記憶媒体(またはその反対)に自動的に転送され得ることを理解されたい。例えば、ネットワークまたはデータリンクを介して受け取られたコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェイスモジュール(例えば、「NIC」)内部のRAMにバッファリングされ、最終的にはコンピュータシステムのRAMおよび/または比較的揮発性でない物理記憶媒体に転送されうる。したがって、物理記憶媒体は、伝送媒体を(またはそれを主に)使用するコンピュータシステムコンポーネントに含まれ得ることを理解されたい。
【0027】
コンピュータ実行可能命令は、例えば、ある特定のファンクションまたはファンクション群を汎用コンピュータ、専用コンピュータ、または特殊目的処理デバイスに実施させる命令およびデータを含む。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間形式命令、またはソースコードでもよい。構造的特徴および/または方法論的行為に特有の言葉で本主題を説明したが、各請求項において定義される本主題は、上記の特徴または行為には必ずしも限定されないことを理解されたい。むしろ、こうした特徴および行為は、権利請求される本発明を実装する形の例として開示されるものである。
【0028】
本発明は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能家電製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチなどを含む、多くのタイプのコンピュータシステム構成をもつネットワークコンピューティング環境において実施され得ることが当業者には理解されよう。本発明は、ネットワークを介して(配線データリンク、無線データリンク、または配線および無線データリンクの組合せによって)リンクされるローカルおよびリモートコンピュータシステムが両方ともタスクを実施する分散型システム環境においても実施され得る。分散型システム環境では、プログラムモジュールは、ローカルおよびリモートメモリ記憶デバイス内の両方に置くことができる。
【0029】
図1は、自動レイアウトに適合した図表の柔軟な作成を容易にするコンピュータアーキテクチャ例100を示す。
図1において、コンピュータアーキテクチャ100は、ユーザインターフェイス101、図表エディタ102、および描画モジュール107を含む。図示したコンポーネントはそれぞれ、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、さらにはインターネットなどのネットワークを介して相互に接続することができる(またはネットワークの一部でよい)。したがって、図示したコンポーネントおよび他の任意の接続コンポーネントはそれぞれ、メッセージ関連データを作成し、ネットワークを介してメッセージ関連データ(例えば、インターネットプロトコル(IP)データグラム、および例えばTCP、HTTP、およびSMTPなどの、IPデータグラムを使用する他の上位層プロトコル)を交換することができる。
【0030】
入力装置114は、例えば、キーボードおよび/またはマウスなど、様々な入力装置を含み得る。ユーザ113は、入力装置114を使用してコンピュータアーキテクチャ100にデータを入力することができる。表示デバイス108は、コンピュータアーキテクチャ100からのデータ出力をディスプレイ109に視覚的に提示することができる。ユーザ113は、ディスプレイ109に表示されるデータを視覚的に認識することができる。
【0031】
概して、ユーザインターフェイス101は、ユーザ113と、コンピュータアーキテクチャ100の他のコンポーネントとの間の媒介ソフトウェア層として機能するように構成される。ユーザインターフェイス101は、例えば、入力装置114からインプットを受け取り表示デバイス108にアウトプットを送るためのドライバなど、適切なソフトウェアで構成され得る。したがって、ユーザインターフェイス101は、例えば、図表エディタ102など、他のコンポーネントにユーザインプットを転送することができる。ユーザインターフェイス101は、例えば、描画モジュール107など、他のコンポーネントから、表示デバイス108に描画可能な画像データを転送することもできる。
【0032】
図表エディタ102は、図表データを、描画可能な図表向けに編集するように構成される。図表データは、図表中の視覚要素に対する図形タイプ、図形の場所、および図形の間の接続を示し得る。ユーザインプットに応答して、図表エディタ102は、図表の視覚要素に対する図形の場所、図形タイプ、および接続を表す図表データを追加し、消去し、変更することができる。いくつかの実施形態では、ユーザアクションにより、図表エディタ102は、図表データに対する一連の編集を実施する。例えば、図表中の視覚要素の配置に応答して、図表エディタ102は、a)視覚要素に対する図形の場所およびタイプを含むように図表データを編集し、b)図形と他の適切な図形との間の接続を含むように図表データを編集することができる。
【0033】
図表エディタ102は、視覚ランドマークリポジトリ135にある視覚ランドマークにアクセスし、視覚ランドマークを表すデータを図表データに含めることもできる。したがって、図表中の図形と同様に、図表エディタ102は、視覚ランドマークの場所、タイプ、および接続を表す図表データを、図表中の視覚ランドマーク用に追加し、消去し、変更することもできる。視覚ランドマーク操作は、ユーザインプットに応答してもよい。
【0034】
描画モジュール107は、表示デバイス108で図表を描画する図表データから、相互接続された視覚要素(図形および/または視覚ランドマーク)を生成するように構成される。図表は、フローチャート、ワークフロー図、組織図、プロセス図、概略図などを含む異なる様々なタイプの図表のいずれでもよい。図表は、例えば、円、菱形、正方形、長方形、三角形などの幾何学図形を含む異なる様々な視覚要素のいずれも含み得る。視覚要素の間の接続は、線として表すことができる。
【0035】
図示するように、描画モジュール107は、視覚支援モジュール117を含む。視覚支援モジュール117は、ユーザに視覚フィードバックを与えて、ユーザの図表作成および編集を支援するように構成される。例えば、図表中の視覚要素をユーザが選択すると、視覚支援モジュール117は、その視覚要素の選択を示す視覚フィードバックを与え得る。視覚フィードバックは、選択を示すように、要素の視覚特性および接続を変更する(例えば、視覚要素の輪郭をグレー表示する)ことを含み得る。視覚フィードバックは、追加視覚情報で図表を補って、ユーザが図表内に要素および接続をレイアウトするのを支援することも含み得る。
【0036】
図3A〜3Dは、視覚ランドマークを使用した図表300の整理を示す。
【0037】
図2は、視覚ランドマークを使用して図表を整理する方法200のフローチャートを示す。コンピュータアーキテクチャ100内に示されるコンポーネントおよびデータを参照し、かつ図表300を参照して方法200が記載される。
【0038】
方法200は、図表を表す1つまたは複数の視覚要素の配列を提示する行為(行為201)を含む。方法200は、1つまたは複数の視覚要素とともに視覚ランドマークを図表内に提示する行為(行為202)を含み、視覚ランドマークは、関連する視覚要素に適用されて、関連する視覚要素を視覚ランドマークに相対して位置づけるべき1つまたは複数のプロパティで構成される。例えば、ユーザインターフェイス101は、表示デバイス108で視覚要素141を提示することができる。視覚要素141は、要素および1つまたは複数の視覚ランドマークを含み得る。例えば、
図3Aを参照すると、要素301およびスナップバー302が、ディスプレイ109上に提示され得る。スナップバー302は、要素301をスナップバー302に相対して位置づけるように要素301に適用されるべき1つまたは複数のプロパティで構成され得る。例えば、スナップバー302は、スナップバー302上に要素301を垂直整列するためのプロパティを含み得る。
【0039】
方法200は、視覚要素を、図表中に配置するために選択するインプットを受け取る行為(行為203)を含む。例えば、ユーザインターフェイス101は、ユーザ要素選択インプット133(例えば、要素301上でのマウスクリック)を受け取ることができる。ユーザインターフェイス101は、ユーザ要素選択インプット133が、新規または既存の視覚要素の選択であると判断し得る。したがって、ユーザインターフェイス101は、選択インプット161を描画モジュール107に転送すればよい。
【0040】
新しい(例えば、ツールバーにある)要素を、図表に含めるために選択することができる。既存(例えば、既に図表中にある)要素を、図表内で移動するために選択することができる。例えば、
図3Aを参照すると、要素301(新しい要素または図表300中の他の場所にある要素)を、図表300に含め、またはその中で移動するために選択することができる。既存要素が移動のために選択されると、既存要素の現在の表現は、その現在の場所に残ってよい。現在の表現とともに、既存要素の選択中一時表現が作成され得る。要素の選択中一時表現は、図表内を移動されて、図表中の異なる場所への要素の可能な移動を表す。最終的に、既存要素が実際に移動された場合、その要素の現在の表現は、新しい位置に移動される。
【0041】
方法200は、選択された視覚要素が選択されていることを示す視覚フィードバックを提供する行為(行為204)を含む。例えば、視覚支援モジュール117は、要素選択視覚フィードバック142を、表示デバイス108に表示するために提供することができる。要素選択視覚フィードバックは、選択された視覚要素の視覚特性を、選択されたことを示すように変更した結果として生じる。例えば、
図3Bでは、ユーザ113は、カーソル391で要素301を選択済みである。図示するように、要素301は、要素301が選択されていることを示すように、(実線とは対照的に)破線で表される。ただし、例えば、色、明るさ、サイズ、図形などの変更など、他の視覚特性変更も可能である。破線(または他の視覚特性)を視覚認識することにより、ユーザ113は、要素301が選択されていることをより容易に判断することができる。要素301が既存要素の場合、要素301の現在の表現は、図表300中の他の場所(図示せず)に残り得る。
【0042】
方法200は、選択された視覚要素が視覚ランドマークに関連づけられるべきであることを示す追加インプットを受け取る行為(行為205)を含む。例えば、
図1、
図3C両方を参照すると、ユーザインターフェイス101は、要素301が移動し、その結果(例えば、ディスプレイ109上で)スナップバー302と少なくとも部分的に同じ場所に置かれていることを示す移動インプット132を検出することができる。ユーザインターフェイス101は、移動インプット132が描画モジュール107に関連すると判断することができ、移動データ162を描画モジュール107に転送すればよい。描画モジュール107は、移動データ162から、要素301がスナップバー302と少なくとも部分的に同じ場所に置かれていると判断することができる。
【0043】
方法200は、選択された視覚要素を図表中で整理するように、追加インプットの受取りに応答して、視覚ランドマークの対応する1つまたは複数のプロパティに従って、選択された視覚要素を視覚ランドマークに相対して位置づけることによって、1つまたは複数の視覚要素の配列を自動更新する行為(行為206)を含む。例えば、移動データ162(例えば、要素301をスナップバー302と同じ場所に置く)に応答して、図表エディタ102は、スナップバー302の1つまたは複数のプロパティに従って、要素301をスナップバー302に相対して位置づけることによって、(例えば、図表300を表す)図表データ112を更新し得る。スナップバー302に相対した要素301の位置づけは、図表300内で要素301を整理するために実施することができる。
【0044】
方法200は、選択された視覚要素の整理を図表中に反映するように、1つまたは複数の視覚要素の更新配列を提示する行為(行為207)を含む。例えば、
図1、
図3Dを参照すると、描画モジュール107は、更新視覚要素144(例えば、
図3D中で整理される要素301およびスナップバー302)を表示デバイス109に送ることができる。表示デバイス109は、更新視覚要素144を提示することができる。例えば、
図3Dに示すように、要素301は、スナップバー302上に垂直に整列される。
【0045】
したがって、
図3A〜3Dは、スナップバーを使って図表内で要素を柔軟に整理する例を示す。ただし、他の様々な実施形態も考えられる。予め描写された図表および続いて描写された図表のどれも、表示デバイス(例えば、表示デバイス108)のディスプレイ(例えば、ディスプレイ109)に表示し、ディスプレイを介して相互作用することができる。
【0046】
本発明の実施形態は、視覚ランドマークに相対して位置づけるために要素をタグづけすることを容易にする。例えば、
図4A〜4Eは、複数の要素をタグづけして、スナップバーのプロパティを図表400中の複数の要素に適用する例を示す。
【0047】
図4Aに示すように、図表400は、要素401、402、403を含む。要素401、402、403は、図表400内の任意の位置にある。
図4Bに示すように、カーソル491が、要素401にタグづけインジケータ411を適用するのに使われる。
図4Cに示すように、カーソル491は、要素402にタグづけインジケータ412を適用するのに使われる。要素401は、タグづけインジケータ411でタグづけされたままである。
図4Dに示すように、カーソル491は、要素403にタグづけインジケータ413を適用するのに使われる。要素401、402は、それぞれタグづけインジケータ411、412でタグづけされたままである。要素のタグづけは、選択インプット161中で表すことができる。タグづけに応答した、要素の破線への変更は、要素選択視覚フィードバック142中で表すことができる。
【0048】
要素403のタグづけに続いて、ユーザ113は、例えば、メニューまたはボタンバー(ユーザインターフェイス101によって提示される)からの項目の選択など、追加インプットを提出して、要素401、402、403がスナップバー(または他の何らかの視覚ランドマーク)に関連づけられるべきであることを示すことができる。この追加インプットが、ユーザインターフェイス101で受け取られ、描画モジュール107および/または図表エディタ102に転送され得る。描画モジュール107および図表エディタ102は、連携して、図表400の配列を自動更新することができる。例えば、要素401、402、403の変更された位置を表した描画モジュール107および図表エディタ102は、スナップバー404を含むように図表データ112を変更することができる。要素401、402、403は、スナップバー404のプロパティ(例えば、要素の間の均等間隔設定および垂直整列)に従って、スナップバー404に相対して位置づけることができる。
【0049】
描画モジュール107は、図表400の更新配列(更新視覚要素144で表される)を表示デバイス109に提示することができる。
図4Eに示すように、要素401、402、403は、スナップバー404上で均等間隔設定され、スナップバー404上で垂直に整列される。
【0050】
本発明の実施形態は、1つまたは複数の要素を既に含む視覚ランドマークへの要素の追加を容易にする。
図5A〜5Cは、図表500中のスナップバーに要素を追加する例を示す。
【0051】
図5Aに示すように、選択要素501(新しい要素、または図表500中の他の場所にある既存要素のどちらか)が、カーソル591で選択され、スナップバー503と部分的に同じ場所に置かれるように移動される。例えば、ユーザインプットにより、ユーザ113は、選択要素501をスナップバー503の上にドラッグすることができる。既存要素502は、スナップバー503のプロパティに従って、既にスナップバー503の上に位置づけられている。
【0052】
追加ユーザインプットにより、ユーザ113は、選択要素501がスナップバー503上に位置づけられるべきであることを示すことができる。例えば、ユーザ113は、選択要素501をスナップバー503の上にドロップすることができる。選択要素501がスナップバー503の上にドロップされたという検出に応答して、図表500は、自動的に更新し、ディスプレイ109上に提示することができる。例えば、
図5Bに示すように、スナップバー503は、選択要素501に合わせるように、サイズ変更スナップバー503Rへサイズ変更される。
図5Cに示すように、選択要素501および既存要素502は、サイズ変更スナップバー503Rのプロパティに従って、サイズ変更スナップバー503R上で調整され整列される。
【0053】
本発明の実施形態は、視覚ランドマーク上での既存要素の展開を容易にする。
図6A、6Bは、図表600中のスナップバー上で要素を展開する例を示す。
【0054】
図6Aに示すように、要素601、602は、スナップバー603のプロパティに従って、スナップバー603に相対して位置づけられる。要素602は、カーソル691で(例えば、ユーザインプットにより)選択される。追加ユーザインプットにより、ユーザ113は、要素602がスナップバー603上で展開されるべきであることを示すことができる。例えば、ユーザ113は、メニューまたはボタンバー(ユーザインターフェイス101によって提示される)から展開項目を選択することができる。
【0055】
展開項目を選択する追加ユーザインプットに応答して、図表600は、自動的に更新し、ディスプレイ109上に提示することができる。例えば、
図6Bに示すように、スナップバー603は、展開要素602Eに合わせるように、サイズ変更スナップバー603Rへサイズ変更される。展開要素602Eは、3つのサブ要素、すなわち要素612、622、632も現わす。要素601、展開要素602E、および要素612、622、632は、サイズ変更スナップバー603Rのプロパティに従って、サイズ変更スナップバー603R上で調整され整列される。
【0056】
本発明の実施形態は、視覚ランドマーク上の要素の、視覚ランドマーク上の異なる位置への移動を容易にする。
図7A〜7Cは、図表700中のスナップバー上の要素を移動する例を示す。
【0057】
図7Aに示すように、要素701、702は、スナップバー703のプロパティに従って、スナップバー703上に位置づけられる。続いて受け取られたユーザインプットが、要素702が要素701の右側から左側に移動されるべきであることを示す。例えば、要素702は、カーソル791で選択し、要素701の右側から左側にドラッグすることができる。
図7Bに示すように、要素702(選択中)は、要素701の左に位置づけられる。
【0058】
追加ユーザインプットにより、ユーザ113は、要素702がスナップバー703上の要素701の左に位置づけられるべきであることを示すことができる。例えば、ユーザ113は、要素702(選択中)を、
図7Bにおいて示された位置にドロップすることができる。要素702(選択中)がスナップバー703の上にドロップされたという検出に応答して、図表700は、自動的に更新し、ディスプレイ109上に提示することができる。例えば、
図7Cに示すように、要素701、702は、スナップバー703のプロパティに従って、スナップバー703上で調整され整列される。要素702は、要素701の左に位置づけられる。
【0059】
本発明の実施形態は、視覚ランドマークを移動して、視覚ランドマーク上に位置づけられた要素をすべて移動することを容易にする。
図8A〜8Cは、スナップバーを移動して、図表800中のスナップバー上の要素をすべて移動する例を示す。
【0060】
図8Aに示すように、要素801および要素802は、スナップバー803のプロパティに従って、スナップバー803に相対して位置づけられる。続いて受け取られたユーザインプットが、スナップバー803が選択されるべきであることを示す。例えば、スナップバー803は、カーソル891で選択すればよい。選択されると、スナップバー803は、図表800内で移動することができる。例えば、
図8Bに示すように、スナップバー803は、(選択されているスナップバー803の)新しい位置に向かって下および右に移動することができる。要素801、802は、スナップバー803とともに移動する。追加ユーザインプットが、スナップバー803が図表800内の新たな位置に留まるべきであることを示すことができる。ドラッグアンドドロップ操作は、スナップバー803を要素801、802とともに、新たな位置に移動するのに用いられることができる。
【0061】
本発明の実施形態は、視覚ランドマークの可視性のトグルを容易にする。
図9A、9Bは、図表900中でスナップバーをトグルする例を示す。
【0062】
図9Aに示すように、要素901はスナップバー911に相対して位置づけられ、要素902、903、904はスナップバー912に相対して位置づけられ、要素905、906、907はスナップバー913に相対して位置づけられる。スナップバー914は、受け取られる視覚要素に対して利用可能であると示される。スナップスタック921は、図表900内に要素を並べるためのグリッド構造を提供する。例えば、スナップスタック921は、隣接スナップバーの間の定義済み間隔設定を維持する(本質的に、いくつかの行を維持する)ためのプロパティをもち得る。各スナップバー(行)は、必要に応じて、要素に合わせるように水平方向にサイズ変更することができる。要素は、図表900に追加されると、新たなスナップバーまたは既存のスナップバー上の場所を占め得る。
【0063】
図9Bに示すように、スナップスタック921(スナップバー914が空なので、スナップバー914を含む)は、トグルによりオフ表示にされる。ただし、
図9Aの視覚ランドマークのプロパティに従う要素の配列は残る。したがって、要素は、視覚ランドマークを使用して整理され、視覚ランドマークは続いて、整理された要素配列がそのまま残るように隠されることができる。
【0064】
したがって、概して視覚ランドマークは、図表内で要素を整理するのを支援するために図表に追加され得る。異なる様々なタイプの視覚ランドマークを使用することができる。各タイプの視覚ランドマークは、視覚ランドマークのタイプに関連づけられた要素に対する配列および調整を定義する構成可能プロパティを含み得る。構成可能プロパティは、関連づけられた要素が、視覚ランドマークに相対してどのように位置づけられるべきかを定義することができる。構成可能プロパティは、関連づけられた要素が、相互に相対してどのように位置づけられるべきかも定義することができる。続いて、図表内の要素は、視覚ランドマークに関連づけ、視覚ランドマークの構成可能プロパティに従って整理され、かつ/または調整されることができる。
【0065】
例えば、
図10A〜10Dは、図表中の要素を整理するのに使用することができるスナップバーのいくつかの例を示す。
図10Aは、水平スナップバー1003に相対して位置づけられた要素1001、1002を示す。水平スナップバー1003のプロパティの1つは、要素が水平スナップバー1003上で水平方向に均等間隔設定されるべきであることを示すことができる。
図10Bは、水平スナップバー1014に相対して位置づけられた要素1011、1012、1013を示す。水平スナップバー1014のプロパティの1つは、水平スナップバー1014上での要素1012と要素1013との間の間隔増大を示すことができる。
図10Cは、垂直スナップバー1024に相対して位置づけられた要素1021、1022、1023を示す。垂直スナップバー1024のプロパティの1つは、要素が垂直スナップバー1024上で垂直に均等間隔設定されるべきであることを示すことができる。
図10Dは、対角線スナップバー1033上の要素1031、1032を示す。
【0066】
図11A、11Bは、図表中で要素を整理するのに使用することができるスナップベジエの例を示す。スナップベジエは、スナップバーの変形体である。
図11Aは、スナップベジエ1105上の要素1101、1102、1103、1104を示す。スナップベジエ1105のプロパティの1つは、比較的著しくない曲率をもつものでよい。
図11Bは、スナップベジエ1115上の要素1111、1112、1113、1114を示す。スナップベジエ1115のプロパティの1つは、より著しい曲率をもつものでよい。
【0067】
図12A〜12Cは、図表中で要素を整理するのに使用することができるスナップアークの例を示す。スナップアークは、スナップバーと似ているが、楕円形状である。
図12Aは、スナップアーク1206上の要素1201、1202、1203、1204、1205を示す。スナップアーク1206のプロパティは、比較的小さい半径および比較的大きい角を含み得る(すなわち、完全な円に比較的近い)。
図12Bは、スナップアーク1214上の要素1211、1212、1213を示す。スナップアーク1214のプロパティは、比較的小さい半径および比較的小さい角を含み得る(すなわち、完全な円とは比較的かけ離れている)。
図12Cは、スナップアーク1224上の要素1221、1222、1223を示す。スナップアーク1224のプロパティは、比較的大きい半径および比較的小さい角を含み得る。
【0068】
さらに、スナップバー、スナップベジエ、およびスナップアークは、他の様々な構成可能プロパティを共通にもち得る。例えば、スナップバー、スナップベジエ、およびスナップアークは、分布が均等であるかそれとも自由形式であるか、下整列、上整列、左整列、および右整列の1つまたは複数(適用可能なとき)、回転角度(例えば、45度、90度など)、並びに間隔(例えば、ピクセルで表す)を定義する構成可能プロパティを含み得る。
【0069】
グラビティウェル(gravity well)は楕円形であり、所望通りサイズ決定することができる。グラビティウェルの「影響フィールド」内の追加図形は、動力ベースのアルゴリズムによって定義される通り、グラビティウェルに向かって引きつけられ得る。
図13A〜13Cは、図表中で要素を整理するのに使用することができるグラビティウェルの例を示す。
図13Aは、グラビティウェル1304の影響フィールド内にある要素1301、1302、1303を示す。グラビティウェル1304は、円形である。
図13Bは、グラビティウェル1314の影響フィールド内にある要素1311、1312、1313を示す。グラビティウェル1314は楕円であり、垂直方向に配向される。
図13Cは、グラビティウェル1323の影響フィールド内にある要素1321、1322を示す。グラビティウェル1323は楕円であり、斜め方向に配向される。グラビティウェルは、範囲(例えば、直径で表す)および分布(例えば、平衡、上、下、左、右など)を定義する構成可能プロパティを含み得る。
【0070】
スナップスタックは、スタッキンググリッド構造に従って要素を並べるのに使われ得る。図形は、パスに追加されると、新たな行または既存行内部のセルを占め得る。新たな行およびセルは、スナップスタックに要素が追加されたときに生成され得る。
図14A、14Bは、図表中で要素を整理するのに使用することができるスナップスタックの例を示す。
図14Aは、スナップバー1411、1412、1413、1414を含むスナップスタック1421を示す。
図14Bは、スナップバー1411、1412、1413上に位置づけられた、相互接続された要素1401〜1407を示す。スナップスタックは、セル分布(例えば、自由形式または均等)スタック左、スタック中央、スタック右、回転(例えば、45度、90度など)、並びに行間設定を定義する構成可能プロパティを含み得る。
【0071】
スティッキーボックス(sticky box)は、長方形であり、要素の集合体を整理し、移動し、管理するのに使用することができる視覚グループとして作用する。
図15は、図表中で要素を整理するのに使用することができるスティッキーボックスの例を示す。
図15は、スティッキーボックス1505内の要素1501〜1504を示す。スティッキー投げ縄(sticky lasso)は、任意の形状であり、要素の集合体を整理し、移動し、管理するのに使用することができる視覚グループとして作用する。
図16は、図表中で要素を整理するのに使用することができるスティッキー投げ縄の例を示す。
図16は、スティッキー投げ縄1611内部の要素1601〜1605を示す。要素1606、1607、1608は、スティッキー投げ縄1611の外側にある。スティッキー投げ縄は、比較的標準的な幾何学図形に該当しない対象グループ化領域の使用を容易にする。スティッキーボックスおよびスティッキー投げ縄は、展開/縮小およびサイズ変更/パス変更を定義する構成可能プロパティを含み得る。
【0072】
概して、本発明の実施形態により、ユーザは、所望の挙動を視覚ランドマークに示させるように視覚ランドマークをカスタマイズすることができる。本発明の実施形態は、新たな視覚ランドマークを作成するような、個々の視覚ランドマークのカスタマイズも含む。例えば、既存のスナップアークの半径は、新たなスナップアークを作成するように修正する(大きくし、または小さくする)ことができ、既存のスティッキー投げ縄は、新たな境界をもつ領域を作成するように修正することができ、スナップベジエは、曲率を変更し、新たな曲線を追加し、または既存の曲線を削除して新たなスナップベジエを作成するなどのように修正することができる。
【0073】
いくつかの実施形態では、既存の複数の視覚ランドマークが合成されて、カスタマイズされた視覚ランドマークを作り出す。
図18は、カスタマイズされた視覚ランドマーク1800の例を示す。
図17は、視覚ランドマークをカスタマイズする方法例1700のフローチャートを示す。方法1700を、
図1のコンピュータアーキテクチャ100のコンポーネントおよびカスタマイズされた視覚ランドマーク1800を参照して記載する。
【0074】
方法1700は、図表中で視覚要素を整理するのに使用され得る格納された視覚ランドマークにアクセスし、視覚的に提示する行為(行為1701)を含む。例えば、ここで
図1を参照すると、ユーザ113は、視覚ランドマーク選択インプット134を入力することができる。ユーザインターフェイス101は、視覚ランドマーク選択インプット134が、視覚ランドマークを選択するユーザインプットであると判断することができる。それに応答して、ユーザインターフェイス101は、視覚ランドマーク選択インプット134を図表エディタ102に転送することができる。図表エディタ102は、視覚ランドマーク選択インプット134を処理し、視覚ランドマークリポジトリ135にある視覚ランドマークにアクセスすることができる。図表エディタ102は、図表データ112中に視覚ランドマークを含め、図表データ112を、表示デバイス108で表示するために描画モジュール107に送ることができる。描画モジュール107は、選択された視覚ランドマークをディスプレイ109上に視覚的に描画することができる。複数の既存の視覚ランドマークが合成されるべきとき。行為1701は、複数の視覚ランドマークの各視覚ランドマークにアクセスし、視覚的に提示するために、必要に応じて繰り返してよい。例えば、
図18を参照すると、スナップバー1821、1822、1823、1824、1825にアクセスするために、行為1701を繰り返せばよい。
【0075】
方法1700は、ユーザ入力インプットに従って視覚ランドマークの視覚的表現を変更する行為(行為1702)を含む。例えば、ユーザ113は、行為1701で視覚的に提示された任意の視覚ランドマークを変更するためのユーザインプットを入力することができる。視覚ランドマークが選択されると、視覚ランドマークフィードバックは、(例えば、図表内の要素に適用可能な任意の表示を用いて)ユーザ113に対して選択を視覚的に示すことができる。例えば、スナップバー1821が選択されると、描画モジュールは、(例えば、スナップバー1821を破線で提示する)視覚ランドマークフィードバック143を表示デバイス108に送ることができる。
【0076】
方法1700は、ユーザ入力インプットに従って視覚ランドマークの1つまたは複数のプロパティを構成する行為(行為1703)を含み、構成された1つまたは複数のプロパティは、関連する視覚要素を視覚ランドマークに相対してどのようにして自動的に位置づけて、関連する視覚要素を図表中で整理するかを示す。例えば、
図18において、様々なスナップバーのエンドポイントは、スナップバーを合成するように接続することができる。エンドポイント1821B、1822A、1823Aは、相互に接続することができ、エンドポイント1823B、1824A、1825Aは、カスタマイズされた視覚ランドマーク1800を形成するように接続することができる。
【0077】
方法1700は、構成された1つまたは複数のプロパティとともに、変更された視覚的表現を新たな視覚ランドマークとして格納する行為(行為1704)を含み、新たな視覚ランドマークは、ユーザ入力インプットに従った図表の整理に使用される。例えば、ユーザ113は、カスタマイズされた視覚ランドマーク1800を視覚ランドマークリポジトリ135に格納させるユーザインプットを入力することができる。
【0078】
視覚ランドマークは、自由形式で整理された視覚要素をもつ図表に適用して、図表内部で要素を整理するのを支援することができる。視覚ランドマークは、自動配列機構に従って(例えば、自動レイアウトアルゴリズムに従って)整理された視覚要素をもつ図表に適用して、図表内部で要素を整理するのを支援することもできる。視覚ランドマークは、視覚要素の自動配列に制約を適用することによって、自動配列機構と併用することができる。
【0079】
したがって、本発明の実施形態は、(一部の実施形態ではカスタマイズされた)視覚ランドマークを使用して図表内部で要素を整理することを容易にする。図表の要素は、図表内にある程度のレイアウト構造を与えるように、視覚ランドマークの構成可能に定義されたプロパティに従って整理することができる。したがって、本発明の実施形態は、何らかの構造を与えるが、自由形式編集の柔軟性を保持するユーザ経験を提供する。
【0080】
本発明は、本発明の精神または本質的な特性から逸脱することなく、他の特定の形で実施することもできる。説明した実施形態は、あらゆる点において例示に過ぎず、制限ではないと理解されたい。本発明の範囲は、したがって、上記の説明ではなく、特許請求の範囲によって示される。特許請求の範囲の等価物の意義および範囲内であるすべての変更は、特許請求の範囲の範囲に含まれる。