(57)【要約】      （修正有）【課題】電子デバイス上で、インテリジェントな出発時刻リマインダを生成し、提供するためのシステム及び方法を提供する。【解決手段】自動的に、かつ、人の介入なしに、不明の地理的位置に対応する第１の識別子（例えば、「歯科検診に行く」など、場所に関係するカレンダー項目のタイトル中のテキスト）を識別し、自動的に、かつ、人の介入なしに、第１の識別子と関連付けられた以前に訪れた住所（例えば、ストリートアドレス、又はストリートアドレスに対応するＧＰＳ座標）を取り出し、自動的に、かつ、人の介入なしに、以前に訪れた住所に基づいて（例えば、デバイスの現在地から以前に訪れた住所までのルートに基づいて）カレンダー項目の出発時刻を判定し、自動的に、かつ、人の介入なしに、判定した出発時刻をカレンダー項目と関連付ける。【選択図】図６
2019207716.tif 000002
【特許請求の範囲】
【請求項１】
タッチ感知ディスプレイを備える電子デバイスによって実行されると、前記電子デバイスに、
自動的にかつ人の介入なしに、
不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別させ、
前記第１の識別子と関連付けられた以前に訪れた住所を取り出させ、
前記以前に訪れた住所に基づいて、前記カレンダー項目の出発時刻を判定させ、
前記判定した出発時刻を前記カレンダー項目と関連付させる、
実行可能命令を記憶する、非一時的コンピュータ可読記憶媒体。
【請求項２】
前記実行可能命令は、更に、前記電子デバイスに、前記電子デバイス上で、前記ユーザに対して、前記カレンダー項目の前記判定した出発時刻のリマインダを提供させる、請求項１に記載の非一時的コンピュータ可読記憶媒体。
【請求項３】
前記カレンダー項目は、前記ユーザに提供された前記カレンダー項目の前記判定した出発時刻の前記リマインダとは別個のデフォルトリマインダと関連付けられている、請求項２に記載の非一時的コンピュータ可読記憶媒体。
【請求項４】
前記リマインダを提供することは、前記出発時刻が現在時刻から所定の時間量以内であるという判定に従って、前記リマインダを提供することを含む、請求項２又は３のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項５】
前記出発時刻を判定することが、
前記電子デバイスに対応する現在の住所を判定することと、
前記現在の住所から前記以前に訪れた住所までのルートを判定することと、
前記ユーザが、前記カレンダー項目と関連付けられた開始時刻から所定の時間量以内で前記以前に訪れた住所に到達するように、前記ルートを完了する時間量に基づいて前記出発時刻を判定することと、
を含む、請求項１〜４のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項６】
前記ルートは、前記電子デバイスの前記ユーザと関連付けられたルート選択の好みに従って、前記現在の住所から前記以前に訪れた住所までの複数の利用可能なルートから選択される、請求項５に記載の非一時的コンピュータ可読記憶媒体。
【請求項７】
前記判定した出発時刻を前記カレンダー項目と関連付けることは、前記リマインダを生成することと前記カレンダー項目を更新して、前記生成したリマインダを含めることと、を含む、請求項２〜６のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項８】
前記実行可能命令は、更に、前記電子デバイスに、
前記出発時刻を判定する前に、前記タッチ感知ディスプレイ上で、前記電子デバイスのユーザから、前記以前に訪れた住所が前記カレンダー項目に対応するという確認を受信させ、
前記確認を受信した後、前記出発時刻を判定させる、
請求項１〜７のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項９】
前記以前に訪れた住所を取り出すことは、前記電子デバイスの前記ユーザと関連付けられた以前に訪れた住所のデータベースから、前記以前に訪れた住所を取り出すことを含む、請求項１〜８のうちのいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１０】
前記以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、前記電子デバイスの前記ユーザが以前に訪れた住所に対応する、請求項９に記載の非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記以前に訪れた住所を取り出すことは、前記第１の識別子を使用して、前記以前に訪れた住所のデータベース中でルックアップを実行することを含む、請求項９〜１０のうちのいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記実行可能命令は、更に、前記電子デバイスに、
カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンさせ、
前記第１の識別子が前記スキャンした複数の新しいカレンダー項目のそれぞれの新しいカレンダー項目に含まれるという判定に従って、前記それぞれの新しいカレンダー項目に含めるために、前記以前に訪れた住所を、前記電子デバイスの前記ユーザに提示させる、
請求項１〜１１の複数のスキャンした新しいカレンダー項目いずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１３】
前記実行可能命令は、更に、前記電子デバイスに、
前記リマインダを提供したことに応じて、前記ユーザが前記以前に訪れた住所に到着したかどうかを判定させ、
前記ユーザが前記以前に訪れた住所に到着したという判定に従って、前記以前に訪れた住所と関連付けられた位置情報を更新させる、
請求項１〜１２のいずれか一項に記載の非一時的コンピュータ可読記憶媒体。
【請求項１４】
方法であって、
タッチ感知ディスプレイを備える電子デバイスにおいて、
自動的にかつ人の介入なしに、
不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別することと、
前記第１の識別子と関連付けられた以前に訪れた住所を取り出すことと、
前記以前に訪れた住所に基づいて、前記カレンダー項目の出発時刻を判定することと、
前記判定した出発時刻を前記カレンダー項目と関連付けることと、
を含む、方法。
【請求項１５】
前記電子デバイス上で、前記ユーザに対して、前記カレンダー項目の前記判定した出発時刻のリマインダを提供することを更に含む、請求項１４の方法。
【請求項１６】
前記カレンダー項目は、前記ユーザに提供された前記カレンダー項目の前記判定した出発時刻の前記リマインダとは別個のデフォルトリマインダと関連付けられている、請求項１５に記載の方法。
【請求項１７】
前記リマインダを提供することは、前記出発時刻が現在時刻から所定の時間量以内であるという判定に従って、前記リマインダを提供することを含む、請求項１５〜１６のいずれか一項に記載の方法。
【請求項１８】
前記出発時刻を判定することは、
前記電子デバイスに対応する現在の住所を判定することと、
前記現在の住所から前記以前に訪れた住所までのルートを判定することと、
前記ユーザが、前記カレンダー項目と関連付けられた開始時刻から所定の時間量以内で前記以前に訪れた住所に到達するように、前記ルートを完了する時間量に基づいて前記出発時刻を判定することと、
を含む、請求項１４〜１７のいずれか一項に記載の方法。
【請求項１９】
前記ルートは、前記電子デバイスの前記ユーザと関連付けられたルート選択の好みに従って、前記現在の住所から前記以前に訪れた住所までの複数の利用可能なルートから選択される、請求項１８に記載の方法。
【請求項２０】
前記判定した出発時刻を前記カレンダー項目と関連付けることは、前記リマインダを生成することと、前記カレンダー項目を更新して、前記生成したリマインダを含めることとを含む、請求項１５〜１９のいずれか一項に記載の方法。
【請求項２１】
前記出発時刻を判定する前に、前記タッチ感知ディスプレイ上で、前記電子デバイスのユーザから、前記以前に訪れた住所が前記カレンダー項目に対応するという確認を受信することと、
前記確認を受信した後、前記出発時刻を判定することと、
を更に含む、請求項１４〜２０のいずれか一項に記載の方法。
【請求項２２】
前記以前に訪れた住所を取り出すことは、前記電子デバイスの前記ユーザと関連付けられた以前に訪れた住所のデータベースから、前記以前に訪れた住所を取り出すことを含む、請求項１４〜２１のうちのいずれか一項に記載の方法。
【請求項２３】
前記以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、前記電子デバイスの前記ユーザが以前に訪れた住所に対応する、請求項２２に記載の方法。
【請求項２４】
前記以前に訪れた住所を取り出すことは、前記第１の識別子を使用して、前記以前に訪れた住所のデータベース中でルックアップを実行することを含む、請求項２２〜２３のうちのいずれか一項に方法。
【請求項２５】
カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンすることと、
前記第１の識別子が前記スキャンした複数の新しいカレンダー項目のそれぞれの新しいカレンダー項目に含まれるという判定に従って、前記それぞれの新しいカレンダー項目に含めるために、前記以前に訪れた住所を、前記電子デバイスの前記ユーザに提示することと、
を更に含む、請求項１４〜２４のいずれか一項に記載の方法。
【請求項２６】
前記リマインダを提供したことに応じて、前記ユーザが前記以前に訪れた住所に到着したかどうかを判定することと、
前記ユーザが前記以前に訪れた住所に到着したという判定に従って、前記以前に訪れた住所と関連付けられた位置情報を更新することと、
を更に含む、請求項１４〜２５のいずれか一項に記載の方法。
【請求項２７】
電子デバイスであって、
タッチ感知ディスプレイと、
１つ以上のプロセッサと、
前記１つ以上のプロセッサによって実行されると、前記電子デバイスに、請求項１４〜２６のいずれか一項に記載の方法を実行させる１つ以上のプログラムを記憶するメモリと、
を備える、電子デバイス。
【請求項２８】
電子デバイスであって、
タッチ感知ディスプレイと、
請求項１４〜２６のいずれか一項に記載の方法を実行するための手段と、
を備える、電子デバイス。
【請求項２９】
請求項１４〜２６のいずれか一項に記載の方法に係るユーザインタフェースを備える、タッチ感知ディスプレイを備える電子デバイス上のグラフィカルユーザインタフェース。
【請求項３０】
電子デバイスであって、
ユーザインタフェースを表示し、ユーザから接触を受け取るように構成されている、タッチ感知ディスプレイユニットと、
前記タッチ感知ディスプレイユニットと連結された処理ユニットと、
を備え、前記処理ユニットが、
自動的にかつ人の介入なしに、不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別し、
自動的にかつ人の介入なしに、前記第１の識別子と関連付けられた以前に訪れた住所を取り出し、
自動的にかつ人の介入なしに、前記以前に訪れた住所に基づいて、前記カレンダー項目の出発時刻を判定し、
自動的にかつ人の介入なしに、前記判定した出発時刻を前記カレンダー項目と関連付ける、
ように構成されている、電子デバイス。
【請求項３１】
前記処理ユニットは、
前記電子デバイス上で、前記ユーザに対して、前記カレンダー項目の前記判定した出発時刻のリマインダを提供するように更に構成されている、
請求項３０の電子デバイス。
【請求項３２】
前記カレンダー項目は、前記ユーザに提供された前記カレンダー項目の前記判定した出発時刻の前記リマインダとは別個のデフォルトリマインダと関連付けられている、請求項３１に記載の電子デバイス。
【請求項３３】
前記リマインダを提供することは、前記出発時刻が現在時刻から所定の時間量以内であるという判定に従って、前記リマインダを提供することを含む、請求項３１〜３２のいずれか一項に記載の電子デバイス。
【請求項３４】
前記出発時刻を判定することは、
（ｉ）前記電子デバイスに対応する現在の住所を判定することと、
（ｉｉ）前記現在の住所から前記以前に訪れた住所までのルートを判定することと、
（ｉｉｉ）前記ユーザが、前記カレンダー項目と関連付けられた開始時刻から所定の時間量以内で前記以前に訪れた住所に到達するように、前記ルートを完了する時間量に基づいて前記出発時刻を判定することと、
を含む、請求項３０〜３３のいずれか一項に記載の電子デバイス。
【請求項３５】
前記ルートは、前記電子デバイスの前記ユーザと関連付けられたルート選択の好みに従って、前記現在の住所から前記以前に訪れた住所までの複数の利用可能なルートから選択される、請求項３４に記載の電子デバイス。
【請求項３６】
前記判定した出発時刻を前記カレンダー項目と関連付けることは、前記リマインダを生成することと、前記カレンダー項目を更新して、前記生成したリマインダを含めることと、を含む、請求項３１〜３５のいずれか一項に記載の電子デバイス。
【請求項３７】
前記処理ユニットは、
前記出発時刻を判定する前に、前記タッチ感知ディスプレイユニット上で、前記電子デバイスのユーザから、前記以前に訪れた住所が前記カレンダー項目に対応するという確認を受信し、
前記確認を受信した後、前記出発時刻を判定する、
ように更に構成されている、請求項３０〜３６のいずれか一項に電子デバイス。
【請求項３８】
前記以前に訪れた住所を取り出すことは、前記電子デバイスの前記ユーザと関連付けられた以前に訪れた住所のデータベースから、前記以前に訪れた住所を取り出すことを含む、請求項３０〜３７のうちのいずれか一項に記載の電子デバイス。
【請求項３９】
前記以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、前記電子デバイスの前記ユーザが以前に訪れた住所に対応する、請求項３８に記載の電子デバイス。
【請求項４０】
前記以前に訪れた住所を取り出すことは、前記第１の識別子を使用して、前記以前に訪れた住所のデータベース中でルックアップを実行することを含む、請求項３８〜３９のうちのいずれか一項に電子デバイス。
【請求項４１】
前記処理ユニットは、
カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンし、
前記第１の識別子が前記スキャンした複数の新しいカレンダー項目のそれぞれの新しいカレンダー項目に含まれるという判定に従って、前記それぞれの新しいカレンダー項目に含めるために、前記以前に訪れた住所を、前記電子デバイスの前記ユーザに提示する、
ように更に構成されている、請求項３０〜４０のいずれか一項に記載の電子デバイス。
【請求項４２】
前記処理ユニットは、
前記リマインダを提供したことに応じて、前記ユーザが前記以前に訪れた住所に到着したかどうかを判定し、
前記ユーザが前記以前に訪れた住所に到着したという判定に従って、前記以前に訪れた住所と関連付けられた位置情報を更新する、
ように更に構成されている、請求項３０〜４１のいずれか一項に記載の電子デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書の実施形態は、概して、タッチ感知ディスプレイを備える電子デバイスに関し、より詳細には、インテリジェントな出発時刻リマインダを生成及び提供するためのシステム及び方法に関する。
【背景技術】
【０００２】
タッチ感知ディスプレイを備えるハンドヘルド型電子デバイスのユーザは、しばしば、次のイベントについて思い出させるのを助けるために、多数のカレンダー項目を生成し、受信する。これらのカレンダー項目は、しばしば、それぞれのイベントが将来の何らかの時間量（例えば、１５分、３０分、１時間など）に生じるようにスケジュールされたときにユーザに表示されるリマインダ又はアラートを包含する。ユーザは、典型的には、イベントの前に必要なリードタイムに基づいて時間量を選択し、あるいは、単純に、時間どおりにイベントに達するのにどのくらいかかるかを考慮することなく、デフォルト値を選ぶ。したがって、リマインダ又はアラートは、単にデフォルト値に基づいて、あるいは、ユーザからの不正確な及び／又は古い情報に基づいて提供される。更に、位置情報を含まないカレンダー項目の場合、リマインダ又はアラートは、ハンドヘルド型電子デバイス上のアクセス可能であり得る以前に訪れた（かつ、正確なリマインダを生成するために使用可能な）住所に関する情報を考慮に入れない。
【発明の概要】
【０００３】
したがって、ユーザが出発し、イベントの開始時間までに目的地に達するための十分な時間を可能にするインテリジェントなリマインダを生成し、提供するための、より高速、より効率的な方法及びインタフェースを備える電子デバイスが必要である。かかる方法及びインタフェースは、任意選択的に、ジェネリック又はデフォルトな出発時刻リマインダを提供するための従来の方法を補完するか、又はそれらに取って代わる。かかる方法及びインタフェースは、ユーザの認識的負担を軽減し、より効率的なヒューマンマシンインタフェースが作成される。更に、かかる方法及びインタフェースは、より少数のタッチ入力を必要とすることによって（例えば、住所／ナビゲーションの詳細を検索し、検討するためにユーザがデバイスと反復的に相互作用する必要をなくすことによって）、タッチ感知ディスプレイの寿命を延ばすのを助ける。
【０００４】
タッチ感知面を備える電子デバイス用のユーザインタフェースと関連付けられた、上記の欠陥及び他の問題点は、本明細書に開示されるデバイスによって低減されるか、又は取り除かれる。いくつかの実施形態では、このデバイスは、デスクトップコンピュータである。いくつかの実施形態では、このデバイスは、ポータブル（例えば、ノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイス）である。いくつかの実施形態では、このデバイスは、タッチパッドを有する。いくつかの実施形態では、このデバイスは、タッチ感知ディスプレイ（「タッチスクリーン」又は「タッチスクリーンディスプレイ」としても知られる）を有する。いくつかの実施形態では、このデバイスは、グラフィカルユーザインタフェース（ＧＵＩ）、１つ以上のプロセッサ、メモリ、及び複数の機能を実行するためにメモリに記憶された１つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは主にタッチ感知面上でのスタイラス及び／又は指の接触及びジェスチャを介してＧＵＩと対話する。いくつかの実施形態では、機能は、画像編集、描画、プレゼンティング、ワードプロセッシング、ウェブサイト作成、ディスクオーサリング、スプレッドシートの作成、ゲームプレイ、電話をかけること、テレビ会議、電子メール送信、インスタントメッセージ、トレーニングサポート、デジタル写真撮影、デジタルビデオ撮影、ウェブブラウジング、及びデジタル音楽を任意選択的に、含む。これらの機能を実行する実行可能命令は、任意選択的に、非一時的コンピュータ可読記憶媒体又は１つ以上のプロセッサによって実行されるように構成された他のコンピュータプログラム製品に含まれる。
【０００５】
（Ａ１）いくつかの実施形態によれば、方法は、タッチ感知ディスプレイ（タッチスクリーン１１２、図１Ｃ）を備える電子デバイス（例えば、ポータブル多機能デバイス１００、図１Ａ）において実行される。本方法は、自動的にかつ人の介入なしに、不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別することを含む。本方法は、自動的にかつ人の介入なしに、第１の識別子と関連付けられた以前に訪れた住所を取り出すことを更に含む。本方法はまた、自動的にかつ人の介入なしに、以前に訪れた住所に基づいて、カレンダー項目の出発時刻を判定することを含む。方法は、加えて、自動的にかつ人の介入なしに、判定した出発時刻をカレンダー項目と関連付けることを含む。換言すると、第１の識別子を使用して、以前に訪れた住所をロケーティングし、次いで、第１の識別子が（ｉ）以前に訪れた住所と関連付けられた項目（例えば、異なるカレンダー項目、テキストメッセージ、電子メールメッセージ、など）、及び（ｉｉ）カレンダー項目存在することに基づいて、不明の地理的位置が以前に訪れた住所であることを求める（又は、判定する）。
【０００６】
（Ａ２）Ａ１に記載の方法のいくつかの実施形態では、本方法は、電子デバイス上で、ユーザにカレンダー項目の判定した出発時刻のリマインダを提供すること、を更に含む。
【０００７】
（Ａ３）Ａ２に記載の方法のいくつかの実施形態では、カレンダー項目は、ユーザに提供されたカレンダー項目の判定した出発時刻のリマインダとは別個のデフォルトリマインダと関連付けられる。
【０００８】
（Ａ４）Ａ２〜Ａ３のいずれか１つに記載の方法のいくつかの実施形態では、リマインダを提供することは、出発時刻が現在時刻から所定の時間量以内であるという判定に従って、リマインダを提供することを含む。
【０００９】
（Ａ５）Ａ１〜Ａ４のいずれか１つに記載の方法のいくつかの実施形態では、出発時刻を判定することは、（ｉ）電子デバイスに対応する現在の住所を判定することと、（ｉｉ）現在の住所から以前に訪れた住所までのルートを判定することと、（ｉｉｉ）ユーザが、カレンダー項目と関連付けられた開始時刻から所定の時間量以内で以前に訪れた住所に到達するように、ルートを完了する時間量に基づいて出発時刻を判定することと、を含む。
【００１０】
（Ａ６）Ａ５に記載の方法のいくつかの実施形態では、ルートは、電子デバイスのユーザと関連付けられたルート選択の好みに従って、現在の住所から以前に訪れた住所までの複数の利用可能なルートから選択される。
【００１１】
（Ａ７）Ａ２〜Ａ６のいずれか１つに記載の方法のいくつかの実施形態では、判定した出発時刻をカレンダー項目と関連付けることは、リマインダを生成することと、カレンダー項目を更新して、生成したリマインダを含めることと、を含む。
【００１２】
（Ａ８）Ａ１〜Ａ７のいずれか１つに記載の方法のいくつかの実施形態では、本方法は、出発時刻を判定する前に、電子デバイスのユーザから、タッチ感知ディスプレイ上で、以前に訪れた住所がカレンダー項目に対応するという確認を受信することを更に含む。本方法は、確認を受信した後、出発時刻を判定すること含む。
【００１３】
（Ａ９）Ａ１〜Ａ８のいずれか１つに記載の方法のいくつかの実施形態では、以前に訪れた住所を取り出すことは、電子デバイスのユーザと関連付けられた以前に訪れた住所のデータベースから、以前に訪れた住所を取り出すことを含む。
【００１４】
（Ａ１０）Ａ９に記載の方法のいくつかの実施形態では、以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、電子デバイスのユーザが以前に訪れた住所に対応する。
【００１５】
（Ａ１１）Ａ９〜Ａ１０のいずれか１つに記載の方法のいくつかの実施形態では、以前に訪れた住所を取り出すことは、第１の識別子を使用して、以前に訪れた住所のデータベース中でルックアップを実行することを含む。
【００１６】
（Ａ１２）Ａ１〜Ａ１１のいずれか１つに記載の方法のいくつかの実施形態では、方法は、カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンすることを更に含む。本方法は、第１の識別子がスキャンした複数の新しいカレンダー項目のそれぞれの新しいカレンダー項目に含まれるという判定に従って、それぞれの新しいカレンダー項目に含めるために、以前に訪れた住所を、電子デバイスのユーザに提示することと、を含む。
【００１７】
（Ａ１３）Ａ１〜Ａ１２のいずれか１つに記載の方法のいくつかの実施形態では、本方法は、（例えば、ユーザが、上記Ａ２に記載した提供されたリマインダを受信したことに従って、以前に訪れた住所まで移動していると判定した後に）ユーザが以前に訪れた住所に到着したかどうかを判定することを更に含む。本方法は、ユーザが以前に訪れた住所に到着したという判定に従って、以前に訪れた住所と関連付けられた位置情報を更新することを含む。いくつかの実施形態では、ユーザが以前に訪れた住所に到着したかどうかを判定することは、リマインダを提供した後に（又は、それに応じて）実行される。
【００１８】
（Ａ１４）別の態様では、電子デバイスが提供される。いくつかの実施形態では、電子デバイスは、タッチ感知ディスプレイと、１つ以上のプロセッサと、１つ以上のプロセッサによって実行されると、当該電子デバイスに、Ａ１〜Ａ１３のいずれか１つに記載される方法を実行させる１つ以上のプログラムを記憶するメモリと、を含む。
【００１９】
（Ａ１５）更に別の態様では、電子デバイスが提供され、当該電子デバイスは、タッチ感知ディスプレイと、Ａ１〜Ａ１３のいずれか１つに記載される方法を実行するための手段と、を含む。
【００２０】
（Ａ１６）更に別の態様では、非一時的コンピュータ可読記憶媒体が提供される。非一時的コンピュータ可読記憶媒体は、タッチ感知ディスプレイを備える電子デバイスによって実行されると、当該電子デバイスに、Ａ１〜Ａ１３のいずれか１つに記載される方法を実行させる実行可能命令を記憶する。
【００２１】
（Ａ１７）更にもう１つの態様では、タッチ感知ディスプレイを備える電子デバイス上のグラフィカルユーザインタフェースが提供される。いくつかの実施形態では、グラフィカルユーザインタフェースは、Ａ１〜Ａ１３のいずれか１つに記載される方法に従って表示されるユーザインタフェースを含む。
【００２２】
（Ａ１８）１つの追加の態様では、表示ユニット（例えば、表示ユニット８０１、図８）と、タッチ感知面ユニット（例えば、タッチ感知面ユニット８０３、図８）と、表示ユニット８０１及びタッチ感知面ユニット８０３と連結された処理ユニット（例えば、処理ユニット８０５、図８）と、を含む電子デバイスが提供される。いくつかの実施形態では、表示ユニット及びタッチ感知面ユニットは、（本明細書では、タッチ感知ディスプレイとも称される）シングルタッチ感知ディスプレイユニットに組み込まれている。いくつかの実施形態では、処理ユニットは、識別ユニット（例えば、識別ユニット８０７）、取り出しユニット（例えば、取り出しユニット８０９）、判定ユニット（例えば、判定ユニット８１１）、関連付けユニット（例えば、関連付けユニット８１３）、提供ユニット（例えば、提供ユニット８１５）、選択ユニット（例えば、選択ユニット８１７）、生成ユニット（例えば、生成ユニット８１９）、受信ユニット（例えば、受信ユニット８２１）、実行ユニット（例えば、実行ユニット８２３）、スキャンユニット（例えば、スキャンユニット８２５）、提示ユニット（例えば、提示ユニット８２７）、及び更新ユニット（例えば、更新ユニット８２９）を含む。処理ユニットは、自動的にかつ人の介入なしに、（例えば、識別ユニット８０７を用いて）不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別し、自動的にかつ人の介入なしに、（例えば、取り出しユニット８０９を用いて）第１の識別子と関連付けられた以前に訪れた住所を取り出し、自動的にかつ人の介入なしに、（例えば、判定ユニット８１１を用いて）以前に訪れた住所に基づいて、カレンダー項目の出発時刻を判定し、自動的にかつ人の介入なしに、（例えば、関連付けユニット８１３を用いて）判定した出発時刻をカレンダー項目と関連付けるように構成されている。
【００２３】
（Ａ１９）Ａ１８に記載の電子デバイスのいくつかの実施形態では、処理ユニットは、（例えば、提供ユニット８１５及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提供ユニット８１５を用いて）電子デバイス上で、ユーザに対して、カレンダー項目の判定した出発時刻のリマインダを提供するように更に構成されている。
【００２４】
（Ａ２０）Ａ１９に記載の電子デバイスのいくつかの実施形態では、カレンダー項目は、ユーザに提供されたカレンダー項目の判定した出発時刻のリマインダとは別個のデフォルトリマインダと関連付けられる。
【００２５】
（Ａ２１）Ａ１９〜Ａ２０のいずれか１つに記載の電子デバイスのいくつかの実施形態では、リマインダを提供することは、（例えば、判定ユニット８１１による）出発時刻が現在時刻から所定の時間量以内であるいう判定に従って、（例えば、提供ユニット８１５及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提供ユニット８１５を用いて））リマインダを提供することを含む。
【００２６】
（Ａ２２）Ａ１８〜Ａ２１のいずれか１つに記載の電子デバイスのいくつかの実施形態では、出発時刻を判定することは、（ｉ）（例えば、判定ユニット８１１を用いて）電子デバイスに対応する現在の住所を判定することと、（ｉｉ）（例えば、判定ユニット８１１を用いて）現在の住所から以前に訪れた住所までのルートを判定することと、（ｉｉｉ）（例えば、判定ユニット８１１を用いて）ユーザが、カレンダー項目と関連付けられた開始時刻から所定の時間量以内で以前に訪れた住所に到達するように、ルートを完了する時間量に基づいて出発時刻を判定することと、を含む。
【００２７】
（Ａ２３）Ａ２２に記載の電子デバイスのいくつかの実施形態では、ルートは、（例えば、選択ユニット８１７を用いて）電子デバイスのユーザと関連付けられたルート選択の好みに従って、現在の住所から以前に訪れた住所までの複数の利用可能なルートから選択される。
【００２８】
（Ａ２４）Ａ１９〜Ａ２３のいずれか１つに記載の電子デバイスのいくつかの実施形態では、判定した出発時刻をカレンダー項目と関連付けることは、（例えば、生成ユニット８１９を用いて）リマインダを生成することと、カレンダー項目を更新して、生成したリマインダを含めることと、を含む。
【００２９】
（Ａ２５）Ａ１８〜Ａ２４のいずれか１つに記載の電子デバイスのいくつかの実施形態では、処理ユニットは、出発時刻を判定する前に、（例えば、受信ユニット８２１を用いて）電子デバイスのユーザから、タッチ感知ディスプレイユニット上で、以前に訪れた住所がカレンダー項目に対応するという確認を受信するように更に構成されている。確認を受信した後、処理ユニットは、（例えば、判定ユニット８１１を用いて）出発時刻を判定するように構成されている。
【００３０】
（Ａ２６）Ａ１８〜Ａ２５のいずれか１つに記載の電子デバイスのいくつかの実施形態では、以前に訪れた住所を取り出すことは、（例えば、取り出しユニット８０９を用いて）電子デバイスのユーザと関連付けられた以前に訪れた住所のデータベースから、以前に訪れた住所を取り出すことを含む。
【００３１】
（Ａ２７）Ａ２６に記載の電子デバイスのいくつかの実施形態では、以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、電子デバイスのユーザが以前に訪れた住所に対応する。
【００３２】
（Ａ２８）Ａ２６〜Ａ２７のいずれか１つに記載の電子デバイスのいくつかの実施形態では、以前に訪れた住所を取り出すことは、（例えば、実行ユニット８２３を用いて）第１の識別子を使用して以前に訪れた住所のデータベース中でルックアップを実行することを含む。
【００３３】
（Ａ２９）Ａ１８〜Ａ２８のいずれか１つに記載の電子デバイスのいくつかの実施形態では、処理ユニットは、（例えば、スキャンユニット８２５を用いて）カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンするように更に構成されている。（例えば、判定ユニット８１１による）複数のスキャンした新しいカレンダー項目のそれぞれの新しいカレンダー項目に第１の識別子が含まれているという判定に従って、処理ユニットは、（例えば、提示ユニット８２７及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提示ユニット８２７を用いて））それぞれの新しいカレンダー項目に含めるために、以前に訪れた住所を電子デバイスのユーザに提示するように構成されている。
【００３４】
（Ａ３０）Ａ１８〜Ａ２９のいずれか１つに記載の電子デバイスいくつかの実施形態では、処理ユニットは、リマインダを提供したことに応じて、（例えば、判定ユニット８１１を用いて）以前に訪れた住所にユーザが到着したかどうかを判定するように更に構成されている。（例えば、判定ユニット８１１による）以前に訪れた住所にユーザが到着したという判定に従って、処理ユニットは、（例えば、更新ユニット８２９を用いて）以前に訪れた住所と関連付けられた位置情報を更新するように構成されている。いくつかの実施形態では、ユーザが以前に訪れた住所に到着したかどうかを判定することは、リマインダを提供した後に（又は、それに応じて）実行される。
【００３５】
それゆえ、ディスプレイと、タッチ感知面と、このタッチ感知面との接触の強度を検出するための任意選択的な１つ以上のセンサとを備える電子デバイスに、インテリジェントな出発時刻リマインダを生成し、提供するためのより高速、より効率的な方法及びインタフェースが提供され、それにより、このようなデバイスの有効性、効率、及びユーザ満足度が増す。かかる方法及びインタフェースは、ジェネリックリマインダ又はデフォルトリマインダを提供するための従来の方法を補完するか、又はそれらに取って代わり得る。
【００３６】
上記で説明したさまざまな実施形態と、本明細書で説明する任意の他の実施形態とを組合せることができることに留意されたい。本明細書で説明する特徴及び利点は、包括的なものではなく、特に、図面、明細書及び特許請求の範囲を鑑みると、多くの追加の特徴及び利点が当業者には明らかになるであろう。更に、本明細書において使用される文言は、専ら読みやすさ及び説明の目的で選択されたものであり、本発明の主題を画定又は制限するために選択されたものではない点には留意されたい。
【図面の簡単な説明】
【００３７】
説明されるさまざまな実施形態を良好に理解するため、以下の図面と併せて、以下の「発明を実施するための形態」セクションを参照されたい。ここで、類似の参照番号は、図全体にわたって、対応する部分を指す。
【００３８】
【図１Ａ】いくつかの実施形態に係る、タッチ感知ディスプレイを備えたコンピューティングデバイスを示すブロック図である。
【００３９】
【図１Ｂ】いくつかの実施形態に係る、イベント処理のための例示的な構成要素のブロック図である。
【００４０】
【図１Ｃ】いくつかの実施形態に係る、タッチ感知ディスプレイを有するポータブル多機能デバイスの概略図である。
【００４１】
【図１Ｄ】いくつかの実施形態に係る、ディスプレイとは別個のタッチ感知面を備えたコンピューティングデバイスを示すために使用される概略図である。
【００４２】
【図２】いくつかの実施形態に係る、アプリケーションのメニューのためのユーザインタフェースを示すために使用される、タッチスクリーンの概略図である。
【００４３】
【図３Ａ】いくつかの実施形態に係る、カレンダー項目を記憶するためのデータ構造を示すブロック図である。
【図３Ｂ】いくつかの実施形態に係る、カレンダー項目を記憶するためのデータ構造を示すブロック図である。
【００４４】
【図４Ａ】いくつかの実施形態に係る、以前に訪れた住所を記憶するためのデータ構造を示すブロック図である。
【図４Ｂ】いくつかの実施形態に係る、以前に訪れた住所を記憶するためのデータ構造を示すブロック図である。
【００４５】
【図５】いくつかの実施形態に係る、例示的な出発時刻リマインダ生成システムを示すブロック図である。
【００４６】
【図６】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダを生成し、提供するための方法を示すフローチャートである。
【００４７】
【図７Ａ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【図７Ｂ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【図７Ｃ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【図７Ｄ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【図７Ｅ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【図７Ｆ】いくつかの実施形態に係る、インテリジェントな出発時刻リマインダの生成及び提供を示すために使用されるタッチ感知ディスプレイの概略図である。
【００４８】
【図８】いくつかの実施形態に係る、電子デバイスの機能ブロック図である。  発明を実施するための形態
【００４９】
上記で論じ、以下により詳細に論じるように、インテリジェントな出発時刻リマインダを生成し、提供するための、より高速、より効率的な方法及びインタフェースを備える電子デバイスが必要である。特に、以前に訪れた住所に基づいて、出発時刻リマインダを生成し、提供することが必要である（例えば、カレンダー項目が「歯科医を訪れる」というテキストを備えたタイトルを包含している場合、歯科医に対応する以前に訪れた住所に基づいて、出発時刻リマインダを生成することができる）。本明細書には、これらのニーズに対処する新規な方法及びインタフェースが開示される。かかる方法及びインタフェースは、任意選択的に、出発時刻リマインダを生成するための従来の方法を補完するか、又はそれに取って代わる。かかる方法及びインタフェースは、ユーザが、最小量のテキスト入力でカレンダー項目を迅速に生成し、次いで、自動的にかつ人の介入なしに、最小量のテキスト入力のみに基づいて、カレンダー項目に対応する地理的目的地を判定することを可能にすることによって、出発時刻リマインダを生成するためのプロセスを合理化する。したがって、ユーザは、電子デバイス上にカレンダー項目を迅速に生成し続けることが可能であり、本明細書で開示する方法及びインタフェースを利用することによって、電子デバイスは、カレンダー項目についてのインテリジェントな出発時刻リマインダをシームレスに生成する。このようにすると、かかる方法及びインタフェースは、ユーザが適時にイベントに到着することを保証するのを助ける。したがって、本明細書で開示する方法及びインタフェースは、認知負担、及びユーザがカレンダー項目を生成するために費やさなければならない時間を低減し、それにより、より効率的なヒューマン−マシンインタフェースが生成される。バッテリ動作電子デバイスの場合、（例えば、特定の位置の詳細なしに生成されたカレンダー項目についての目的地として、以前に訪れた住所を自動的に識別するなど、広範なユーザ対話を従来は必要とするタスクを自動的に実行することによって）より高速、より効率的にインテリジェントな出発時刻リマインダを生成し、提供することにより、節電するだけでなく、バッテリ充電の間隔を増大させる。
【００５０】
以下の図１Ａ〜図１Ｂ、及び図２は、例示的なデバイスの説明を提供する。図８は、例示的な電子デバイスの機能ブロック図を提供する。図３Ａ〜図３Ｂ及び図４Ａ〜図４Ｂは、インテリジェントな出発時刻リマインダを生成し、提供するために使用される例示的なデータ構造のブロック図である（これらのデータ構造、図６に関して以下に説明する方法において使用される）。図５は、インテリジェントな出発時刻リマインダを生成し、提供するための例示的なシステムを示すブロック図である（この例示的なシステムは、図６に関して以下に説明する方法において使用される）。図５は、インテリジェントな出発時刻リマインダを生成し、提供するための方法を示すフローチャートである。図７Ａ〜図７Ｆは、インテリジェントな出発時刻リマインダを生成し、提供するための例示的なユーザインタフェースを示すために使用されるタッチ感知ディスプレイの概略図である。図３Ａ〜図３Ｂ、図４Ａ〜図４Ｂ、図５及び図７Ａ〜図７Ｅを使用して、図５の方法及び／又はプロセスを示す。
【００５１】
ここで、添付図面に実施例が示される実施形態を、詳細に参照する。以下の詳細な説明では、説明されているさまざまな実施形態の完全な理解を提供するために、数多くの具体的な詳細が記載されている。しかしながら、説明されているさまざまな実施形態は、これらの具体的な詳細を伴わずとも実施し得ることが、当業者には明らかであろう。他の例においては、周知の、方法、手続き、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
【００５２】
本明細書では、第１、第２などの用語は、一部の実施例で、さまざまな要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されているさまざまな実施形態の範囲から逸脱することなく、第１の接触は、第２の接触と称することができ、同様に、第２の接触は、第１の接触と称し得る。第１の接触及び第２の接触は双方共に接触であるが、それらは同じ接触ではない。
【００５３】
本明細書で説明されるさまざまな実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。さまざまな記載の実施形態、及び添付の特許請求の範囲で使用されるときに、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈が別途明確に示さない限り、複数形も同様に含むことが意図されている。本明細書で使用されるときに、用語「及び／又は」は、関連する列挙された項目のうちの１つ以上の任意の全ての可能な組合せを指し、かつこれを含むことをもまた理解されたい。用語「ｉｎｃｌｕｄｅｓ（含む）、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（含む）」及び／又は「ｃｏｍｐｒｉｓｉｎｇ（含む）」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群、の存在又は追加を除外しないことが更に理解されるであろう。
【００５４】
本明細書で使用される時、用語「ｉｆ（〜の場合には）」は、任意選択的に、文脈に応じて「ｗｈｅｎ（〜の時）」、「ｕｐｏｎ（〜すると）」、「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応じて）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（〜の検出に応じて）」を意味するものと解釈される。同様に、語句「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（〜と判定される場合には）」又は「ｉｆ（ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）ｉｓ  ｄｅｔｅｃｔｅｄ（（記述される条件又はイベント）が検出される場合には）」は、任意選択的に、文脈に応じて「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（〜と判定されると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜との判定に応じて）」、又は「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（記述される条件又はイベント）が検出されると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（記述される条件又はイベント）の検出に応じて）」を意味するものと解釈される。
【００５５】
本明細書における開示は、互換的に、タッチ感知ディスプレイの特定のユーザインタフェース要素又は特定の部分上で（on）、そこで（at）、その上方で（over）、その上部で（on top of）、又は実質的にその中で（substantially within）タッチ入力を検出することに関する。本明細書で使用する時、特定のユーザインタフェース要素で（at）検出されるタッチ入力は、文脈に応じて、同一のユーザインタフェース要素上で（on）、その上方で（over）、その上部で（on top of）、又は実質的にその中で（substantially within）も検出され得る。いくつかの実施形態では、以下により詳細に論じるように、タッチ入力を検出するための所望の感度レベルは、電子デバイスのユーザにより構成される（例えば、ユーザは、タッチ入力が完全にユーザインタフェース要素内にあるときにのみタッチ入力を検出するものとすると決定し得る（また、そのように動作するように電子デバイスを構成し得る））。
【００５６】
電子デバイス、かかるデバイス用のユーザインタフェース、及びかかるデバイスを使用するための関連するプロセス、の実施形態について説明する。いくつかの実施形態では、このデバイスは、ＰＤＡ機能及び／又は音楽プレーヤ機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、限定するものではないが、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のＩＰＨＯＮＥ（登録商標）、ＩＰＯＤ  ＴＯＵＣＨ（登録商標）、ＩＰＡＤ（登録商標）デバイスが挙げられる。タッチ感知面（例えば、タッチ感知ディスプレイ及び／又はタッチパッド）を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面（例えば、タッチ感知ディスプレイ及び／又はタッチパッド）を備えたデスクトップコンピュータであることもまた理解されたい。
【００５７】
以下の説明では、ディスプレイ及びタッチ感知面を備える電子デバイスについて説明する。しかし、この電子デバイスは、物理キーボード、マウス、及び／又はジョイスティックなどの１つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
【００５８】
本デバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、フィットネスアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション及び／又はデジタルビデオ再生アプリケーションのうちの１つ以上などのさまざまなアプリケーションをサポートする。
【００５９】
このデバイス上で実行されるさまざまなアプリケーションは、タッチ感知面などの、少なくとも１つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の１つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び／又は対応するアプリケーション内で、任意選択的に、調節及び／又は変更される。このように、デバイスの共通の物理アーキテクチャ（タッチ感知面などの）は、ユーザにとって直観的かつ透過的なユーザインタフェースを有するさまざまなアプリケーションを、任意選択的にサポートする。
【００６０】
次に、タッチ感知ディスプレイを備えるポータブル電子デバイスの実施形態に注意を向ける。図１Ａは、いくつかの実施形態に係る、タッチ感知ディスプレイ１１２を備えたポータブル多機能デバイス１００（本明細書では互換的に、電子デバイス１００又はデバイス１００とも称される）を示すブロック図である。タッチ感知ディスプレイ１１２は、便宜上「タッチスクリーン」と呼ばれる場合があり、タッチ感知ディスプレイシステムとして、知られる場合又は呼ばれる場合もある。デバイス１００は、（任意選択的に、１つ以上のコンピュータ可読記憶媒体を含む）メモリ１０２、コントローラ１２０、１つ以上の処理ユニット（ＣＰＵ）１２２、周辺機器インタフェース１１８、ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、入出力（Ｉ／Ｏ）サブシステム１０６、他の入力又は制御デバイス１１６、及び外部ポート１２４を含む。デバイス１００は、１つ以上の光センサ１６４を任意選択的に含む。デバイス１００は、デバイス１００上の接触の強度（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２などのタッチ感知面）を検出するための１つ以上の強度センサ１６５を、任意選択的に、含む。デバイス１００は、デバイス１００上に触知出力を生成する（例えば、デバイス１００のタッチ感知ディスプレイシステム１１２又はデバイス１００のタッチパッドなどの、タッチ感知面上に触知出力を生成する）ための、１つ以上の触知出力生成器１６７を任意選択的に含む。これらの構成要素は、１つ以上の通信バス又は信号ライン１０３を介して任意選択的に通信する。
【００６１】
本明細書及び特許請求の範囲で使用される時、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触（例えば、指接触）の力又は圧力（単位面積当りの力）、あるいはタッチ感知面上の接触の力又は圧力の代替物（代用物）を指す。接触の強度は、少なくとも４つの別個の値を含み、より典型的には、何百もの異なる値（例えば、少なくとも２５６）を含む、値の範囲を有する。接触の強度は、さまざまな方法及びさまざまなセンサ、又はセンサの組合せを用いて、任意選択的に、判定（又は、測定）される。例えば、タッチ感知面の下に又は隣接して配置された１つ以上の力センサは、タッチ感知面上のさまざまな点における力を測定するために、任意選択的に使用される。いくつかの実装において、複数の力センサの力測定値を組合せて（例えば、加重平均）、接触力の推定値を判定する。同様に、タッチ感知面上のスタイラスの圧力を判定するために、スタイラスの圧力感知チップが、任意選択的に用いられる。あるいは、タッチ感知面上で検出される接触領域のサイズ及び／若しくはその変化、接触に近接するタッチ感知面の電気容量及び／若しくはその変化、並びに／又は、接触に近接するタッチ感知面の抵抗及び／若しくはその変化が、タッチ感知面上の接触の力又は圧力の代替物として、任意選択的に用いられる。いくつかの実装では、接触の力又は圧力の代替的測定値は、強度閾値を超えているか否かを判定するために直接に用いられる（例えば、強度閾値は、代替的測定値に対応する単位で記述される）。いくつかの実装では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか否かを判定する（例えば、強度閾値は、圧力の単位で測定された圧力閾値である）。
【００６２】
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、デバイスの別の構成要素（例えば、筐体）に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、ユーザの指、手のひら、又は手の他の部分）に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された（例えば、変位された）タッチ感知面と関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の実施例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。ユーザによるタッチのかかる解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通するタッチの感覚認知が多数存在する。したがって、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」「ダウンクリック」、「粗さ」）に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な（又は、平均的な）ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【００６３】
デバイス１００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス１００は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、２つ以上の構成要素を任意選択的に組合せるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図１Ａに示されるさまざまな構成要素は、１つ以上の信号処理回路、及び／又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方の組合せで実装される。
【００６４】
メモリ１０２は、任意選択的に、高速ランダムアクセスメモリ（例えば、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセスソリッドステートメモリデバイス）を含み、また任意選択的に、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ１０２は、任意選択的に、プロセッサ（単数又は複数）１２２から遠隔に配置される１つ以上の記憶デバイスを含む。ＣＰＵ１２２及び周辺機器インタフェース１１８などの、デバイス１００の他の構成要素によるメモリ１０２へのアクセスは、任意選択的に、コントローラ１２０により制御される。
【００６５】
周辺機器インタフェース１１８を使用して、当該デバイスの入力周辺機器及び出力周辺機器を、ＣＰＵ１２２及びメモリ１０２に連結することができる。１つ以上のプロセッサ１２２は、デバイス１００のためのさまざまな機能を実行し、データを処理するために、メモリ１０２に記憶されたさまざまなソフトウェアプログラム及び／又は命令セットを動作させる、あるいは実行する。
【００６６】
いくつかの実施形態では、周辺機器インタフェース１１８、ＣＰＵ１２２及びコントローラ１２０は、任意選択的に、チップ１０４などのシングルチップ上に実装される。いくつかの実施形態では、これらは、任意選択的に、別個のチップ上に実装される。
【００６７】
ＲＦ（無線周波数）回路１０８は、電磁信号とも呼ばれるＲＦ信号を送受信する。ＲＦ回路１０８は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。ＲＦ回路１０８は、アンテナシステム、ＲＦ送受信機、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（ＳＩＭ）カード、メモリなどを含むがこれらに限定されない、これらの機能を実行するための周知の回路を、任意選択的に含んでいる。ＲＦ回路１０８は、ワールドワイドウェブ（ＷＷＷ）とも呼ばれるインターネット、イントラネット、及び／又は、セルラー電話ネットワーク、無線ローカルエリアネットワーク（ＬＡＮ）などの無線ネットワーク、及び／又は、メトロポリタンエリアネットワーク（ＭＡＮ）、などのネットワーク、及び他のデバイス、と無線通信によって、任意選択的に通信する。無線通信は、任意選択的に、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）（登録商標）、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ＧＳＭ  Ｅｎｖｉｒｏｎｍｅｎｔ（ＥＤＧＥ）（登録商標）、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）、高速アップリンクパケットアクセス（ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ、Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、Ｄｕａｌ−Ｃｅｌｌ  ＨＳＰＡ（ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（ＬＴＥ）、近距離無線通信（ＮＦＣ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ワイヤレスフィデリティ（Ｗｉ−Ｆｉ）（登録商標）（例えば、ＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１ｌｂ、ＩＥＥＥ  ８０２．１ｌｇ及び／又はＩＥＥＥ８０２．１ｌｎ）を含むが、これらに限定されない複数の通信規格、プロトコル及び技術のいずれかを用いる。
【００６８】
オーディオ回路１１０、スピーカ１１１、及びマイクロフォン１１３は、ユーザとデバイス１００との間のオーディオインタフェースを提供する。オーディオ回路１１０は、周辺機器インタフェース１１８からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ１１１に送信する。スピーカ１１１は、電気信号を人間の可聴音波に変換する。オーディオ回路１１０は、マイクロフォン１１３により音波から変換された電気信号もまた受信する。オーディオ回路１１０は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース１１８に送信する。オーディオデータは、周辺機器インタフェース１１８によって任意選択的に、メモリ１０２及び／又はＲＦ回路１０８から取り込まれる、並びに／あるいは、そこに送信される。いくつかの実施形態では、オーディオ回路１１０はまた、ヘッドセットジャックを備える。ヘッドセットジャックは、オーディオ回路１１０と、出力専用ヘッドホン又は出力（例えば、片耳又は両耳用のヘッドホン）と入力（例えば、マイクロフォン）の双方を有するヘッドセットなど、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【００６９】
Ｉ／Ｏサブシステム１０６は、周辺機器インタフェース１１８に、タッチスクリーン１１２及び他の入力制御デバイス１１６などのデバイス１００の入出力周辺機器を接続する。Ｉ／Ｏサブシステム１０６は、任意選択的に、ディスプレイコントローラ１５６、光センサコントローラ１５８、強度センサコントローラ１５９、触覚フィードバックコントローラ１６１、及び他の入力若しくは制御デバイスのための１つ以上の入力コントローラ１６０を含む。１つ以上の入力コントローラ１６０は、他の入力又は制御デバイス１１６から電気信号を受信し、それらへ電気信号を送信する。他の入力制御デバイス１１６は、任意選択的に、物理ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの他の実施形態において、入力コントローラ（単数又は複数）１６０は、キーボード、赤外線ポート、ＵＳＢポート、及びマウスなどのポインタデバイスのうちのいずれかに、任意選択的に連結される（又は、いずれにも連結されない）。１つ以上のボタンは、スピーカ１１１及び／又はマイクロフォン１１３の音量調節のためのアップ／ダウンボタンを任意選択的に含む。１つ以上のボタンは、任意選択的に、プッシュボタンを含む。
【００７０】
タッチ感知ディスプレイ１１２は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ１５６は、タッチスクリーン１１２から電気信号を受信し、及び／又はそれへ電気信号を送信する。タッチスクリーン１１２は、ユーザに視覚出力を表示する。視覚出力は、任意選択的に、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組合せ（総称して「グラフィック」と称する）を含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。
【００７１】
タッチスクリーン１１２は、触覚及び／若しくは触感の接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン１１２及びディスプレイコントローラ１５６は（メモリ１０２内の任意の関連モジュール及び／又は命令セットと共に）、タッチスクリーン１１２上で接触（及び任意の接触の移動又は中断）を検出し、検出された接触をタッチスクリーン１１２上に表示されたユーザインタフェースオブジェクト（例えば、１つ以上のソフトキー、アイコン、ウェブページ又は画像）との対話に変換する。例示的な実施形態では、タッチスクリーン１１２とユーザとの間の接触点は、ユーザの指の下の領域に対応する。
【００７２】
タッチスクリーン１１２は任意選択的に、ＬＣＤ（液晶ディスプレイ）技術、ＬＰＤ（発光ポリマーディスプレイ）技術又はＬＥＤ（発光ダイオード）技術、あるいはＯＬＥＤ（有機発光ダイオード）技術、を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン１１２及びディスプレイコントローラ１５６は、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術、並びに、タッチスクリーン１１２との１つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在公知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び接触のあらゆる移動又は中断を任意選択的に検出する。例示的な実施形態では、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡＰＰＬＥ  Ｉｎｃ．からのＩＰＨＯＮＥ（登録商標）、ＩＰＯＤ  ＴＯＵＣＨ（登録商標）、及びＩＰＡＤ（登録商標）などにおいて見られるような、投影された相互キャパシタンス感知技術が使用されている。
【００７３】
タッチスクリーン１１２は、任意選択的に、４００ｄｐｉを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーン１１２は、少なくとも６００ｄｐｉのビデオ解像度を有する。他の実施形態では、タッチスクリーン１１２は、少なくとも１０００ｄｐｉのビデオ解像度を有する。ユーザは、スタイラス、指などの任意の好適な物体又はディジットを使用して、タッチスクリーン１１２と任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、指による接触及びジェスチャと主に作用するように設計されている。いくつかの実施形態では、デバイスは、指に基づく入力を、正確なポインタ／カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
【００７４】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス１００は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化させるためのタッチパッド（図示せず）を含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知領域である。タッチパッドは、任意選択的に、タッチスクリーン１１２とは別個のタッチ感知面、又はタッチスクリーンによって形成されたタッチ感知面の延長である。
【００７５】
デバイス１００はまた、さまざまな構成要素に電力を供給するための電力システム１６２も含む。電力システム１６２は、任意選択的に、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ（例えば、発光ダイオード（ＬＥＤ））、並びにポータブルデバイス内での電力の生成、管理、及び分配と関連付けられた任意の他の構成要素を含む。
【００７６】
デバイス１００はまた、１つ以上の光センサ１６４をも、任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の光センサコントローラ１５８に結合された光センサを示す。光センサ１６４は、電荷結合デバイス（ＣＣＤ）又は相補的金属酸化物半導体（ＣＭＯＳ）フォトトランジスタを任意選択的に含む。光センサ１６４は、１つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表現するデータに変換する。撮像モジュール１４３（カメラモジュールとも称する）と併用して、光センサ１６４は、静止画像又はビデオを任意選択的にキャプチャする。いくつかの実施形態では、タッチ感知ディスプレイを静止画像及び／又はビデオ画像取得のためのビューファインダとして有効化するように、光センサは、デバイスの前面のタッチスクリーン１１２の反対側である、デバイス１００の背面に配置されている。いくつかの実施形態では、ユーザがタッチ感知ディスプレイ上で他のテレビ会議参加者を見ている間に、ユーザの画像を、テレビ会議のために任意選択的に、得るように、別の光センサがデバイスの前面に配置される。
【００７７】
デバイス１００はまた、１つ以上の接触強度センサ１６５も任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の強度センサコントローラ１５９に連結された接触強度センサを示す。接触強度センサ１６５は、１つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ（例えば、タッチ感知面上の接触の力（又は圧力）を測定するために使用するセンサ）を、任意選択的に含む。接触強度センサ１６５は、環境から接触強度情報（例えば、圧力情報又は圧力情報の代用物）を受信する。いくつかの実施形態では、少なくとも１つの接触強度センサが、タッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）と共にコロケートされているか、又は、それに近接している。いくつかの実施形態では、少なくとも１つの接触強度センサが、デバイス１００の前面に配置されたタッチスクリーン１１２の反対側である、デバイス１００の背面に配置されている。
【００７８】
デバイス１００はまた、任意選択的に、１つ以上の近接センサ１６６を含む。図１Ａは、周辺機器インタフェース１１８と連結された近接センサ１６６を示す。あるいは、近接センサ１６６は、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０に結合される。いくつかの実施形態において、多機能デバイスがユーザの耳の近くに配置されている場合（例えば、ユーザが電話通話を行っている場合）、近接センサがオフになり、タッチスクリーン１１２が無効になる。
【００７９】
デバイス１００はまた、任意選択的に、１つ以上の触知出力生成器１６７を含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の触覚フィードバックコントローラ１６１に連結された触知出力生成器を示す。触知出力生成器１６７は、スピーカ又は他のオーディオ構成要素などの１つ以上の電気音響デバイス、及び／又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素（例えば、デバイス上で電気信号を触知出力に変換する構成要素）などの、エネルギーを直線運動に変換する電気機械デバイスを、任意選択的に含む。接触強度センサ１６５は、触覚フィードバックモジュール１３３から触覚フィードバック生成命令を受信し、デバイス１００のユーザが感知できる触知出力をデバイス１００上で生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器は、タッチ感知面（例えば、タッチ感知ディスプレイシステム１１２）に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向（例えば、デバイス１００の表面の内／外）に、又は横方向（例えば、デバイス１００の表面と同じ平面内の前後）に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器センサが、デバイス１００の前面に配置されたタッチ感知ディスプレイ１１２の反対側である、デバイス１００の背面に配置されている。
【００８０】
デバイス１００はまた、任意選択的に、１つ以上の加速度計１６８を含む。図１Ａは、周辺機器インタフェース１１８に連結された加速度計１６８を示す。あるいは、加速度計１６８は、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０に、任意選択的に、連結される。いくつかの実施形態では、情報は、１つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチ感知ディスプレイ上に表示される。デバイス１００は、加速度計（単数又は複数）１６８に加えて、磁気計（図示せず）並びにデバイス１００の位置及び向き（例えば、縦長又は横長）に関する情報を取得するためのＧＰＳ（又はＧＬＯＮＡＳＳ又は他のグローバルナビゲーションシステム）受信部（図示せず）を任意選択的に含む。
【００８１】
いくつかの実施形態において、メモリ１０２に記憶されたソフトウェア構成要素は、オペレーティングシステム１２６、通信モジュール（又は命令セット）１２８、接触／動きモジュール（又は命令セット）１３０、グラフィックモジュール（又は命令セット）１３２、テキスト入力モジュール（又は命令セット）１３４、全地球測位システム（ＧＰＳ）モジュール（又は命令セット）１３５、及びアプリケーション（又は命令セット）１３６を含む。更に、いくつかの実施形態では、図１Ａに示すように、メモリ１０２は、デバイス／グローバル内部状態１５７、（任意選択的に、以前に訪れた住所４０２、カレンダー項目のデータ構造３０２、目的地予測モジュール１６３−１、ルート判定モジュール１６３−２、及び／又は出発リマインドモジュール１６３−３のうちの１つ以上を含む）目的地判定モジュール１６３を記憶している。デバイス／グローバル内部状態１５７は、以下の１つ以上を含む。現在アクティブ状態のアプリケーションがある場合、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイ１１２のさまざまな領域を占領しているかを示す、表示状態、デバイスのさまざまなセンサ及び入力制御デバイス１１６から得られる情報を含む、センサ状態、及び、デバイスの位置及び／又は姿勢（例えば、デバイスの向き）に関する位置情報。
【００８２】
オペレーティングシステム１２６（例えば、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又はＶｘＷｏｒｋｓ（登録商標）などの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御及び管理するためのさまざまなソフトウェア構成要素及び／又はドライバを含み、さまざまなハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【００８３】
通信モジュール１２８は、１つ以上の外部ポート１２４を介して他のデバイスとの通信を容易にし、ＲＦ回路１０８及び／又は外部ポート１２４が受信したデータを処理するためのさまざまなソフトウェア構成要素を含む。外部ポート１２４（例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）など）は、直接的に、又はネットワーク（例えば、インターネット、無線ＬＡＮなど）を通して間接的に、他のデバイスに接続するように適応している。いくつかの実施形態では、外部ポートは、ＡＰＰＬＥ  Ｉｎｃ．のＩＰＯＤ（登録商標）デバイスのいくつかの実施形態で使用される３０ピンコネクタと同じ、あるいはそれに類似する及び／又はそれと互換性のあるマルチピン（例えば、３０ピン）コネクタである。他の実施形態では、外部ポートは、ＡＰＰＬＥ  Ｉｎｃ．のＬＩＧＨＴＮＩＮＧ（登録商標）コネクタで使用される８ピンコネクタと同じ、あるいはそれに類似する及び／又はそれと互換性のあるマルチピン（例えば、８ピン）コネクタである。
【００８４】
接触／動きモジュール１３０は、任意選択的に、（ディスプレイコントローラ１５６と連携して）タッチスクリーン１１２及び他のタッチ感知デバイス（例えば、タッチパッド又は物理クリックホイール）との接触を検出する。接触／動きモジュール１３０は、接触が生じたか否かを判定すること（例えば、指を下ろすイベントを検出すること）、接触の強度（例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替物）を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること（例えば、指をドラッグする１つ以上のイベントを検出すること）、及び接触が停止したか否かを判定すること（例えば、指を上げるイベント又は接触の中断を検出すること）などの、接触の検出に関するさまざまな動作を実行するための、さまざまなソフトウェア構成要素を含む。接触／動きモジュール１３０は、タッチ感知面から接触データを受信する。一連の接触データにより表現される接触点の移動を判定することは、接触点の速さ（大きさ）、速度（大きさ及び方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを任意選択的に含む。これらの動作は任意選択的に、単一の接触（例えば、１つの指の接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指の接触）に適用される。いくつかの実施形態では、接触／動きモジュール１３０及びディスプレイコントローラ１５６は、タッチパッド上の接触を検出する。
【００８５】
いくつかの実施形態では、接触／動きモジュール１３０は、ユーザによって動作が実行されたか否かを判定するための（例えば、ユーザがアフォーダンス上で選択したか、あるいは「クリック」したかを判定するための）、１つ以上の強度閾値のセットを使用する。いくつかの実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される（例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス１００の物理ハードウェアを変更することなく調整し得る）。例えば、トラックパッド又はタッチ感知ディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチ感知ディスプレイのハードウェアを変更することなく広範囲の所定の閾値のうちのいずれかに設定することができる。更に、一部の実装では、デバイスのユーザには、（例えば、個々の強度閾値を調整することにより、及び／又は、システムレベルのクリック「強度」パラメータにより、一度に複数の強度閾値を調整することによって）強度閾値のセットのうちの１つ以上を調整するためのソフトウェア設定が提供される。
【００８６】
接触／動きモジュール１３０は任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン（例えば、異なる動き、タイミング、及び／又は検出される接触の強度）を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、指のタップジェスチャを検出することは、（例えば、アイコンの位置での）指を下ろすイベントを検出し、続いてその指を下ろすイベントと同じ位置（又は、実質的に同じ位置）で指を上げる（リフトオフ）イベントを検出することを含む。別の実施例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、１つ以上の、指をドラッグするイベントを検出し、いくつかの実施形態では、その後、続いて指を上げる（リフトオフ）イベントを検出することを含む。
【００８７】
グラフィックモジュール１３２は、表示されるグラフィックの視覚的効果（例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性）を変更するための構成要素を含めた、タッチスクリーン１１２又は他のディスプレイ上にグラフィックをレンダリングして表示するための、さまざまな既知のソフトウェア構成要素を含む。本明細書で使用する時、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、これらのオブジェクトとしては、テキスト、ウェブページ、アイコン（ソフトキーを含むユーザインタフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【００８８】
いくつかの実施形態では、グラフィックモジュール１３２は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール１３２は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する１つ以上のコードを受信し、次にディスプレイコントローラ１５６に出力する画面の画像データを生成する。
【００８９】
触覚フィードバックモジュール１３３は、デバイス１００とのユーザ対話に応じて、デバイス１００上の１つ以上の場所で触知出力を生成するために、触知出力生成器（単数又は複数）１６７によって使用される命令を生成するための、さまざまなソフトウェア構成要素を含む。
【００９０】
テキスト入力モジュール１３４は、任意選択的に、グラフィックモジュール１３２の構成要素であり、さまざまなアプリケーション（例えば、連絡先モジュール１３７、電子メールクライアントモジュール１４０、ＩＭモジュール１４１、ブラウザモジュール１４７、及びテキスト入力を必要とする任意の他のアプリケーション）でテキストを入力するための、ソフトキーボードを提供する。
【００９１】
ＧＰＳモジュール１３５は、デバイスの位置を判断し、この情報をさまざまなアプリケーションで使用するために提供する（例えば、ロケーションベースダイヤル発呼で使用するための電話１３８へ、ピクチャ／ビデオのメタデータとしてカメラ１４３へ、並びに気象ウィジェット、地方のイエローページウィジェット、及び地図／ナビゲーションウィジェットなどのロケーションベースのサービスを提供するアプリケーションへ）。
【００９２】
アプリケーション（「ａｐｐ」）１３６は、任意選択的に、以下のモジュール（又は、命令セット）、あるいはそれらのサブセット又はスーパーセットを含む。
●連絡先モジュール１３７（時には、アドレス帳又は連絡先リストとも呼ぶ）、
●電話モジュール１３８、
●テレビ会議モジュール１３９、
●電子メールクライアントモジュール１４０、
●インスタントメッセージ（ＩＭ）モジュール１４１、
●フィットネスモジュール１４２、
●静止画像及び／又はビデオ画像用のカメラモジュール１４３、
●画像管理モジュール１４４、
●ブラウザモジュール１４７、
●カレンダーモジュール１４８、
●気象ウィジェット１４９−１、株価ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、辞書ウィジェット１４９−５、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうちの１つ以上を任意選択的に含む、ウィジェットモジュール１４９、
●検索モジュール１５１、
●任意選択的にビデオ再生モジュール及び音楽再生モジュールから構成されている、ビデオ及び音楽プレーヤモジュール１５２、
●メモモジュール１５３、
●地図モジュール１５４、及び／又は
●オンラインビデオモジュール１５５。
【００９３】
任意選択的にメモリ１０２内に記憶される他のアプリケーション１３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、ユーザ作成ウィジェット１４９−６を作製するためのウィジェットクリエータモジュール、及び音声複製が挙げられる。
【００９４】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、連絡先モジュール１３７は、（例えば、メモリ１０２内の連絡先モジュール１３７に記憶される）アドレス帳又は連絡先リストを管理するために任意選択的に使用され、それには、アドレス帳に名前（単数又は複数）を加えること、アドレス帳から名前（単数又は複数）を削除すること、電話番号（単数又は複数）、メールアドレス（単数又は複数）、住所（単数又は複数）、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話モジュール１３８、テレビ会議モジュール１３９、電子メールクライアントモジュール１４０、若しくはＩＭモジュール１４１による通信を開始する及び／又は容易にすること、などが含まれる。
【００９５】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、電話モジュール１３８は、任意選択的に、電話番号に対応する一連の文字を入力したり、アドレス帳１３７内の１つ以上の電話番号にアクセスしたり、入力されている電話番号を修正したり、各々の電話番号をダイヤルしたり、会話を実行したり、会話が完了した際に接続を切るか又は電話を切ったりするために使用される。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを任意選択的に使用する。
【００９６】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロフォン１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先リスト１３７、及び電話モジュール１３８と関連して、テレビ会議モジュール１３９は、ユーザの指示に従って、ユーザと１人以上の他の参加者との間のテレビ会議を開始し、行い、終了するための実行可能命令を含む。
【００９７】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、電子メールクライアントモジュール１４０は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能命令を含んでいる。画像管理モジュール１４４と連携して、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
【００９８】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、インスタントメッセージモジュール１４１は、インスタントメッセージに対応する文字列を入力し、入力済みの文字を修正し、対応するインスタントメッセージを送信し（例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（ＭＭＳ）プロトコルを用いて、又はインターネットベースのインスタントメッセージのためのＸＭＰＰ、ＳＩＭＰＬＥ、若しくはＩＭＰＳを用いて）、インスタントメッセージを受信しその受信したインスタントメッセージを表示するための実行可能命令を含む。いくつかの実施形態では、送信及び／又は受信されるインスタントメッセージは、任意選択的に、ＭＭＳ及び／又は拡張メッセージングサービス（Ｅｎｈａｎｃｅｄ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ、ＥＭＳ）でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び／又は他の添付ファイルを含む。本明細書で使用する時、「インスタントメッセージ」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されるメッセージ）及びインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、又はＩＭＰＳを使用して送信されるメッセージ）の双方を示す。
【００９９】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４、並びに、ビデオ及び音楽プレーヤモジュール１５２と関連して、フィットネスモジュール１４２は、トレーニングを作成したり（例えば、時間、距離、及び／又はカロリー消費目標に関して）、トレーニングセンサ（携帯時計若しくは歩数計などのスポーツデバイス）と通信したり、トレーニングセンサデータを受信したり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
【０１００】
タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ（単数又は複数）１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と関連して、カメラモジュール１４３は、静止画像又はビデオ（ビデオストリームを含む）をキャプチャしてメモリ１０２にそれらを記憶する、静止画像又はビデオの特徴を変更する、又はメモリ１０２から静止画像若しくはビデオを削除するための実行可能命令が含まれる。
【０１０１】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と関連して、画像管理モジュール１４４は、静止画像及び／又はビデオ画像を配置したり、修正したり（例えば、編集し）又は別の方法で操作したり、ラベルを付けたり、削除し、提示し（例えば、デジタルスライドショー又はアルバム内で）、並びに記憶するための実行可能命令を含む。
【０１０２】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、ブラウザモジュール１４７は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイル全体にわたってナビゲートし、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
【０１０３】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と共に、カレンダーモジュール１４８は、ユーザの指示に従い、カレンダー及びカレンダーと関連付けられたデータ（例えば、カレンダー項目、すべきことのリストなど）を作成し、表示し、変更し、記憶するための実行可能命令を含む。
【０１０４】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と共に、ウィジェットモジュール１４９は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション（例えば、気象ウィジェット１４９−１、株価ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、及び辞書ウィジェット１４９−５）、又はユーザによって作成されるミニアプリケーション（例えば、ユーザ作成ウィジェット１４９−６）である。いくつかの実施形態では、ウィジェットは、ＨＴＭＬ（ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイルを含む。いくつかの実施形態では、ウィジェットは、ＸＭＬ（拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔファイル（例えば、Ｙａｈｏｏ！（登録商標）ウィジェット）を含む。
【０１０５】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と併せて、ウィジェットクリエータモジュール（図示されていない）は、ウィジェットを作成する（例えば、ウェブページのユーザ指定箇所をウィジェットに変える）ために、ユーザによって任意選択的に使用される。
【０１０６】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、検索モジュール１５１は、ユーザの指示に従い、１つ以上の検索基準（例えば、１つ以上のユーザ指定の検索語句）と一致する、メモリ１０２内のテキスト、音楽、音、画像、ビデオ、及び／又は他のファイルを検索するための実行可能命令を含んでいる。
【０１０７】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と関連して、ビデオ及び音楽プレーヤモジュール１５２は、ＭＰ３又はＡＡＣファイルなどの１つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びに、ビデオを（例えば、タッチスクリーン１１２上又は外部ポート１２４を介して接続された外部のディスプレイ上に）表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態では、デバイス１００は、任意選択的に、ＡＰＰＬＥ  Ｉｎｃ．のＩＰＯＤ（登録商標）などのＭＰ３プレーヤの機能を備える。
【０１０８】
タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と関連して、メモモジュール１５３は、ユーザの指示に従って、メモ、ＴｏＤｏリストなどを作成及び管理するための実行可能命令を含む。
【０１０９】
ＲＦ回路１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と併せて、地図モジュール１５４は任意選択的に、ユーザの指示に従って、地図及び地図と関連付けられたデータ（例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ）を受信し、表示し、修正し、記憶するために使用することができる。
【０１１０】
タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と関連して、オンラインビデオモジュール１５５は、ユーザがＨ．２６４などの１つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し（例えば、ストリーミング及び／又はダウンロードにより）、再生し（例えば、タッチスクリーン上で又は外部ポート１２４を介して接続された外部のディスプレイ上で）、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含んでいる。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール１４０ではなく、インスタントメッセージモジュール１４１が用いられる。
【０１１１】
図１Ａに示したように、ポータブル多機能デバイス１００はまた、デバイス１００上で（例えば、以前に訪れた住所４０２又はカレンダー項目のデータ構造３０２からデータを取り出し、取り出したデータを使用して出発時刻リマインダを生成する）目的地判定動作を調整するための目的地判定モジュール１６３を含む。目的地判定モジュール１６３は任意選択的に以下のモジュール（又は、命令セット）、あるいはサブセット又はスーパーセットを含む。
●デバイス１００のユーザが前に訪れたことがある住所（又は住所に対応するＧＰＳ座標）に関する情報を記憶するための以前に訪れた住所４０２；
●デバイス１００のユーザと関連付けられたカレンダー項目に関する情報を記憶するためのカレンダー項目のデータ構造３０２；
●目的地予測モジュール１６３−１；
●ルート判定モジュール１６３−２；
●出発リマインドモジュール１６３−３。
【０１１２】
ＧＰＳモジュール１３５、オペレーティングシステム１２６、Ｉ／Ｏサブシステム１０６、以前に訪れた住所４０２、カレンダー項目のデータ構造３０２、地図モジュール１５４及びカレンダーモジュール１４８と併せて、目的地予測モジュール１６３−１は、カレンダー項目（例えば、カレンダー項目のデータ構造３０２に記憶された１つ以上のレコード）をスキャンし、以前に訪れた住所（例えば、以前に訪れた住所４０２に記憶された以前に訪れた住所）に基づいて、対応するカレンダー項目についての目的地を予測する実行可能命令を含む。
【０１１３】
ＧＰＳモジュール１３５、オペレーティングシステム１２６、Ｉ／Ｏサブシステム１０６、以前に訪れた住所４０２、カレンダー項目のデータ構造３０２、地図モジュール１５４及びカレンダーモジュール１４８と併せて、ルート判定モジュール１６３−２は、特定の目的地までの１つ以上の可能なルート（例えば、徒歩、サイクリング、ドライビング、公共輸送期間など）を判定する実行可能命令を含む。
【０１１４】
ＧＰＳモジュール１３５、オペレーティングシステム１２６、Ｉ／Ｏサブシステム１０６、以前に訪れた住所４０２、カレンダー項目のデータ構造３０２、地図モジュール１５４及びカレンダーモジュール１４８と併せて、出発リマインドモジュール１６３−３は、次のイベントの出発時刻であるというリマインダをデバイス１００のユーザに提供する実行可能命令を含む（例えば、例示的なリマインダを備える例示的なユーザインタフェースオブジェクト７０２が、図７Ｂに示される）。
【０１１５】
上記で特定されたモジュール及びアプリケーションのそれぞれは、１つ以上の上記の機能を実行する実行可能命令セット及び本出願に記載の方法（例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法）に対応する。これらのモジュール（すなわち、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールのさまざまなサブセットは、さまざまな実施形態において任意選択的に、組合せ、又は再配置される。いくつかの実施形態では、メモリ１０２は、任意選択的に、上述の識別されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ１０２は、任意選択的に、上述されていない追加のモジュール及びデータ構造を記憶する。
【０１１６】
いくつかの実施形態では、デバイス１００は、デバイス上の機能の所定のセットの動作が排他的にタッチスクリーン及び／又はタッチパッドを介して実行されるデバイスである。デバイス１００の動作のための主要入力制御デバイスとしてタッチスクリーン及び／又はタッチパッドを使用することにより、デバイス１００上の物理的な入力制御デバイス（プッシュボタン、ダイヤル、など）の数を、任意選択的に低減する。
【０１１７】
排他的にタッチスクリーン及び／又はタッチパッドを介して実行される、所定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス１００上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス１００をナビゲートする。かかる実施形態において、「メニューボタン」はタッチパッドを使って実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
【０１１８】
図１Ｂは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、（図１Ａの）メモリ１０２は、（例えば、オペレーティングシステム１２６の）イベントソート部１７０及びポータブル多機能デバイス１００（図１Ａ）のアプリケーション１３６の中から選択される対応するアプリケーション１３６−１（例えば、アプリケーション１３６を備えるメモリ１０２に記憶された上述のアプリケーションのうちのいずれか）を含む。
【０１１９】
イベントソート部１７０は、イベント情報を受信し、イベント情報が配信されるアプリケーション１３６−１及びアプリケーション１３６−１のアプリケーションビュー１９１を決定する。イベントソート部１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。いくつかの実施形態では、アプリケーション１３６−１には、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ１１２上に表示される現在のアプリケーションビュー（単数又は複数）を示す、アプリケーション内部状態１９２が含まれる。いくつかの実施形態では、デバイス／グローバル内部状態１５７は、いずれのアプリケーション（単数又は複数）が現在アクティブであるかを判定するために、イベントソート部１７０によって使用され、アプリケーション内部状態１９２は、イベント情報が配信されるアプリケーションビュー１９１を決定するために、イベントソート部１７０によって使用される。
【０１２０】
いくつかの実施形態では、アプリケーション内部状態１９２は、アプリケーション１３６−１が実行を再開する際に使用される再開情報、アプリケーション１３６−１によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション１３６−１の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ／アンドゥ待ち行列、のうちの１つ以上などの追加情報を含む。
【０１２１】
イベントモニタ１７１は、周辺機器インタフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ１１２上のユーザタッチ）の情報を含む。周辺機器インタフェース１１８は、Ｉ／Ｏサブシステム１０６、又は近接センサ１６６、加速度計（単数又は複数）１６８、及び／若しくは（オーディオ回路１１０を介する）マイクロフォン１１３などのセンサから受信する情報を送信する。周辺機器インタフェース１１８がＩ／Ｏサブシステム１０６から受信する情報には、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報が含まれる。
【０１２２】
いくつかの実施形態では、イベントモニタ１７１は、所定の間隔で周辺機器インタフェース１１８に要求を送信する。これに応じて、周辺機器インタフェース１１８はイベント情報を送信する。他の実施形態では、周辺機器インタフェース１１８は、重要なイベント（例えば、所定のノイズ閾値を上回り、かつ／又は所定の持続時間を超えた入力を受けること）が存在する場合にのみ、イベント情報を送信する。
【０１２３】
いくつかの実施形態では、イベントソート部１７０はまた、ヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３も含む。
【０１２４】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が１つよりも多いビューを表示した際に、１つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成されている。
【０１２５】
アプリケーションと関連付けられたユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合があるビューのセットであり、それらの中に情報が表示され、タッチベースのジェスチャが行われる。タッチが検出される（それぞれのアプリケーションの）アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに任意選択的に、対応する。例えば、タッチが検出される最低レベルのビューは、任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、任意選択的に、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて判定される。
【０１２６】
ヒットビュー判定モジュール１７２は、タッチベースのジェスチャのサブイベントと関連付けられた情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール１７２は、そのサブイベントを処理すべき階層内の最下位のビューとしての、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、起因となるサブイベント（即ち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント）が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する全てのサブイベントを受信する。
【０１２７】
アクティブイベント認識部判定モジュール１７３は、ビュー階層内のどのビュー（単数又は複数）がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
【０１２８】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えば、イベント認識部１８０）に送信する。アクティブイベント認識部判定モジュール１７３を含む実施形態において、イベントディスパッチャモジュール１７４は、アクティブイベント認識部判定モジュール１７３により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール１７４は、対応するイベント受信部１８２により取得されるイベント情報をイベント待ち行列に記憶する。
【０１２９】
いくつかの実施形態では、オペレーティングシステム１２６は、イベントソート部１７０を含む。あるいは、アプリケーション１３６−１はイベントソート部１７０を含む。更に他の実施形態では、イベントソート部１７０は、独立型のモジュール、又は接触／動きモジュール１３０などの、メモリ１０２に記憶された別のモジュールの一部である。
【０１３０】
いくつかの実施形態では、アプリケーション１３６−１は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部１９０及び１つ以上のアプリケーションビュー１９１を含む。アプリケーション１３６−１の各アプリケーションビュー１９１は、１つ以上のイベント認識部１８０を含む。通常は、それぞれのアプリケーションビュー１９１に複数のイベント認識部１８０が含まれる。他の実施形態では、イベント認識部１８０のうちの１つ以上は、ユーザインタフェースキット（図示せず）又はアプリケーション１３６−１が方法及び他の特性を継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部１９０は、データ更新部１７６、オブジェクト更新部１７７、ＧＵＩ更新部１７８、及び／又はイベントソート部１７０から受信したイベントデータ１７９、のうちの１つ以上を含む。イベント処理部１９０は、アプリケーション内部状態１９２を更新するために、データ更新部１７６、オブジェクト更新部１７７、又はＧＵＩ更新部１７８を任意選択的に利用するか、呼び出す。あるいは、アプリケーションビュー１９１のうちの１つ以上は、１つ以上の対応するイベント処理部１９０を含んでいる。また、いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８のうちの１つ以上は、対応するアプリケーションビュー１９１に含まれる。
【０１３１】
対応するイベント認識部１８０は、イベントソート部１７０からイベント情報（例えば、イベントデータ１７９）を受信して、そのイベント情報からイベントを特定する。イベント認識部１８０は、イベント受信部１８２及びイベント比較部１８４を含む。いくつかの実施形態ではでは、イベント認識部１８０は更に、メタデータ１８３及びイベント配信命令１８８（任意選択的に、サブイベント配信命令を含む）の少なくともサブセットを含む。
【０１３２】
イベント受信部１８２は、イベントソート部１７０からイベント情報を受信する。このイベント情報には、サブイベントについての情報、例えば、タッチ又はタッチの動きについての情報が含まれる。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントが、タッチの動きに関わる時、イベント情報は、サブイベントの速度及び方向を任意選択的に、更に含む。いくつかの実施形態では、イベントは、１つの向きから別の向きへの（例えば、縦向きから横向きへの、又はその逆の）デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれる）についての対応する情報を含む。
【０１３３】
イベント比較部１８４は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態において、イベント比較部１８４は、イベント定義１８６を含む。イベント定義１８６は、例えば、イベント１（１８７−１）、イベント２（１８７−２）などの、イベントの定義（例えば、サブイベントの既定のシーケンス）を含む。いくつかの実施形態では、イベント１８７内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例では、イベント１（１８７−１）の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第１のタッチ（タッチ開始）、所定の段階についての第１のリフトオフ（タッチ終了）、表示されたオブジェクト上の所定の段階についての第２のタッチ（タッチ開始）、及び所定の段階についての第２のリフトオフ（タッチ終了）を含む。別の実施例では、イベント２（１８７−２）の定義は、表示されたオブジェクト上のドラッグ操作である。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ（又は接触）、タッチ感知ディスプレイ１１２にわたるタッチの動き、及びタッチのリフトオフ（タッチ終了）を含む。いくつかの実施形態では、イベントにはまた、１つ以上の関連付けられたイベント処理部１９０に関する情報も含まれる。
【０１３４】
いくつかの実施形態では、イベント定義１８６は、各ユーザインタフェースオブジェクトに関するイベントの定義を含む。いくつかの実施形態では、イベント比較部１８４は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているのかを判定するヒットテストを実行する。例えば、３つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ１１２に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４は、３つのユーザインタフェースオブジェクトのうちのどれがタッチ（サブイベント）に関連付けられているかを判定するためのヒットテストを行う。表示された各オブジェクトが、対応するイベント処理部１９０と関連付けられている場合、イベント比較部は、ヒットテストの結果を使用して、どのイベント処理部１９０をアクティブ化すべきかを判定する。例えば、イベント比較部１８４は、サブイベント及びヒットテストのトリガとなるオブジェクトと関連付けられたイベント処理部を選択する。
【０１３５】
いくつかの実施形態では、それぞれのイベント１８７の定義は、サブイベントのシーケンスが、イベント認識部のイベントタイプに対応するか対応しないかが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
【０１３６】
それぞれのイベント認識部１８０が、一連のサブイベントがイベント定義１８６のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部１８０は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチベースのジェスチャのサブイベントを、引き続き追跡及び処理する。
【０１３７】
いくつかの実施形態では、それぞれのイベント認識部１８０は、構成変更可能なプロパティと、フラグと、及び／又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストと、を有するメタデータ１８３を含む。いくつかの実施形態では、メタデータ１８３は、構成可能なプロパティと、フラグと、及び／又はイベント認識部が互いにどのように対話し得るか又は対話が可能になるかについて示すリストと、を含む。いくつかの実施形態では、メタデータ１８３は、構成変更可能なプロパティと、フラグと、及び／又はサブイベントがビュー階層又はプログラム階層内のさまざまなレベルに配信されるか否かを示すリストと、を含む。
【０１３８】
いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントの１つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベント処理部１９０をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部１８０は、イベントに関連付けられたイベント情報をイベント処理部１９０に配信する。イベント処理部１９０をアクティブ化することは、対応するヒットビューにサブイベントを送信（及び送信を延期する）することとは異なる。いくつかの実施形態では、イベント認識部１８０は、認識されたイベントと関連付けられたフラグをスローし、フラグと関連付けられたイベント処理部１９０は、フラグをキャッチし、所定の処理を実行する。
【０１３９】
いくつかの実施形態では、イベント配信命令１８８は、イベント処理部をアクティブ化することなくサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部又はアクティブに関わっているビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
【０１４０】
いくつかの実施形態では、データ更新部１７６は、アプリケーション１３６−１で使用されるデータを作成及び更新する。例えば、データ更新部１７６は、連絡先モジュール１３７で使用される電話番号を更新するか、又はビデオ及び音楽プレーヤモジュール１５２で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部１７７は、アプリケーション１３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部１７６は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。ＧＵＩ更新部１７８は、ＧＵＩを更新する。例えば、ＧＵＩ更新部１７８は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール１３２に送る。
【０１４１】
いくつかの実施形態では、イベント処理部（単数又は複数）１９０は、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８を含むか、又はそれらにアクセスすることができる。いくつかの実施形態では、データ更新部１７６、オブジェクト更新部１７７、及びＧＵＩ更新部１７８は、それぞれのアプリケーション１３６−１又はアプリケーションビュー１９１の単一モジュールに含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュールに含まれる。
【０１４２】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の説明はまた、入力デバイスを用いて多機能デバイス１００を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示検出された眼球運動、バイオメトリック入力、及び／又はこれらの任意の組合せが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
【０１４３】
図１Ｃは、いくつかの実施形態に係る、タッチ感知ディスプレイ（例えば、タッチスクリーン１１２）を有するポータブル多機能デバイス（例えば、ポータブル多機能デバイス１００）の概略図である。いくつかの実施形態並びに以下に説明する他の実施形態では、ユーザは、例えば、１本以上の指又は１つ以上のスタイラスを用いて、スクリーン上でジェスチャを行うことによって、タッチ感知ディスプレイに表示された１つ以上のグラフィックを選択することができる。いくつかの実施形態では、ユーザが（例えば、スクリーンから指をリフトオフすることによって）１つ以上のグラフィックとの接触を断った際に、その１つ以上のグラフィックの選択が生じる。いくつかの実施形態では、ジェスチャは、任意選択的に、１回以上のタップジェスチャ（例えば、一連のスクリーン上のタッチの後のリフトオフ）、１回以上のスワイプジェスチャ（例えば、左から右へ、右から左へ、上方向へ及び／又は下方向へのスクリーンの表面に沿ったジェスチャの間の連続した接触）、並びに／又は、デバイス１００と接触した指の（例えば、右から左へ、左から右へ、上方向へ及び／若しくは下方向への）ローリングを含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、アプリケーションを起動するためのジェスチャがタップジェスチャである場合、アプリケーションアフォーダンス（例えば、アイコン）の上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に起動しない（例えば、開かない）。
【０１４４】
デバイス１００はまた、「ホーム」又はメニューボタン２０４などの、１つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン２０４は、デバイス１００上で任意選択的に、実行するアプリケーションのセット内の任意のアプリケーション１３６へのナビゲーションに任意選択的に、使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン１１２に表示されたＧＵＩにおけるソフトキーとして実装されている。
【０１４５】
一実施形態では、デバイス１００は、タッチスクリーン１１２、メニューボタン２０４、デバイスの電源をオン／オフしてデバイスをロックするためのプッシュボタン２０６、音量調整ボタン（単数又は複数）２０８、加入者識別モジュール（ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、及びドッキング／充電用外部ポート１２４を含む。プッシュボタン２０６は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン／オフし、ボタンを押し下げて、既定時間が経過する前にボタンを解放することによってデバイスをロックし、及び／又は、デバイスのロックを解除する、若しくは、ロック解除処理を開始する。代替実施形態では、デバイス１００はまた、マイクロフォン１１３を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力を受ける。デバイス１００はまた、タッチスクリーン１１２上の接触の強度を検出するための１つ以上の接触強度センサ１６５、及び／又は、デバイス１００のユーザに対する触知出力を生成するための１つ以上の触知出力生成器１６７も、任意選択的に含む。
【０１４６】
図１Ｄは、ディスプレイ１９４（例えば、タッチスクリーン１１２）とは別個のタッチ感知面１９５（例えば、タブレット又はタッチパッド）を備えるデバイス（例えば、図１Ａのデバイス１００）上のユーザインタフェースを示す。いくつかの実施形態では、タッチス感知面１９５は、任意選択的に、タッチス感知面１９５上での接触の強度を検出するための１つ以上の接触強度センサ（例えば、接触強度センサ（単数又は複数）３５９のうちの１つ以上）及び／又はタッチ感知面１９５のユーザの触知出力を生成するための１つ以上の触知出力生成器３５７を含む。
【０１４７】
以下の実施例のうちのいくつかはタッチスクリーン１１２上での入力（タッチ感知面とディスプレイとが組み合わされた場合）を参照して説明されるが、いくつかの実施形態では、デバイスは、図１Ｄに示すように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面（例えば、図１Ｄの１９５）は、ディスプレイ（例えば、１９４）上の主軸（例えば、図１Ｄの１９８）に対応する主軸（例えば、図１Ｄの１９９）を有する。これらの実施形態によれば、デバイスは、タッチ感知面１９５との接触（例えば、図１Ｄの１９７−１及び１９７−２）を、ディスプレイ上のそれぞれの場所に対応する場所（例えば、図１Ｄでは、１９７−１は１９６−１に対応し、１９７−２は１９６−２に対応する）にて検出する。このように、タッチ感知面がディスプレイとは別個のものである時、タッチ感知面（例えば、図１Ｄの１９５）上でデバイスによって検出されたユーザ入力（例えば、接触１９７−１及び１９７−２、及びそれらの動き）は、多機能デバイスのディスプレイ（例えば、図１Ｄの１９４）上のユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
【０１４８】
更に加えて、以下の実施例は主に指入力（例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ）を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスに基づく入力、又はスタイラス入力）で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、（例えば、接触の代わりに）マウスクリックと置換され、その後、（例えば、接触の移動の代わりに）スワイプの経路に沿ってカーソルの移動が行われる。別の例として、タップジェスチャは、（例えば、接触の検出に続いて接触の検出を停止する代わりに）カーソルがタップジェスチャの位置上に配置されている間、任意選択的に、マウスクリックで置換される。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが同時に、任意選択的に用いられているか、又はマウスと指接触が任意選択的に同時に用いられていることが理解されよう。
【０１４９】
本明細書にて使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装において、タッチ感知面（例えば、図１Ｄのタッチ感知面１９５（いくつかの実施形態では、タッチ感知面１９５はタッチパッドである））上で入力（例えば、押圧入力）が検出された時に、カーソルが特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の上にあるとき、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ（例えば、図１Ａのタッチ感知ディスプレイシステム１１２、又はタッチスクリーン１１２）を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力（例えば、接触による押圧入力）が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装では、（例えば、タブキー又は矢印キーを使ってフォーカスを１つのボタンから別のボタンに移動させることにより）タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの１つの領域からユーザインタフェースの別の領域に移動される。これらの実装では、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を（例えば、ユーザが対話することを意図しているユーザインタフェース要素をデバイスに示すことによって）通信するようにユーザによって制御されるユーザインタフェース要素（又は、タッチスクリーンディスプレイ上での接触）である。例えば、押圧入力がタッチ感知面（例えば、タッチパッド又はタッチ感知ディスプレイ）上で検出されたときに、対応するボタンの上にあるフォーカスセレクタ（例えば、カーソル、接触又は選択ボックス）の位置は、（デバイスのディスプレイ上に示されている他のユーザインタフェース要素ではなく）対応するボタンをユーザがアクティブ化しようとしていることを示すものである。
【０１５０】
次に、デバイス１００などの、ディスプレイ及びタッチ感知面を備える電子デバイスに実装し得るユーザインタフェース（「ＵＩ」）の実施形態及び関連プロセスに注目する。
【０１５１】
図２は、いくつかの実施形態に係る、アプリケーションのメニューのためのユーザインタフェースを示すために使用される、タッチスクリーンの概略図である。任意選択的に、同様のユーザインタフェースがデバイス１００（図１Ａ）上に実装される。いくつかの実施形態では、アプリケーションのメニューのためのユーザインタフェースは、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）のための信号強度インジケータ（単数又は複数）２０２、
●時刻２０３、
●Ｂｌｕｅｔｏｏｔｈ（登録商標）インジケータ２０５、
●バッテリ状態インジケータ２０６、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを備えるトレー２０９、
○不在着信又はボイスメールメッセージの数のインジケータ２１４を任意選択的に含む、「電話」とラベル付けされる、電話モジュール１３８用のアイコン２１６、
○未読電子メールの数のインジケータ２１０を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール１４０用のアイコン２１８、
○「ブラウザ」とラベル付けされる、ブラウザモジュール１４７用のアイコン２２０、及び
○「ｉＰｏｄ（登録商標）」とラベル付けされた、ＩＰＯＤ（登録商標）（ＡＰＰＬＥ  Ｉｎｃ．の商標）モジュール１５２とも称されるビデオ及び音楽プレーヤモジュール１５２用のアイコン２２２、並びに
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされる、ＩＭモジュール１４１用のアイコン２２４、
○「カレンダー」とラベル付けされる、カレンダーモジュール１４８用のアイコン２２６、
○「写真」とラベル付けされる、画像管理モジュール１４４用のアイコン２２８、
○「カメラ」とラベル付けされる、カメラモジュール１４３用のアイコン２３０、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール１５５用のアイコン２３２、
○「株価」とラベル付けされる株価ウィジェット１４９−２用のアイコン２３４、
○「マップ」とラベル付けされる、地図モジュール１５４用のアイコン２３６、
○「天気」とラベル付けされる、気象ウィジェット１４９−１用のアイコン２３８、
○「時計」とラベル付けされる、アラーム時計ウィジェット１４９−４用のアイコン２４０、
○「フィットネス」とラベル付けされる、フィットネスモジュール１４２用のアイコン２４２、
○「メモ」とラベル付けされる、メモモジュール１５３用のアイコン２４４、
○デバイス１００及びそのさまざまなアプリケーションに関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン２４６、及び
○Ａｐｐ  Ｓｔｏｒｅ、ｉＴｕｎｅｓ（登録商標）、ボイスメモ、及びユーティリティなどの、追加のアプリケーション用の他のアイコン。
【０１５２】
図２に示されているアイコンのラベルは、単に例示的であることに留意されたい。他のラベルが、さまざまなアプリケーションアイコンのために、任意選択的に使用される。例えば、フィットネスモジュール１４２のためのアイコン２４２は、代替的には「フィットネスサポート」、「トレーニング」、「トレーニングサポート」、「エクササイズ」、「エクササイズサポート」、又は「健康」とラベル付けされる。いくつかの実施形態では、各アプリケーションアイコンに関するラベルは、各アプリケーションアイコンに対応するアプリケーションの名称を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名称とは異なる。
【０１５３】
図３Ａ〜図３Ｂは、いくつかの実施形態に係る、（例えば、デバイス１００の特定のユーザの）カレンダー項目を記憶するためのデータ構造を示すブロック図である。図３Ａに示すように、カレンダー項目のデータ構造３０２は、デバイス１００のそれぞれの特定のユーザについてのテーブルの集合として任意選択的に実装される、デバイス１００の特定のユーザと関連付けられたカレンダー項目をそれぞれ記憶するデータ構造３０２の集合を含む（例えば、カレンダー項目のデータ構造３０２−１は、デバイス１００のユーザ１のカレンダー項目を記憶し、カレンダー項目のデータ構造３０２−２は、デバイス１００のユーザ２のカレンダー項目を記憶する）。いくつかの実施形態では、カレンダー項目のデータ構造の集合中のそれぞれのテーブル（例えば、テーブル３０２−１、３０２−２、３０２−３．．．３０２−Ｎ）は、デバイスの２人以上のユーザのカレンダー項目を記憶する。
【０１５４】
いくつかの実施形態では、１つ以上のカレンダー項目のデータ構造３０２（例えば、カレンダー項目のデータ構造３０２−１、図３Ｂ）は、デバイス１００のユーザと関連付けられたカレンダー項目を記憶するために使用される。図３Ｂに示すように、カレンダー項目のデータ構造３０２−１は、ユーザ１のカレンダー項目と関連付けられたデータ（例えば、カレンダー項目ＩＤ、タイトル、位置、日時、出発時刻リマインダ及びアラート）を包含する。いくつかの実施形態では、データは、個々のレコード３１２−１、３１２−２、３１２−３〜３１２−Ｎに記憶される。いくつかの実施形態では、ヘッダフィールド３１２−０は、対応するレコードのそれぞれと関連付けられた情報のそれぞれのフィールドについて記述するために使用される。ヘッダ３１２−０は、いくつかの実施形態では、テーブル内に記憶された情報のそれぞれのフィールド（例えば、レコードのそれぞれと関連付けられたそれぞれのフィールド）の概要を包含する。図３Ｂに示すように、ヘッダ３１２−０は、それぞれのレコード３１２−１、３１２−２、３１２−３〜３１２−Ｎが、以下の情報及びデータ構造、あるいはそれらのサブセット又はスーパーセットを記憶していることを示す。
●それぞれの特定のレコード（例えば、レコード３１２−１〜３１２−Ｎ）を一意に識別する「カレンダー項目ＩＤ」フィールドの値；
●カレンダー項目に関する記述テキスト（例えば、図７Ｅのフィールド７７０に提供されたテキストなど、カレンダー項目を生成する時点でユーザにより提供される記述テキスト）に対応する「タイトル」フィールドの値。いくつかの状況では、タイトルは、地理的位置に対応する識別子を含む（例えば、レコード３１２−３の「歯科医に行く」は、（以前に訪れた住所のデータ構造４０２−１のレコード４１２−１と関連付けられた／それにより識別される「歯科医院」の以前に訪れた住所など）歯科医院の地理的位置に対応する識別子「歯科医」を含む）；カレンダー項目と関連付けられた位置に関する情報（例えば、カレンダー項目を生成する時点でユーザにより提供された（例えば、図７Ｅのフィールド７７１に提供された）情報）に対応する「位置」フィールドの値。
●いくつかの状況では、ユーザは、位置に関する情報を提供すること（あるいは、位置に関する不完全な情報のみを提供すること）なく、カレンダー項目を生成する（例えば、レコード３１２−１は、位置フィールドに、ユーザがレコード３１２−１と関連付けられたカレンダー項目の位置に関するいかなる情報も提供しなかったことを示すＮＵＬＬ値を有する）。
●カレンダー項目の開始時刻及び終了時刻に関する情報（例えば、（例えば、図７Ｅ〜図７Ｆに示す「終日」、「開始」、「終了」及び「繰り返し」のセクションに提供される）カレンダー項目を生成した時点にユーザにより提供された情報）に対応する「日付時間」フィールドの値；
●ユーザと関連付けられた以前に訪れた住所に基づいて、デバイス１００（又は、目的地判定モジュール１６３など、その構成要素）によって、自動的にかつ人の介入なしに、ポピュレートされた「出発時刻リマインダ」フィールドの値（例えば、レコード３１２−１及び３１２−２はそれぞれ、タイトルフィールドの一部分に同じ識別子（「歯科医」）をそれぞれ包含するので、レコード３１２−３と関連付けられた以前に訪れた住所（例えば、（図６を参照して以下により詳細に論じるように）図４Ｂのレコード４１２−１）を自動的に使用して、出発時刻リマインダを生成することができる）。いくつかの実施形態又は状況では、出発時刻リマインダの値は、（例えば、ルート判定モジュール１６３−２によって判定される）以前に訪れた住所に到着するための最適ルートに関する情報を更に含む；及び
●カレンダー項目のアラート又はリマインダに関する情報（例えば、レコード３１２−１について図示されるように、「３０分前」など、カレンダー項目を生成した時点でユーザにより提供された情報）に対応する「アラート」フィールドの値。
【０１５５】
いくつかの実施形態では、カレンダー項目のデータ構造３０２−１は、上述したフィールドに加えて、それぞれのカレンダー項目がいつ生成されたか、及び／又はテーブル３０２−１にいつ記憶されたかを識別するタイムスタンプフィールド、並びに／あるいは、それぞれのカレンダー項目と関連付けられた以前に訪れた住所に対応する１つ以上の住所ＩＤ値（図４Ｂ）を含む関係する住所フィールドなどのフィールドを含む。
【０１５６】
図３Ｂに示すように、カレンダー項目のデータ構造３０２−１は、レコード３１２−１、３１２−２、３１２−３〜３１２−Ｎを含む。カレンダー項目のデータ構造３０２−１中の例示的なレコードに記憶された情報の一例として、レコード３１２−１は、カレンダー項目ＩＤフィールドに値「１」を、タイトルフィールドに値「歯科医に行く」を、位置フィールドにＮＵＬＬ値を、日時フィールドに値「６／１２／１５  １２ＰＭ〜２ＰＭ）」を、アラートフィールドに値「３０分前」を、出発時刻リマインダフィールドにＮＵＬＬ値を記憶する。いくつかの実施形態では、出発時刻リマインダフィールドのＮＵＬＬ値は、（図６の動作６０２を参照して以下に説明するよう）出発時刻リマインダがまだ生成されていないという指標を、デバイスに（あるいは、目的地判定モジュール１６３など、その構成要素に）提供する。
【０１５７】
データ構造（例えば、テーブル）の特定の実装として示されているが、いくつかの実施形態では、図３Ａ〜図３Ｂのデータ構造は、ＸＭＬファイル、リレーショナルデータベース内のテーブル、テキストファイル、及び／又はデータを記憶するための任意の他の好適なフォーマットで実装される。
【０１５８】
図４Ａ〜図４Ｂは、いくつかの実施形態に係る、（例えば、デバイス１００の特定のユーザについての）以前に訪れた住所を記憶するためのデータ構造を示すブロック図である。図４Ａに示すように、以前に訪れた住所のデータ構造４０２は、デバイス１００のそれぞれの特定のユーザについてのテーブルの集合として任意選択的に実装される、デバイス１００の特定のユーザと関連付けられた以前に訪れた住所をそれぞれ記憶するデータ構造４０２の集合を含む（例えば、以前に訪れた住所のデータ構造４０２−１は、デバイス１００のユーザ１の以前に訪れた住所を記憶し、以前に訪れた住所のデータ構造４０２−２は、デバイス１００のユーザ２の以前に訪れた住所を記憶する）。いくつかの実施形態では、カレンダー項目のデータ構造の集合中のそれぞれのテーブル（例えば、テーブル４０２−１、４０２−２、４０２−３．．．４０２−Ｎ）は、デバイスの２人以上のユーザの以前に訪れた住所を記憶する。
【０１５９】
いくつかの実施形態では、１つ以上の以前に訪れた住所のデータ構造４０２（例えば、以前に訪れた住所のデータ構造４０２−１、図４Ｂ）は、デバイス１００のユーザと関連付けられた以前に訪れた住所を記憶するために使用される。図４Ｂに示すように、以前に訪れた住所のデータ構造４０２−１は、ユーザ１が以前に訪れた住所と関連付けられたデータ（例えば、住所ＩＤ、名称、到着住所、出発住所、関連項目、及び到着時刻）を包含する。いくつかの実施形態では、このデータは、次のイベントに対応する以前に訪れた住所を識別することによって、位置の詳細を含まない次のイベント（例えば、カレンダー項目、テキストメッセージ中で参照されるイベントなど）について正確な出発時刻リマインダを生成するために使用される。いくつかの実施形態では、データは、個々のレコード４１２−１、４１２−２、４１２−３〜４１２−Ｎに記憶される。いくつかの実施形態では、ヘッダフィールド４１２−０は、対応するレコードのそれぞれと関連付けられた情報のそれぞれのフィールドについて記述するために使用される。ヘッダ４１２−０は、いくつかの実施形態では、テーブル内に記憶された情報のそれぞれのフィールド（例えば、レコードのそれぞれと関連付けられたそれぞれのフィールド）の概要を包含する。図４Ｂに示すように、ヘッダ４１２−０は、それぞれのレコード４１２−１、４１２−２、４１２−３〜４１２−Ｎが、以下の情報及びデータ構造、あるいはそれらのサブセット又はスーパーセットを記憶していることを示す。
●特定の以前に訪れた住所と関連付けられたそれぞれのレコードを一意に識別する「住所ＩＤ」フィールドの値（例えば、「１」はレコード４１２−１の住所ＩＤフィールドに記憶された値である）；
●特定の以前に訪れた住所のテキスト記述に対応する「名称」フィールドの値（例えば、「歯科医院」はレコード４１２−１の名称フィールドに記憶された値である）。いくつかの実施形態又は状況では、名称フィールドの値は、自動的にかつ人の介入なしに、レコードと関連付けられた識別子に基づいて判定される（例えば、レコード４１２−１がカレンダー項目３と関連付けられ、カレンダー項目３（カレンダー項目のデータ構造３０２−１のレコード３１２−３）が識別子「歯科医」を含むので、デバイスは、レコード４１２−１の名称フィールドの値を生成するときに同じ識別子を使用する）。いくつかの実施形態では、名称フィールドの値は、識別子に関係する用語である（識別子が「歯科医」である場合、関係する用語は、例えば、歯（単数）、歯（複数）、歯のクリーニング、歯科衛生士、歯列矯正医、歯周病専門医などを含む）；
●ユーザが到達する地理的目的地に対応する住所（例えば、ストリートアドレス、ＧＰＳ座標など）を識別する情報を含む「到着住所」フィールドの値（例えば、ユーザが、歯科医院のカレンダー項目を有しているが、歯科医の住所を特定するいかなる位置データもない場合、カレンダー項目で識別された時刻に特定の住所に到達すると、特定の住所を到着住所として記憶するために、以前に訪れた住所のデータ構造４０２−１中のレコードを更新する）；
●特定の到着住所に到達するために出発した時刻におけるユーザの地理的位置に対応する住所（例えば、ストリートアドレス、ＧＰＳ座標など）を識別する情報を含む任意選択の「出発住所」フィールドの値（例えば、ユーザが歯科医のアポイントメントについてのカレンダー項目を有し、歯科医のアポイントメントに向かうことを示す時刻に特定の住所から出発した場合、カレンダー項目中で識別された時刻にアポイントメントに到達すると、以前に訪れた住所のデータ構造４０２−１中のレコードは、特定の住所を出発住所として記憶するために更新される）；
●（識別子（「私は今、歯科医に向かっている」）を含む関係するメッセージ（例えば、電子メール）、関係するカレンダー項目（図３Ｂのレコード３１２−３について示すように「歯科医の検診」のタイトルフィールドの値を備える「カレンダー項目」、など））など、１つ以上の関係する項目を識別する情報を含む「関連項目」フィールドの値（例えば、それぞれのレコードと関連付けられた識別子（例えば、「歯科医」）を含むコンテンツ項目）；及び
●ユーザが到着住所に対応する地理的位置に到着時刻を識別する情報を含む任意選択の「到着時間」フィールドの値。
【０１６０】
いくつかの実施形態では、以前に使用した住所のデータ構造４０２−１は、上述したフィールドに加えて、いつユーザが到着住所に向けて出発したかを識別する情報を含む「出発時刻」フィールド、及び／又は出発住所と到着住所との間でユーザが移動したルートを識別する情報を含む「使用ルート」フィールドなどのフィールドを含む。いくつかの実施形態では、これらの追加のフィールドは、デバイスがユーザと関連付けられたパターンを予測するのを助けるために（例えば、ユーザにとって最もよく使用されるルート又は最も一般的な出発時刻を識別し、予測するために）使用される。
【０１６１】
図４Ｂに示すように、以前に訪れた住所のデータ構造４０２−１は、レコード４１２−１〜４１２−Ｎを含む。以前に訪れた住所のデータ構造４０２−１中の例示的なレコードに記憶された情報の一例として、レコード４１２−１は、住所ＩＤフィールド値「１」を、タイトルフィールドに値「歯科医」を、到着住所フィールドに値「１２３Ｎ．１２３４５，州，市，歯科医通り」を、出発住所フィールドに値「８８Ｗ．１２３４５、州、市、２番地」を、関連項目フィールドに「カレンダー項目３、メッセージ２３」を、到着時刻フィールドに値「５／１２／１４，１１：１５ＡＭ」を記憶する。いくつかの実施形態では、以前に訪れた住所のデータ構造４０２−１内のレコードは、所定の時間間隔で（例えば、１時間おき、４時間おき、毎日、デバイスがアイドル状態であるときに）生成される。
【０１６２】
いくつかの実施形態では、以前に訪れた住所のデータ構造４０２は、（図６の動作６２０及び６２２に関して以下に説明するように）デバイス１００上で実行するバックグラウンドプロセス中に予めポピュレートされる。
【０１６３】
いくつかの実施形態では、以前に訪れた住所４０２はまた、デバイス１００のユーザと関連付けられたプライバシー設定に関する情報を記憶する。例えば、デバイス１００のユーザは、以前に訪れた住所の記憶域と関連付けられたプライバシー設定を構成することが可能である。いくつかの実施形態では、ユーザは、以前に訪れた住所のデータ構造４０２中のそれぞれのレコード内に含まれている全ての情報（例えば、名称、到着住所、出発住所、関連項目、到着時刻など）についてのデータ収集設定を構成することが可能である。例えば、ユーザは、第１のアプリケーションについて、プライバシー設定を構成することができ、それにより、デバイス１００（又は、地図モジュール１５４など、その構成要素）は、出発住所を収集せずに、関連項目、到着住所及び到着時刻に関する情報を収集する。別の例として、（上述の第１のアプリケーションとは別個の）第２のアプリケーションについて、ユーザは、デバイス１００（又は、地図モジュール１５４など、その構成要素）が、以前に訪れた住所に関するいかなる情報も収集しないようにプライバシー設定を構成することができる。このようにすると、ユーザは、デバイス１００上の以前に訪れた住所の収集を制御することが可能であり、デバイス１００上で利用可能なそれぞれのアプリケーション（例えば、アプリケーション１３６のそれぞれ、図１Ａ）について、以前に訪れた住所の収集に関する個人的な好みに基づいて、適切なプライバシー設定を選択することが可能である。
【０１６４】
データ構造（例えば、テーブル）の特定の実装として示されているが、いくつかの実施形態では、図４Ａ〜図４Ｂのデータ構造は、ＸＭＬファイル、リレーショナルデータベース内のテーブル、テキストファイル、及び／又はデータを記憶するための任意の他の好適なフォーマットで実装される。
【０１６５】
図５は、いくつかの実施形態に係る、例示的な出発時刻リマインダ生成システムを示すブロック図である。図５に示すように、出発時刻リマインダ生成システム５００は、ポータブル多機能デバイス１００を含み、１つ以上のサーバ５０２を更に含む。ポータブル多機能デバイス１００は、１つ以上のネットワーク上で、１つ以上のサーバ５０２と通信する。１つ以上のネットワーク（例えば、ネットワーク（単数又は複数）５２０）は、出発時刻リマインダ生成システム５００のそれぞれの構成要素を、出発時刻リマインダ生成システム５００の他の構成要素と通信可能に接続する。いくつかの実施形態では、１つ以上のネットワーク５２０は、公衆通信網、専用通信網、又は公衆通信網と専用通信網の双方の組合せを含む。例えば、１つ以上のネットワーク５２０は、インターネット、他のワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、仮想プライベートネットワーク（ＶＰＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ピアツーピアネットワーク、及び／又はアドホック接続など、任意のネットワーク（又は、ネットワークの組合せ）であり得る。
【０１６６】
いくつかの実施形態では、１つ以上の以前に訪れた住所のデータ構造４０２は、ポータブル多機能デバイス１００上に記憶され、１つ以上の他の以前に訪れた住所のデータ構造４０２は、１つ以上のサーバ５０２上に記憶される。いくつかの実施形態では、ポータブル多機能デバイス１００が、以前に訪れた住所のデータ構造４０２を記憶する一方で、他の実施形態では、１つ以上のサーバ５０２が、以前に訪れた住所のデータ構造４０２を記憶する。同様に、いくつかの実施形態では、１つ以上のカレンダー項目のデータ構造３０２は、ポータブル多機能デバイス１００上に記憶され、１つ以上の他のカレンダー項目のデータ構造３０２は、１つ以上のサーバ５０２上に記憶される。いくつかの実施形態では、ポータブル多機能デバイス１００が、カレンダー項目のデータ構造３０２を記憶する一方で、他の実施形態では、１つ以上のサーバ５０２が、カレンダー項目のデータ構造３０２を記憶する。
【０１６７】
１つ以上の以前に訪れた住所４０２のテーブル又は１つ以上のカレンダー項目のデータ構造３０２が、１つ以上のサーバ５０２上に記憶される実施形態では、目的地判定モジュール１６３（及び、目的地予測モジュール１６３−１、ルート判定モジュール１６３−２及び出発リマインドモジュール１６３−３など、その構成要素）により実行される機能のうちのいくつかは、１つ以上のサーバ５０２において実行される。これらの実施形態では、ネットワーク５２０を介して、１つ以上のサーバ５０２とデバイス１００との間で情報が交換される。例えば、１つ以上のサーバ５０２が第１のユーザの以前に訪れた住所のデータ構造４０２を記憶する場合、いくつかの実施形態では、デバイス１００は、第１のユーザと関連付けられたデータ（例えば、ＧＰＳモジュール１３５により収集された位置データ、図１Ａ）を、１つ以上のサーバ５０２に送信する。いくつかの実施形態では、１つ以上のサーバ５０２は、次いで、受信したデータをマイニングして、（図４Ａ〜図４Ｂに関して上記で論じたように）カレンダー項目についての目的地を予測し、カレンダー項目についての出発時刻リマインダを生成する。１つ以上のサーバ５０２はまた、生成した出発時刻リマインダをデバイス１００に送信する（あるいは代替的には、デバイスにおいて提示するために、生成したリマインダと関連付けられた情報を送信する）。このようにすると、１つ以上のサーバ５０２により、いつ出発すべきかに関する計算を処理することができ、計算の精度を維持するためには、デバイス１００からの臨時ＧＰＳピングしか必要ではない（このようにすると、出発時刻リマインダ生成システム５００は、デバイス１００のバッテリ寿命を延長することが可能である）。いくつかの実施形態では、１つ以上のサーバ５０２に送信されるデータは、制限された範囲のものであり、したがって、第１のユーザが訪れた住所に関係する情報のみを包含する（上述のように、ユーザはまた、このデータの収集をカバーするプライバシー設定を構成し、また、これらのプライバシー設定により、いくつかの実施形態では、ユーザが１つ以上のサーバ５０２とのデータの交換を制御、制限する又はなくすことが可能になる）。
【０１６８】
図６は、いくつかの実施形態に係る、インテリジェントな出発時刻リマインダを生成し、提供するための方法６００を示すフローチャートである。図３Ａ〜図３Ｂ、図４Ａ〜図４Ｂ、図５及び図７Ａ〜図７Ｆを使用して、図６の方法及び／又はプロセスを示す。以下の実施例のうちのいくつかは、（タッチ感知面とディスプレイとを組合せた）タッチスクリーン上での入力を参照して説明されるが、いくつかの実施形態では、デバイスは、図１Ｄに示すように、ディスプレイ１９４とは別個のタッチ感知面１９５上で入力を検出する。
【０１６９】
いくつかの実施形態では、方法６００は、電子デバイス（例えば、ポータブル多機能デバイス１００、図１Ａ）、及び／又は電子デバイス（例えば、Ｉ／Ｏサブシステム１０６、オペレーティングシステム１２６など）の１つ以上の構成要素により実行される。いくつかの実施形態では、方法６００は、非一時的コンピュータ可読記憶媒体に記憶され、デバイス１００の１つ以上のプロセッサ１２２（図１Ａ）など、デバイスの１つ以上のプロセッサによって実行される命令によって統御される。説明を簡単にするために、以下に、デバイス１００により実行されるものとして方法６００を説明する。いくつかの実施形態では、図１Ａを参照すると、方法６００の動作は、少なくとも部分的に、目的地判定モジュール（例えば、目的地判定モジュール１６３）、以前に訪れた住所（例えば、以前に訪れた住所４０２）、カレンダー項目のデータ構造（例えば、カレンダー項目のデータ構造３０２）、目的地予測モジュール（例えば、目的地予測モジュール１６３−１）、ルート判定モジュール（例えば、ルート判定モジュール１６３−２）、出発リマインドモジュール（例えば、出発リマインドモジュール１６３−３）、グラフィックモジュール（例えば、グラフィックモジュール１３２）、及びタッチ感知ディスプレイ（例えば、タッチ感知ディスプレイシステム１１２）によって実行されるか、又はそれらを使用する。方法６００のいくつかの動作を任意選択的に組合せ、及び／又はいくつかの動作の順序を任意選択的に変更する。
【０１７０】
以下に説明するように、方法６００（及び、関連付けられたインタフェース）は、インテリジェントな出発時刻リマインダを生成し、それをタッチ感知ディスプレイを備える電子デバイス上に提供する直観的な方法を提供する。方法６００は、ユーザが、最小量のテキスト入力でカレンダー項目を迅速に生成し、次いで、自動的にかつ人の介入なしに、最小量のテキスト入力のみに基づいて、カレンダー項目に対応する地理的目的地を判定することを可能にすることによって、出発時刻リマインダを生成するためのプロセスを合理化する。したがって、ユーザは、電子デバイス上にカレンダー項目を迅速に生成し続けることが可能であり、方法６００を利用することによって、電子デバイスは、カレンダー項目についてのインテリジェントな出発時刻リマインダをシームレスに生成することが可能である。このようにすると、かかる方法６００は、ユーザが適時にイベントに到着することを保証するのを助ける。したがって、方法６００は、認知負担、及びユーザがカレンダー項目を生成するために費やさなければならない時間を低減し、それにより、より効率的なヒューマン−マシンインタフェースが生成される。バッテリ動作電子デバイスの場合、（例えば、特定の位置の詳細なしに生成されたカレンダー項目についての目的地として、以前に訪れた住所を自動的に識別するなど、広範なユーザ対話を従来は必要とするタスクを自動的に実行することによって）より高速、より効率的にインテリジェントな出発時刻リマインダを生成し、提供することにより、節電するだけでなく、バッテリ充電の間隔を増大させる。
【０１７１】
いくつかの実施形態では、デバイスは、開始時刻及び不明の場所を有する次のイベントを識別する（６２０）。例えば、デバイスは、「今日２：３０ＰＭの歯科医とのアポイントメントを覚えておくこと」というテキストメッセージを受信する。テキストメッセージの内容は、デバイスが識別することができる次のイベント、今日２：３０ＰＭの開始時刻及び不明の場所を有する次のイベント（即ち、この１つのテキストメッセージの文脈において、このメッセージの内容は、歯科医院が位置する場所を含まないので不明である）を含む。次のイベントを識別した後、いくつかの実施形態では、デバイスは、（例えばＧＰＳモジュール１３５を使用して）デバイスの現在地を（例えば、デバイス１００上でバックグラウンドで実行するプロセスを使用して）監視し、デバイスが（例えば、加速度計１６８及び／又はＧＰＳモジュール１３５により示されるように）移動している時には、デバイスは、現在地が任意の歯科医院に近いかどうかをチェックする。デバイスがもはや移動しておらず、（例えば、デバイスの現在地と地図モジュール１５４によって判定された歯科医院の位置に関する情報とを比較することによって）デバイスが歯科医院に又はその近くに到着した（例えば、移動が止まった）という判定に従って、デバイスは、次のイベントを地理的位置と関連付ける（６２２）。他の実施形態では、アポイントメント又はイベント時刻に、ＧＰＳモジュール１３５は、デバイスの位置を判定し、デバイスは、次のイベントをその位置と関連付ける（６２２）。いくつかの実施形態では、次のイベントを地理的位置と関連付けることは、以前に訪れた住所のデータ構造４０２にレコードを追加することを含む（例えば、レコード４１２−１は、メッセージ２３と関連付けられていることを示す）。
【０１７２】
いくつかの実施形態では、デバイスは、デバイス上の１つ以上の項目（例えば、テキストメッセージ、電子メールメッセージ、音声メッセージ、カレンダー項目、メモ、及び次のイベントに関する情報を包含する任意の他の項目）と関連付けられた内容に基づいて、（例えば、目的地判定モジュール１６３により判定される）次のイベントを継続的に監視する。次のイベントを継続的に監視し、次のイベントを対応する地理的位置と関連付けることによって、デバイスは、特定の識別子（例えば、歯科医）と関連付けられた以前に訪れた住所の包括的なデータベース（例えば、以前に訪れた住所のデータ構造４０２−１、図４Ｂ）を事前に構築することが可能であり、デバイスは、その包括的なデータベースを使用して、イベントの場所に関するいかなる情報もまだ含んでいないことがある、イベントのインテリジェントな出発時刻リマインダ（例えば、カレンダー項目）を生成する。
【０１７３】
いくつかの実施形態では、デバイスは、自動的にかつ人の介入なしに、第１の識別子を含むカレンダー項目を識別する（６０２）。例えば、カレンダー項目は、「歯科医に行く」というタイトルを備えるカレンダー項目など、場所を全般的に説明するカレンダー項目のタイトル中のテキスト（例えば、タイトルは第１の識別子を含む）に基づいて識別される（例えば、レコード３１２−１と関連付けられたカレンダー項目は、第１の識別子「歯科医」を含む、図３Ｂ）。いくつかの実施形態では、第１の識別子は、（例えば、カレンダー項目のデータ構造３０２−１の位置フィールドに記憶されたＮＵＬＬ値により示されるように、カレンダー項目に知られていない）不明の地理的位置に対応する。いくつかの実施形態では、地理的位置は、カレンダー項目が以前に訪れた住所に（最初に）気づいていない場合であっても、以前に訪れた住所（例えば、動作６２０〜６２２に関して上記で論じた地理的位置）として、デバイスに知られ得る。いくつかの実施形態では、デバイスは、（以下で説明するように）第１の識別子を使用して以前に訪れた住所を検索し、第１の識別子に対応する以前に訪れた住所を識別することによって不明の場所を求める。
【０１７４】
いくつかの実施形態では、デバイスは、自動的にかつ人の介入なしに、（例えば、識別子（例えば、歯科医、又は、歯（単数）、歯（複数）、歯周病専門医、歯列矯正医などの関係する用語など）を使用して、以前に訪れた住所４０２のデータ構造においてルックアップを実行することによって）第１の識別子と関連付けられた以前に訪れた住所（例えば、ストリートアドレス、及び／又はストリートアドレスに対応するＧＰＳ座標）を取り出す（６０４）。例えば、以前に訪れた住所と第１の識別子との間の関連付けは、第１の識別子が、関連項目（例えば、別のカレンダー項目、特定のテキストメッセージ、特定のテキストメッセージを含む会話、又は電子メールメッセージ）中に以前に現れていたことに起因し得る。１つの例示的な関連項目は、「３ＰＭの歯科検診を覚えておく」というテキストメッセージである。この実施例を引き続き参照すると、ユーザは次いで、第１の住所を離れ、その後、第２の住所に到着する（例えば、ユーザは次いで、２：５５ＰＭに歯科医の住所に到達し、テキストメッセージからの識別子に基づいて、以前に訪れた住所のデータ構造４０２のレコード４１２−１について図示したように、識別子「歯科医」のについて以前に訪れた住所のデータ構造４０２中に、新しいレコードが生成される、図４Ｂ）。更に、本実施例の新しいレコードは、関連項目との関連付けを含む（例えば、レコード４１２−１の関連項目フィールドの値は、「メッセージ２３」などの関連項目を識別する情報を含む）。
【０１７５】
いくつかの実施形態では、以前に訪れた住所は、デバイスのユーザと関連付けられた以前に訪れた住所のデータベースから（例えば、ユーザ１に対応する以前に訪れた住所のデータ構造４０２−１など、ユーザと関連付けられたそれぞれの以前に訪れた住所のデータ構造４０２から、図４Ｂ）、（例えば、目的地判定モジュール１６３によって）取り出される。いくつかの実施形態では、以前に訪れた住所のデータベース中の以前に訪れた住所のそれぞれは、電子デバイスのユーザが以前に訪れた住所に対応する（例えば、データ構造４０２−１内に包含されるそれぞれのレコードは、ユーザ１が訪れた住所に対応する）。いくつかの実施形態では、以前に訪れた住所を取り出すことは、第１の識別子を使用して、以前に訪れた住所のデータベース中でルックアップを実行することを含む（例えば、名称フィールドの値「歯科医」を備える全てのレコードについて、以前に訪れた住所のデータ構造４０２−１にクエリをサブミットする）。代替的には、いくつかの実施形態では、ルックアップは、第１の識別子に関係する第２の識別子（例えば、「医療専門家」などの第１の識別子を含むカテゴリー）を使用して実行される。これらの実施形態のうちのいくつかでは、第２の識別子を使用して、第１の識別子を使用するデータベースクエリが空又はｎｕｌｌレコードセットを戻すときにルックアップを実行する。
【０１７６】
いくつかの実施形態では、デバイスは、ユーザから、以前に訪れた住所がカレンダー項目に対応する確認を受信する（６０６）。図７Ａに示すように、デバイスは、ユーザに、以前に訪れた住所がカレンダー項目に対応することをユーザが確認することを可能にするユーザインタフェースオブジェクトを提示する。例えば、提示されたユーザインタフェースオブジェクトは、上部通知部７１０（あるいは代替的には、下部通知部７１２）内に表示され、任意選択のアイコン７５０、以前に訪れた住所とカレンダー項目との間の対応を確認又は拒絶するための選択可能なアフォーダンスを備える確認ダイアログ７５８、並びに（例えば、識別子「歯科医」がカレンダー項目のタイトルに現れていること、及びユーザが歯科医の住所を以前に訪れたことがあることに基づいて）ユーザインタフェースオブジェクトがなぜ提示されたかに関する指標をユーザに提供する示唆理由７１４、を含む。いくつかの実施形態では、アイコン７５０は、カレンダーアプリケーション（例えば、カレンダーモジュール１４８、図１Ａ）と関連付けられたアイコン対応し、アイコン７５０の選択を検出したことに応じて、デバイスは、カレンダーアプリケーション内にカレンダー項目を表示する。いくつかの実施形態では、確認ダイアログ７５８は、「１２３Ｎ．歯科医を、１２ＰＭの次の「歯科検診」イベントの住所として確認するか？」など、確認を要求するテキスト記述を含む。確認ダイアログ７５８内に表示された「はい」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７５８の表示を停止しカレンダー項目を更新して、以前に訪れた住所との関連付けを含める（例えば、ＮＵＬＬの代わりに位置フィールドの値「住所１」を有するようにレコード３１２−１、図３Ｂを更新する）。
【０１７７】
確認ダイアログ７５８内に表示された「いいえ」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７５８の表示を中止し、カレンダー項目の更新を取り止める（例えば、レコード３１２−１、図３Ｂの位置フィールドの値を更新しない）。代替的には、いくつかの実施形態では、「いいえ」ボタンの選択を検出したことに応じて、デバイスは、カレンダー項目について異なる以前に訪れた住所を識別することができるかどうかを判定するために、取り出し動作６０４に戻る。いくつかの実施形態では、示唆理由アフォーダンス７１４の選択を検出したことに応じて、デバイスは、（図４Ａ〜図４Ｂに関して上記で論じた）以前に訪れた住所の集合と関連付けられたプライバシー設定をユーザが構成することを可能にするユーザインタフェースを表示する。いくつかの実施形態では、ユーザインタフェースオブジェクトはまた、（図７Ｃを参照して論じるように、却下アフォーダンス７１３と同様の）ユーザインタフェースオブジェクトをユーザが却下することを可能にするアフォーダンス（例えば、「ｘ」又は「クローズ」アフォーダンス）を含む。
【０１７８】
いくつかの実施形態では、図７Ａに示すように、デバイスは、ユーザから、（例えば、以前に訪れた住所を取り出す前に、及び／又は出発時刻を判定する前に）カレンダー項目について出発時刻を判定すべきであるという確認を受信する。図７Ａに示すように、デバイスは、出発時刻を自動的に判定すべきであることをユーザが確認することを可能にするユーザインタフェースオブジェクトを提示する。例えば、提示されたユーザインタフェースオブジェクトは、下部通知部７１２（あるいは代替的には、上部通知部７１０）内に表示され、任意選択のアイコン７５０、カレンダー項目についての出発時刻の生成を確認又は拒絶するための選択可能なアフォーダンスを備える確認ダイアログ７７２、並びに（例えば、図３Ｂのレコード３１２−１について図示したように、カレンダー項目のデータ構造３０２内のレコードの位置フィールドにＮＵＬＬ値が存在することを示すことによって、例えば、カレンダー項目がいかなる位置情報もなく生成されること基づいて）ユーザインタフェースオブジェクトがなぜ提示されたかに関する指標をユーザに提供する示唆理由７１４、を含む。いくつかの実施形態では、アイコン７５０は、カレンダーアプリケーション（例えば、カレンダーモジュール１４８、図１Ａ）と関連付けられたアイコン対応し、アイコン７５０の選択を検出したことに応じて、デバイスは、カレンダーアプリケーション内にカレンダー項目を表示する。いくつかの実施形態では、確認ダイアログ７７２は、「次の『歯科検診』イベントについての自動出発リマインダが必要か？」など、確認を要求するテキスト記述を含む。確認ダイアログ７７２内に表示された「はい」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７７２の表示を中止し、上記で論じた取り出し動作６０４を進める。確認ダイアログ７７２内に表示された「いいえ」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７７２の表示を中止し、任意選択的に、出発時刻を必要としない（例えば、ＮＵＬＬの代わりに、取り下げるべき位置フィールドの値を更新する）として、カレンダー項目（例えば、レコード３１２−１、図３Ｂ）に対応するレコードにフラグを立てる。いくつかの実施形態では、示唆理由アフォーダンス７１４の選択を検出したことに応じて、デバイスは、（図４Ａ〜図４Ｂに関して上記で論じた）以前に訪れた住所の集合と関連付けられたプライバシー設定をユーザが構成することを可能にするユーザインタフェースを表示する。いくつかの実施形態では、ユーザインタフェースオブジェクトはまた、（図７Ｃを参照して論じるように、却下アフォーダンス７１３と同様の）ユーザインタフェースオブジェクトをユーザが却下することを可能にするアフォーダンス（例えば、「ｘ」又は「クローズ」アフォーダンス）を含む。
【０１７９】
いくつかの実施形態では、デバイスは、自動的にかつ人の介入なしに、以前に訪れた住所に基づいて（例えば、デバイスの現在地から以前に訪れた住所までのルートに基づいて）カレンダー項目の出発時刻を判定する（６０８）。いくつかの実施形態では、出発時刻を判定することは、（ｉ）電子デバイスに対応する現在の住所（例えば、デバイスの現在のＧＰＳ座標又はそれに対応する住所）を判定すること、（ｉｉ）現在の住所から以前に訪れた住所までのルートを判定することと、（ｉｉｉ）ユーザが、カレンダー項目と関連付けられた開始時刻から所定の時間量（例えば、５分、１０分、１５分など）以内で以前に訪れた住所に到達するように、ルートを完了する時間量に基づいて出発時刻を判定することと（例えば、開始時刻は、日時フィールドに記憶された値に基づいて、カレンダー項目のデータ構造３０２から取り出される）、を含む。
【０１８０】
いくつかの実施形態では、出発時刻は、最初、ユーザと関連付けられたデフォルト出発住所（例えば、ユーザの自宅の住所、職場の住所、又は何らかの他の最もしばしば使用される住所）に基づいて、第１の時点で判定される。いくつかの実施形態では、第１の時点は、以前に訪れた住所が取り出される時間である一方で、他の実施形態では、第１の時点は、カレンダー項目の開始時刻に基づいて判定される（例えば、カレンダー項目の開始時刻が２時間後に始まるとスケジュールされているときに、最初の出発時刻が判定される）。いくつかの実施形態では、デバイスは、その後（第２の時点において）、（例えば、ユーザが、デフォルト出発住所から離れた閾値距離だけ移動したので、又は、カレンダー項目の開始時刻が、３０分後に始まるようにスケジュールされているので）最初の出発時刻を再計算／再判定する必要があるかどうかをチェックする。ユーザがデフォルト出発住所から離れて閾値距離だけ移動した、又はカレンダー項目の開始時刻が所定の時間量以内であるという判定に従って、デバイスは、デバイスの現在地に基づいて、カレンダー項目の新しい出発時刻を判定する（即ち、デバイスの現在地は、デフォルト出発住所ではなく、その時点の出発住所である）。
【０１８１】
いくつかの実施形態では、ルートは、デバイスのユーザと関連付けられたルート選択の好みに従って、現在の住所から以前に訪れた住所までの複数の利用可能なルートから選択される。例示的なルート選択の好みは、道路タイプの好み（例えば、高速道路を回避する）、タイミングの好み（例えば、カレンダー項目の開始時刻の１５分以内に住所に到達する）、並びに交通手段の好み（例えば、以前に訪れた住所が現在の住所から３マイル以内である及び／又は天気が良い場合には、徒歩を好む）を含む。いくつかの実施形態では、現在の住所は、以前に訪れた住所のデータ構造４０２の出発住所フィールドに記憶される。いくつかの実施形態では、判定動作（ｉ）〜（ｉｉｉ）は、カレンダー項目の開始時刻に対して所定の時間間隔で（例えば、開始時刻の１日前に）実行される。いくつかの実施形態では、判定動作（ｉ）〜（ｉｉｉ）は、第１の時刻に実行され、次いで、現在の交通状態に基づいてルートが依然として最適ルートであることを確認するために、その後（例えば、カレンダー項目の開始時刻に近い第２の時刻）に繰り返される。
【０１８２】
いくつかの実施形態では、デバイスは、判定した出発時刻をカレンダー項目と関連付ける（６１０）（例えば、カレンダー項目のデータ構造３０２−１のレコード３１２−３について図示するように、判定した出発時刻との関連付けを含めるために、カレンダー項目のデータ構造３０２の中のレコードを更新し、出発時刻リマインダフィールドは、レコード３１２−３に対応するカレンダー項目の判定した出発時刻である値「５／１２／１４、１１：２５ＡＭ」のを包含する）。いくつかの実施形態では、判定した出発時刻をカレンダー項目と関連付けることは、リマインダ（例えば、視覚リマインダ、触覚リマインダ（振動）、及び／又は聴覚リマインダ）を生成することと、カレンダー項目を更新して、生成したリマインダを含めることと、を含む（６１２）。いくつかの実施形態では、生成したリマインダは、カレンダー項目と関連付けられたデフォルトリマインダ（例えば、カレンダー項目のデータ構造３０２−１、図３Ｂのアラートフィールド中の値）とは別個である。
【０１８３】
いくつかの実施形態では、デバイスは、電子デバイス上で、カレンダー項目の判定した出発時刻のユーザに、生成したリマインダを提供する（６１４）（例えば、図７Ｂのユーザインタフェースオブジェクト７０２などのタッチ感知ディスプレイ上に視覚リマインダを表示する、触覚リマインダをデバイスに出力させる、及び／又は、リマインダに対応するオーディオ出力をデバイスに生成させる）。いくつかの実施形態では、リマインダを提供することは、出発時刻が現在時刻から所定の時間量以内であるという判定に従って、リマインダを提供すること（例えば、ロックスクリーン７０１上に、ユーザインタフェースオブジェクト７０２、図７Ｂを表示すること）を含む。例えば、所定の時間量は、５分、１０分、１５分などのデフォルト時間量であるか、あるいは、交通量の変化、及びカレンダー項目に対応する以前に訪れた住所に到達するのに必要な時間量（例えば、オフィスビルからユーザの自動車を駐車した場所まで歩くのにかかる時間）に影響を与える他の因子に関する現在の予測に基づいて計算された時間量である。いくつかの実施形態では、デバイスは、デバイスの運動データ（例えば、加速度計１６８及び／又はＧＰＳモジュール１３５からのデータ）を監視し、その運動データを使用して、ユーザが自分の自動車を到達するためにかかる推定時間量を判定する（例えば、デバイスが（第１の時刻では）移動しておらず、（第２の時刻では）歩行者の速度で移動し、（第３の時刻では）自動車の速度で移動している場合、デバイスは、ユーザが自分の自動車に到達するために係る時間量の推定値として、第３の時刻と第１の時刻との差を使用することが可能である）。いくつかの実施形態では、デバイスは、推定時間量（又は、多数の推定値の平均）を使用して、生成したリマインダをいつユーザに提供するかを判定する。他の実施形態では、デバイスは、出発時刻にバッファを追加するために、推定時間量（又は、多くの推定値の平均）を追加し、次いで、出発時刻には、生成したリマインダが単純に提供される。
【０１８４】
図７Ｂに示すように、いくつかの実施形態では、提供されたリマインダは、ユーザインタフェースオブジェクト７０２に表示され、あるいは代替実施形態では、デバイスのロックスクリーン７０１上の（以下に論じるような）ユーザインタフェースオブジェクト７２２に表示される。いくつかの実施形態では、ユーザインタフェースオブジェクト７０２は、ロックスクリーン７０１の中央領域に表示され、任意選択の第１のアイコン７５０、任意選択の第２のアイコン７６７、及びリマインダ７４２を含む。いくつかの実施形態では、第１のアイコン７５０は、カレンダーアプリケーション（例えば、カレンダーモジュール１４８、図１Ａ）と関連付けられたアイコンに対応し、第１のアイコン７５０の選択を検出したことに応じて、デバイスは、（例えば、デバイスのロックを解除した後に）カレンダーアプリケーション内にカレンダー項目を表示する。いくつかの実施形態では、第２のアイコン７６７は、地図アプリケーション（例えば、地図モジュール１５４、図１Ａ）と関連付けられたアイコンに対応し、第２のアイコン７６７の選択を検出したことに応じて、デバイスは、（例えば、デバイスのロックを解除した後に）以前に訪れた住所に到達するための進路変更指示を含む地図インタフェースを表示する。
【０１８５】
いくつかの実施形態では、リマインダ（又はアラート）７４２は、例えば、出発時刻（例えば、１１：１５ＡＭ）及びカレンダー項目（例えば、「歯科検診」などのタイトル）の記述を含むテキスト記述を含む。いくつかの実施形態では、リマインダ７４２は、ユーザがジェスチャを使用して、リマインダと関連付けられたアクション（例えば、進路変更指示を開始し、リマインダを却下し、リマインダをスヌーズする、など）を実行するためのアフォーダンスを表示することを可能にする。図７Ｂ〜図７Ｃに示すように、リマインダ７４２上を第１の方向（例えば、左方向）に移動するスワイプジェスチャ（例えば、ジェスチャ７８２、図７Ｂ）を検出したことに応じて、リマインダのテキスト記述は、第１の方向に移動し、それにより、その時点では、テキスト記述の一部分のみがタッチスクリーン１１２に見えており、アクションを実行するための１つ以上のアフォーダンス（例えば、指示開始アフォーダンス７４６、スヌーズアフォーダンス７４４、及び却下アフォーダンス７１３のうちの１つ以上、図７Ｃ）を表示するために、（例えば、グラフィックモジュール１３２によって）リマインダ７４２が更新される。いくつかの実施形態では、１つ以上のアフォーダンスは、スヌーズアフォーダンス７４４及び指示開始アフォーダンス７４６を含む一方で、他の実施形態では、１つ以上のアフォーダンスは、指示開始アフォーダンス７４６及び却下アフォーダンス７１３を含む。他の実施形態では、１つ以上のアフォーダンスは、指示開始アフォーダンス７４６、スヌーズアフォーダンス７４４、又は却下アフォーダンス７１３を含む。
【０１８６】
次に図７Ｃを参照すると、いくつかの実施形態では、却下アフォーダンス７１３は、選択されると、デバイスにリマインダ７４２の表示を中止させる。いくつかの実施形態では、（本明細書では、進路変更指示アフォーダンス７４６とも称される）指示開始アフォーダンス７４６は、選択されると、以前に訪れた住所を目的地として事前にポピュレートし、目的地に到達するための進路変更指示を既に開始した状態で、デバイスに地図インタフェース（例えば、地図モジュール１５４）を表示させる。いくつかの実施形態では、地図インタフェースを表示する前に、ユーザは、デバイス１００のロックを解除するためのアクション（例えば、デバイスのロックを解除するために一連の文字を入力する、口頭パスワードを提供する、指紋認証を行う、など）を実行する。他の実施形態では、指示開始アフォーダンス７４６は、指示開始アフォーダンス７４６を選択することにより、ロックスクリーン７０１を出ることなく、ルート選択及び進路変更指示の提供（例えば、指示に対応するオーディオ出力の提供）をデバイスに開始させることをユーザに示すテキストを含む。
【０１８７】
いくつかの実施形態では、スヌーズアフォーダンス７４４は、選択されると、デバイスに、ＵＩオブジェクト７０２の表示を中止させ、ユーザが選択又は事前構成した時間期間後あるいはデフォルト時間後に、ＵＩオブジェクト７０２を再表示させる。いくつかの実施形態では、スヌーズアフォーダンス７４４は、リマインダをスヌーズする時間期間をユーザが選択することを可能にする（例えば、スヌーズアフォーダンス７４４は、１５分間、３０分間、１時間、時間が空くまで、など、選択可能なオプションを含む）。例えば、ユーザは、ＵＩオブジェクト７０２を５分間スヌーズするオプションを選択し、５分後に、デバイスは、ＵＩオブジェクト７０２を再表示する。別の例として、ユーザは、利用可能になるまでＵＩオブジェクト７０２をスヌーズすることを選択し（例えば、「時間が空くまでスヌーズする」）、いくつかの実施形態では、デバイス１００は、カレンダーモジュール１４８を検索してユーザのスケジュールの次の開放スロットを識別し、識別した次の開放スロットの間にＵＩオブジェクト７０２を再表示する。
【０１８８】
いくつかの実施形態では、ユーザはまた、進路変更指示に迅速にアクセスするために、追加のジェスチャ（例えば、図７Ｂのジェスチャ７８３）を使用することが可能である。いくつかの実施形態では、追加のジェスチャは、リマインダ７４２上で、第１の方向とは反対の第２の方向（例えば、右方向）に移動するスワイプジェスチャである。第２のジェスチャが第２の方向に移動していることを検出したことに応じて、デバイスは、以前に訪れた住所を目的地として事前にポピュレートし、目的地に到達するための進路変更指示を既に開始した状態で、地図インタフェース（例えば、地図モジュール１５４）を表示する。いくつかの実施形態では、地図インタフェースを表示する前に、ユーザは、デバイス１００のロックを解除するためのアクション（例えば、デバイスのロックを解除するために一連の文字を入力する、口頭パスワードを提供する、指紋認証を行う、など）を実行する。
【０１８９】
再び図７Ｂを参照すると、生成したリマインダを提供することの代替実施形態は、ユーザインタフェースオブジェクト７２２に関して示されている。代替実施形態のうちのいくつかでは、提供されたリマインダは、デバイスのロックスクリーン７０１上のユーザインタフェースオブジェクト７２２に表示される。代替実施形態のうちのいくつかでは、ユーザインタフェースオブジェクト７２２は、ロックスクリーン７０１の中央領域に実質的に表示され、第１のアイコン７５０（ａ）、第２のアイコン７６７（ａ）、リマインダ７４２（ａ）、スヌーズオプション７４４（ａ）、及び進路変更指示アフォーダンス７４６（ａ）を含む。代替実施形態のうちのいくつかでは、第１のアイコン７５０（ａ）は、カレンダーアプリケーション（例えば、カレンダーモジュール１４８、図１Ａ）と関連付けられたアイコンに対応し、第１のアイコン７５０（ａ）の選択を検出したことに応じて、デバイスは、（例えば、デバイスのロックを解除した後に）カレンダーアプリケーション内にカレンダー項目を表示する。代替実施形態のうちのいくつかでは、第２のアイコン７６７（ａ）は、地図アプリケーション（例えば、地図モジュール１５４、図１Ａ）と関連付けられたアイコンに対応し、第２のアイコン７６７（ａ）の選択を検出したことに応じて、デバイスは、（例えば、デバイスのロックを解除した後に）以前に訪れた住所に到達するための進路変更指示を含む地図インタフェースを表示する。いくつかの実施形態では、リマインダ７４２（ａ）は、「歯科検診の出発時刻！」などのテキスト記述を含む。リマインダ７４２（ａ）の選択を検出したことに応じて、デバイスは、リマインダ７４２（ａ）の表示を中止し、（例えばデバイスのロックを解除した後に）カレンダーアプリケーション内にカレンダー項目を表示する。
【０１９０】
代替実施形態のうちのいくつかでは、スヌーズオプション７４４（ａ）は、ＵＩオブジェクト７２２の表示を中止し、ユーザが選択又は事前構成した時間期間後に、ＵＩオブジェクト７２２を再表示するための１つ以上の選択可能なオプションを含む。例えば、ユーザは、ＵＩオブジェクト７２２を２時間スヌーズするオプション選択し、２時間後に、デバイスは、ＵＩオブジェクト７２２を再表示する。別の例として、ユーザは、利用可能になるまでＵＩオブジェクト７２２をスヌーズすることを選択し（例えば、「時間が空くまでスヌーズする」）、代替実施形態のうちのいくつかでは、デバイス１００は、カレンダーモジュール１４８を検索してユーザのスケジュールの次の開放スロットを識別し、識別した次の開放スロットの間にＵＩオブジェクト７２２を再表示する。
【０１９１】
代替実施形態のうちのいくつかでは、進路変更指示アフォーダンス７４６（ａ）は、進路変更指示アフォーダンス７４６（ａ）を選択することにより、ルート選択及び進路変更指示の提供をデバイスに開始させることをユーザに示すテキストを含む（例えば、ロックスクリーン７０１を出ることなく、指示（例えば、選択したルートに基づく指示）に対応するオーディオ出力を提供する）。
【０１９２】
いくつかの実施形態では、ユーザインタフェースオブジェクト７０２とユーザインタフェースオブジェクト７２２の双方の態様を組合せる。例えば、進路変更指示アフォーダンス７４６又は７４６（ａ）は、リマインダ（例えば、リマインダ７４２又はリマインダ７４２（ａ））の下方に表示され、スヌーズオプション７４４及び却下７１３は、（例えば、第１のジェスチャの検出に応じて）第１のジェスチャを通じて利用可能である。
【０１９３】
いくつかの実施形態では、デバイスは、リマインダの提供に応じて（又はその後に）、ユーザが以前に訪れた住所に到着したかどうかを判定する（６１６）（例えば、（例えば加速度計１６８により提供されたデータに基づいて、図１Ａ）ユーザが移動を停止したと判定した後に、デバイスは、デバイスの現在のＧＰＳ座標を、以前に訪れた住所と関連付けられたＧＰＳ座標とを比較する）。ユーザが以前に訪れた住所に到着したという判定に従って、デバイスは、以前に訪れた住所と関連付けられた位置情報を更新する。いくつかの実施形態では、位置情報を更新することは、以前に訪れた住所と関連付けられたＧＰＳ座標をリファインすることを含む（例えば、レコード４１２−１と関連付けられた以前に訪れた住所の到着住所に（又は、そこから第１の所定の距離内に）到着した時、ＧＰＳ１３５に対応する信号強度が、到着住所を以前に確立した時の信号強度よりも大きいとデバイスが判定した場合、デバイスは、到着住所をデバイスの現在のＧＰＳ座標と置き換える）。いくつかの実施形態では、現在のＧＰＳ座標が、以前に訪れた住所から第２の所定の距離を越えているという判定に従って、デバイスは、現在のＧＰＳ座標に対応する到着住所（又は、それに対応する物理的なストリートアドレス）の値を備える以前に訪れた住所のデータ構造４０２−１に、新しいレコードを追加する。例えば、新しいレコードは、以前に訪れた住所の近くの新しい駐車場所に対応する。
【０１９４】
いくつかの実施形態では、デバイスは、ユーザに、（上記で論じたように）到着住所をリファイン又は更新する前にフィードバックを要求する。いくつかの実施形態では、図７Ｄに示すように、デバイスは、ユーザに、到着住所を更新すべきか、又は更新すべきでないかをユーザが決定することを可能にするユーザインタフェースオブジェクトを提示する。例えば、提示されたユーザインタフェースオブジェクトは、上部通知部７１０（あるいは代替的には、下部通知部７１２）内に表示され、任意選択のアイコン７６７、到着住所の更新を確認又は拒絶するための選択可能なアフォーダンスを備える確認ダイアログ７５２、並びにユーザインタフェースオブジェクトがなぜ提示されたかに関する指標をユーザに提供する示唆理由７１４、を含む。いくつかの実施形態では、任意選択のアイコン７６７は、地図アプリケーション（例えば、地図モジュール１５４、図１Ａ）と関連付けられたアイコンに対応し、アイコン７６７の選択を検出したことに応じて、デバイスは、現在記憶されている到着住所と更新される可能性がある到着住所（即ち、デバイスの現在地）の双方の識別子を含む地図インタフェースを表示する。いくつかの実施形態では、確認ダイアログ７５２は、「現在地に基づいて、記憶している歯科医の住所を更新しますか？」などのテキスト記述を要求する確認を含む。確認ダイアログ７５２内に表示された「いいえ」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７５２の表示を中止し、以前に訪れた住所と関連付けられたレコードを更新して、更新した到着住所フィールドの値を含める。確認ダイアログ７５２内に表示された「いいえ」ボタンの選択を検出したことに応じて、デバイスは、確認ダイアログ７５２の表示を中止し、以前に訪れた住所と関連付けられたレコードの更新を取り止める。いくつかの実施形態では、示唆理由アフォーダンス７１４の選択を検出したことに応じて、デバイスは、（図４Ａ〜図４Ｂに関して上記で論じた）位置データ及び以前に訪れた住所の集合と関連付けられたプライバシー設定をユーザが構成することを可能にするユーザインタフェースを表示する。いくつかの実施形態では、ユーザインタフェースオブジェクトはまた、ユーザインタフェースオブジェクトをユーザが却下することを可能にするアフォーダンス（例えば、「ｘ」又は「クローズ」アフォーダンス）を含む。
【０１９５】
いくつかの実施形態では、デバイスは、カレンダー項目作成プロセス（例えば、図７Ｅ〜図７Ｆに示すカレンダー項目作成プロセス）中に、複数の新しいカレンダー項目をスキャンする（６１８）。第１の識別子が複数のスキャンした新しいカレンダー項目のそれぞれの新しいカレンダー項目に含まれる（例えば、フィールド７７０は識別子「歯科医」を含む）という判定に従って、デバイスは、それぞれの新しいカレンダー項目に含めるために、以前に訪れた住所をデバイスのユーザに提示する（例えば、デバイスは、テキスト「１２３Ｎ．１２３４５、州、市、歯科医通り（タップして確認）」を提示する」を備えるユーザインタフェースオブジェクト７７２を提示する）。ユーザインタフェースオブジェクト７７２の選択を検出したことに応じて、デバイスは、新しいカレンダー項目を以前に訪れた住所と関連付ける。
【０１９６】
図６における動作について説明された特定の順序は単なる例示であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の順序換えをするさまざまな方法を認識するであろう。
【０１９７】
いくつかの実施形態によれば、図８は、説明されるさまざまな実施形態の原理に従って構成された、電子デバイス８００の機能ブロック図を示す。このデバイスの機能ブロックは、説明されるさまざまな実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組合せによって、任意選択的に実装される。図８で説明される機能ブロックが、説明されるさまざまな実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組合せ若しくは分割、又は更なる定義を任意選択的に支持する。議論を簡単にするために、電子デバイス８００は、ポータブル多機能デバイス１００（図１Ａ）として実装される。
【０１９８】
図８に示すように、電子デバイス８００は、情報を表示するように構成された表示ユニット８０１（例えば、タッチスクリーン、タッチ感知ディスプレイ及びタッチスクリーンディスプレイとも称される、タッチ感知ディスプレイシステム１１２、図１Ａ）と、接触、ジェスチャ、及びタッチ感知ディスプレイ上の他のユーザ入力を受け取るように構成されたタッチ感知面ユニット８０３（例えば、ディスプレイコントローラ１５６及びタッチ感知ディスプレイシステム１１２、図１Ａ）と、表示ユニット８０１及びタッチ感知面ユニット８０３と連結された処理ユニット８０５と、を含む。いくつかの実施形態では、処理ユニットは、識別ユニット（例えば、識別ユニット８０７）、取り出しユニット（例えば、取り出しユニット８０９）、判定ユニット（例えば、判定ユニット８１１）、関連付けユニット（例えば、関連付けユニット８１３）、提供ユニット（例えば、提供ユニット８１５）、選択ユニット（例えば、選択ユニット８１７）、生成ユニット（例えば、生成ユニット８１９）、受信ユニット（例えば、受信ユニット８２１）、実行ユニット（例えば、実行ユニット８２３）、スキャンユニット（例えば、スキャンユニット８２５）、提示ユニット（例えば、提示ユニット８２７）、及び更新ユニット（例えば、更新ユニット８２９）を含む。処理ユニットは、自動的にかつ人の介入なしに、（例えば、識別ユニット８０７を用いて）不明の地理的位置に対応する第１の識別子を含むカレンダー項目を識別し、自動的にかつ人の介入なしに、（例えば、取り出しユニット８０９を用いて）第１の識別子と関連付けられた以前に訪れた住所を取り出し、自動的にかつ人の介入なしに、（例えば、判定ユニット８１１を用いて）以前に訪れた住所に基づいて、カレンダー項目の出発時刻を判定し、自動的にかつ人の介入なしに、（例えば、関連付けユニット８１３を用いて）判定した出発時刻をカレンダー項目と関連付けるように構成されている。
【０１９９】
電子デバイス８００のいくつかの実施形態では、処理ユニットは、（例えば、提供ユニット８１５及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提供ユニット８１５を用いて）電子デバイス上で、ユーザに対して、カレンダー項目の判定した出発時刻のリマインダを提供するように更に構成されている。電子デバイス８００のいくつかの実施形態では、カレンダー項目は、ユーザに提供されたカレンダー項目の判定した出発時刻のリマインダとは別個のデフォルトリマインダと関連付けられる。電子デバイス８００のいくつかの実施形態では、リマインダを提供することは、（例えば、判定ユニット８１１による）出発時刻が現在時刻から所定の時間量以内であるいう判定に従って、（例えば、提供ユニット８１５及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提供ユニット８１５を用いて））リマインダを提供することを含む。電子デバイス８００のいくつかの実施形態では、判定した出発時刻をカレンダー項目と関連付けることは、（例えば、生成ユニット８１９を用いて）リマインダを生成することと、カレンダー項目を更新して、生成したリマインダを含めることと、を含む。
【０２００】
電子デバイス８００のいくつかの実施形態では、出発時刻を判定することは、（ｉ）（例えば、判定ユニット８１１を用いて）電子デバイスに対応する現在の住所を判定することと、（ｉｉ）（例えば、判定ユニット８１１を用いて）現在の住所から以前に訪れた住所までのルートを判定することと、（ｉｉｉ）（例えば、判定ユニット８１１を用いて）ユーザが、カレンダー項目と関連付けられた開始時刻から所定の時間量以内で以前に訪れた住所に到達するように、ルートを完了する時間量に基づいて出発時刻を判定することと、を含む。電子デバイス８００のいくつかの実施形態では、ルートは、（例えば、選択ユニット８１７を用いて）電子デバイスのユーザと関連付けられたルート選択の好みに従って、現在の住所から以前に訪れた住所までの複数の利用可能なルートから選択される。
【０２０１】
電子デバイス８００のいくつかの実施形態では、処理ユニットは、出発時刻を判定する前に、（例えば、受信ユニット８２１を用いて）電子デバイスのユーザから、タッチ感知ディスプレイ上で、以前に訪れた住所がカレンダー項目に対応するという確認を受信するように更に構成されている。確認を受信した後、処理ユニットは、（例えば、判定ユニット８１１を用いて）出発時刻を判定するように構成されている。
【０２０２】
電子デバイス８００のいくつかの実施形態では、以前に訪れた住所を取り出すことは、（例えば、取り出しユニット８０９を用いて）電子デバイスのユーザと関連付けられた以前に訪れた住所のデータベースから、以前に訪れた住所を取り出すことを含む。電子デバイス８００のいくつかの実施形態では、以前に訪れた住所のデータベース中のそれぞれの以前に訪れた住所は、電子デバイスのユーザが以前に訪れた住所に対応する。電子デバイス８００のいくつかの実施形態では、以前に訪れた住所を取り出すことは、（例えば、実行ユニット８２３を用いて）第１の識別子を使用して以前に訪れた住所のデータベース中でルックアップを実行することを含む。
【０２０３】
電子デバイス８００のいくつかの実施形態では、処理ユニットは、（例えば、スキャンユニット８２５を用いて）カレンダー項目作成プロセス中に、複数の新しいカレンダー項目をスキャンするように更に構成されている。（例えば、判定ユニット８１１による）複数のスキャンした新しいカレンダー項目のそれぞれの新しいカレンダー項目に第１の識別子が含まれているという判定に従って、処理ユニットは、（例えば、提示ユニット８２７及び表示ユニット８０１を用いて（又は、表示ユニット８０１と併せて提示ユニット８２７を用いて））それぞれの新しいカレンダー項目に含めるために、以前に訪れた住所を電子デバイスのユーザに提示するように構成されている。
【０２０４】
電子デバイス８００のいくつかの実施形態では、処理ユニットは、リマインダを提供したことに応じて、（例えば、判定ユニット８１１を用いて）以前に訪れた住所にユーザが到着したかどうかを判定するように更に構成されている。（例えば、判定ユニット８１１による）以前に訪れた住所にユーザが到着したという判定に従って、処理ユニットは、（例えば、更新ユニット８２９を用いて）以前に訪れた住所と関連付けられた位置情報を更新するように構成されている。
【０２０５】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａに関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０２０６】
図５を参照して先述した動作は、任意選択的に、図１Ａ〜図１Ｂ又は図８に示す構成要素により実行される。例えば、受け取り動作６０６、及び提供動作６１４は、任意選択的に、イベントソート部１７０、イベント認識部１８０、及びイベント処理部１９０により実行される。イベントソート部１７０のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上の接触を検出し、イベントディスパッチャモジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。アプリケーション１３６−１の対応するイベント認識部１８０は、そのイベント情報を対応するイベント定義１８６に比較し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインタフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベント処理部１９０をアクティブ化する。イベント処理部１９０は、アプリケーション内部状態１９２を更新するために、データ更新部１７６若しくはオブジェクト更新部１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部１９０は、アプリケーションにより表示されるものを更新するために、対応するＧＵＩ更新部１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示されるコンポーネントに基づいてどのように実施されるかは明らかであるだろう。
【０２０７】
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に好適なさまざまな改良で本発明及びさまざまな実施形態を最良の形で使用することを可能とするために、これらの実施形態を選択し説明した。
【図１Ａ】
2019207716.tif 000003
【図１Ｂ】
2019207716.tif 000004
【図１Ｃ】
2019207716.tif 000005
【図１Ｄ】
2019207716.tif 000006
【図２】
2019207716.tif 000007
【図３Ａ】
2019207716.tif 000008
【図３Ｂ】
2019207716.tif 000009
【図４Ａ】
2019207716.tif 000010
【図４Ｂ】
2019207716.tif 000011
【図５】
2019207716.tif 000012
【図６】
2019207716.tif 000013
【図７Ａ】
2019207716.tif 000014
【図７Ｂ】
2019207716.tif 000015
【図７Ｃ】
2019207716.tif 000016
【図７Ｄ】
2019207716.tif 000017
【図７Ｅ】
2019207716.tif 000018
【図７Ｆ】
2019207716.tif 000019
【図８】
2019207716.tif 000020
【手続補正書】
【提出日】令和1年8月6日(2019.8.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
方法であって、
タッチ感知ディスプレイと位置センサとを有する電子デバイスにおいて、
カレンダ項目と関連付けられた情報を入力するための複数の入力フィールドであって、前記カレンダ項目と関連付けられた位置情報を入力するための位置入力フィールドを含む前記複数の入力フィールドを含むカレンダ項目生成ユーザインタフェースを表示することと、
前記タッチ感知ディスプレイを介して、前記複数の入力フィールドのうちの１つにおいて入力を検出したことに応じて、
自動的に、かつ、人間の介入なしに、前記電子デバイスのユーザと関連付けられた以前に訪れた住所を含むローカルデータ構造から、前記カレンダ項目への登録の提案をするために以前に訪れた住所を取得することであって、前記ユーザと関連付けられた以前に訪れた住所のローカルデータ構造内のそれぞれの住所は、（i）前記位置センサにより提供されたデータを利用することにより、及び、（ii）前記電子デバイスの前記ユーザが前記それぞれ住所を以前に訪れたとの判定に従って、前記ローカルデータ構造に追加されたものである、取得することと、
前記タッチ感知ディスプレイに、前記以前に訪れた住所に対応する選択可能なユーザインタフェース要素を表示することと、
前記以前に訪れた住所に対応する前記選択可能なユーザインタフェース要素の選択を受け付けることと、
前記選択を受け付けたことに応じて、前記カレンダ項目生成ユーザインタフェース内の前記位置入力フィールドを、前記以前に訪れた住所が前記カレンダ項目と関連付けられていることを示すように更新することと
を含む方法。
【請求項２】
前記以前に訪れた住所は、前記電子デバイスのメッセージング・アプリケーションを介して受信した情報に更に部分的に基づいて前記ローカルデータ構造に追加されたものである、請求項１に記載の方法。
【請求項３】
前記以前に訪れた住所は、前記電子デバイスの電子メール・アプリケーションを介して受信した情報に更に部分的に基づいて前記ローカルデータ構造に追加されたものである、請求項１に記載の方法。
【請求項４】
前記以前に訪れた住所は、前記電子デバイスに格納された、前記カレンダ項目とは異なる別のカレンダ項目を介して受信した情報に更に部分的に基づいて前記ローカルデータ構造に追加されたものである、請求項１に記載の方法。
【請求項５】
前記選択可能なユーザインタフェース要素は、前記以前に訪れた住所を前記カレンダ項目に登録することが提案されている理由の表示を前記ユーザに提供する情報も含む、請求項１から４のいずれか１項に記載の方法。
【請求項６】
自動的に、かつ、人間の介入なしに、前記以前に訪れた住所に基づいて、前記カレンダ項目の出発時刻として将来の第１の時刻を決定することを含む、請求項１から５のいずれか１項に記載の方法。
【請求項７】
自動的に、かつ、人間の介入なしに、前記カレンダ項目を、前記決定された出発時刻よりも所定の時間量前に前記ユーザに提示されるように構成されたリマインダと関連付けることを更に含む、請求項６に記載の方法。
【請求項８】
前記出発時刻を決定することは、
前記電子デバイスに対応する現在の住所を決定することと、
前記現在の住所から前記以前に訪れた住所までのルートを決定することと、
ユーザが、前記カレンダ項目と関連付けられた開始時刻から所定の時間量以内で前記以前に訪れた住所に到達するように、前記ルートを完了するための時間量に基づいて前記出発時刻を決定することと
を含む、請求項６に記載の方法。
【請求項９】
前記ルートは、前記電子デバイスの前記ユーザと関連付けられたルート選択の好みに従って、前記現在の住所から前記以前に訪れた住所までの複数の利用可能なルートから選択される、請求項８に記載の方法。
【請求項１０】
前記取得することは、前記カレンダ項目生成ユーザインタフェース内に表示された前記複数の入力フィールドの１つにおいて前記ユーザが提供した識別子を用いて実行され、前記識別子は、前記カレンダ項目において特定されていない地理的位置に対応する、請求項１から９のいずれか1項に記載の方法。
【請求項１１】
前記識別子は、前記複数の入力フィールドのうちのタイトル入力フィールドにおいて前記ユーザが提供したテキストである、請求項１０に記載の方法。
【請求項１２】
コンピュータプログラムであって、タッチ感知ディスプレイ及び位置センサを有する電子デバイスにより実行されると、前記電子デバイスに請求項１から１１のいずれか1項に記載の方法を実行させる、実行可能な命令群を含む、コンピュータプログラム。
【請求項１３】
電子デバイスであって、タッチ感知ディスプレイ、位置センサ、１つ以上のプロセッサ、及び、メモリを備え、前記メモリは、前記１つ以上のプロセッサにより実行されると、前記電子デバイスに請求項１から１１のいずれか1項に記載の方法を実行させる、実行可能な命令群を含む、電子デバイス。
【外国語明細書】
2019207716000001.pdf