(57)【特許請求の範囲】
【請求項１】
コンピューターシステムであって、
１又は複数のプロセッサーと、
コンピューター実行可能命令を有した１又は複数のコンピューター可読記憶媒体であって、前記コンピューター実行可能命令は、前記コンピューターシステムに表示されるユーザーインターフェイスを前記コンピューターシステムが動作させるように、前記１又は複数のプロセッサーによって実行可能であり、前記コンピューター実行可能命令は、前記コンピューターシステムに、少なくとも：
前記コンピューターシステムにおいて少なくとも：
前記ユーザーインターフェイスの拡張可能次元に沿って広がり、前記拡張可能次元においてパン可能なキャンバスと、
前記キャンバスを充足する複数の選択可能要素と、
前記キャンバスの前記拡張可能次元に対する直交次元においてスクロール可能なユーザーインターフェイス要素と、
を表示するステップと、
前記キャンバス上においてユーザーからユーザージェスチャを受け取るステップと、
前記受け取られたユーザージェスチャが、前記キャンバスの前記拡張可能次元においてパンを生じさせるように意図されているか、前記直交次元においてスクロールを生じさせるように意図されているか、前記キャンバスを充足する前記複数の選択可能要素のうちの１つの選択を生じさせるように意図されているかを、前記複数の選択可能要素の１つに関連付けられたパン開始領域の初期形状に少なくとも部分的に基づいて予測するステップと、
前記受け取られたユーザージェスチャの意図の前記予測が誤っていたことを判定し、その結果として、以下：
前記ユーザーが前記拡張可能次元に沿ってパンすることを意図したことを前記予測が誤って予測した場合、前記パン開始領域の前記初期形状を、前記拡張可能次元に比べて前記直交次元において縮小した広がりを有するように調整する、
前記ユーザーが前記直交次元に沿ってスクロールすることを意図したことを前記予測が誤って予測した場合、前記パン開始領域の前記初期形状を、前記直交次元に比べて前記拡張可能次元において縮小した広がりを有するように調整する、
のうちの１又は複数を実施するステップと、
を実施させる命令を含む、コンピューターシステム。
【請求項２】
前記ユーザージェスチャは、前記パン開始領域内において受け取られる、請求項１に記載のコンピューターシステム。
【請求項３】
前記受け取られたユーザージェスチャが前記パン開始領域内に留まる場合、前記受け取られたユーザージェスチャは要素選択ジェスチャとして意図されているとの予測がなされ、
前記受け取られたユーザージェスチャが前記パン開始領域の外へ行く場合、前記受け取られたユーザージェスチャは直交パンジェスチャを行う意図又はキャンバスパンジェスチャを行う意図のいずれかとして予測される、
請求項１に記載のコンピューターシステム。
【請求項４】
前記ユーザーが前記キャンバスパンジェスチャを意図したことが予測された場合、前記キャンバスは前記受け取られたユーザージェスチャの前記拡張可能次元における動きに従ってパンする、請求項３に記載のコンピューターシステム。
【請求項５】
前記直交パンジェスチャが意図されていることが予測された場合、前記キャンバスは前記受け取られたユーザージェスチャの前記直交次元における動きに従ってパンする、請求項４に記載のコンピューターシステム。
【請求項６】
前記直交パンジェスチャが識別されたことが予測された場合、前記複数の選択可能要素のうちの前記パン開始領域に関連付けられた特定の選択可能要素が、前記受け取られたユーザージェスチャの前記直交次元における動きに従ってパンする、請求項３に記載のコンピューターシステム。
【請求項７】
前記パン開始領域は、前記キャンバスの前記拡張可能次元に比べて前記直交次元においてより大きな広がりを有する、請求項１に記載のコンピューターシステム。
【請求項８】
前記パン開始領域は菱形である、請求項７に記載のコンピューターシステム。
【請求項９】
前記ユーザージェスチャが前記複数の選択可能要素のいずれとも関連付けられていないエリアにおいて前記キャンバス上で受け取られた場合、前記キャンバスをパンする意図が予測される、請求項１に記載のコンピューターシステム。
【請求項１０】
コンピューターシステム上に実装されるユーザーインターフェイス上の拡張可能次元に広がり、複数の選択可能要素によって充足されるキャンバスとのユーザーインタラクションを可能にするための方法であって、
前記コンピューターシステムにおいて少なくとも：
前記ユーザーインターフェイスの拡張可能次元に沿って広がり、前記拡張可能次元においてパン可能なキャンバスと、
前記キャンバスを充足する複数の選択可能要素と、
前記キャンバスの前記拡張可能次元に対する直交次元においてスクロール可能なユーザーインターフェイス要素と、
を表示するステップと、
前記キャンバス上においてユーザーからユーザージェスチャを受け取るステップと、
前記受け取られたユーザージェスチャが、前記キャンバスの前記拡張可能次元においてパンを生じさせるように意図されているか、前記キャンバスの前記直交次元においてスクロールを生じさせるように意図されているか、前記キャンバスを充足する前記複数の選択可能要素のうちの１つの選択を生じさせるように意図されているかを、前記複数の選択可能要素の１つに関連付けられたパン開始領域の初期形状に少なくとも部分的に基づいて予測するステップと、
前記受け取られたユーザージェスチャの意図の前記予測が誤っていたことを判定し、その結果として、以下：
前記ユーザーが前記拡張可能次元に沿ってパンすることを意図したことを前記予測が誤って予測した場合、前記パン開始領域の前記初期形状を、前記拡張可能次元に比べて前記直交次元において縮小した広がりを有するように調整する、
前記ユーザーが前記直交次元に沿ってスクロールすることを意図したことを前記予測が誤って予測した場合、前記パン開始領域の前記初期形状を、前記直交次元に比べて前記拡張可能次元において縮小した広がりを有するように調整する、
のうちの１又は複数を実施するステップと、
を含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  様々な情報コンテキストの中をナビゲートすることに対する現在のパラダイムはウィンドウベースである。これのクラシックな例はウェブブラウザー体験である。ユーザーは、ブラウザーのスペース全体を占めるホームページから始めるかもしれない。ユーザーは次に、ハイパーリンクを選択するかもしれず、その上に新しいウィンドウが現れる。しかしながら、前のウィンドウは消え去るか、あるいは、新規のページを新たなウィンドウで開くオプションを実施している場合には、前のウィンドウは完全に、又は少なくとも部分的に隠される。
【０００２】
[0002]  本明細書において請求される主題は、何らかの欠点を解決する、又は上述されたような環境においてのみ動作する実施態様には限定されない。そうではなく、この背景は、本明細書で説明されるいくつかの実施態様が実施されることができる一例の技術領域を例示するために提供されるにすぎない。
【発明の概要】
【０００３】
[0003]  本明細書において説明される少なくともいくつかの実施態様は、拡張可能次元において拡張可能であり、その上に複数の選択可能要素が配置されることができるキャンバスを有したユーザーインターフェイスに関する。この文脈において、選択コントロールが特定の選択可能要素と関連付けられ、更にユーザージェスチャが提供された時に、パン検出機構は、キャンバスをパンする意図と特定の選択可能要素を選択する意図を区別するように構成される。別の実施態様では、パン検出機構は、キャンバスをその拡張可能方向に沿って（例えば水平方向に）パンする意図と、ユーザーインターフェイス要素をキャンバスの拡張可能方向に対して直角に（例えば垂直方向に）スクロールする意図を区別するように構成される。更に別の実施態様では、パン検出機構は、３つの意図全て、即ち、１）キャンバスをその拡張可能方向にパンする意図、２）ユーザーインターフェイス要素をキャンバスの拡張可能方向に対して直角にスクロールする意図、及び３）ユーザーインターフェイス要素を選択する意図、を区別するように構成される。
【０００４】
[0004]  この概要は、詳細な説明において更に後述される概念からの選抜を簡略な形で導入するために提供される。この概要は、請求された主題の主要な特徴又は本質的な特徴を特定することを意図したものではなく、また、請求された主題の有効範囲を決定する際の助けとして用いられることを意図したものでもない。
【図面の簡単な説明】
【０００５】
[0005]  本発明の上記の及び他の利点と特徴がどのようにして得られることが可能であるかを説明するために、簡潔に上述された本発明のより具体的な説明が、添付の図面に描かれた特定の実施態様を参照して提供される。これらの図面は本発明の典型的な実施態様のみを表し、したがってその範囲を限定するものとみなされてはならない、ということを理解しながら、本発明は、添付図面の使用を通じて、更なる具体性と詳細さをもって記述され説明される。
【０００６】
【図１】[0006]  図１は、本明細書において説明される原理が利用されることができる例示的なコンピューティングシステムを抽象的に示す。
【図２】[0007]  図２は、いくつかの選択可能ユーザーインターフェイス要素を有したキャンバスがキャンバスの拡張可能方向（例えば水平方向）にパン可能であるが、いくつかの選択可能要素もキャンバスの拡張可能方向に直交する（例えば拡張可能方向に垂直な）方向にパン可能（又はスクロール可能）である環境を抽象的に示す。
【図３】[0008]  図３は、本明細書において説明される原理に従ってパン及び選択ジェスチャを区別するための機構のサポートアーキテクチャを示す。
【図４】[0009]  図４は、多数の選択可能要素によって充足されたキャンバスを含む、より一層詳細なユーザーインターフェイスを示す。
【図５】[0010]  図５は、ポインターの動きに関連した円弧が描かれていることを除いて図４のユーザーインターフェイスに類似するユーザーインターフェイスを示す。
【図６】[0011]  図６は、パン開始位置に対して例示的なパン開始領域が描かれたユーザーインターフェイスを示す。
【図７】[0012]  図７は、ユーザーインターフェイス上の拡張可能次元に広がり、選択可能要素によって充足されるキャンバスとのユーザーインタラクションを可能にするための方法のフローチャートを示す。
【発明を実施するための形態】
【０００７】
[0013]  本明細書において説明される少なくともいくつかの実施態様は、拡張可能次元において拡張可能であり、その上に複数の選択可能要素が配置されることができるキャンバスを有したユーザーインターフェイスに関する。この文脈において、選択コントロールが特定の選択可能要素と関連付けられ、更にユーザージェスチャが提供された時に、パン検出機構は、キャンバスをパンする意図と特定の選択可能要素を選択する意図を区別するように構成される。代替的に、又はこれに加えて、選択コントロールがキャンバスの拡張可能方向に対して直交してスクロールされることのできる特定の直交スクロール可能要素と関連付けられた時、パン検出機構は、キャンバスをパンする意図と直交スクロール可能要素をスクロールする意図を区別することができる。コンピューティングシステムのいくつかの導入的議論が、図１を参照して説明される。その後、例示的なユーザーインターフェイス、方法、及びサポートアーキテクチャが、後続の図を参照して説明される。
【０００８】
[0014]  コンピューティングシステムは今やますます、幅広い多様な形態をとっている。コンピューティングシステムは、例えば、携帯型デバイス、家電製品、ラップトップコンピューター、デスクトップコンピューター、メインフレーム、分散コンピューティングシステム、あるいは、従来ではコンピューティングシステムとは考えられなかったデバイスでさえあってよい。この説明において、及びクレームにおいて、「コンピューティングシステム」という用語は、少なくとも１つの物理的且つ有形のプロセッサーと、プロセッサーによって実行されることができるコンピューター実行可能命令を有する能力のある物理的且つ有形のメモリとを含む任意のデバイス又はシステム（又はそれらの組み合わせ）を含むものとして広義に定義される。メモリは、任意の形態をとることができ、またコンピューティングシステムの特質と形態に依存してよい。コンピューティングシステムは、ネットワーク環境にわたって分散されることができ、また複数の構成要素のコンピューティングシステムを含んでよい。
【０００９】
[0015]  図１に示されるように、最も基本的な構成において、コンピューティングシステム１００は一般に、少なくとも１つの処理装置１０２とメモリ１０４を含む。メモリ１０４は物理的なシステムメモリであってよく、それは揮発性、不揮発性、又はそれら２つの何らかの組み合わせであってよい。「メモリ」という用語はまた、本明細書において、物理的な記憶媒体などの不揮発性のマスストレージを意味するのに用いられてもよい。もしコンピューティングシステムが分散されるなら、処理、メモリ、及び／又は記憶の能力も同様に分散されてよい。本明細書において用いられる際、「実行可能モジュール」又は「実行可能コンポーネント」という用語は、コンピューティングシステム上で実行されることができるソフトウェアオブジェクト、ルーチン、又は方法を意味することが可能である。本明細書において説明される様々なコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステム上で実行するオブジェクト又はプロセスとして（例えば別個のスレッドとして）実装されることができる。
【００１０】
[0016]  以下に続く説明において、１又は複数のコンピューティングシステムによって実施される行為に関連して実施態様が説明される。もしそのような行為がソフトウェアで実装されるなら、その行為を実施する関連コンピューティングシステムの１又は複数のプロセッサーが、コンピューター実行可能命令を実行したことに応答してコンピューティングシステムの動作を指揮する。例えば、そのようなコンピューター実行可能命令は、コンピュータープログラム製品を形作る１又は複数のコンピューター可読媒体上に具現化されることができる。そのような動作の一例は、データの操作を伴う。コンピューター実行可能命令（及び操作されたデータ）は、コンピューティングシステム１００のメモリ１０４に格納されることができる。コンピューティングシステム１００はまた、コンピューティングシステム１００が他のメッセージプロセッサーと例えばネットワーク１１０を介して通信することを可能にする通信チャンネル１０８も含むことができる。
【００１１】
[0017]  コンピューティングシステム１００はまた、本明細書において説明されるユーザーインターフェイスなどのユーザーインターフェイスが描画されることができるディスプレイ１１２を含む。そのようなユーザーインターフェイスは、描画に先立ってコンピューターハードウェア又は他のコンピューター表現形式において生成されることができる。そのようなユーザーインターフェイスの提示及び／又は描画は、１又は複数のコンピューター可読媒体上に具現化された１又は複数のコンピューター実行可能命令を処理装置１０２に実行させることによって、コンピューティングシステム１００により実施されることができる。そのようなコンピューター可読媒体は、コンピュータープログラム製品の全部又は部分を形作ることができる。
【００１２】
[0018]  本明細書において説明される実施態様は、例えば、以下でより詳細に論じられるような１又は複数のプロセッサー及びシステムメモリなどのコンピューターハードウェアを含んだ、専用若しくは汎用コンピューターを含む、又は利用することができる。本明細書において説明される実施態様はまた、コンピューター実行可能命令及び／又はデータ構造を搬送又は格納するための物理的な及び他のコンピューター可読媒体を含む。そのようなコンピューター可読媒体は、汎用又は専用コンピューターシステムによってアクセスされることが可能な任意の入手可能な媒体であってよい。コンピューター実行可能命令を格納するコンピューター可読媒体は、物理的な記憶媒体である。コンピューター実行可能命令を搬送するコンピューター可読媒体は、伝送媒体である。したがって、限定ではなく例として、本発明の実施態様は、少なくとも２種類の明確に異なるコンピューター可読媒体：コンピューター記憶媒体及び伝送媒体を含むことが可能である。
【００１３】
[0019]  コンピューター記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶装置、又は、コンピューター実行可能命令若しくはデータ構造の形態の所望のプログラムコード手段を格納するのに用いられることが可能であり、汎用若しくは専用コンピューターによってアクセスされることが可能な、任意の他の有形媒体を含む。
【００１４】
[0020]  「ネットワーク」は、コンピューターシステム及び／又はモジュール及び／又は他の電子デバイス間における電子データの転送を可能にする１又は複数のデータリンクとして定義される。情報がネットワーク若しくは他の通信接続（有線、無線、又は有線若しくは無線の組み合わせのいずれか）を介してコンピューターへ転送又は提供される時、コンピューターは適切にその接続を伝送媒体とみなす。伝送媒体は、コンピューター実行可能命令若しくはデータ構造の形態の所望のプログラムコード手段を搬送するのに用いられることが可能であり、汎用若しくは専用コンピューターによってアクセスされることが可能な、ネットワーク及び／又はデータリンクを含むことが可能である。上記の組み合わせもまた、コンピューター可読媒体の範囲内に含まれるべきである。
【００１５】
[0021]  更に、様々なコンピューターシステムのコンポーネントに到達すると、コンピューター実行可能命令又はデータ構造の形態のプログラムコード手段は、伝送媒体からコンピューター記憶媒体へ（又はその反対に）自動的に移送されることが可能である。例えば、ネットワーク若しくはデータリンクを介して受信されたコンピューター実行可能命令又はデータ構造は、ネットワークインターフェイスモジュール（例えば「ＮＩＣ」）内のＲＡＭにバッファリングされ、その後最終的にコンピューターシステムＲＡＭ及び／又はコンピューターシステムにおける揮発性のより低いコンピューター記憶媒体へ転送されることが可能である。したがって、コンピューター記憶媒体は、伝送媒体も（あるいは主としてさえ）利用するコンピューターシステムのコンポーネントに含まれることが可能である、ということが理解されるべきである。
【００１６】
[0022]  コンピューター実行可能命令は、例えば、プロセッサーにおいて実行された時に、汎用コンピューター、専用コンピューター、又は専用処理デバイスがある機能若しくは機能群を実施するようにさせる命令及びデータを含む。コンピューター実行可能命令は、例えば、バイナリ、アセンブリ言語などの中間フォーマット命令、あるいはソースコードでさえあってよい。構造的な特徴及び／又は方法論的行為に特有の言い回しで本主題が説明されてきたが、添付されたクレームにおいて定義される本主題は必ずしも上述された説明された特徴又は行為に限定されるものではない、ということは理解されなければならない。それどころか、当該説明された特徴及び行為は、クレームを具体化する例示的な形として開示されているのである。
【００１７】
[0023]  本発明は、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューター、メッセージ処理装置、携帯型デバイス、マルチプロセッサーシステム、マイクロプロセッサーベースの又はプログラム可能な家庭用電子機器、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、携帯電話端末、ＰＤＡ、ページャー、ルーター、スイッチ等を含む多くの種類のコンピューターシステム構成によって、ネットワークコンピューティング環境において実践されることができる、ということを当業者は認識するだろう。本発明はまた、ネットワークを通じて（有線データ接続、無線データ接続、又は有線及び無線データ接続の組み合わせの何れかによって）接続されたローカル及びリモートのコンピューターシステムの両方がタスクを実施する、分散システム環境において実践されることもできる。分散システム環境では、プログラムモジュールは、ローカル及びリモート両方のメモリ記憶装置に配置されることができる。
【００１８】
[0024]  図２は、キャンバス２０１の部分２０１Ａがディスプレイの表示エリア２１０上に表示され、キャンバス２０１の部分２０１Ｂがディスプレイの表示エリア２１０に表示されない環境２００を抽象的に示す。一例として、ディスプレイは、例えば、図１のコンピューティングシステム１００のディスプレイ１１２であるかもしれない。しかしながら、ディスプレイ２００は、代替的に、ディスプレイ１１２のエリア全体を占有しないように、ディスプレイ１１２内のウィンドウであるかもしれない。キャンバス２０１は、１つの拡張可能次元２２２に沿った拡張可能方向２２１に拡がっている。例えば、図２において、拡張可能方向２２１は右方向であり、拡張可能次元２２２は水平な次元である。
【００１９】
[0025]  いくつかの実施態様では、キャンバス２０１の拡張可能次元２２２は、ユーザーの好みに従って垂直又は水平となるように変更可能であってよい。他の場合には、ディスプレイ２１０又はコンテナーの制約が、拡張可能次元２２２を水平な次元若しくは垂直な次元に制限するかもしれない。また、拡張可能方向２２１も変更可能であってよい。例えば、もし拡張可能次元２２２が垂直ならば、ユーザーは、ユーザーの好みに従って、キャンバスを下方向又は上方向に拡がるように設定するかもしれない。もし拡張可能次元２２２が（図２の場合のように）水平ならば、ユーザーは、ユーザーの好みに従って、キャンバスを（図２の場合のように）左方向又は右方向に拡がるように設定するかもしれない。
【００２０】
[0026]  キャンバス２０１は、複数の選択可能要素２０２を含むように描かれている。例えば、この特定のケースにおける選択可能要素２０２は、選択可能要素２０２Ａ乃至２０２Ｆを含むように描かれている。選択可能要素のいくつか２０２Ａ及び２０２Ｂは、キャンバス２０１の表示エリア２０１Ａ内にあり、選択可能要素のいくつか２０２Ｄ乃至２０２Ｆは、キャンバス２０１の非表示エリア２０１Ｂにある。選択可能要素の１つ２０２Ｃは、キャンバス２０１の表示部分２０１Ａと非表示部分２０１Ｂの間の境界を跨ぐように描かれている。以下、要素（選択可能であろうとなかろうと）を包含するキャンバスの部分は、キャンバス２０１の「充足部分（populated portion）」と称される。選択可能要素はナビゲーションコントロールも含むかもしれない。
【００２１】
[0027]  キャンバス２０１の充足部分が大きすぎて全部を一度に表示できない場合、ユーザーインターフェイスが、拡張可能次元に沿ってユーザーがキャンバス２０１をパンすることを可能にするパン機構を有することができる。選択可能要素の２つ２０２Ｂ及び２０２Ｅは、拡張可能方向と直交する次元（以下、「直交次元」）においてより大きな広がりを有するように描かれている。図２では、直交次元は、双方向矢印２２３によって表される垂直な次元である。特定の要素が、ディスプレイが一度に描画できるよりも直交次元において大きな広がりを有する場合、その特定の要素自体が、直交次元においてパン可能であってよい。
【００２２】
[0028]  本明細書において説明される原理に従って、（マウスカーソルなどの）選択コントロールが（例えば、マウスカーソルが選択可能要素の上に表示されている間にマウスの左マウスボタンを押すことによって）選択可能要素と関連付けられた後に、パン検出機構が、それに続く選択可能要素とのインタラクションを通じて、キャンバスパンジェスチャと要素選択ジェスチャを区別する。例えば、キャンバス２０１において、おそらくユーザーは、拡張可能次元２２２に沿ってキャンバス２０１をドラッグすることによってキャンバスをパンすることが可能な体験を有することができる。しかしそれでも、キャンバス２０１の充足部分全体にわたって選択可能要素２０２が存在する。パン検出機構は、選択コントロールをキャンバス２０１の任意の部分において有効にすることによって、たとえその部分がたまたま選択可能要素によって占有されていたとしても、ユーザーがキャンバス２０１をパンすることを可能にする。こうして、もしユーザーがパンしたいなら、ユーザーは、要素の選択を避けることについて心配しなくてもよい。代わりに、ユーザーは、キャンバスの任意の部分において自然なパンジェスチャを与えることができる。一方、もしユーザーが特定の選択可能要素を選択することを望むなら、ユーザーは、選択コントロールがその特定の選択可能要素と関連付けられている間に選択ジェスチャを与える。
【００２３】
[0029]  加えて、（マウスカーソルなどの）選択コントロールがキャンバスの拡張可能次元に垂直にスクロールすることができる直交スクロール可能要素と関連付けられた後に、パン検出機構は、キャンバスパンジェスチャと要素スクロールジェスチャを区別する。例えば、キャンバス２０１において、おそらくユーザーは、拡張可能次元２２２に沿ってキャンバス２０１をドラッグすることによってキャンバスをパンすることが可能な体験を有することができる。しかしそれでも、キャンバス２０１の充足部分全体にわたって直交スクロール可能要素２０２Ｂ及び２０２Ｅが存在する。パン検出機構は、キャンバス２０１を拡張可能次元においてパンする意図と、選択コントロールと関連付けられた直交スクロール可能要素２０２Ｂ又は２０２Ｅをスクロールする意図とを区別する。更に、このケースでは、もし選択コントロールがその直交スクロール可能要素内の選択可能要素と関連付けられているなら、パンコントロールが、キャンバスを拡張可能次元においてパンする意図、直交スクロール可能要素を直交次元においてスクロールする意図、又は選択可能要素を選択する意図を区別する。
【００２４】
[0030]  図３は、ユーザーインターフェイス３０１のサポートアーキテクチャ３００を示す。例えば、ユーザーインターフェイス３０１は、図２のユーザーインターフェイス２００の一例である。サポートアーキテクチャ３００は、キャンバス内の任意の選択可能要素を選択することが可能な選択コントロール３１１を含むように描かれている。パン検出機構３１２は、パンジェスチャと、直交スクロール可能要素スクロールジェスチャと、要素選択ジェスチャとを区別するのに用いられることができる。有効化モジュール３２１は、適切な選択可能要素を選択することによって選択ジェスチャに応答するのに用いられることができる。パンモジュール３２２は、パン検出機構３１２がパンジェスチャを検出することに応じてキャンバスをパンし、及び／又は直交スクロール可能要素スクロールジェスチャに応じて直交スクロール可能要素をスクロールするのに用いられることができる。
【００２５】
[0031]  例えば、選択コントロールが有効にされている時に選択コントロールがキャンバス２０１の選択可能要素２０２Ａの上にあると想定されたい。この有効化の間における選択コントロールの動きに依存して、ユーザーは、もし拡張可能次元２２２に沿ってキャンバス２０１をパンすることを望むならキャンバスパンジェスチャを与えることができ、あるいは、ユーザーは、もし選択可能要素２０２Ａを選択することを望むなら要素選択ジェスチャを与えることができる。
【００２６】
[0032]  上述されたように、もし選択コントロールが有効にされている時に選択コントロールがキャンバス２０１の選択可能要素２０２Ｂの上にあるなら、ユーザーの意図に関する更に多くの可能性が存在する。このケースでは、この有効化の間における選択コントロールの動きに依存して、ユーザーは、もし選択可能要素２０２Ｂを直交方向においてパンすることを望むなら直交パンジェスチャ（本明細書において直交スクロールジェスチャとも称される）を付加的に与えることができる。このオプションは、ユーザーが拡張可能次元２２２に沿ってキャンバス２０１をパンすることを望む場合におけるキャンバスパンジェスチャと、ユーザーが選択可能要素２０２Ａを選択することを望む場合における要素選択ジェスチャの可能性に加えられる。
【００２７】
[0033]  図３を参照すると、パン検出機構３１２は、選択コントロール３１１が選択可能要素と関連付けられた時に、要素選択ジェスチャと、キャンバスパンジェスチャと、直交パンジェスチャとを区別するのに用いられることができる。もしパン検出機構３１２が要素選択ジェスチャを検出したら、有効化モジュール３２１が、適切な選択可能要素を選択することによって選択ジェスチャに応答するのに用いられることができる。もしパン検出機構３１２がキャンバスパンジェスチャを検出したら、パンモジュール３２２が、キャンバスを拡張可能次元においてパンするのに用いられることができる。もしパン検出機構３１２が直交パンジェスチャを検出したら、パンモジュール３２２が、選択可能要素を直交次元においてパンするのに用いられることができる。
【００２８】
[0034]  パン検出機構３１２は、選択可能要素２０２のうちのどれが選択コントロールと関連付けられているかにかかわらず、キャンバスパンジェスチャと要素選択ジェスチャを検出するために同じ方法で動作することができる。更に、パン検出機構３１２は、選択コントロールが有効にされ、選択可能要素２０２のいずれとも関連付けられていないキャンバスのエリアと関連付けられた時に、キャンバスを拡張可能次元においてパンするように動作することができる。したがって、本明細書において説明される原理は、ユーザーが、キャンバスの取っ手を選択コントロールで掴む際に選択可能要素を避けることについて心配する必要なく、単純なドラッグ操作を通じてキャンバス２０１をパンすることを可能にする。その上、ユーザーは、選択可能要素を選択することを望む場合、それをするのにも同じ選択コントロールを用いることができる。
【００２９】
[0035]  図４は、多数の選択可能要素によって充足されたキャンバスを含む、より一層詳細なユーザーインターフェイス４００を示す。選択可能要素のうちのいくつかだけが、本明細書における議論により関連があるように符号を付されている。図４において、ユーザーはポインター４０１の形の選択コントロールを有する。ポインター４０１は、パン又は選択ジェスチャのいずれか（選択されている間におけるその後のポインター４０１の動きに依存する）の開始時に選択可能要素４０２Ａと関連付けられるように、図４に示された場所で有効にされる。
【００３０】
[0036]  一実施態様では、パン検出機構３１２は、ポインター（例えばマウス）のイベント（例えばマウスダウンイベント、マウスアップイベント、及びマウスムーブイベント）を分析することによって、要素選択ジェスチャ（及び一部分がホットスポットを有し得る場合におけるインタラクションジェスチャ）とキャンバスパンジェスチャを判別する。もしユーザーがマウスのボタンを押して、次いでマウスをあるピクセル数（Ｘ）（例えば４ピクセル）以上動かしたら、パン検出機構は、要素選択ジェスチャではなく、パンジェスチャを検出する。もしユーザーがマウスのボタンを押して、次いでマウスをＸピクセル以上動かすことなくマウスのボタンを離したら、パン検出機構３１２は、要素検出ジェスチャを識別する。Ｘピクセルによって定義される領域は、ユーザーが彼らの意図を表現するためにインターフェイスするエリアである「パン開始ダイヤモンド（pan-start diamond）」と称されることができ、それらなしでは、彼らがこの意図を表現していることを常に認知的に認識する必要がある。
【００３１】
[0037]  例えば、もし、選択コントロールがもはや有効ではなくなるまで、選択コントロールがパン開始領域内に留まるなら、パン検出機構は、要素選択ジェスチャを識別する。一方、もし、選択コントロールが依然として有効である間に、選択コントロールがパン開始領域の外へ行くなら、パン検出機構は、選択コントロールの動きに従って、直交パンジェスチャとキャンバスパンジェスチャの少なくとも一方（及び潜在的には両方）を識別する。選択コントロールが有効のままである間に選択コントロールがパン開始領域の外へ初めて出ると、選択ジェスチャはもはや可能ではなくなる。更に、もし選択コントロールが直交スクロール可能要素の上で有効にされたら、パン選択機構は、選択コントロールがパン開始領域を出た場所に基づいて、キャンバスパンジェスチャ又は直交スクロールジェスチャを区別する。
【００３２】
[0038]  様々なマウススキル及びタッチ体験のユーザーに適応させるために、パン開始ダイヤモンドの大きさは、単純にパン開始ダイヤモンドの幅と高さを変化させることによって調整されることができる。更に、パン開始ダイヤモンドは、中心部のパン体験を滑らかにするように調整されることができる。ユーザーがキャンバスをパンする時、彼らは多くの場合、マウスを完全にまっすぐな線では動かさない。むしろ、かれらは円弧でパンする。この円弧は、左右にパンする際、所望の移動距離がしばしばより遠いため、より大きく誇張される。
【００３３】
[0039]  図５は、ポインターの動きと関連した円弧が描かれていることを除いて図４のユーザーインターフェイス４００に類似しているユーザーインターフェイス５００を示す。例えば、ポインターは、元の位置から位置５０１、５０２、５０３、５０４、及び５０５へ次々と連続的に移動して、ポインターのパン開始位置又はその近くに直交方向の沈み込みを含むドラッグモーション５１０を作り出す。もしこの円弧が考慮されないなら、直交方向にスクロールする意図が誤って推論され得る。よって、キャンバスが拡張可能次元においてパンし始める前に、直交スクロール可能要素が僅かに直交方向にスクロールするかもしれない。このことは、ユーザーの体験の質に関する感覚を低下させるかもしれない。
【００３４】
[0040]  このユーザー傾向を補償するために、パン検出機構３１２は、正方形ではなく細長い菱形であるパン開始領域を用いることができる。図示されたケースでは、パン開始領域は、キャンバスの拡張可能次元よりも直交次元において大きな広がりを有する。より具体的には、図５のケースでは、パン開始領域は横長よりも縦長である。このことは、パン検出機構が直交パンジェスチャを検出する前に、ユーザーは拡張可能次元においてパンするよりも直交方向に少し多くパンしなければならないことを意味する。そうすることで、このことは、ユーザーが本当は拡張可能次元におけるキャンバスのスキャンを意図した時に、選択可能要素の直交方向のパンを経験する危険性を大幅に少なくする。
【００３５】
[0041]  図６は、一例のパン開始領域６０１がパン開始位置４０１に関して描かれているユーザーインターフェイス６００を示す。この実施態様では、パン開始ダイヤモンド領域の水平方向の幅の半分は３ピクセルであり、パン開始ダイヤモンド領域の垂直方向の高さの半分は６ピクセルである。しかしながら、３ピクセルと６ピクセルの値は例示目的だけのためである。
【００３６】
[0042]  図７は、ユーザーインターフェイス上において拡張可能次元に延在し、選択可能要素で充足されたキャンバスとのユーザーインタラクションを可能にするための方法７００のフローチャートを示す。方法７００は、選択コントロールの有効化を検出すると開始される（イベント７０１）。例えば、ユーザーはポインターを有効にする（例えばマウスの左ボタンを押す）かもしれない。
【００３７】
[0043]  次に、方法７００は、パン開始領域を画定する（行為７０２）。基本的に、パン開始領域は、ユーザーが行為７０１において最初に選択コントロールを有効化したユーザーインターフェイスのエリアを取り囲む。パン開始領域のまさにその形は、パン検出機構が、（もし選択コントロールが有効である間に選択コントロールがパン開始エリア内に留まるなら）ユーザーが要素を選択することを意図したと判定し、又は（もし選択コントロールが有効にされている間の任意の時点でパン開始エリアから出るなら）キャンバス若しくは直交スクロール可能要素をパンすることを意図したと判定するか否かを定義するだろう。したがって、パン開始エリアの形は、間違った意図の検出を低減するために注意深く選択されるべきである。いくつかの実施態様では、パン開始エリアの形は、ユーザーごとに異なってもよい。
【００３８】
[0044]  更に、おそらくコンピューティングシステムは、所与のユーザーの意図を誤って検出した時を検出し、１）それに応じてパン開始エリアの形及び／又は大きさを調整し、及び／又は２）有効化コントロールが最初に有効にされた初期位置の周りにおいてパン開始エリアの配置を調整することが可能である。例えば、おそらくパン開始エリアは、最初は有効化の初期位置をその中心に有する菱形である。しかしながら、その後ユーザーの振る舞いを監視することで、１か月後、システムは、（おそらく頂点において僅かに丸みを帯び、又はおそらく一端において僅かに膨らみを持った）違う形を有するようにパン開始エリアを調整し、また、おそらく初期有効化位置に対してパン開始エリアを右方向へ僅かにシフトさせているかもしれない。こうしてコンピューティングシステムは、ユーザーごとにユーザーの意図の予測を改善するよう試すことができる。
【００３９】
[0045]  いずれのケースにおいても、選択コントロールが有効である間、ユーザーは数多くのことのうち任意の１つを行うことができる。パン検出機構は、選択コントロールがパン開始領域から出たか否か（決定ブロック７０３）、及び選択コントロールが無効化されたか否か（決定ブロック７０４）を能動的に監視する。これら２つの決定はごく頻繁に行われることができ、よって単一の統合された決定とみなされることができる。任意の所与の時点において、もし選択コントロールがまだ有効であり（決定ブロック７０４において「Ｎｏ」）、且つ選択コントロールがパン開始領域から出ていない（決定ブロック７０３において「Ｎｏ」）なら、方法７００の状態に顕著な変化はない。しかしながら、もし選択コントロールがパン開始領域をまだ出ていない（決定ブロック７０３においてまだ「Ｎｏ」）がその一方で無効化された（決定ブロック７０４において「Ｙｅｓ」）のなら、パン検出機構は、選択コントロールがユーザーインターフェイス内の選択可能要素のところで有効にされたのか否かを判定する（決定ブロック７０５）。もし選択コントロールが選択可能要素のところで有効にされたのであれば（決定ブロック７０５において「Ｙｅｓ」）、パン検出機構は、選択可能要素を有効化させる（行為７０６）。これとは異なり、もし選択コントロールがユーザーインターフェイスの選択可能でないエリアにおいて有効にされたのなら（決定ブロック７０５において「Ｎｏ」）、方法７００は単に終了する（行為７０７）。例えば、コースからはずれたマウスクリックがあったかもしれない。
【００４０】
[0046]  一方、もし選択コントロールがまだ有効であり（行為７０１から）、且つパン検出機構が、選択コントロールがパン開始領域から出た（決定ブロック７０３において「Ｙｅｓ」）ことを検出したのなら、パンが行われる（行為７０８）。例えば、キャンバスは選択コントロールによって指示されたとおりにパンされることができる。より複雑な別の例として、もしユーザーが直交スクロール可能要素のところで選択コントロールを有効にしたのであれば、パン検出機構は、選択コントロールがパン開始領域から出た場所に応じて、キャンバスをパンするか、あるいは直交スクロール可能要素をスクロールする（又は、おそらくはその両方）ことができる。このパン（行為７０８）は、選択コントロールが有効にされ続けている限り（決定ブロック７０９において「Ｎｏ」）、選択コントロールの動きによって指示されたとおりに継続する。しかしながら、選択コントロールが無効化されると（決定ブロック７０９において「Ｙｅｓ」）、方法７００は終了する。
【００４１】
[0047]  一旦パン検出機構が、選択コントロールがパン開始領域から出たと判定したら、パン開始領域の追跡を続ける必要はないということを留意されたい。したがってパン開始領域は、選択コントロールが有効にされるたびに生成されるだろう。いくつかの状況では、パン開始領域の形は状況によって異なり得る。例えば、上述されたように、パン開始領域は、ユーザーに応じて、異なる形、大きさ、及び有効化地点に対する位置を有することができる。しかしながら、パン開始領域は、以下の状況のうちの１又は複数によっても異なるかもしれない。１）キャンバスが既にキャンバスの充足部分全体を視覚化しているか否か、２）キャンバスが既に拡張可能次元の１つの範囲におけるキャンバスの充足部分の一方端又は他方端まですっかりパンされたか否か、３）選択コントロールが選択可能要素の上で有効にされたか否か、４）選択コントロールが直交スクロール可能要素の上で有効にされたか否か、もしそうなら、直交次元における直交スクロール可能要素のスクロール後の位置、等。
【００４２】
[0048]  一例では、選択コントロールの選択は、更なる選択コントロールが作成される結果をもたらす。例えば、選択コントロールの選択は、拡張可能方向におけるキャンバスの充足部分に追加されることのできる新たなユーザーインターフェイス要素を作成するかもしれない。新たなユーザーインターフェイス要素はそれ自体、１又は複数の選択可能要素を含むかもしれない。新たな要素の中のそのような更なる選択可能要素は、キャンバスの充足部分に一層多くのユーザーインターフェイス要素を追加するために更に選択されるかもしれない。
【００４３】
[0049]  例えば、図４において、キャンバスは、選択可能要素４１１を含む複数の選択可能要素を含んだお気に入りエリア４１０のみを元々は含んでいたかもしれない。選択可能要素４１１が選択されると、新たなユーザーインターフェイス要素４２０が現れる。このユーザーインターフェイス要素は、キャンバスの拡張可能方向における所与の範囲内において、直交次元におけるキャンバスの全て又は実質的に全てに沿って広がる、キャンバスの一部分（又はブレード）と考えられることができる。例えば、もし拡張可能方向が図４の場合のように水平方向であるなら、ブレードはキャンバスの垂直方向の一部分である。ユーザーインターフェイス要素４２０は、それ自体選択可能要素であると同時に、更に選択可能要素４２１（及び前述された４０２Ａ）などの選択可能要素を含むかもしれない。選択可能要素４２１が選択されると、更なるユーザーインターフェイス要素４３０（例えばブレード）が現れ、それは、それ自体選択可能要素であると同時に、更に選択可能要素４３１などの選択可能要素を含むかもしれない。選択可能要素４３１が選択されると、更なるユーザーインターフェイス要素４４０（例えばブレード）が現れ、それは、それ自体選択可能要素であると同時に、更に選択可能要素４４１などの選択可能要素を含むかもしれない。これが継続して、ユーザーが、現在ユーザーがいる場所に至るのにとられた経路を示す履歴のキャンバスを形作る旅程に関与することを可能にすることができる。この旅程は表示領域によく合う方法で開始し得るが、旅程が更なるユーザーインターフェイス要素を追加し、キャンバスの充足エリアが広がるにつれて、旅程は同時に視覚化するディスプレイの能力をすぐに超えることができる。
【００４４】
[0050]  本発明は、その趣旨又は本質的な特性から逸脱することなく、他の特定の形で具現化されることができる。説明された実施態様は、あらゆる点において、例示的且つ非制限的とのみみなされなければならない。したがって、本発明の範囲は、上記説明によってではなく、添付のクレームによって示される。クレームの均等の意味及び範囲内に入る全ての変更は、クレームの範囲に包含されなければならない。
【図１】
0006465870.tif 000002
【図２】
0006465870.tif 000003
【図３】
0006465870.tif 000004
【図４】
0006465870.tif 000005
【図５】
0006465870.tif 000006
【図６】
0006465870.tif 000007
【図７】
0006465870.tif 000008