"ポインティングデバイスによって作成されたジェスチャを識別する方法であって、ポインティングデバイスのストロークから、フリックジェスチャが発生したことを決定するステップであって、フリックジェスチャは、他のジェスチャとは区別され、フリックジェスチャは複数のフリック領域の少なくとも1つで発生し、各フリック領域は、始動するアクションに関連付けられており、各フリック領域は、円の一部分であり、円の中心がフリックジェスチャの開始点である、ステップと、実行されるアクションを決定するステップであって、アクションの決定は、アクションの第1のセットは第1のポインティングデバイスに関連し、アクションの第2のセットは第2のポインティングデバイスに関連し、アクションの第1のセットおよび第2のポインティングデバイス、アクションの第1のセットおよびアクションの第2のセットは、それぞれ左利き、右利き、およびポインティングデバイスの物理的な角度に適応し、複数のフリック領域のうちの1つを決定するための、ストロークの、方向、動き、タイミングに基づく、ストロークの特徴づけと、システムのハードウェアに基づいており、偽陽性、または間違って始動されたアクションを回避するように設定される間隔よりも大きい所定の時間間隔を越えた所定の閾値によって速度を低下することを決定するステップと、フリックジェスチャについてのメッセージを、オペレーティングシステムまたはコンピューティングアプリケーションに送信するステップと、前記フリックジェスチャの認識および該フリックジェスチャに関連する方向またはフリック領域を示すアニメーションフィードバックを提供するステップであって、フリックジェスチャの解釈は、コンテキストセンシティブおよび特定の機能を実行するようカスタマイズ可能であり、コンテキストセンシティブは、フリックジェスチャが第1のアプリケーションのコンテキスト内で実行されるときに実行される第1のオペレーションを含み、コンテキストセンシティブは、フリックジェスチャが第2のアプリケーションのコンテキスト内で実行されるときに実行される第2のオペレーションを含み、第1のアプリケーションおよび第2のアプリケーションは異なるアプリケーションであり、第1のオペレーションおよび第2のオペレーションは異なるオペレーションである、ステップとを含むことを特徴とする方法。ポインティングデバイスは、マウスを含み、ポインティングデバイスのストロークから決定することは、ポインティングデバイスが接触したあとに動きが発生したか否かを決定することを含み、コンタクトはマウスボタンの操作を含むことを特徴とする請求項1記載の方法。ポインティングデバイスのストロークが、コンピュータ生成ディスプレイとの接触の後に第1の閾値を超えて発生したことを決定するステップと、所定の時間間隔以上の所定の閾値によって速度が減らされることを決定するステップであって、該所定の時間間隔は短い間隔よりも大きく、短い間隔は偽陽性または間違って始動されたアクションを回避するよう設定される、ステップと、ポインティングデバイスのストロークの特性を決定するステップであって、特性は、方向、動き、ストロークのタイミングの少なくとも1つである、ステップと、フリックジェスチャを決定するために生成された値を計算するステップであって、生成された値は、速度、加速度、曲率または揚程を含み、前記生成された値は、ストロークの特性から算出される、ステップと、実行されるアクションを決定することであって、アクションを決定するステップは、第1のポインティングデバイスと関連するアクションの第1のセットと、第2のポインティングデバイスと関連するアクションの第2のセットとであって、アクションの第1のセットおよびアクションの第2のセットは第1のポインティングデバイスおよび第2のポインティングデバイスについてそれぞれカスタマイズ可能であり、アクションの第1のセットおよびアクションの第2のセットはそれぞれ、左利き、右利き、物理的な角度に適応するようカスタマイズ可能であり、ストロークの少なくとも1つの特性と、引かれた値と、に基づく、ステップと、前記決定すること、ジェスチャの認識、フリックジェスチャの方向またはジェスチャに関連した領域を示すアニメーションフィードバックを提供するステップであって、フリックジェスチャの解釈がコンテキストセンシティブであり、特定の機能を実行するようカスタマイズ可能であり、コンテキストセンシティブはフリックジェスチャが第1のアプリケーションのコンテキスト内で実行されたときに実行される第1の操作を含み、コンテキストセンシティブは、フリックジェスチャが第1のアプリケーションとは異なる第2のアプリケーションのコンテキスト内で実行されたときに実行される第1のオペレーションとは異なる第2のオペレーションを含む、ステップとを含むことを特徴とする方法。前記ポインティングデバイスはマウスを含み、前記接触はマウスボタンの操作を含む、ことを特徴とする請求項3記載の方法。前記ポインティングデバイスはスタイラスを含み、前記接触はコンピュータ生成されたディスプレイの表面に接触して即時に引き上げることを含むことを特徴とする請求項3記載の方法。ポインティングデバイスはユーザの指を含み、前記接触はコンピュータ生成されたディスプレイの表面に接触して即時に引き上げることを含むことを特徴とする請求項3記載の方法。ジェスチャのパスの真っ直ぐさを決定するステップをさらに含み、ジェスチャは真っ直ぐな決定に基づいて発生するよう決定されることを特徴とする請求項3記載の方法。インク可能領域内でジェスチャの発生が開始したかを決定するステップをさらに含み、ジェスチャがインク可能領域で発生していないときにジェスチャが発生したことが決定されることを特徴とする請求項3記載の方法。ポインティングデバイスによって作成されるジェスチャを認識するシステムであって、コンピュータ生成されたディスプレイに接触した後に、初期の動きの閾値を超えてポインティングデバイスの動きが生じたかを決定する手段と、ハードウェアシステムと、第1のポインティングデバイスおよび第2のポインティングデバイスに関連したアクションの第1のセットであって、アクションの第1のセットおよびアクションの第2のセットは第1のポインティングデバイスおよび第2のポインティングデバイスについてそれぞれカスタマイズ可能であり、アクションの第1のセットおよびアクションの第2のセットはそれぞれ左利き、右利き、およびポインティングデバイスの物理的角度に適合するようカスタマイズされ、ポインティングデバイスの速度が低下していないかを決定する手段と、動き決定手段および速度決定手段によって実行される決定に基づいて、フリックジェスチャが発生したことを決定する手段であって、フリックジェスチャが他のジェスチャとは区別され、かつ複数の領域の少なくとも1つで発生し、各々のフリック領域は指導されたアクションと関係し、円の領域であり、円の中心がフリックジェスチャの開始点である、手段と、フリックジェスチャの認識、フリックジェスチャの方向、またはフリックジェスチャと関連する領域を示すアニメーションフィードバックを提供する手段であって、速度決定手段が、所定の時間間隔を越えて所定の閾値によって速度が低下させられることを決定し、所定の時間間隔は短い間隔よりも大きく、短い間隔は偽陽性または間違って開始されたアクションを回避する、手段と、フリックジェスチャを解釈するための手段であって、フリックジェスチャの解釈がコンテキストセンシティブであり、特定の機能を実行するようカスタマイズ可能であり、コンテキストセンシティブはフリックジェスチャが第1のアプリケーションのコンテキスト内で実行されたときに実行される第1の操作を含み、コンテキストセンシティブは、フリックジェスチャが第1のアプリケーションとは異なる第2のアプリケーションのコンテキスト内で実行されたときに実行される第1のオペレーションとは異なる第2のオペレーションを含む、手段とを備えていることを特徴とするシステム。前記ポインティングデバイスはマウスを含み、前記接触はマウスボタンの操作を含むことを特徴とする請求項9記載のシステム。前記ポインティングデバイスはスタイラスを含み、前記接触はコンピュータ生成されたディスプレイの表面に接触して即時に引き上げることを含むことを特徴とする請求項9記載のシステム。ポインティングデバイスはユーザの指を含み、前記接触はコンピュータ生成されたディスプレイの表面に接触して即時に引き上げることを含むことを特徴とする請求項9記載のシステム。ジェスチャのパスの真っ直ぐさを決定する手段をさらに含み、ジェスチャは真っ直ぐな決定に基づいて発生するよう決定されることを特徴とする請求項9記載のシステム。インク可能領域内でジェスチャの発生が開始したかを決定する手段をさらに含み、ジェスチャがインク可能領域で発生していないときにジェスチャが発生したことが決定されることを特徴とする請求項9記載のシステム。ジェスチャを認識し、ジェスチャに機能を割当てるコンピュータシステムまたはコンピュータアプリケーションにおいて、一般的に形状のみを使用して、ジェスチャが生じたか否かを判定する。形状のみを使用することの問題は、スタイラスまたはマウスの扱いが遅いユーザは、ジェスチャではないというユーザの意図にもかかわらず、ジェスチャと認識されるアクションを実行する傾向があり得ることである。マーキングメニューラジアルメニューとも呼ばれるとは、ポインティングデバイスを用いる対話によってアクセスすることができるメニューである。カナダオンタリオ州トロントのエイリアスシステムズコーポレーションAliasSystemsCorp.のMayaアプリケーションおよびAliasアプリケーションは、マーキングメニューの例を提供する。これらは、開始位置および停止位置を含む点でジェスチャに類似するが、マーキングメニューは、ユーザ入力の関連部分が、ボタンまたはスタイラスのアップイベントの位置であり、その位置への実際のパスの形状ではないメニューであると考えられる。ジェスチャレコグナイザによって容易に認識され、さらにユーザによって容易に実行される改良したジェスチャが必要である。本発明の態様は、上述した1つまたは複数の課題に対処することによって、ジェスチャを確実に認識するプロセスを提供する。本発明は、同様の参照番号が類似した要素を示す添付図面において、制限ではなく例として図示される。本発明の態様はフリックジェスチャの認識に関する。読者にわかり易いように、本明細書をいくつかの小節に分ける。これらの小節には、インクの特徴、用語、汎用コンピューティング環境、ジェスチャ、フリックジェスチャ、フリックジェスチャの判定、トレーニング、および具体的な実装が含まれる。下記の説明において、要素間での各種の接続が述べられることに留意されたい。特に指定されない限り、一般にこれらの接続は、直接的または間接的なものであること、本明細書は、この点において制限することを意図したものではないことに留意されたい。インクの特徴インクペンを使用しているユーザにとって周知なように、物理的なインクインク溜の付いたペンを使用して、紙の上に書き付けられるようなインクは、一連の座標を線分で結んだものに比べてより多くの情報を伝達できる。例えば、物理的なインクは、ペン圧インクの濃さによる、ペンの角度線分もしくは曲線分の形状、およびインク周囲の細かな点のできかたによる、ならびにペン先の速度直線性、線幅および直線または曲線全体での線幅の変化によるを表すことができる。さらなる例は、インクが置かれた紙の繊維または他の表面にインクが吸収される方法も含む。これら微妙な特徴もまた、上記のリストした特性を伝達するのに役立つ。これらの特性が加わることにより、点の間を均一な線幅で結ぶ場合に比べて、感情、個性、強調等をより即時的に伝達することができる。電子インクまたはインクは、ユーザがスタイラスベースの入力装置を使用するときに、キャプチャされた電子情報をキャプチャおよび表示することに関係する。電子インクとは、ストロークのシーケンスまたは任意の集合のことであり、各ストロークは、点のシーケンスからなる。ストロークは、同時に、描かれるか、集められてもよい。または、個別の時間および位置で個別の理由のために描かれるか、集められてもよい。デカルト座標X,Y、極座標r、Θおよび当業者が周知のその他技術を含む様々な既知の技術を使って、点を表現することができる。電子インクは、圧、角度、速度、色、スタイラスのサイズおよびインクの不透明度を含む実際のインクの特性の表現を含むことができる。電子インクは、インクをページに付着させた順番ほとんどの西洋の言語については、左から右、次いで下のラスタパターン、タイムスタンプインクが付着した時間を示す、インクの作者の表示、および発生装置インクが描かれた機械の少なくとも1つの識別、またはインクを付着に使用したペンの少なくとも1つの識別を他の情報のうちに含む他の特性をさらに含むこともできる。用語インク特性を持つストロークのシーケンスまたはセット。ストロークのシーケンスには、ストロークが順序付けられた形で含まれ得る。シーケンスは、キャプチャされた時間によって、またはページ上のどこにストロークが現れたかによって順序付けるか、またはインクの作者による共同作業の形で順序付けることができる。その他の順番も可能である。ストロークのセットには、ストロークのシーケンスまたは順序付けされていないストローク、またはその組合せが含まれ得る。さらに、特性の中には、ストローク中の各ストロークまたは各点に一意な特性例えば、圧力、速度、角度などがあってもよい。これら特性はストロークまたは点のレベルで保存できるが、インクのレベルでは保存できない。インクオブジェクト特性あり、または特性なしでインクを記憶するデータ構造。ストロークキャプチャされた点のシーケンスまたはセット。例えば、レンダリングされたときに、ポイントのシーケンスを線で結ぶことができる。あるいは、次の点の方向に向いた点もしくはベクターとして、ストロークを表すこともできる。要するに、ストロークとは、基礎となる点および/または点を結ぶものの基本的な表現に関係なく、インクに関する点または線分のあらゆる表現を包含するものである。点空間中のある位置を定義する情報。例えば、点を、キャプチャ空間例えば、デジタイザ上の複数の点、仮想インク空間キャプチャしたインクを置く空間内の座標、および/またはディスプレイ空間ディスプレイ装置の複数の点または複数のピクセルに関連して定義することができる。文書視認可能な表現および内容を有する電子ファイル。文書には、ウェブページ、ワードプロセッシング文書、ノートページもしくはノートパッド、スプレッドシート、ビジュアルプレゼンテーション、データベースの記録、画像ファイル、およびその組合せが含まれ得る。フリックあるコンピュータシステムのポインティングデバイスの短く、迅速で直線的な移動。ポインティングデバイスが、スタイラスまたは指の場合、フリックは、スタイラスが使用可能なコンピュータの表面上か、またはその表面より上に生じる[occur]ことができる。ポインティングデバイスがマウスの場合は、移動は、マウスボタンを下方にホールド、またはホールドしない状態で、生じることができる。フリックは上に定義したようなストロークを作成することができる。ストロークは、ポインティングデバイスを用いたドローイングまたはインキングを含むが、これに限定されない他の作業によっても、同様に作成できることに留意されたい。スタイラスを使用してフリックジェスチャを実行する利点は、ペンが使用できるコンピュータアクティブペンおよびスタティックペンを用いるとの組み合わせでフリックジェスチャを使用することが可能になることである。マウスを用いてフリックジェスチャを実行する利点は、マウスの使用は容易であり、ほとんどのコンピュータに共通して備わっていることである。指を使ってフリックジェスチャを実行する利点は、一部のユーザは、ペンを基本としたコンピュータでは、ユーザの中には、スタイラスよりも指を用いることを好むユーザがいることであり、ユーザが自分の指を使用してフリックを実行できることによって、追加のハードウエアを使用せずにフリックの機能性をユーザに提供できることである。汎用コンピューティング環境図1は、本発明を実装することができる適当なコンピューティングシステム環境100の例を示す。コンピューティングシステム環境100は、適当なコンピューティングシステム環境の一例にすぎず、本発明の使用または機能性の範囲について何らかの制限を示すことを意図したものではない。コンピューティングシステム環境100は、例示的な動作環境100に示したコンポネートのいずれか1つまたは組合せに関する何らかの依存性または要件を有するものとして解釈されてはならない。本発明は多数の他の汎用または専用のコンピューティングシステム環境または構成で動作する。本発明とともに使用するのに適当な公知のコンピューティングシステム、環境、および/または構成の例には、これに限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド装置またはラップトップ装置、多重プロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置などのいずれかを含む分散コンピューティング環境が含まれる。本発明は、プログラムモジュールなどのコンピュータによって実行されるコンピュータ実行可能命令の一般的なコンテクストにおいて説明される。一般に、プログラムモジュールには、特定のタスクを実行するか、特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポネート、データ構造などが含まれる。本発明は、通信ネットワークを通してリンクされたリモート処理装置によってタスクを実行する分散コンピューティング環境において実行されてよい。分散コンピューティング環境では、プログラムモジュールは、メモリストレージを含むローカルおよびリモートコンピュータストレージ媒体に配置される。図1を参照すると、本発明を実装するシステム例には、コンピュータ110の形の汎用コンピューティング装置110が含まれる。コンピュータ110のコンポネートには、これに限定されないが、処理ユニット120、システムメモリ130、およびシステムメモリを含む各種システムコンポネートを処理ユニット120に結合するシステムバス121が含まれ得る。システムバス121は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのいずれかを使用するローカルカバスを含む数種のバス構造のいずれかであってよい。制限ではなく例として、このようなアーキテクチャには、ISAIndustryStandardArchitectureバス、MCAMicroChannelArchitectureバス、EISAEnhancedISAバス、VESAVideoElectronicsAssociationローカルカバス、およびメザニンバスとしても知られるPCIPeripheralComponentInterconnectバスが含まれてよい。コンピュータ110は、様々なコンピュータ可読媒体を典型的に含む。コンピュータ可読媒体は、コンピュータ110によってアクセスできる任意の利用可能な媒体であってよく、また揮発性および不揮発性媒体、リムーバブルおよび固定の媒体の両方を含む。制限ではなく例として、コンピュータ可読媒体は、コンピュータストレージ媒体および通信媒体を含むことができる。コンピュータストレージ媒体には、コンピュータ可読命令、データ構造、プログラムモジュールまたは他のデータなど情報のストレージ方法または技術で実装した揮発性および不揮発性媒体、リムーバブルかつ固定の媒体の両方が含まれる。コンピュータストレージ媒体には、これに限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスクDVDまたは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージ装置、または所望の情報を格納するのに使用することができ、コンピュータ110によってアクセスすることができる任意の他の媒体が含まれる。通信媒体は、典型的に、コンピュータ可読命令、データ構造、プログラムモジュールまたは搬送波または他の搬送機構などの被変調データ信号の他のデータを具体化しかついずれかの情報送出媒体を含む。用語被変調データ信号modulateddatasignalは信号の情報を符号化するような方法で設定または変更された1つまたは複数のその特徴を有する信号を意味する。制限でなく一例として、通信媒体は有線ネットワークまたは直接有線接続などの有線媒体、および音響、RF、赤外線および他の無線媒体などの無線媒体を含む。上記のいずれかの組合せもコンピュータ可読媒体の範囲内に含まれなければならない。システムメモリ130は、読取専用メモリROM131およびランダムアクセスメモリRAM132などの揮発性および/または不揮発性メモリの形のコンピュータストレージ媒体を含む。始動中などに、コンピュータ110内の要素間の情報の伝送を助ける基本ルーチンを含む基本入/出力システム133BIOSは、典型的に、ROM131に格納される。RAM132は、直ちにアクセス可能であり、かつ/または処理ユニット120で動作しているデータおよび/またはプログラムモジュールを典型的に含む。制限ではなく例として、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。コンピュータ110には、他のリムーバブル/固定で、揮発性/不揮発性のコンピュータストレージ媒体も含まれてよい。例に過ぎないが、図1は、固定で不揮発性の磁気媒体から読取りまたはそこに書込むハードディスクドライブ141、リムーバブルで不揮発性の磁気ディスク152から読取りまたはそこに書込む磁気ディスクドライブ151、およびCD-ROMまたは他の光媒体などのリムーバブル、固定の光ディスク156から読取りまたはそこに書込む光ディスクドライブ155を示す。動作環境例において使用することができる他のリムーバブル/固定で、揮発性/不揮発性のコンピュータストレージ媒体には、これに限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、固体ROMなどが含まれる。ハードディスクドライブ141は、典型的に、インターフェース140などの固定のメモリインターフェースを通してシステムバス121へ接続され、磁気ディスクドライブ151および光ディスクドライブ155は、典型的に、インターフェース150などのリムーバブルなメモリインターフェースによってシステムバス121へ接続される。上述し図1に示したドライブおよびドライブに関連付けられたコンピュータストレージ媒体は、コンピュータ110に、コンピュータ可読命令、データ構造、プログラムモジュールおよび他のデータのストレージを提供する。例えば、図1では、ハードディスクドライブ141は、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして示される。これらのコンポネートは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じであるか、異なることに留意されたい。本明細書において、オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147は、異なる番号を与えられ、少なくともそれらが異なる複製品であることを示している。キーボード162およびマウス、トラックボール、またはタッチパッドなどと一般的に呼ばれるポインティングデバイス161によって、ユーザはコマンドおよび情報をコンピュータ20に入力することができる。他の入力装置図示せずには、マイクロフォン、ジョイステイック、ゲームパッド、衛星パラボラアンテナ、またはスキャナなどが含まれる。これらおよび他の入力装置は、システムバスに結合されるユーザ入力インターフェース160を通して処理ユニット120へ接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバスUSBなど他のインターフェースおよびバス構造によって接続されてもよい。また、ビデオインターフェース190などのインターフェースを介して、モニタ191または他種のディスプレイ装置が、システムバス121に接続される。モニタに加え、コンピュータには、出力周辺インターフェース195を通して接続することができるスピーカ196およびプリンタ197などの他の周辺出力装置が含まれてもよい。コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク環境で動作する。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置または他の共通ネットワークノードであり、図1には1つのメモリストレージ181のみが示されているが、コンピュータ110に関する上述した要素の多くまたはすべてを典型的に含む。図1に示した論理接続には、ローカルエリアネットワークLAN171および広域エリアネットワークWAN173を含むが、他のネットワークも含む。このようなネットワーク環境はオフィス、企業規模のコンピュータネットワーク、イントラネットおよびそのインターネットで通常のものである。LANネットワーキング環境で使用される場合、コンピュータ110は、ネットワークインターフェースおよびアダプタ170を通してLAN171へ接続される。WANネットワーキング環境で使用される場合、コンピュータ110は典型的に、モデム172またはそのインターネットなどのWAN173上に通信を確立するための他の手段を含む。内部または外部モデム172がユーザ入力インターフェース160、または他の適切な機構を介してシステムバス121へ接続される。ネットワーク環境では、コンピュータ110またはその一部に関連して示したプログラムモジュールがリモートメモリストレージに格納される。制限ではなく例として、図1は、メモリ装置181に常駐するものとしてリモートアプリケーションプログラム185を示す。示されたネットワーク接続は、例であり、コンピュータ間に通信リンクを確立する他の手段を使用してもよいことが理解されよう。いくつかの態様では、フリーハンドの入力をデジタルでキャプチャするために、ペンデジタイザ165およびこれに付随するペンまたはスタイラス166を提供する。ペンデジタイザ165とユーザ入力インターフェース160との間の直接接続を示すが、実際には、無線での技法を含む任意の技法によって、ペンデジタイザ165は、処理ユニット110、パラレルポートまたは他のインターフェースおよびシステムバス121に直接結合されてもよい。また、ペン166は、それに関連付けられたカメラおよびカメラによってキャプチャされた画像情報を無線でバス121とやり取りするインターフェースへ無線で送信するためのトランシーバを有する。さらに、ペンはカメラの他にまたはその代わりに、加速度計、磁力計、および回転儀を含む電子インクのストロークを判定するための他の感知システムを有する。示されたネットワーク接続は、例示的であり、コンピュータ間の通信リンクを確立するための他の技法を使用することができることが理解されよう。TCP/IP、イーサネットEthernet、FTP、およびHTTPなどの様々な周知のプロトコルのいずれかの存在が前提とされ、システムはクライアント-サーバ構成で動作することで、ユーザがウェブベースのサーバからウェブページを検索することが可能になる。従来の各種ウェブブラウザのいずれかを使用してウェブページ上にデータを表示させ、操作することができる。図2は、本発明の各種態様に係り、使用することができる具体的なタブレットPC201を示す。図1のシステムにおける機構、サブシステム、および機能のいずれかまたはすべてが、図2のコンピュータに含まれることができる。タブレットPC201は、例えばデジタルフラットパネルディスプレイであり、好ましくは液晶ディスプレイ画面である大型のディスプレイ面202を含み、複数のウインドウ203をディスプレイ面202に表示する。スタイラス204を使用すると、ユーザは、デジタル化表示面202に、選択、強調表示および/または書込みをすることができる。適切なデジタルディスプレイ面202の例には、ムトーMutohまたはワコムWacomのペンデジタイザのような電磁的なペンデジタイザが含まれる。他の種類のペンデジタイザ、例えば、光デジタイザを使用してもよい。タブレットPC201は、データの操作、テキストの入力、図面の作成、および/または表計算プログラム、ワードプロセッシングプログラムなどの従来のコンピュータアプリケーションのタスクの実行のために、スタイラス204を使用して行われたジェスチャを解釈する。スタイラス204には、1つまたは複数のボタンまたは他の機構を装備し、その選択能力を補助してもよい。一実施形態において、その一端が書込み部[筆記部]を、もう一端が消しゴム端部を構成する鉛筆またはペンとしてスタイラス204を実装することもでき、ディスプレイを消しゴムが横断すると、ディスプレイの一部分が消去されるということを示す。マウス、トラックボールなど他の種類の入力装置を使用することも可能である。さらに、ユーザ自身の指をスタイラス204にすることも可能であり、タッチセンシティブまたは近接センシティブなディスプレイ上に表示された画像のある部分を選択または示すことを可能である。結果的に、ユーザ入力装置という用語は、ここで使用されるように、広い定義を有することを目的としており、スタイラス204のような公知の入力装置の多くの変形を包含する。領域205は、ユーザが、スタイラス204が表示面202と接触する場所を決定することを可能にするフィードバック領域または接触領域を示す。各種実施形態において、本システムは、インクをキャプチャし、処理し、記憶するためにアプリケーションプログラムが使用できる、1組のCOMコンポーネントオブジェクトモデルサービスとして、インクプラットフォームを提供する。1つのサービスによって、1つのアプリケーションが、開示されたインクの表現を使用して、インクを読み取ること、および書き込むことができる。インクプラットフォームは拡張マークアップ言語XMLに似た言語を含むマークアップ言語を含むこともできる。さらに、システムは、別の実装として別のDCOMを使用してもよい。マイクロソフトコーポレーションMicrosoftCorporationのWin32プログラミングモデルおよびNetプログラミングモデルを含むさらに他の実装を使用してもよい。ジェスチャジェスチャとは、あるアクションを呼び出す方法であり、ツールバーのボタンをクリックすることか、またはキーボードのショートカットをタイプすることに類似している。ジェスチャは、これに制限されないが、マウス、スタイラス、および/または指を含むポインティングデバイスで実行することもできる。ジェスチャは、ポインティングデバイスに関連した形状を有する。形状は、点例えば、マウスのボタンをクリックすることのように簡単であってもよく、あるいは一連の動きのように複雑であってもよい。ジェスチャは、形状に関連した位置も有する。この位置を使用してジェスチャの範囲、目標、および/または意味を決定づけることもできる。フリックジェスチャジェスチャは、何年もの間、コンピューティングシステムで使用されてきた。しかし、多くの開発者およびエンドユーザは、その難しさおよび複雑さのためにジェスチャを利用することができない。例えば、ジェスチャ認識エンジンは、ジェスチャを認識するときに、あまりにも多くの偽陽性および偽陰性に煩わされる。これらの偽陽性ユーザの入力がジェスチャとして意図されていないときに、システムがその入力をジェスチャであると判定する場合および偽陰性ユーザがジェスチャを実行しようと試みたときに、システムがユーザの入力をジェスチャではないと判定する場合は、開発者およびエンドユーザを一様に苛立たせる。本明細書において説明したように、フリックジェスチャは、ポインティングデバイスの単一な動きを含む簡単なジェスチャである。フリックジェスチャは、ユーザにとって記憶および実行することが容易である。ユーザがフリックジェスチャを習得すると、ジェスチャを複数の使用法に応用し、異なるタスクを達成することができる。また、フリックジェスチャは、システムが認識しやすく、他のアクションドラッグ、選択などと区別することも容易である。開発者および/またはユーザはフリックジェスチャと動作を関連させることができる。これらの動作は、前方、後方へのナビゲーション、上方または下方へのスクロール、アプリケーションの変更、右クリックスタイラスベースのシステムでは、常に存在しても、あるいは存在しなくてもよい、および任意のアプリケーションコマンドを含む。任意のアプリケーションコマンドとは、アプリケーションに関するコマンドであり、アプリケーション自体に固有で、他のアプリケーションには一般的に使用できないコマンドである。さらに、フリックジェスチャは、所定の意味を有する必要はなく、むしろ開発者またはユーザがカスタマイズして、ユーザがキーボードショートカットまたはマクロに素早くアクセスできるようにキーまたはキーの組合せを実行することもできる。ジェスチャを有効にすることの1つの利点は、ジェスチャによってユーザが、より高い生産性を感じることができることであり、キーボードを使用しないときに感じる非生産的な感情を解消することができることである。オペレーティングシステム内の全アプリケーションとフリックジェスチャの関連した機能を一致させてもよい。あるいは、フリックジェスチャは、それに関連する機能のコンテクストであってもよいフリックジェスチャに関連し結果として起こる動作は、フリックジェスチャが生じたアプリケーションに基づいて変わる。また、フリックジェスチャは、アプリケーション内の位置例えば、タイトルバー内特有であるか、または選択が行われたか否か例えば、ジェスチャは、カット、コピー、ペーストおよび/またはペーストの特別な動作を実行してもよいに特有であってもよい。さらに、またはあるいは、フリックジェスチャに関連付けられたどのアクションを実行すべきか判定するのにコンピュータの状態を使用してもよい。例えば、現在選択されているオブジェクトの色、どのユーザがシステムにログインしているか、システムに外部のモニタが接続されているか否か、など、要するに、コンピューティングシステムまたはオブジェクトのあらゆるの状態または状態のあらゆる組合せを使用して、あるフリックジェスチャに応じ、どのアクションを実行するかを判定することができる。さらに、異なる入力装置が、フリックジェスチャに関連付けられたアクションを変更し得る。例えば、スタイラスによって実行したときのフリックジェスチャとアクションの第1のセットを関連付けることができる。別のポインティングデバイスによって実行したときのフリックジェスチャとアクションの第2のセットを関連付けることができる。アクションのセットの数は、異なる入力装置の数によって変えることができる。さらに、ホットゾーン内のあるフリックが、さらに別の動作を有する場合に、そのホットゾーンを有効にしても、しなくてもよい。ホットゾーンは、ディスプレイメニューおよび/またはラジアルメニューの特定の領域を含んでもよい。フリックジェスチャは方向独立型でもよく、または方向特定型でもよい。方向特定型である場合は、フリックが描かれる方向によってその結果を判定する。フリックジェスチャの特徴は、方向に基づいて変わってもよく、または変わらなくともよい。例えば、システムは、フリックジェスチャを認識するパラメータを1セットだけ有することができる。あるいは、システムは、フリックの方向に応じて変わる任意の数のパラメータを有し、左右の利き手、スタイラスの角度等を適応させることができる。これらのパラメータを変更して、ある特定の方向のフリックジェスチャを実行しやすくさせてもよい。ユーザがフリックジェスチャの実行方法を習得すると、ユーザには、利用可能な各々の方向に関連付けられたアクションを学ぶことだけが求められる。各々の方向に関連付けられたアクションは、カスタマイズすることが可能であり、ユーザは、パーソナライズされ最適化された経験を有することができる。フリックジェスチャは、単独で使用してもよい。あるいはフリックジェスチャは、組み合わせて追加のアクションを実行してもよい。例えば、上向きのフリックジェスチャが、ページアップのアクションを実行し、両方とも上方向の2回のフリックジェスチャが、文書最上部に移動する移動アクションを実行してもよい。代替実施形態では、任意の移動および時間閾値を満たしつつ、スタイラスのボタンを押すことによってか、またはマウスの右マウスボタン補助的なマウスボタンを押すことによって、フリックジェスチャを可能にすることができる。しかし、フリックジェスチャの1つの利点は、モードを変更することなく、左マウスボタンクリックまたはスタイラスまたは指でフリックジェスチャを実行できることである。フリックジェスチャは、ユーザの生産性を上げること、またユーザが、これまでに可能であったレベルより効果的なレベルで、デスクトップおよびアプリケーションと対話できるようにすることができる。ジェスチャは、ユーザが顕著な利益を得るのに最低限のレベルのトレーニング/記憶さえすればよいように設計される。すなわち、ユーザがジェスチャを習得すると、ユーザには、方向-アクションの関連付けを習得することのみが求められる。通常のマウスまたはスタイラスの動きとフリックジェスチャとは、様々な判定基準およびフリックジェスチャが受ける制約に基づいて区別することができる。フリックジェスチャによって、ユーザが、スクロールバーまたはナビゲーションボタンによるターゲッティングを不要にすることができる。これは、ハイパーリンクがある文書の読取もしくはナビゲート、またはハイパーリンクがない文書の読取もしくはナビゲートを含んでもよい。この種類の文書を読取ることは、オンラインおよびオフラインで実行できる。加えて、カット、コピーおよびペーストを含む一般のアクションもフリックジェスチャを使用して実行することができる。フリックジェスチャの判定フリックジェスチャは、ユーザが、ペンを画面に対して単にフリックするだけで実行でき、実装部先端または底部によって、ペンのいずれかの有効部分を使用することもできる。例えば、ユーザがフリックジェスチャを実行する間、ペンボタンをホールドするように求めるモード要求をする場合はあるが、いずれかのモードを入力することをユーザに求めず、自然なモードでフリックジェスチャを実行することができる。フリックジェスチャは、8方向例えばで行うことができ、各フリックはこの8方向のうちの1つになる。フリックジェスチャの発生を、物理的または論理的なxおよびy座標のプロファイルと、時間に対する図表で示された圧力または位置に基づき判定することができる。要するに、フリックジェスチャが起こったか判定するのに使用することができる3つの基本的な特徴には、フリックの方向、フリックの動き、およびフリックのタイミングが含まれる。動きの閾値は、例えば、1cmより大きく、時間の閾値は0.2msより大きくてよい。当然、これらの変数は、全ユーザに適応するよう変えることができる。これらの特徴を使用して、システムは閾値と比較してより迅速にフリックの他の面を計算できる。例えば、システムは、速度、加速度、曲率、揚程等を計算することができ、これら導出値または数値のセットを用いて、ユーザがフリックジェスチャを実行したか否かを判定する。フリックジェスチャは、二重作動ダブルタップまたはダブルクリック、プレスアンドホールド、ホールドアンドドラッグ、および他のジェスチャを含む他のアクションとは別に判定されてもよい。ニューラルネットワークといった他の方法を用いて、3つの基本特性から導出された入力特徴の組合せに基づきフリックジェスチャを分類することもできる。これらの判定基準を用いてフリックジェスチャが起こったか否かを判定することの利点の1つは、フリックジェスチャの検出時間を最小にすると同時に、偽陰性および偽陽性も最小にすることである。これら利点は、組合わさって、システムの応答性を全体として向上させる。例えば、あるフリックが生じたか否かを判定する手順は、あるフリックがフリックジェスチャの資格を満たさないことを迅速に判定し、入力装置の動きが入力装置の通常の動きとして取り扱われることができるように、組織されてもよい。本発明の態様には、システムが、フリックが本当にフリックジェスチャであるか否かを判定している間に、入力装置の通常のアクションと関連付けられたフリックの動きおよび/またはアクションをレンダリングすることが含まれる。または、本発明の態様は、システムが、フリックジェスチャが起こったか否かを判定するまで、ユーザが動作させたポインティングデバイスより受け取った入力情報の処理またはレンダリングを阻むことを含んでもよい。後者のアプローチは、ユーザへのフィードバックに僅かな視覚的な遅れを起こすことがあるが、これにより通常の入力で操作されるオブジェクトが存在する状態で、ユーザがフリックジェスチャを実行する能力を高めることができる。例えば、オブジェクトの上方で実行されたフリックは、通常の入力として処理され、その結果、フリックジェスチャが意図されていても、オブジェクトはドラッグおよびドロップされる。従って、これらの本発明の代替態様では、システムは、パケットがフリックジェスチャであるか否かを判定するまで、フリックジェスチャである可能性、またはフリックジェスチャでない可能性のあるパケットをホールドすることができる。図3はフリックジェスチャに使用できる様々な方向例を示す。全方向のグループが、領域301により示される。4つの基本領域302~305と、4つの対角領域306~309を示す。システムは、フリックジェスチャが移動した方向の判定に関して、8つの領域全てを同一のものとして処理してよい。あるいはいくつかの領域例えば、主要な方向について、ユーザの入力が、対角方向のものがこれらの方向のいずれか1つに入るように分類するようにバイアスをかけてもよい。異なる方向の数は、固定されても、変更可能であってもよい。例えば、6または12、あるいはいずれかの方向数を、ユーザが利用できる方向数として交互に用いることもできる。フリック方向を判定するために、ペンダウン点は、円の中心を表し、例えば、それぞれが円の45度部分である、中心を囲む8つの同形で等しく区切られた領域がある。これらの領域はタブレットの方向性には依存しておらず、従ってタブレットが回転しても回転しない。領域は45度に制限される必要はなく、アプリケーションに応じてより大きくも、または小さくもできる。しかし、システム全体を通してデフォルトとして使用するものは、当初45度に設定することができる。フリックジェスチャは、定義によれば、ペンダウンまたは左マウスクリック点が中心であることから、図3に示す円の中心から開始され、フリックと呼ばれる短く、迅速で、直線のストロークをペンダウン点に向けて引かれる。フリックが短く、直線であると定義されていることから、フリックは領域の1つの中に収まる。線が引かれた領域がどこであっても、始動したアクションを判定することができる。フリック領域は、ストロークがフリックの資格を満たしている場合本明細書に記載したような直線性、長さおよび速度要件を含んでも、含まなくともよいに、画面と接触しているストロークの開始点と終点とを結ぶことで決定される。フリックが領域を分離している完全線にかかった場合に、フリックは領域、非対角領域、または水平または垂直方向を表す領域に初期設定されてもよい。フリックジェスチャを正しく認識された後、直ちにフィードバックがユーザに対し行われても、または行われなくともよいが、この場合フィードバックはユーザが実行したフリックジェスチャが認識されたこと、およびメッセージがオペレーティングシステムまたはアプリケーションに送られることを示す。フィードバックはまた、始動したアクションを示してもよい。このフィードバックは、これから起こるアクションを意味するものではなく、成功したフリックが認識され、送られることのみを意味している。例えば、ユーザがページダウンフリックジェスチャを実行し続け、ユーザがページの一番下に達すると、ユーザはページをそれ以上下向きにスクロールできないためにアクションは生じないものの、それでもユーザは正確なフィードバックを得るだろう。このフィードバックは、ジェスチャが成功裏に認識されると直ちに現れることもあり、短時間の間ほぼ500ms留まることがあっても、時間がたつのに伴い消滅する。代わりに、フィードバックが提供されなくてもよい。さらに、追加の代替的な態様においては、フィードバックは、アニメーション化されてもよく、フリックジェスチャが成功裏に認識されたことを直ちにユーザに伝えることができる。アニメーションは、認識したフリックジェスチャに関連した方向のフィードバックをユーザに提供しても、しなくてもよい。図4は、フリックが生じたか否かを判定する手順を示す。ステップ401において、ペンダウンイベントか、またはボタンダウンイベントが生じる。次のステップ404において、システムは、動きの閾値を超える例えば、2~5cmを超える動きがあったか否かを判定する。このような動きがない場合、システムは、受信している入力が、ステップ405に示されたような何か他のアクションまたは選択であると判定することができる。ステップ404から閾値を超える動きがあった場合、システムは、入力装置の速度が閾値例えば、最速速度より20以下か、または毎秒5cm以下未満であるか否かを判定する。この速度の低下は、短い間隔10~200ミリ秒での速度の低下にセンシティブであっても、なくてもよい。代わりに、プロセスは、認識したジェスチャの速度が低下しているか否かを判定してもよい。ステップ406で速度が低下しない場合、ステップ407において、別のもう1つのアクションまたは選択が判定される。ステップ406で速度が低下している場合、ステップ408でフリックジェスチャが生じたと判定する。現在の位置は、フリックのパスに沿ったすべていずれかの位置であると考えてもよく、その位置は、これに限定されないが、スタイラスまたは指を画面から持ち上げた位置か、スタイラスまたは指をマウスボタンから放した位置を含む。下記に、図4のプロセスに任意で追加できることを説明する。ステップ401から、システムは、ペンが置かれた位置がインク領域内であったか否かを判定することもできる。インク領域内であった場合、システムは、ペンを置くイベントがあったとして、ステップ403に示したように、インクの作成と関連付ける。これは、追加動作例えば、実際にインクを作成すること、インクを選択すること、またはインクを消去することを含んでも、含まなくてもよい。別の任意のステップは、ステップ409を含む。ステップ409において、システムは、フリックジェスチャのパスが相対的に直線であるか否かを判定する場合がある。これは、そのジェスチャの全ポイントが、最初の接触ポイントから所定の角度内にあるか否かを判定することを含んでもよい。最初の角度は、45度以下の角度を含む場合がある。ポイントが所定の位置内にない場合、プロセスは、ステップ401の入力が、フリックジェスチャではないと結論づける。さらに別の任意のステップの一組411と412は、ポインティングデバイスが画面に接触する前および/または接触した後に、その運動を分析することを含む。例えば、スタイラスが画面に先をつけるか、画面から離れた後に、そのスタイラスがいくらかの間隔を直線の状態であり続けることを通知することによって、検出アルゴリズムの精度を上げることもできる。ステップ409および412の手法は、フリックジェスチャではないフリックを素早く除外するのに役立つ。代わりに、この代替的な手法は、以前に拒絶したフリックジェスチャとしてフリックを解釈することができるためにより複雑で機能的には遅くなるが、ステップ409および411の手法は、ユーザの動きへの許容度を大きくしてもよい。成功したフリックが行われると、システムは、システムの他の態様またはアプリケーションに、フリックジェスチャが生じたことを知らせることができる。アプリケーションが、このアクションに関連した挙動を行うことができるように、メッセージが送られ、挙動が割当てられていない場合、フリックアーキテクチャは、アプリケーションが解釈するためのデフォルト値を送る場合がある。例えば、バックコマンドがアプリケーションに送られた場合、これを、ブラウザでのバックコマンドとしてか、またはデータベースアプリケーションでの以前のエントリとして解釈することができる。具体的には、さまざまな異なるアプローチをフリックジェスチャの扱いに適用することができる。第1に、オペレーティングシステムは、フリックジェスチャを解釈し、扱うことができる。セマンティックへの所与の方向からのマッピングは、システムによって実行または省略されてよい。第2に、フリックアクションへのフリックのマッピングは、オペレーティングシステム内でなされてもよいが、アプリケーションまたはフリックを扱うためのアプリケーションに送られてもよい。システムは、所定の領域かフリックの正確な検出角度のどちらかを示すことによってフリックのオリジナルの方向のみを1つまたは複数のアプリケーションプログラムに渡してもよく、セマンティックを渡してもよい。あるいは、方向とセマンティックの両方を渡してもよい。第3に、システムは、フリックをアプリケーションに渡してもよい。または、1つのアプリケーションまたは複数のアプリケーションが、フリックをフリックジェスチャとして解釈するアプリケーションにフリックを渡してもよい。アプリケーションプログラムまたは複数のプログラムにより、所定の領域、正確な角度、セマンティックメッセージ、または3つのうちの何らかの組合せを解釈することができる。次いで、1つのアプリケーションまたは複数のアプリケーションは、フリックジェスチャを扱うか、またはその扱いのためにオペレーティングシステムへ送り返すことができる。フリックジェスチャは、フリックのペンダウン位置か、または現在の焦点、フォアグラウンドアプリケーション、もしくはカーソルの位置に適用されてよい。フリックジェスチャを、ナビゲーションに限定せず、他の動作を行うために使用することもできる。例えば、スタイラスが接触している画面の位置で右クリック動作を実行するフリックジェスチャをユーザが望む場合がある。開発者は、アプリケーション内またはスクロールバーなどのアプリケーションの特定のエリア内でフリックジェスチャをオフにすることも可能である。加えて、開発者は、フリックジェスチャをカスタマイズすることを防止するか、または代わりに、フリックジェスチャをカスタマイズすることを可能にしてアプリケーション内で特定のアクションを起こすようにすることができる。さらに、フリックジェスチャは、アプリケーション内で、カスタムフィードバックを提供することが可能であっても、可能でなくてもよい。トレーニング図5は、フリックジェスチャを行うことができるように、ユーザをトレーニングする例示的なプロセスを示す。いくつものプロセスを使用して、フリックジェスチャを行うためにユーザをトレーニングすることができ、その多数のプロセスを、直接のステップおよび任意のステップを用いて図5に示す。さらに、システムは、フリックジェスチャをどのように行うかについてのトレーニングを提供することなく、本明細書中で説明したようにフリックジェスチャを行ってもよい。ステップ501において、システムは、個別指導プロセスを始める。ステップ505において、システムは、ユーザがフリックジェスチャをN回5回か10回程度実行したか否かを判定する。実行した場合、システムは、個別指導プロセスをステップ510で終了する。ステップ505において実行していないと判定した場合、システムは、ユーザをトレーニングするために、より多くのフリックジェスチャを要求する。あるいは、ステップ509で、ユーザが、さらなるトレーニングから抜け出ることを認めてもよい。図5は、トレーニングステップに含まれる多数の任意の追加コンポーネントも示す。ステップ502において、システムは、ユーザがフリックを練習できるエリアを提供することができる。ステップ503において、システムは、フリックジェスチャの実行の仕方をユーザに命令することができる。ステップ504と508において、システムは、図4の閾値を修正して、フリックジェスチャの認識を容易にするか、またはユーザが実行しているアクションに近いモデルにすることができる。ステップ506において、システムは、ジェスチャを繰り返すことをユーザに要求してもよい。ステップ506でジェスチャを繰り返す要求の代わりに、または要求に加えて、システムは、ジェスチャが正しく実行されたことを示すものを表示してもよい。ステップ507において、システムは、フリックジェスチャの適切な実行の仕方に関するユーザへの命令を繰り返すこともできる。この命令は、一般的であってよく、またはフリックジェスチャを実行することへの以前の一つあるいは複数の試みに基づき、ユーザができる特定の改善についての説明を含んでもよい。例えば、プロセスは、フリックジェスチャが適切に実行されたことを示してもよい。あるいは、フリックジェスチャにフリックを成功裏に実行するのを支援するヒントフリックをより速く、またはフリックをより真直ぐになどを提供する。例示的な実装図6は、ジェスチャレコグナイザを、他のコンポーネントとどのように統合するかについての例を示す。図6は、スタイラスまたはリアルタイムの他の入力装置からの入力を処理しようと試みるリアルタイムのスタイラスコンポーネント601を示す。リアルタイムスタイラスRTSは、所与のウインドウハンドル上のリアルタイムスタイラスイベントを所与のウインドウ入力の長方形内に提供するオブジェクトである。リアルタイムスタイラスは、追加機能を扱うプラグインのオブジェクトを加えるためのフレームワークをも考慮することができる。プラグインオブジェクトを、リアルタイムスタイラスの所望の機能性が変化するのに伴って加えること、および除去することができる。リアルタイムスタイラスは、1つまたは複数のインターフェースを有することができる。2つのインターフェースの場合、1つは同期インターフェースであり、1つは非同期インターフェースであってよい。これらのインターフェースは、プラグインがリアルタイムスタイラスに接続される位置を提供する。これらのインターフェースは、例示目的のために過ぎない。他のインターフェースを使用することもできる。プラグインは、同期インターフェースおよび非同期インターフェースに取り付けることができる。プラグインとは、リアルタイムスタイラスのオブジェクトに加えることのできる機能的なコンポーネントである。リアルタイムスタイラスのオブジェクトの同期インターフェースにプラグインを取り付ける場合、これを同期プラグインと呼ぶことができる。リアルタイムスタイラスのオブジェクトの非同期インターフェースにプラグインを取り付ける場合、これを非同期プラグインと呼ぶことができる。プラグインは、コレクションにグループ化されてもよい。1つまたは複数のグループで、RTSに取り付けられたプラグインのコレクションで、2つのコレクションが存在する場合、2つのコレクションは、RTSの同期インターフェースと非同期インターフェースのそれぞれと関連付けられる。各コレクションを順番に実行することができる。2つ以上のコレクションが存在する場合、そのコレクションは、RTSまたは複数のRTSの異なるインターフェースに取り付けられているので、互いに独立してコレクションを実行することができる。各プラグインによって扱われた後で、データがRTSに戻す。コレクション内のプラグインの順番は、コレクションの出力に影響を与える場合がある。リアルタイムスタイラスコンポーネント601は、同期プラグイン602~604と非同期プラグイン605~606を含むことができる。プラグインは、プラグインコレクションにグループ化される。同期プラグイン602~604例えばダイナミックレンダラを含むは、迅速に入力を処理する必要があるプラグインに関する。非同期プラグイン605~606は、リアルタイムスタイラスからの情報を非同期ベースで処理することができる。ジェスチャレコグナイザ605にフリックジェスチャレコグナイザを配置することができ、非同期スレッドで処理することができる。代わりに、フリックジェスチャレコグナイザは、他の同期プラグインとともに同期スレッドに配置することもできる。同期スレッドに配置した場合、フリックジェスチャレコグナイザ603は、リアルタイムスタイラス601から入力された情報が追加のプラグインによって処理され、同期スレッドに送られる前に、この入力を直ちに処理することができる。フリックジェスチャとして認識されなかったジェスチャは、非同期スレッドのジェスチャレコグナイザ605によって認識されねばならない。本発明を、好ましく例示的な実施形態の観点から説明した。この開示を参照することによって、当業者は、添付請求項の範囲および精神から逸脱しない多数の他の実施形態、変更形態、および変形形態を考案することができる。"