JP4315508B2 - フリーフォームグラフィックスシステムおよびフリーフォームグラフィックスシステムを操作する方法 - Google Patents
フリーフォームグラフィックスシステムおよびフリーフォームグラフィックスシステムを操作する方法 Download PDFInfo
- Publication number
- JP4315508B2 JP4315508B2 JP00472799A JP472799A JP4315508B2 JP 4315508 B2 JP4315508 B2 JP 4315508B2 JP 00472799 A JP00472799 A JP 00472799A JP 472799 A JP472799 A JP 472799A JP 4315508 B2 JP4315508 B2 JP 4315508B2
- Authority
- JP
- Japan
- Prior art keywords
- domain object
- domain
- icon
- action
- attribute data
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Description
【発明の属する技術分野】
本発明は、フリーフォーム(自由形式)コンピュータ制御のディスプレイシステムのためのインタフェースの分野に関し、特に、フリーフォームコンピュータベースのシステムにおいてデータを表現するアプリケーションに適合されたオブジェクトの提供に関する。
【0002】
【従来の技術】
「電子ホワイトボード」やペンベースシステム等のコンピュータベースシステムは、ペン、スタイラス、またはカーソル制御装置等の入力装置の使用に基づくグラフィカルユーザーインタフェースを提供する。このようなシステムはハードウェアとソフトウェアの組み合わせであることが多く、一般的にはフリーフォーム入力を可能にし、フリーフォームグラフィックスシステムと呼ばれている。このようなシステムでは、「ディスプレイ」が、データを表示するための手段としても入力媒体としても作用する作業空間(ワークスペース)を示す。このディスプレイ上に、入力装置を用いて作成されるペンストロークによってグラフィックオブジェクトを「描画」することができる。グラフィックオブジェクトは、語、図形、または表示できるあらゆる物を表現することができる。そのグラフィックオブジェクトに対して、ジェスチャとして知られる入力技法を用いてさまざまな動作を行うことができる。ジェスチャ自体は、単に、命令として解釈されるペンストロークである。このようなシステムは、ペンストロークが永続的なグラフィックオブジェクトを作成するのか、それともジェスチャとして扱うべきなのかを区別するために、描画動作モードとジェスチャ動作モードとを有することがある。
【0003】
ユーザーインタラクションを簡単にするために、LiveBoardシステムは構造という概念を提供している。概念的には、構造はある特定の関係を持つグラフィックオブジェクトの集合体、たとえばLiveBoard上に書かれたアイテムのリスト等である。構造動作が起こると、そのアイテム間の関係が保持される。たとえば、アイテムがリストの中間に挿入されると、挿入された点より下のアイテムは下に移動されて、挿入されるアイテムのための場所を形成する。
【0004】
LiveBoardのようなフリーフォームグラフィックスシステムを使用しているときに作業している情報はその多くが構造化されたデータであることが分かっている。構造化されたデータとは、個々のデータ要素が定義された関係を形成する情報の表現である。たとえば、表計算アプリケーションの個々のセルに見られるデータは、表計算の情報を含む。1つのセルに含まれる「値」が他のセル内の値に依存し得るので、構造の関係が成り立つ。
【0005】
【発明が解決しようとする課題】
既知のフリーフォーム編集プログラムはグラフィックオブジェクトの根底にある内容を参照しないため、グラフィックオブジェクトの内容がこのような関係を有する動作を簡単にするわけではなく、一方、構造化されたアプリケーションは融通がきかないことが多く、あらかじめ定義された構造の範囲内に使用が制限されてしまう。
【0006】
構造化されたデータの支援を促進する一方で、必要に応じて注釈をつけたり、いかなる種類のしるしをもつける自由が与えられるような、両方の種類のアプリケーションの長所を柔軟に組み合わせることが望ましい。
【0007】
【課題を解決するための手段】
フリーフォームグラフィックスシステムで使用するためのドメインオブジェクトが開示される。ドメインオブジェクトとは、フリーフォームグラフィックスシステムで使用される構造化されたデータを特定のコンテキストにあわせて表現したものである。ドメインオブジェクトは、フリーフォームグラフィックスシステムにおいてアイコンによって表現される。ドメインオブジェクトを表すアイコンは、他のグラフィックオブジェクトと同様に操作が可能である。ドメインオブジェクトは、属性と、アクションルールの組と、レイアウトとを定義するドメインオブジェクトクラスによって定義される。属性は、ドメインオブジェクトと関連するデータまたは情報を説明する。アクションルールの組は、ユーザーアクションおよびシステム事象をドメインオブジェクトに対して行うことが可能な動作にマッピングする。レイアウトは、ドメインオブジェクト情報がアイコンとしていかに表示されるかを定義する。属性は計算値を有しても良い。属性は、他の属性の値に基づいて、または作業面上のデータオブジェクトを表すアイコンの空間的配置に基づいてその値が計算される。
【0008】
本発明のフリーフォームグラフィックスシステムは、一般に、作業面上にグラフィックオブジェクトを表示するためのディスプレイと、前記作業面上のグラフィックオブジェクトに対するユーザーアクションを入力するための入力装置と、属性データを記憶するためのデータベースと、ドメインオブジェクトクラス定義を記憶するための記憶装置とを含む。ドメインオブジェクトクラス定義は、属性と、アクションルールの組と、レイアウトとを定義する。前記属性の各々は、他の属性の値に基づく、またはドメインオブジェクトを表すアイコンと関連する空間パラメータに基づく計算値を有することを特定することができる。前記システムはさらに、属性データおよびドメインオブジェクトクラス定義から複数のドメインオブジェクトを生成するためのドメインオブジェクト生成回路と、計算値を有すると特定された属性について値を計算するための属性値計算回路と、ドメインオブジェクトクラス定義の前記レイアウトのうちのひとつを用いて前記ディスプレイ作業面上に表示するためのアイコンを生成するアイコン生成回路とを含む。
【0009】
【発明の実施の形態】
フリーフォームグラフィックスシステムで使用するためのドメインオブジェクトが開示される。フリーフォームグラフィックスシステムは、一般に、入力オブジェクトがシステムと関連する作業空間において空間的にどこに置かれても良いという特徴を有する。ドメインオブジェクトは、アプリケーションにおける関連情報の集合を表現するのに用いられる。ある意味で、ドメインオブジェクトは、構造化された情報を表現するという点で構造化されるが、別の意味では、ドメインオブジェクトは、フリーフォームグラフィックスシステムにおける他のグラフィックオブジェクトと同じように空間的な配置、操作、または解釈が可能であるという点において、フリーフォームである。
【0010】
本明細書において、以下の意味を有する用語を用いる。
【0011】
グラフィックオブジェクト:フリーフォームグラフィックスシステムの作業空間で表示されるあらゆるオブジェクト。
【0012】
ドメインオブジェクトクラス:オブジェクトの組として特定の作業ドメイン内のデータの組を構造化するための仕様の組。ドメインオブジェクトクラスは、レイアウト、アクション、および属性の組を定義する。
【0013】
ドメインオブジェクト:オブジェクトとしてまとめられる特定の作業ドメイン内のデータの組。各ドメインオブジェクトは、その独自の特定のデータの組を有するドメインオブジェクトクラスのインスタンスである。この言葉は、本発明によって提供される機能全体を包括的に指すのにも用いられる。
【0014】
アイコン:そのドメインオブジェクトクラスのレイアウト定義によって特定されるドメインオブジェクトの視覚的表現。
【0015】
アプリケーション:特定のドメインオブジェクトクラスの組がそのために定義される特定の作業のドメインまたはタイプ。
【0016】
ユーザーアクション:グラフィックオブジェクトと関連するユーザー入力。たとえば、グラフィックオブジェクトに対してジェスチャを行ったり、グラフィックオブジェクトを空間的に移動させたりすることで、システムがこれを事象(イベント:event)と解釈するとともに、対応する動作が引き起こされる。
【0017】
システム事象:ある時間の経過のように、対応する動作を行うことを引き起こすが、ユーザーアクションから起こるのではなくシステムによって検出される外部事象。
【0018】
空間構造:グラフィックオブジェクトの組の間での所定の空間的関係。構造内のグラフィックオブジェクトに対して行われる動作は、この所定の空間的関係を保存するものである。
【0019】
ドメイン構造:ドメインオブジェクトクラスまたはクラスの組において定義された属性データ値間の関係。
【0020】
計算値:明示的に特定されたのではなく計算によって得られたドメインオブジェクトクラス内の属性データ値。
【0021】
ドメインオブジェクトは、さまざまなタイプのアプリケーションに用いることができる。予算管理のアプリケーションでは、ドメインオブジェクトクラスを、個々の予算アイテムを表すように定義しても良い。会議を促進するために用いられるアプリケーションでは、ドメインオブジェクトクラスを議事アイテムを表すように定義しても良い。その他の例としては、空間計画における部屋と人、プロジェクト管理におけるタスクと資源、設計における要件と技術的選択肢などが挙げられる。ドメインオブジェクトは所望の情報を表すものであり、アイコンとしてフリーフォームグラフィックスシステムの作業空間上でアイコンとして視覚的に表示される。アイコンは、ディスプレイスクリーン上においてフリーフォームグラフィックスシステム上の他のグラフィックオブジェクトのように操作できる。
【0022】
本発明の現在好適であると考えられる実施形態は、電子ホワイトボード等の共同アクティビティを支援するシステム上で実施される。本発明はまた、ペンベースシステム、ラップトップ、パームトップ、電子デスクトップ等の他のタイプのシステムにも適している。さらに、いかなるフリーフォーム編集プログラムも本発明を組み込むことができる。フリーフォーム編集プログラムとは、ユーザーが空間的制限を受けることなくディスプレイ上で素材を自由に形成、編集するのを可能にする、通常はペンベースのグラフィックスシステムを指す。その例としては、ホワイトボード、スケッチパッド、またはノートブック等のメタファに基づく走り書き、スケッチ、ペイントのアプリケーションが含まれる。
【0023】
本発明で使用できるフリーフォームグラフィックスベースコンピュータベースシステムは図1に示される。図1を参照して、このコンピュータベースのシステムは、バス101を介して結合される複数の構成要素を含む。バス101はここでは本発明を明瞭にするために簡略化して図示している。バス101は、複数の並列バス(アドレス、データ、およびステータス(状態)バス等)およびバスの階層(たとえばプロセッサバス、ローカルバス、およびI/Oバス)から成るものであってもよい。いずれにせよ、コンピュータシステムはさらに、内部メモリ103からバス101を介して与えられる命令を実行するためのプロセッサ102を含む(内部メモリ103は典型的にはランダムアクセスメモリまたはリードオンリー(読み出し専用)メモリの組み合わせであることに留意されたい)。動作中、本発明の種々の機能的要素を実行するためのプログラム命令は、内部メモリ103に記憶される。プロセッサ102および内部メモリ103は、個別の構成要素であってもよいし、単一の統合された装置であってもよい。プロセッサ102および内部メモリ103は、ここで説明する種々の処理機能を実行するための回路を含む。バス101にはさらに外部記憶装置107が結合される。外部記憶装置107は、一般に、磁気または光ディスク記憶装置等の大容量記憶媒体である。
【0024】
バス101にはさらに、ディスプレイ104とポインティングデバイス105が結合される。現在好適な実施形態においては、ポインティングデバイス105は、ペン駆動型赤外感知パネルであり、ディスプレイ104と統合される。このようなスクリーンディスプレイは当該分野では周知であり、ペンベースシステム等のシステムにおいて、また電子ホワイトボードシステムのために使用される。しかし、ポインティングデバイス105とディスプレイ104とは必ずしも統合されていなくてもよく、ポインティングデバイス105をスタイラス、マウス、トラックボール、または他のカーソル制御デバイスとしてもよい。
【0025】
本発明の現在好適と考えられる実施形態は、Tivoliとして知られるとともに、本明細書中でもそのように称するホワイトボードエミュレーション制御プログラムの制御下で動作するLiveBoardシステム上で実施される。このLiveBoardシステムは、ゼロックス社が開発した大型スクリーンコンピュータベースシステムである。
【0026】
本発明の現在好適と考えられる実施形態に応用する際のTivoliのさまざまな特徴を以下に説明する。
【0027】
本発明の現在好適と考えられる実施形態は、以下の要素、すなわち
(1)ドメインオブジェクトの概念(コンセプト)
(2)ドメインオブジェクトを表すデータを記憶することができるデータベース
(3)ドメインオブジェクトを編集できるフリーフォーム編集プログラム
(4)編集プログラムとデータベースとの間でドメインオブジェクトを転送するためのプログラム
(5)アプリケーションにおけるドメインオブジェクトの構造、外観、振る舞い、およびユーザーインタフェースを定義するスクリプト言語
を有するコンピュータベースシステムにおいて実現される。
【0028】
図2は、要素間の関係を示すブロック図である。図2を参照すると、データ201は、データベース202に記憶されたドメインオブジェクトデータを表す。データベース202は、ファイル、スプレッドシート(表計算)、またはリレーショナルデータベース等のドメインオブジェクトを永続的に記憶するいかなるリポジトリ(格納場所)であってもよい。ここで、データ201は前から存在するデータであってもよいし、ドメインオブジェクトが使用されるアプリケーションのために作成されたデータであってもよい。システム内での動作のためには、データベースはデータをオブジェクトとしてデータベースへ/からエクスポート/インポートできなくてはならない。オブジェクト転送プログラム204が、データベース202内のデータをオブジェクトとして解釈するためにデータベースに対するプロトコルを使用できるのであれば、データベースはそれ自体がオブジェクト指向型である必要はない。現在好適と考えられる実施形態においては、使用されるデータベースの一つとして、市販されているロータスノーツ(Lotus Notes)(登録商標)データベースプログラムが挙げられる。
【0029】
フリーフォーム編集プログラム203は、ドメインオブジェクトのアイコン表現に対する動作を操作、実行するために使用される。上述のように、現在好適と考えられる実施形態では、実現されるフリーフォーム編集プログラムはLiveBoard上で動作するTivoliである。Tivoliは、ストローク、文字、クロック、境界等のグラフィックオブジェクトを含む2次元作業空間(ページ)を呈示する。これらのグラフィックオブジェクトは、作業面上で自由に作成、編集、配置することができる。このシステムはペンベースであり、そのためユーザーにとって特に簡単で自然なものとなっている。フリーフォーム編集に加えて、Tivoliは、空間構造のサポートのための「暗黙の構造化」(オンデマンドリスト操作等)を可能にする。Tivoliはまた、オブジェクト間のリンクおよび領域を定義する境界を形成することによって作業面上の素材を編成するのを可能にする。Tivoliは、ドメインオブジェクトを表すアイコンの解釈およびこれに対する動作をTivoliの他のグラフィックオブジェクトと同様に行う。以下に説明するように、手書きストローク等のTivoliにおける他のグラフィックオブジェクトを、ドメインオブジェクト内の属性値として使用することができる。
【0030】
オブジェクト転送プログラム204は、フリーフォーム編集プログラム203とデータベース202との間のデータ201の転送を容易にする。オブジェクト転送プログラム204は、ドメインオブジェクトクラス情報を含むドメインオブジェクトスクリプト205にアクセスする。現在好適と考えられる実施形態では、Tivoliマークアップ言語(TML)フォーマットで入力ファイル206を作成し、データを抽出するのにロータスノーツのアプリケーションプログラミングインタフェース(API)を用いるオブジェクト転送プログラム204が書かれており、Tivoliはこのファイルをロードすることができる。以下にTMLでの入力ファイル206の例を挙げる。TMLは、ドメインオブジェクトがTivoliページ上で記述され、空間的に配置されることを可能にする。入力ファイル206がTivoliにロードされると、ユーザーアクションまたはシステム事象によってドメインオブジェクトを変更することができる。Tivoliは、これらの変更されたドメインオブジェクトの記述をドメインオブジェクトファイル207に書きこむことができ、このファイルから別のオブジェクト転送プログラム204がこれらの変更をロータスノーツデータベースに戻すことができる。オブジェクト転送プログラム204は、当業者にはCまたはPythonとして知られるであろう適切なプログラミング言語で書かれる。Python言語についてのさらに詳しい情報は、World Wide Web上のURL、www.python.org.において得られる。スクリプト言語を用いて、アプリケーションで使用されるドメインオブジェクトの構造、外観、振舞い、およびユーザーインタフェースを特定するドメインオブジェクトクラスを定義するドメインオブジェクトスクリプト205を定義する。現在好適と考えられる実施形態では、Tivoliは、そのドメインオブジェクトの構造、外観、振舞い、およびユーザーインタフェースを定義するためのものであってTMLに埋め込まれたドメインオブジェクトスクリプト言語を有する。この言語はドメインオブジェクトクラスの定義を可能化することによってこれを行う。
【0031】
現在好適と考えられる実施形態の上述の説明は、既存のフリーフォームグラフィックス編集システムとともに、市販されている既存のデータベース製品を使用することを容易にするものであることに留意されたい。当業者には、種々の構成要素の機能を単一のスタンドアローンシステムに統合することが明らかになるであろう。このように統合して実施することも本発明の精神および範囲から逸脱するものではない。
【0032】
図3は、ドメインオブジェクトクラスの要素を示すブロック図である。図3を参照して、ドメインオブジェクトクラスは以下の要素、すなわち、属性301と、レイアウト定義302と、アクションルールの組303とを特定することによって定義される。属性301はクラス内のオブジェクトによって使用されるデータアイテムを定義するとともに、そのデータアイテムの値がいかに導出されたかを定義する。属性については図4を参照してより詳細に説明する。レイアウト定義302は、グラフィックオブジェクト(「アイコン」)としてのドメインオブジェクトの種々の外観を記述するのに用いる。現在好適と考えられる実施形態で使用されるレイアウトのタイプは、ドメインオブジェクトアイコンの説明の際により詳細に説明する。アクションルールの組303は、あるユーザーアクションまたはシステム事象が起こった際にどの動作を実行するかを定義するのに使用される。このアクションルールは、好ましくは、ユーザー編集アクション等のユーザー事象およびシステム事象を実行すべき動作にマッピングするのに用いるアクションテーブルにおいて定義される。実行できる動作の種類については以下により詳細に説明する。
【0033】
図4を参照して、ドメインオブジェクトクラスの属性要素は、タイプ401を含むとともに、オプションとして、クラスの任意のオブジェクトの属性の値を決定するための手段を含む。オブジェクトの属性のなかには、データベース内のオブジェクトについての情報から、またはユーザーの直接の入力からそれらの値を明示的に与えられるものもあるが、その値は、クラス内の計算から得られた暗黙のものであってもよい。暗黙の値には、デフォルトと計算されたものとの2つのタイプがある。デフォルト値402は、このクラスのどのオブジェクトにも作成時に(すでに明示的な値を持っていなければ)与えられるものであるが、ユーザーのアクションによって変更が可能である。計算値403は、典型的には同じオブジェクトの他の属性の値、または何らかの論理的もしくは空間的関係のある他のオブジェクトの値に基づいて、式またはプログラムによって決定されるものである。
【0034】
現在好適と考えられる実施形態では、ドメインオブジェクトアプリケーションの設計者は、スクリプト言語を用いて、ある種の会議またはアクティビティのために実質的にTivoliをカスタマイズするクラスの組を作成する。クラスが特定されると、TMLは、特定のドメインオブジェクト(クラスのインスタンス)をTivoliのページ上において定義、配置することを可能にする。
【0035】
現在好適な実施形態では、ドメインオブジェクトおよびそれらの振舞いは、フリーフォームおよび暗黙構造機構の双方の既存のTivoli機構と密接に統合されている。このことは二つの意味でそう言える。すなわち、(1)走り書き、すなわち、手書きの語または図形等の入力装置で形成されたマークはTivoliのどこに形成されてもよく、ドメインオブジェクト属性の値としてこれらをドメインオブジェクトに統合することができる。(2)ドメインオブジェクトアイコンは、Tivoliグラフィックオブジェクトであり、他のオブジェクトと同様に編集が可能である。さらに、Tivoliの暗黙構造機構により、リスト構造を維持するようにストロークが動かされるのと同様にアイコンが動かされる。
【0036】
ドメインオブジェクトを用いたアプリケーションの作成は、その下のフリーフォームグラフィック編集プログラムによって与えられる機能に部分的に依存する。現在好適な実施形態では、Tivoliはフリーフォーム編集プログラムであり、LiveBoardとTivoliの組み合わせは、フリーフォームグラフィックスシステムを含む。いずれにせよ、上述のように、Tivoliシステムはグラフィックオブジェクト間の空間的および構造的関係を認識できるとともに、ジェスチャの形態のユーザー入力を認識することができる。このような機能により、ドメインオブジェクトの機能をフルに活用できるアプリケーションを作成するための枠組みが与えられる。
【0037】
図5は、ドメインオブジェクトを利用したアプリケーションを作成するための基本ステップを示すフローチャートである。まず、アプリケーションの設計者は、ステップ501で必要なデータアイテム、すなわちドメインオブジェクトとその属性を特定する必要がある。これらのデータアイテムは、ドメインオブジェクトクラスによって特定されるドメインオブジェクトの属性およびドメインオブジェクトとなる。設計者はまた、ドメインオブジェクトクラスの属性間の所望の関係およびドメインオブジェクト間の関係をステップ502で特定しなくてはならない。設計者は次に、ステップ503で、特定のフリーフォームグラフィックプログラムの特徴をドメインオブジェクト間の特定された関係にマッピングする。たとえば、Tivoliはいくつかのあらかじめ定義されたペンストロークをそれに対してある動作が行われるジェスチャとして認識する。別の例は、リスト構造を認識するというTivoliの能力によるものであり、ドメインオブジェクト属性をリスト構造に関連付けることが望ましい可能性がある。いずれにせよ、このマッピングから、ステップ504で、設計者はシステム事象およびユーザーアクションとこれに対応するドメインオブジェクトクラスに対する動作を特定する。最後に、設計者は、ステップ505で、システムの作業空間上にアイコンとしてドメインオブジェクトを表示する際のデータの種々のレイアウトを特定する。この時点で、1つ以上のドメインオブジェクトクラスが定義されている。上述のように、ドメインオブジェクトクラスの実現を会議支援の例と関連して以下に説明する。
【0038】
ドメインオブジェクトクラスが特定されると、ステップ506で、データベースからフリーフォームグラフィックスシステムへのデータの転送を容易にするオブジェクト転送プログラムが書かれる。上述のように、オブジェクト転送プログラムは、データベースおよびフリーフォームグラフィックスシステムとインタフェースをとる適切なプログラム言語で書かれる。最後に、ステップ507で、ドメインオブジェクトアプリケーションがフリーフォーム編集プログラムから呼び出され、操作が可能な所望のドメインオブジェクトアイコンの表示を伴ってページが表示される。アプリケーションが呼び出されると、オブジェクト転送プログラムは、フリーフォームグラフィックスシステムが使用するドメインオブジェクトを作成する。
【0039】
ある特定のアプリケーションに対して多数のドメインオブジェクトクラスを定義できることに留意されたい。
【0040】
Tivoliにもたらされたドメインオブジェクトは、Tivoliグラフィックオブジェクトとして扱うことができる。ドメインオブジェクトは見えないデータであるが、アイコンと称する1つ以上のグラフィックオブジェクトによって視覚的に表現される。先に簡単に述べたように、アイコンは、ドメインオブジェクトスクリプト言語を用いてドメインオブジェクトクラス定義のレイアウト表現によって特定される。レイアウト表現は、ドメインオブジェクトのどの属性値をどのようなフォーマットおよび順序で表示すべきかを示すものである。図6は、アイコンのレイアウトの一例を示す。図6を参照して、アイコン601は、「枠」602に分割された2次元の矩形のオブジェクトであり、この枠内には、レイアウトにしたがって、異なる属性値および/または記述テキストが表示される。枠の大きさは、その特定のクラス属性について表示すべき情報の量に依存し、枠の数は、視覚的に表示すべき属性値がいくつあるかに依存する。アイコンは、(1ページに多く表示できるように)小さくてもよいし、(表示するドメインオブジェクトについての情報の量を多くするように)大きくてもよい。ドメインオブジェクトは、そのオブジェクトについて様々な見方が与えられるように、幾つかの異なるアイコンレイアウトを持つようにしてもよい。さらに、各レイアウトは、その特定のドメインオブジェクトクラスの属性すべてを示してもよいし、そのサブセットを示してもよい。
【0041】
レイアウトの各枠は個々に識別可能であることに留意されたい。そのため、たとえば、Tivoliは、アイコン全体ではなく個々の枠に対して行われたユーザーアクション(たとえばジェスチャ)を識別することができる。これが望ましいのは、以下のアクションルールの説明において明らかになるであろう。
【0042】
本発明の現在好適な実施形態で用いられるアイコンの種類に、オーバーレイがある。オーバーレイは、一般に、ユーザーアクションに応じてドメインオブジェクトクラスのより詳細な情報を呈示するのに用いられる。オーバーレイは上述のものと同じ種類のレイアウト表現を用いるが、不透明であるため、大きくても、さらに、混雑した作業空間に表示されても見ることができる。オーバーレイはメニューとしても機能でき、ユーザーがある属性についての一連の値のうちの一つを選択したり、ある動作を行うようにしたりすることができる。
【0043】
アイコンは他のTivoliグラフィックオブジェクトと同様に振舞い、そのように扱われる(すなわち、選択、消去、一掃(ワイプ:wiped)、移動、縮小が可能である)。しかし、ドメインオブジェクトアイコンに対するユーザーインタフェースは、アイコンに対するユーザーアクションに応じた特殊なアクションを定義することによって拡張できる。現在好適な実施形態では、このようなユーザーアクションは、一般的には、ユーザーがペン入力装置を操作してジェスチャを行うことによって引き起こされる。ジェスチャはオープンエンドの(拡張可能な)セットであり、タップ(ペンでアイコンの上をたたく)、ダブルタップ、ホールド(アイコンの上でペンを短時間保持する)、(アイコンから)上、下、右、左へのジェスチャ、上下、または左右のジェスチャ(前後のジェスチャ)、くるくる回す(pigtail)ジェスチャ(通常は消去に用いる)、(何かをアイコン上へともたらす)ドロップなどが含まれる。
【0044】
システム動作は、ジェスチャ等のユーザーアクションと関連付けることが可能である。ドメインオブジェクトのクラス定義はアクションテーブルを特定し、このテーブルは以下の形態のルールのリストである。
【0045】
レイアウト、枠、アクション−>動作(オペレーション)
すなわち、各レイアウト、レイアウト内の各枠、および枠上の各ジェスチャについて異なる動作を呼び出すことができる。アプリケーションの設計者はまた、あらゆるレイアウトまたはレイアウトのあらゆる枠に対して同じ動作が呼び出されるように特定してもよい。
【0046】
ジェスチャに応じてとられる動作は、ドメインオブジェクトスクリプト言語で書かれた任意のプログラムである。その例としては、アイコンの選択、アイコンの外観(そのレイアウトまたは色)の変更、アイコンの消去、属性値の変更、オーバーレイアイコンの呼出し、メニュー(ある種のオーバーレイ)のポップアップ、ページから属性値へのストロークの導入、属性値から作業空間へのストロークのドロップ等が挙げられる。
【0047】
アクションは、ジェスチャされているドメインオブジェクトに対する動作のみに制限されているわけではなく、他のドメインオブジェクトにも影響を及ぼし得る。たとえば、他のドメインオブジェクトへの変更の計算、そのページ上のアイコンのソート(分類:並びかえ))、新しいドメインオブジェクトおよび/またはアイコンの作成、新しい表示ページの作成、等がある。
【0048】
ドメインオブジェクトに対するある特定のジェスチャのスクリプトを作成する際には、動作を連想させるジェスチャを用いるのが好ましい。たとえば、上のジェスチャが値を増分したり、右のジェスチャがアイコンをより大きく変更させたり(すなわち、アイコンは右に拡大するように見える)、上下のジェスチャがリストに対するソート動作を起こしたり(すなわちオブジェクトが縦にシャッフルされる)ようにしてもよい。
【0049】
ドメインオブジェクトのさらなる特徴は、特定の属性の値をダイナミック(動的)に計算できることである。これは、セルがその値を計算する式を含むことができる表計算のアプリケーションに似ている。表計算のように、Tivoliは、影響を及ぼし得るユーザーアクションが終了するたびに属性値をダイナミックに再計算する。Tivoliと表計算の違いは、Tivoliはフリーフォーム編集環境であり、表計算のように厳密なマトリックス(行列)ではない点である。さらに、Tivoliは、計算を行う際に他のドメインオブジェクトを参照するのに空間的関係(すなわち空間構造)を用いるが、表計算はその式におけるセルの単純な絶対または相対アドレス指定を用いる。
【0050】
Tivoliは、表示面上の素材を編成するのに3種類の空間構造、すなわち、リスト、実行テキスト、およびテーブル構造等の種々の空間構造、リンク、および境界によって定義される領域を与える。これらの構造は属性値を計算するのに用いてもよい。図7はTivoliによって与えられる2種類の境界を示す。図7を参照すると、構造化された境界を有する作業空間が示されている。構造化された境界は、矩形の領域を定義するように作業空間を埋める縦または横の直線によって定義される。図7において、境界701および702は交差して、領域703を形成する。曲線704はフリーフォームの囲いの一例である。フリーフォーム曲線は任意の形状の領域を定義する。ここでは、曲線704が囲まれた領域705を定義している。
【0051】
Tivoliは、2つの囲いまたはアイコンを接続するどのストロークもその間のリンクとして認識する。このようなリンクが図8に示されており、ここで、リンク801は、囲い802および803を接続している。リンクは、2つのリンク(連結)されたエンティティの間の関係を示すのに使用する。
【0052】
Tivoliはさらに、グラフィックオブジェクトが配置されたものをリストおよび他の構造のアイテムとして解釈するための機能と、これらの構造を維持および操作するための機能とを与える。たとえば、Tivoliは、任意のオブジェクトの(数値での)リストにおける位置を計算できる。リスト操作は図9に示される。図9を参照すると、複数の要素を有するリスト901が図示されている。要素902が交差点903でリスト901に挿入されており、その交差点より下の要素を下方に「押し下げる」ようにする(アイテムをリストに挿入した際に期待される結果である)。
【0053】
これらの構造をもって、Tivoliは、以下を含むアイコン間の様々な空間的関係を計算することができる。すなわち、
同じ領域またはページ内のアイコン
(矩形領域の)同じ行または列におけるアイコン
その領域内のある方向(上、下)におけるアイコン
ある方向(上、下)において隣り合うアイコン
リンクされるアイコン
リンクされた囲いの中に含まれるアイコン
リストにおけるアイコンの位置
物理的に接触しているアイコン
などである。
【0054】
Tivoliは、種々の算術計算にこれらの空間的関係を使用することができる。たとえば、
ある領域またはページ内のアイコンを有するドメインオブジェクトについてのある特定の属性値の加算
領域内のアイコンの数のカウント
リンクされたアイコンの集合からの、最大値を有するドメインオブジェクトを表すアイコンの発見
などが挙げられる。
【0055】
数値の計算に加え、Tivoliは、アイコンの空間位置の意味を解釈することができる。ここで、プロジェクトを表すドメインオブジェクトとラベルを表すドメインオブジェクトとがあるスタックランキング(stack ranking)のアプリケーションを例にとって考察する。この例は図10および図11に示される。各プロジェクトアイコンは、ラベルアイコン(「A」、「B」、「オンホールド」)を伴う領域内のリストにおけるランキングページ上の位置を有する。各プロジェクトの「ランク」値は、そのプロジェクトのアイコンの空間位置の分析によって計算される。したがって、ラベルアイコン「A」を伴う領域内のグループにおいて2番目の位置にあるアイコン1001は、「A2」のランクを有するものとしてエンコード(符号化)される。各アイコンのランクはアイコンの一番右の枠において示されていることに注目されたい。図11を参照して、アイコン1001自体、またはその領域内の他のアイコンを動かしたり、他のアイコンをその領域へと動かしたり、領域ラベルを動かしたりすると、ランクがダイナミックに再計算される。ここでは、アイコン1001がユーザーのドラッグアクションで、ラベルアイコン「B」を伴う領域の第3の位置に動かされているため、ランク「B3」を有するようになっている。さらに、アイコン1002が「A」領域において上に移動しており、アイコン1002が「A2」を有するようになっている。
【0056】
最後に、Tivoliは、クロック(時計)の時刻に基づく計算を扱うことができる。アクションは現在の時刻への参照を含むことができる。一定間隔で、システムは時間更新事象を発生して、現在の時刻を参照するどのドメインオブジェクト値も変更し、これらに依存する他の値に伝えられる。これは、システム事象の一例である。たとえば、議事アイテムを表すドメインオブジェクトは、割り当て時間の属性を含む可能性がある。議事アイテムが開始されると、その開始時刻属性に現在の時刻が記録される。時間更新事象のたびに、議事アイテムは、開始時刻+割り当て時間を現在の時刻+2分と比較するアクションを有し、もしもこれがそれを上回るものであれば、もうすぐ時間切れであることを知らせる出力(音声ベル等)が発生される。
【0057】
この属性値の更新は、ドメインオブジェクトスクリプトの書き込みによって達成される。
【0058】
図12は、システム事象またはユーザーアクションが起こったときにその下のグラフィックス編集プログラムによって実行されるステップを示す。
【0059】
グラフィックス編集プログラムにおいては、インクストロークを描いたり、境界を作成したり、テキストをタイプしたり、グラフィックオブジェクトのグループを選択したりといった様々な種類のユーザーアクションがある。ここで考慮するのにもっとも面白い種類のアクションは、ドメインオブジェクトアイコンに対するジェスチャ等のユーザーアクションである。というのは、これらのアクションはドメインオブジェクトクラス定義ごとにカスタマイズできるからである。図12を参照すると、グラフィックス編集プログラムに、ステップ1201で、ユーザーアクションが行われたことが示される。すると、プログラムは、ステップ1202で、ユーザーアクションがドメインオブジェクトアイコンに対して行われたかどうかを判断する。ドメインオブジェクトアイコンに対してユーザーアクションが行われなかったと判断すると、ステップ1203で、そのユーザーアクションについてシステムデフォルト動作が行われる。ドメインオブジェクトアイコンに対してユーザーアクションが行われていれば、ステップ1204で、ユーザーアクションのタイプ、ユーザーアクションが発生したアイコンの枠、その下のオブジェクトのクラスが求められる。この情報をもって、プログラムは次に、ステップ1205で、クラスのアクションテーブルを参照して、特定されたユーザーアクションと一致するルール、すなわち、この枠(または「任意の枠」)を言及していてこのアクション(または「任意のアクション」)をそのアクションとして特定しているルールを探す。グラフィックス編集プログラムがオブジェクト自体のクラスにおいて一致するルールを見つけられなければ、ステップ1206で、一致するルールを求めてそのクラスの親を繰り返し調べる。そのクラスに親があれば、ステップ1205に従って処理が続けられ、対応するルールがあるかどうかを調べる。グラフィックス編集プログラムが、一致するルールを見つけることなくクラス階層の一番上に達した場合には、単に、ステップ1203に従って、グラフィックオブジェクトがドメインオブジェクトアイコンではなかったかのように、この種のアクションに対する通常の振舞いをする。たとえば、クラスは「タップ」のジェスチャについてのルールを定義していないが、すべてのクラスによって継承されるグローバルクラスが、任意の枠に対する「タップ」を「アイコンを選択する」という意味で定義している可能性がある(実際、これがTivoliにおけるデフォルトである)。
【0060】
グラフィックス編集プログラムがルールを発見すると、ステップ1207で対応するコードを実行することによって対応する動作を行う。このコードは、スクリプト言語によって支援されるいかなる動作も実行することができる。動作を実行する際にはどんな場合にも、ステップ1208で、コードが計算値に影響を及ぼしうるようなこと、たとえば、ページの領域構造または属性値の変更や、アイコンの作成または削除といったことを行うかどうかを判断する。そうである場合には、グラフィックス編集プログラムは、ステップ1209で、変更に依存するあらゆる計算値を更新する(そのためのコードを実行する)。この更新パスの間に計算値が変更する場合には、ステップ1210で、プログラムはそれらに依存するどの計算値の値も繰り返し更新する。ステップ1209および1210は、依存性のあるすべての計算値が計算されるまでループする。もちろん、ロバストシステム(robast system)は、計算値におけるいかなる循環性をも検出して、無限ループとなるのを防ぐ。
【0061】
アイコンに対するジェスチャ以外のユーザーアクションはクラスごとにカスタマイズ可能としてもよいことに留意されたい。たとえば、選択されたグラフィックオブジェクトの組をドラッグしてアイコンの上に「ドロップ」するのは、処理すべきルールがあり得るようなユーザーアクションの一種である。この場合、ユーザーがその選択したものを「ドロップする」点で、プログラムは下にあるアイコンのクラスおよび枠を定め、上述のように「ドロップ」というアクションを特定するルールを探す。
【0062】
システム事象は、リアルタイムクロック事象のように内部発生するものもあるし、プログラムに関連のある何らかのデータが変更したというネットワークデータベースからの通知のように外部発生するものもある。ここで図12を再び参照して、ステップ1220でシステム事象を受け取る。システム事象は、特定のドメインオブジェクトクラスに属するものとしてすぐには特定できない可能性があるため、一般に、プログラムはすべてのアクティブドメインクラスのアクションテーブルをサーチし、その事象と一致するルールを探すことで応答する。そのあと、ユーザー事象と同様に、ステップ1221で一致するルールを実行し、ステップ1208に従って行われた変更に依存するいかなる計算値も更新する。
【0063】
プログラムはまた、アプリケーションのプログラミングを簡単にするために、ある種のシステム事象を扱うためのデフォルト手順を有してもよい。たとえば、クロック事象の場合、プログラムは、ステップ1223で、現在の時刻に依存するすべての計算値を突き止め、これを更新する。時刻依存性の値を突き止めるのは、スクリプト言語の能力によるものであり、時刻依存性の値が計算、伝播される際に自動的にプログラムがこれらにタグをつけることができる場合もあるし、アプリケーションのプログラマが、どの属性が時刻依存性の値を有するかをドメインオブジェクトクラスにおいて宣言することを必要とする場合もある。
【0064】
上述のように、ドメインオブジェクトの属性値に対する変更は、ファイルに記憶して、後でデータベースに送信し返してもよい。
【0065】
本発明の開発は、LiveBoard等の電子ホワイトボード上で様々な会議での実用に対して微調整できるツールを提供しようとすることがその動機となった。以下に、様々なタイプの会議を支援するように設計されたいくつかの具体的なドメインオブジェクトクラスについて説明する。これらの例は、本発明の様々な種類のドメインオブジェクトおよびインタラクションの特徴を示すものであるが、本発明は会議支援ツールまたは電子ホワイトボード上での実施に限定されるわけではないことに留意されたい。
【0066】
本発明は、スクリプト言語によって特定の用途のために特殊化されたドメインオブジェクトの組をカスタマイズできるという考えに基づいている。しかし、種々のアプリケーションにおいて共通して必要な一般的動作に対してユーザーインタフェイスにおいてある一貫性を有することが有用である。いくつかの一般的動作およびそれらを呼び出すユーザーアクションは以下のとおりである。
【0067】
ドメインオブジェクトの選択には、アイコン上でタップする。
【0068】
ドメインオブジェクトについての情報を拡張するには、アイコンをダブルタップする。これにより、ドメインオブジェクトの別のレイアウトが、オーバレイとして表示される。場合によっては、(オーバレイではなく)元のアイコンにとって変わることでアイコンを幾分より大きなアイコンに拡張することが有用である。これは、「右」ジェスチャによって起こる(「左」ジェスチャは、大きなアイコンをより小さなアイコンに変えるのに用いる)。
【0069】
ドメインオブジェクトアイコンの文書化(ドキュメンテーション)(たとえば、その属性値構造またはそれが応答するカスタマイズされたアクション)には、アイコンを「ホールド」する。これにより、文書化レイアウトがオーバレイ上に表示される。
【0070】
新しいドメインオブジェクトアイコンの作成には、まずペンでストロークを書くこと等によって、ある内容を持つ素材をディスプレイ上に作成し、次にその素材の周りに「ボックス」ジェスチャを作成する。これにより、新しいドメインオブジェクトおよびアイコンが作成され、ボックスのついた素材が新しいドメインオブジェクトのクラス指定された属性の値となる。ボックスジェスチャの際にクラスCのドメインオブジェクトが選択された場合には、新しいドメインオブジェクトはクラスCとなる。その他の場合には、「もの」ドメインオブジェクトが作成され、このオブジェクトは、オブジェクト上でタップしてメニューからクラスを選択することによって別のクラスに変更できる。
【0071】
ディスプレイからインクストローク等の任意の素材をドメインオブジェクトの属性に挿入するには、その素材を選択してその属性に対応するアイコンの枠へとそれをドラッグする。
【0072】
ドメインオブジェクトは、上述のアクションに対して異なる動作を行ったり、または上述の動作を呼び出すのに異なるアクションを使用したりするようにそのスクリプトが書かれてもよいが、振舞いについての一貫した取り決めのスクリプトを書くのが有用である。
【0073】
これらのアプリケーションの開発において、数多くの種々の会議支援アプリケーションにおいていくつかのドメインオブジェクトクラスが一般的に有用であることがわかった。それらのドメインオブジェクトクラスとは、以下を含む。
【0074】
人--人についての情報、たとえば、その人に連絡を取るための電話番号や、その人が会議で出席かどうかを記録する属性等の情報を表す。
【0075】
議事アイテム--会議の議題を表す。属性は、議題、討論参加者(人)、割り当てられた時間を含む。
【0076】
メモ--会議に出席した者がとったメモを表し、携帯装置上でとったものであってもよい。属性は、メモの内容とそれを書いた人を含む。
【0077】
アクションアイテム--割当てられた(任命された)アクションを表す。属性は、アクション、割当てられた者、およびその期限を含む。
【0078】
もの--分類されていないアイテムを表し、後で異なるドメインオブジェクトクラスに変換が可能である。
【0079】
ラベル--他のオブジェクトにタグをつけるようにその近くに配置できるラベルを表す。
【0080】
票--票数を表す。
【0081】
アイテム--発表用スライド上のフレーズ(句)を表す。ユーザーがこれを指すとそのアイテムについて話していることを示す。
【0082】
コストアイテム--コスト(費用)のあるアイテムを表す。属性は、その名前とコストを含む。
【0083】
予算センターサマリー(要約)--コストアイテムの組の予算分類を表す。属性は、その名前、予算目標、現在のコストアイテムの合計、および差異を含む。
【0084】
クロック--クロック(時計)を表し、現在の時刻または何らかの関連の時間(会議開始からの時間等)を示す。
【0085】
事象--ある特定の議題の討論等の事象が起こる時間間隔を表す。
【0086】
リンク--これは関数のオブジェクトであり、そのアクションは、通常別のページ上にある、指定されたドメインオブジェクトアイコンにジャンプするものである。
【0087】
会議で議論される内容は様々であり、一般的な「もの」を越えては、何が有用な分類かなのかははっきりしない。したがって、ある特定の会議の内容を表すドメインオブジェクトはカスタマイズする必要があることが多い。
【0088】
これらのドメインオブジェクトクラスおよびユーザーアクションは、会議のアクティビティの種々の面を支援するために異質のものを組み合わせることができる。これらは、ある具体的な会議支援アプリケーションおよびアクティビティに関連することで最もよく理解されるであろう。
【0089】
予算についての会議のためのツールは最も理解しやすいものである。というのは、作成されるドメインオブジェクトクラスにより、「フリーフォーム表計算」としてのシステムの動作を可能にするからである。この種の予算会議の目的は、コストアイテムが予算に見合うようにすることである。ドメインオブジェクトの主な種類は、コストアイテムと予算センターサマリーの2種類である。
【0090】
コストアイテムのクラスは、スクリプト言語において以下のように定義される。まず、属性と値が定義される。
【0091】
【数1】
コストアイテムには、アイテムの名前、そのコスト、カテゴリー(種類)、予算センターの4つの属性がある。これらの属性のうちの3つにはデフォルト値がない。予算センター属性の値は、コストアイテムと同じ列(カラム)にある予算センターサマリードメインオブジェクトを見つけてその名前属性の値を得ることによって計算される。したがって、コストアイテムが別の列に移動すると、その予算センターは再計算されて別の予算センターの名前となる。これが、ドメインオブジェクトアイコンの空間配置に基づく計算値の一例であることに注目されたい。
【0092】
コストアイテムドメインオブジェクトは3つの異なるアイコンレイアウトを有する。
【0093】
【数2】
デフォルトアイコンは単にコストアイテムのコストと名前を固定幅の枠内に示すだけであり、そのためすべてのデフォルトアイコンは同じサイズであり、うまくリストへと適合する。しかし、長い名前はデフォルトアイコンにおいては切り捨てられる。フルサイズのアイコンは名前全体とカテゴリーを示すような大きさにされる。コストアイテムの文書化アイコンは、コストアイテムアイコンに対して実行することができるアクションとコストアイテムの属性を記述したリテラル列である。
【0094】
アクションはアクションルールにおいて指定される。
【0095】
【数3】
アクションテーブルの第1のルールでは、デフォルトアイコンにおいていかなる枠においてもユーザーがホールドのジェスチャを行うと、システムの動作としてdoc(文書化)アイコンを作成してオーバーレイとして表示する、ということを指定する。同様に、第2のルールでは、デフォルトアイコンのどの枠においてもダブルタップによってフルサイズのアイコンがオーバーレイされることを指定する。次の2つのルールは、コスト枠上での上または下のジェスチャのみに適用され、コスト値を増分(上)または減分(下)することを指定する。
【0096】
予算センターサマリードメインオブジェクトは4つの属性を有する。
【0097】
【数4】
予算センターは、名前、目標予算、現在割り当てられているコストアイテムの合計、および差異を有する。最後の2つの属性は計算される。その合計は、予算センターサマリーアイコンのローカル領域内のすべてのコストアイテムアイコンを見出し、それらのコスト値を合計することによって計算される。差異は、合計と目標との差として計算される。
【0098】
予算センターサマリーアイコンには2つのレイアウトがある。
【0099】
【数5】
デフォルトレイアウトは、4つの属性を示す。文書化レイアウトは、予算センターサマリーオブジェクトの属性およびアクションを説明する。
【0100】
アクションルールは以下のとおりである。
【0101】
【数6】
最初のルールは、文書化を示す通常の方法を指定する。その次の2つのルールは、ユーザーが予算目標を増分または減分するのを可能にする。最後のルールは、予算センターの名前を(すべての予算センターの名前を一覧(サイクリング)することにより)変更するのを可能にする。
【0102】
これらの2つのドメインオブジェクトクラスは、Tivoliにロードされる際に特定のドメインオブジェクトアイコンをレイアウトするようにTMLファイルをセットアップすることにより、個々の予算会議に使用することができる。部分的なTMLファイルは以下のとおりである。
【0103】
【数7】
これは、4つの列を伴うページを指定し、その各々が、ドメインオブジェクトアイコンの縦のリストを有する。その結果として得られるページレイアウトが図13に示される。カラーディスプレイで見ると、第1の列は、「CSA」予算センターに関する青の予算センターサマリーアイコン1301を含み、その後に、いくつかの黒のコストアイテムアイコン1302を含み、そのうちの最初の2つは、「Liveboard3」および「2 LB SVGA ディスプレイ」に関するものである。第2の列は、「DID」に関する予算センターサマリーアイコン1303と、いくつかのコストアイテムアイコン1304とを含む。図13はまた、ユーザーがDIDアイコン1303に対してホールドのジェスチャをするとどうなるか、すなわち、文書化レイアウトのオーバーレイ1305が作成されることを示している。ユーザーはこの上でタップすることによってこのオーバーレイを除去することができる。
【0104】
これらのドメインオブジェクトおよびページレイアウトが予算アプリケーションでどのように使用されるかが図14−図15に示される。このアプリケーションでは、作業空間が、定義された領域1401−1404を有する。領域1401−1403は、予算センターが編成するのに用い、一方、領域1404は、その編成のサマリー情報を定義する。各領域内には、予算センターサマリーアイコン1405と、複数のコストアイテムアイコン1406とが含まれる。各コストアイテムの予算センターは、同じ列内に位置する予算センターサマリーアイコンの名前を見つけることによって計算される。すなわち、コストアイテムは、それが予算センターアイコンと同じ列に位置する場合、その予算センターに属する。したがって、アイコンを列間で移動すると、センター間でコストアイテムを移動することになり得る。コストアイテムは、それを下の領域1410のうちの一つに移動させることによって予算合計から外すことができ、これらの領域においては、アイテムは予算センターサマリーに含まれない(サマリーはそのローカル領域内のコストアイテムアイコンを合計するのみである)。図14は、このようにしていくつかのアイテム1411が予算から外されていることを示す。
【0105】
さらに、この例では各コストアイテムは、会議の参加者に理解されるカテゴリー番号を有する(たとえば、資本支出、営業支出等)。これらのカテゴリー番号は、第1に考慮しなくてはならないものではないため、コストアイテムアイコンには表示されない。しかし、様々なカテゴリー内のアイテムをいかに分配するかを考慮するのが有用なときがある。このためのツールが、図15のページの上部に示されるカテゴリーオブジェクトである。カテゴリーアイコン1501に対してユーザーがジェスチャを行うと、様々なカテゴリーのための枠1502とカラー枠1503を伴う「フルサイズ」のアイコンに拡大される。ユーザーがカラー枠上でタップすると、指定された色が(色の標準リストを一覧することによって)変更され、カテゴリーアイコン自体が新しく指定された色にされる。このためのアクションルールは以下のとおりである。
【0106】
【数8】
ユーザーがC5等のカテゴリー枠1502上でタップすると、以下のアクションルールが呼び出される。
【0107】
【数9】
このルールの動作は、カテゴリーの値が5であるページ上のすべてのコストアイテムアイコンは、その色が新しく指定された色に設定されるというものである。
【0108】
このように、ユーザーがコストアイテムを動かし、コストと目標を調整し、カテゴリーの分配を調べることを可能にすることで予算交渉会議を支援する。
【0109】
別の一般的な会議のタイプに、意思決定会議がある。意思決定会議は、基本的に、ある種の選択肢を評価してその中から選択することに関する。ここで説明する例では、その選択肢はプロジェクトであり、プロジェクトドメインオブジェクトによって表され、選択は、あらかじめ決められた予算内でどのプロジェクトに出資するかということである(ここでは人数の割合で表現される)。
【0110】
図16は、リストに配置される9つの異なるプロジェクトアイコンを示す。この会議の目的は、与えられた予算内でどのプロジェクトに出資するかを決定することである。プロジェクトオブジェクトは、様々な種類の多くの情報からなり、デフォルトプロジェクトアイコンにおいて長い行に配置される。図16はまた、ユーザーがプロジェクトアイコン1602上でダブルタップするとどうなるか、すなわちオーバーレイ1601が作成されてプロジェクト情報の拡張されたものが表示されることを示している。
【0111】
図17は、出資するプロジェクトの選択を示す。プロジェクトオブジェクトのための2つのアクションルールは以下のとおりである。
【0112】
【数10】
任意のプロジェクトアイコンの番号枠上で上または下のジェスチャをすると、プロジェクトオブジェクトの状態属性が設定され、その状態を示すようにプロジェクトアイコンを色づけする(たとえば、選択されたプロジェクトは赤で表示される等)。
【0113】
図17はまた、プロジェクトリストの上のサマリーオブジェクト1703を示す。このドメインオブジェクトは、すべてのプロジェクトの総コスト、予算、および現在選択されているプロジェクトのコスト1703を示す。コスト1703は、合計演算によりダイナミックに計算される。すなわち、何らかのプロジェクトの状態が変化すると、コスト1703は再計算される。
【0114】
図17にはまた、プロジェクトアイコンに対して付けられた手書きの表示1702が示されている。以下に説明するように、これらの手書きの表示は、関連するプロジェクトアイコンとの構造的関係を維持する。
【0115】
会議においては、よりよく理解するために選択肢を違った方法でソートするのがしばしば有用である。異なるプロジェクト属性に従ってソートするためのアクションルールが存在する。たとえば、
【数11】
このルールは、任意のプロジェクトアイコンの内部枠1801に対する上下のジェスチャにより、ローカル領域内のすべてのプロジェクトアイコンを内部属性の値に従ってアルファベット順にソートすることを指定するものである。図18はこのソート動作の結果を示す。
【0116】
ここで、2つの興味深い特徴に気付くだろう。一つは、ソートがTivoliの暗黙構造機構によって行われる点である。ドメインオブジェクトアイコンは、走り書きの注釈等の他のTivoliグラフィックオブジェクトと同様に扱われる。図17と図18とを比較すると、走り書きがプロジェクトアイコンとともに移動しているのがわかる。これは、その走り書きがリスト構造内のアイコンと空間的に関連するためである。もう一つは、ソートアクションが動画となる点である。すべてのプロジェクトアイコンは知覚できる速度で同時に移動する。したがって、会議のメンバーは、ソートが起こっていることが分かるとともに、それがどの程度複雑なソートであるかを認識することができる。
【0117】
会議中に投票の手順を取ることが有用なことが多い。もっとも単純な種類の投票とは、回覧して、参加者がいくつかの選択肢に対して1票以上投票することである。先の意思決定の会議に関連してこれを説明する。図19は、これを票作成オブジェクトおよび票ドメインオブジェクトでどのように達成するかを示す。図19を参照して、「票追加」アイコン1901がページの上部に配置される。この票追加アイコンをダブルタップすると、票ドメインオブジェクトが作成され、各プロジェクトオブジェクトの右に票アイコン1902が一つ配置される。このためのアクションルールは以下のとおりである。
【0118】
【数12】
票ドメインオブジェクトは、以下を含むいくつかのアクションルールを有する。
【0119】
【数13】
票オブジェクトはカウント属性を有する。最初の2つのルールは、ユーザーが票アイコンに対する上および下のジェスチャによってカウントを増分および減分することを可能にする。任意の票アイコンに対する上下のジェスチャによって、ローカル領域におけるすべての票アイコンが数の大きな順にソートされる。この結果が、図19に示される。ここでもやはり、ソートは暗黙構造機構を使用するため、プロジェクトアイコン(および注釈)は、ソートされる際に票アイコンとともに移動される。
【0120】
会議における一般的な機能は、討論の議題を順に並べたリストである議事によって会議を管理することである。議事は、1つ以上の議事アイテムドメインオブジェクトによって表され、これらが議題と提案者/討論参加者を示す。議事は、議事アイテムアイコンを削除またはドラッグすることにより、編集および並べ替えが可能である。新しい議事アイテムは、新しい議題を書き、(一般的な動作に関して上述したように)ボックスジェスチャを行うことによって作成できる。
【0121】
図20は、このようにして作成された議事を示す。議事アイテムアイコン2001−2006が図示されている。議事アイテム2006は、ボード上での走り書きから形成されている。議事アイテムの通常のアイコンは、その連続番号、議題、および討論参加者と、左の特殊な「ボタン」の枠とを示す。番号属性は、リストにおける議事アイテムの実際の位置を反映する。
【0122】
【数14】
ボタンの枠は、議事アイテムの状態属性をエンコードする属性を保持する。
【0123】
【数15】
ある議事アイテムが会議で討論されているとき、それは「アクティブ」な議事アイテムである。議事アイテムアイコンのボタンの枠をタップすると、議事アイテムはアクティブなアイテムとなる。他にいくつかの動作が発生する。新しくアクティブになった議事アイテムアイコンは、視覚的にはっきりと区別され(たとえば、赤等の鮮明な色)、すでに討論された(状態=終了)アイテムも、視覚的にはっきりと区別される(たとえば、グレー等の抑えられた色)。タップされた議事アイテムが議事のリストにおいて現在アクティブなアイテムの次のアイテムでない場合には、タップされたアイテムは上に移動する。このように、議事アイテムリストは、アイテムが実際に討論された順に維持される。
【0124】
これは図21に示されている。最初の2つの議事アイテム(2101,2104)は終了しており、3番目のアイテム2102がアクティブであり、最後の3つ(2103,2105,2106)が未討議である。最初は4番目であった議事アイテム2004(図20)は2番目に議論されており、従ってリスト2104(図21)においては2番目に移動されている。その番号も4から2に変わっていることにも注目されたい。
【0125】
議事アイテムを議論しているとき、その議論のメモを取る場所をもつことが有用である。このためのアクションルールが以下のように与えられる。
【0126】
【数16】
このように、ユーザーが通常のアクションアイテムアイコンのボタン枠に対して下のジェスチャをすると、そのアクションアイテムドメインオブジェクトのための新しい題のアイコンが作成され、新しいページの題として配置される。プログラムは、その題のアイコンが配置されたページにジャンプする。ユーザーはその新しいページ上で討論のメモを取ることができる。その議事アイテムについては終了すると、議事リストページに戻ることができる。そのアクションルールは以下のとおりである。
【0127】
【数17】
これは、題のアイコンに対して上のジェスチャを行うことで、議事アイテムに関する通常のアイコンがある場所、すなわち議事のページにプログラムがジャンプすることを指定する。
【0128】
時間管理も会議の一般的な問題の一つである。簡単で便利なのは、クロックを設けることである。クロックドメインオブジェクトは、システムクロックからダイナミックに計算される属性を有する。クロックドメインオブジェクトは、図20−図22の右上のアイコンに示されるように、ユーザーに表示することができるとともに、他のドメインオブジェクトがアクセスできる現在の時刻の属性を有する。
【0129】
時間管理は、議事にとって有用な特徴である。議事アイテムには、会議の時間を最も効率よく使用できるように、時間が割り当てられることが多い。議事アイテムアイコンは、時間調整(タイミング)の情報を表示するように拡張できる。これは、議事アイテムに対して右のジェスチャをすることで行われる。
【0130】
【数18】
これにより、ローカル領域内のすべての議事アイテムアイコンが時間調整レイアウトに拡大され(図22参照)、議事アイテムのさらに別のいくつかの属性、すなわち、開始時刻2201、実際の継続時間2202、割り当てられた継続時間2203を示す。割り当てられた継続時間を変えるのに、割り当てられた継続時間の枠に対する上または下のジェスチャを使用してもよい。開始時刻および実際の継続時間の属性は、ユーザーが議事アイテムアイコンのボタン枠をタップして新しい議事アイテムの開始を知らせるとセットされる。これらの属性値は、クロックオブジェクトの現在の時刻を参照することにより計算される。
【0131】
もう一つの有用な特徴は、現在アクティブな議事アイテムに対してどれだけの時間が残されているかをユーザーに示すことである。議事アイテムがアクティブであれば、右の部分2204で残り時間を示すレイアウトを使用する。残り時間の属性は、開始時刻、割り当てられた継続時間、およびクロックからの現在の時刻からダイナミックに計算される。さらに、残り時間が警告値(たとえば2分)に達すると、視覚インジケータ(残り時間の枠2204における「***」等)と音声インジケータ(たとえばベル)を鳴らすことによってユーザーにこれが通知される。
【0132】
最後に、会議時間全体の予想を維持するのが有用である。これは、時間サマリーオブジェクト2205によって行われる。このサマリーオブジェクトは、完了した議事アイテムに費やされた合計時間2206と、まだ完了していない議事アイテムに割り当てられた時間2207と、予想される会議終了時刻2208とを示す。
【0133】
別のタイプの時間管理支援は、たとえば決定すべき提案が数多くあるプログラム検討会議等の多くのアイテムを扱う必要のある会議におけるものである。プログラム会議では数百もの提案を処理する必要があることも少なくない。この場合、時間サマリーオブジェクトを利用して処理を追う。処理すべき各提案に対してページ上にアイコンがあり、各提案が提案ドメインオブジェクトによって表されると仮定する。各提案が決定するたびに、その状態が未決定からある決定(たとえば、許可または拒否等)に変えられる。会議開始から現在までに決定した提案の数を時間的に追うことにより、平均処理時間が計算でき、これを利用して、未決定の提案についても同じ平均時間で仮定することにより、予想される会議終了時間を計算する。これはすべて、提案ドメインオブジェクトと対話するユーザーの副産物として計算できる。
【0134】
会議での時間の使われ方を記録するのが、他のデータと相関するのに便利である可能性がある。その基本的な概念は、ドメインオブジェクトによって表すことのできる一連の事象に会議を分割することである。一般的な事象は、開始時間と、終了時間と、事象のタイプと、それを表す題とを有する。
【0135】
事象が計算される例は、スライドを用いてそれを進行する発表会議においてである。発表用のスライドは、「黒丸(●)」アイテムの組からなるページである。スライドは、黒丸アイテムドメインオブジェクトの組を伴うページによって表すことができる。発表者は、黒丸アイテムを発表する際にそれらのアイテムにタッチする(タップする)ことにより発表を進める。黒丸アイテムは、タップされるとそれ自体を強調し、開始時間を記す。別の黒丸アイテムがタッチされると、最初の黒丸アイテムはアクティブの状態からはずされ、事象オブジェクトが作成されてそのアクティブにされた間隔を表す。このように、発表は、各黒丸がいつ発表されたかを証明する事象の時系列として特徴付けられる。事象オブジェクトは通常ユーザーには表示されないが、会議の後にエクスポートされて他のツールによって使用される。
【0136】
事象はまた、時間調整された議事アイテムからも得られる。しかし、どのドメインオブジェクトも、アクションテーブルに事象作成動作のスクリプトを書くことによりこれらと対話した副作用として事象を作成できる。
【0137】
事象は会議の時間経過の指標として機能でき、会議の音声/映像記録等の他のデータとの相関に便利な可能性がある。ある特定の議事アイテムが議論された時の会議の記録を再生したい場合、この議事アイテムに関する事象がこの議論の開始時刻および停止時刻を与える。別の相関は、様々な会議参加者からタイムスタンプ(時間の記録)のあるメモをとり、時間の相関関係を用いて、メモを特定の議事アイテムに割り当てることである。
【0138】
会議の出席の記録を追うことが有用であることが多い。これを支援するために、人ドメインオブジェクトを使用する。人オブジェクトは、その人の名前、コンタクト(連絡)情報(出席していないときにその人に連絡をとれるように)、および出席状況(出席、欠席、理由つきの欠席、早退)の属性を有する。出席のページが図23に示される。出席する可能性のある者が人アイコン2301に挙げられる。ある人の状況は、状況枠(種々の状況値を一覧する)2302に対してタップすることによって変更できる。名前を走り書きした後に新しい人オブジェクト2303が形成されていることに注目されたい。右のジェスチャにより人アイコン2304が拡大されて、必要に応じて連絡情報を表示する。
【0139】
討論の種々の局面をつかむために、会議中にメモを取ることができる。メモはLiveBoard上で作成してもよいし、ラップトップまたはPDA等の携帯装置上で手書きまたはタイプすることによって取ることもできる。メモは、一連のメモドメインオブジェクトとして表現できる。メモオブジェクトは、内容属性(テキストまたはペンストローク)、書き手の属性(人)、タイムスタンプ、および連続番号を有する。メモオブジェクトとしてメモをとることの一例が図24に示される。メモアイコン2401がページの下半分に示される。これらのメモは、ラップトップ上でタイプすることによって取られている。各メモが取られるたびに、その内容、書き手、および時間がLiveboardにビームで送られ、ここでメモドメインオブジェクトおよびアイコンに変換されている。最後のメモ2402はLiveboard上にペンで書かれている。
【0140】
アクションアイテムは、会議で記録するのに特に有用な特殊な種類のメモである。下のアイコン2402は、アクションアイテムドメインオブジェクトである。これはメモオブジェクトのようであるが、さらに2つの属性、すなわち、割当てられた人と期日の属性を伴う。これらの属性は各々、アクションアイテムアイコンの各部分に対してタップすることにより変更できる。割当てられた人に対してタップすると、出席者ページ内のすべての人のメニューが現れ、メニューから新しく割当てる人を選択できる。
【0141】
会議の終わりに、アクションアイテムを見直すのが有用であることが多い。全員のリストを有する出席ページは、これを行うのに便利な場所である。たとえば、図25には、「アクション表示」というアイコン2505が示されている。このアイコンをタップすると、すべてのアクションアイテムオブジェクトが検索され、小さなアイコン(連続番号のみを含んでいる)2501が作成され、ページ上のそれを割当てられた人の横に配置される。その結果が図25に示される。アクションアイテムアイコン上でダブルタップすると、オーバーレイ2502が表示され、アクションアイテムの内容を示す。アクションアイテムは、小さなアイコンを人アイコンへとドラッグすることにより、アクションアイテムをその人に任命することで、割当てなおすことができ、小さなアイコンは新しく割当てられた人のアイコンの横に配置しなおされる。
【0142】
このように把握され、編集されたアクションアイテムオブジェクトはデータベースにエクスポートすることができ、ここで管理、追跡できる。また、これらのオブジェクトはeメールでユーザーに送って、確認することができる。
【0143】
ブレーンストーミング会議は、作業空間上でいくつかのアイデアをつかみ、さらにより難しいことに、それらを何らかの方法、たとえば、それらを分類し、まとめて、関連づけること等で編成する。これらのアクティビティを支援するために、いくつかの一般的なドメインオブジェクトが定義、使用される。この種の会議は、真っ白な状態で始まり、会議が進行するにつれて素材が作成されるという点で、これまでに説明した会議とは異なる。
【0144】
ブレーンストーミングのための基本的な一般的ドメインオブジェクトクラスは、「もの」である。ものオブジェクトは、ブレーンストーミングの主題に関係なく、アイデア、問題、議論、プロジェクトの目標、採用の可能性のあるもの、採用する技術等であろう。ものは、フリーフォーム二次元作業空間上に配置される(メモカードを壁の掲示板にピンで留めることに似ている)。ユーザーは作業空間上に自由に走り書きすることができる。どの走り書きの組も、ボックスジェスチャを用いて、ものオブジェクトに変換できる。さらに、走り書きの組がリスト構造として解釈できる場合には、ボックスジェスチャにより、1リストアイテムにつき1つの「もの」オブジェクトの割合で、ものオブジェクトの縦のリストが作成される。
【0145】
ものアイコンはドラッグすることによって簡単に移動でき、そのため類似または関連するものを近くに配置できる。ものの集まりにラベルをつけるのがしばしば有用であるため、ラベルオブジェクトクラスが定義されている。ラベルおよびものオブジェクトのための有用な機能は、これらを互いに変換する(すなわち、ものをラベルに変え、その反対も行う)ことである。これは、ユーザーがオブジェクトを誤って分類したり、または分類のやり方を変えたりすることが多いからである。
【0146】
素材を編成するためのTivoliの機能を利用することができる。すなわち、リストへのオブジェクトの配置、構造化された境界の作成、オブジェクトの組の周りでのフリーフォーム囲いの描画、囲い間またはオブジェクト間でのリンクの描画、縮小された注釈オブジェクトの作成等である。もちろん、ユーザーはどこにでも任意の走り書きをすることができる。ものオブジェクトの特徴のひとつは、ものと同じ領域内のすべてのラベルの名前のリストを作成することにより「ラベル」値を自動的に計算することである。
【0147】
この種の会議でさらに2つのドメインオブジェクトクラス、すなわち人オブジェクトと、票オブジェクトが一般に有用である。人オブジェクトは、オブジェクトの近くまたは囲み内に配置して、書き手、責任等を示すようにしてもよい。票オブジェクトは、意見を集めるためのツールとして使用できる。票オブジェクトは、ものオブジェクトの組を選択して、ページの上部にある「+V」オブジェクトをタップすることによって作成される。これにより、選択された各ものアイコンの横に票アイコンが作成される。票を伴うものアイコンの組が囲み内または構造化された領域内に含まれていれば、先の意思決定会議の例で説明したように、それらの「もの」を票によってソートすることができる。いずれにせよ、この基本的なブレーンストーミングオブジェクトの組は、単に「手始めの組」であり、種々の特殊な関係を計算するように様々な態様で拡張できる。
【0148】
図26は、ブレーンストーミングのページの例を示す。図26を参照すると、ボード上に多くのアイデアが書かれており、オブジェクトに変換されている。人オブジェクト2601の周りには変換されていない手書きの注釈2602が存在する。この例では手書きの注釈は、その実行責任が対応する「人」オブジェクトによって特定されるタスクを示してもよい。「もの」オブジェクトの集まりに名前をつけるとともに実線の境界を有するラベルオブジェクト2603が示される。幾つかの集まりは、フリーフォーム領域、たとえば、領域2304および2605等に囲まれる。集まりにされた「もの」オブジェクトの横には票オブジェクト2606が存在する。領域2604および2605内の集まりにされたオブジェクトは票によってソートされる。さらに、手書きの注釈2607は、決を採ると決定されたときに特にフリーフォーム領域2605の外に置かれたままにしていることに注目されたい。ものオブジェクト2308にも同じようなことが行われたのであろう。
【図面の簡単な説明】
【図1】 本発明において使用できるグラフィックスベースのコンピュータシステムのブロック図である。
【図2】 本発明の基本的な要素を示すブロック図である。
【図3】 ドメインオブジェクトクラスの要素を示すブロック図である。
【図4】 ドメインオブジェクトクラスの属性要素を更に詳細に示すブロック図である。
【図5】 ドメインオブジェクトを用いてアプリケーションを作成するための基本ステップを示すフローチャートである。
【図6】 ドメインオブジェクトを視覚的に表現するためのアイコンの基本レイアウトを示す図である。
【図7】 フリーフォームグラフィックスシステムにおいてアイテムを編成するための領域構造を示す図である。
【図8】 フリーフォームグラフィックスシステムのアイテムを編成するためのリンク構造を示す図である。
【図9】 フリーフォームグラフィックスシステムにおけるアイテムを編成するためのリスト構造を示す図である。
【図10】 フリーフォームグラフィックスシステムの作業空間上の空間位置に基づくドメインオブジェクトの属性値の決定を示す図である。
【図11】 フリーフォームグラフィックスシステムの作業空間上の空間位置に基づくドメインオブジェクトの属性値の決定を示す図である。
【図12】 (ユーザーの動作またはシステム内の処理によって)ある事象が起こったときにフリーフォームグラフィックスシステムによって行われるステップを示すフローチャートである。
【図13】 予算会議のアプリケーションに対して定義される予算センターサマリードメインオブジェクトに対して利用できるユーザーアクションおよび属性を説明するためのオーバーレイの使用を示す図である。
【図14】 予算会議のアプリケーションにおけるコストアイテムドメインオブジェクトの使用を示す図である。
【図15】 予算会議のアプリケーションにおけるコストアイテムドメインオブジェクトの使用を示す図である。
【図16】 意思決定会議のアプリケーションにおけるプロジェクト、およびプロジェクトサマリードメインオブジェクトの使用を示す図である。
【図17】 意思決定会議のアプリケーションにおけるプロジェクト、およびプロジェクトサマリードメインオブジェクトの使用を示す図である。
【図18】 意思決定会議のアプリケーションにおけるプロジェクト、およびプロジェクトサマリードメインオブジェクトの使用を示す図である。
【図19】 種々の会議のアプリケーションで使用できる、会議での投票に使用するための票作成および票ドメインオブジェクトの使用を示す図である。
【図20】 会議議事管理アプリケーションにおける議事アイテムドメインオブジェクトの使用を示す図である。
【図21】 会議議事管理アプリケーションにおける議事アイテムドメインオブジェクトの使用を示す図である。
【図22】 種々の会議のアプリケーションで使用するためのクロックドメインオブジェクトの使用を示す図である。
【図23】 種々の会議のアプリケーションで使用するための人、メモ、およびアクションアイテムドメインオブジェクトの使用を示す図である。
【図24】 種々の会議のアプリケーションで使用するための人、メモ、およびアクションアイテムドメインオブジェクトの使用を示す図である。
【図25】 種々の会議のアプリケーションで使用するための人、メモ、およびアクションアイテムドメインオブジェクトの使用を示す図である。
【図26】 ブレーンストーミング会議のアプリケーションにおける「もの」ドメインオブジェクトの使用を示す図である。
【符号の説明】
201 ドメインオブジェクトデータ、202 データベース、203 フリーフォーム編集プログラム、204 オブジェクト転送プログラム、205 ドメインオブジェクトスクリプト、206 入力ファイル、207 ドメインオブジェクトファイル。
Claims (2)
- 作業空間におけるストロークを含む、ポインティングデバイスに用いた自由な形式での入力が可能なフリーフォーム形式であって、アプリケーションの特定タスクを行う情報を示すドメインオブジェクトをハンドルするフリーフォームグラフィックスシステムであって、
ドメインオブジェクトの視覚的表現である、ドメインオブジェクトアイコンを表示する表示装置と、
ユーザが、前記ドメインオブジェクトアイコンを操作することを可能にするポインティングデバイスと、
前記表示装置および入力装置に組み合わせられるドメインオブジェクト発生回路であって、
1以上のドメインオブジェクトを、ユーザ入力データを含むデータベース内のデータと、格納装置に格納されたドメインオブジェクトクラスと、から生成するとともに、
前記1以上のドメインオブジェクトに対応する1以上のドメインオブジェクトアイコンのそれぞれは、前記ドメインオブジェクトクラスによって規定され、
前記ドメインオブジェクトクラスは、ドメインオブジェクトの少なくとも1つの属性データが計算で得られる属性データであることを示す属性と、ポインティングデバイスによるアクションの入力によるイベントに応じた動作についてのアクションルールのセットであって、ドメインオブジェクトアイコンに対するポインティングデバイスによる複数種類のストロークの入力についてのルールが含まれるアクションルールのセットと、複数のレイアウトと、を含むとともに、前記計算で得られた属性データは、他の属性データまたは対応するドメインオブジェクトの作業空間上の位置に基づいて計算され、
各レイアウトは、1以上の属性データを表示するための予め定められた領域を含むドメインオブジェクトアイコンとして表示するフォーマットを示す、
ドメインオブジェクト発生回路と、
前記属性データの中の計算で得られる属性データの値を計算する計算回路と、
ポインティングデバイスによるアクションの入力によるイベントを検出し、前記イベントに対応する動作を起こすイベント回路と、
を含み、
ユーザの入力に応じたドメインオブジェクトアイコンの作業空間上の位置変更に応じて、前記計算回路が属性データの計算を行い、計算された属性データにより前記ドメインオブジェクトが変更されることを特徴とするフリーフォームグラフィックスシステム。 - 作業空間におけるストロークを含む、ポインティングデバイスに用いた自由な形式での入力が可能なフリーフォームグラフィックスシステムを操作し、アプリケーションの特定タスクを実行する方法であって、
a)1以上のドメインオブジェクトを形成するステップであって、
ドメインオブジェクトは、ユーザ入力データを含むデータベースのデータおよび格納装置に格納されたドメインオブジェクトクラスから発生され、アプリケーションの特定タスクを実行するために用いられ、
各ドメインオブジェクトはドメインオブジェクトクラスによって規定されるドメインオブジェクトクラスの例であり、
前記ドメインオブジェクトクラスは、
ドメインオブジェクトの少なくとも1つの属性データが計算で得られる属性データであることを示す属性と、ポインティングデバイスによるアクションの入力によるイベントに応答する動作を実行するアクションルールのセットであって、ドメインオブジェクトアイコンに対するポインティングデバイスによるストロークの入力についてのルールが含まれるアクションルールのセットと、複数のレイアウトと、含むとともに、前記計算で得られた属性データは、他の属性データまたは対応するドメインオブジェクトの作業空間上の位置に基づいて計算され、
各レイアウトは、少なくとも1つの属性データをドメインオブジェクトアイコンとして表示するためのフォーマットを示し、ドメインオブジェクトアイコンは、前記属性データのいくつかを表示する所定のエリアを含み、
b)前記計算して得られた値を有すると特定された属性データについての値を計算し、
c)表示情報を発生し、1以上のドメインオブジェクトをドメインアイコンとしてフリーフォームグラフィックスシステムに接続された表示装置に表示し、上記表示情報は、ドメインオブジェクトクラスによって特定されたレイアウトに基づいて発生され、
d)ポインティングデバイスによるアクションの入力により発生したイベントを検出し、
e)イベントに関連するアクションルールを1つの表示されているドメインオブジェクトアイコンに対応するドメインオブジェクトクラスによって特定されているアクションルールのセットに基づいて特定し、
f)特定されたアクションルールに従った動作を実行し、
g)前記動作の実行に応じて、前記計算で得られた属性データを再計算する必要があるかどうかを判断するステップと、
h)再計算する必要があると判断されると、前記計算で得られた属性データの値を再計算し、
前記イベントには、ユーザの入力に応じたドメインオブジェクトアイコンの作業空間上の位置変更が含まれ、この位置変更により前記属性データの再計算が行われ、再計算された属性データにより前記ドメインオブジェクトが変更される、
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/005,983 US6377288B1 (en) | 1998-01-12 | 1998-01-12 | Domain objects having computed attribute values for use in a freeform graphics system |
US09/005,983 | 1998-01-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11316641A JPH11316641A (ja) | 1999-11-16 |
JP4315508B2 true JP4315508B2 (ja) | 2009-08-19 |
Family
ID=21718693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00472799A Expired - Fee Related JP4315508B2 (ja) | 1998-01-12 | 1999-01-11 | フリーフォームグラフィックスシステムおよびフリーフォームグラフィックスシステムを操作する方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6377288B1 (ja) |
EP (1) | EP0929030A1 (ja) |
JP (1) | JP4315508B2 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476834B1 (en) * | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Dynamic creation of selectable items on surfaces |
US6459442B1 (en) * | 1999-09-10 | 2002-10-01 | Xerox Corporation | System for applying application behaviors to freeform data |
EP1277104A1 (en) | 2000-03-30 | 2003-01-22 | Ideogramic APS | Method for gesture based modeling |
US6690397B1 (en) * | 2000-06-05 | 2004-02-10 | Advanced Neuromodulation Systems, Inc. | System for regional data association and presentation and method for the same |
US7136082B2 (en) * | 2002-01-25 | 2006-11-14 | Xerox Corporation | Method and apparatus to convert digital ink images for use in a structured text/graphics editor |
US7418656B1 (en) | 2003-10-03 | 2008-08-26 | Adobe Systems Incorporated | Dynamic annotations for electronics documents |
US7496385B2 (en) * | 2003-12-29 | 2009-02-24 | International Business Machines Corporation | Method for viewing information underlying lists and other contexts |
US7895537B2 (en) * | 2003-12-29 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for setting attributes and initiating actions through gestures |
US20060067576A1 (en) * | 2004-03-17 | 2006-03-30 | James Marggraff | Providing a user interface having interactive elements on a writable surface |
US20060007175A1 (en) * | 2004-07-06 | 2006-01-12 | Chung-Yi Shen | Touch control method of single tap and control module thereof |
US7774713B2 (en) * | 2005-06-28 | 2010-08-10 | Microsoft Corporation | Dynamic user experience with semantic rich objects |
US20080065447A1 (en) * | 2006-08-29 | 2008-03-13 | International Business Machines Corporation | Interactive and Incremental Event Scheduling |
US20090132939A1 (en) * | 2007-11-19 | 2009-05-21 | International Business Machines Corporation | Method and apparatus for a floating island for user navigation in an interactive environment |
KR20100070733A (ko) * | 2008-12-18 | 2010-06-28 | 삼성전자주식회사 | 아이템 표시방법 및 이를 적용한 디스플레이 장치 |
US8095489B2 (en) * | 2009-06-05 | 2012-01-10 | Chen Thomas C H | System and method of real-time group intelligence creation with mass volume of web-based thinking grids |
US8205153B2 (en) * | 2009-08-25 | 2012-06-19 | International Business Machines Corporation | Information extraction combining spatial and textual layout cues |
EP2405337B1 (en) * | 2010-07-06 | 2015-09-16 | HTC Corporation | Method for presenting human machine interface, handheld device using the same, and computer readable medium therefor |
US9389891B2 (en) * | 2012-01-09 | 2016-07-12 | Microsoft Technology Licensing, Llc | Custom browser-side spreadsheet functions |
US20130201161A1 (en) * | 2012-02-03 | 2013-08-08 | John E. Dolan | Methods, Systems and Apparatus for Digital-Marking-Surface Content-Unit Manipulation |
JP5280568B1 (ja) * | 2012-06-29 | 2013-09-04 | 楽天株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
KR102207443B1 (ko) | 2013-07-26 | 2021-01-26 | 삼성전자주식회사 | 그래픽 유저 인터페이스 제공 방법 및 장치 |
US9898451B2 (en) | 2013-11-26 | 2018-02-20 | Adobe Systems Incorporated | Content adaptation based on selected reviewer comment |
WO2016106414A1 (en) * | 2014-12-27 | 2016-06-30 | Fried Moshe | Educational system with real time behavior tracking |
US11120342B2 (en) | 2015-11-10 | 2021-09-14 | Ricoh Company, Ltd. | Electronic meeting intelligence |
US9641563B1 (en) | 2015-11-10 | 2017-05-02 | Ricoh Company, Ltd. | Electronic meeting intelligence |
US10860985B2 (en) | 2016-10-11 | 2020-12-08 | Ricoh Company, Ltd. | Post-meeting processing using artificial intelligence |
US10510051B2 (en) | 2016-10-11 | 2019-12-17 | Ricoh Company, Ltd. | Real-time (intra-meeting) processing using artificial intelligence |
US11307735B2 (en) * | 2016-10-11 | 2022-04-19 | Ricoh Company, Ltd. | Creating agendas for electronic meetings using artificial intelligence |
US10572858B2 (en) | 2016-10-11 | 2020-02-25 | Ricoh Company, Ltd. | Managing electronic meetings using artificial intelligence and meeting rules templates |
US10298635B2 (en) | 2016-12-19 | 2019-05-21 | Ricoh Company, Ltd. | Approach for accessing third-party content collaboration services on interactive whiteboard appliances using a wrapper application program interface |
US10375130B2 (en) | 2016-12-19 | 2019-08-06 | Ricoh Company, Ltd. | Approach for accessing third-party content collaboration services on interactive whiteboard appliances by an application using a wrapper application program interface |
US10250592B2 (en) | 2016-12-19 | 2019-04-02 | Ricoh Company, Ltd. | Approach for accessing third-party content collaboration services on interactive whiteboard appliances using cross-license authentication |
US11062271B2 (en) | 2017-10-09 | 2021-07-13 | Ricoh Company, Ltd. | Interactive whiteboard appliances with learning capabilities |
US11030585B2 (en) | 2017-10-09 | 2021-06-08 | Ricoh Company, Ltd. | Person detection, person identification and meeting start for interactive whiteboard appliances |
US10956875B2 (en) | 2017-10-09 | 2021-03-23 | Ricoh Company, Ltd. | Attendance tracking, presentation files, meeting services and agenda extraction for interactive whiteboard appliances |
US10552546B2 (en) | 2017-10-09 | 2020-02-04 | Ricoh Company, Ltd. | Speech-to-text conversion for interactive whiteboard appliances in multi-language electronic meetings |
US10553208B2 (en) | 2017-10-09 | 2020-02-04 | Ricoh Company, Ltd. | Speech-to-text conversion for interactive whiteboard appliances using multiple services |
US11429642B2 (en) * | 2017-11-01 | 2022-08-30 | Walmart Apollo, Llc | Systems and methods for dynamic hierarchical metadata storage and retrieval |
US10757148B2 (en) | 2018-03-02 | 2020-08-25 | Ricoh Company, Ltd. | Conducting electronic meetings over computer networks using interactive whiteboard appliances and mobile devices |
US11573993B2 (en) | 2019-03-15 | 2023-02-07 | Ricoh Company, Ltd. | Generating a meeting review document that includes links to the one or more documents reviewed |
US11392754B2 (en) | 2019-03-15 | 2022-07-19 | Ricoh Company, Ltd. | Artificial intelligence assisted review of physical documents |
US11720741B2 (en) | 2019-03-15 | 2023-08-08 | Ricoh Company, Ltd. | Artificial intelligence assisted review of electronic documents |
US11263384B2 (en) | 2019-03-15 | 2022-03-01 | Ricoh Company, Ltd. | Generating document edit requests for electronic documents managed by a third-party document management service using artificial intelligence |
US11270060B2 (en) | 2019-03-15 | 2022-03-08 | Ricoh Company, Ltd. | Generating suggested document edits from recorded media using artificial intelligence |
US11080466B2 (en) | 2019-03-15 | 2021-08-03 | Ricoh Company, Ltd. | Updating existing content suggestion to include suggestions from recorded media using artificial intelligence |
CN112181265B (zh) * | 2019-07-04 | 2022-04-15 | 北京小米移动软件有限公司 | 一种触控信号处理方法、装置及介质 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905147A (en) * | 1986-10-15 | 1990-02-27 | Logg George E | Collision detection system for video system |
US5794001A (en) * | 1989-06-30 | 1998-08-11 | Massachusetts Institute Of Technology | Object-oriented computer user interface |
JP3210317B2 (ja) * | 1990-01-19 | 2001-09-17 | ソニー株式会社 | 情報処理装置及び情報処理方法 |
JP3114147B2 (ja) | 1990-09-10 | 2000-12-04 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | ドキュメントに対する処理手続きの自動開始方法及び装置 |
JPH06506548A (ja) * | 1991-03-12 | 1994-07-21 | ウォング・ラボラトリーズ・インコーポレーテッド | データベース管理システムのグラフィック照会フロントエンド |
US5220649A (en) | 1991-03-20 | 1993-06-15 | Forcier Mitchell D | Script/binary-encoded-character processing method and system with moving space insertion mode |
KR950005393Y1 (ko) | 1991-04-01 | 1995-07-08 | 주식회사 Lg전자 | 칼라수상관의 새도우 마스크 탄성지지부재 |
US5287447A (en) * | 1991-06-28 | 1994-02-15 | International Business Machines Corporation | Method and system for providing container object attributes to a non-container object |
EP0566293B1 (en) * | 1992-04-15 | 2003-07-16 | Xerox Corporation | Graphical drawing and editing systems and methods therefor |
US5588100A (en) * | 1992-05-18 | 1996-12-24 | Microsoft Corporation | Method and system for creating a freeform drawing object |
US5353396A (en) * | 1992-06-04 | 1994-10-04 | Altsys Corporation | System and method for generating complex calligraphic curves |
US5542024A (en) | 1992-07-09 | 1996-07-30 | Johnson & Johnson | Graphically used expert system tool background of the invention |
US5438656A (en) * | 1993-06-01 | 1995-08-01 | Ductus, Inc. | Raster shape synthesis by direct multi-level filling |
US5586317A (en) | 1993-07-30 | 1996-12-17 | Apple Computer, Inc. | Method and apparatus for implementing I/O in a frame-based computer system |
US5479589A (en) * | 1993-08-04 | 1995-12-26 | Taligent, Inc. | Object-oriented system for selecting a graphic image on a display |
DE69428675T2 (de) | 1993-12-30 | 2002-05-08 | Xerox Corp | Apparat und Verfahren zur Unterstützung einer impliziten Strukturation von Freiform-Listen, Übersichten, Texten, Tabellen und Diagrammen in einem auf Handzeichen basierenden Eingabesystem und Editiersystem |
US5555357A (en) * | 1994-06-03 | 1996-09-10 | Claris Corporation | Computer system and method for generating and manipulating charts and diagrams |
AUPM822394A0 (en) * | 1994-09-16 | 1994-10-13 | Canon Inc. | Object based rendering system |
US5600781A (en) * | 1994-09-30 | 1997-02-04 | Intel Corporation | Method and apparatus for creating a portable personalized operating environment |
US5594853A (en) * | 1995-01-03 | 1997-01-14 | University Of Washington | Method and system for editing the general sweep and detail of a figure with a curve |
US5880743A (en) * | 1995-01-24 | 1999-03-09 | Xerox Corporation | Apparatus and method for implementing visual animation illustrating results of interactive editing operations |
JPH0916609A (ja) | 1995-04-25 | 1997-01-17 | Matsushita Electric Ind Co Ltd | 文書検索装置及び文書検索方法 |
JPH08305663A (ja) | 1995-04-28 | 1996-11-22 | Hitachi Ltd | 共同作業支援システム |
US5572639A (en) * | 1995-05-08 | 1996-11-05 | Gantt; Brian D. | Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects |
US5786814A (en) | 1995-11-03 | 1998-07-28 | Xerox Corporation | Computer controlled display system activities using correlated graphical and timeline interfaces for controlling replay of temporal data representing collaborative activities |
US5890131A (en) | 1996-04-19 | 1999-03-30 | Skymark Corporation | Project organization and optimization tool and method of use thereof |
JP3378900B2 (ja) * | 1996-06-25 | 2003-02-17 | 富士通株式会社 | オブジェクト編集方法,オブジェクト編集システム及び記録媒体 |
US5877768A (en) * | 1996-06-19 | 1999-03-02 | Object Technology Licensing Corp. | Method and system using a sorting table to order 2D shapes and 2D projections of 3D shapes for rendering a composite drawing |
US5784061A (en) | 1996-06-26 | 1998-07-21 | Xerox Corporation | Method and apparatus for collapsing and expanding selected regions on a work space of a computer controlled display system |
US5861886A (en) * | 1996-06-26 | 1999-01-19 | Xerox Corporation | Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface |
US5889523A (en) | 1997-11-25 | 1999-03-30 | Fuji Xerox Co., Ltd. | Method and apparatus for dynamically grouping a plurality of graphic objects |
US6018346A (en) * | 1998-01-12 | 2000-01-25 | Xerox Corporation | Freeform graphics system having meeting objects for supporting meeting objectives |
-
1998
- 1998-01-12 US US09/005,983 patent/US6377288B1/en not_active Expired - Lifetime
-
1999
- 1999-01-04 EP EP99300013A patent/EP0929030A1/en not_active Withdrawn
- 1999-01-11 JP JP00472799A patent/JP4315508B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0929030A1 (en) | 1999-07-14 |
US6377288B1 (en) | 2002-04-23 |
JPH11316641A (ja) | 1999-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4315508B2 (ja) | フリーフォームグラフィックスシステムおよびフリーフォームグラフィックスシステムを操作する方法 | |
JP4505069B2 (ja) | フリーフォームグラフィックスシステムおよびフリーフォームグラフィックスシステムを操作する方法 | |
JP4335340B2 (ja) | 会議の目的を支援するための会議オブジェクトを有するフリーフォームグラフィックスシステム | |
Srinivasan et al. | InChorus: Designing consistent multimodal interactions for data visualization on tablet devices | |
US11755827B2 (en) | Digital processing systems and methods for stripping data from workflows to create generic templates in collaborative work systems | |
Newman et al. | DENIM: An informal web site design tool inspired by observations of practice | |
EP3019930B1 (en) | Interactive digital displays | |
Landay et al. | Interactive sketching for the early stages of user interface design | |
Mynatt et al. | Flatland: New dimensions in office whiteboards | |
US8271891B1 (en) | Computing environment logbook | |
US20030206201A1 (en) | Method for graphical classification of unstructured data | |
Lee et al. | SketchInsight: Natural data exploration on interactive whiteboards leveraging pen and touch interaction | |
US8103703B1 (en) | System and method for providing content-specific topics in a mind mapping system | |
KR20060052717A (ko) | 가상 데스크 탑, 프로그램 예의 배열을 리콜링하는 방법, 애플리케이션 예를 관리하는 방법 및 애플리케이션을 관리하는 방법 | |
Tang | Toward an understanding of the use of shared workspaces by design teams | |
Moran et al. | Spatial interpretation of domain objects integrated into a freeform electronic whiteboard | |
Klemmer et al. | Integrating physical and digital interactions on walls for fluid design collaboration | |
Kolarić et al. | CAMBRIA: Interacting with multiple CAD alternatives | |
Klemmer et al. | Toolkit support for integrating physical and digital interactions | |
Mynatt et al. | Designing an augmented writing surface | |
Kleffmann et al. | Navigation among model sketches on large interactive displays | |
Magallanes et al. | A pattern-based approach for developing creativity applications supported by surface computing | |
Klemmer | Tangible user interface input: Tools and techniques | |
JP4963633B2 (ja) | 情報処理装置及び情報処理方法 | |
Brudy | Designing for Cross-Device Interactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060106 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090519 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120529 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130529 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130529 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |