(57)【特許請求の範囲】
【請求項１】
コンピューター実行可能命令が組み込まれている１又は複数のコンピューター読み取り可能媒体であって、前記コンピューター実行可能命令は、実行されると、コンピューターに、コンピューティング・デバイス上に提示された表示エリア内においてコンテンツをパンニングする方法を実行させ、前記方法は、
タッチスクリーン・インターフェースに与えられたユーザー開始入力を検出するステップと、
前記コンピューティング・デバイスのオペレーティング・システムにおいて前記タッチスクリーン・インターフェースから付勢情報を受け取るステップであって、前記付勢情報はタッチ位置を含む、ステップと、
前記タッチ位置が前記タッチスクリーン・インターフェースの表面に現れた表示エリアのコンテンツ領域で生じたことを確認するステップであって、前記表示エリアは、前記コンピューティング・デバイスの前記オペレーティング・システムと通信するタッチ・ナイーブ・アプリケーションによってレンダリングされ、前記タッチ・ナイーブ・アプリケーションは、前記コンテンツ領域内のドラッグ動作を、コンテンツを前記コンテンツ領域内でパンニングする指示として認識する能力を有しない、ステップと、
前記タッチ・ナイーブ・アプリケーションが前記コンテンツ領域の前記コンテンツに関してスクロール機能をサポートするか否かを識別するステップと、
タッチスクリーン情報からジェスチャを引き出すステップであって、前記ドラッグ動作をタップ型動作またはその他の動作から区別することにより、前記ジェスチャをドラッグ動作として認識する、ステップと、
前記タッチ・ナイーブ・アプリケーションがスクロール機能をサポートすると識別された場合、前記ドラッグ動作に従って前記表示エリアのコンテンツ領域内において前記コンテンツをパンニングするように作用するパンニング・メッセージを発生するステップと、
前記タッチ・ナイーブ・アプリケーションがスクロール機能をサポートしないと識別された場合、前記オペレーティング・システムから前記タッチ・ナイーブ・アプリケーションへと送られるべきマウス・メッセージを発生するステップと、
を含む、１又は複数のコンピューター読み取り可能媒体。
【請求項２】
請求項１記載の１又は複数のコンピューター読み取り可能媒体において、前記方法は、前記タッチスクリーン・インターフェースが、前記マウス・メッセージが前記タッチ・ナイーブ・アプリケーションによって使用されたことの指示を提示するようにさせるステップを更に含み、前記マウス・メッセージの使用の指示は、前記コンテンツ領域を、その内部で前記コンテンツをパンニングさせることなく前記表示エリアの中で平行移動させることを含む、１又は複数のコンピューター読み取り可能媒体。
【請求項３】
請求項２記載の１又は複数のコンピューター読み取り可能媒体において、スクロール機能をサポートするものとして前記タッチ・ナイーブ・アプリケーションを識別するステップは、前記タッチスクリーン・インターフェースにおいてレンダリングされた表示エリアがスクロールバー制御部を含むか否かを判断するステップを含む、１又は複数のコンピューター読み取り可能媒体。
【請求項４】
請求項３記載の１又は複数のコンピューター読み取り可能媒体において、前記方法は、前記パンニング・メッセージが前記タッチ・ナイーブ・アプリケーションによって使用されたことの指示を前記タッチスクリーン・インターフェースにおいて提示するステップを更に含み、前記パンニング・メッセージの使用の指示は、前記タッチスクリーン・インターフェースにおける前記パンニングの方向に基づく方向に、前記スクロールバー制御部のスライダーを駆動するステップを含む、１又は複数のコンピューター読み取り可能媒体。
【請求項５】
請求項１記載の１又は複数のコンピューター読み取り可能媒体において、連続ドラッグ移動の距離は、前記タッチスクリーン・インターフェースにおける前記ユーザー開始入力の始動位置のデカルト座標表現と前記ドラッグ移動の解放位置のデカルト座標表現とを比較することから得られる、１又は複数のコンピューター読み取り可能媒体。
【請求項６】
請求項３記載の１又は複数のコンピューター読み取り可能媒体において、連続ドラッグ移動の距離に基づいて、ドラッグ動作をタップ型動作から区別することによって、前記ジェスチャをドラッグ動作として認識するステップは、
前記ドラッグ動作における連続ドラッグ移動の方向を検出するステップと、
前記コンテンツ領域のスクロール可能方向を特定するステップであって、前記スクロール可能方向は、前記タッチ・ナイーブ・アプリケーションによって管理されているコンテンツ領域内において前記コンテンツがパンニングすることを許されている方向を指す、ステップと、
前記連続ドラッグ移動の方向が、前記コンテンツ領域のスクロール可能方向に対して実質的に平行であることを確認するステップと、
を含む、１又は複数のコンピューター読み取り可能媒体。 
【請求項７】
タッチ・パンニング能力をタッチ・ナイーブ・アプリケーションに提供することができるコンピューター・システムであって、
ユーザー開始入力を受け取る入力デバイスであって、前記ユーザー開始入力は、前記入力デバイス上に配置されたタッチスクリーン・インターフェースに提示された表示エリアに与えられる付勢位置を含み、前記タッチスクリーン・インターフェースは前記ユーザー開始入力に関わる物理的接触を受け入れる、入力デバイスと、
前記表示エリアのコンテンツ領域でコンテンツをレンダリングするタッチ・ナイーブ・アプリケーション・コンポーネントであって、前記タッチ・ナイーブ・アプリケーションは、前記タッチスクリーン・インターフェースに与えられた前記ユーザー開始入力を、前記レンダリングされたコンテンツのパンニングを生じさせる指示として認識する能力を有しない、タッチ・ナイーブ・アプリケーション・コンポーネントと、
前記タッチスクリーン・インターフェースと前記タッチ・ナイーブ・アプリケーションとの間において対話を行うオペレーティング・システムであって、前記対話は、前記タッチスクリーン・インターフェースに与えられたユーザー開始入力に応答して前記タッチ・ナイーブ・アプリケーションのスクロール機能を制御するための１つ又は複数のメッセージを送信することを含み、前記オペレーティング・システムは、
（ａ）前記タッチ・ナイーブ・アプリケーションを検査して、前記タッチ・ナイーブ・アプリケーションが前記コンテンツ領域内における前記コンテンツのスクロール機能を提供するか否かを検出するスクロールバー・ファインダ・コンポーネントと、
（ｂ）前記１つ又は複数のメッセージを前記タッチ・ナイーブ・アプリケーションに提供するアプリケーション・インターフェース・コンポーネントであって、前記タッチ・ナイーブ・アプリケーションが前記スクロール機能をサポートするという指示を受け取ると、前記アプリケーション・インターフェース・コンポーネントが少なくとも１つのパンニング・メッセージを発生し、前記タッチ・ナイーブ・アプリケーションによって使用されると、前記少なくとも１つのパンニング・メッセージにより前記コンテンツ領域内で前記コンテンツが平行移動し、それ以外の場合には、前記アプリケーション・インターフェース・コンポーネントは、前記タッチスクリーン・インターフェースに与えられた前記ユーザー開始入力を検出すると、少なくとも１つのマウス・メッセージを前記タッチ・ナイーブ・アプリケーションに対して発生し、前記少なくとも１つのパンニング・メッセージは、スクロール行為をもたらすように前記ユーザー開始入力を変更することによって生成され、一方前記少なくとも１つのマウス・メッセージは、前記オペレーティング・システムによって前記ユーザー開始入力を変更することなく、ドラッグ行為をもたらすように生成される、アプリケーション・インターフェース・コンポーネントと、
を含むオペレーティング・システムと、
前記入力デバイスと統合されており、前記スクロール機能の指示をユーザーに明示するプレゼンテーション・コンポーネントと、
を備えている、コンピューター・システム。
【請求項８】
請求項７記載のコンピューター・システムにおいて、前記オペレーティング・システムは前記入力デバイスにおいてスクリーン・ドライバーから入力情報を受け取る入力コンポーネントを更に備えており、前記入力情報はタイムスタンプと関連する前記タッチ位置を含む、コンピューター・システム。
【請求項９】
請求項８記載のコンピューター・システムにおいて、前記オペレーティング・システムは、更に、前記タイムスタップによって組み立てられたタッチ位置からジェスチャと始動位置とを引き出し、前記始動位置が前記コンテンツ領域の中で示されたか否かを確認し、前記始動位置から生じた実質的に連続なドラッグ移動の方向および距離に基づいて、前記ジェスチャがドラッグ動作であるか否かを確認するジェスチャ・エンジンを含み、前記アプリケーション・インターフェース・コンポーネントは、前記始動位置が前記コンテンツ領域の内部で生じたことを検出すると、パンニング・メッセージを前記タッチ・ナイーブ・アプリケーションに提供するように構成されている、コンピューター・システム。
【請求項１０】
請求項９記載のコンピューター・システムにおいて、前記タッチ・ナイーブ・アプリケーションにパンニング・メッセージを提供することは、
スクリーン・ドライバーからの入力情報を解釈し、
前記解釈された入力情報を前記タッチ・ナイーブ・アプリケーションのスクロール機能にマッピングし、
前記タッチ・ナイーブ・アプリケーションに、前記マッピングしたスクロール機能を反映したパンニング・メッセージを伝える、
ことを含む、コンピューター・システム。
【請求項１１】
タッチスクリーン・インターフェースでジェスチャを受け取るとタッチ・ナイーブ・アプリケーションのスクロール機能を実現するコンピューター化された方法であって、
前記タッチスクリーン・インターフェースに与えられたユーザー開始ジェスチャを検出するステップであって、前記ジェスチャは前記タッチスクリーン・インターフェースでの付勢位置とそれと関連するドラッグ動作とを含み、前記タッチ・ナイーブ・アプリケーションは、前記タッチスクリーン・インターフェースの表面上に現れた表示エリア内にコンテンツ領域を提示することが可能であり、且つ、前記コンテンツ領域内のドラッグ動作を、コンテンツを前記コンテンツ領域内でパンニングする指示として認識する能力を有しない、ステップと、
前記タッチ・ナイーブ・アプリケーションがスクロール機能をサポートすると識別された場合には、前記タッチ・ナイーブ・アプリケーションを、前記表示エリアのコンテンツ領域内のコンテンツに対するスクロール行為を促進するパンニング・モードに入れるステップと、
それ以外の場合には、前記タッチ・ナイーブ・アプリケーションをデフォルト・モードに保持するステップであって、前記デフォルト・モードにおいて、前記オペレーティング・システムは、前記ジェスチャと関連する生の入力を前記タッチスクリーン・インターフェースから前記タッチ・ナイーブ・アプリケーションへ通過させる、ステップと、
スクロール機能をサポートする又はそうではないものとして、前記タッチ・ナイーブ・アプリケーションを少なくとも一時的に格納するステップと、
を含む、方法。
【請求項１２】
請求項１１記載の方法において、前記ジェスチャと関連する生の入力を前記タッチスクリーン・インターフェースから前記タッチ・ナイーブ・アプリケーションへ通過させるステップは、前記ユーザー開始ジェスチャを前記アプリケーションにタッチ・ナイーブ・アプリケーションによって認識可能なマウス・メッセージとして伝えるステップを含み、前記タッチ・ナイーブ・アプリケーションは、タッチスクリーン・インターフェースと協同して動作していることを認識していないアプリケーションを表す、方法。
【請求項１３】
請求項２０記載の方法において、前記連続ドラッグ移動は、前記タッチスクリーン・インターフェースと実質的に接触している物理オブジェクトによって発生される、方法。
【請求項１４】
請求項１３記載の方法において、前記ドラッグ動作が所定のシステム・メトリックを満たすか否かを確認するステップは、
タイマーを用いて、前記実質的に連続なドラッグ移動を完了したときに、前記ドラッグ動作が消費した時間量を判断するステップと、
前記消費した時間量と前記ドラッグ動作の距離とに基づいて、前記ドラッグ動作をタップ型動作と区別するステップと、
を含む、方法。
【請求項１５】
請求項１４記載の方法において、前記ドラッグ動作の方向が前記タッチ・ナイーブ・アプリケーションの所定のスクロール可能な方向と実質的に一直線上にあると判断するステップは、
前記実質的に連続なドラッグ移動の平均方向に基づいて、前記ドラッグ動作の主軸を識別するステップと、
前記主軸と、前記表示エリアのコンテンツ領域のスクロール機能によってイネーブルされるスクロールの１又は複数の方向とを比較するステップと、
前記主軸が、所定の許容範囲の中で、前記イネーブルされるスクロール方向の１つ又は複数に相当すると判断するステップと、
を含む、方法。
【請求項１６】
請求項１１記載の方法において、パンニング・モードに前記タッチ・ナイーブ・アプリケーションを入れるステップは、パンニング・メッセージを前記タッチ・ナイーブ・アプリケーションに提供して前記表示エリアのコンテンツ領域で前記コンテンツのスクロールを開始するステップを含み、前記コンテンツのスクロールは、物理オブジェクトと前記タッチスクリーン・インターフェースとの間における接触の位置に対応して、前記コンテンツを平行移動することを含む、方法。
【請求項１７】
請求項１３記載の方法であって、
前記ドラッグ動作を実行する間、前記物理オブジェクトによって発生される実質的に連続なドラッグ移動が、前記コンテンツ領域を包囲する１又は複数の境界を超過しているとの指示を受け取るステップと、
スクロール可能なコンテンツにおける限界に達したことを示す視覚的フィードバックを操作者に提供する過剰パンニング動作を呼び出すステップであって、前記視覚的フィードバックは、前記タッチスクリーン・インターフェースにおいて、前記実質的に連続なドラッグ移動の一般的方向に、前記表示エリアを平行移動することを含む、ステップと、
を更に含む、方法。
【請求項１８】
請求項１７記載の方法であって、
前記ドラッグ動作を実行する間、前記物理オブジェクトの劇的な掃引によって前記実質的に連続なドラッグ移動が前記タッチスクリーン・インターフェースに与えられたとの指示を受け取るステップと、
前記ドラッグ動作を解放したときに、前記コンテンツが慣性で移動しているかのように、前記コンテンツを前記実質的に連続なドラッグ移動の方向に自動的にスクロールし続けるステップと、
前記実質的に連続なドラッグ移動の方向で前記コンテンツの終端に達したとき、前記過剰パンニング動作を呼び出すステップと、
を更に含む、方法。
【請求項１９】
請求項１記載の１又は複数のコンピューター読み取り可能媒体において、前記方法は、前記マウス・メッセージを発生すると、前記マウス・メッセージを前記オペレーティング・システムから前記タッチ・ナイーブ・アプリケーションへ伝えるステップを更に含み、前記マウス・メッセージは、前記タッチ・ナイーブ・アプリケーションによって使用されると、前記コンテンツ領域のドラッグ行為を引き起こす、１又は複数のコンピューター読み取り可能媒体。
【請求項２０】
請求項１１記載の方法において、前記ドラッグ動作が所定のシステム・メトリックを満たすか否かを確認するステップであって、
前記付勢位置から開始して所定のスレショルド距離よりも長い距離を継続する実質的に連続的なドラッグ移動を前記ドラッグ動作が含むことを認識するステップと、
前記ドラッグ動作の方向が前記タッチ・ナイーブ・アプリケーションの所定のスクロール可能な方向と実質的に一直線上にあると判断するステップと、
前記タッチ位置が前記コンタクト領域で生じ、前記ドラッグ動作が前記所定のシステム・メトリックを満たす場合には、前記タッチ・ナイーブ・アプリケーションをパンニング・モードに入れるステップと、
を含むステップを更に含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  タッチスクリーン・インターフェースを実装したコンピューティング・デバイス（例えば、ＰＤＡ、セル・フォン、ラップトップ、ワイヤレス・ハンドヘルド・デバイス等）は、商業市場において増々普及しつつある。これらのタッチスクリーン・インターフェースは、その内部に統合されているソフトウェアによって、直観的な相互作用を提供することに資するので、コンピューティング・デバイスおよびその他の電子機器にとって差別化する上で重要な特徴である。最適には、タッチスクリーン・インターフェースは、従来の入力デバイスに入手可能な全ての機能を遂行するために、ソフトウェアを操作することができる完全なソフトウェア体験を提供すべきである。しかしながら、提供されているソフトウェアは、その大半がタッチを念頭に置いて設計されていない。これらのソフトウェアを以後タッチ・ナイーブ・アプリケーション(touch-naive application)と呼ぶ。例えば、ユーザー・インターフェース（ＵＩ）ディスプレイにおいて表示エリアにレンダリングされたコンテンツ全体をスクロールするように構成されているタッチ・ナイーブ・アプリケーションの場合、スクロール機能は、タッチスクリーン・インターフェースと全体的に統合されていない。即ち、表示エリア内のコンテンツ領域上においてドラッグ動作を適用することによってコンテンツ全体をスクロールする能力(ability)は、タッチスクリーン・インターフェースには利用できない。代わりに、通例では、マウス・ユーザーは、スクロールバーに適用される従来のマウス入力によってコンテンツをスクロールし、キーボード・ユーザーは、ページ・アップまたはページ・ダウン、ctr-endのようなキーボード・ショートカットを用いるか、あるいはマウス使用に切り換える。これらのキーボード方法は、タッチ・インターフェースとは協同して動作せず、マウス・ユーザーと同様にタッチをタッチ・インターフェースに適用すること（即ち、ポインティング・デバイスで高精度にスクロールバーを駆動しようとすること）は、ユーザーが一般にタッチを印加する際に直面する正確さおよび目標絞り込みという問題のために困難である。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
[0002]  これまでタッチスクリーン・インターフェースのユーザーに対して、タッチ・ナイーブ・アプリケーションの機能全てをアクセス可能にする解決策は、開発されていない。それどころか、従来の入力デバイスから予期される移動とは異なる移動があり得る、タッチスクリーン・インターフェースに印加されるジェスチャを、最適化された直観的な態様で表示エリアにおけるコンテンツの表示を操作するコマンドに適応させる方式も存在していない。したがって、タッチ・ナイーブ・アプリケーションのスクロール機能を制御するためにジェスチャ解釈技法を採用すれば、特定のジェスチャ（例えば、表示エリアのコンテンツ領域におけるドラッグ動作）をタッチスクリーン・インターフェースに印加する際に、コンテンツのパンニングにおいてユーザーの体験を改善できるであろう。一般に、あるエリアが垂直スクロールを可能にする機構を含む場合、タッチ・インターフェースにおいて検出されたタッチに応じて、パンニング・メッセージが発生される。別の状況では、タッチ・インターフェースにおけるタッチ入力がマウス・メッセージを発生する。
【課題を解決するための手段】
【０００３】
[0003]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を限定する際に補助として用いられることを意図するのでもない。
【０００４】
[0004]  本発明の実施形態は、コンピューター実行可能命令を組み込んでいるコンピューター読み取り可能媒体、およびタッチ・ナイーブ・アプリケーションのスクロール機能を、タッチスクリーン・インターフェースのユーザーにアクセス可能にするためのコンピューター・システムを提供する。特に、タッチスクリーン・インターフェースにおいて特定のジェスチャ（例えば、表示エリアのコンテンツ領域におけるドラッグ動作）の指示を受けたときに、タッチ・ナイーブ・アプリケーションのスクロール機能を制御するための技法を提供する。
【０００５】
[0005]  総じて言えば、コンピューティング・デバイスのＵＩディスプレイ上に提示される表示エリア内においてコンテンツをパンニングする方法を提供する。最初に、タッチスクリーン・インターフェースに印加されたユーザー開始入力(user-initiated input)を検出し、タッチスクリーンからの作動情報(actuation information)をオペレーティング・システムに供給する。通例、タッチスクリーン情報は、タッチ位置およびジェスチャを含む。ユーザー開始入力を受け取るのと実質的に同時に、またはその前に、アプリケーションはスクロール機能をサポートするものとして識別される。オペレーティング・システムは、ジェスチャ解釈手順を呼び出して、表示エリア内においてコンテンツをパンニングするか否か判断し、ＵＩディスプレイ内で表示エリアをパンニングするか、または他の動作を実行する。一実施形態では、ジェスチャ解釈手順は、限定ではなく、タッチ位置がタッチスクリーン・インターフェースの表面に現れた表示エリアのコンテンツ領域において示されたことを確認すること、および始動位置からの連続ドラッグ移動の距離に基づいて、タップ型動作からドラッグ動作を区別する(disambiguating)ことによって、ジェスチャをドラッグ動作として認識することを含む。通例、コンテンツ領域におけるコンテンツは、コンピューティング・デバイス内に統合されているタッチ・ナイーブ・アプリケーションによってレンダリングされ、タッチ・ナイーブ・アプリケーションは、コンテンツ領域内におけるドラッグ動作を、コンテンツをパンニングする指示と解釈するように構築されていない。ジェスチャをドラッグ動作として認識し、アプリケーションがスクロール機能をサポートすると判断したなら、ドラッグ動作にしたがって表示エリアのコンテンツ領域内でコンテンツをパンニングする。コンテンツをパンニングする指示は、タッチスクリーン・インターフェースまたは任意の他のプレゼンテーション・コンポーネントにおいてユーザーに提示することもできる。
【図面の簡単な説明】
【０００６】
[0006]  本発明について、添付図面を参照しながら以下に詳細に説明する。
【図１】図１は、本発明の実施形態を実現する際に用いるのに適したコンピューティング環境例のブロック図である。
【図２】図２は、本発明の実施形態による、本発明の実施形態を実現する際に用いるのに適したシステム・アーキテクチャ例の模式図である。
【図３】図３は、本発明の実施形態にしたがって、コンテンツをパンニングする方法を示す、タッチスクリーン上の表示エリアの概略図である。
【図４】図４は、本発明の実施形態にしたがって、コンテンツのパンニングから二次的行為(action)の呼び出しに切り換えるドラッグ動作を実行する段階を示す、漸進的ドラッグ動作の図である。
【図５】図５は、本発明の実施形態にしたがって、コンテンツのパンニングから二次的行為の呼び出しに切り換えるドラッグ動作を実行する段階を示す、漸進的ドラッグ動作の図である。
【発明を実施するための形態】
【０００７】
[0011]  本明細書では、法的要件を満たすように、具体性をもって主題を説明する。しかしながら、説明自体は、この特許の範囲を限定することを意図するのではない。逆に、本発明者は、特許請求する主題は他の方法で具体化してもよく、本文書において記載されるのと同様な異なるステップまたはステップの組み合わせを、現在および今後の技術と合わせて含むことを想定している。更に、「ステップ」および／または「ブロック」という用語は、本明細書では、採用される方法の異なるエレメントを言外に含むために用いることができるが、これらの用語は、個々のステップの順序が明示的に記載されていない限り、そしてそのように記載されている場合を除いて、種々のステップ間においていかなる特定の順序をも暗示するように解釈してはならない。
【０００８】
[0012]  本発明の実施形態は、コンピューター実行可能命令を組み込んでいるコンピューター読み取り可能媒体、コンピューター・システム、およびタッチスクリーン・インターフェースにおいてジェスチャ（例えば、ドラッグ動作）を使うことによってスクロール機能をサポートするタッチ・ナイーブ・アプリケーションによってレンダリングされた、表示エリアのコンテンツ領域内にあるコンテンツをパンニングするためのコンピューター処理方法を提供する。
【０００９】
[0013]  したがって、一態様において、本発明の実施形態は、コンピューター実行可能命令を組み込んでいる１つ又は複数のコンピューター読み取り可能媒体を提供する。これらのコンピューター実行可能命令を実行すると、コンピューティング・デバイス上に配置されたタッチスクリーン・インターフェースに提示される表示エリア内部においてコンテンツをパンニングする方法を実行する。実施形態では、本方法は、タッチスクリーン・インターフェースに印加されたユーザー開始入力を検出するステップと、タッチスクリーン・インターフェースから作動情報を受け取るステップとを含む。通例、作動情報はタッチ位置およびジェスチャ（例えば、タッチスクリーン・インターフェース内における１本の指の接触、スタイラスまたはペンのタッチスクリーン・インターフェースとの相互作用等）を含む。更に、本方法は、タッチ位置が、タッチスクリーン・インターフェースの表面にある表示エリアのコンテンツ領域内において示されたことを確認するステップを含む。実施形態では、コンピューティング・デバイスのオペレーティング・システム内に統合されているアプリケーションによって、表示エリアをレンダリングすることができる。多くの場合、アプリケーションはタッチ・ナイーブである。即ち、表面に現れたコンテンツのスクロールまたは選択を操作しようとするときに、タッチスクリーン・インターフェースに印加されたジェスチャを解釈することができない。一実施形態例では、タッチスクリーン・インターフェースにおけるユーザー開始入力の始動位置からのジェスチャの連続移動の距離に基づいて、ドラッグ動作をタップ型動作と区別する(disambiguate)ことによって、このジェスチャは本システムによってドラッグ動作として認識される。一例として、連続移動は、既定のデカルト方向(Cartesianal direction)における閾値距離を上回る(overcome)タッチスクリーン・インターフェースの掃引(sweep)を含む。アプリケーションのスクロール機能を利用することによって、ジェスチャは、ドラッグ動作にしたがって表示エリアのコンテンツ領域内においてコンテンツをパンニングし易くすることができる。コンテンツをパンニングする指示は、タッチスクリーン・インターフェースにおいて提示することもできる。一例として、コンテンツをパンニングする指示を提示する際、コンテンツ領域内におけるコンテンツの平行移動を明示すること、またはＵＩディスプレイにおいて表示エリアの移動を表明することを含むことができる。
【００１０】
[0014]  総じて言えば、本発明の実施形態は、タッチスクリーン・インターフェース環境内におけるタッチ・パンニングに関する。本明細書で論ずる場合、「タッチ・パンニング」は限定を意味するのではなく、アプリケーションのスクロール機能を開始するあらゆる使用行為(use action)を含むことができる。一例では、タッチ・パンニングは、コンテンツ領域に接触し、ドラッグ動作の接触平行移動に実質的に対応してコンテンツを移動させるためにドラッグ動作を実行することによって、ページまたはリスト全体をスクロールするユーザーの行為を含む。アプリケーションによってスクロール機能が提供されない場合、タッチ・パンニングはマウス・ドラッグを呼び出すことができる。即ち、アプリケーションが垂直または水平方向にスクロール可能なコンテンツを含む場合、それに対してパンニング・メッセージが与えられる。そうでない場合には、マウス・メッセージを発生する。実際には、一例では、マウス・メッセージがドラッグ行為を誘起することができ、このドラッグ行為が、コンテンツのパンニングの代わりに、ＵＩディスプレイ内において表示エリアを移動させる。この表示エリアの画面を横切る平行移動は、従来のマウスのクリック＋ホールド＋ドラッグ動作を検出したときに発生するマウス・メッセージによって実施されるドラッグ行為と同様であればよい。したがって、スクロールを行わないアプリケーションとの干渉は回避される。
【００１１】
[0015]  タッチ・パンニングを容易にするために、ドラッグ動作またはタップ型動作のような、タッチスクリーン・ディスプレイあるいは他の接触入力デバイス上におけるユーザー開始入力によって成し遂げられる(encompass)ジェスチャを認識するためのジェスチャ認識手順を実現することができる。先に論じたように、一例では、連続移動の距離に基づいて、ドラッグ動作をタップ型動作から区別する。本明細書において用いる場合、「連続移動」という句は、限定することを意味するのではなく、あらゆる接触掃引、ほぼ連続的な入力、またはタッチスクリーン・インターフェースの表面全域において接触しながらのドラッグ(dragged contact)を繰り返す入力の再帰的連鎖を包含することができる。一例では、連続移動は、物理的オブジェクト（例えば、スタイラス、ペン、指の一部または指球など）とタッチスクリーン・インターフェースとの間における接触を含むことができる。一般に、始動の位置が表示エリアのコンタクト領域（ＵＩディスプレイの表面にあるウィンドウ）内において示され、ドラッグ動作が認識された場合、パンニング・モードが呼び出される。以下に更に詳細に論ずるように、パンニング・モードでは、オペレーティング・システムは、コンテンツをレンダリングしたアプリケーションに、コンテンツおよびコンテンツ領域のパンニングを開始しないことが多いマウス・メッセージではなく、パンニング・メッセージを供給する。
【００１２】
[0016]  一実施形態例では、垂直方向のドラッグ動作が認識された場合、アプリケーションが垂直および／または水平方向のスクロールをサポートするか否かには関係なく、パンニング・モードを呼び出す。ドラッグ移動が水平方向の場合は、アプリケーションが水平スクロールをサポートしていても、マウス・メッセージを発生する。したがって、ユーザーは、垂直ドラッグから始めて、次いで方向を変更することによって、これまで通りに水平パンニングを遂行することができる。言い換えると、垂直ドラッグはパンニングになり、一方水平ドラッグはマウス・ドラッグになる。このように、殆どのアプリケーションに合わせてパンニング・モードを誘起する、一貫性のある移動体験が導入される。
【００１３】
[0017]  別の実施形態では、ジェスチャ認識手順は、タッチスクリーン・インターフェースの表面にある表示エリアのコンテンツ領域内においてタッチ位置が示されたことを確認するステップを実行するように構成されており、表示エリアにはアプリケーションによってレンダリングされ、ドラッグ動作が既定のシステム・メトリック(system metrics)を順次満たすのかまたは並列して満たすのか確認する。タッチ位置がコンテンツ領域内において示され、ドラッグ動作が既定のシステム・メトリックを満たす場合、アプリケーションは、表示エリアのコンテンツ領域内におけるコンテンツのスクロール機能をサポートするパンニング・モードに入る。それ以外の場合、アプリケーションはデフォルト・モードに保持される。デフォルト・モードの一態様では、ジェスチャに伴う生の入力が、マウス入力であるかのように、タッチスクリーン・インターフェースからアプリケーションに流入することができる。別の態様では、デフォルト・モードは、アプリケーションがタッチ・ナイーブ・アプリケーションの動作と同様に動作するように誘導する。アプリケーションは、パンニング・モードまたはデフォルト・モードのいずれかと結び付けて格納することができる。
【００１４】
[0018]  以上、連続移動を発生するための異なる方法をいくつか説明したが、本明細書ではタッチスクリーン・コンポーネントに印加される種々のその他のドラッグのような入力は連続移動として包含されること、そして本発明の実施形態はこれらの示して説明した方法に限定されるのではないことは、当業者には言うまでもないことであり、認められてしかるべきである。例えば、ジェスチャのその他の連続移動が図４から図７に図示されている。
【００１５】
[0019]  実施形態では、本発明は、タッチスクリーン・インターフェースにおいて受け取られたジェスチャを解釈すること、および解釈に基づいてメッセージをアプリケーションに供給することに関する。「アプリケーション」という用語の使用は、限定であることを意味するのではなく、オペレーティング・システムによって動作可能に制御されるあらゆるソフトウェアまたはプログラムを含むことができ、オペレーティング・システムは、ユーザー開始入力を検出したときに、タッチスクリーン・インターフェースから入力情報を受け取る。例えば、アプリケーションは、スクロール可能なコンテンツをプレゼンテーション・コンポーネントおよび／またはタッチスクリーン・インターフェースにレンダリングするサード・パーティ・アプリケーションであってもよい。この場合、アプリケーションは、スクロール機能をサポートすると見なされる。また、スクロール機能は、ＵＩディスプレイの表示エリア内の表面にスクロール・バーがある場合にも、検出することができる。
【００１６】
[0020]  一実施形態では、アプリケーションはジェスチャ認識型(gesture-aware)である。ジェスチャ認識型アプリケーションは、タッチを念頭において設計された一種のアプリケーションであり、通常、タッチスクリーン・インターフェースにおいてジェスチャを解釈せず、アプリケーションへの具体的なメッセージにおいてジェスチャを伝達せずに動作する(behave)。したがって、ジェスチャ認識型アプリケーションは、一般に、タッチを念頭に置くことによって最適化され、タッチスクリーン・インターフェースから生の入力を受け取ることができる。
【００１７】
[0021]  別の実施形態では、アプリケーションはタッチ・ナイーブであり、現行の商業市場に存在するアプリケーションの大部分を占める。一般に、タッチ・ナイーブ・アプリケーションは、パンニング機構（例えば、コンテンツ領域の中にあるタッチスクリーン・インターフェース上の入力によってスクロール機能にアクセスする）がアプリケーションに構築、実施、または書き込みされていないアプリケーションである。即ち、アプリケーションは、それがタッチスクリーン入力と協同して動作していることを意識しない。具体的には、タッチスクリーン・インターフェースにおいて行われるジェスチャが、アプリケーションによってレンダリングされたコンテンツをパンニングしようとしていることを意識しない。単なる一例として、ナイーブ・タッチ・アプリケーションは、スクロールバー制御部において入力を供給することによってのみコンテンツをパンニングするスクロール機能が呼び出される旧来のアプリケーション（例えば、Ｎｏｔｅｐａｄ）であってもよい。
【００１８】
[0022]  したがって、本発明の態様は、タッチ・パンニング能力をタッチ・ナイーブ・アプリケーションに容易に組み込み、タッチ・ナイーブ・アプリケーションのエコシステム(ecosystem)を構成するオペレーティング・システムにおける実装(deployment)に非常に適している。例えば、オペレーティング・システムは、タッチスクリーン・インターフェースおよびタッチ・ナイーブ・アプリケーションを相互接続するインターフェースとして機能し、これによってこれらの間の通信を管理することができる。通信を管理することによって、メッセージ（例えば、マウス・メッセージまたはスクロール・メッセージ）の形態としたしかるべきコマンドをタッチ・ナイーブ・アプリケーションに受け渡し、コンテンツのプレゼンテーションを適正に調節することができる。したがって、オペレーティング・システムを通じた管理により、オペレーティング・システムは、総合的に、殆どの既存のタッチ・ナイーブ・アプリケーションをタッチに適するもの(touch friendly)にすることができる。
【００１９】
[0023]  以上、本発明の実施形態の概要、およびその中で特徴となるウィンドウ状態の一部について手短に説明したので、以下に本発明を実現するのに適した動作環境の一例について説明する。
【００２０】
[0024]  図面全体を参照し、最初に特に図１を参照すると、本発明の実施形態を実現するための動作環境例が示されており、全体的にコンピューティング・デバイス１００として明示されている。しかし、コンピューティング・デバイス１００は、適したコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関して何の限定をも示唆することを意図していない。コンピューティング・デバイス１００が、図示したコンポーネントのいずれの１つまたはその組み合わせに関しても何らかの依存性や要件を有するというように解釈してはならない。
【００２１】
[0025]  本発明は、コンピューターあるいはパーソナル・データ・アシスタントまたはその他のハンドヘルド・デバイスというようなその他のデバイスによって実行される、プログラム・コンポーネントのようなコンピューター実行可能命令を含む、コンピューター・コードまたは機械使用可能命令という一般的な文脈で説明することができる。一般に、プログラム・コンポーネントとは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、および／または特定の抽象的データ・タイプを実現するコードのことを言う。本発明の実施形態は、ハンドヘルド・デバイス、消費者用電子機器、汎用コンピューター、特殊コンピューティング・デバイスなどを含む種々のシステム構成において実用化することもできる。また、分散型コンピューティング環境においても実用化することができ、その場合、通信ネットワークを通じてリンクされているリモート処理デバイスによってタスクを実行する。
【００２２】
[0026]  引き続き図１を参照すると、コンピューティング・デバイス１００は、バス１１０を含む。バス１１０は、メモリ１１２、１つ又は複数のプロセッサー１１４、１つ又は複数のプレゼンテーション・コンポーネント１１６、入力／出力（Ｉ／Ｏ）ポート１１８、Ｉ／Ｏコンポーネント１２０、および例示的な電源２２といったデバイスを直接または間接的に結合する。バス１１０は、（アドレス・バス、データ・バス、またはその組み合わせのような）１つ又は複数のバスであってもよいものを代表する。図１の種々のブロックは、明確さのために、線で示されているが、種々のコンポーネントの区分はそれほど明確ではなく、比喩的には、これらの線は灰色で曖昧とした方が正確であろう。例えば、ディスプレイ・デバイスのようなプレゼンテーション・コンポーネントをＩ／Ｏコンポーネントと見なすこともできる。また、プロセッサーはメモリを有する。本発明の発明者は、このようなことは技術の本質であり、図１の線図は、本発明の１つ又は複数の実施形態と合わせて用いることができるコンピューティング・デバイスの一例を例示するに過ぎないことを認める。「ワークステーション」、「サーバー」、「ラップトップ」、「ハンドヘルド・デバイス」等というようなカテゴリー間では区別を行わない。それは、これら全てが、「コンピューター」または「コンピューティング・デバイス」に関しては、図１の範囲に該当すると考えられるからである。
【００２３】
[0027]  コンピューティング・デバイス１００は、通例、種々のコンピューター読み取り可能媒体を含む。限定ではなく一例として、コンピューター読み取り可能媒体は、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、電子的消去可能プログラム可能リード・オンリ・メモリ（ＥＥＰＲＯＭ）、フラッシュ・メモリまたはその他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル・バーサタイル・ディスク（ＤＶＤ）またはその他のまたはホログラフィ媒体、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピューティング・デバイス１００がアクセス可能なその他の任意の媒体を含む。
【００２４】
[0028]  メモリ１１２は、揮発性および／または不揮発性メモリの形態としたコンピューター記憶媒体を含む。メモリは、リムーバブル、非リムーバブル、またはその組み合わせでもよい。ハードウェア・デバイスの例には、ソリッド・ステート・メモリ、ハード・ドライブ、光ディスクドライブ等が含まれる。コンピューティング・デバイス１００は、メモリ１１２またはＩ／Ｏコンポーネント１２０のような種々のエンティティからデータを読み取る１つ又は複数のプロセッサーを含む。プレゼンテーション・コンポーネント（１つまたは複数）１１６は、データ指示をユーザーまたはその他のデバイスに提示する。プレゼンテーション・コンポーネントの例には、ディスプレイ・デバイス、スピーカー、印刷コンポーネント、振動コンポーネント等が含まれる。Ｉ／Ｏポート１１８は、コンピューティング・デバイス１００を、Ｉ／Ｏコンポーネント１２０を含む他のデバイスに論理的に結合することを可能にする。一部のＩ／Ｏコンポーネント１２０は、内蔵されていてもよい。例示のコンポーネントには、マイクロフォン、ジョイスティック、衛星ディッシュ、スキャナー、プリンター、ワイヤレス・デバイス等が含まれる。
【００２５】
[0029]  これより図２に移ると、本発明の一実施形態にしたがって、本発明の実施形態を実現する際に用いるのに適したシステム・アーキテクチャ例２００の模式図が示されている。尚、図２に示すシステム・アーキテクチャ例２００は、適した一コンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲に関して、何の限定も示唆することは意図していないことは当業者には言うまでもないことであり、認められてしかるべきである。また、システム・アーキテクチャ例２００が、図２に示すコンポーネントの内いずれの１つのコンポーネントまたはその組み合わせに関して、何らかの依存性または要件を有するように解釈してはならない。
【００２６】
[0030]  最初に、コンピューティング・デバイス２１５を用意する。コンピューティング・デバイス２１５は、種々の形式のコンピューティング・デバイスの形態をなすことができる。単なる一例として、コンピューティング・デバイス２１５はパーソナルコンピューティング・デバイス（例えば、図１のコンピューティング・デバイス１００）、ハンドヘルド・デバイス（例えば、パーソナル・ディジタル・アシスタント）、移動体デバイス（例えば、ラップトップ・コンピューター、セル・フォン、メディア・プレーヤ、タブレットＰＣ）、消費者用電子デバイス、種々のサーバー等であってもよい。加えて、コンピューティング・デバイスは、情報を共有するように構成された２つ以上の電子デバイスを備えていてもよい。
【００２７】
[0031]  実施形態では、プレゼンテーション・コンポーネント２５０、入力デバイス２２１、およびプロセッサー（例えば、ハードウェア系コンポーネント）は、コンピューティング・デバイス２１５と動作可能に結合すること、および／またはコンピューティング・デバイス２１５上に配置することができる。通例、プロセッサー上にはオペレーティング・システム２２０がインストールされている。コンピューティング・デバイス２１５は、プレゼンテーション・コンポーネント２５０上にＵＩディスプレイを提示するように構成されている。プレゼンテーション・コンポーネント２５０は、処理コンポーネント２２５に動作可能に結合することができ、モニター、電子ディスプレイ・パネル、タッチ・スクリーン、液晶ディスプレイ（ＬＣＤ）、プラズマ・スクリーン、１つ又は複数の発光ダイオード（ＬＥＤ）、白熱電球、レーザー、エレクトロルミネセント光源、化学光(chemical light)、可撓性ライト・ワイヤ(light wire)、および／または蛍光光、あるいはその他の形式のディスプレイのように、ユーザーに情報を提示できるいずれのディスプレイ・デバイスとしても構成することができ、あるいは視覚情報を投射する反射面を備えることもできる。一実施形態例では、プレゼンテーション・コンポーネント２５０がレンダリングするＵＩディスプレイは、コンテンツ領域（図示せず）を有する表示エリア２２３を提示するように構成されており、アプリケーション２３０がレンダリングするコンテンツが、コンテンツ領域内の表面に現れる。別の実施形態例では、ＵＩディスプレイは、コンテンツ領域内におけるコンテンツ・パンニングの視覚表示を与えること、またはＵＩディスプレイの一部を横切って表示エリア２２３を平行移動させることができる。
【００２８】
[0032]  実施形態では、コンピューティング・デバイス２１５は入力デバイス２２１およびプレゼンテーション・コンポーネント２５０と動作可能に結合されている。したがって、入力デバイス２２１、プレゼンテーション・コンポーネント２５０、およびオペレーティング・システム２２０間の通信は、リモート・サーバー（図示せず）のような分散型コンピューティング環境、またはそのあらゆる組み合わせによってサポートすることができる。分散型コンピューティング環境において実用化される本発明の実施形態では、通信はしかるべき接続を通じてリンクされる。これらの接続は、有線またはワイヤレスのいずれでもよい。本発明の範囲に入る特定の有線実施形態の例には、ＵＳＢ接続およびケーブル接続が含まれる。本発明の範囲に入る特定のワイヤレス実施形態の例には、近距離ワイヤレス・ネットワークおよび無線周波数技術が含まれる。尚、「近距離ワイヤレス・ネットワーク」という呼称は、限定を意味するのではなく、少なくとも以下の技術を含むように広く解釈すべきことは言うまでもなく、認められてしかるべきである。相対ワイヤレス周辺（ＮＷＰ：negotiated wireless peripheral）デバイス、短距離(short-range)ワイヤレス・エアー・インターフェース・ネットワーク（例えば、ワイヤレス・パーソナル・エリア・ネットワーク（ｗＰＡＮ）、ワイヤレス・ローカル・エリア・ネットワーク（ｗＬＡＮ）、ワイヤレス・ワイド・エリア・ネットワーク（ｗＷＡＮ）、Bluetooth（商標）等）、ワイヤレス・ピア・ツー・ピア接続（例えば、超広帯域）、およびデバイス間におけるデータのワイヤレス通信をサポートするあらゆるプロトコル。加えて、本発明の分野に精通している人々は、近距離ワイヤレス・ネットワークを種々のデータ転送（例えば、衛星送信、電気通信ネットワーク等）によって実用化できることが分かるであろう。したがって、コンピューティング・デバイス２１５とこれに動作可能に結合されている他のリモート・コンポーネントとの間における接続の実施形態は、先に記載した例に限定されるのではなく、多種多様の通信方法を含むことを強調しておく。
【００２９】
[0033]  入力デバイス２２１は、とりわけ、コンテンツ領域内におけるコンテンツのパンニングに影響を及ぼすユーザー開始入力（１つまたは複数）２９５を受け入れるために設けられている。一実施形態例では、入力デバイス２２１は、ＵＩディスプレイ上にレンダリングされた表示エリア２２３に向けられたユーザー開始入力２９５を受け取る。例示的なデバイスには、タッチスクリーン・インターフェース（例えば、現在プレゼンテーション・コンポーネント２５０として採用されているもの）、図１のＩ／Ｏコンポーネント１２０、タッチ・デジタイザー、またはジェスチャを含むユーザー開始入力２９５を受け取りその入力の指示をオペレーティング・システム２２０に伝達することができる他のあらゆるコンポーネントが含まれる。単なる一例として、入力デバイス２２１は、ユーザー開始入力２９５がそれとの接触を開始したところ（例えば、始動の位置）の座標位置、およびユーザー開始入力２９５がそれとの接触を終了したところの座標位置を、ＧＵＩにレンダリングされた項目を参照して、判定することができる。これらの座標位置を比較すると、連続移動の距離およびその方向を決定することができる。これについては、以下で更に詳しく論ずる。したがって、入力デバイス２２１において印加されたジェスチャから、ドラッグ動作を取り出す(distill)ことができる。実施形態では、入力はスクリーン・ドライバーによって予め処理されており、スクリーン・ドライバーは、それをオペレーティング・システムに受け渡す前に、生の入力データから入力情報を引き出す。
【００３０】
[0034]  以上、入力デバイス２２１の様々な異なる構成について説明したが、物理的な接触２９０またはそれ以外（例えば、実際に接触せずに物体を画面に近接させたときに相互作用／応答する「タッチ」システム）から入力を受け取る種々の形式の入力デバイスを入力デバイス２２１として採用することができること、そして本発明の実施形態は、プレゼンテーション・コンポーネント２５０に組み込まれるように示し説明した入力デバイス２２１には限定されないことは言うまでもないことであり、当業者に認められてしかるべきである。例えば、プレゼンテーション・コンポーネント２５０は、コンピューター（例えば、コンピューティング・デバイス２１５）に動作可能に結合されたモニターであってもよく、一方入力デバイス２２１は、コンピューティング・デバイスとワイヤレスで通信する（先に論じた）単体の容量型タッチスクリーンであってもよい。しかしながら、簡潔さおよび明確さのために、入力デバイス２２１およびプレゼンテーション・コンポーネント２５０を、以後、合わせてタッチスクリーン・インターフェースと呼ぶことにする。これは、ディスプレイおよび入力エレメント双方の機能を１つのユニットとして提供するタッチスクリーンである。
【００３１】
[0035]  オペレーティング・システム（ＯＳ）２２０は、一般に、処理コンポーネントのリソースの共有を管理し、これらのリソースにアクセスするために用いられるインターフェースをプログラマに提供するソフトウェアを指す。動作において、オペレーティング・システム２２０は、システム・データを解釈し、ユーザー開始入力２９５を（例えば、入力デバイス２１０を通じて）検出し、以下のようなプロセスを、特定の順序ではなく、実行することによって応答する。タッチスクリーン・インターフェースにおいて物理的オブジェクト２９０（例えば、１本の指のジェスチャ、ペンの一筆等）から入力２９５を受け取り、何のジェスチャを入力２９５が行ったのか判定し、アプリケーション２３０がスクロール機能をサポートすると判断し、ジェスチャがスクロール可能な方向のドラッグ動作にマッピングされている場合、入力２９５のアプリケーション２３０への伝達を選別する(filter)。本明細書において用いる場合、「スクロール可能な方向」という句は、限定を意味するのではなく、一般に、アプリケーションの管理(govern)にしたがって、コンテンツがコンテンツ領域内で移動することを許可されている方向に関する。一例では、スクロール可能な方向は、スクロールバー・ツールの整列（例えば、水平または垂直）に対して実質的に平行である。
【００３２】
[0036]  一実施形態例では、オペレーティング・システム２２０はプロセッサー上で実行し、アプリケーション２３０を含む１つ又は複数のアプリケーションの実行をサポートする。別の実施形態では、オペレーティング・システム２２０および／またはアプリケーション２３０は、部分的にまたは完全に、離れて位置するコンピューティング・デバイス上（例えば、他のオペレーティング・システム上、ウェブ・アドレスによって位置が決定されるサーバー上等）に属してもよい。種々の実施形態では、オペレーティング・システム２２０は、入力デバイス２２１から受け取った入力情報２４５に基づいて、パンニング・メッセージをアプリケーション２３０に供給するか否か判断する。ユーザー開始入力２９５は、図２に示す、タッチスクリーン・インターフェースから受け取られるが、種々のその他の入力デバイス（例えば、遠隔接触入力パネル）からのその他の入力を受け取って、オペレーティング・システム２２０が解釈することもできることは、言うまでもなく、認められてしかるべきである。したがって、本発明の範囲は、本明細書に記載する入力および入力デバイスに限定されるのではない。入力２９５の中に含まれるジェスチャの距離および／または方法が、パンニング・モードを開始するか否かについて評価するためのシステム・メトリックを満たす場合、オペレーティング・システム２２０はスクロール・メッセージをアプリケーション２３０に供給し、ジェスチャに対応してコンテンツをパンニングさせることができる。このような場合、ジェスチャのドラッグ動作にマッピングされているアプリケーション２３０のパンニング機能を自動的に呼び出す。
【００３３】
[0037]  一般に、アプリケーション２３０は、オペレーティング・システム２２０によって起動し操作することができるのであれば、いずれのプログラムでもよい。先に論じたように、アプリケーション２３０はＵＩディスプレイ上に公表されるコンテンツを管理する。加えて、アプリケーション２３０は、先に論じたように、タッチ・ナイーブ型であってもよく、あるいはタッチスクリーン・インターフェースからの生の入力を受け入れることができてもよい。
【００３４】
[0038]  このオペレーティング・システム２２０のオペレーティング・システム構造は、プロセッサー上で実行することができる適した構造の一例に過ぎず、本発明の使用または機能の範囲に関して何の限定をも示唆することを意図していない。図示したオペレーティング・システム２２０が、入力情報２４５の形態でユーザー開始入力２９５を受け取ることまたは図示のようにメッセージ２３５を供給することのいずれの１つまたは組み合わせに関しても、何らかの依存性または要件を有するように解釈してはならない。更に、アプリケーション２３０をオペレーティング・システム２２０の中に統合することもでき、事実上数量は例示であるので、限定と解釈すべきではない。
【００３５】
[0039]  一実施形態例では、オペレーティング・システム２２０は入力コンポーネント２０５、補正コンポーネント２２５および選択コンポーネント２２６を含むジェスチャ・エンジン２８０、スクロールバー・ファインダ２１０、ならびにアプリケーション−インターフェース・コンポーネント２３５を含む。
【００３６】
[0040]  加えて、オペレーティング・システム２２０はデータ・ストア２７５も含むことができる。実施形態では、データ・ストア２７５はコンピューティング・デバイス２１５上、または離れて位置するコンピューティング・デバイス（例えば、他のオペレーティング・システム上、ウェブ・アドレスによって位置が決定されるサーバー上等）に属してもよい。データ・ストア２７５は、特定のジェスチャにマッピングされたメッセージを含む情報、コンテンツのパンニングからコンテンツの選択に切り換えるためのシステム・メトリック（誘起の境界のような）、およびパンニングに関するあらゆるその他のデータを格納するように構成することができる。更に、１つの独立したコンポーネントとして示したが、データ・ストア２７５は、実際には、複数のデータベース、例えば、サーバー・クラスタであってもよい。
【００３７】
[0041]  このオペレーティング・システム２２０のオペレーティング・システム構造は、コンピューティング・デバイス２１５上で実行することができる適した構造の一例に過ぎず、本発明の使用または機能の範囲に関して何の限定をも示唆することを意図していない。図示したオペラーティング・システム２２０が、図示のようなコンポーネント２０５、２１０、２２５、２２６、２８０、または２５０のいずれの１つまたは組み合わせに関しても、何らかの依存性または要件を有するというように解釈してはならない。実施形態によっては、コンポーネント２０５、２１０、２２５、２２６、２８０、または２５０の内１つ又は複数を単体アプリケーションとして実施してもよい場合もある。他の実施形態では、コンポーネント２０５、２１０、２２５、２２６、２８０、または２５０の内１つ又は複数を、コンピューティング・デバイス２１５のディスプレイ・デバイス２２１、アプリケーション２３０、またはその組み合わせの中に直接統合することもできる。単なる一例として、アプリケーション−インターフェース・コンポーネント２５０は、ディスプレイ・デバイス２２１と関連付けて収容することもできる。尚、図２に示すコンポーネント２０５、２１０、２２５、２２６、２８０、または２５０は、事実上その数量が例示であり、限定として解釈してはならないことは、当業者には言うまでもないであろう。
【００３８】
[0042]  本発明の実施形態の範囲内で所望の機能を達成するためには、いずれの数のコンポーネントでも採用してもよい。図２の種々のコンポーネントは、明確さのために、線で示されているが、種々のコンポーネント／エレメントの区分はそれほど明確ではなく、比喩的には、これらの線は灰色で曖昧とした方が正確であろう。更に、図２の一部のコンポーネントおよびデバイスは単一ブロックとして図示されているが、この図示は事実上その数量が例示であり、限定と解釈しないこととする（例えば、１つのディスプレイ２１５のみが示されているが、それよりも多くのディスプレイをコンピューティング・デバイス２１０に動作可能に結合することによって、ＵＩディスプレイ２２５の提示と合わせて機能することもできる）。
【００３９】
[0043]  最初に、入力コンポーネント２０５は、タッチスクリーン・インターフェースから入力情報２４５を受け取るように構成されている。一実施形態例では、入力情報２４５は入力２９０から得ることができる。一例として、入力２９０は、ユーザーがタッチスクリーン・インターフェースに接触したとき（例えば、１本の指のジェスチャ・タッチ）にユーザー開始物理的接触を含むことができる。別の実施形態では、入力情報２４５は、タッチスクリーン・インターフェースにおける始動の位置（例えば、デカルト座標の位置）、およびジェスチャに関するデータ（例えば、連続移動の距離、移動の方向、作動の期間等）を含む。この入力情報２４５は、データを入力コンポーネント２０５に受け渡すスクリーン・ドライバー（図示せず）によって予め処理することもできる。次いで、入力コンポーネント２０５は、ジェスチャ・エンジン２８０に送る前に、入力情報２０５を処理することができる。
【００４０】
[0044]  スクロールバー・ファインダ・コンポーネント２１０は、アプリケーション２３０がスクロール機能をサポートしているか否かの判断を行う。一例では、この判断を行うには、スクロールバー・ツールが表示エリア２２３内に存在するか否か確認するためにアプリケーションを調べる(snif)。アプリケーション２３０がスクロール機能をサポートする場合、受け取ったジェスチャのドラッグ動作に基づいてコンテンツのパンニング移動を実行するために、スクロール・メッセージをアプリケーションに送ることができる。それ以外の場合、標準的な「マウス・メッセージ」をアプリケーション２３０に供給する。マウス・メッセージは、タッチ・ナイーブ・アプリケーション（タッチスクリーン・インターフェースにおけるジェスチャを受け入れるように構成されていない）に供給される非選別入力(unfiltered input)２９５であり、マウス・ツールを使用した場合に行われることが予期されるのと同様にアプリケーションを制御する。
【００４１】
[0045]  以上では、アプリケーション２３０がＵＩディスプレイにおいてスクロール機能を有する(exhibit)か否か判断する方法について論じたが、この判断を行うための他の方法も、スクロール・バー・ファインダ・コンポーネント２１０の範囲に含まれ、種々の異なるスクロールバーの実施態様に応用することができる。
【００４２】
[0046]  ジェスチャ・エンジン２８０は、どのジェスチャがユーザーによってコンピューティング・デバイス２１５において行われているのか判断するように構成されている。例えば、ジェスチャ・エンジン２８０は、ジェスチャの連続的な、とぎれない移動、および／またはジェスチャの期間を、タイマーを利用して処理することができる。ジェスチャの期間が既定の距離よりも長い距離の連続移動を含まない場合、または既定の閾値時間期間を満たさない場合、ジェスチャはタップ型動作と見なされる（例えば、マウス・クリックを模したタップ）。それ以外の場合、ジェスチャはドラッグ動作と見なされる。
【００４３】
[0047]  実施形態では、ジェスチャ・エンジン２８０は、パンニングと標準的な行為との間で区別を行う。例えば、ジェスチャがドラッグ動作と見なされる場合、ジェスチャ・エンジン２８０はアプリケーション２３０のＵＩディスプレイを見て、ユーザーがスクロール可能なコンテンツ領域以内でドラッグしているか否か判断する。実施形態では、始動位置、またはタッチスクリーン・インターフェースに接触したタッチ・ポイントがコンテンツ・スクロール領域内で示されたか否か識別するための技法および手法を採用する。始動位置がコンテンツ領域内にあり、ドラッグ動作が確認された場合、マウス・メッセージを送る代わりに、スクロール・メッセージをアプリケーション２３０に送る。アプリケーション２３０が垂直スクロールをサポートし、始動位置がコンテンツ領域内で検出される特定的な実施形態では、垂直方向のドラッグ動作が、上方または下方へのパンニングを誘起するパンニング・メッセージを呼び出すことができ、一方水平方向のドラッグ動作は、コンテンツ領域内のテキストを選択し、画面上のウィンドウをスライドさせ、カットおよび／またはペーストを行う等のマウス・メッセージを呼び出すことができる。アプリケーション２３０が水平スクロールをサポートし、始動位置がコンテンツ領域以内で検出される別の実施形態では、水平方向のドラッグ動作は、横方向のパンニングを誘起するパンニング・メッセージを呼び出すことができ、一方垂直方向のドラッグ動作はマウス・メッセージを呼び出すことができる。
【００４４】
[0048]  したがって、コンテンツ領域内にあるコンテンツは、ユーザーがドラッグを実行すると、その指と共にスクロールする。したがって、この手法によって、ユーザーはパンニングするためにコンテンツ・エリア上で彼らの指をドラッグすることが可能になり、異なるジェスチャを用いて、コンテンツ領域内でドラッグまたは選択することが可能になる。例えば、ユーザーは、表面のファイル・リスト全域にわたって指をドラッグすることによって、ファイル・エクスプローラ・メニュー(file explorer menu)における項目のリスト全体をパンニングすることができ、次いでファイルを選択し移動させるために異なるジェスチャを行うことができる（例えば、タイトル・バーまたは表示エリア２３０の境界線上でポイントのタッチを実行する）。
【００４５】
[0049]  ユーザーが、アプリケーション２３０によってレンダリングされた非スクロール可能コンテンツ領域（例えば、タイトル・バー、境界線、スクロールバー・ツール等）上でドラッグしている場合、指によるドラッグ動作が、マウスによるクリックおよびドラッグ動作と同様に機能するように、アプリケーション・インターフェース・コンポーネント２５０を利用して、マウス・メッセージをアプリケーションに送る。これによって、ユーザーは画面（例えば、ＵＩディスプレイ）周囲の表示エリア２２３をドラッグまたはパンニングすること、スクロール可能なコンテンツ領域のスライダをドラッグすること、デスクトップ・アイコンを並び換えること等を行うことが可能になる。
【００４６】
[0050]  一般に、ジェスチャ・エンジン２８０は、しかるべきメッセージ２３５をアプリケーション２３０に供給することによって、入力を選別する。スクロール可能なコンテンツがスクロール可能な方向にドラッグされると、タッチスクリーン・インターフェース上の接触ポイントと共に移動する。実施形態では、コンテンツの移動を円滑にするために、ジェスチャにおける突飛な移動または意図しない移動に平均化メカニズムを適用する。ユーザーが表示エリア２２３にレンダリングされたスクロールバー・ツールを見たときに、コンテンツのパンニングが利用できることの指示をユーザーに与える。したがって、ユーザーは１つの指で直観的にドラッグして、コンテンツ（例えば、文書の中にあるページ、またはビューアの中にある地図）をパンニングする。ユーザーが彼らの指をスクロール可能なコンテンツ領域においてスクロールバー制御部に対して実質的に平行な方向にドラッグすると、コンテンツはしかるべき方向にパンニングする。パンニングは、ユーザーが彼らの指を離すまで、またはドラッグ動作の連続移動を中断させるまで継続する。加えて、コンテンツをパンニングすると、スクロールバー制御部のスライダを駆動して、パンニングが行われている（例えば、ユーザーのためにスクロール・バーを自動的に移動させる）ことの視覚的フィードバックを与えることができる。一実施形態例では、アプリケーション２３０によってレンダリングされたコンテンツのパンニングを制御するためのこの入力２９５の管理は、スクロールバーの種々の実施態様と相互作用することができる。
【００４７】
[0051]  動作において、ジェスチャ・エンジン２８０はどの種のジェスチャが行われているか、どこからジェスチャが発生しているか、そしてジェスチャの他の属性が入手可能か否か解読する。この情報を解釈するとき、選択コンポーネント２２６は、解読されたジェスチャにマッピングされている、しかるべき行為を確認するように構成されている。このしかるべき行為は、アプリケーション・インターフェース・コンポーネント２５０に供給され、アプリケーション・インターフェース・コンポーネント２５０はしかるべきメッセージ２３５をアプリケーション２３０に送る。例えば、ジェスチャ・エンジンが、ユーザーが表示エリアの非スクロール可能部分でドラッグしていると判断した場合、通常の左マウス・ドラッグ行為が、マッピングを通じて、呼び出される。ユーザーがスクロールしない方向（例えば、スクロールバー制御部に対して垂直）にドラッグすると、通例アプリケーションにおける選択またはドラッグおよびドロップとなる左マウス・ドラッグが行われる。あるいは、ユーザーは、従来の左マウス・ドラッグ行為を呼び出すために、ホールド、次いでドラッグ・ジェスチャを行うことによって、コンテンツを選択することもできる。
【００４８】
[0052]  実施形態では、ユーザーが指または物理的オブジェクト２９０を表示エリア２２３のコンテンツ領域（例えば、Internet Expolorer、メディア・プレーヤ、ノードパッド文書、Word、Outlook、開始メニュー、制御パネル、またはその他のアプリケーションの表出ＵＩ(application-surfaced UI)によって発生されるウィンドウ）において、スクロールバー・ツールと概略的に同じ方向（例えば、垂直のスクロールバー・ツールに対して上方および下方）にドラッグすると、コンテンツ（例えば、フォルダー・リスト、分類した電子メール・リスト、スクロール・フォント・リスト）は指の下でパンニングするはずである。加えて、ドラッグが開始されると、選択された表示エリア２２３のコンテンツのみが影響を受けるはずである。したがって、他のペインの中にある他のコンテンツは、ドラッグがどこに進むかには関係なく、スクロールしない、またはホバー状態(hover state)を示さないはずである。この場合も、スクロールを許可しない表示エリア２２３（例えば、Youtube.com上の静止画像）においてドラッグすると、表示エリア２２３全体がページ上でパンニングすることになる。これらの行為を実行するために、ジェスチャ・エンジン２８０は、アプリケーション２２３が特殊な方法で入力２９５を扱うことを確保するために、一連の通信をアプリケーション２２３に供給する。
【００４９】
[0053]  選択コンポーネント２２６は、入力情報２４５に基づいて、アプリケーション・インターフェース・コンポーネント２５０に送るしかるべき行為を選択するように構成されている。加えて、選択コンポーネント２２６は、いつユーザーがスクロール領域の終端を超えてパンニングしたか判断し、ユーザーが利用可能なスクロール可能領域の限界に達したことを彼／彼女に知らせる視覚的フィードバックを提供する過剰パンニング行為(over-panning action)を供給するように構成されている。一実施形態では、過剰パンニング行為は、ユーザーがタッチスクリーン・インターフェース上で彼らの指を滑らせている方向に、ウィンドウ全体を移動させる。この表示エリア２２３全体を移動させる視覚的フィードバックは、旧式のアプリケーションを操作するように実施、または調整(scale)することもできるという利点がある。具体的には、オペレーティング・システム２２０は画面上でウィンドウをスライドする能力を有するので、ＵＩディスプレイ上で表示エリアを移動させる過剰パンニング行為は、アプリケーション２３０からの協同動作やアプリケーション２３０による返報がなくても実施することができる。したがって、過剰パンニング行為は、スクロール機能が利用できることの明確な指示だけでなく、ページの終端に達したことの明確な指示も与える。
【００５０】
[0054]  新たなユーザーは間違った方向にドラッグする誤りを犯すことが多いので、過剰パンニング行為は、ドラッグ動作の方向にはそれ以上コンテンツがないことをユーザーに警告する補助的行動を備えている。また、過剰パンニング行為は、パンニングしているときにコンテンツの移動をどのように制御すべきかユーザーに教えることができる教示行動も備えている。ユーザーが意図するのとは反対方向にパンニングするという誤りが起こるのは、コンテンツ領域において指をドラッグすると、通例、スクロールバー・ツールのスライダをその同じ方向に引くのとは逆の方向にコンテンツが移動するからである。具体的には、文書の上端にあるとき、新たなユーザーは彼らの指を下方にドラッグすることが多い。何故なら、スクロールバー・ツールを操作するとき彼らは下方運動を加えることに慣れているからである。しかし、パンニング・モードが呼び出されたとき、ウィンドウ全体または表示エリア２２３は、ユーザーがこの状況において彼らの指を下方にドラッグすると、下方にスライドする。つまり、過剰パンニング行為は、明らかにそして視覚的に、パンニングが利用できること、およびユーザーが間違った方向にドラッグしていることを伝える。しかしながら、タッチ・パンニングは「直接操作システム」であり、コンテンツは実質的にドラッグの方向に移動するのであって、上方にコンテンツまたは文書におけるページをドラッグすることは、ページを上方に移動させることの基本である。したがって、過剰パンニング行為またはその他のフィードバックがユーザーに与えられない場合、ユーザーはスクロール機能が利用できないまたは動作していないと考えることが多い。
【００５１】
[0055]  過剰パンニング行為の一実施形態について説明したが、スクロール機能が利用可能であることを伝える視覚的または聴覚的フィードバックを与える他の形式の適した過剰パンニング行為を採用してもよいこと、そして本発明の実施形態はこれら本明細書において説明した過剰パンニング行為に限定されないことは、言うまでもないことであり、当業者に認められてしかるべきである。加えて、過剰パンニング行為の使用は、ウィンドウイング・マルチタスキング・システム(windowing multitasking system)（即ち、画面上に多くのウィンドウを有する能力）に一意に当てはまり、実行中の各アプリケーションは、ＵＩディスプレイの表面上に現れる１つ又は複数の表示エリア内に存在する(live)。更に、この過剰パンニング行為は、ページがコンテンツ領域においてスクロール可能コンテンツの終端までスクロールするように、ユーザーがページを「トスする」(toss)（即ち、劇的ドラッグ動作を適用する）場合に誘起することもできる。実施形態では、トスすると、最初にコンテンツをドラッグ動作の制御下で移動させ、次いでドラッグ動作の中止時に、コンテンツが質量を有し慣性で移動しているかのように、自動的にコンテンツをパンニングし続ける、および／または表示エリア２２３をスライドさせ続ける能力をユーザーに与える。
【００５２】
[0056]  補正コンポーネント２２５は、方向がスクロールバー・ツールと実質的に一直線状となったときに、ドラッグのドリフトに対する耐性を設けるように構成されている。例えば、ユーザーがパンニングを開始すると（例えば、スクロール可能なコンテンツ・エリアにおいて上方にドラッグすることにより）、選択コンポーネント２２６は、ユーザーが垂直方向にスクロールしようとして、左または右に少量だけ多少ドリフトしても、ページを上方および下方にパンニングする。別の言い方をすると、ユーザーの指のドラッグ運動が正確にドラッグ動作が行われる方向に移動しなくても、ユーザーは垂直方向（即ち、直接上方／下方）または水平方向（即ち、直接左／右）にパンニングすることができる。この機構は、ユーザーの好みが対角線方向にパンニングする方が効率的であるというような場合には、オフにすることができる。しかしながら、コンテンツ領域におけるコンテンツを真上または真下の方向に、あるいは横方向にパンニングする方が脱線が少なく、視認のためには慣例的／直観的な移動であるので、通例、補正コンポーネント２２５はアクティブになっている。
【００５３】
[0057]  ドラッグにおける摩擦、および入力を作成する際に腕全体を動かすことの一般的な使い勝手のために、タッチスクリーン・インターフェース上で正確にドラッグすることは、ユーザーにとって遂行するのが困難である。その結果、ドラッグ相互作用には固有のドリフトおよび／または揺れ動きがある。動作において、補正コンポーネント２２５は、ドラッグの揺れ動きおよび／またはドリフトを通知し、コンテンツが直線状に、即ち、軌道に乗っているかのように、パンニングするようにこれらの入力を減衰させる。一実施形態では、減衰は、ドラッグ動作の方向の主軸を判定することによって行われる。次いで、非主軸方向において付随する移動を排除して、ドラッグ動作の特定方向へのスクロールを補助する。したがって、ユーザーには、ドラッグするときに、ある程度の耐性が与えられ、直観的で思い通りのパンニングがし易くなる。
【００５４】
[0058]  実施形態では、図４および図５を参照して論じたように、閾値境界を主軸と関連付けることができる。これらの閾値境界は、有意な付随運動（例えば、主軸が鉛直方向であるときの垂直方向のドラッグ）が、タッチ・ポイントに近接して位置するコンテンツを選択するというような、二次的行為を誘起するように定められる。即ち、ユーザーが主軸から十分遠くまでドラッグした場合、二次的行為を呼び出すことができる。したがって、非主軸方向にドラッグを指向的に制御することにより、ユーザーは、テキストの選択のような、方向特定行動をさせることができる。
【００５５】
[0059]  予期されない方向（例えば、主軸とは反対方向）に大量のドラッグが行われた状況では、補正コンポーネント２２５によってドラッグ動作に適用される減衰を不活性化して、ユーザーが彼らの実際のジェスチャと対応する方向に自由にパンニングできるようにするとよい。即ち、補正コンポーネント２２５は、閾値量のドリフトを検出したときに、管理されたパンニングから実際のジェスチャ移動に基づくパンニングに行為を切り換えればよい。または、ユーザーは、ジェスチャを印加するときに閾値量のドリフトを上回ることによって、パンニング行動を無視することもできる（即ち、パンニング・モードを終了する）。ユーザーがパンニング行動を無視したとき、彼／彼女は、マウス・ドラッグ型動作のような、「通常のドラッグ動作」を行うことができる。別の実施形態では、補正コンポーネント２２５を無視しなくても、ユーザーは先に論じた二次的行為を行うことができる。実施形態では、ユーザーは、二次的行為を実行するためにタッチスクリーン・インターフェース上で少なくとも以下の動作を行うことができる。所定の時間期間押下し続け、ついでドラッグする。二重タップ型動作を（特定の時間枠以内で）行い、次いでドラッグする。または２本指のドラッグのような多数のタッチ入力を供給する。ユーザーが二次的行為を呼び出すためにスクロール可能なコンテンツ領域の内側で行うことができる他の動作には、上方および下方のスクロールに限定されている表示エリアにおいて左から右にドラッグすることを含むことができる。二次的行為を処理する際、アプリケーション２３０は、ユーザーがマウスを用いてクリックおよびドラッグしているかのように行動する。一般に、この二次的行為はアプリケーションの中にあるテキストを選択するのに有用である。この二次的行為の指示を受け取ったときに、アプリケーション・インターフェース・コンポーネントは、スクロール・メッセージではなくマウス・メッセージをアプリケーション２３０に送るとよい。
【００５６】
[0060]  先に論じたように、ユーザーは、一時的にパンニング行動をディスエーブルするために、押下し続け、次いでドラッグすることができる。一旦ディスエーブルすると、ユーザーは、パンニング・モードを呼び出すことなく、代わりに自由にドラッグ動作を用いて二次的行為を行う。例えば、押下＋ホールド＋ドラッグとして解釈される入力は、一時的にパンニングを中止している間における選択ジェスチャをし易くする二次的行為を呼び出すことができる。別の実施形態では、受け取った入力ジェスチャが押下＋ホールド＋解放として解釈されると、スクロール機能をディスエーブルし（即ち、パンニング・モードを一時的にまたは永続的に不活性化する）、ウェブページにおいてアドレスをコピーするまたはファイルをフォルダーに移動させるというような、マウス・ドラッグ（例えば、選択を誘起する）をユーザーに行わせることができる。
【００５７】
[0061]  これより図３に移ると、タッチスクリーン・インターフェース３２０上における表示エリア３２８の概略図３００が示されており、本発明の一実施形態にしたがって、表示エリアの中にあるコンテンツをパンニングする方法を図示する。最初に、コンピューティング・デバイス２１５または他のコンピューティング・デバイス（例えば、コンピューティング・デバイス１００）にタッチスクリーン・インターフェース３２０を設ける。タッチスクリーン・インターフェース３２０は、表示エリア３２８、３３７、および３４１がＵＩディスプレイ３０５の表面上に現れるように構成されている。コンテンツ領域３２５内において、ドラッグ動作３３５が物理的オブジェクト３１５（例えば、１本指のジェスチャ）によって印加されているのが示されている。通例、ドラッグ動作３３５は、ドラッグ動作３３５が進む方向３３３にコンテンツ３２７をパンニングする（例えば、図示のように、実質的に下方に平行移動する）。ドラッグ動作は、前述のような、発現地点３３５、即ち、始動位置と、タッチ・ポイント３３６とを含む。加えて、スクロールバー・ツール３２９は、パンニング動作の視覚的フィードバックを与えることもできる。
【００５８】
[0062]  この図示した例では、ドラッグ動作３３５は、全体的に下方向に移動するジェスチャである。したがって、コンテンツ３２７は対応して下方向３３３にパンニングし、こうして物理的オブジェクト３１５と共に移動する。スクロールバー・ツール３２９は、自動的にスライダ３３２を直前の位置３３０から上方向３３１に移動させることによって、下方のパンニングが行われていることの視覚的フィードバックを与える。下方ドラッグ動作３３５の間にコンテンツ３２７の終端に達した場合、過剰パンニング行為を呼び出すことができる。一例では、過剰パンニング行為は、ＵＩディスプレイ３０５内において表示エリア３２８を下方に平行移動させることを含むことができる。更に、一実施形態例では、図２の補正コンポーネント２２５がアクティブである場合、ドラッグ動作３３５が多少のドリフトを含んでも、コンテンツ３２７は実質的に垂直方向３３３にスクロールすることができる。
【００５９】
[0063]  表示エリア３２８に入力を供給するとき、基礎をなすアプリケーションが活性化される。表示エリア３２８の基礎をなすアプリケーションはアクティブであるが、表示エリア３３７および３５１の基礎をなすアプリケーションは休止中であるので、表示エリア３３７および３４１は、表示エリア３２８におけるパンニングの間入力を受け取らない。例えば、ドラッグ動作３３５がタッチ・ポイント３３６から表示エリア３３７のコンテンツ領域３３８の中まで継続する場合、表示エリア３３８内にあるコンテンツはパンニングしない。代わりに、物理的オブジェクト３１５がコンテンツ領域３２５の下縁を超えると、垂直方向３３３のパンニングを中止することができる。または、超過の発生を示すために、表示エリア３２８全体がＵＩディスプレイ３０５全体にわたって下方にスライドすることもできる。
【００６０】
[0064]  表示エリア３３７は、水平スクロールバー・ツール３３９を含む。したがって、表示エリア３２８の垂直スクロールバー・ツール３２９とは対照的に、コンテンツ領域３３８において水平ドラッグ動作が行われると、パンニング行為が発生し、一方コンテンツ領域３３８において垂直ドラッグ動作が行われると、コンテンツ領域３３８においてテキストを強調するための選択機能というような、二次的行為が呼び出される。
【００６１】
[0065]  表示エリア３４０はスクロールバーを含まない。これによって、ユーザーには、表示エリア３４０の基礎をなすアプリケーションがスクロール機能をサポートしていないことが視覚的に知らされる。したがって、表示エリア３４０の境界３４１内においてドラッグ動作を行うと、表示エリア３４０が、物理的オブジェクト３１５の移動と一緒に、ＵＩディスプレイ３０５全体にわたって平行移動する。あるいは、表示エリア３２８の平行移動を開始するためには、表示エリア３２８の境界線／タイトル・バー３２５以内というように、コンテンツ領域３２５の外側にジェスチャの始動位置が来なければならない。
【００６２】
[0066]  これより図４および図５に移ると、漸進的ドラッグ動作の図が示されており、本発明の実施形態にしたがって、コンテンツのパンニングから二次的行為の呼び出しに切り換えるドラッグ動作を行う段階を明示する。最初に、図４を参照すると、タップ型動作とドラッグ々動作との間で区別するために、所定の一組の境界線４２０を確立する。即ち、最初のドラッグ４０５のようなジェスチャが１組の閾値境界線４２０のいずれかを超えて延びると、このジェスチャはドラッグ動作と見なされる。別の実施形態では、ジェスチャが印加され、タッチスクリーン・インターフェースにおいて既定の時間枠よりも長く保持されると、ジェスチャはドラッグ動作と見なされる。
【００６３】
[0067]  図４に示すように、最初のドラッグ４０５は上側の四分儀に移動しており、これによって、ジェスチャは上方向への垂直ドラッグ動作と見なされる。したがって、アプリケーションが垂直方向のスクロール機能をサポートしている場合、コンテンツは最初のドラッグ４０５と一緒に移動することができる。図２の補正コンポーネント２２５がアクティブである場合、最初のドラッグ４０５におけるあらゆるドリフトまたは揺れ動きも、閾値境界４１０および４１５のいずれも交差しない場合、減衰させられる。図５に移ると、２回目のドラッグ５０５が閾値境界５１５と交差する。一実施形態では、閾値境界５１５と交差すると、パンニング機能を一時中止させる。別の実施形態では、２回目のドラッグ５０５が閾値境界５１５と交差すると、減衰機能を中止させるように、二次的行為を呼び出すこと、または図２の補正コンポーネント２２５を不活性化することができる。したがって、コンテンツは、主軸の方向に沿って移動する代わりに、ドラッグ動作に追従する。
【００６４】
[0068]  以上、特定的な実施形態に関して本発明を説明した。実施形態は、あらゆる観点において限定的ではなく例示的であることを意図している。本発明に関する技術における当業者には、本発明の範囲から逸脱することなく、代替実施形態も明らかとなろう。
【００６５】
[0069]  以上のことから、本発明が、上述した全ての目標および目的を、本システムおよび方法に明らかで且つ本来的な他の利点と共に達成するのに十分適合されたものであることがわかる。一定の特徴およびサブコンビネーションは、有用であり、他の特徴およびサブコンビネーションを参照することなく用いることができることが理解されよう。これは、特許請求の範囲によって意図されており、且つその範囲内に含まれる。
【図１】
0005490106.tif 000002
【図２】
0005490106.tif 000003
【図３】
0005490106.tif 000004
【図４】
0005490106.tif 000005
【図５】
0005490106.tif 000006