(57)【特許請求の範囲】
【請求項１】
１つまたは複数の選択可能領域および１つまたは複数の選択不可能領域を有するスクロール可能領域を備えるユーザインターフェースを提示することであって、前記１つまたは複数の選択可能領域のうち第１の選択可能領域が、前記１つまたは複数の選択不可能領域のうちの第１の選択不可能領域に隣接して位置することと、
前記第１の選択可能領域内でユーザ入力を検出することと、
前記スクロール可能領域の第１の端が、前記第１の選択可能領域の可視部分と相互に面しているかどうかを決定することと、
前記スクロール可能領域の前記第１の端が、前記第１の選択可能領域の前記可視部分と相互に面しているという第１の決定に少なくとも部分的に基づいて、前記スクロール可能領域の前記第１の端にトリガラインを確立することと、
前記スクロール可能領域の前記第１の端が、前記第１の選択可能領域の前記可視部分と相互に面していないという第２の決定に少なくとも部分的に基づいて、前記第１の選択可能領域の第２の端付近にトリガラインを確立することであって、前記第２の端が、前記１つまたは複数の選択不可能領域のうちの１つの選択不可能領域に直接、隣接していることと、
前記トリガラインと交差する前記ユーザ入力の移動を検出することと、
前記ユーザ入力の移動に少なくとも部分的に基づいて、前記スクロール可能領域をスクロールすることと、
前記１つまたは複数の選択可能領域のうち第２の選択可能領域と相互に面している前記スクロール可能領域の第３の端にトリガラインを再確立することと、
を含む、コンピュータ実装方法。
【請求項２】
前記ユーザ入力が、前記スクロール可能領域内にあること、および、前記１つまたは複数の選択可能領域のうちの前記第２の選択可能領域の閾値量が、前記スクロール可能領域内にスクロールしたこと、を決定することと、
前記ユーザ入力が前記スクロール可能領域内にあり、かつ、前記１つまたは複数の選択可能領域のうちの前記第２の選択可能領域の閾値量が前記スクロール可能領域内にスクロールしたという決定に少なくとも部分的に基づいて、前記スクロール可能領域をスクロールすることを中止することと、
をさらに含む、請求項１に記載の方法。
【請求項３】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端と一致するように、前記トリガラインを確立することをさらに含む、請求項１に記載の方法。
【請求項４】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端に最も近い前記第１の選択可能領域の一部分の範囲内にあるように、前記トリガラインを確立することをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端に最も近い前記選択不可能領域の一部分の範囲内にあるように、前記トリガラインを確立することをさらに含む、請求項１に記載の方法。
【請求項６】
前記スクロール可能領域をスクロールすることは、前記ユーザ入力が前記スクロール可能領域の外側にある第２の時点よりも、前記ユーザ入力が前記スクロール可能領域内にある第１の時点の方がゆっくりである可変速度で、前記スクロール可能領域をスクロールすることを含む、請求項１に記載の方法。
【請求項７】
第１の選択可能領域内で前記ユーザ入力を検出することは、前記ユーザ入力を前記第１の選択可能領域内の最初の選択点で検出することをさらに含む、請求項１に記載の方法。
【請求項８】
前記ユーザ入力の最後の選択点を決定することをさらに含む、請求項７に記載の方法。
【請求項９】
前記最初の選択点と前記最後の選択点との間で、かつ前記最初の選択点および前記最後の選択点を含んだコンテンツを選択することをさらに含む、請求項８に記載の方法。
【請求項１０】
コンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、
前記コンピュータ実行可能命令は、コンピュータによって実行されると、前記コンピュータに、
ユーザインターフェースをディスプレイ上に提示することであって、前記ユーザインターフェースが、１つまたは複数の選択可能領域および１つまたは複数の選択不可能領域を有するスクロール可能領域を備え、前記１つまたは複数の選択可能領域のうち第１の選択可能領域が、前記１つまたは複数の選択不可能領域のうちの第１の選択不可能領域に隣接して位置することと、
前記第１の選択可能領域内でユーザ入力を検出することと、
前記スクロール可能領域の第１の端が、前記第１の選択可能領域の可視部分と相互に面しているかどうかを決定することと、
前記スクロール可能領域の前記第１の端が、前記第１の選択可能領域の前記可視部分と相互に面しているという第１の決定に少なくとも部分的に基づいて、前記スクロール可能領域の前記第１の端にトリガラインを確立することと、
前記スクロール可能領域の前記第１の端が、前記第１の選択可能領域の前記可視部分と相互に面していないという第２の決定に少なくとも部分的に基づいて、前記第１の選択可能領域の第２の端付近にトリガラインを確立することであって、前記第２の端が、前記１つまたは複数の選択不可能領域のうちの１つの選択不可能領域に直接、隣接していることと、
前記第１の選択可能領域内の最初の選択点から前記トリガラインまでの前記ユーザ入力の移動を検出することと、
前記トリガラインまでの前記ユーザ入力の移動に少なくとも部分的に基づいて、前記スクロール可能領域内に提示されるコンテンツをスクロールすることと、
を行わせる、コンピュータ記憶媒体。
【請求項１１】
前記コンピュータによって実行されると、前記コンピュータに、
前記１つまたは複数の選択可能領域のうちの第２の選択可能領域の閾値量が、前記スクロール可能領域内にスクロールしたとき、前記コンテンツをスクロールすることを中止させる、コンピュータ実行可能命令をさらに記憶した、請求項１０に記載のコンピュータ記憶媒体。
【請求項１２】
前記コンピュータによって実行されると、前記コンピュータに、
前記第２の選択可能領域と相互に面している前記スクロール可能領域の第３の端に前記トリガラインを再確立させる、コンピュータ実行可能命令をさらに記憶した、請求項１１に記載のコンピュータ記憶媒体。
【請求項１３】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端と一致するように、前記トリガラインを確立することをさらに含む、請求項１０に記載のコンピュータ記憶媒体。
【請求項１４】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端に最も近い前記第１の選択可能領域の一部分の範囲内にあるように、前記トリガラインを確立することをさらに含む、請求項１０に記載のコンピュータ記憶媒体。
【請求項１５】
前記第１の選択可能領域の前記第２の端付近に前記トリガラインを確立することは、前記トリガラインが、前記第１の選択可能領域の前記第２の端に最も近い前記１つまたは複数の選択不可能領域のうちの前記選択不可能領域の一部分の範囲内にあるように、前記トリガラインを確立することをさらに含む、請求項１０に記載のコンピュータ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]  タッチ対応のデバイスは、一般的に、様々なタイプのデータを選択するためのユーザインターフェースを提供する。例えば、タッチ対応のカレンダアプリケーションは、日付および／または日付の範囲を選択するためのユーザインターフェースを提供することができる。データを選択するためのタッチ対応の一部のユーザインターフェースは、混乱を招き、操作が困難である場合もある。例えば、タッチ対応のカレンダアプリケーションにおいて日付の範囲を選択することは、日付の範囲など、選択されることになるコンテンツの全体が同時に画面上に表示できないとき、直感的でない処理である可能性がある。
【発明の概要】
【０００２】
[0002]  本明細書において行われる本開示は、これらおよび他の考慮事項に関して提示される。
【０００３】
[0003]  ユーザインターフェース（user interface:「UI」）内に自動スクロール領域を提供するための技術が、本明細書において説明される。本明細書に開示される概念および技術の実装形態を利用すると、日付の範囲など、コンテンツを選択するためのタッチ対応のＵＩを提供することができ、これは、コンテンツを選択するための以前のＵＩと比べて、ユーザにはより直観的であり得る。
【０００４】
[0004]  本明細書で説明される１つの実施形態によれば、コンピューティングデバイスが、選択可能領域と選択不可能領域に分けられるスクロール可能領域を有する画面上のＵＩを提示するように構成され得る。選択可能領域は、日付など、選択可能なコンテンツを含んでおり、一方、選択不可能領域は、ヘッダなど、選択不可能なコンテンツを含んでいる。選択可能領域は、選択不可能領域と隣接していてよい。
【０００５】
[0005]  ＵＩは、いくつかの実施形態においては、「トリガライン（trigger line）」を確立することによってスクロールされ得る。本明細書に説明されるように、トリガラインは、いつＵＩをスクロールすべきかを決定するのに利用され得る。例えば、スクロール可能領域は、ユーザ入力とトリガラインとの交差を検出することに応答して、スクロールされ得る。
【０００６】
[0006]  いくつかの実施形態においては、コンピュータデバイスは、選択可能領域内でユーザ入力を検出し、スクロール可能領域の端が、選択可能領域と相互に面しているかどうかを決定することができる。そうである場合には、トリガラインは、スクロール可能領域の端に確立され得る。そうでない場合には、トリガラインは、選択不可能領域と直接、隣接する選択可能領域の端付近に確立され得る。ユーザ入力の移動が、選択可能領域内の最初の選択点からトリガラインまで検出されるとき、スクロール可能領域内に提示されるコンテンツは、別の選択可能領域が現れるまで、スクロール可能である。トリガラインは、以前は画面外の選択可能領域と相互に面しているスクロール可能領域の端に再確立され得る。ユーザ入力の最初の選択点と最後の選択点との間で、かつ最初の選択点と最後の選択点とを含んだコンテンツが選択され得る。
【０００７】
[0007]  上述の主題はまた、コンピュータ制御機器、コンピュータ実装方法、コンピューティングシステムとして、またはコンピュータ可読記憶媒体などの製造品としても実装可能であることを認識すべきである。これらのおよび様々な他の特徴は、次の「発明を実施するための形態」を読み、関連の図面を概観することにより明らかになろう。
【０００８】
[0008]  この「概要」は、「発明を実施するための形態」においてさらに後述される概念の選択を簡略化された形態で紹介するために提供される。この「概要」は、特許請求される主題の重要な特徴または本質的な特徴を特定するように意図するものでも、またはこの「概要」が、特許請求される主題の範囲を限定するように使用されることを意図するものでもない。さらには、特許請求される主題は、本開示のいかなる部分であろうと注記される任意のまたはすべての不利点を解決する実装形態に限定するものでもない。
【図面の簡単な説明】
【０００９】
【図１】[0009]本明細書に開示される１つの実施形態による自動スクロールＵＩを提供するための例示的な動作環境の態様および自動スクロールＵＩコントロールの動作の態様を示すシステム図である。
【図２Ａ】[0010]本明細書に開示される例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図２Ｂ】本明細書に開示される例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図２Ｃ】本明細書に開示される例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図２Ｄ】本明細書に開示される例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図３Ａ】[0011]例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図３Ｂ】例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図３Ｃ】例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図３Ｄ】例示的な実施形態による自動スクロール領域の態様を示すＵＩ図である。
【図４】[0012]例示的な実施形態によるユーザインターフェースをスクロールするための方法の態様を示す流れ図である。
【図５】[0013]本明細書に提示される実施形態の態様を実装することができるコンピューティングシステムのための例示的なコンピュータハードウェア／ソフトウェアのアーキテクチャを示すコンピュータアーキテクチャ図である。
【図６】[0014]本明細書に提示される実施形態の態様を実装することができる分散型コンピューティング環境を例示するシステム／ネットワーク図である。
【図７】[0015]本明細書に提示される実施形態の態様を実装することができるコンピューティングデバイスアーキテクチャを例示するコンピュータアーキテクチャ図である。
【発明を実施するための形態】
【００１０】
[0016]  次の詳細な説明は、ＵＩ内に自動スクロール領域を提供するための概念および技術を対象とする。本明細書に開示される概念および技術によれば、コンピューティングデバイスが、日付の範囲または他のタイプのコンテンツなど、コンテンツを選択するための自動スクロール領域を含むＵＩを提示することができる。本明細書に開示される自動スクロール領域を利用するＵＩは、コンテンツが表示され、そこから選択が行われることになる状況で、しかし、表示されることになるコンテンツの量は、コンテンツを表示するのに割り当てられるＵＩの面積を超える状況で、提示され利用され得る。
【００１１】
[0017]  本明細書に説明される主題は、コンピュータシステムにおけるオペレーティングシステムおよびアプリケーションプログラムの実行と併せて実行するプログラムモジュールの一般的な文脈で提示されるが、他の実装形態が他のタイプのプログラムモジュールとの組合せで行われてもよいことを当業者は認識するであろう。概して、プログラムモジュールは、特定のタスクを行い、または特定の抽象データタイプを実装するルーチン、プログラム、コンポーネント、データ構造体、および他のタイプの構造体を含む。その上、本明細書に説明される主題が、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家庭用電化製品、ミニコンピュータ、およびメインフレームコンピュータなどを含んだ他のコンピュータシステム構成とともに実践され得ることを当業者は認識するであろう。
【００１２】
[0018]  次の詳細な説明においては、本明細書の一部を成し、具体的な諸実施形態または諸例の例示として示される添付の図面を参照する。次に、同様の参照数字がいくつかの図全体を通じて同様の要素を表す図面を参照して、自動スクロール領域を提供するためのコンピューティングシステム、コンピュータ可読記憶媒体、およびコンピュータ実装方法論の態様が説明されることになる。
【００１３】
[0019]  次に、図１を参照して、本明細書に開示される概念および技術の様々な実施形態のための例示的な動作環境１００の態様を示すシステム図が説明されることになる。図１に示される動作環境１００は、本明細書において、「デバイス１０２」と呼ばれることもあるコンピューティングデバイス１０２を含む。いくつかの実施形態においては、デバイス１０２は、通信ネットワーク（「ネットワーク」）１０４の一部として、または通信ネットワーク１０４と通じて動作するが、これは必ずしも事例ではない。様々な実施形態によれば、デバイス１０２は、デスクトップ、タブレット、またはラップトップのコンピュータシステムなど、パーソナルコンピュータ（「PC」）である。他の実施形態においては、デバイス１０２は、ハンドヘルドコンピュータ、ネットブックコンピュータ、埋込み式コンピュータシステム、パーソナルデジタルアシスタント（「PDA」）、モバイル電話機、スマートフォン、または別のコンピューティングシステムを含むが、これらに限定されない別のタイプのコンピューティングシステムである。したがって、デバイス１０２は、本明細書においては主に、マルチタッチ感応式ディスプレイを有するスマートフォンとして説明されており、この実施形態は例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。
【００１４】
[0020]  デバイス１０２は、オペレーティングシステム１０６およびアプリケーションプログラム１０８を実行するように構成され得る。オペレーティングシステム１０６は、デバイス１０２の動作を制御するためのコンピュータプログラムである。アプリケーションプログラム１０８は、様々な機能を提供するオペレーティングシステム１０６の上部において実行するように構成された実行可能なプログラムである。様々な実装形態によれば、アプリケーションプログラム１０８は、カレンダ、ウェブ閲覧プログラム、マルチメディアソフトウェア、およびスタンドアローンアプリケーションなどとすることができるが、これらに限定されない。アプリケーションプログラム１０８はまた、データ１１０を受け取る、もしくは記憶するように、および／またはデータ１１０に対して様々な動作を実行するようにも構成され得る。デバイス１０２は、単一のオペレーティングシステム１０６および単一のアプリケーションプログラム１０８に関して説明されているが、これらの要素の多例があり得ることに留意すべきである。これまでリストされた例は、特定の実施形態のほんの例示にすぎず、いかなる形でも限定すると見なすべきではない。
【００１５】
[0021]  いくつかの実装形態においては、データ１１０は、デバイス１０２でメモリに、またはデバイス１０２に関連付けられた他のデータ記憶デバイスに記憶される。他の実施形態においては、データ１１０は、ネットワーク１０４の一部として、またはネットワーク１０４と通じて動作しているデータソース１１２から取得される。データソース１１２は、ネットワーク１０４において、もしくはネットワーク１０４と通じて動作する、ネットワーク接続されたハードドライブ、サーバコンピュータ、および／またはデータ１１０を記憶すること、もしくはホストすること、および／またはデバイス１０２と通信することができる任意の他のデバイスであってよい。データ１１０は、様々な目的のために、アプリケーションプログラム１０８において受領され、および／またはアプリケーションプログラム１０８によってインポートされ得る。例えば、データ１１０は、テキスト文書に対応することができ、データ１１０は、編集または保存のために、アプリケーションプログラム１０８において受領され、および／またはアプリケーションプログラム１０８によってインポートされ得る。この実施形態は、例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。
【００１６】
[0022]  例示的な実施形態においては、アプリケーションプログラム１０８は、自動スクロールＵＩコントロール１１４とともに構成され得る。自動スクロールＵＩコントロール１１４は、様々な実施形態においては、コンピュータ実行可能コードを含むことができ、このコンピュータ実行可能コードは、デバイス１０２によって実行されると、デバイス１０２に、ユーザがアプリケーションとの全対話中にコンテンツを操作し選択できるようにする自動スクロールＵＩ１１６を提示させる。アプリケーションは、デバイス１０２によって実行されるアプリケーションプログラム１０８、あるいはデバイス１０２で、もしくはデバイス１０２を用いて見られるアプリケーションまたはリソースを含むことができる。コンテンツは、表示に向けてフォーマットされるように、および自動スクロールＵＩ１１６内に含められるようになっているデータ１１０を含むことができる。自動スクロールＵＩ１１６はまた、いくつかの実施形態においては、オペレーティングシステム１０６によって提供可能になる。
【００１７】
[0023]  いくつかの実施形態においては、自動スクロールＵＩコントロール１１４は、広範囲すぎて一度にその全体を画面上に表示することができない、下にあるコンテンツの個別の部分を提示するのに使用され得る。限定ではなく、例えば、自動スクロールＵＩコントロール１１４は、デバイス１０２のディスプレイ画面に一度では同時に表示することができないカレンダ内の日付の範囲を提示し、スクロールし、選択するのに使用され得る。
【００１８】
[0024]  自動スクロールＵＩコントロール１１４はまた、水平方向、垂直方向、または斜め方向にスクロールすることを可能にすることができる。スクローリングによって、デバイス１０２によって与えられるディスプレイの視認エリアに表示されるコンテンツは、視認エリアから外へ一方向に徐々に移動することができ、以前は見えなかったコンテンツが反対方向からビュー内に移動してくることによって、視認エリアの中で置き換えられ得る。様々な実施形態においては、自動スクロールＵＩコントロール１１４の大きさ、およびそれが提示する視認コンテンツの量は、デバイス１０２によって提供されるディスプレイ画面上の視認エリアの大きさに、またはアプリケーション設計者の必要性に対応するように合わせることができる。自動スクロールＵＩコントロール１１４によってアクセスされるコンテンツは、各領域内に含まれているコンテンツが、ユーザによって選択可能であるように設計されているかどうかに基づいて、隣接する領域に分割され得る。いくつかの実施形態においては、ユーザによって選択可能であるように設計されているコンテンツの領域は、個人の選択をターゲットにすることができる別々のターゲットオブジェクトにさらに分割され得る。
【００１９】
[0025]  いくつかの実施形態においては、自動スクロールＵＩコントロール１４は、タッチジェスチャおよび／またはマルチタッチジェスチャを介して対話される。タッチジェスチャは、デバイス１０２における適切なマルチタッチディスプレイ画面によって測定され、いくつかの可能な因子に基づいて自動スクロールＵＩコントロール１１４によって解釈され得る。ジェスチャは、ディスプレイ画面上の最初の選択点の位置に基づいて解釈され得る。最初の選択点は、ユーザによる選択のターゲットにされた最初のターゲットオブジェクト、例えば、日付の範囲における最初の日付の位置とすることができる。ジェスチャはまた、ジェスチャが最初の選択点の領域内に含まれているかどうか、ジェスチャが１つの領域から別の領域にわたるかどうか、またはジェスチャが自動スクロールＵＩ１１６の境界を越えて、異なるＵＩコントロールによって占有されたＵＩのエリア内にわたるかどうかに基づいても解釈され得る。
【００２０】
[0026]  様々な実施形態においては、ジェスチャは、ジェスチャによって横断される要素および／または領域の組合せに基づいて解釈され得る。いくつかの実施形態においては、ジェスチャは、ジェスチャの最初の選択点から最後の選択点まで、ジェスチャによってカバーされる距離に基づいて解釈され得る。ジェスチャはまた、特化したトリガに基づいても解釈され得る。ジェスチャが所与のトリガ条件を満たすときに応答イベントがトリガされるように、条件が確立され得る。ユーザ対話は、主に、タッチジェスチャおよびマルチタッチジェスチャの観点で説明されているが、ユーザは、実際には、ポジションおよび移動を伝える任意の入力手段を使用してデバイス１０２と対話することができることに留意すべきである。これまでリストされた例は、特定の実施形態のほんの例示にすぎず、いかなる形でも限定すると見なすべきではない。
【００２１】
[0027]  図１は、１つのデバイス１０２、１つのネットワーク１０４、および１つのデータソース１１２を例示している。しかしながら、動作環境１００のいくつかの実装形態は、多デバイス１０２、多ネットワーク１０４、および多データソース１１２を含む、またはデータソース１１２を全く含まないことを理解すべきである。したがって、示された実施形態は、例示であると理解すべきであり、いかなる形でも限定すると見なすべきではない。自動スクロールＵＩコントロール１１４および自動スクロールＵＩ１１６の動作に関する追加の詳細は、図２Ａ〜図７に関して後述されよう。
【００２２】
[0028]  次に、図２Ａ〜図２Ｄを参照すると、自動スクロール領域を提供するための本明細書に開示される概念および技術の様々な態様を示すＵＩ図が、様々な例示的な実施形態により説明されることになる。具体的には、図２Ａは、デバイス１０２によって生成される例示的な自動スクロールＵＩ１１６を示している。図２Ａの例示的な自動スクロールＵＩ１１６においては、カレンダＵＩが示されている。そのようなカレンダＵＩは、この例においては、カレンダアプリケーションとすることができる、下にあるアプリケーションプログラム１０８にパラメータとして渡すことができる日付、または日付の範囲を選択するのに使用され得る。図２Ａに例示されるＵＩ図は、１つの企図される実施形態の例示であり、そのため、いかなる形でも限定すると見なすべきではないことを認識すべきである。
【００２３】
[0029]  図２Ａに示されるように、自動スクロールＵＩ１１６は、デバイス１０２のディスプレイ画面の視認エリアの一部分を占有するＵＩとして提示され得る。自動スクロールＵＩ１１６内には、スクロール可能領域２１０が、コンテンツを表示することができる。自動スクロールＵＩコントロール１１４で利用できるようになるコンテンツの量がスクロール可能領域２１０の視認エリアを超えるとき、自動スクロールＵＩコントロール１１４は、コンテンツをスクロール可能領域内外にスクロール可能にすることができる。様々な実施形態においては、自動スクロールＵＩコントロール１１４は、水平、垂直、または斜めのうちの１つまたは複数の方向でのスクローリングを可能にすることができる。
【００２４】
[0030]  スクロール可能領域２１０は、その中に表示されるコンテンツに割り当てられるプロパティに基づいて、サブ領域に分割され得る。限定ではなく、例えば、選択可能領域２２０Ａは、選択可能コンテンツ２２５Ａを含んでいることができる。選択可能コンテンツ２２５Ａは、動作を行うためにユーザによって個々にまたはグループで選択され得る別個のターゲットオブジェクトを含むことができる。動作は、ＵＩ内でターゲットオブジェクトのディスプレイプロパティをコピーすること、切り取ること、変更すること、およびアプリケーションプログラム１０８によって使用されることになるパラメータを設定することを含むことができるが、これらに限定されない。いくつかの実施形態においては、選択可能コンテンツ２２５Ａは、カレンダアプリケーションのための日付、テキスト、下にあるファイルまたはデータ構造体を表すアイコンの組、および他のタイプのコンテンツを含むことができる。ターゲットオブジェクトは、個々の日付、テキスト内の個々の語または文字、個々のアイコン、および他のタイプの個々の選択可能なコンテンツを含むことができる。
【００２５】
[0031]  １つの実施形態においては、選択不可能領域２３０Ａは、選択可能領域２２０Ａに直接、隣接して位置する。選択不可能領域２３０Ａは、選択することができない選択不可能コンテンツ２３５Ａを含んでいることができる。いくつかの実施形態においては、選択不可能コンテンツ２３５Ａは、カレンダアプリケーションまたはスプレッドシートにあるようなデータの列もしくは行、文学作品にあるようなタイトル、章、節識別子、もしくはページ番号、画像処理プログラムにおける変更不可能なデータ、または空白欄を特定するのに使用されるヘッダ情報である。選択可能コンテンツ２２５Ａおよび選択不可能コンテンツ２３５Ａの例は、いくつかの企図される実施形態の例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。いくつかの実施形態においては、選択不可能領域２３０は、複数の選択可能領域２２０に直接、隣接して位置することができる。同様に、選択可能領域２２０は、１つまたは複数の選択不可能領域２３０に直接、隣接して位置することができる。また、自動スクロールＵＩ１１６内の特定された領域と、各領域間のスペースとを境界付けするように描写されている境界は、ほんの例示目的にすぎないことも理解すべきである。それらの境界は、実際の実施形態においては、存在しても、存在しなくてもよく、いかなる形でも限定すると見なすべきではない。
【００２６】
[0032]  自動スクロールＵＩコントロール１１４は、ユーザの手２４０によるタッチなど、ユーザ入力の形によって、ユーザから入力およびフィードバックを受け取ることができる。様々な実施形態においては、自動スクロールＵＩコントロール１１４は、ユーザが自動スクロールＵＩ１１６と対話するときに、ユーザによって作成されるタッチまたはマルチタッチのジェスチャを解釈することができる。いくつかの実施形態においては、ユーザ入力は、デバイス１０２上のタッチ画面ＵＩの表面または画面と物理的に接触するのに使用され得る。他の実施形態においては、ユーザ入力は、タッチ画面ユーザインターフェース付近に置かれたとき、またはタッチ画面ユーザインターフェースにわたってホバーリングするとき、感知され得る。ユーザ入力は、タッチ、およびマルチタッチのジェスチャの観点で本明細書おいて説明され得る。しかしながら、タッチパッド、マウス、トラックボール、動きセンサ、またはデバイス１０２に移動を伝えることができる他のそのようなユーザ入力など、他のタイプの入力もまた、利用可能であることを認識すべきである。これらの実施形態は、例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。
【００２７】
[0033]  いくつかの実施形態においては、自動スクロールＵＩコントロール１１４は、ユーザの手２４０の最初の選択点に一部基づいて、タッチおよびマルチタッチのジェスチャを解釈することができる。ユーザの手２４０が、選択可能コンテンツ２２５Ａ内でターゲットオブジェクトを軽くタッチし、次いで、離すように引き上げることによってターゲットオブジェクトを素早く解放するときに達成されるタップアンドリリースジェスチャが、最初の選択点の例として働くことができる。自動スクロールＵＩコントロール１１４が、選択可能領域２２０Ａ内の最初の選択点でユーザの手２４０を検出し、次いで、ユーザの手２４０が引き上げられた、または解放されたことを検出するとき、自動スクロールＵＩコントロール１１４は、後続の動作に向けて最初の選択点においてコンテンツを選択していることとしてそのジェスチャを解釈する。一旦、選択されると、自動スクロールＵＩコントロール１１４は、関連のアプリケーションプログラム１０８に対して、選択されたコンテンツと関連付けられるデータ１１０を渡すことができる。図２Ａの例示のカレンダＵＩにおいては、タップし解放することは、日付を選択しているとして自動スクロールＵＩコントロール１１４によって解釈され得、この日付は、その後、パラメータとして、関連のカレンダアプリケーションに渡されることになる。
【００２８】
[0034]  いくつかの実施形態においては、複数のターゲットオブジェクトは、タップアンドドラッグジェスチャを使用することによって、後続の動作に向けて選択され得る。タップアンドドラッグジェスチャは、ユーザの手２４０が、最初の選択点でターゲットオブジェクトをタッチし、１つまたは複数の他のターゲットオブジェクトにわたって移動し、次いで、解放するとき、達成され得る。ユーザの手２４０が解放する前に、ユーザの手２４０によってタッチされる最後のターゲットオブジェクトのポジションは、最後の選択点とすることができる。自動スクロールＵＩコントロール１１４は、選択可能領域２２０Ａ内の最初の選択点でユーザの手２４０を検出することができ、ユーザの手２４０が解放する前に、ユーザの手２４０によってタッチされる最後のターゲットオブジェクトのポジションを記録することによって最後の選択点を確定することができる。自動スクロールＵＩコントロール１１４は、最初の選択点と最後の選択点との間で、かつ最初の選択点と最後の選択点とを含んだコンテンツを選択しているとして、タップアンドドラッグジェスチャを解釈することができる。自動スクロールＵＩコントロール１１４は、関連のアプリケーションプログラム１０８に対して、選択されたコンテンツと関連付けられるデータ１１０を渡すことができる。図２Ａおよび図２Ｂの例示のカレンダＵＩにおいては、「１５」をタップし、ユーザの手２４０を「１」にドラッグすることは、日付の範囲を２０１１年４月１５日を起点として戻って２０１１年４月１日まで選択しているとして、自動スクロールＵＩコントロール１１４によって解釈され得る。日付範囲は、その後、パラメータとして、関連のカレンダアプリケーションに渡すことができる。
【００２９】
[0035]  いくつかの実施形態においては、タップアンドドラッグジェスチャは、多選択可能領域２２０に広がるコンテンツを選択するように拡張され得る。最初の選択点でタップし、最初の選択点を含んでいるある選択領域２２０から別の選択可能領域２２０にユーザの手２４０を移動させ、ユーザ入力を引き上げ、または解放することによって、最初の選択点から最後の選択点まで多選択可能領域２２０におけるコンテンツが選択され得る。
【００３０】
[0036]  いくつかの状況においては、１つの選択可能領域２２０しか、所与の時点でのスクロール可能領域２１０の中には見えない場合がある。１つの選択可能領域２２０しか見えないとき、ユーザは、より多くのコンテンツが選択されるのに利用可能であるということに気づかない場合がある。さらには、ユーザは、何らかの追加のコンテンツを見ることができ選択することができる処理についても気づかない場合がある。より詳細に後述されるように、自動スクロールＵＩコントロール１１４は、画面外のコンテンツを選択しようというユーザの意図を表すトリガ条件の発生を検出すること、およびそれに応答してスクロール可能領域２１０の中のコンテンツをスクロールすることによって、これらの状況におけるユーザの経験を高めることができる。
【００３１】
[0037]  いくつかの実施形態においては、自動スクロールＵＩコントロール１１４は、図２Ａに示されるように、トリガ条件が合致しているかどうかを決定する際に使用されることになるトリガライン２５０を確立することができる。トリガライン２５０は、選択不可能領域２３０Ａに直接、隣接している第１の選択可能領域２２０Ａの端付近に確立され得る。自動スクロールＵＩコントロール１１４は、第１の選択可能領域２２０Ａ内でユーザの手２４０を検出し、ユーザ入力のポジションおよび移動を監視することができる。
【００３２】
[0038]  図２Ｂに示されるように、自動スクロールＵＩコントロール１１４がトリガライン２５０と交差するユーザの手２４０の移動を検出するとき、トリガ条件は満たすことができる。自動スクロールＵＩコントロール１１４は、スクロール可能領域２１０をスクロールすることによって応答することができる。図２Ｃに例示されるように、選択可能領域２２０Ａが、スクロール可能領域２１０の下枠線に向かってスクロールしながら、１つの実施形態においては、選択可能領域２２０Ｂが、スクロール可能領域２１０の上枠線からビューの中にスクロールし始める。図２Ｄに示されるように、以前は画面外の選択可能領域２２０Ｂからの選択可能コンテンツ２２５Ｂが、ここでは、このようにして見ることができ選択することができる。
【００３３】
[0039]  トリガライン２５０は、単に説明する目的で図２Ａ〜図２Ｄに例示されているにすぎず、いくつかの実施形態においては、コンピュータデバイス１０２のディスプレイ上に見えない場合もあることを認識すべきである。他の実施形態においては、アイコンまたは別の形のインジケータが、ユーザをトリガライン２５０に導くために、コンピュータデバイス１０２のディスプレイ上で使用され得る。加えて、図２Ａ〜図２Ｄは、１本のトリガライン２５０の使用法を描写している。これは、単に明瞭にし、説明する目的でなされているにすぎない。いくつかの実施形態は、多トリガライン２５０を採用する場合がある。限定ではなく、例えば、コンテンツがスクロール可能領域２１０内でスクロール可能な方向ごとに、別々のトリガライン２５０が利用可能である。
【００３４】
[0040]  上述のユーザ経験は、自動スクロールＵＩコントロール１１４がトリガライン２５０を確立する位置によって影響を受けることがある。トリガライン２５０が、選択不可能領域２３０Ａに直接、隣接している第１の選択可能領域２２０Ａの端と一致している、またはトリガライン２５０が、選択不可能領域２３０Ａ内に確立されている実施形態においては、トリガ条件を満たすことは、スクロール可能領域２１０をスクロールする指令として、自動スクロールＵＩコントロール１１４によって解釈され得る。これらの構成は、下にあるデータ１１０の構造体が、ユーザに、コンテンツの範囲の始まりと終わりの自然な指示（すなわち、アルファベット順のリスト、１から２０までの番号付けされたリストなど）を提供する実施形態において有用な場合がある。ユーザは、自動スクロールＵＩコントロール１１４がスクロール可能領域２１０をスクロールしなくても、第１の選択可能領域２２０Ａ内からコンテンツを選択することができる。ユーザの手２４０が、第１の選択可能領域２２０Ａの端に、またはこれを越えて移動するとき、トリガ条件は、満たすことができ、スクロールは、自動スクロールＵＩコントロール１１４によって開始され得る。
【００３５】
[0041]  自動スクロールＵＩコントロール１１４は、追加のコンテンツが利用可能であり得ることをユーザに積極的に示すことができる。トリガライン２５０が、選択不可能領域２３０Ｂに直接、隣接している第１の選択可能領域２２０Ａ内の端付近に確立される実施形態においては、トリガ条件は、ユーザの手２４０が第１の選択可能領域２２０Ａの境界を越えて移動しなくても満たすことができる。この態様に関する追加の詳細は、図３Ａ〜図３Ｄに関して後述されることになる。
【００３６】
[0042]  図３Ａ〜図３Ｄは、様々な例示的な実施形態による自動スクロール領域の態様を示すユーザインターフェース図である。図３Ａ〜図３Ｄに示される構成は、ユーザが、自動スクロール領域の動作に精通していない可能性がある場合の実施形態、またはユーザが、どれだけのコンテンツが自動スクロールＵＩコントロール１１４を通じてアクセスできるかどうかを知っている可能性が低いときの実施形態において有用な場合がある。ユーザが、どれだけのコンテンツがアクセスできるかどうかを知らない可能性がある例としては、下にあるデータ１１０が順序付けされていないとき、または表示されるコンテンツが広い空白欄を含んでいるときを含むことができる。
【００３７】
[0043]  図３Ａに示されるように、広い空白欄が、第１の選択可能領域２２０Ａに表示されるコンテンツとスクロール可能領域２１０の境界との間に位置するとき、ユーザは、追加のコンテンツがアクセスできることに気づいていない場合がある。この構成の下では、ユーザの選択が、第１の選択可能領域２２０Ａの端付近の選択可能コンテンツ２２５Ａを含む場合、ユーザの手２４０は、トリガライン２５０と交差する場合がある。自動スクロールＵＩコントロール１１４は、トリガ条件が満たされていることを検出するとき、別の選択可能領域２２０Ｃの閾値量が図３Ａ〜図３Ｄに例示されるスクロール可能領域２１０内にスクロールするまで、スクロール可能領域２１０をスクロールすることによって応答することができる。閾値量は、コンテンツの行、部分的な行、または多行を含むことができる。スクロールの振舞いは、より多くの選択可能コンテンツ２２５Ｃが利用可能であることをユーザに積極的に信号伝達するのに使用され得る。加えて、自動スクロールＵＩコントロール１１４が、ユーザの手２４０がトリガライン２５０と交差したことを検出することに応答して、スクロール可能領域２１０を軽くスクロールするとき、ユーザには、必要に応じて、いかにしてさらなるスクローリングを達成すべきかについてのヒントが提供され得る。例えば、ユーザは、ユーザの手２４０をトリガライン２５０と交差させるように再度、移動させることによって、スクロール可能領域２１０がスクロール可能であることを認識することができる。次いで、ユーザは、第１の選択可能領域２２０Ａ内からの選択を完了すること、または他の選択可能領域２２０Ｃ内への選択を継続することができる。
【００３８】
[0044]  いくつかの実施形態においては、スクロール可能領域２１０は、可変速度でスクロールすることができる。可変速度は、スクロール可能領域２１０に対するユーザの手２４０のポジションに相関付け可能である。ユーザの手２４０がスクロール可能領域２１０内にあるときには、可変速度は、ユーザの手２４０がスクロール可能領域２１０の外側にあるときよりゆっくりとすることができる。例としては、図２Ａ〜図２Ｄおよび図３Ａ〜図３Ｄの例示のカレンダＵＩにおいては、ユーザの手２４０がスクロール可能領域２１０内にあるときには、スクロール可能領域２１０は、行ごとの方式で（例えば、一度に１週間）スクロールすることが可能になる。ユーザの手２４０がスクロール可能領域２１０の外側にあるときには、スクロール可能領域２１０は、ビューごとの方式で（例えば、一度に１カ月）スクロールすることが可能になる。
【００３９】
[0045]  いくつかの実施形態においては、可変速度はまた、ユーザの手２４０とスクロール可能領域２１０との間の距離にも相関付け可能である。ユーザの手２４０がスクロール可能領域２１０の外側にあるときの可変速度は、ユーザの手２４０がスクロール可能領域２１０のより近くにあるときは、よりゆっくりとすることができ、ユーザの手２４０がスクロール可能領域２１０からさらに遠くに離れているときは、より速くとすることができる。例としては、図２Ａ〜図２Ｄおよび図３Ａ〜図３Ｄの例示のカレンダＵＩにおいては、スクロール可能領域２１０は、ユーザの手２４０がスクロール可能領域２１０に近接しているが、外側にあるときには、一度に１週間をスクロールすることが可能になる。対照的に、スクロール可能領域２１０は、ユーザの手２４０がスクロール可能領域２１０の外側のさらに遠くにあるときには、一度に１カ月をスクロールすることが可能になる。
【００４０】
[0046]  上記例は、垂直方向におけるスクローリングを例示しているが、スクローリングはまた、水平方向、または斜め方向に行われる場合も、および列ごとの方式で、または様々な他の増分単位で行われる場合もあることを認識すべきである。これらの例は、例示の実施形態を示しており、いかなる形でも限定すると見なすべきではない。
【００４１】
[0047]  いくつかの実施形態においては、スクローリングが開始されており、ユーザの手２４０がスクロール可能領域２１０の外側にある場合、スクローリングは、自動スクロールＵＩコントロール１１４が、ユーザの手２４０が引き上げられたことを検出するまで継続することができる。他の実施形態においては、自動スクロールＵＩコントロール１１４は、２２０Ｂまたは２２０Ｃなど、以前は画面外の選択可能領域の閾値量が、スクロール可能領域２１０の中にスクロールしたこと（図２Ｄおよび図３Ｄに例示されるように）、およびユーザの手２４０が選択可能領域２２０のうちの１つの範囲内にあることを決定する場合、自動スクロールＵＩコントロール１１４は、トリガライン２５０を再確立し、スクロール可能領域２１０のスクローリングを中止することができる。いくつかの実施形態においては、スクロール可能領域２１０内で選択可能領域２２０Ｃの一部分しか見えない可能性がある場合（図３Ｄに例示されるように）、トリガライン２５０は、選択可能領域２２０Ｃと相互に面しているスクロール可能領域２１０の端に、または端付近に再確立され得る。これらの例は、例示の実施形態を示しており、いかなる形でも限定すると見なすべきではないことを認識すべきである。
【００４２】
[0048]  次に、図４を参照すると、自動スクロールＵＩコントロール１１４との対話をサポートするための方法４００の態様が、例示的な実施形態により、詳細に説明されることになる。本明細書に開示される方法４００の動作は、必ずしも、何らかの特定の順序で提示されるわけではなく、代替の順序での動作の一部のまたはすべての性能が、可能であり、企図されることを理解すべきである。動作は、説明および例示を簡単にするために実証された順序で提示されている。動作は、添付の特許請求の範囲から逸脱することなく、追加されても、省略されても、および／または同時に行われてもよい。
【００４３】
[0049]  また、例示された方法４００は、いかなる時点でも終了可能であり、その全体を行う必要はないことを理解すべきである。方法４００の一部のもしくはすべての動作、および／または実質的に等価な動作は、本明細書に定義されるコンピュータ記憶媒体において含まれるコンピュータ可読命令の実行によって行うことができる。用語「コンピュータ可読命令（computer-readable instruction）」、およびその変形形態は、本明細書および特許請求の範囲に使用されるとき、ルーチン、アプリケーション、アプリケーションモジュール、プログラムモジュール、プログラム、コンポーネント、データ構造体、およびアルゴリズムなどを含むように、本明細書においては広く使用される。コンピュータ可読命令は、単一プロセッサシステム、またはマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、パーソナルコンピュータ、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースのプログラム可能な家庭用電化製品、およびそれらの組合せなどを含んだ、様々なシステム構成において実装され得る。
【００４４】
[0050]  したがって、本明細書に説明される論理的動作が、（１）一連のコンピュータ実装行為もしくはコンピューティングシステムにおいて実行するプログラムモジュールとして、および／または（２）コンピューティングシステム内の相互接続されたマシン論理回路もしくは回路モジュールとして、実装されることを認識すべきである。実装形態は、コンピューティングシステムの性能および他の要件によって決まる選択肢の問題である。したがって、本明細書に説明される論理的動作は、状態、動作、構造的工夫、行為、またはモジュールと様々に呼ばれる。これらの動作、構造的工夫、行為、およびモジュールは、ソフトウェアで、ファームウェアで、専用デジタル論理部で、およびそれらの任意の組合せで実装され得る。
【００４５】
[0051]  本開示の概念を例示し、説明する目的として、本明細書に開示される方法４００は、自動スクロールＵＩ１１６の提示、および／またはアプリケーションプログラム１０８の実行を介して、デバイス１０２によって行われるように説明されている。しかしながら、自動スクロールＵＩコントロール１１４はまた、ウェブサーバ、または他のデータソース１１２によって提供可能であり、ユーザによる使用に向けて、デバイス１０２においてレンダリング可能であることを理解すべきである。したがって、アプリケーションプログラム１０８がデバイス１０２において実行することによって自動スクロールＵＩ１１６が提供されるという説明の実施形態は、例示であり、そのため、いかなる形でも限定すると見なすべきではないことを理解すべきである。
【００４６】
[0052]  方法４００は、動作４１０から始まり、ここで、デバイス１０２は、第１の選択可能領域２２０内の最初の選択点でユーザの手２４０を検出することができる。動作４１０から、方法４００は、動作４２０に進み、ここで、デバイス１０２は、スクロール可能領域２１０の端が、第１の選択可能領域２２０の可視部分と相互に面しているかどうかを決定することができる。そうならば、方法は、デバイス１０２がスクロール可能領域２１０の端でトリガライン２５０を確立することができる動作４４０に継続する。そうでなければ、方法は、デバイス１０２が選択不可能領域２３０に直接、隣接している選択可能領域２２０の端付近にトリガライン２５０を確立することができる動作４３０に移る。
【００４７】
[0053]  動作４３０および４４０から、方法は、トリガライン２５０と交差し、したがって、トリガ条件を満たすユーザの手２４０の移動をデバイス１０２が検出することができる動作４５０に進む。次いで、方法は、動作４５０から動作４６０に継続する。
【００４８】
[0054]  動作４６０においては、デバイス１０２は、スクロール可能領域２１０をスクロールすることができる。上述のように、スクロール可能領域２１０は、スクロール可能領域２１０に対して相対的なユーザの手２４０のポジションによって決まる変動速度でスクロール可能になる。方法は、動作４６０から、トリガライン２５０が再確立され得る動作４７０に進む。
【００４９】
[0055]  動作４７０から、方法は、デバイス１０２が、以前は画面外の選択可能領域２２０の閾値量が、スクロール可能領域２１０の中にスクロールしたこと、およびユーザの手２４０が選択可能領域２２０内にあることを決定した後、スクロール可能領域２１０のスクローリングを中止することができる動作４８０に進む。動作４８０から、方法は、動作４９０に継続する。
【００５０】
[0056]  動作４９０においては、デバイス１０２は、選択方法が完了しているかどうかを決定することができる。デバイス１０２が、ユーザの手２４０が引き上げられたことを検出する場合、最初の選択点と最後の選択点との間のコンテンツが選択可能であり、方法は、動作５００に進むことができ、ここで、方法は終了する。そうでなければ、方法は、上述の動作４５０に戻り、ここで、デバイス１０２は、ユーザの手２４０を監視して、最確立されたトリガライン２５０と交差するユーザの手２４０の移動を検出する。
【００５１】
[0057]  図５は、本明細書に説明されるソフトウェアコンポーネントを実行して、自動スクロールＵＩコントロール１１４を提供することができるデバイスのための例示的なコンピュータアーキテクチャ５００を示している。したがって、図５に例示されるコンピュータアーキテクチャ５００は、サーバコンピュータ、モバイルフォン、ＰＤＡ、スマートフォン、デスクトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、および／またはラップトップコンピュータ向けのアーキテクチャを示している。コンピュータアーキテクチャ５００は、本明細書に提示されるソフトウェアコンポーネントの任意の態様を実行するのに利用され得る。
【００５２】
[0058]  図５に例示されるコンピュータアーキテクチャ５００は、中央処理装置５０２（「CPU」）と、ランダムアクセスメモリ５０６（「RAM」）および読取り専用メモリ（「ROM」）５０８を含んだシステムメモリ５０４と、メモリ５０４をＣＰＵ５０２に連結するシステムバス５１０とを含む。起動中など、コンピュータアーキテクチャ５００内の要素間の情報を転送するのを助ける基礎ルーチンを含んでいる基礎入力／出力システムが、ＲＯＭ５０８に記憶される。コンピュータアーキテクチャ５００は、オペレーティングシステム１０６およびアプリケーションプログラム１０８を記憶するための大容量記憶デバイス５１２をさらに含む。大容量記憶デバイス５１２はまた、必要に応じて、データ１１０および自動スクロールＵＩコントロール１１４を記憶するように構成され得る。
【００５３】
[0059]  大容量記憶デバイス５１２は、システムバス５１０に接続される大容量記憶コントローラ（図示せず）を通じてＣＰＵ５０２に接続される。大容量記憶デバイス５１２およびその関連のコンピュータ可読媒体は、コンピュータアーキテクチャ５００のための不揮発性記憶装置を提供する。本明細書に含まれているコンピュータ可読媒体の説明は、ハードディスクまたはＣＤ−ＲＯＭドライブなど、大容量記憶デバイスを示しているが、コンピュータ可読媒体は、コンピュータアーキテクチャ５００によってアクセスされ得る任意の利用可能なコンピュータ記憶媒体または通信媒体であってもよいことは、当業者なら認識すべきである。
【００５４】
[0060]  通信媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、または搬送波もしくは他の輸送機構などの変調されたデータ信号における他のデータを含み、任意の配信媒体を含む。用語「変調されたデータ信号（modulated data signal）」は、情報を信号に符号化するようにして、その特性のうちの１つまたは複数を変更した、または設定した信号を意味する。限定ではなく、例として、通信媒体は、ワイヤードネットワークまたは直接ワイヤード接続などのワイヤード媒体、ならびに音響、ＲＦ、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含む。上記のうちの何らかの組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５５】
[0061]  限定ではなく、例として、コンピュータ記憶媒体は、コンピュータ可読命令、データ構造体、プログラムモジュール、もしくは他のデータなど、情報を記憶するための何らかの方法または技術で実装される揮発性および不揮発性、取外し可能および取外し不可能な媒体を含むことができる。例えば、コンピュータ媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、もしくは他の固体メモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（「DVD」）、ＨＤ−ＤＶＤ、ＢＬＵ−ＲＡＹ、もしくは他の光記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、もしくは他の磁気記憶デバイス、または所望の情報を記憶するのに使用可能であり、コンピュータアーキテクチャ５００によってアクセスされ得る任意の他の媒体を含むが、これらに限定されない。特許請求の範囲を目的として、句「コンピュータ記憶媒体（computer storage medium）」およびその変形形態は、波動、信号、および／または他の一時的な、および／または無形の通信媒体それ自体を含まない。
【００５６】
[0062]  様々な実施形態によれば、コンピュータアーキテクチャ５００は、ネットワーク１０４を通じてリモートコンピュータに対する論理接続を使用するネットワーク化環境において動作することができる。コンピュータアーキテクチャ５００は、システムバス５１０に接続されたネットワークインターフェースユニット５１４を通じてネットワーク１０４に接続することができる。ネットワークインターフェースユニット５１４はまた、他のタイプのネットワークおよびリモートコンピュータシステム、例えば、データソース１１２に接続するのにも利用され得ることを認識すべきである。コンピュータアーキテクチャ５００はまた、キーボード、マウス、または電子スタイラス（図５には示されていない）を含んだいくつかの他のデバイスからの入力を受け取り、処理するための入力／出力コントローラ５１６を含むことができる。同様に、入力／出力コントローラ５１６は、ディスプレイ画面、プリンタ、または他のタイプの出力デバイス（やはり、図５には示されていない）に出力を提供することができる。
【００５７】
[0063]  本明細書に説明されるソフトウェアコンポーネントは、ＣＰＵ５０２にロードされ、実行されると、ＣＰＵ５０２およびコンピュータアーキテクチャ５００全体を汎用コンピューティングシステムから本明細書に提示される機能を容易にするようにカスタマイズされた専用コンピューティングシステムに変換することができることを認識すべきである。ＣＰＵ５０２は、任意の数のトランジスまたは他の個別の回路要素から構築可能であり、これらは、個々にまたはまとめて、任意の数の状態を取ることができる。より具体的には、ＣＰＵ５０２は、本明細書に開示されるソフトウェアモジュール内に含まれている実行可能命令に応答して、有限状態マシンとして動作することができる。これらのコンピュータ実行可能命令は、ＣＰＵ５０２がいかに状態間を遷移するのかを指定することによって、ＣＰＵ５０２を変換し、それによって、ＣＰＵ５０２を構成するトランジスタまたは他の個別のハードウェア要素を変換することができる。
【００５８】
[0064]  本明細書に提示されるソフトウェアモジュールを符号化することにより、本明細書に提示されるコンピュータ可読媒体の物理的構造を変換することもできる。物理的構造の具体的な変換は、本明細書の種々の実装形態における様々な因子によって決まる場合がある。そのような因子の例として、コンピュータ可読媒体が一次記憶装置として特徴付けられようと、または二次記憶装置として特徴付けられようと、コンピュータ可読媒体を実装するのに使用される技術などを含むことができるが、これらに限定されない。例えば、コンピュータ可読媒体が半導体ベースのメモリとして実装される場合、本明細書に開示されるソフトウェアは、半導体メモリの物理的状態を変換することによって、コンピュータ可読媒体において符号化され得る。例えば、ソフトウェアは、半導体メモリを構築するトランジスタ、コンデンサ、または他の個別の回路要素の状態を変換することができる。ソフトウェアはまた、そのようなコンポーネントの物理的状態を変換して、その上にデータを記憶することもできる。
【００５９】
[0065]  別の例として、本明細書に開示されるコンピュータ可読媒体は、磁気技術または光技術を使用して実装され得る。そのような実装形態においては、本明細書に提示されるソフトウェアは、磁気媒体または光媒体の物理的状態を変換することができ、このとき、ソフトウェアはその中で符号化される。これらの変換は、所与の磁気媒体内の特定の位置の磁気特性を変えることを含むことができる。これらの変換はまた、所与の光媒体内の特定の位置の物理的な特徴および特性を変えて、それらの位置の光特性を変更することを含む。本明細書の範囲および精神から逸脱することなく、物理媒体の他の変換が可能であり、前述の例は、この議論を容易にするためにのみ与えられているにすぎない。
【００６０】
[0066]  上記に照らして、本明細書に提示されるソフトウェアコンポーネントを記憶し、実行するために、多くのタイプの物理的変換が、コンピュータアーキテクチャ５００において行われることを認識すべきである。また、コンピュータアーキテクチャ５００が、ハンドヘルドコンピュータ、埋込み式コンピュータシステム、パーソナルデジタルアシスタント、および当業者に知られている他のタイプのコンピューティングシステムを含んだ、他のタイプのデバイス１０２を含むことができることも認識すべきである。また、コンピュータアーキテクチャ５００が、図５に示される構成要素のすべてを含まない場合も、図５に明示的に示されていない他の構成要素を含む場合も、または図５に示されるものとは完全に異なるアーキテクチャを利用する場合もあることが企図される。
【００６１】
[0067]  図６は、本明細書に提示される実施形態の態様を実装することができる分散型コンピューティング環境６００を例示するシステムおよびネットワーク図である。様々な実装形態によれば、分散型コンピューティング環境６００は、ネットワーク１０４において、ネットワーク１０４と通じて、またはネットワーク１０４の一部として動作するコンピューティング環境６０２を含む。ネットワーク１０４はまた、様々なアクセスネットワークを含むことが可能になる。１つまたは複数のクライアントデバイス６０６Ａ〜６０６Ｎが（本明細書において以降、まとめておよび／または総称的に「クライアント６０６」と呼ばれる）、ネットワーク１０４および／または他の接続部（図６には例示されていない）を介して、コンピューティング環境６０２と通信することができる。例示された実施形態においては、クライアント６０６は、ラップトップコンピュータ、デスクトップコンピュータ、もしくは他のコンピューティングデバイスなどのコンピューティングデバイス６０６Ａ、スレートもしくはタブレットコンピューティングデバイス（「タブレットコンピューティングデバイス」）６０６Ｂ、モバイル電話、スマートフォン、もしくは他のモバイルコンピューティングデバイスなどのモバイルコンピューティングデバイス６０６Ｃ、サーバコンピュータ６０６Ｄ、および／または他のデバイス６０６Ｎを含む。任意の数のクライアント６０６が、コンピューティング環境６０２と通信することが可能であることを理解すべきである。クライアント６０６の２つの例示のコンピューティングアーキテクチャが、図５および図７を参照して、本明細書に例示され、説明されている。例示されたクライアント６０６、および本明細書に例示され、説明されるコンピューティングアーキテクチャは、例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。
【００６２】
[0068]  例示された実施形態においては、コンピューティング環境６０２は、アプリケーションサーバ６０８、データソース１１２、および１つまたは複数のネットワークインターフェース６１２を含む。様々な実装形態によれば、アプリケーションサーバ６０８の機能は、ネットワーク１０４の一部として、またはネットワーク１０４と通じて実行している１つまたは複数のサーバコンピュータ６０６Ｄによって提供され得る。アプリケーションサーバ６０８は、様々なサービス、仮想マシン、ポータル、および／または他のリソースをホストすることができる。例示された実施形態においては、アプリケーションサーバ６０８は、アプリケーションまたは他の機能をホストするために１つまたは複数の仮想マシン６１４をホストする。様々な実装形態によれば、仮想マシン６１４は、ダイヤルベースのユーザインターフェースとの対話をサポートするために、本明細書に説明される機能を提供するための１つまたは複数のアプリケーションおよび／またはソフトウェアモジュールをホストする。この実施形態は、例示であり、いかなる形でも限定すると見なすべきではないことを理解すべきである。アプリケーションサーバ６０８はまた、１つまたは複数のＷｅｂポータル、リンクページ、Ｗｅｂサイト、および／または他の情報（「Webポータル」）６１６をホストし、またはこれらに対するアクセスも提供する。
【００６３】
[0069]  様々な実装形態によれば、アプリケーションサーバ６０８はまた、１つまたは複数のメールボックスサービス６１８、および１つまたは複数のメッセージングサービス６２０を含む。メールボックスサービス６１８は、電子メール（「Eメール」）サービスを含むことができる。メールボックスサービス６１８はまた、カレンダサービス、連絡先管理サービス、コラボレーションサービス、および／または他のサービスを含むが、これらに限定されない様々な個人情報管理（「PIM」）サービスを含むことが可能になる。メッセージングサービス６２０は、インスタントメッセージングサービス、チャットサービス、フォーラムサービス、および／または他の通信サービスを含むことができるが、これらに限定されない。
【００６４】
[0070]  図６に示されるように、アプリケーションサーバ６０８はまた、他のサービス、アプリケーション、ポータル、および／または他のリソース（「他のリソース」）６２４をホストすることができる。したがって、コンピューティング環境６０２が、様々なメールボックス、メッセージング、ソーシャルネットワーキング６２２、および／または他のサービスもしくはリソースとともに、自動スクロール領域との対話をサポートするために、本明細書に提供される概念および技術の統合を提供することができることは認識され得る。例えば、本明細書に開示される概念および技術は、ソーシャルネットワーキングサービス６２２、メールサービス、メッセージングサービス、および／または他のサービスもしくはアプリケーションと対話するための自動スクロール領域を提供することができる。
【００６５】
[0071]  上述のように、コンピューティング環境６０２は、データソース１１２を含むことができる。様々な実装形態によれば、データソース１１２の機能は、ネットワーク１０４において、もしくはネットワーク１０４と通じて動作する１つまたは複数のデータベースによって提供される。データソース１１２の機能はまた、コンピューティング環境６０２についてのデータをホストするように構成された１つまたは複数のサーバコンピュータによって提供可能になる。データソース１１２は、１つまたは複数の実データストアもしくは仮想データストア６２６Ａ〜６２６Ｎ（本明細書において以降、まとめておよび／または総称的に「データストア６２６」と呼ばれる）を含み、ホストし、または提供することが可能になる。データストア６２６は、アプリケーションサーバ６０８によって使用される、もしくは作成されるデータ、および／または他のデータをホストするように構成されている。図６には例示されていないが、データストア６２６はまた、必要に応じて、図１および図５に示されたデータ１１０もホストする、または記憶することができる。
【００６６】
[0072]  コンピューティング環境６０２は、ネットワークインターフェース６１２と通信することが可能であり、またはネットワークインターフェース６１２によってアクセス可能である。ネットワークインターフェース６１２は、クライアント６０６およびアプリケーションサーバ６０８を含むが、これらに限定されない２つ以上のコンピューティングデバイス間の通信をサポートするために、様々なタイプのネットワークハードウェアおよびソフトウェアを含むことが可能になる。ネットワークインターフェース６１２はまた、他のタイプのネットワークおよび／またはコンピュータシステムに接続するのに利用され得ることを認識すべきである。
【００６７】
[0073]  本明細書に説明される分散型コンピューティング環境６００が、本明細書に開示されるソフトウェアコンポーネントの任意の態様を実行するように構成され得る任意の数の仮想コンピューティングリソースおよび／または他の分散型コンピューティング機能を本明細書に説明されるソフトウェア要素の任意の態様に提供することができることを理解すべきである。本明細書に開示される概念および技術の様々な実装形態によれば、分散型コンピューティング環境６００は、クライアント６０６に対するサービスとして、本明細書に説明されるソフトウェア機能を提供する。クライアント６０６が、サーバコンピュータ、ウェブサーバ、パーソナルコンピュータ、モバイルコンピューティングデバイス、スマートフォン、および／または他のデバイスを含むが、これらに限定されない実マシンまたは仮想マシンを含むことができることを理解すべきである。したがって、本明細書に開示される概念および技術の様々な実施形態により、分散型コンピューティング環境６００にアクセスするように構成された任意のデバイスは、ダイヤルベースのユーザインターフェースに、本明細書に説明される機能を利用することが可能になる。
【００６８】
[0074]  図７は、本明細書に提示される実施形態の態様を実装することができるコンピューティングデバイスアーキテクチャ７００を例示するコンピュータアーキテクチャ図である。図７に例示されるコンピューティングデバイスアーキテクチャ７００は、プロセッサ７０２、メモリ構成要素７０４、ネットワーク接続性構成要素７０６、センサ構成要素７０８、入力／出力構成要素７１０、および電源構成要素７１２を含む。例示された実施形態においては、プロセッサ７０２は、メモリ構成要素７０４、ネットワーク接続性構成要素７０６、センサ構成要素７０８、入力／出力（「I/O」）構成要素７１０、および電源構成要素７１２と通じている。図７に例示されている個々の構成要素間には接続部が何も示されていないが、構成要素は、デバイス機能を遂行するために対話することができる。いくつかの実施形態においては、構成要素は、１つまたは複数のシステムバス（図示せず）を介して通信するように構成されている。
【００６９】
[0075]  プロセッサ７０２は、本明細書に説明される様々な機能を行うために、データ１１０を処理し、１つまたは複数のアプリケーションプログラム１０８のコンピュータ実行可能命令を実行し、コンピューティングデバイスアーキテクチャ７００の他の構成要素と通信するように構成されたＣＰＵ５０２を含む。プロセッサ７０２は、本明細書に提示されるソフトウェアコンポーネントの態様、具体的には、タッチ対応の入力を少なくとも一部は利用する態様を実行するのに利用され得る。
【００７０】
[0076]  いくつかの実施形態においては、プロセッサ７０２は、汎用の科学的および工学的なコンピューティングアプリケーション、ならびに高解像度ビデオ（例えば、720P、1080P以上）、ビデオゲーム、および三次元（「3D」）モデリングアプリケーションなどのグラフィックス集約的なコンピューティングアプリケーションを実行することによって行われる動作を含むが、これらに限定されないＣＰＵ５０２によって行われる動作を加速させるように構成されたグラフィックス処理装置（「GPU」、図示せず）を含む。いくつかの実施形態においては、プロセッサ７０２は、個別のＧＰＵと通信するように構成されている。いずれの事例においても、ＣＰＵ５０２およびＧＰＵは、共処理ＣＰＵ／ＧＰＵコンピューティングモデルにより構成され得、ここで、アプリケーションの逐次部分は、ＣＰＵ５０２において実行し、コンピュータ計算上集約的な部分は、ＧＰＵによって加速される。
【００７１】
[0077]  いくつかの実施形態においては、プロセッサ７０２は、本明細書に後述される他の構成要素のうちの１つまたは複数を一緒に伴うシステムオンチップ（「SoC」）であり、またはシステムオンチップ（「SoC」）に含まれる。例えば、ＳｏＣは、プロセッサ７０２と、ＧＰＵと、ネットワーク接続性構成要素７０６のうちの１つまたは複数と、センサ構成要素７０８のうちの１つまたは複数とを含むことができる。いくつかの実施形態においては、プロセッサ７０２は、パッケージオンパッケージ（「PoP」）集積回路パッケージング技術を一部は利用して製作される。その上、プロセッサ７０２は、単一コアまたはマルチコアのプロセッサとすることができる。
【００７２】
[0078]  プロセッサ７０２は、英国ＣａｍｂｒｉｄｇｅのＡＲＭ  ＨＯＬＤＩＮＧＳからの使用許諾について入手可能なＡＲＭアーキテクチャにより作製され得る。代替としては、プロセッサ７０２は、カリフォルニア州Ｍｏｕｎｔａｉｎ  ＶｉｅｗのＩＮＴＥＬ  ＣＯＲＰＯＲＡＴＩＯＮ（登録商標）などから入手可能なｘ８６アーキテクチャにより作製され得る。いくつかの実施形態においては、プロセッサ７０２は、カリフォルニア州Ｓａｎ  ＤｉｅｇｏのＱＵＡＬＣＯＭＭ（登録商標）から入手可能なＳＮＡＰＤＲＡＧＯＮ（登録商標）ＳｏＣ、カリフォルニア州Ｓａｎｔａ  ＣｌａｒａのＮＶＩＤＩＡ（登録商標）から入手可能なＴＥＧＲＡ（登録商標）ＳｏＣ、韓国ＳｅｏｕｌのＳＡＭＳＵＮＧ（登録商標）から入手可能なＨＵＭＭＩＮＧＢＩＲＤ（登録商標）ＳｏＣ、テキサス州ＤａｌｌａｓのＴＥＸＡＳ  ＩＮＳＴＲＵＭＥＮＴＳ（登録商標）から入手可能なＯｐｅｎ  Ｍｕｌｔｉｍｅｄｉａ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｌａｔｆｏｒｍ（「OMAP（商標）」ＳｏＣ、上述のＳｏＣのうちのいずれかのカスタマイズされたバージョン、または専有ＳｏＣである。
【００７３】
[0079]  メモリ構成要素７０４は、ＲＡＭ５０６、ＲＯＭ５０８、集積記憶メモリ（「集積記憶装置」）７１８、および取外し可能記憶メモリ（「取外し可能記憶装置」）７２０を含む。いくつかの実施形態においては、ＲＡＭ５０６もしくはその一部分、ＲＯＭ５０８もしくはその一部分、および／またはＲＡＭ５０６とＲＯＭ５０８との何らかの組合せが、プロセッサ７０２に集積化される。いくつかの実施形態においては、ＲＯＭ５０８は、ファームウェア、オペレーティングシステムもしくはその一部分（例えば、オペレーティングシステムカーネル）を記憶し、および／または集積記憶装置７１８もしくは取外し可能記憶装置７２０からオペレーティングシステムカーネルをロードするブートローダを記憶するように構成されている。
【００７４】
[0080]  集積記憶装置７１８は、固体メモリ、ハードディスク、または固体メモリとハードディスクとの組合せを含むことができる。集積記憶装置７１８は、プロセッサ７０２および本明細書に説明される他の構成要素も接続され得るロジックボードにはんだ付け、または別の形で接続され得る。したがって、集積記憶装置７１８は、コンピューティングデバイスに集積化される。集積記憶装置７１８は、オペレーティングシステムまたはその一部分、アプリケーションプログラム、データ、および本明細書に説明される他のソフトウェアコンポーネントを記憶するように構成されている。
【００７５】
[0081]  取外し可能記憶装置７２０は、固体メモリ、ハードディスク、または固体メモリとハードディスクとの組合せを含むことができる。いくつかの実施形態においては、取外し可能記憶装置７２０は、集積記憶装置７１８の代わりに設けられる。他の実施形態においては、取外し可能記憶装置７２０は、追加の任意選択の記憶装置として設けられる。いくつかの実施形態においては、取外し可能記憶装置７２０は、全利用可能な記憶装置が、利用可能にされ、集積記憶装置７１８と取外し可能記憶装置７２０との全組合せ容量としてユーザに示されるように、集積記憶装置７１８と論理的に組み合わせられる。
【００７６】
[0082]  取外し可能記憶装置７２０は、取外し可能記憶メモリスロット（図示せず）または他の機構に挿入されて、取外し可能記憶装置７２０が、挿入され固定されることによって、プロセッサ７０２など、コンピューティングデバイスの他の構成要素とそれを介して通信することができる接続を容易にするように構成されている。取外し可能記憶装置７２０は、ＰＣカード、ＣｏｍｐａｃｔＦｌａｓｈカード、メモリスティック、セキュアデジタル（「SD」）、ミニＳＤ、マイクロＳＤ、ユニバーサル集積回路カード（「UICC」）（例えば、加入者識別モジュール（「SIM」）またはユニバーサルＳＩＭ（「USIM」））、または専有フォーマットなどを含むが、これらに限定されない様々なメモリカードフォーマットで具現化され得る。
【００７７】
[0083]  メモリ構成要素７０４のうちの１つまたは複数は、オペレーティングシステムを記憶することが可能であることは理解され得る。様々な実施形態によれば、オペレーティングシステムは、ＳＹＭＢＩＡＮ  ＬＩＭＩＴＥＤからのＳＹＭＢＩＡＮ  ＯＳ、ワシントン州ＲｅｄｍｏｎｄのＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎからのＷＩＮＤＯＷＳ  ＭＯＢＩＬＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎからのＷＩＮＤＯＷＳ  ＰＨＯＮＥ  ＯＳ、Ｍｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎからのＷＩＮＤＯＷＳ、カリフォルニア州Ｐａｌｏ  ＡｌｔｏのＨｅｗｌｅｔｔ−Ｐａｃｋａｒｄ  ＣｏｍｐａｎｙからのＰＡＬＭ  ＷＥＢＯＳ、加国オンタリオ州ＷａｔｅｒｌｏｏのＲｅｓｅａｒｃｈ  Ｉｎ  Ｍｏｔｉｏｎ  ＬｉｍｉｔｅｄからのＢＬＡＣＫＢＥＲＲＹ  ＯＳ、カリフォルニア州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．からのＩＯＳ、およびカリフォルニア州Ｍｏｕｎｔａｉｎ  ＶｉｅｗのＧｏｏｇｌｅ  Ｉｎｃ．からのＡＮＤＲＯＩＤ  ＯＳを含むが、これらに限定されない。他のオペレーティングシステムが企図される。
【００７８】
[0084]  ネットワーク接続性構成要素７０６は、ワイヤレス広域ネットワーク構成要素（「WWAN構成要素」）７２２、ワイヤレスローカルエリアネットワーク構成要素（「WLAN構成要素」）７２４、およびワイヤレスパーソナルエリアネットワーク構成要素（「WPAN構成要素」）７２７を含む。ネットワーク接続性構成要素７０６は、ネットワーク１０４との間の通信を容易にし、このネットワーク１０４は、ＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮとすることができる。単一のネットワーク１０４が例示されているが、ネットワーク接続性構成要素７０６は、多ネットワークとの同時通信を容易にすることができる。例えば、ネットワーク接続性構成要素７０６は、ＷＷＡＮ、ＷＬＡＮ、またはＷＰＡＮのうちの１つまたは複数を介して多ネットワークとの同時通信を容易にすることができる。
【００７９】
[0085]  ネットワーク１０４は、１つまたは複数のモバイル通信技術を利用して声音および／またはデータサービスを、ＷＷＡＮ構成要素７２２を介してコンピューティングデバイスアーキテクチャ７００を利用するコンピューティングデバイスに提供するモバイル通信ネットワークなどのＷＷＡＮ７２２とすることができる。モバイル通信技術は、グローバルシステムフォーモバイルコミュニケーションズ（Global System for Mobile communications:「GSM」）、符号分割多元接続（Code Division Multiple Access:「CDMA」）ＯＮＥ、ＣＤＭＡ２０００、ユニバーサルモバイルテレコミュニケーションズシステム（Universal Mobile Telecommunications System:「UMTS」）、ロングタームエボリューション（Long Term Evolution:「LTE」）、およびワールドワイドインターオペラビリティフォーマイクロウェーブアクセス（Worldwide Interoperability for Microwave Access:「WiMAX」）を含むことができるが、これらに限定されない。その上、ネットワーク１０４は、時分割多元接続（Time Division Multiple Access:「TDMA」）、周波数分割多元接続（Frequency Division Multiple Access:「FDMA」）、ＣＤＭＡ、広帯域ＣＤＭＡ（wideband CDMA:「W-CDMA」）、直交周波数分割多重（Orthogonal Frequency Division Multiplexing:「OFDM」）、および空間分割多元接続（Space Division Multiple Access:「SDMA」）などを含むが、これらに限定されない様々なチャネルアクセス方法（前述の標準によって使用される場合もあれば、使用されない場合もある）を利用することができる。データ通信は、汎用パケット無線サービス（General Packet Radio Service:「GPRS」）、エンハンストデータレートフォーグローバルエボリューション（Enhanced Data rates for Global Evolution:「EDGE」）、高速ダウンリンクパケットアクセス（High-Speed Downlink Packet Access:「HSDPA」）を含む高速パケットアクセス（High-Speed Packet Access:「HSPA」）プロトコルファミリー、高速アップリンクパケットアクセス（High-Speed Uplink Packet Access:「HSUPA」）とも呼ばれるエンハンストアップリンク（Enhanced Uplink:「EUL」）、進化型ＨＳＰＡ（Evolved HSPA:「HSPA+」）、ＬＴＥ、および様々な他の現在および今後のワイヤレスデータアクセス標準を使用して提供可能である。ネットワーク１０４は、声音および／またはデータ通信に上記技術の任意の組合せを提供するように構成可能である。ネットワーク１０４は、次世代技術による声音および／またはデータ通信を提供するように構成可能あるいは適合可能である。
【００８０】
[0086]  いくつかの実施形態においては、ＷＷＡＮ構成要素７２２は、ネットワーク１０４にデュアルマルチモード接続性を提供するように構成されている。例えば、ＷＷＡＮ構成要素７２２は、ネットワーク１０４に対する接続性を提供するように構成可能であり、ここで、ネットワーク１０４は、ＧＳＭおよびＵＭＴＳ技術を介して、または技術の何らかの他の組合せを介してサービスを提供する。代替としては、多ＷＷＡＮ構成要素７２２は、そのような機能を行うために、および／または他の互換性のない（すなわち、単一のＷＷＡＮ構成要素によってサポートできない）技術をサポートする追加の機能を提供するために利用され得る。ＷＷＡＮ構成要素７２２は、多ネットワーク（例えば、ＵＭＴＳネットワークおよびＬＴＥネットワーク）に対する類似の接続性を容易にすることができる。
【００８１】
[0087]  ネットワーク１０４は、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、および／または今後の８０２．１１標準など（本明細書においては、まとめてＷＩ−ＦＩと呼ばれる）、１つまたは複数の電気電子技術者協会（Institute of Electrical and Electronic Engineers:「IEEE」）８０２．１１標準により動作するＷＬＡＮとすることができる。草案８０２．１１標準もまた、企図される。いくつかの実施形態においては、ＷＬＡＮは、１つまたは複数のワイヤレスＷＩ−ＦＩアクセスポイントを利用して実装される。いくつかの実施形態においては、ワイヤレスＷＩ−ＦＩアクセスポイントのうちの１つまたは複数は、ＷＩ−ＦＩホットスポットとして機能するＷＷＡＮに対する接続性を備える別のコンピューティングデバイスである。ＷＬＡＮ構成要素７２４は、ＷＩ−ＦＩアクセスポイントを介してネットワーク１０４に接続するように構成されている。そのような接続は、ＷＩ−ＦＩプロテクテッド・アクセス（WI-FI Protected Access:「WPA」）、ＷＰＡ２、およびワイヤード同等のプライバシー（Wired Equivalent Privacy:「WEP」）などを含むが、これらに限定されない様々な暗号化技術により保護され得る。
【００８２】
[0088]  ネットワーク１０４は、赤外線通信協会（Infrared Data Association:「IrDA」）、ＢＬＵＥＴＯＯＴＨ、ワイヤレスのユニバーサルシリアルバス（Universal Serial Bus:「USB」）、Ｚ−Ｗａｖｅ、ＺＩＧＢＥＥ、または何らかの他の近距離ワイヤレス技術により動作するＷＰＡＮとすることができる。いくつかの実施形態においては、ＷＰＡＮ構成要素７２６は、ＷＰＡＮを介する周辺機器、コンピュータ、または他のコンピューティングデバイスなど、他のデバイスとの通信を容易にするように構成されている。
【００８３】
[0089]  センサ構成要素７０８は、磁力計７２８、周囲光センサ７３０、近接センサ７３２、加速度計７３４、ジャイロスコープ７３６、およびグローバルポジショニングシステムセンサ（Global Positioning System sensor:「GPSセンサ」）７３８を含む。温度センサ、または衝撃検出センサなど、しかし、これらに限定されない他のセンサもまた、コンピューティングデバイスアーキテクチャ７００に組み込まれてもよいことが企図される。
【００８４】
[0090]  磁力計７２８は、磁界の強度および方向を測定するように構成されている。いくつかの実施形態においては、磁力計７２８は、基本方向、北、南、東、および西を含む基準枠における正確な方向をユーザに提供するために、メモリ構成要素７０４のうちの１つの中に記憶されているコンパスアプリケーションプログラムに測定値を提供する。類似の測定値が、コンパス構成要素を含むナビゲーションアプリケーションプログラムに提供され得る。磁力計７２８によって取得される測定値の他の使用法が企図される。
【００８５】
[0091]  周囲光センサ７３０は、周囲光を測定するように構成されている。いくつかの実施形態においては、周囲光センサ７３０は、ディスプレイの輝度を自動的に調整して（後述される）低光量および高光量の環境を補償するために、メモリ構成要素７０４のうちの１つの中に記憶されているアプリケーションプログラムに測定値を提供する。周囲光センサ７３０によって取得される測定値の他の使用法が企図される。
【００８６】
[0092]  近接センサ７３２は、直接、接触することなく、コンピューティングデバイスに近接するオブジェクトまたはものの存在を検出するように構成されている。いくつかの実施形態においては、近接センサ７３２は、ユーザの身体（例えば、ユーザの顔）の存在を検出し、近接情報を利用してコンピューティングデバイスの何らかの機能を有効または無効にするメモリ構成要素７０４のうちの１つの中に記憶されているアプリケーションプログラムにこの情報を提供する。例えば、電話アプリケーションプログラムは、ユーザの顔が不注意にも通話を終わらせないように、近接情報の受領に応答して、タッチ画面を自動的に無効にし（後述される）、または通話中、電話アプリケーションプログラム内の他の機能を有効／無効にすることができる。近接センサ７３２によって検出される近接度の他の使用法が企図される。
【００８７】
[0093]  加速度計７３４は、適正な加速度を測定するように構成されている。いくつかの実施形態においては、加速度計７３４からの出力は、アプリケーションプログラムの何らかの機能を制御する入力機構としてアプリケーションプログラムによって使用される。例えば、アプリケーションプログラムは、加速度計７３４を介して受け取った入力に応答して、キャラクタ、その一部分、またはオブジェクトが移動する、または別の形で操作されるビデオゲームとすることができる。いくつかの実施形態においては、加速度計７３４からの出力は、横長モードと縦長モードとの間の切替え、座標加速度の計算、または落下の検出の際に使用するためのアプリケーションプログラムに提供される。加速度計７３４の他の使用法が企図される。
【００８８】
[0094]  ジャイロスコープ７３６は、向きを測定し維持するように構成されている。いくつかの実施形態においては、ジャイロスコープ７３６からの出力は、アプリケーションプログラムの何らかの機能を制御する入力機構としてアプリケーションプログラムによって使用される。例えば、ジャイロスコープ７３６は、ビデオゲームアプリケーションまたは何らかの他のアプリケーションの３Ｄ環境内の正確な移動認識に使用され得る。いくつかの実施形態においては、アプリケーションプログラムは、ジャイロスコープ７３６および加速度計７３４からの出力を利用して、アプリケーションプログラムの何らかの機能の制御を強化する。ジャイロスコープ７３６の他の使用法が企図される。
【００８９】
[0095]  ＧＰＳセンサ７３８は、位置を計算する際に使用するためのＧＰＳ衛星からの信号を受け取るように構成されている。ＧＰＳセンサ７３８によって計算される位置は、位置情報を必要とする、または位置情報から便益を得る任意のアプリケーションプログラムによって使用され得る。例えば、ＧＰＳセンサ７３８によって計算される位置は、その位置から目的地までの道順、またはその目的地からその位置までの道順を提供するナビゲーションアプリケーションプログラムとともに使用され得る。その上、ＧＰＳセンサ７３８は、Ｅ９１１サービスなど、外部位置ベースのサービスに位置情報を提供するのに使用され得る。ＧＰＳセンサ７３８は、ネットワーク接続性構成要素７０６のうちの１つまたは複数を利用して位置決定を取得する際にＧＰＳセンサ７３８に役立つＷＩ−ＦＩ、ＷＩＭＡＸ、および／またはセルラ三角測量技法を介して生成された位置情報を取得することができる。ＧＰＳセンサ７３８はまた、アシスト型ＧＰＳ（Assisted GPS:「A-GPS」）システムにおいても使用され得る。
【００９０】
[0096]  Ｉ／Ｏ構成要素７１０は、ディスプレイ７４０、タッチ画面７４２、データＩ／Ｏインターフェース構成要素（「データI/O」）７４４、オーディオＩ／Ｏインターフェース構成要素（「オーディオI/O」）７４６、ビデオＩ／Ｏインターフェース構成要素（「ビデオI/O」）７４８、およびカメラ７５０を含む。いくつかの実施形態においては、ディスプレイ７４０およびタッチ画面７４２は、組み合わせられる。いくつかの実施形態においては、データＩ／Ｏ構成要素７４４、オーディオＩ／Ｏ構成要素７４６、およびビデオＩ／Ｏ構成要素７４８のうちの２つ以上が、組み合わせられる。Ｉ／Ｏ構成要素７１０は、後述される様々なインターフェースをサポートするように構成された個別のプロセッサを含むことができ、またはプロセッサ７０２に内蔵されている処理機能を含むことができる。
【００９１】
[0097]  ディスプレイ７４０は、視覚形態で、情報を提示するように構成された出力デバイスである。具体的にはディスプレイ７４０は、グラフィカルユーザインターフェース（graphical user interface:「GUI」）要素、テキスト、画像、ビデオ、通知、仮想ボタン、仮想キーボード、メッセージングデータ、Ｉｎｔｅｒｎｅｔコンテンツ、デバイスステータス、時刻、日付、カレンダデータ、嗜好、地図情報、位置情報、および視覚形態で提示できる任意の他の情報を提示することができる。いくつかの実施形態においては、ディスプレイ７４０は、任意の能動または受動マトリックス技術および任意の背面照明技術（使用される場合）を利用する液晶ディスプレイ（liquid crystal display:「LCD」）である。いくつかの実施形態においては、ディスプレイ７４０は、有機発光ダイオード（organic light emitting diode:「OLED」）ディスプレイである。他のディスプレイタイプが企図される。
【００９２】
[0098]  タッチ画面７４２は、タッチの存在および位置を検出するように構成された入力デバイスである。タッチ画面７４２は、抵抗性タッチ画面、容量性タッチ画面、表面音響波タッチ画面、赤外線タッチ画面、光学イメージングタッチ画面、分散信号タッチ画面、音響パルス認識タッチ画面とすることができ、または任意の他のタッチ画面技術を利用することができる。いくつかの実施形態においては、タッチ画面７４２は、ユーザが、１つまたは複数のタッチを使用して、ディスプレイ７４０上に提示されるオブジェクトまたは他の情報と対話できるようにするために、透明層としてディスプレイ７４０の上面に組み込まれている。他の実施形態においては、タッチ画面７４２は、ディスプレイ７４０を含まないコンピューティングデバイスの表面において組み込まれているタッチパッドである。例えば、コンピューティングデバイスは、ディスプレイ７４０の上面において組み込まれているタッチ画面と、ディスプレイ７４０の対向する表面において組み込まれているタッチパッドとを有することができる。
【００９３】
[0099]  いくつかの実施形態においては、タッチ画面７４２は、単一タッチのタッチ画面である。他の実施形態においては、タッチ画面７４２は、多タッチのタッチ画面である。いくつかの実施形態においては、タッチ画面７４２は、個別のタッチ、単一タッチのジェスチャ、および／または多タッチのジェスチャを検出するように構成されている。これらは、本明細書においては便宜上、まとめてジェスチャと呼ばれる。次に、いくつかのジェスチャについて説明される。これらのジェスチャは、例示であり、添付の特許請求の範囲を限定するように意図するものではないことを理解すべきである。その上、説明されルジェスチャ、追加のジェスチャ、および／または代替のジェスチャは、タッチ画面７４２とともに使用するためのソフトウェアに実装され得る。したがって、開発者は、特定のアプリケーションプログラムに特有であるジェスチャを創出することができる。
【００９４】
[0100]  いくつかの実施形態においては、タッチ画面７４２は、ユーザが、ディスプレイ７４０上に提示される項目上のタッチ画面７４２を１回、タップするというタップジェスチャをサポートする。タップジェスチャは、ユーザがタップするあらゆるものを開くこと、または立ち上げることを含むが、これらに限定されない様々な理由から利用され得る。いくつかの実施形態においては、タッチ画面７４２は、ユーザが、ディスプレイ７４０上に提示される項目上のタッチ画面７４２を２回タップするというダブルタップジェスチャをサポートする。ダブルタップジェスチャは、段階的にズームインすること、またはズームアウトすることを含むが、これらに限定されない様々な理由から使用され得る。いくつかの実施形態においては、タッチ画面７４２は、ユーザがタッチ画面７４２をタップし、少なくとも所定の時間、接触を維持するというタップアンドホールドジェスチャをサポートする。タップアンドホールドジェスチャは、文脈に特有のメニューを開くことを含むが、これに限定されない様々な理由から使用され得る。
【００９５】
[00101]  いくつかの実施形態においては、タッチ画面７４２は、ユーザが、タッチ画面７４２上に指を置き、タッチ画面７４２との接触を維持しながら、タッチ画面７４２上のその指を移動させるというパンジェスチャをサポートする。パンジェスチャは、制御された速度で、画面、画像、またはメニュー中を移動すること含むが、これに限定されない様々な理由から使用され得る。多指のパンジェスチャもまた、企図される。いくつかの実施形態においては、タッチ画面７４２は、ユーザが、画面を移動したい方向に指をスワイプするというフリックジェスチャをサポートする。フリックジェスチャは、メニューまたはページ中を水平にまたは垂直にスクロールすることを含むが、これに限定されない様々な理由から使用され得る。いくつかの実施形態においては、タッチ画面７４２は、ユーザが、タッチ画面７４２上の２本の指（例えば、親指と人さし指）により挟む動きをする、または２本の指を離すように移動させるというピンチアンドストレッチジェスチャをサポートする。ピンチアンドストレッチジェスチャは、ウェブサイト、地図、もしくは写真を徐々にズームインまたはズームアウトすることを含むが、これらに限定されない様々な理由から使用され得る。
【００９６】
[00102]  上記ジェスチャは、ジェスチャを行うための１本または複数本の指の使用に関して説明されているが、足指などの他の付属肢、またはスタイラスなどのオブジェクトが、タッチ画面７４２と対話するのに使用され得る。したがって、上記ジェスチャは、例示であると理解すべきであり、いかなる形でも限定すると見なすべきではない。加えて、図１〜図４を参照して上述されたジェスチャもまた、タッチ画面７４２によってサポートされ得ることに留意すべきである。
【００９７】
[00103]  データＩ／Ｏインターフェース構成要素７４４は、コンピューティングデバイスとの間のデータの入出力を容易にするように構成されている。いくつかの実施形態においては、データＩ／Ｏインターフェース構成要素７４４は、例えば、同期動作を目的として、コンピューティングデバイスとコンピュータシステムとの間のワイヤード接続性を提供するように構成されたコネクタを含む。コネクタは、専有コネクタであっても、またはＵＳＢ、マイクロＵＳＢ、もしくはミニＵＳＢなどの標準化コネクタであってもよい。いくつかの実施形態においては、コネクタは、コンピューティングデバイスを、ドッキングステーション、オーディオデバイス（例えば、デジタルミュージックプレーヤ）、またはビデオデバイスなど、別のデバイスとドッキングするためのドックコネクタである。
【００９８】
[00104]  オーディオＩ／Ｏインターフェース構成要素７４６は、コンピューティングデバイスに対してオーディオ入力および／または出力機能を提供するように構成されている。いくつかの実施形態においては、オーディオＩ／Ｏインターフェース構成要素７４６は、オーディオ信号を収集するように構成されたマイクロフォンを含む。いくつかの実施形態においては、オーディオＩ／Ｏインターフェース構成要素７４６は、ヘッドフォンまたは他の外部スピーカに対する接続性を提供するように構成されたヘッドフォンジャックを含む。いくつかの実施形態においては、オーディオインターフェース構成要素７４６は、オーディオ信号の出力のためのスピーカを含む。いくつかの実施形態においては、オーディオＩ／Ｏインターフェース構成要素７４６は、光オーディオケーブルアウトを含む。
【００９９】
[00105]  ビデオＩ／Ｏインターフェース構成要素７４８は、コンピューティングデバイスにビデオ入力および／または出力機能を提供するように構成されている。いくつかの実施形態においては、ビデオＩ／Ｏインターフェース構成要素７４８は、別のデバイス（例えば、ＤＶＤもしくはＢＬＵＲＡＹプレーヤなどのビデオメディアプレーヤ）から入力としてビデオを受け取り、または別のデバイス（例えば、モニタ、テレビジョン、もしくは何らかの他の外部ディスプレイ）への出力としてビデオを送るように構成されたビデオコネクタを含む。いくつかの実施形態においては、ビデオＩ／Ｏインターフェース構成要素７４８は、ビデオコンテンツを入力／出力する高精細度マルチメディアインターフェース（High-Definition Multimedia Interface:「HDMI」）、ミニＨＤＭＩ、マイクロＨＤＭＩ、ディスプレイポート（DisplayPort）、または専有コネクタを含む。いくつかの実施形態においては、ビデオＩ／Ｏインターフェース構成要素７４８またはその一部分は、オーディオＩ／Ｏインターフェース構成要素７４６またはその一部分と組み合わせられる。
【０１００】
[00106]  カメラ７５０は、静止画像および／またはビデオを捕捉するように構成され得る。カメラ７５０は、電荷結合素子（charge coupled device:「CCD」）または相補型金属酸化膜半導体（complementary metal oxide semiconductor:「CMOS」）画像センサを利用して、画像を捕捉することができる。いくつかの実施形態においては、カメラ７５０は、低光量環境で、写真を撮影する際に役立つフラッシュを含む。カメラ７５０の設定は、ハードウェアボタンまたはソフトウェアボタンとして実装され得る。
【０１０１】
[00107]  例示されていないが、１つまたは複数のハードウェアボタンはまた、コンピューティングデバイスアーキテクチャ７００に含まれてもよい。ハードウェアボタンは、コンピューティングデバイスの何らかの動作上の態様を制御するのに使用され得る。ハードウェアボタンは、専用のボタンまたは多目的ボタンであってよい。ハードウェアボタンは、機械式またはセンサ式であってよい。
【０１０２】
[00108]  例示された電源構成要素７１２は、１つまたは複数のバッテリ７５２を含み、このバッテリ７５２は、バッテリゲージ７５４に接続され得る。バッテリ７５２は、再充電可能、または使い捨て可能であってよい。再充電可能バッテリタイプは、リチウムポリマ、リチウムイオン、ニッケルカドミウム、およびニッケル水素を含むが、これらに限定されない。バッテリ７５２はそれぞれ、１つまたは複数のセルから作られていてよい。
【０１０３】
[00109]  バッテリゲージ７５４は、電流、電圧、および温度など、バッテリパラメータを測定するように構成され得る。いくつかの実施形態においては、バッテリゲージ７５４は、バッテリの充電速度、温度、年数および他の因子の影響を測定して、ある一定の誤り率の範囲内で残存寿命を予測するように構成されている。いくつかの実施形態においては、バッテリゲージ７５４は、測定値を利用して有用な電源管理データをユーザに提示するように構成されているアプリケーションプログラムに測定値を提供する。電源管理データは、バッテリ使用済み率、バッテリ残存率、バッテリ状態、残存時間、残存容量（例えば、ワット時単位で）、電流引込み、および電圧のうちの１つまたは複数を含むことができる。
【０１０４】
[00110]  電源構成要素７１２はまた、電源コネクタも含むことができ、この電源コネクタは、前述のＩ／Ｏ構成要素７１０のうちの１つまたは複数と組合せ可能である。電源構成要素７１２は、電源Ｉ／Ｏ構成要素（図示せず）を介して、外部電源システムまたは充電機器とインターフェースを取ることができる。
【０１０５】
[00111]  前述に基づいて、自動スクロール領域を提供するための技術が、本明細書に開示されていることを認識すべきである。本明細書に提示される主題は、コンピュータ構造上の特徴、方法論的および変形的な行為、具体的なコンピューティング機械類、ならびにコンピュータ可読媒体に特有な文言で説明されているが、添付の特許請求の範囲に定義される本発明は、必ずしも、本明細書に説明される具体的な特徴、行為、または媒体に限定されないことを理解されたい。そうではなく、具体的な特徴、行為、および媒体は、特許請求の範囲を実装する例示的な形態として開示される。
【０１０６】
[00112]  上述の主題は、例示としてのみ提供されているにすぎず、限定すると見なすべきではない。例示され説明される例示的な実施形態および適用例に従うことなく、かつ添付の特許請求の範囲に示されている本発明の精神および範囲から逸脱することなく、本明細書に説明される主題に対して様々な修正および変更を行うことができる。
【図１】
0006359673.tif 000002
【図２Ａ】
0006359673.tif 000003
【図２Ｂ】
0006359673.tif 000004
【図２Ｃ】
0006359673.tif 000005
【図２Ｄ】
0006359673.tif 000006
【図３Ａ】
0006359673.tif 000007
【図３Ｂ】
0006359673.tif 000008
【図３Ｃ】
0006359673.tif 000009
【図３Ｄ】
0006359673.tif 000010
【図４】
0006359673.tif 000011
【図５】
0006359673.tif 000012
【図６】
0006359673.tif 000013
【図７】
0006359673.tif 000014