(57)【特許請求の範囲】
【請求項１】
ユーザ入力に応答してコンピューティングデバイスのディスプレイ内でコンテンツ終端境界を有するコンテンツの移動をアニメーション化するための方法であって、
前記コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信するステップと、
前記ディスプレイ内で前記コンテンツのスクロールアニメーションを開始するステップと、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定するステップと、
前記コンテンツ移動の前記決定された最終位置がコンテンツ終端境界の表示を前記ディスプレイの縁部から第1しきい値距離を超えるかどうかを判定するステップと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えないと判定することに応じて、前記コンテンツ終端境界の現在の側にある前記コンテンツの要素を前記ディスプレイにスナップするステップと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応じて、前記コンテンツをラップするために前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップするステップと
を含み、前記コンテンツ終端境界の前記反対側にある前記コンテンツの前記要素を前記ディスプレイにスナップするステップが、表示要素をストレッチして前記コンテンツのラッピングの視覚的指示を提供するステップを含む、方法。
【請求項２】
前記コンテンツ移動の前記最終位置により前記コンテンツの前記コンテンツ終端境界が前記ディスプレイの前記縁部の第2のしきい値の距離内に入ることになるかどうかを判定するステップと、
前記コンテンツ終端境界に到達しようとしていることを示すように前記コンテンツ移動表示の前記アニメーションを変更するステップと
をさらに含む、
請求項1に記載の方法。
【請求項３】
前記コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信するステップは、タッチスクリーンディスプレイ上のユーザの指のドラッグに応答して入力を受信するステップを含み、前記方法は、前記ユーザの指が前記タッチスクリーンディスプレイにもはや接触していないかどうかを判定するステップをさらに含み、前記コンテンツの前記要素を前記ディスプレイにスナップするステップは、前記ユーザが前記ユーザ入力をやめることに応答して起こる、
請求項1に記載の方法。
【請求項４】
タッチスクリーンディスプレイからのフリックジェスチャ入力に基づいて、前記ディスプレイ内で前記コンテンツの慣性スクロールのアニメーションを開始するステップをさらに含み、
前記コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信するステップは、前記タッチスクリーンディスプレイ上の前記フリックジェスチャ入力を受信するステップを含み、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定するステップは、前記慣性スクロールのアニメーションが完了すると判定することに応答して、到達する前記コンテンツ移動の前記最終位置を決定するステップを含む、
請求項1に記載の方法。
【請求項５】
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応答して、前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップする前に、前記コンテンツ終端境界が前記ディスプレイの前記縁部に接近するにつれて、前記慣性スクロールのアニメーションを加速するステップをさらに含む、
請求項4に記載の方法。
【請求項６】
ディスプレイと、
ユーザインターフェースと、
前記ディスプレイおよび前記ユーザインターフェースに結合されたプロセッサとを備え、前記プロセッサが、
前記ユーザインターフェースからコンテンツ表示移動のユーザ入力を受信することと、
前記ユーザインターフェースから前記コンテンツ表示移動のユーザ入力に基づいて、コンテンツ終端境界を有する前記コンテンツの表示上でスクロールアニメーションを開始することと、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定することと、
前記コンテンツ移動の前記決定された最終位置がコンテンツ終端境界の表示を前記ディスプレイの縁部から第1しきい値距離を超えるかどうかを判定することと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えないと判定することに応じて、前記コンテンツ終端境界の現在の側にある前記コンテンツの要素を前記ディスプレイにスナップすることと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応じて、前記コンテンツをラップするために前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップすることと
を含む動作を実行するためのプロセッサ実行可能命令で構成され、前記コンテンツ終端境界の反対側にある前記コンテンツの前記要素を前記ディスプレイにスナップすることが、表示要素をストレッチして前記コンテンツのラッピングの視覚的指示を提供することを含む、
コンピューティングデバイス。
【請求項７】
前記プロセッサは、
前記コンテンツ移動の前記最終位置により前記コンテンツの前記コンテンツ終端境界が前記ディスプレイの前記縁部の第2のしきい値の距離内に入ることになるかどうかを判定することと、
前記コンテンツ終端境界に到達しようとしていることを示すように前記コンテンツ移動表示の前記スクロールアニメーションを変更することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成される、
請求項6に記載のコンピューティングデバイス。
【請求項８】
前記ディスプレイと前記ユーザインターフェースがタッチスクリーンディスプレイであり、前記プロセッサは、
前記ユーザインターフェースからコンテンツ表示移動のユーザ入力を受信することが、前記タッチスクリーンディスプレイ上のユーザの指のドラッグに応答して入力を受信することを含み、
前記コンテンツの前記要素を前記ディスプレイにスナップすることが、前記ユーザが前記ユーザ入力をやめることに応答して起こる
ような動作を実行するためのプロセッサ実行可能命令でさらに構成され、
前記プロセッサが、前記ユーザの指が前記タッチスクリーンディスプレイにもはや接触していないかどうかを判定することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、
請求項6に記載のコンピューティングデバイス。
【請求項９】
前記ディスプレイと前記ユーザインターフェースがタッチスクリーンディスプレイであり、前記プロセッサが、タッチスクリーンディスプレイからのフリックジェスチャ入力に基づいて、前記ディスプレイ内で前記コンテンツの慣性スクロールのアニメーションを開始することを含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記ユーザインターフェースからコンテンツ表示移動のユーザ入力を受信することが、前記タッチスクリーンディスプレイ上のフリックジェスチャ入力を受信することを含み、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定することが、前記慣性スクロールのアニメーションが完了していると判定することに応答して、到達する前記コンテンツ移動の前記最終位置を決定することを含む、
請求項6に記載のコンピューティングデバイス。
【請求項１０】
前記プロセッサが、前記コンテンツ移動の前記決定された最終位置が前記タッチスクリーンディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応答して、前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップする前に、前記コンテンツ終端境界が前記タッチスクリーンディスプレイの前記縁部に接近するにつれて前記慣性スクロールのアニメーションを加速することをさらに含む動作を実行するためのプロセッサ実行可能命令で構成される、
請求項9に記載のコンピューティングデバイス。
【請求項１１】
ディスプレイと、
コンテンツ表示移動のユーザ入力を受信するための手段と、
前記コンテンツ表示移動のユーザ入力に基づいて、コンテンツ終端境界を有する前記コンテンツの表示上でスクロールアニメーションを開始するための手段と、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定するための手段と、
前記コンテンツ移動の前記決定された最終位置がコンテンツ終端境界の表示を前記ディスプレイの縁部から第1しきい値距離を超えるかどうかを判定するための手段と、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えないと判定することに応じて、前記コンテンツ終端境界の現在の側にある前記コンテンツの要素を前記ディスプレイにスナップするための手段と、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応じて、前記コンテンツをラップするために前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップするための手段と
を含み、前記コンテンツ終端境界の前記反対側にある前記コンテンツの前記要素を前記ディスプレイにスナップするための前記手段が、表示要素をストレッチして前記コンテンツのラッピングの視覚的指示を提供するための手段を含む、
コンピューティングデバイス。
【請求項１２】
前記コンテンツ移動の前記最終位置により前記コンテンツの前記コンテンツ終端境界が前記ディスプレイの前記縁部の第2のしきい値の距離内に入ることになるかどうかを判定するための手段と、
前記コンテンツの境界に到達しようとしていることを示すように前記コンテンツ移動表示の前記スクロールアニメーションを変更するための手段と
をさらに含む、
請求項11に記載のコンピューティングデバイス。
【請求項１３】
前記ディスプレイとコンテンツ表示移動のユーザ入力を受信するための手段とがタッチスクリーンディスプレイを含み、前記コンピューティングデバイスが、ユーザの指が前記タッチスクリーンディスプレイにもはや接触していないときを判定するための手段をさらに含み、
前記コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信するための手段が、前記タッチスクリーンディスプレイ上のユーザの指のドラッグに応答して入力を受信するための手段を含み、
前記コンテンツ終端境界の現在の側にある前記コンテンツの要素を前記ディスプレイにスナップするための手段と、前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップするための手段とが、前記ユーザが前記ユーザ入力をやめることに応答して前記コンテンツの前記要素を前記ディスプレイにスナップするための手段を含む、
請求項11に記載のコンピューティングデバイス。
【請求項１４】
タッチスクリーンディスプレイからのフリックジェスチャ入力に基づいて、前記ディスプレイ内で前記コンテンツの慣性スクロールのアニメーションを開始するための手段をさらに含み、
前記コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信するための手段が、前記タッチスクリーンディスプレイ上で前記フリックジェスチャ入力を受信するための手段を含み、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定するための手段が、前記慣性スクロールのアニメーションが完了すると判定することに応答して、到達する前記コンテンツ移動の前記最終位置を決定するための手段を含む、
請求項11に記載のコンピューティングデバイス。
【請求項１５】
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応答して、前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップする前に、前記コンテンツ終端境界が前記ディスプレイの前記縁部に接近するにつれて前記慣性スクロールのアニメーションを加速するための手段をさらに含む、
請求項14に記載のコンピューティングデバイス。
【請求項１６】
コンテンツ表示移動のユーザ入力を受信することと、
コンテンツ終端境界を有するコンテンツのスクロールアニメーションをディスプレイ内で開始することと、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定することと、
前記コンテンツ移動の前記決定された最終位置がコンテンツ終端境界の表示を前記ディスプレイの縁部から第1しきい値距離を超えるかどうかを判定することと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えないと判定することに応じて、前記コンテンツ終端境界の現在の側にある前記コンテンツの要素を前記ディスプレイにスナップすることと、
前記コンテンツ移動の前記決定された最終位置が前記ディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応じて、前記コンテンツをラップするために前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記ディスプレイにスナップすることと
を含む動作を、コンピュータプロセッサに実行させるように構成されたプロセッサ実行可能命令を記憶している、非一時的コンピュータ可読記憶媒体であって、前記コンテンツ終端境界の反対側にある前記コンテンツの前記要素を前記ディスプレイにスナップすることが、表示要素をストレッチして前記コンテンツのラッピングの視覚的指示を提供することを含む、
非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記記憶されたプロセッサ実行可能命令が、
前記コンテンツ移動の前記最終位置により前記コンテンツの前記コンテンツ終端境界が前記ディスプレイの前記縁部の第2のしきい値の距離内に入ることになるかどうかを判定することと、
前記コンテンツ終端境界に到達しようとしていることを示すように前記コンテンツ移動表示の前記スクロールアニメーションを変更することと
をさらに含む動作をコンピュータプロセッサに実行させるように構成される、
請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記記憶されたプロセッサ実行可能命令が、
コンテンツ表示移動のユーザ入力を受信することが、タッチスクリーンディスプレイ上のユーザの指のドラッグに応答して入力を受信することを含み、
前記コンテンツの前記要素を前記ディスプレイにスナップすることが、前記ユーザが前記ユーザ入力をやめることに応答して起こる
ような動作をコンピュータプロセッサに実行させるように構成され、
前記記憶されたプロセッサ実行可能命令が、前記ユーザの指が前記タッチスクリーンディスプレイにもはや接触していないかどうかを判定することをさらに含む動作を、コンピュータプロセッサに実行させるように構成される、
請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記記憶されたプロセッサ実行可能命令が、
タッチスクリーンディスプレイからのフリックジェスチャ入力に応答して前記タッチスクリーンディスプレイ内で前記コンテンツの慣性スクロールのアニメーションを開始することをさらに含む動作を、コンピュータプロセッサに実行させるように構成され、
前記記憶されたプロセッサ実行可能命令が、
コンテンツ表示移動のユーザ入力を受信することが、前記タッチスクリーンディスプレイ上の前記フリックジェスチャ入力を受信することを含み、
前記ユーザ入力に基づいてコンテンツ移動の最終位置を決定することが、前記慣性スクロールのアニメーションが完了すると判定することに応答して、到達する前記コンテンツ移動の前記最終位置を決定することを含む
ような動作を、コンピュータプロセッサに実行させるように構成される、
請求項16に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記記憶されたプロセッサ実行可能命令が、
前記コンテンツ移動の前記決定された最終位置が前記タッチスクリーンディスプレイの前記縁部から前記第1しきい値距離を超えると判定することに応答して、前記コンテンツ終端境界の反対側にある前記コンテンツの要素を前記タッチスクリーンディスプレイにスナップする前に、前記コンテンツ終端境界が前記タッチスクリーンディスプレイの前記縁部に接近するにつれて、前記慣性スクロールのアニメーションを加速すること
をさらに含む動作を、コンピュータプロセッサに実行させるように構成される、
請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、コンピューティングデバイスのユーザインターフェースに関し、より詳細には、グラフィカルユーザインターフェース内でリストを提示するための方法およびシステムに関する。
【背景技術】
【０００２】
携帯式および移動式のコンピューティングデバイスは、情報を探知し表示するための現代社会のユビキタスツールになっている。スマートフォン、iPod、コンピュータおよび他の電子デバイス上でユーザがやりとりする表示部の大部分は、何がしかのリストである。音楽のリスト、連絡先、ドキュメント、メディアファイル、設定、アプリケーションのメニュー、電子メールの受信箱、電子ブックなどは、しばしば開始と終了を有するリストとして編成され提示された、垂直方向または水平方向のスクロールビューにすべて良く適合する。多くのユーザインターフェース(UI)は、リストビューの縁部を扱う方法を実装する。ドキュメントをストレッチ(stretch)することによって厳密な境界のケースに対処する方法の例は、ブランクスペースで「縁部を超えたこと」を示す。大部分のユーザインターフェースでは、他方の端部に到達するにはユーザがリストをスクロールバックする必要がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様は、リストの終端境界を通り抜けて効率的なナビゲーションを可能にするユーザ入力に対する、直観的なレスポンスを提供する、コンピューティングデバイス上で実行されるユーザインターフェースの方法を含む。様々な態様により、どのようにリストを横断するかによらず、ユーザが、リストの始端から終端まで、または終端から始端まで、移動することを可能としている。これはラッピングと呼ばれる。具体的には、様々な態様は、コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信すること、ユーザ入力に基づいてコンテンツ移動の最終位置を決定すること、コンテンツ移動の決定された最終位置がディスプレイの縁部から第1しきい値距離を超えるかどうかを判定すること、コンテンツ移動の決定された最終位置がディスプレイの縁部から第1しきい値距離を超えない場合、コンテンツの境界の現在の側にあるコンテンツの要素をディスプレイにスナップすること、および、コンテンツ移動の決定された最終位置がディスプレイの縁部から第1しきい値距離を超える場合、コンテンツの境界の反対側にあるコンテンツの要素をディスプレイにスナップすることを含む、グラフィカルユーザインターフェース上にリストを提示するための方法を含む。
【０００４】
様々な態様はまた、コンテンツ移動の最終位置によりコンテンツの境界がディスプレイの縁部の第2のしきい値の距離内に入ることになるかどうかを判定すること、コンテンツの境界に到達しようとしていることを示すようにコンテンツ移動表示のアニメーションを変更すること、ユーザの指がタッチスクリーンディスプレイにもはや接触していないときを判定すること、慣性スクロールのアニメーションを開始すること、および、コンテンツ動きの決定された最終位置がディスプレイの縁部から第1しきい値距離を超える場合、コンテンツの境界の反対側にあるコンテンツの要素をディスプレイにスナップする前に、コンテンツの境界がディスプレイの縁部に近づくにつれて慣性スクロールのアニメーションを加速させることを含むことができる。コンピューティングデバイス内でコンテンツ表示移動のユーザ入力を受信することは、タッチスクリーンディスプレイ上のユーザの指のドラッグに応答して入力を受信すること、および/または、タッチスクリーンディスプレイ上のフリックジェスチャ入力を受信することを含むことができる。コンテンツの要素をディスプレイにスナップすることは、ユーザがユーザ入力をやめることに応答して起こる場合があり、コンテンツの境界の反対側にあるコンテンツの要素をディスプレイにスナップすることは、コンテンツの決定された最終位置がディスプレイの縁部から第1しきい値距離を超えるときに起こる場合がある。コンテンツ移動のスクロールアニメーションの最終位置を決定することは、慣性スクロールが完了するときに到達するコンテンツ移動の最終位置を決定することを含むことができる。
【０００５】
さらなる態様は、プロセッサに結合されたメモリおよびディスプレイを含むコンピューティングデバイスを含み、その中でプロセッサは、上記に記載された方法の動作を実行するためのプロセッサ実行可能命令で構成される。さらなる態様は、上記に記載された方法の動作を実行するための手段を含むコンピューティングデバイスを含む。さらなる態様は、上記に記載された方法の動作をコンピューティングデバイスのプロセッサに実行させるように構成された、プロセッサ実行可能命令を記憶している、非一時的プロセッサ可読記憶媒体を含む。
【０００６】
本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の発明を実施するための形態とともに、図面は本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００７】
【図１Ａ】グラフィカルユーザインターフェースとのユーザ対話から生じるディスプレイを示すコンピューティングデバイスの前面図である。
【図１Ｂ】グラフィカルユーザインターフェースとのユーザ対話から生じる別のディスプレイを示すコンピューティングデバイスの前面図である。
【図１Ｃ】グラフィカルユーザインターフェースとのユーザ対話から生じるさらに別のディスプレイを示すコンピューティングデバイスの前面図である。
【図１Ｄ】グラフィカルユーザインターフェースとのユーザ対話から生じるさらに別のディスプレイを示すコンピューティングデバイスの前面図である。
【図２】様々な態様によるユーザのスクロール入力コマンドに応答してグラフィカルユーザインターフェース上にリストを提示するための方法のプロセスフロー図である。
【図３】様々な態様によるユーザのスクロール入力コマンドに応答してグラフィカルユーザインターフェース上にリストを提示するための別の方法のプロセスフロー図である。
【図４】様々な態様によるユーザのスクロール入力コマンドに応答してグラフィカルユーザインターフェース上にリストを提示するための別の方法のプロセスフロー図である。
【図５】様々な態様による慣性スクロール(「フリック」)のユーザ入力に応答してグラフィカルユーザインターフェース上のリストスクロールをアニメーション化するための方法のプロセスフロー図である。
【図６】様々な態様による慣性スクロールのユーザ入力に応答してグラフィカルユーザインターフェース上のリストスクロールをアニメーション化するための別の方法のプロセスフロー図である。
【図７】様々な態様の方法の不注意による起動を排除するための方法のフロー図の一部分である。
【図８】様々な実施形態とともに使用するのに適した、例示的なモバイルコンピューティングデバイスのコンポーネントブロック図である。
【図９】様々な実施形態とともに使用するのに適した、例示的なパーソナルコンピュータのコンポーネントブロック図である。
【発明を実施するための形態】
【０００８】
様々な態様が、添付の図面を参照して詳細に記載される。可能な場合はいつでも、同じまたは同様の部分を指すために、図面全体にわたって同じ参照番号が使用される。具体的な例および実装形態への言及は説明を目的とし、本発明の範囲または本特許請求の範囲を限定するものではない。
【０００９】
「例示的な」という単語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において使用される。本明細書に「例示的」と記載されるいかなる実装形態も、必ずしも他の実装形態よりも好ましいかまたは有利であると解釈されるべきではない。
【００１０】
本明細書で使用される「コンピューティングデバイス」および「モバイルコンピューティングデバイス」という用語は、携帯電話、パーソナルテレビジョン受信機、携帯情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機兼携帯電話受信機(たとえば、Blackberry(登録商標)およびTreo(登録商標)のデバイス)、マルチメディアインターネット対応携帯電話(たとえば、Blackberry Storm(登録商標))、ならびに、プログラム可能なプロセッサ、メモリ、およびディスプレイを含む同様の電子デバイスのうちのいずれか1つまたはすべてを指す。
【００１１】
パーソナルコンピューティングデバイス上で実行する多くの最近のアプリケーションは、ディスプレイ画面上に提示された閲覧可能な部分を超えるリストまたはページの形態で表示されるドキュメントの提示を伴う。例としては、電子メールアプリケーション内の電子メールのリスト、個人用電話帳アプリケーション内の連絡先リスト、カレンダーアプリケーション内のイベントのリスト、電子ブック、ならびに文書処理およびドキュメントビューアアプリケーション内の長いテキスト文書が含まれる。大部分のグラフィカルユーザインターフェースは、ディスプレイの境界を超えている部分を見るために、ユーザがそのようなドキュメントをスクロールすることを可能にする。これまでのグラフィカルユーザインターフェースは、終端または始端のいずれであれ、ドキュメントまたはファイルの端部に到達するまで、そのようなスクロールを可能としていた。その時に、ユーザがドキュメントの他の部分を見るためにはスクロールバックしなければならない。たとえば、ユーザがそのコンテンツの終端に近いリストを見ていて、リストの始端に近い項目を見たい場合、グラフィカルユーザインターフェースは、リストがラップする(すなわち、最後の項目から最初の項目に、かつ反対に移動する)ことができれば今表示されている項目が所望のリスト項目に近いにもかかわらず、リストをスクロールバックすることをユーザに要求する。ユーザは、(アルファベット順または番号順ではない場合がある)リストがいつ(スクロールの方向に応じて)終端または始端を過ぎてスクロールされ、他方の端部(すなわち、始端または終端)にラップされたか認識できないので、グラフィカルユーザインターフェース内のリストのラッピングは、ユーザを困惑させる可能性がある。
【００１２】
様々な態様は、グラフィカルユーザインターフェース内のドキュメントの始端と終端の両方でディスプレイウィンドウ内のコンテンツの移動をアニメーション化するための方法を提供する。本態様の方法は、リストのラップが起ころうとしていることを示す遷移を提供しながら、ユーザがドキュメントまたはリストの境界の両側の項目間を素早く行き来することを可能にする。参照しやすいように、ディスプレイウィンドウ内のコンテンツの移動をそのようにアニメーション化することは、本明細書でスクロールまたはスクロールアニメーションと呼ばれるが、本特許請求の範囲はスクロール動作に限定されず、スライディング、(電子ブックのページにおけるような)フリッピング、フェーディングなどの他のタイプの移動のアニメーションを包含する。本態様の方法は、ユーザがスクロールコマンドを終了したときに、移動(たとえば、スクロール)の性質における目に見える変化を、かつディスプレイウィンドウの縁部(たとえば、上部、下部または側部)にドキュメント境界の「スナップ(snap)」を提供するように、コンテンツの移動のアニメーションを調整することをさらに含んでもよい。本態様は、リストの縁部を示し、リストラッピングがリストの終端または始端に素早くジャンプすることを可能にし、ユーザがアクティブな遷移を終了するときにリストが行うことを示す、簡潔な機構を提供する。この方式では、ユーザは、いつリストの境界に到達するかを認識することができ、リストラップがいつ実行されようとしているかを示す直観的なフィードバックを提供され得る。単にスクロールし続けるよりむしろ、視覚的指示の後に、適切なディスプレイ縁部にリストの始端または終端をスナップされ得る。
【００１３】
概して、様々な態様の方法およびデバイスは、速度、スクロール対ドラッグ比または方向の変更などの、リストの境界にあるかまたはそれに到達しようとしている、グラフィカルユーザインターフェース内の直観的な視覚的指示を提供する。本態様は、十分なユーザ入力が適用されるとき、リストの他方の端部に(すなわち、スクロールアップの場合始端から終端に、またはスクロールダウンの場合終端から始端に)スナップするように見せる方式により、グラフィカルユーザインターフェース上にリストを提示するための機構をさらに提供する。そのようなさらなるユーザ入力には、たとえば、リストの終端が示された後の(たとえば、タッチスクリーン上で指をドラッグすること、またはコンピュータマウスを介してクリックアンドドラッグ入力を行うことによる)ユーザ入力機構を介したユーザによる連続スクロールコマンドが含まれ得る。表示されたリストの終端または始端へのスナップはまた、さもなければ慣性スクロールがリストの境界(たとえば、リストの終端または始端)を超えてしきい値の「距離」だけリストをスクロールする、フリックジェスチャによって開始された慣性リストスクロールに応答して実装され得る。
【００１４】
様々な態様は、タッチスクリーンインターフェースを有するコンピューティングデバイスに特に適用可能であり、ドラッグおよびフリックのタッチスクリーンジェスチャに関連付けられたアニメーションに関する。しかしながら、本態様および本特許請求の範囲は、本特許請求の範囲内で特に列挙されない限り、それらのタイプのユーザインターフェースに限定されない。たとえば、本態様は、Apple iPodのロータリタッチセンサおよびラップトップコンピュータのタッチパッドなどの他のタイプのタッチインターフェースに実装され得る。さらに、本態様はまた、コンピュータマウスまたはトラックボールなどの他のタイプのポインティングデバイスで構成されたコンピューティングデバイスに実装され得る。このように、様々な態様はタッチスクリーンインターフェースの例を参照して説明されるが、本特許請求の範囲内で特に列挙されない限り、本特許請求の範囲はタッチスクリーンインターフェースのアニメーションに限定されるべきでない。また、フィードバック機構を示す様々なリストが使用され得るので、特に列挙されない限り、本特許請求の範囲は特定のアニメーション機能に限定されるべきでない。しかしながら、本発明がどのように実装され得るかの例を提供するために、以下の図は2つの実施形態を示す。
【００１５】
一態様では、リストの境界に到達し、表示されたコンテンツがコンテンツの終端または始端のいずれかにスナップされようとしているか、またはスナップされているとき、この状態は、シェーディング、触覚フィードバック(たとえば、デバイスバイブレーション)、スクロール速度の遷移、ドラッグ単位のスクロール量の減少、および/またはリストスクロールの方向の変化などの様々な方法で指示され得る。スクロールアニメーションの中の、リストの終端または始端などのリストの境界の接近のような指示は、ドキュメントもしくはリストの可視部分(すなわち、ディスプレイウィンドウに現れたそれらの部分)、または、ドキュメントもしくはリストの残りの部分もしくは断片に基づいて、アニメーション効果を定義するアルゴリズムを介して達成され得る。そのようなアルゴリズムは、ドキュメントをディスプレイに「スナップ」する方向(すなわち、逆方向スクロールにおける始端から終端、または順方向スクロールにおける終端から始端)を決定することもできる。いくつかの態様では、リストの境界の接近および目下のリストのラッピングおよびスナッピングのためのこの視覚的指示は、ドキュメントの縁部に近づくかまたは到達するときの抵抗型スクロールアニメーションを含むことができる。そのような抵抗型スクロールアニメーションでは、タッチスクリーンディスプレイ上の指のドラッグ(または他のユーザ入力)によって物理的に接触されたピクセルの数は、通常のスクロールアニメーションでそれらを通してリストがスクロールされるピクセルの数よりも大きい。このアニメーション効果は、リストのドラッグまたは抵抗型スクロールをエミュレートする。画面のストレッチすなわち表示されたリスト項目間の間隔の増大などの、他の同様の効果は、同じくまたは代替的に実装され得る。
【００１６】
一態様では、方法およびコンピューティングデバイスは、指またはドキュメントと画面または閲覧可能なコンテンツ領域の縁部との間の距離にリストの境界が到達すると、ディスプレイ内のリストのスナッピングが開始されるように構成され得る。この態様では、コンテンツは、ドキュメントの対応する縁部(たとえば、ドキュメントの終端または始端)を、画面または閲覧可能なコンテンツ領域の縁部(たとえば、ディスプレイの上縁部または下縁部)と位置合せするようにスナップされ得る。
【００１７】
さらなる態様では、方法およびコンピューティングデバイスは、タッチスクリーンディスプレイ上でユーザの指がしきい値の距離を移動するまでアニメーションを実装しないことにより、不注意による起動を回避するように構成され得る。しきい値の距離に達するまで、コンテンツは静止したままである。しきい値の指のドラッグの距離(または、他のユーザ入力のしきい値)に達すると、コンテンツは算出した「ライブスクロール」オフセットにジャンプし、そこから様々な態様のスクロールアニメーションを続ける。
【００１８】
参照しやすいように、始端と終端を有するリストの形態のファイルの表示に関して様々な態様が記載される。しかしながら、本態様はリストに限定されず、(たとえば、スクロールまたはフリックのコマンドにより)ユーザがディスプレイ画面に対してコンテンツを移動することを可能にする、任意のドキュメント表示アプリケーション、および通常のスクロールがそれを超えて続かない境界を有するファイルに概ね適用可能である。たとえば、本態様は水平方向のリストまたはファイルの構造に適用され得るし、その一例は電子ブックである。電子ブックは、通常、チャプタに構成され得る複数のページ画像またはサブファイルを含むファイルとして構成される。電子ブックアプリケーションは、ユーザ入力(たとえば、「ページ」を変えるためにタッチスクリーンディスプレイにわたって指をドラッグすること)に応答して水平方向にページを通すスクロールを可能にする。電子ブックファイルのスクロールは、単一ページの上部から下部への垂直方向、ならびにページからページへの水平方向に可能であり得る。それにより、電子ブック内のファイル境界は、各ページの上部および下部、ならびにブック自体の内部の各チャプタの最初のページおよび最後のページで遭遇され得る。したがって、リストに対する参照、ならびにリストの終端および始端は、通常のスクロール機能がそれを超えることを抑止または禁止された、コンテンツの境界を有する任意のタイプのスクロール可能電子ドキュメントを包含するものと理解されるべきである。
【００１９】
一態様による機能の一例が図1Aから図1Dで示され、それらはアルファベット順に編成された連絡先リストの形態のスクロール可能リストの一例を示す。図1Aを参照すると、そのようなアプリケーションが、いくつかのリスト項目104の形態で、モバイルコンピューティングデバイス100のディスプレイ102に提示され得る。この例では、リスト項目は、ディスプレイ102の上部で最初の項目110から始まるアルファベット順に編成され、表示領域内に適合するだけの数のリスト項目104を含んでいる。表示領域102を超えるリストの部分を見るために、ユーザがリストをスクロールしたい方向にタッチスクリーンディスプレイ102上で指106をドラッグすることなどにより、ユーザはリストをスクロールすることができる。このリストのスクロールは、リストの終端に到達するまで続けることができる。このことは、表示領域102の下部に見えるリスト100内の最後の項目108を示す図1Bに示される。この時点で、従来のユーザインターフェースは、リスト内の最初の項目110に戻るためには、下方向に指106をドラッグすることなどにより、ユーザがスクロールの方向を反転させることを要求する。
【００２０】
様々な態様は、ユーザがリストをぐるりとラップすることによって、1つの終端から別の終端にリストをすばやくナビゲートすることを可能にし、その結果、ユーザはリストの始端または終端に素早くアクセスすることができる。ユーザ入力が、(スクロール入力コマンド方向に応じて)リストの終端または始端にリストを到達させると、リストの他方の終端(すなわち、始端または終端)は、リストが図1Cに示されたようにラップしようとしていることを示すために表示させることができる。下記でより詳細に記載されるように、ディスプレイは、スクロールレートを遅くすること、または、タッチスクリーンディスプレイ上の連続するユーザの指のドラッグに対するスクロールの反応性を減少させることなどにより、リストの終端が接近していることの直観的な指示を提供することができる。たとえば、図1Cは、タッチスクリーンディスプレイ上のユーザの指106の連続するドラッグが、より遅く(すなわち、指のドラッグによって覆われたすべてのピクセルを通過するより少ないピクセル)移動しており、最後のリスト項目108と最初のリスト項目110との間にギャップ112を形成するリストをもたらす一態様を示す。そのような視覚的指示は、グラフィカルユーザインターフェースがリストを始端まで(またはスクロール方向に応じて反対に)ぐるりとラップしようとしていることを、ユーザに警告する。リストのスナップを完了するために、ユーザはタッチスクリーンディスプレイ102から指106をはずすことができ、それに応じて、図1Dに示されたように、コンピューティングデバイス100のグラフィカルユーザインターフェースがディスプレイをリストの始端にスナップさせ、リスト110内の最初の項目をディスプレイ102の上部に配置する。この機能により、ユーザがリストの終端からリストの始端に素早く移動することが可能になる。ユーザが他の方向に(すなわち、リストの始端からリストの終端に)スクロールすることを望む場合、ユーザは、(たとえば、図示されたディスプレイ内の下方向に指106をドラッグすることによって)タッチスクリーンディスプレイ102上の指のドラッグの方向を反転するだけでよい。
【００２１】
図1A〜図1Dは、比較的遅いスクロールを成し遂げるための指のドラッグ入力を示しているが、タッチスクリーンディスプレイ上で実行される「フリック」ジェスチャに応答して開始され得るような、素早いまたは慣性のスクロールにおいて同様の方法が実装され得る。この態様では、フリックタイプの動作におけるタッチスクリーンディスプレイ102上のユーザの指106の素早い動きは、フリックジェスチャの速度によって決定された距離の間リストを素早くスクロールする慣性スクロールを開始する。様々な態様では、慣性スクロールの予測される終端(すなわち、スクロールアニメーションが止まるポイント)が、リストの境界(すなわち、リストの終端または始端)を超える場合、グラフィカルユーザインターフェースは、リストの境界のまわりのリストを他方の終端までラップすること、およびディスプレイ102上の適当な場所に新しい終端をスナップすることをアニメーション化し得る。このアニメーションは、リストの終端または始端が接近しているときに加速し、その後にディスプレイの対応する縁部(たとえば、上部または下部)にリストの終端または始端をスナップすることが続くことなどの、リストの境界が接近していることの指示を含むことができる。
【００２２】
ユーザのスクロールコマンド(たとえば、タッチスクリーンディスプレイ上のドラッグ入力)に応答して一態様を実装するための例示的な方法200が図2に示される。この方法200は、適切なプロセッサ実行可能命令でプロセッサを構成することによって、コンピューティングデバイスのプロセッサまたはディスプレイプロセッサ内に実装され得る。方法200において、ブロック202では、コンピューティングデバイスのプロセッサが、グラフィカルユーザインターフェースからユーザのスクロールコマンド入力を受信することができる。たとえば、この入力は、ユーザが指で表面に接触し、それを直線的に移動することに応答して、タッチスクリーンディスプレイから受信され得る。他のタイプのユーザ入力デバイスを備えたコンピューティングデバイスでは、そのようなスクロールコマンドのユーザ入力は、タッチパッド、トラックボール、コンピュータマウスまたは他の適切なユーザ入力デバイスから受信され得る。判定ブロック204では、プロセッサは、リストの境界がディスプレイの縁部のしきい値の距離内にあるかどうかを判定することができる。この判定は、受信されたユーザ入力およびディスプレイに対するリストの現在位置に基づくことができる。リストの境界がディスプレイの境界のしきい値の距離内にない場合(すなわち、判定ブロック204=「No」)、プロセッサはブロック206で通常のやり方でリストのスクロール動作をアニメーション化し続けることができる。この処理は、ユーザ入力がリストの境界をディスプレイのしきい値の距離内に入らせるとき(すなわち、判定ブロック204=「Yes」)まで、プロセッサがブロック202でのさらなるユーザ入力の受信に戻ることを続けることができる。この状態が発生すると、判定ブロック208で、プロセッサは、リストの境界に到達した(すなわち、リストの境界がディスプレイウィンドウ内に見える)かどうかを、さらに判定することができる。リストの境界に到達していない場合(すなわち、判定ブロック208=「No」)、ブロック210で、プロセッサは、リストの境界に到達しようとしていることを示すようにスクロールアニメーションを調整することができる。そのようなスクロールアニメーションに対する調整には、スクロールレートを遅くすること、リストをシェーディングすること、動きに抵抗するように見えるように、もしくはより大きいユーザ入力を要求して同じ量のスクロールの動きを実現するようにユーザ入力に対するスクロールの動きの比率を変更すること、ディスプレイを振ること、または他の視覚的効果が含まれ得る。一態様では、ユーザに差し迫っているリストの境界を知らせるために、他の触覚フィードバック機構が、同じくまたは代替的に実装され得る。次いで、プロセッサはブロック202に戻ってさらなるユーザ入力を受信する。
【００２３】
リストの境界に到達し、リストの始端または終端がディスプレイウィンドウの上部または下部に現れると(すなわち、判定ブロック208=「Yes」)、ブロック212で、プロセッサは、さらなるユーザのスクロールコマンドの入力に応答して、リストの境界の反対側にあるコンテンツの一部分を表示することができる。たとえば、図1Cに示されたように、リストの終端が提示された後ユーザがスクロールし続けると、ブロック212でリストの始端の一部分がディスプレイ上に提示され得る。判定ブロック214では、デバイスプロセッサは、タッチスクリーンディスプレイまたはマウスボタンから指を持ち上げることなどにより、ユーザがスクロールコマンドを中断したかどうかを、グラフィカルユーザインターフェースから判定することができる。ユーザがスクロールコマンドを中断しなかった場合(すなわち、判定ブロック214=「No」)、プロセッサは、ブロック202に戻ることによって、ユーザ入力をさらに受信し続けることができる。タッチスクリーンディスプレイから指を持ち上げることなどによりユーザがスクロール入力を終了すると(すなわち、判定ブロック214=「Yes」)、ブロック216で、プロセッサは、リストを他方の端部(すなわち、スクロールの方向および遭遇した境界に応じて始端または終端)までラップし、必要に応じてリストをディスプレイにスナップすることができる。たとえば、リストをスナップすることにより、スクロールの移動の方向に応じて、最初のリスト項目はディスプレイウィンドウの上部に位置し、または最後のリスト項目はディスプレイウィンドウの下部に位置する。その後、プロセッサは、ブロック202に戻ることによって、さらなるユーザ入力を待つことができる。
【００２４】
別の態様の方法300が図3に示される。この方法300は、同様の番号が振られたブロックについて、図2に関して上記に記載されたように実装された同様の動作を含む。ブロック202でユーザ入力を受信してスクロール動作を開始することに応答して、判定ブロック308で、プロセッサは、指令されたスクロールによってリストの境界に到達したかどうかを判定することができる。この方法300において、判定ブロック308は、図2に関して上記に記載されたブロック204とブロック208での判定動作を合体および結合させる。スクロール入力コマンドによりリストの境界に到達しなかった場合(すなわち、判定ブロック308=「No」)、ブロック206で、プロセッサは、通常のやり方でスクロール表示をアニメーション化し続けることができる。一方、スクロール動作によりリストの境界に到達した場合(すなわち、判定ブロック308=「Yes」)、ブロック310で、プロセッサは、抵抗をアニメーション化するためにスクロール距離の指のドラッグ距離に対する比率を1より小さく設定することなどにより、スクロールアニメーションに変化を実装して、リストの境界に到達したことを示すことができる。ブロック312では、プロセッサは、(たとえば、図1Cに示された)抵抗型スクロールから生じた、リストの境界の反対側にあるコンテンツの一部分を表示することができる。判定ブロック214では、プロセッサは、ユーザがタッチスクリーンディスプレイから指を離したかどうかを判定することなどにより、スクロール入力が終了したかどうかを判定することができる。ユーザのスクロール入力が続く限り(すなわち、判定ブロック214=「No」)、プロセッサはブロック202に戻ってさらなるユーザ入力を受信し続けることができる。スクロール入力のコマンドが停止したことをプロセッサが判定すると(すなわち、判定ブロック214=「Yes」)、プロセッサは、スクロール入力によりリストの終端がディスプレイウィンドウの縁部に対してしきい値の距離を超えてスクロールしたかどうかを判定することができる。このしきい値の距離は、ディスプレイのパーセンテージのある小数部分、またはディスプレイの上部もしくは下部の境界からの距離であり得る。リストの終端がそのしきい値の距離を超えてスクロールされていないとプロセッサが判定した場合(すなわち、判定ブロック314=「No」)、ブロック316で、プロセッサは、現在のリストの境界(始端または終端)がディスプレイウィンドウの適切な上部または下部に現れるように、リストをスナップすることができる。一方、リストの終端がそのしきい値の距離を超えてスクロールされた場合(すなわち、判定ブロック314=「Yes」)、ブロック318で、プロセッサは、リストをラップし、スクロールコマンドの方向に応じて、リストの適切な始端または終端を対応するディスプレイの縁部(上部または下部)にスナップすることができる。リストがディスプレイ内の適切な終端または始端にスナップされた後、プロセッサはブロック202に戻ってさらなるユーザ入力を受信することができる。
【００２５】
別の態様の方法400が図4に示される。この態様の方法では、リストのラッピングおよび次の境界(すなわち、終端または始端が適切)のディスプレイウィンドウへのスナッピングは、ユーザがスクロール入力を行い続けている間でも発生する可能性がある。したがって、ブロック312で、連続するスクロール入力から生じたリストの境界の他方の終端にあるコンテンツを表示しながら、判定ブロック402で、プロセッサはリストの終端がしきい値の距離を超えてスクロールされたかどうかを判定することができる。そうでない場合(すなわち、判定ブロック402=「No」)、プロセッサは、ブロック202に戻ってさらなるユーザ入力を受信することができる。しかしながら、ユーザ入力によりリストがしきい値の距離を超えてスクロールされたとプロセッサが判定すると(すなわち、判定ブロック402=「Yes」)、ブロック404で、プロセッサは、リストをラップし、始端または終端をディスプレイの適切な上部または下部にスナップすることができる。ユーザスクロール入力はこの方法で続いているので、プロセッサはブロック202に戻ってさらなるユーザ入力を受信することができ、これはスナップ動作が完了した後さらなるスクロールにつながる可能性がある。この方法400は、(たとえば、タッチスクリーンディスプレイから指を持ち上げて)ユーザがスクロール入力を停止したことに応答してリストの急速な配置も実装するために、ブロック214から318までについての図3に関して上記に記載された動作も含むことができることに留意すべきである。
【００２６】
上述のように、態様はまた、タッチスクリーンディスプレイ上のユーザの「フリック」ジェスチャによって起動される素早いリストアニメーションである、慣性スクロールで実装され得る。そのような態様を示す例示的な方法500が図5に示される。この方法500は、適切なプロセッサ実行可能命令でプロセッサを構成することによって、コンピューティングデバイスのプロセッサまたはディスプレイプロセッサ内に実装され得る。方法500において、ブロック502で、プロセッサは、グラフィカルユーザインターフェースおよびタッチスクリーンディスプレイ用によく知られた方法を使用して、ユーザのフリックジェスチャを受信および処理することができる。ブロック504では、プロセッサは、受信されたフリックジェスチャの特性から、慣性スクロールの完了時の最終位置を決定することができる。これは、慣性スクロールのアルゴリズムを使用して、リストスクロールの速度および対応するリストスクロールの距離を決定することによって達成され得る。ブロック506では、プロセッサは、通常の方法で慣性スクロールをアニメーション化することができる。判定ブロック508では、プロセッサはまた、慣性スクロールがリストの境界にディスプレイの縁部を横断させる(すなわち、リストスクロールが終端または始端を超えて伝わる)かどうかを判定することができる。慣性スクロールがリストの境界にディスプレイの縁部を横断させないとプロセッサが判断した場合(すなわち、判定ブロック508=「No」)、ブロック510で、プロセッサは、通常通り指示された位置でスクロールを停止する慣性スクロールのアニメーションを続けることができる。
【００２７】
慣性スクロールがリストの境界にディスプレイの縁部を横断させるとプロセッサが判断した場合(すなわち、判定ブロック508=「Yes」)、プロセッサは、スクロールの完了がリストの境界(すなわち、終端または始端)をディスプレイの縁部からしきい値の距離を超えて離れているかどうかを判定することができる。たとえば、プロセッサは、リストの終端(または始端)のポイントが、ディスプレイの下部から上(または上部から下)3分の1を超えたところに現れているかどうかを判定することができる。スクロールの完了がリストの境界をディスプレイの縁部からしきい値の距離を超えていないとプロセッサが判定した場合(すなわち、判定ブロック512=「No」)、ブロック514で、プロセッサは、バウンス(bounce)およびスナップバックの動きを含むように慣性スクロールをアニメーション化することができ、その結果、リストの境界の現在の側にあるリストの終端(または始端)がディスプレイの適切な下部または上部に現れることになる。バウンスおよびスナップのアニメーションは説明のための例にすぎず、他の効果もこの状態のため(すなわち、判定ブロック512=「No」のとき)に実装され得る。慣性スクロールの終端がリストの境界をディスプレイの縁部からしきい値の距離を超えて搬送するとプロセッサが判定した場合(すなわち、判定ブロック512=「Yes」)、ブロック516で、プロセッサは、たとえば、リストの境界に到達し、続いて慣性スクロールのアニメーションの完了時に、リストをラップすることおよびリストの境界の反対側をディスプレイウィンドウの対応する上部または下部にスナップすることを示す、ストレッチまたは他の動作を含むように、慣性スクロールをアニメーション化することができる。したがって、慣性スクロールによりリストの終端がディスプレイウィンドウの縁部を(ディスプレイの3分の1などの)しきい値の距離より大きく超えることになる場合、リストがラップし、スクロールは即座に停止し、その結果、リストの始端または終端がそれぞれディスプレイの上部または下部に位置合せする。これらのアニメーションに続き、プロセッサは、ブロック202に戻ってさらなるユーザ入力を受信することができる。
【００２８】
慣性スクロールを実装するための代替方法600が図6に示される。この方法では、慣性スクロールのアニメーションは、リストのラップが慣性スクロールの終端で発生して、リストがラップしようとしていることをユーザに知らせることのさらなる指示を含む。たとえば、ブロック602では、プロセッサは、リストの境界の終端が接近する(すなわち、リストの終端または始端が表示領域に接近する)につれて、リストがディスプレイの上部または下部に引き付けられていることをシミュレートするために、スクロールレートが加速するように慣性スクロールをアニメーション化することができる。次いで、この追加アニメーションは、ブロック516に関して上記に記載されたのと同じ方式で終了することができる。
【００２９】
図7に示された態様の方法700では、プロセッサは、リストスクロールのアニメーションを実装する前に、ユーザ入力がスクロール入力になることを意図されているかどうかを評価するように構成され得る。この判定は、本態様のスクロールアニメーションが実装されることをユーザが意図しなくても、グラフィカルユーザインターフェースの通常の操作がリストスクロールと同様の入力を含むことができるので、ユーザエクスペリエンスを改善することができる。態様の方法700は、プロセッサが図2から図6に関して上記に記載された態様の方法を実装する前に、判定ブロック702で、タッチスクリーン上の指のドラッグの動きなどのユーザ入力がしきい値の距離を超えるかどうかを判定するように、プロセッサがいかに構成され得るかを示す。ユーザ入力がその最小しきい値を超えないとプロセッサが判定した場合(すなわち、判定ブロック702=「No」)、プロセッサは、スクロール動作を実装することができず、ブロック202に戻ってさらなるユーザ入力を受信することができる。ユーザ入力がその最小しきい値を超えるとプロセッサが判定した場合(すなわち、判定ブロック702=「Yes」)、プロセッサは、図2に関して上記に記載された判定ブロック204、または図5に関して上記に記載された判定ブロック504に進むことによって、図2から図6に関して上記に記載された態様のアニメーションを実装することができる。そうすることで、リストスクロールのアニメーションは、最初のユーザ入力が無視されなかった場合到達したであろう、リスト内の同じポイントにジャンプすることができる。
【００３０】
様々な態様は、モバイルコンピューティングデバイスおよびパーソナルコンピュータなどの任意の様々なコンピューティングデバイスに実装され得る。モバイルコンピューティングデバイスの一例が図8に示され、ノート型のパーソナルコンピュータの一例が図9に示される。たとえば、モバイルコンピューティングデバイス800は、内部メモリ802に結合されたプロセッサ801、および、抵抗型検知タッチスクリーン、静電性検知タッチスクリーン、赤外線検知タッチスクリーン、音響/圧電性検知タッチスクリーンなどのタッチスクリーンディスプレイ803を含むことができる。様々な態様は、任意の特定のタイプのタッチスクリーンディスプレイ803またはタッチパッド技術に限定されない。さらに、コンピューティングデバイス800は、プロセッサ801に結合されたワイヤレスデータリンクおよび/または携帯電話トランシーバ805に接続される、電磁放射を送信および受信するためのアンテナ804を有する場合がある。モバイルコンピューティングデバイス800はまた、ユーザ入力を受信するための物理ボタン808を含むことができる。いくつかの実装形態では、タッチ面は、タッチスクリーンディスプレイ803の外側の電子デバイス800のエリアに提供され得る。たとえば、キーパッド(図示せず)は、埋込み型静電性タッチセンサを有するタッチ面を含むことができる。他の実装形態では、タッチスクリーンディスプレイ803は完全なGUIを含むことができる。
【００３１】
上記に記載された態様はまた、図9に示されたラップトップコンピュータ900などの様々なパーソナルコンピューティングデバイス内に実装され得る。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドのタッチ面907を含み、したがって、タッチスクリーンディスプレイを備え、上記に記載されたモバイルコンピューティングデバイスに実装されたものと同様のドラッグ、スクロール、およびフリックのジェスチャを受信することができる。ラップトップコンピュータ900は、通常、揮発性メモリ902に結合されたプロセッサ901、およびフラッシュメモリのディスクドライブ903などの大容量不揮発性メモリを含む。コンピュータ900はまた、プロセッサ901に結合されたフロッピー(登録商標)ディスクドライブ904およびコンパクトディスク(CD)ドライブ905を含むことができる。コンピュータデバイス900はまた、USBもしくはFireWire(登録商標)のコネクタソケット、または、プロセッサ901をネットワークに結合するための他のネットワーク接続回路などの、データ接続を確立し、外部メモリデバイスを受け入れるための、プロセッサ901に結合されたいくつかのコネクタポートを含むことができる。ノートブック構成において、コンピュータハウジングは、プロセッサ901にすべて結合されたタッチパッド907、キーボード908、およびディスプレイ909を含む。コンピューティングデバイスの他の構成は、よく知られているように、(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含むことができ、それらはまた、様々な態様と連携して使用され得る。
【００３２】
コンピューティングデバイスのプロセッサ801、901は、上記に記載された様々な態様の機能を含む様々な機能を実行するためのソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または1つもしくは複数の多重プロセッサチップであり得る。いくつかのコンピューティングデバイス800、900では、ワイヤレス通信機能専用のマルチコアプロセッサまたは1つのプロセッサ、他のアプリケーションの実行専用の1つのプロセッサなどの、複数のプロセッサ801、901が提供され得る。プロセッサはまた、通信チップセットの一部として含まれ得る。
【００３３】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な態様のステップを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者が諒解するように、上記の態様におけるステップの順序は、どのような順序で実行されてもよい。「その後」、「次いで」、「次に」などの単語は、ステップの順序を限定するものではなく、これらの単語は、方法の説明において読者を誘導するために使用されるにすぎない。さらに、たとえば、冠詞「1つの(a、an)」または「その(the)」などの使用による単数形での請求要素への言及は、その要素を単数に限定するものとして解釈されるべきではない。
【００３４】
本明細書で開示された態様に関して記載された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。このハードウェアとソフトウェアの互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能に関して上記に記載された。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、記載された機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００３５】
本明細書に開示された態様に関して記載された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別のハードウェアコンポーネント、または、本明細書に記載された機能を実行するように設計されたそれらの任意の組合せで、実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、そのプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【００３６】
1つまたは複数の例示的な態様では、記載された機能は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せに実装され得る。ソフトウェアに実装される場合、機能は、1つまたは複数の命令もしくはコードとして、コンピュータ可読媒体上に記憶され得るか、またはコンピュータ可読媒体を介して送信され得る。本明細書に開示された方法またはアルゴリズムのステップは、有形の非一時的コンピュータ可読記憶媒体上に常駐できる、プロセッサ実行可能ソフトウェアモジュール内で具現化され得る。有形の非一時的コンピュータ可読記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく、例として、そのような非一時的コンピュータ可読媒体には、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る、任意の他の媒体が含まれ得る。本明細書で使用されるディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク(登録商標)、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せも非一時的コンピュータ可読媒体の範囲内に含まれるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込まれ得る、有形の非一時的機械可読媒体および/またはコンピュータ可読媒体上のコードおよび/または命令の1つまたは任意の組合せもしくはそのセットとして常駐することができる。
【００３７】
開示された態様の上記の説明は、当業者が本発明を製作または使用できるように提供される。これらの態様への様々な変更が当業者には容易に明らかであり、本明細書で定義された一般的な原理は、本発明の趣旨や範囲を逸脱することなく他の態様に適用され得る。したがって、本発明は、本明細書に示された態様に限定されるものではなく、以下の特許請求の範囲ならびに本明細書で開示された原理および新規の特徴に合致する、最も広い範囲を与えられるべきである。
【符号の説明】
【００３８】
100  モバイルコンピューティングデバイス
102  ディスプレイ
104  リスト項目
106  指
108  最後の項目
110  最初の項目
112  ギャップ
800  モバイルコンピューティングデバイス
801  プロセッサ
802  内部メモリ
803  タッチスクリーンディスプレイ
804  アンテナ
805  ワイヤレスデータリンクおよび/または携帯電話トランシーバ
808  物理ボタン
900  ラップトップコンピュータ
901  プロセッサ
902  揮発性メモリ
903  フラッシュメモリのディスクドライブ
905  コンパクトディスク(CD)ドライブ
907  タッチパッド
908  キーボード
909  ディスプレイ
【図１Ａ】
0005646111.tif 000002
【図１Ｂ】
0005646111.tif 000003
【図１Ｃ】
0005646111.tif 000004
【図１Ｄ】
0005646111.tif 000005
【図２】
0005646111.tif 000006
【図３】
0005646111.tif 000007
【図４】
0005646111.tif 000008
【図５】
0005646111.tif 000009
【図６】
0005646111.tif 000010
【図７】
0005646111.tif 000011
【図８】
0005646111.tif 000012
【図９】
0005646111.tif 000013