本出願は、2019年7月17日に出願された「HEALTH EVENT LOGGING AND COACHING USER INTERFACES」と題する米国仮特許出願第62/875,448号、及び2020年4月17日に出願された「HEALTH EVENT LOGGING AND COACHING USER INTERFACES」と題する米国特許出願第16/851,451号の利益を主張する。これらの出願の内容は、その全体があらゆる目的で、参照により本明細書に組み込まれる。
以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、そのような説明は、本開示の範囲に対する限定として意図されるものではなく、むしろ例示的な実施形態の説明として提供されることを認識されたい。
健康関連イベントをログ記録するための、且つ健康関連のコーチングのための効率的な方法及びインタフェースを提供する電子デバイスが必要とされている。そのような技術は、健康関連イベントをログ記録し、及び/又は健康関連のコーチングを提供するユーザの認知負担を軽減し、それによって生産性を高めることができる。更に、そのような技術は、普通なら冗長なユーザ入力に浪費されるプロセッサ及びバッテリの電力を低減することができる。
以下の図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Bは、健康関連イベントをログ記録するための、且つ健康関連のコーチングのための技術を実行する例示的なデバイスについての説明を提供する。図7A~図7Mは、健康関連イベントをログ記録するための例示的なユーザインタフェースを示す。図8は、いくつかの実施形態に係る、イベント通知を管理する方法を示すフロー図である。図7A~図7Mのユーザインタフェースは、図8のプロセスを含む、後述するプロセスを説明するために使用される。図9A~図9Mは、(例えば、健康関連のチャレンジの発行を介して)健康関連のコーチングを提供するための例示的なユーザインタフェースを示す。図10は、いくつかの実施形態に係る、電子デバイスを使用した健康関連のコーチング方法を説明するフロー図である。図9A~図9Mのユーザインタフェースは、図10のプロセスを含む、後述のプロセスを説明するために使用される。
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、記載する様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。第1のタッチ及び第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
本明細書に記載する様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載する様々な実施形態の説明及び添付の特許請求の範囲では、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用されるとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組み合わせを指し、且つこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用する場合、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
「~の場合(if)」という用語は、任意選択的に、文脈に応じて、「~とき(when)」若しくは「~とき(upon)」、又は「~と判定したことに応じて(in response to determining)」若しくは「~を検出したことに応じて(in response to detecting)」を意味すると解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の状態又はイベント]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択的に、文脈に応じて、「~と判定したとき(upon determining)」若しくは「~と判定したことに応じて(in response to determining)」、又は「[記載の状態又はイベント]を検出したとき(upon detecting [the stated condition or event])」若しくは「[記載の状態又はイベント]を検出したことに応じて(in response to detecting [the stated condition or event])」を意味すると解釈される。
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用する関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることも理解されたい。いくつかの実施形態では、電子デバイスは、表示生成構成要素と通信する(例えば、有線通信を介した無線通信を介して)コンピュータシステムである。表示生成構成要素は、CRTディスプレイを介したディスプレイ、LEDディスプレイを介したディスプレイ、又は画像投影を介した表示などの視覚的な出力を提供するように構成されている。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムと一体化される。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムとは別個である。本明細書で使用するとき、「表示する」コンテンツは、コンテンツを視覚的に生成するために、有線又は無線接続で、データ(例えば、画像データ又はビデオデータ)を、一体型又は外部の表示生成構成要素に送信することによって、コンテンツ(例えば、ディスプレイコントローラ156によってレンダリング又はデコードされたビデオデータ)を表示させることを含む。
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
デバイスは、通常、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタル動画プレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的且つ透明なユーザインタフェースを備える様々なアプリケーションをサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を有するポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力コントロールデバイス116、及び外部ポート124を含む。デバイス100は、任意選択的に、1つ以上の光センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出する1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器167を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求において使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代理(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々なポイントにおける力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値が、接触の推定される力を決定するために組み合わされる(例えば、加重平均される)。同様に、スタイラスの感圧性先端部が、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。あるいは、タッチ感知面上で検出される接触エリアのサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装形態では、接触の力又は圧力の代替測定値が、強度閾値を上回っているかどうかを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触力又は圧力の代理測定値は、力又は圧力の推定値に変換され、力又は圧力の推定値が、強度閾値を上回っているかどうかを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを表示する実装面積が限られている低減されたサイズのデバイス上で、ユーザが他の方法ではアクセス不可能であり得る追加のデバイス機能にユーザがアクセスすること(例えば、タッチ感知ディスプレイ上で)、及び/又は、ユーザ入力を受け取ること(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的コントロールを介して)が可能となる。
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触知感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触知感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組み合わせで実施される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させる又は実行して、デバイス100のための様々な機能を実行し、データを処理する。いくつかの実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
RF(radio frequency、無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、任意選択的に、これらの機能を実行するための周知の回路を含み、それらの回路としては、限定するものではないが、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどが挙げられる。RF回路108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network、LAN)及び/若しくはメトロポリタンエリアネットワーク(metropolitan area network、MAN)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。RF回路108は、任意選択的に、短距離通信無線機などによって近距離通信(near field Communication、NFC)フィールドを検出する良く知られている回路を含む。無線通信は、任意選択的に、それだけに限定されるものではないが、モバイル通信用グローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、エボリューションデータオンリ(Evolution,Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(long term evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(wideband code division multiple access、W-CDMA)、符号分割多元接続(code division multiple access、CDMA)、時分割多元接続(time division multiple access、TDMA)、Bluetooth、Bluetoothローエネルギー(Bluetooth Low Energy、BTLE)、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.11ac)、ボイスオーバインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi-MAX、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/若しくはポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンション用のセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含む、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インタフェース118によって、メモリ102及び/若しくはRF回路108から取得され、且つ/又はメモリ102及び/若しくはRF回路108に伝送される。いくつかの実施形態では、オーディオ回路110はまた、ヘッドセットジャック(例えば、図2の212)を含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、タッチスクリーン112及び他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、深度カメラコントローラ169、強度センサコントローラ159、触感フィードバックコントローラ161、及び、他の入力デバイス若しくは制御デバイス用の1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力コントロールデバイス116からの電気信号の受信/他の入力コントロールデバイス116への電気信号の送信を行う。他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的な実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量コントロールのためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。いくつかの実施形態では、電子デバイスは、1つ以上の入力デバイスと通信する(例えば、有線通信を介した無線通信を介して)コンピュータシステムである。いくつかの実施形態では、1つ以上の入力デバイスは、タッチ感知面(例えば、タッチ感知ディスプレイの一部としてのトラックパッド)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、入力としてユーザのジェスチャ(例えば、ハンドジェスチャ)を追跡するためなど、1つ以上のカメラセンサ(例えば、1つ以上の光センサ164及び/又は1つ以上の深度カメラセンサ175)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムと一体化される。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムとは別個である。
全体が参照により本明細書に組み込まれる、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押下は、任意選択的に、タッチスクリーン112のロックを解放し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除するプロセスを開始する。プッシュボタン(例えば、206)のより長い押下は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信、及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、動画、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、任意選択的に、ユーザインタフェースオブジェクトに対応する。
タッチスクリーン112は、触感及び/又は触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は、(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、それだけに限定されるものではないが、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定する他の近接センサアレイ又は他の要素を含む、現在知られている又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる移動又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体が参照により本明細書に組み込まれる、米国特許第6,323,846号(Westermanら)、第6,570,557号(Westermanら)、及び/若しくは第6,677,932号(Westerman)、並びに/又は米国特許公報第2002/0015024(A1)号に記載されているマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」で説明されている。これらの出願は全て、全体が参照により本明細書に組み込まれる。
タッチスクリーン112は、任意選択的に、100dpiを超える動画解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiの動画解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適した物体又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインタフェースは、指ベースの接触及びジェスチャを主に使用して動作するように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でない可能性がある。一部の実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、任意選択的に、電荷結合デバイス(charge-coupled device、CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor、CMOS)フォトトランジスタを含む。光センサ164は、1つ以上のレンズを通って投影された環境からの光を受信し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、任意選択的に、静止画像又は動画をキャプチャする。いくつかの実施形態では、光センサは、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対側のデバイス100の背面に位置し、したがってタッチスクリーンディスプレイは、静止画像及び/又は動画の取得のためのビューファインダとして使用することが可能である。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見ている間に、ユーザの画像が、任意選択的に、テレビ会議のために入手されるように、光センサはデバイスの前面に配置される。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができ、したがって単一の光センサ164が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
デバイス100は、任意選択的に、1つ以上の深度カメラセンサ175もまた含む。図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内の対象物(例えば、顔面)の3次元モデルを作成する。いくつかの実施形態では、撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされた画像の異なる部分の深度マップを決定するために使用される。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見る間に、任意選択的に、深度情報を有するユーザの画像をテレビ会議のために取得し、また、深度マップデータを有する自撮り画像をキャプチャするために、デバイス100の前面に深度カメラセンサが配置されている。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面に、あるいはデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置は、ユーザによって(例えば、デバイスハウジング内でレンズ及びセンサを回転させることによって)変更することができ、したがって深度カメラセンサ175が、タッチスクリーンディスプレイと共に、テレビ会議にも静止画像及び/又は動画の取得にも使用される。
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗歪ゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報、又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並置される、又はそれに近接される。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
また、デバイス100は、任意選択的に、1つ以上の近接センサ166を含む。図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。近接センサ166は、任意選択的に、全体が参照により本明細書に組み込まれる、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」で記載されているように機能する。いくつかの実施形態では、多機能デバイスが、ユーザの耳の近くに置かれた場合(例えば、ユーザが電話をかけている場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触感フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギーを直線の動きに変換する電気機械デバイスを含む。接触強度センサ165は、触知フィードバック生成命令を触感フィードバックモジュール133から受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体が参照により本明細書に組み込まれる、米国特許公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイに表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計並びにデバイス100の位置及び向き(例えば、縦方向又は横方向)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機を任意選択的に含む。
いくつかの実施形態では、メモリ102内に記憶されているソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、図1A及び図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得した情報を含むセンサ状態、並びにデバイスの位置、及び/又は姿勢に関する位置情報のうちの1つ以上を含む。
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorksなどの組込み型オペレーティングシステム)は、全般的なシステムタスク(例えば、メモリ管理、記憶装置制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIREなど)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは同様であり、且つ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を(ディスプレイコントローラ156と連携して)検出する。接触/動きモジュール130は、接触が生じたかどうかを判定すること(例えば、指ダウンイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するかどうかを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したかどうかを判定すること(例えば、指アップイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたかどうかを判定するために(例えば、ユーザがアイコン上で「クリック」したかどうかを判定するために)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくとも1つのサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス100の物理ハードウェアを変更することなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく、広範囲の既定閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザに、(例えば、個々の強度閾値を調整すること、及び/又は複数の強度閾値をシステムレベルのクリック「強度」パラメータによって一度に調整することによって)強度閾値のセットのうちの1つ以上を調整するソフトウェア設定が提供される。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出し、それに続いて指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的な影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的特性)を変化させる構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示する様々な既知のソフトウェア構成要素を含む。本明細書では、「グラフィック」という用語は、それだけに限定されるものではないが、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、動画、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、触知出力生成器(単数又は複数)167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、触知出力生成器167は、ユーザのデバイス100との対話に応じて、デバイス100上の1つ以上の位置での触知出力を生成する。
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために(例えば、位置に基づくダイヤル発呼で使用するために電話138に、写真/動画のメタデータとしてカメラ143に、並びに、気象ウィジェット、地域の職業別電話帳ウィジェット、及び地図/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションに)提供する。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
● 連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
● 電話モジュール138、
● テレビ会議モジュール139、
● 電子メールクライアントモジュール140、
● インスタントメッセージング(Instant messaging、IM)モジュール141、
● トレーニングサポートモジュール142、
● 静止画像及び/又は動画用のカメラモジュール143、
● 画像管理モジュール144、
● 動画プレーヤモジュール、
● 音楽プレーヤモジュール、
● ブラウザモジュール147、
● カレンダーモジュール148、
● 任意選択的に、気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、目覚まし時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって入手された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を含むウィジェットモジュール149、
● ユーザ作成ウィジェット149-6を作成するためのウィジェットクリエータモジュール150、
● 検索モジュール151、
● 動画プレーヤモジュール及び音楽プレーヤモジュールを一体化した動画及び音楽プレーヤモジュール152、
● メモモジュール153、
● 地図モジュール154、並びに/又は、
● オンラインビデオモジュール155。
任意選択的にメモリ102に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
連絡先モジュール137は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、アドレス帳又連絡先リストを(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶して)管理するために使用され、それには、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、物理アドレス(単数又は複数)又は他の情報を名前(単数又は複数)に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、テレビ会議モジュール139、電子メール140、又はIM141による通信を開始且つ/又は促進すること、などが含まれる。
電話モジュール138は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する文字シーケンスの入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、通話の実行、並びに通話終了時の接続切断及び通話停止のために使用される。前述したように、無線通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
テレビ会議モジュール139は、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの命令に従ってユーザと1人以上の他の参加者との間のテレビ会議を開始、実行、及び終了するための実行可能な命令を含む。
電子メールクライアントモジュール140は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又は動画を有する電子メールの作成及び送信を非常に容易にする。
インスタントメッセージングモジュール141は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する文字シーケンスの入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)それぞれのインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるようなグラフィック、写真、オーディオファイル、動画ファイル、及び/又は他の添付ファイルを含む。本明細書では、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
トレーニングサポートモジュール142は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、トレーニング(例えば、時間、距離、及び/又はカロリー燃焼の目標を有する)を作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、並びに、トレーニングデータを表示、記憶、及び送信するための実行可能な命令を含む。
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(動画ストリームを含む)動画のキャプチャ及びメモリ102内への記憶、静止画像若しくは動画の特性の修正、又はメモリ102からの静止画像若しくは動画の削除のための実行可能な命令を含む。
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくは動画の配置、修正(例えば、編集)、又はその他の操作、ラベル付け、削除、(例えば、デジタルスライドショー若しくはアルバムにおける)提示、及び記憶のための実行可能な命令を含む。
ブラウザモジュール147は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその一部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含む、ユーザの命令に従ってインターネットをブラウジングするための実行可能な命令を含む。
カレンダーモジュール148は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの命令に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダーエントリ、to-doリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
ウィジェットモジュール149は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株式ウィジェット149-2、計算機ウィジェット149-3、目覚まし時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されたミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
ウィジェットクリエータモジュール150は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に従って1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内のテキスト、音楽、サウンド、画像、動画、及び/又は他のファイルを検索するための実行可能な命令を含む。
動画及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びに動画を(例えば、タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に従ってメモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
地図モジュール154は、RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの命令に従って、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定の場所又はその付近の店舗及び他の見どころに関するデータ、並びに他の位置ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
オンラインビデオモジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、(例えば、ストリーミング及び/又はダウンロードによる)受信、(例えば、タッチスクリーン上又は外部ポート124を介して接続された外部ディスプレイ上の)再生、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容の全体が参照により本明細書に組み込まれる、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」を参照されたい。
上記で特定したモジュール及びアプリケーションはそれぞれ、前述した1つ以上の機能及び本出願に記載した方法(例えば、本明細書に記載したコンピュータにより実装される方法及び他の情報処理方法)を実行する実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、任意選択的に、組み合わされ、又は別の方法で再構成される。例えば、動画プレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図1Aの動画及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)と、それぞれのアプリケーション136-1(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれか)とを含む。
イベントソータ170は、イベント情報を受信し、イベント情報を配信するアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112に表示される現在のアプリケーションビュー(単数又は複数)を示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を判定するためにイベントソータ170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報を示す又は表示する準備ができたユーザインタフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加の情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、タッチ感知ディスプレイ112でのマルチタッチジェスチャの一部としてのユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。それに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみイベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示しているときに、サブイベントが1つ以上のビュー内のどこで起きたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成するサブイベントシーケンスにおける第1のサブイベント)が発生する最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、通常、ヒットビューとして特定された同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報をイベントキューに記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136-1がイベントソータ170を含む。更に他の実施形態では、イベントソータ170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部分である。
いくつかの実施形態では、アプリケーション136-1は、それぞれがアプリケーションのユーザインタフェースのそれぞれのビュー内で発生するタッチイベントを処理する命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット、又は、アプリケーション136-1がメソッド及び他のプロパティを継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソータ170から受信されたイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。あるいは、アプリケーションビュー191のうちの1つ以上が、1つ以上のそれぞれのイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、それぞれのアプリケーションビュー191に含まれる。
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットも含む。
イベント受信部182は、イベントソータ170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの位置などの追加の情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ぶ)についての対応する情報を含む。
イベント比較部184は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
いくつかの実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインタフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112に3つのユーザインタフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示された各オブジェクトが、それぞれのイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、それぞれのイベント187の定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するかどうかが判定されるまで、イベント情報の配信を遅らせる遅延アクションも含む。
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、それぞれのイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することが可能となるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、既定のプロセスを実行する。
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新し、又は動画プレーヤモジュールで使用される動画ファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成し、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含む又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の記載は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、それらの全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の移動、ペンスタイラス入力、デバイスの移動、口頭による命令、検出された眼球運動、バイオメトリック入力、並びに/又はそれらの任意の組み合わせを、任意選択的に、認識するイベントを定義するサブイベントに対応する入力として利用する。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインタフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、デバイス100と接触した指の、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きに及び/若しくは下向きに)、並びに/又は、ローリング(右から左へ、左から右へ、上向きに及び/若しくは下向きに)を、任意選択的に含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100は、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンをまた含む。前述したように、メニューボタン204は、任意選択的にデバイス100上で実行される1組のアプリケーション内の任意のアプリケーション136にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されるGUI内のソフトキーとして実装される。
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替の実施形態では、デバイス100は、マイクロフォン113を介して、いくつかの機能をアクティブ化又は非アクティブ化するための口頭入力もまた受け入れる。デバイス100は、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167もまた含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又はコントロールデバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、通常、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続する1つ以上の通信バス320を含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は、ディスプレイ340を含む入出力(I/O)インタフェース330を含み、ディスプレイ340は、通常、タッチスクリーンディスプレイである。I/Oインタフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350並びにタッチパッド355と、デバイス300上に触知出力を生成する(例えば、図1Aを参照して前述した触知出力生成器167に類似している)触知出力生成器357と、センサ359(例えば、光、加速度、近接、タッチ感知、及び/又は図1Aを参照して前述した、接触強度センサ(単数又は複数)165に類似している接触強度センサ)とを含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択で、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は、任意選択で、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
図3の上記で特定した要素はそれぞれ、任意選択的に、前述したメモリデバイスのうちの1つ以上の中に記憶される。上記で特定したモジュールはそれぞれ、前述した機能を実行する命令セットに対応する。上記で特定したモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって様々な実施形態では、これらのモジュールの様々なサブセットが、任意選択的に組み合わされ、又は他の方法で再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
次に、任意選択的に、例えばポータブル多機能デバイス100に実装されるユーザインタフェースの実施形態に注意を向ける。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインタフェースを示す。同様のユーザインタフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインタフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
● セルラー信号及びWi-Fi信号などの無線通信(単数又は複数)用の信号強度インジケータ(単数又は複数)402、
● 時刻404、
● Bluetoothインジケータ405、
● バッテリ状態インジケータ406、
● 以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408、
○ 不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○ 未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○ 「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○ 「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称される動画及び音楽プレーヤモジュール152用のアイコン422、及び
● 以下のような、他のアプリケーションのアイコン、
○ 「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○ 「カレンダー」とラベル付けされた、カレンダーモジュール148のアイコン426、
○ 「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○ 「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○ 「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○ 「株価」とラベル付けされた、株式ウィジェット149-2のアイコン434、
○ 「マップ」とラベル付けされた、地図モジュール154のアイコン436、
○ 「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○ 「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○ 「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○ 「メモ」とラベル付けされた、メモモジュール153のアイコン444、及び
○ デバイス100及びその様々なアプリケーション136の設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュールのアイコン446。
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、動画及び音楽プレーヤモジュール152のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる、他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を有するデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対して触知出力を生成する1つ以上の触知出力生成器357を含む。
以下の例のうちのいくつかは、タッチスクリーンディスプレイ112(タッチ感知面及びディスプレイが組み合わされている)上の入力を参照して与えられるが、いくつかの実施形態では、デバイスは、図4Bに示すように、ディスプレイとは別個のタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の1次軸(例えば、図4Bの453)に対応する1次軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、図4Bでは、460は468に対応し、462は470に対応する)で、タッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このようにして、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されるユーザ入力(例えば、接触460及び462、並びにこれらの移動)は、タッチ感知面がディスプレイとは別個であるとき、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
加えて、以下の例は、主に指入力(例えば、指接触、指タップジェスチャ、指スワイプジェスチャ)を参照して与えられる一方、いくつかの実施形態では、指入力のうちの1つ以上が別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに、)マウスクリックであって、その後に(例えば、接触の移動の代わりに)スワイプの経路に沿ったカーソルの移動を伴うマウスクリックによって置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置上に位置する間は、(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)マウスクリックによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A~図4B)に関して説明された特徴のうちのいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイスクリーン504、以下ではタッチスクリーン504、を有する。あるいは、又はタッチスクリーン504に加えて、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインタフェースは、タッチ(複数)に、その強度に基づいて応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインタフェース動作を呼び出すことができることを意味する。
タッチ強度を検出し処理する例示的な技術は、例えば、それぞれ全体が参照により本明細書に組み込まれる関連出願である、国際公開第WO/2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際公開第WO/2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」を参照されたい。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれる場合、物理的であり得る。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。そのようなアタッチメント機構は、含まれる場合、例えば帽子、眼鏡類、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計のバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B、及び図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514は、ディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(NFC)、セルラー、及び/又は他の無線通信技術を使用してアプリケーション及びオペレーティングシステムデータを受信する通信ユニット530と接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば回転可能入力デバイス又は押下可能及び回転可能入力デバイスである。いくつかの実施例では、入力機構508は、任意選択的にボタンである。
いくつかの実施例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はそれらの組み合わせなどの様々なセンサを含み、それらは全て、I/Oセクション514に動作可能に接続することができる。
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための、1つ以上の非一時的コンピュータ可読記憶媒体を含むことができ、それら命令は、1つ以上のコンピュータプロセッサ516によって実行されるとき、例えば、コンピュータプロセッサに、プロセス800及びプロセス1000(図8及び図10)を含めた、後述する技術を実行させることができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、それらに限定されるものではないが、磁気、光学、及び/又は半導体記憶装置を含むことができる。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの常駐ソリッドステートメモリなどが挙げられる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
本明細書で使用される「アフォーダンス」という用語は、任意選択的に、デバイス100、300、及び/又は500(図1A、図3、及び図5A~図5B)のディスプレイスクリーンに表示されるユーザ対話グラフィックユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、任意選択的に、アフォーダンスを構成する。
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装形態では、カーソルが「フォーカスセレクタ」として作用し、したがってカーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上に位置する間に、入力(例えば、押下入力)がタッチ感知面(例えば、図3のタッチパッド355又は図4Bのタッチ感知面451)上で検出されたとき、特定のユーザインタフェース要素は、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接対話を可能にするタッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112又は図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用し、したがってタッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置で入力(例えば、接触による押下入力)が検出されたとき、特定のユーザインタフェース要素が、検出された入力に従って調整される。いくつかの実装形態では、(例えば、フォーカスを1つのボタンから別のボタンへ動かすためにタブキー又は矢印キーを使用することによって)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスがユーザインタフェースの1つの領域からユーザインタフェースの別の領域に動かされ、これらの実装形態では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタがとる具体的な形態にかかわらず、フォーカスセレクタは、一般に、ユーザが意図するユーザインタフェースとの対話について(例えば、ユーザがそれを通じて対話することを意図しているユーザインタフェースの要素をデバイスに示すことによって)伝えるためにユーザによって制御されるユーザインタフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
本明細書及び特許請求の範囲において使用されるとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後の)に関連する所定の時間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づいている。一部の実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。一部の実施形態では、特性強度は、ユーザによって動作が実行されたかどうかを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を上回るが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを見送るべきか)を判定するために使用される。
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、任意選択的に、開始位置から遷移して終了位置に到達し、その位置で接触の強度が増大している、連続するスワイプ接触を受信する。この例では、終了位置での接触の特性強度は、任意選択的に、スワイプ接触全体ではなく、連続するスワイプ接触の一部分のみ(例えば、スワイプ接触のうち終了位置の部分のみ)に基づいている。いくつかの実施形態では、任意選択的に、接触の特性強度を判定する前に、平滑化アルゴリズムがスワイプ接触の強度に適用される。例えば、平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的のために、スワイプ接触強度の幅の狭いスパイク又は下落を排除する。
タッチ感知面上の接触の強度は、任意選択的に、接触検出強度閾値、軽い押下強度閾値、深い押下強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けられる。一部の実施形態では、軽い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作をデバイスが実行する強度に相当する。一部の実施形態では、深い押下強度閾値は、通常、物理マウスのボタン又はトラックパッドをクリックすることに関連付けられた動作とは異なる動作をデバイスが実行する強度に相当する。いくつかの実施形態では、軽い押下強度閾値を下回る(例えば、且つそれを下回ると接触が検出されなくなる公称接触検出強度閾値を上回る)特性強度を有する接触が検出されたとき、デバイスは、タッチ感知面上の接触の移動に従って、軽い押下強度閾値又は深い押下強度閾値に関連付けられた動作を実行することなく、フォーカスセレクタを動かす。一般に、特に明記しない限り、これらの強度閾値は、ユーザインタフェースの値の様々なセットの間で一貫している。
軽い押下強度閾値を下回る強度から、軽い押下強度閾値と深い押下強度閾値との間の強度への、接触の特性強度の増大は、「軽い押下」の入力と呼ばれることがある。深い押下強度閾値を下回る強度から、深い押下強度閾値を上回る強度への、接触の特性強度の増大は、「深い押下」の入力と呼ばれることがある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押下強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と呼ばれることがある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と呼ばれることがある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
本明細書に記載するいくつかの実施形態では、それぞれの押下入力を含むジェスチャを検出したことに応じて、又はそれぞれの接触(若しくは複数の接触)によって実行されたそれぞれの押下入力を検出したことに応じて、1つ以上の動作が実行され、それぞれの押下入力は、押下入力強度閾値を上回る接触(又は複数の接触)の強度の増大を検出したことに少なくとも部分的に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押下入力強度閾値を上回るそれぞれの接触の強度の増大(例えば、それぞれの押下入力の「ダウンストローク」)を検出したことに応じて実行される。いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続く押下入力閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的な入力を回避するために強度ヒステリシスを採用し、デバイスは、押下入力強度閾値との既定の関係を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押下入力強度閾値よりもX強度単位低い、又はヒステリシス強度閾値は、押下入力強度閾値の75%、90%、若しくはなんらかの妥当な割合である)。したがって、いくつかの実施形態では、押下入力は、押下入力強度閾値を上回るそれぞれの接触の強度の増大、及びそれに続く押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、それに続くヒステリシス強度閾値を下回るそれぞれの接触の強度の減少(例えば、それぞれの押下入力の「アップストローク」)を検出したことに応じて実行される。同様に、一部の実施形態では、押下入力は、デバイスが、ヒステリシス強度閾値以下の強度から押下入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、その後のヒステリシス強度以下の強度への接触の強度の減少を検出するときにのみ検出され、それぞれの動作は、押下入力(例えば、状況に応じて、接触の強度の増大又は接触の強度の減少)を検出したことに応じて実行される。
説明を容易にするために、押下入力強度閾値に関連付けられた押下入力、又は押下入力を含むジェスチャに応じて実行される動作の説明は、任意選択的に、押下入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押下入力強度閾値を上回る強度への接触の強度の増大、押下入力強度閾値を下回る接触の強度の減少、及び/又は押下入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかを検出したことに応じてトリガされる。更に、押下入力強度閾値を下回る接触の強度の減少を検出したことに応じて実行されるように動作が記載される例では、動作は、任意選択的に、押下入力強度閾値に対応し、且つそれよりも低いヒステリシス強度閾値を下回る接触の強度の減少を検出したことに応じて実行される。
本明細書では、「インストール済みアプリケーション」は、電子デバイス(例えば、デバイス100、300、及び/又は500)上へダウンロードされ、デバイス上で起動する準備ができた(例えば、開かれた)ソフトウェアアプリケーションを指す。いくつかの実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出し、抽出された部分をコンピュータシステムのオペレーティングシステムと統合するインストールプログラムによって、インストール済みアプリケーションになる。
本明細書では、「開いているアプリケーション」又は「実行中のアプリケーション」という用語は、保持された状態情報(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部として)を有するソフトウェアアプリケーションを指す。開いている又は実行中のアプリケーションは、任意選択的に、以下のタイプのアプリケーションのうちのいずれか1つである。
● アプリケーションが使用されているデバイスのディスプレイスクリーンに現在表示されているアクティブなアプリケーション、
● 現在表示されていないが、アプリケーションに対する1つ以上のプロセスが1つ以上のプロセッサによって処理されている背景アプリケーション(又は背景プロセス)、並びに
● 稼働していないが、(それぞれ、揮発性及び不揮発性の)メモリに記憶されており、且つアプリケーションの実行を再開するために使用することができる状態情報を有する、中断又は休止状態のアプリケーション。
本明細書では、「閉じているアプリケーション」という用語は、保持された状態情報を有していないソフトウェアアプリケーションを指す(例えば、閉じているアプリケーションに対する状態情報は、デバイスのメモリ内に記憶されていない)。したがって、アプリケーションを閉じることは、アプリケーションに対するアプリケーションプロセスを停止及び/又は除去し、アプリケーションに対する状態情報をデバイスのメモリから除去することを含む。概して、第1のアプリケーション中に第2のアプリケーションを開いても、第1のアプリケーションは閉じない。第2のアプリケーションが表示されており、且つ第1のアプリケーションが表示を終了されたとき、第1のアプリケーションは背景アプリケーションになる。次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインタフェース(「UI」)及び関連プロセスの実施形態に注意を向ける。
図6は、相互接続されたユーザ及びデバイスの例示的なセットを示す。図7A~図7Mは、いくつかの実施形態に係る、健康関連イベントをログ記録するための例示的なシステム及びユーザインタフェースを示す。これらの図のユーザインタフェースは、図8のプロセスを含む後述のプロセスを説明するために使用される。
図6は、相互接続されたユーザ(例えば、参加者及びコーチ)及び電子デバイスのセット600の概略図である。セット600は、参加者1、参加者2、及び参加者Nを含み、Nは追加の参加者の任意の数を表す。参加者1-Nは、インターネット602を介してコーチ604に接続されている。いくつかの実施形態では、各参加者は、コーチ604とは異なるコーチに接続されている。いくつかの実施形態では、1人以上の参加者は、コーチ604に加えて、追加のコーチに接続されている。
図6に示すように、参加者1は、デバイス606-1(例えば、スマートフォン)、デバイス608-1(例えば、スマートウォッチ)、及びデバイス610-1(例えば、連続グルコースモニタ)のユーザである。参加者2は、デバイス606-2(例えば、スマートフォン)、デバイス608-2(例えば、スマートウォッチ)、及びデバイス610-2(例えば、連続グルコースモニタ)のユーザである。参加者Nは、デバイス606-3(例えば、スマートフォン)、デバイス608-3(例えば、スマートウォッチ)、及びデバイス610-3(例えば、連続グルコースモニタ)のユーザである。
参加者1のデバイス606-1は、デバイス608-1及び610-1と通信している。いくつかの実施形態では、デバイス608-1及び610-1も直接通信している。同様に、参加者2及び参加者Nのデバイスは、それぞれ通信している。
コーチ604は、インターネット602を介して、参加者1~Nの1つ以上のデバイスからデータを受信し、また、それにデータを送信するように構成されたデバイス612(例えば、タブレットコンピュータ)のユーザである。いくつかの実施形態では、コーチは、一連のセッション(例えば、日からなるセット(例えば、10日間))にわたって1人以上の参加者と共に作業して、飲食内容(diet)及び血中グルコースデータなどの健康関連イベント及びデータを監視して、健康関連イベントに対する参加者の生理学的反応を良く理解することで1人以上の参加者を支援し、潜在的に、参加者の健康を改善するために参加者の行動を修正することで1人以上の参加者を支援することができる。例えば、コーチは、前糖尿病の参加者と共に作業して、最初のセッションでは、最初に、参加者が自身の血中グルコースに関してログ記録することになる様々なイベントの影響を理解することができる。その後、コーチは、前糖尿病の参加者と共に作業して、後続のセッションでは、血中グルコースレベル及び/又は一般的な健康にポジティブな影響を与えるように、発行されたイベントチャレンジの使用を通じて、参加者の行動を修正することができる。
図7A~図7Mは、健康関連イベントをログ記録するためのデバイス及びユーザインタフェースを示す。
図7Aは、スマートフォンであるデバイス700を示す。いくつかの実施形態では、デバイス700はデバイス100、300、500、及び/若しくは606-1である、又はそれらの1つ以上の特徴を含む。デバイス700は、ディスプレイ及び入力デバイスの両方として機能するタッチ感知ディスプレイ702を含む。デバイス700はまた、図6のデバイス608-1、610-1、及び612などの外部電子デバイスと通信するための1つ以上の無線通信アンテナも含む。
図7Aでは、デバイス700は、現在の日(例えば、5月10日)中のユーザの血中グルコースデータを示すグラフ704-1を含む毎日の血中グルコースインタフェース704を表示している。いくつかの実施形態では、血中グルコースデータは、デバイス610-1からデバイス700に送信され、連続血中グルコースモニタセンサは、デバイス700のユーザに動作可能に接続されている。図示されるように、グラフ704-1は、時間のx軸(例えば、時間帯)及び血中グルコース値のy軸(例えば、mg/dL又はmmol/Lの単位)を有する。インタフェース704はまた、他の日にナビゲートするためのアフォーダンス704-2、704-3、及び704-4を含む。インタフェース704は、ユーザの現在の(例えば、最新の)血中グルコース読み取り値(例えば、デバイス610-1から受信した最新のデータ)と、表示された日の5月10日が現在の日付であるというインジケーションと、を表示する領域704-5を更に含む。
インタフェース704はまた、現在表示されている日付の任意のログ記録されたイベントに対応するアフォーダンス(単数又は複数)を表示する、ログ記録されたイベント領域704-6を含む。図7Aに示すように、領域704-6は、フォークとナイフのグラフィックアイコンによって示されるように、ログ記録された食品イベントに対応するアフォーダンス704-6Aを含む。アフォーダンス704-6Aはまた、ログ記録された食品イベントと関連付けられたアクション(「アーモンドミルク入りのコーヒーの消費」)及び、アクションが行われたときを示す、イベントがログ記録された時間(6:35AM)のインジケーションも含む。いくつかの実施形態では、血中グルコース以外の生理学的データを、血中グルコースに加えて、又は血中グルコースの代わりに追跡する。他の生理学的データは、例えば、コレステロール、体重、体温、ウイルス負荷、及び血圧を含み得る。
インタフェース704は、以下でより詳細に論じるように、様々なビューにナビゲートするためのアフォーダンス704-7A、704-7B、及び704-7Cを含むナビゲーション領域704-7を更に含む。ユーザインタフェース704の毎日ビューに対応するアフォーダンス704-7Aは、現在視覚的に強調表示されて、毎日ビューが現在アクティブであることを示す。
図7Aでは、デバイス700は、追加イベントアフォーダンス704-8上の入力706(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Bのユーザインタフェース708を表示する。
図7Bでは、デバイス700はイベントタイプインタフェース708をインタフェース704上のオーバーレイとして表示し、その残りの表示部分は、インタフェース708が表示される間は、視覚的に強調表示されない(例えば、グレーアウトされる)。インタフェース708は、ログ記録するイベントのタイプを選択するための複数のアフォーダンス708-1~708-4を含む。例えば、アフォーダンス708-1は、食品/飲料関連イベントをログ記録するように選択することができる。708-4は、以前にお気に入りしたイベントに基づいて新しいイベントをログ記録するように選択することができる。
図7Bでは、デバイス700は、過去のアクティビティイベントに対応するアフォーダンス708-2上の入力710を検出する。入力を検出したことに応じて、デバイス700は、図7Cのユーザインタフェース712を表示する。
図7Cでは、デバイス700は、入力710を検出した後、及びユーザからの更なる入力を受信した後に、新しい過去のイベントをログ記録するための新しい過去のアクティビティユーザインタフェース712を表示する。インタフェース712は、(追加の入力を介してテキスト「5マイル走る」がすでに入力された)アクティビティ/アクション入力領域712-1、及び(追加の入力を介して「2019年5月10日8:00」がすでに入力された)日付/時間領域712-2を含む。インタフェース712はまた、過去のイベントに関連付けられた感情を選択するための感情選択領域712-3も含む。領域712-3は、ログ記録されたイベント及びアクションに関連付けられた感情を示すためのアフォーダンス712-A1~712-A3を含む。いくつかの実施形態では、感情は相互に排他的であり、1つのみが選択され得る。いくつかの実施形態では、複数の感情が選択され得る。図7Cに示すように、感情「疲労している」は、以前の入力を介して選択されている。いくつかの実施形態では、その後の行動の変化が関連イベントの後続の発生に対して与えられる感情に影響を与えるかどうかを理解するために、後続のレビューにおいて参加者及び/又はコーチによって感情が使用される。
図7Cで、デバイス700は、保存アフォーダンス716上の入力714(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Dに見られるように、ユーザインタフェース704を再表示する。
図7Dでは、デバイス700は、新たにログ記録されたイベントが領域704-6のアフォーダンス704-6Bとして表示されたインタフェース704を表示する。アフォーダンス704-6Bは、イベント(「5マイル走る」)に関連付けられたアクション及びそのイベントに関連付けられた時間(「8:00AM」)のインジケーションを含む。いくつかの実施形態では、アフォーダンスはまた、イベントに関連付けられた感情(例えば、「疲労している」)のインジケーションを含むことができる。
図7Dでは、デバイス700は、以前にログ記録された食品/飲料イベントに対応するアフォーダンス704-6A上の入力718(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Eに見られるように、ユーザインタフェース720を表示する。
図7Eでは、電子デバイス700は、イベント詳細インタフェース720を表示する。インタフェース720は、ログ記録されたイベントに関連付けられた日全体を通してユーザの血中グルコースデータを示すグラフ720-1を含む。イベントは現在の日に関連付けられているため、血中グルコースデータは、インタフェース704のグラフ704-1に示されるもの(図7A)と同じである。グラフ720-1はまた、イベントに関連付けられた時間を示すインジケーション720-2を含む。図7Eに見られるように、ユーザの血中グルコースレベルは、イベントの直後に(例えば、アーモンドミルク入りのコーヒーを消費した直後に)上昇した。インタフェース720はまた、イベントの更なる詳細を含むイベント詳細領域720-3を含む。例えば、領域720-3は、以下でより詳細に論じるように、イベントがユーザの血中グルコースを少し上昇させることになる感情(例えば、予測)を示す入力を、ユーザが提供したことを示すアイコン720-3Aを含む。領域720-3はまた、イベントがお気に入りされていることを示すアイコン720-3Bを含む。領域720-3はまた、写真がイベントに関連付けられたかどうか(例えば、消費された食品又は飲料の写真)のインジケーション720-3Cを含む。
図7Eでは、デバイス700は、図7Eに示すイベントを編集する要求に対応する編集アフォーダンス724上の入力722(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Fに見られるように、ユーザインタフェース726を表示する。
図7Fでは、デバイス700は、入力722を検出した後、及びユーザからの更なる入力を受信した後にイベントを編集するためのイベント編集インタフェース726を表示する。図7Fに見られるように、デバイス700は、ユーザがここで、コーヒーには追加の砂糖が含まれていたことを思い出すように、726-1に示される、「アーモンドミルクと砂糖入りのコーヒー」にアクションを変更するための更なる入力を検出している。インタフェース726はまた、以下でより詳細に論じるように、イベントが、発行されているイベントチャレンジに対する応答であることを示すための領域726-2も含む。インタフェース726は、イベントに関連付けられた感情(例えば、予想される生理学的応答)を示すための領域726-3を更に含む。領域726-3は、イベントに応じて(例えば、食品/飲料の消費に応じて)、予想される応答が「大幅に上昇する」であること(例えば、血中グルコースが大幅に上昇するであろう)を示すためのアフォーダンス726-3A、及び、予想される応答が「少し上昇する」であること(例えば、血中グルコースは少しだけ増加する)を示すためのアフォーダンス726-3Bを含む。
図7Fでは、デバイス700は、「大幅に上昇する」に対応するアフォーダンス726-3A上の入力728(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Gに示されるように、ユーザインタフェース726を表示する。
図7Gでは、デバイス700は、アフォーダンス726-3Aにチェックマークが付いたインタフェース726を表示して、イベントが現在、食品/飲料イベントに応じて血中グルコースが大幅に上昇するユーザ感情に関連付けられていることを示す。
図7Gでは、デバイス700は、保存アフォーダンス732上の入力730(例えば、タッチ)を検出する。入力を検出することに応じて、デバイス700は、図7Hに示されるように、イベントに対する記録を更新し、インタフェース704を再表示する。
図7Hでは、デバイス700は、図7Gで行われた編集に基づいて、ここでは、イベントを「アーモンドミルクと砂糖入りのコーヒー」と示すアフォーダンス704-6Aを有するユーザインタフェース704を表示する。
図7Hでは、デバイス700は、チャレンジビューにナビゲートするためのアフォーダンス704-7B上の入力734(例えば、タッチ)を検出する。入力を検出することに応じて、デバイス700は、図7Iのチャレンジユーザインタフェース736を表示する。
7Iでは、電子デバイス700は、チャレンジユーザインタフェース736を表示する。インタフェース736は、もしある場合、デバイス700で受信されたアクティブなチャレンジを表示する。チャレンジの作成は、図9A~図9M及び図10を参照して以下でより詳細に論じる。インタフェース736は、もしある場合には、アクティブな食品チャレンジを表示するための領域736-1、及び、もしある場合には、アクティブな習慣的チャレンジを表示するための領域736-2を含む。図7Iに見られるように、アフォーダンス736-1A及び736-1Bに対応する2つの食品チャレンジは現在アクティブである。第1の食品チャレンジに対応するアフォーダンス746-1Aは、チャレンジに応じて行われるアクション(「プロテインバーを果物とナッツに置き換える」)、及びチャレンジがそれに応じて作成された元の食品/飲料イベント(「ランニング後のプロテインバー」)のインジケーションを含む。食品チャレンジに応じて、ユーザは、応答イベントの日内の特定の時間を示すことを含む、図7D~図7Gに関して論じたのと同様に応答イベント(例えば、食品/飲料消費イベント)をログ記録することができる。例えば、デバイス700のユーザは、ユーザが通常、ルーチンの一部として消費し得るプロテインバーを果実及びナッツに置き換えることを選択し、その後、チャレンジに応答する食品イベントをログ記録することができる。
図7Iに見られるように、アフォーダンス736-2Aに対応する1つの習慣的チャレンジは、現在アクティブである。デバイス700は、アクティブな習慣的チャレンジに対応するアフォーダンス736-2A上の入力738(例えば、タッチ)を検出する。入力を検出することに応じて、デバイス700は、図7Jに見られるように、習慣的チャレンジ応答インタフェース740を表示する。
図7Jでは、デバイス700は、習慣的チャレンジがうまく満たされたとユーザが判定する1日以上の日をマーキングするためのインタフェース740を表示する。いくつかの実施形態では、習慣的チャレンジは、チャレンジを満たすためにその日全体を通して実行されるべき1つ以上のアクション(例えば、「運動の直後にプロテインバーを食べる」)を指定することができる。いくつかの実施形態では、習慣的チャレンジは、チャレンジを満たすために回避すべき1つ以上のアクション(例えば、「砂糖入りのソーダを飲まない」)を指定することができる。インタフェース740は、2019年5月11日に対応するアフォーダンス740-1Aを含む、複数のアフォーダンス740-1を含む。
図7Jでは、デバイス700は、アフォーダンス740-1A上の入力742(例えば、タッチ)を検出する。入力を検出したことに応じて、デバイス700は、図7Kに示されるように、インタフェース740を修正する。
図7Kでは、デバイス700は、習慣的チャレンジがその日は満たされたことを示すためにチェックされたアフォーダンス740-1Aを有するインタフェース740を表示する。いくつかの実施形態では、ユーザは、複数のアフォーダンス740-1を選択して、習慣的チャレンジが満たされた複数の日を示すことができる。いくつかの実施形態では、習慣的チャレンジが日単位でのみ満たされ得るため、習慣的チャレンジに対する応答は、日しか示さず、特定の時間帯を示さない。
図7Kでは、デバイス700は、保存アフォーダンス746上の入力744(例えば、タッチ)を検出する。入力を検出することに応じて、デバイス700は、習慣的チャレンジが満たされた日付(単数又は複数)のユーザの選択を修正して保存する。
図7Lは、スマートウォッチであるデバイス750を示す。いくつかの実施形態では、デバイス60はデバイス100、300、500、及び/若しくは608-1である、又はそれらの1つ以上の特徴を含む。デバイス750は、ディスプレイ及び入力デバイスの両方として機能するタッチ感知ディスプレイ752を含む。デバイス750はまた、図6のデバイス606-1、610-1、及び612などの外部電子デバイスと通信するための1つ以上の無線通信アンテナを含む。
図7Lでは、デバイス750は、特定の時間に食品/飲料イベントをログ記録するためのユーザインタフェース754を表示する。そのようなログ記録されたイベントのデータは、その後、外部デバイス(例えば、デバイス700)に送信され、(例えば、図7D~図7Gに示される編集方法を介して)追加の詳細を入力することができる。いくつかの実施形態では、デバイス750は、デバイス700よりもユーザが簡単に又は容易にアクセス可能であり、食品/飲料イベントが発生した時間を正確に記録することが重要であるため、デバイス750を使用して、食品/飲料イベントをより正確にログ記録するのを容易にすることができる。図7Mでは、デバイス750は、イベントのログ記録が成功したというインジケーションを表示する。
図8は、いくつかの実施形態に係る、電子デバイスを使用して健康関連イベントをログ記録するための方法を説明するフロー図である。方法800は、表示デバイス(例えば、702)(例えば、一体型のタッチ感知ディスプレイ)及び1つ以上の入力デバイス(例えば、702)(例えば、マウス、タッチパッド、タッチ感知ディスプレイ)を有する第1の電子デバイス(例えば、100、300、500、606-1、700)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ)で実行される。方法800のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法800は、健康関連イベントをログ記録するための直感的な方法を提供する。方法は、健康関連イベントをログ記録する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に健康関連イベントをログ記録することを可能にすることで、電力を節約し、バッテリ充電間の時間を延ばす。
第1の電子デバイス(例えば、700)は、1つ以上の入力からなる第1のセットを、1つ以上の入力デバイスのうちの第1の入力デバイス(例えば、702)を介して受信する(802)。1つ以上の入力からなる第1のセットは、実行された(例えば、第1の電子デバイスのユーザによって実行された)第1のアクション(例えば、食品又は飲料の消費、運動の実施)を識別する第1の入力(例えば、712-1又は726-1でテキストを入力する入力)と、第1のアクションに関連付けられた第1のユーザ感情(例えば、ユーザの現在の身体的幸福感(例えば、第1のアクションが運動の実施である場合)又は将来の結果の予測(例えば、(例えば、第1のアクションが食品又は飲料の消費である場合)第1のアクションの生理学的パラメータ(例えば、血中グルコース又は心拍数)に対する第1のアクションの将来の影響の予測))を識別する第2の入力(例えば、712-3Bを選択する入力、入力728)と、を含む。
第1の電子デバイスは、1つ以上の入力からなる第1のセットに応じて、第1のアクション及び第1のユーザ感情を含む第1のログエントリ(例えば、イベント704-6A又は704-6B)を生成し(804)、第1のログエントリは、第1の時点(例えば、1つ以上の入力からなる第1のセットが受信された時間)に関連付けられている。入力されたアクション及び感情を含むログエントリを生成することにより、ユーザに、第1の電子デバイスの操作性を向上させる所望の情報を有するログエントリを作成するための改善された入力方法が提供される。デバイスの操作性を向上させることにより、(例えば、デバイスを操作する/デバイスと対話するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1のログエントリは、第1のログエントリが食品又は飲料の消費に関連付けられているとのインジケーション(例えば、704-6Aのアイコン)を含み、第1のユーザの感情(例えば、726-3A又は726-3B)は、第1の電子デバイスのユーザの第1の生理学的パラメータ(例えば、血中グルコース、心拍数、コレステロール)に対する食品又は飲料の消費の影響の予測(例えば、その効果、第1の量又は第2の量だけ生理学的パラメータを増加させることになるとの予測)を含む。食品又は飲料の消費及び消費の影響のユーザ予測に関連付けられたログエントリを生成することにより、後の参照及びレビューのための、消費イベントの予測される影響の感情に関する記憶されたフィードバックが、ユーザに提供される。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、1つ以上の入力からなる第1のセットは、第3の入力(例えば、704-8)を含み、第1の電子デバイスは、(例えば、1つ以上の入力からなる第1のセットを受信する前に)第1のタイプのログエントリ(例えば、食品又は飲料の消費に対応するログエントリ)に対応する第1のアフォーダンス(例えば、708-1)、及び、第1のタイプとは異なる第2のタイプのログエントリ(例えば、過去のアクティビティの実施(例えば、運動の実施))に対応する第2のアフォーダンス(例えば、708-2)を、表示デバイスを介して表示する(806)。第3の入力が第1のアフォーダンスの選択に対応するとの判定に従って、第1のログエントリは、第1のログエントリが第1のタイプであるとのインジケーションを含む。第3の入力が第1のアフォーダンスに対応するとの判定に従って、第1のログエントリは、第1のログエントリが第2のタイプであるとのインジケーションを含む。ログエントリに、ログエントリがユーザ入力に基づいて第1のタイプであるか、それとも第2のタイプであるかのインジケーションを含めることにより、ログエントリの特性を指定するのに必要な入力の数が減少する。この動作を実行するのに必要な入力の数を減少させることにより、第1の電子デバイスの操作性が高まる。デバイスの操作性を向上させることにより、(例えば、デバイスを操作する/デバイスと対話するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1のログエントリを生成した後、第1の電子デバイスは、第1の時点を含む第1の期間(例えば、24時間、1月1日)の表現(例えば、704-1)(例えば、第1軸として時間、及び第2軸として生理学的パラメータの値を有するグラフ)と、第1のログエントリの表現(例えば、705-6A)と、第1の期間内の第1の時点とは異なる第2の時点に関連付けられた第2のログエントリ(例えば、704-6B)の表現と、を含む第1のユーザインタフェース(例えば、704)を、表示デバイスを介して表示する(808)。
いくつかの実施形態では、第1のユーザインタフェースは、第1の期間にわたる第1の電子デバイスのユーザの第2の生理学的パラメータ(例えば、血中グルコース、心拍数、コレステロール)の値の表現(例えば、線グラフ)を含む。
いくつかの実施形態では、第1の期間にわたる第2の生理学的パラメータの値は、第2の電子デバイス(例えば、610-1又は608-1)(例えば、心拍数モニタ、連続血中グルコースモニタである、外部電子デバイス)から受信される。
いくつかの実施形態では、第1のユーザインタフェースは、第1の電子デバイスのユーザの第3の生理学的パラメータ(例えば、血中グルコース、心拍数、コレステロール)の現在の値(例えば、現在値、リアルタイム値)の表現(例えば、704-5)を含む。
いくつかの実施形態では、第1のユーザインタフェースは、第3の電子デバイス(例えば、750)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ)で生成されており、第1の電子デバイスに送信された第3のログエントリの表現(例えば、インタフェース754を使用して入力されたログエントリ)を含む。いくつかの実施形態では、第3のログエントリは、(例えば、第1の電子デバイスで受信された1つ以上の入力からなるセットを介して)編集され、ログエントリに対応する追加の詳細を追加することができる。
いくつかの実施形態では、1つ以上の入力からなる第1のセットは、第4の電子デバイス(例えば、612又は900)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ)で生成されており、第1の電子デバイスに送信された第1のイベントチャレンジ(例えば、736-2A)(例えば、実行される、又は実行されない(例えば、見合わせる)1つ以上のアクションからなるセット)に対応する第4の入力(例えば、738)を含み、第1の長いエントリは、第1のイベントチャレンジのインジケーションを含む。第4の電子デバイスから受信した関連するイベントチャレンジのインジケーションを含むログエントリを生成することは、ユーザによって実行されるアクションと受信されたイベントチャレンジとの間の関係を記憶し(memorializes)、それによって、向上したフィードバックを提供する。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第4の電子デバイスで生成されており、第1の電子デバイスに送信された第2のイベントチャレンジの表現(例えば、736-1A)(例えば、アフォーダンス)(例えば、実行される、又は実行されない(例えば、見合わせる)1つ以上のアクションからなるセット)、及び、第4の電子デバイスで生成されており、第1の電子デバイスに送信された第2のイベントチャレンジとは異なる第3のイベントチャレンジの表現(例えば、アフォーダンス)を含む、第2のユーザインタフェース(例えば、736)を、表示デバイスを介して表示する(710)。
いくつかの実施形態では、第2のイベントチャレンジ(例えば、736-1A)は第1のタイプのイベントチャレンジ(例えば、食品/飲料消費チャレンジ)であり、第3のイベントチャレンジ(例えば、736-2A)は第1のタイプとは異なる第2のタイプのイベントチャレンジ(例えば、習慣的チャレンジ)である。第1の電子デバイスは、第2のユーザインタフェース(例えば、736)を表示している間に、1つ以上の入力からなる第2のセット(例えば、入力738を含む入力からなるセット)を受信する。第1の電子デバイスは、1つ以上の入力からなる第2のセットが第2のイベントチャレンジの表現の選択を含むとの判定に従って、第3の時点(日/日付内の特定の時点(例えば、1月1日の12:00PM))に関連付けられたイベントチャレンジ応答を生成するように構成された第3のユーザインタフェース(例えば、726)を表示する。第1の電子デバイスは、1つ以上の入力からなる第2のセットが第3のイベントチャレンジの表現の選択を含むとの判定に従って、第1の日付(例えば、1月1日(例えば、しかし、日付の特定の時点に関連付けられていない))に関連付けられたイベントチャレンジ応答を生成するように構成された第4のユーザインタフェース(例えば、740)を表示する。イベントチャレンジのタイプに基づいて異なるチャレンジ応答インタフェースを表示することにより、ユーザが特定のチャレンジイベントタイプに関連するデータを記憶するために必要な入力の数が低減される。この動作を実行するために必要な入力の数を低減することにより、第1の電子デバイスの操作性が向上する。デバイスの操作性を向上させることにより、(例えば、デバイスを操作する/デバイスと対話するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第1のログエントリを生成した後、第1のログエントリを第5の電子デバイス(例えば、612又は900)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ)(例えば、第1の電子デバイスによって生成されたログエントリを受信し、1つ以上のイベントチャレンジを第1の電子デバイスに送信する電子デバイス)に送信する。
方法800に関連して上述したプロセスの詳細(例えば、図8)はまた、後述する方法にも類似する方式で適用可能であることに留意されたい。例えば、方法1000は、方法800を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、方法1000の1002に表示されるログエントリは、方法800の804で生成されたイベントに基づくことができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
図9A~図9Mは、電子デバイスを使用した健康関連のコーチングのための例示的なシステム及びユーザインタフェースを示す。
図9Aは、タブレットコンピュータであるデバイス900を示す。いくつかの実施形態では、デバイス900はデバイス100、300、500、及び/若しくは612である、又はそれらの1つ以上の特徴を含む。デバイス900は、ディスプレイ及び入力デバイスの両方として機能するタッチ感知ディスプレイ902を含む。デバイス900はまた、図6のデバイス606-1、608-1、及び610-1などの外部電子デバイスと通信するための1つ以上の無線通信アンテナを含む。
図9Aでは、デバイス900は、参加者リストインタフェース904を表示している。インタフェース904は、デバイス900と健康関連データ(例えば、血中グルコースデータ及び健康関連イベントデータ)を現在共有している様々な参加者デバイスに対応するアフォーダンス904-1A、904-1B、及び904-1Cを含む。インタフェース904はまた、インタフェース904に列挙された参加者を並べ替える、検索する、且つ修正するための複数のアフォーダンスを含む領域904-2も含む。
図9Aでは、デバイス900は、参加者1(例えば、図6の参加者1)に対応するアフォーダンス904-1A上の入力906(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Bに見られるように、参加者1の概要インタフェース908を表示する。
図9Bでは、デバイス900は概要インタフェース908を表示する。インタフェース908は、特定のインタフェース間をナビゲートするためのアフォーダンス908-1A(「概要」)及び908-1B(「ログデータ」)などのアフォーダンスを含むナビゲーション領域908-1を含む。アフォーダンス908-1Aは現在視覚的に区別され、現在のユーザインタフェースが概要インタフェース908であることを示す。インタフェース908はまた、参加者1のデータに関して、デバイス900を使用するコーチによって、コメントを入力するためのビューにナビゲートするためのアフォーダンス(「コメント」)も含む。インタフェース908はまた、参加者1によって送信されたイベント関連写真をレビューするためのビューにナビゲートするためのアフォーダンス(「写真チェック」)も含む。
インタフェース908はまた、参加者1の血中グルコースデータを示すグラフ908-2も含む。いくつかの実施形態では、血中グルコースデータは、参加者1に関連付けられた図6のデバイス606-1、608-1、及び610-1のうちの1つ以上によってデバイス900に送信される。図示されるように、グラフ908-2は、複数の日(例えば、グラフに示されるように、セッション3の日)間の繰り返しの24時間周期を示すx軸を有する。グラフ908-2は、y軸を有する。図示されるように、グラフ908-2は、血中グルコースデータ、908-2A、908-2B、908-2Cからなる3つの線を含み、それは、参加者1に対してセッション3において現在ログ記録されている3日のそれぞれに対するものである。したがって、血中グルコースレベルがしばしば毎日のサイクルに従うので、グラフ908-2は、複数の日にわたって同じ時間帯(例えば、9AM)の参加者1の血中グルコースレベルを比較する機能を提供する。いくつかの実施形態では、デバイス900は、ディスプレイ902上の検出された入力(例えば、ピンチ又はスワイプジェスチャ)に基づいてグラフをスケール変更又は修正することができる。グラフ908-2はまた、参加者1の心拍数が最大心拍数(例えば、描写された期間の最大心拍数)の50%を超えた期間を示すインジケーション908-2Dも含む。グラフ908-2はまた、参加者1の心拍数が高い閾値(最大値の64%)を超えた期間を示すインジケーション908-2Eも含む。いくつかの実施形態では、血中グルコースデータに加えて心拍数データを提供することにより、血中グルコースレベルに対する有酸素運動(cardiovascular exercise)の影響を示す情報が参加者又はコーチに提供される得る。
インタフェース908はまた、報告基準を満たすグルコースデータのサブセット(エクスカーション(excursion)とも呼ばれる)のためのアフォーダンスを含む高応答領域908-3を含む。いくつかの実施形態では、デバイス900は、閾値を超える、血中グルコースの顕著な増加率又は血中グルコースの顕著な絶対値を示すグルコースデータを識別及び顕在化する。図9Bでは、デバイス900は、2つの顕著なインシデントを識別し、アフォーダンス908-3A及び908-3Bを表示する。図示されるように、各アフォーダンスは、関係する情報も含むことができる。例えば、アフォーダンス908-3Aは、インジケーション「2個の砂糖入りのコーヒー」を含み、顕著なデータに関連付けられた時間内又はその近くで食品/飲料イベントがログ記録されたことを示す。アフォーダンス908-3Bは、インジケーション「食事なし、アクティビティなし」を含み、顕著なデータに関連付けられた時間内又はその近くで何のイベントもログ記録されていないことを示す。
図9Bでは、デバイス900は、第1の高応答データに対応する、アフォーダンス908-3A上の入力910(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Cに見られるように、参加者1の日インタフェース912を表示する。
図9Cでは、デバイス900は、インタフェース908上に重ね合わされた日インタフェース912を表示する。インタフェース912は、インタフェース908の線908-2Aによって示されたデータに対応するグラフ912-1を含む。図9Cに見られるように、その線は、セッション3の1日目(月曜日)の参加者1の血中グルコースデータに対応する。グラフ912-1はまた、参加者1によってグラフにログ記録されたイベントに対応するインジケータ912-2A及び912-2Bも含む。ログ記録されたイベントはまた、912-3A(食品/飲料イベント(2個の砂糖入りのコーヒー))及び912-3B(アクティビティイベント(「ランニング」))である2つのそれぞれのイベントのインジケーションを含む領域912-3にも示されている。いくつかの実施形態では、領域912-3は、現在表示されている日に対してログ記録された追加のイベントを示すようにスクロール可能である。領域912-3はまた、両方ともイベント912-3Aに関連付けられたアフォーダンス912-3A1及び912-3A2を含む。アフォーダンス912-3A1を使用して、食品チャレンジを生成するプロセスを開始することができる。アフォーダンス912-3A2を使用して、習慣的チャレンジを生成するプロセスを開始することができる。いくつかの実施形態では、領域912-3に表示された各イベントは、食品及びイベントのチャレンジを作成するための関連アフォーダンスを含み、領域912-3をスクロールアップすることにより、イベント912-3Bのアフォーダンスが明らかになる。グラフ912-1に示すように、参加者1の血中グルコースレベルは、イベント912-3A後に劇的に上昇し、イベント912-3Bの後にわずかに減少した。いくつかの実施形態では、デバイス900を使用するコーチは、参加者1を誘導して、参加者の消費のアクティビティを修正して血糖の劇的な増加を軽減するために、食品チャレンジの発行を選択することができる。
図9Cで、デバイス900は、アフォーダンス912-3A1上の入力914(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Dに見られるように、食品チャレンジインタフェース916を表示する。
図9Dでは、デバイス900は、参加者1の新しい食品チャレンジを作成するためのインタフェース916を表示する。インタフェース916は、参加者1がチャレンジを満たすように実行するべき食品/飲料関連のアクションとしても機能するチャレンジの名前を入力する領域916-1を含む。いくつかの実施形態では、インタフェース916は、チャレンジの名前、及びチャレンジを満たすために必要なアクション(単数又は複数)のための別個のフィールドを含む。インタフェース916は、テキストを入力するためにキーボード918と共に表示される。
図9Eでは、デバイス900は、キーボード入力を検出しており、それに応じて、参加者1がイベント「2個の砂糖入りのコーヒー」に応じて発行されたチャレンジを満たすために行うべきアクションとしてテキスト920(「無糖コーヒー」)を表示する。図9Eでは、デバイス900は、終了アフォーダンス924上の入力922を検出する。入力に応じて、デバイス900は、食品チャレンジを作成し、チャレンジに対応するデータを参加者1に関連付けられたデバイス(単数又は複数)(例えば、デバイス606-1、608-1、及び610-1)に送信する。いくつかの実施形態では、送信されたデータにより、図7I~図7Kに関して上述したように、参加者1のデバイスは、参加者1に促して応答イベントをログ記録する。
図9Fは、イベント912-3Aに関連付けられた食品チャレンジを生成及び送信した後にインタフェース908を再表示するデバイス900を示す。図9Fでは、デバイス900は、アフォーダンス908-1B上の入力926を検出する。入力に応じて、デバイス900は、図9Gに見られるように、ログデータインタフェース928を表示する。
図9Gでは、デバイス900は、ログデータインタフェース928を表示する。インタフェース928は、セッション3の第3のログ記録日の期間にわたる参加者1の血中グルコースデータを示すグラフ928-1を含む。したがって、x軸はセッション3のログ記録データの全範囲であり、y軸は血中グルコースである。単一の線928-1Aは、インタフェース908の線908-2A、908-2B及び908-2Cにより示されるデータの合成である。
インタフェース928は、現在選択されているセッションのログ記録日のアフォーダンス(単数又は複数)を有する領域928-2を含む。図9Gでは、セッション3のログ記録された3日のそれぞれに対するアフォーダンス928-2A、928-2B、及び928-2Cを含む。各アフォーダンスはまた、その日にログ記録されたイベントの要約(例えば、「1回の食事、1つのアクティビティ」)も含む。
図9Gでは、デバイス900は、セッション3の2日目に対応するアフォーダンス928-2B上の入力930(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Hに見られるように、日インタフェース932を表示する。
図9Hでは、デバイス900は日インタフェース932を表示する。インタフェース932は、日インタフェース912と同様の要素を含むが、セッション3の1日目ではなく2日目のデータを提供する。例えば、インタフェース932はまたグラフ、グラフ932-1も含む。インタフェース932の領域932-2は、イベント932-2A、932-2B、及び932-2Cを含む2日目に参加者1によってログ記録されたイベントを含む。図9Hに示すように、各イベントは、対応する食品チャレンジ又は対応する習慣的チャレンジを作成するためのそれ自体のアフォーダンスに関連付けられている。例えば、イベント932-2Cは、食品チャレンジアフォーダンス932-2C1及び習慣的チャレンジアフォーダンス932-2C2に関連付けられている。
図9Hでは、デバイス900は、セッション3の2日目に対応するアフォーダンス932-2C2上の入力934(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Iに見られるように、習慣的チャレンジインタフェース936を表示する。
図9Iは、デバイス900が、入力934後及び更なる入力後の習慣的チャレンジインタフェース936を表示することを示す。具体的には、デバイス900は、チャレンジの名前及び習慣的チャレンジを満たすために行うべきアクションの両方として機能する、フィールド936-1のテキスト文字列「6マイル走る」の入力に対応するキーボード入力を検出する。いくつかの実施形態では、インタフェース936は、チャレンジの名前及び習慣的チャレンジを満たすために行う(又は見合わせる)べきアクション(単数又は複数)に対する別個のフィールドを含む。
図9Iでは、デバイス900は、終了アフォーダンス940上の入力938(例えば、タッチ)を検出する。入力に応じて、デバイス900は、習慣的チャレンジを作成し、チャレンジに対応するデータを参加者1に関連付けられたデバイス(単数又は複数)(例えば、デバイス606-1、608-1及び610-1)に送信する。いくつかの実施形態では、送信されたデータにより、図7I~図7Kに関して上述したように、参加者1のデバイスは、参加者1を促して習慣的チャレンジの応答をログ記録する。
図9Jでは、デバイス900は、イベント932-2Cに関連付けられた習慣的チャレンジを作成及び送信した後にインタフェース928を再表示する。図9Jでは、デバイス900は、チャレンジアフォーダンス944上の入力942を検出する。入力に応じて、デバイス900は、チャレンジインタフェース946を表示する。
図9Kでは、デバイスはチャレンジインタフェース946を表示する。インタフェース946は、参加者1のデバイス(単数又は複数)に送信された現在アクティブなチャレンジ(例えば、食品及び習慣的チャレンジの両方)に対応する、アフォーダンス946-1A、946-1B、及び946-1Cを含む現在のチャレンジ領域946-1を含む。図示されるように、領域946-1は、新たに作成された食品チャレンジ(946-1B)及び新たに作成された習慣的チャレンジ(946-1C)のアフォーダンスを含む。
インタフェース946はまた、少なくとも1つの応答を受信した任意のチャレンジのためのアフォーダンス(単数又は複数)を含む領域946-2を含む。図9Kでは、アフォーダンス946-1A(「コーヒーにアーモンドミルクを代用」)に関連付けられた以前に作成されたチャレンジは、3回応答した/満たしている。したがって、領域946-2は、そのチャレンジ応答に対応するデータを閲覧するためのアフォーダンス946-2Aを含む。
図9Kでは、デバイス900は、セッション3の2日目に対応するアフォーダンス946-2A上の入力948(例えば、タッチ)を検出する。入力に応じて、デバイス900は、図9Lに見られるように、チャレンジ応答インタフェース950を表示する。
図9Lでは、電子デバイス900は、チャレンジ応答インタフェース950を表示する。インタフェース950は、応答イベントに関連する、且つチャレンジが発行された元のイベントに関連する時間帯の参加者1の血中グルコースデータのグラフ950-1を含む。グラフ950-1は、(3つのうちの)1番目の応答イベントがログ記録された時間前後の参加者1の血中グルコースデータに対応する血中グルコースデータ線950-1Aを含む。グラフ950-1はまた、チャレンジが発行された元のイベントの時間前後の参加者1の血中グルコースデータに対応する血中グルコースデータ線950-1Bを含む。グラフ950-1はまた、1番目の応答イベントが記録された時間をマークするインジケーション950-1Cも含む。したがって、グラフ950-1は、参加者1の血中グルコースレベルに対するチャレンジアクションの影響を容易に比較するためのビューを提供する。
図9Lで、デバイス900は、次へアフォーダンス954上の入力952(例えば、タッチ)を検出する。入力に応じて、デバイス900は、チャレンジ応答インタフェース950を更新して、図9Mに示すように、選択されたチャレンジについての(3つのうちの)2番目の応答イベントに関連するデータを示す。
図9Mでは、血中グルコースデータ線950-1Aは、2番目の応答イベントがログ記録された時間前後の参加者1の血中グルコースデータを反映している。同様に、インジケータ950-1Cは、ここでは、2番目の応答イベントがログ記録された時間をマークする。チャレンジが発行された元のイベントの時間の前後の参加者1の血中グルコースデータに対応するように対応する、血中グルコースデータ線950-1Bは同じままであることに留意されたい。
図10は、いくつかの実施形態に係る電子デバイスを使用した健康関連のコーチングのための方法を説明するフロー図である。方法1000は、第1の電子デバイス(例えば、100、300、500、612、900)(表示デバイス(例えば、902)(例えば、一体型タッチ感知ディスプレイ)及び1つ以上の入力デバイス(例えば、902)(例えば、マウス、タッチパッド、タッチ感知ディスプレイ)を有する(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、タブレットコンピュータ))で実行される。方法1000のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
後述するように、方法1000は、健康関連イベントをログ記録するための直感的な方法を提供する。方法は、健康関連コーチングの際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインタフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより高速且つ効率的に健康関連イベントをログ記録するのを可能にすることで、電力を節約し、バッテリ充電間の時間を延ばす。
第1の電子デバイスは、第2の電子デバイス(例えば、606-1又は700)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、第1の電子デバイスにデータを送信したタブレットコンピュータ)のユーザに関連付けられた第1のイベント(例えば、食品関連イベント、アクティビティ又は運動関連イベント)に対応する第1のログエントリ(例えば、912-3A)を、表示デバイス(例えば、902)を介して表示する(1002)。
いくつかの実施形態では、第1のログエントリ(例えば、912-3A)を表示することは、第1のログエントリに関連付けられた(例えば、それと組み合わせて、それに隣接して表示される)第1の時点(例えば、1月1日の12PM)、及び、第2の電子デバイスのユーザに関連付けられた第1の生理学的データ(例えば、912-1)(例えば、第1の時点に具体的に関連付けられた、血中グルコース値、心拍数、生理学的データ)であって、第1のログエントリに関連付けられた(例えば、それと組み合わせて、それに隣接して表示される)第1の生理学的データを表示することを含む。
いくつかの実施形態では、第1の生理学的データは、(例えば、912に見られるような)血中グルコースデータを含む。
いくつかの実施形態では、第1の生理学的データを表示することは、(例えば、912に見られるように)第1の期間(例えば、日)にわたって連続する時点の範囲に関連付けられた第1の生理学の複数の値を表示することを含む。第1の電子デバイスは、表示デバイスを介して、第1の生理学的データを表示するのと同時に、第1の生理学的データとは異なる、第2の電子デバイスのユーザに関連付けられた第2の生理学的データ(例えば、心拍数データ912-2B)(例えば、第1の生理学的データが血中グルコースであり、第2の生理学的データが心拍数である)を表示し、第2の生理学的データは、連続する時点の範囲内の時点のサブセット(例えば、912-2Bに関連付けられた時点)(例えば、心拍数が閾値量を超えていた(例えば、その日の最大心拍数の50%を超えている)日のサブセット)に関連付けられている。第1及び第2の生理学的データを同時に表示することにより、第1及び第2の生理学的データ間の関係に関するフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1のイベント(例えば、912-3A)は、第2の電子デバイスのユーザによる食品又は飲料の消費に関連付けられている。
第1の電子デバイスは、第1のイベント(例えば、食品関連イベント、アクティビティ又は運動関連イベント)に対応する第1のログエントリを表示している間に、第1のイベントチャレンジ(例えば、図9Eで作成されたチャレンジ)を第2の電子デバイスに関連付けられたユーザに送信する要求に対応する1つ以上の入力(例えば、入力914を含む)(例えば、一連又はシーケンスの入力)からなる第1のセットを、1つ以上の入力デバイスのうちの第1の入力デバイス(例えば、902)を介して受信し(1004)、1つ以上の入力からなる第1のセットは、1つ以上のイベント条件からなるセット(例えば、実行される、又は実行されない(例えば、見合わせる)1つ以上のアクションからなるセット)に対応する(例えば、入力が生成する、作成する、構築する)第1の入力(例えば、916-1にテキスト920を入力する入力)を含む。
第1の電子デバイスは、1つ以上の入力からなる第1のセットに応じて、第1のイベントチャレンジを表すデータを、第2の電子デバイスに送信する(1006)。第1のイベントチャレンジを表すデータは、1つ以上のイベント条件からなるセットに基づいてチャレンジ応答イベント(例えば、チャレンジに応じてログ記録されるイベント)をログ記録するための第2の電子デバイスのユーザへのプロンプト(例えば、736に見られるプロンプト)を含む(例えば、送信されたチャレンジデータは、第2の電子デバイス上で実行させると、デバイスにプロンプトを発行させる命令を含む)(例えば、発行されたプロンプトは、1つ以上のイベント条件からなるセットのインジケーションを含む)。いくつかの実施形態では、イベントチャレンジを表すデータは、イベントチャレンジを第1のイベントに関連付ける(例えば、リンクする、且つ/又は識別する)データを含む。チャレンジ応答イベントをログ記録するための第2のデバイスへのプロンプトを含む第1のイベントチャレンジを表すデータを送信することにより、第1の電子デバイスと第2の電子デバイスとの間の協調に影響を与えるために必要な入力の数を減らし、それによって両方のデバイスの操作性が向上する。デバイスの操作性を向上させることにより、(例えば、デバイスを操作する/デバイスと対話するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第1のログエントリを表示することに続いて、第1のタイプのイベントチャレンジ(例えば、特定の時点に関連するチャレンジ(例えば、日の特定の時点又は時間における食品又は飲料の消費に関連するチャレンジ))に対応する第1のアフォーダンス(例えば、912-3A1)、及び第1のタイプとは異なる第2のタイプのイベントチャレンジ(例えば、日に関連するが、その日の特定の時間には関連しないチャレンジ)に対応する第2のアフォーダンス(例えば、912-3B)を、表示デバイスを介して表示し(1008)、1つ以上の入力からなる第1のセットは、第1のアフォーダンス及び第2のアフォーダンスを表示している間に受信された第2の入力(例えば、914)を含む。第1の電子デバイスは、1つ以上の入力からなる第1のセットのうち第2の入力に応じて、1つ以上の入力からなる第1のセットのうち第2の入力が第1のアフォーダンスに対応するとの判定に従って、第2の電子デバイスに送信されたデータに、第1のイベントチャレンジが第1のタイプであるとのインジケーションを含める。第1の電子デバイスは、1つ以上の入力からなる第1のセットのうち第2の入力に応じて、1つ以上の入力からなる第1のセットのうち第2の入力が第1のアフォーダンスに対応するとの判定に従って、第2の電子デバイスに送信されたデータに、第1のイベントチャレンジが第2のタイプであるとのインジケーションを含める。いくつかの実施形態では、送信データは、チャレンジが第1のタイプか、それとも第2のタイプであるかに応じて、第2の電子デバイスに異なるプロンプトを発行させる。送信されたチャレンジデータに、ユーザ入力に基づいてイベントチャレンジが第1のタイプであるか、それとも第2のタイプであるかのインジケーションを含めることにより、イベントチャレンジの特性を指定するのに必要な入力の数が減少する。この動作を実行するために必要な入力の数を低減することにより、第1の電子デバイスの操作性が向上する。デバイスの操作性を向上させることにより、(例えば、デバイスを操作する/デバイスと対話するときに、適切な入力を提供するようにユーザを支援し、ユーザの誤りを低減することによって)ユーザ-デバイスインタフェースをより効率的にし、加えて、ユーザがデバイスをより迅速且つ効率的に使用できるようにすることによって、電力使用を低減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1のイベントチャレンジは、第1のタイプのチャレンジであり、プロンプトは、1つ以上のイベント条件からなるセットに基づき(例えば、それを満たすことに基づき)(例えば、特定の時間(例えば、特定の時間帯、1日内の特定の時間、1日よりも正確な時間)における)第2のイベントをログ記録するためのユーザへのプロンプトを含み、第1のイベントチャレンジの1つ以上のイベント条件からなるセットを表す送信データは、実行される1つ以上のアクション(例えば、1日以内の特定の時点又は時間での食品又は飲料の消費に関連するアクション)からなる第1のセットの(例えば、736に見られるような)インジケーションを含む。
いくつかの実施形態では、第1のイベントチャレンジは第2のタイプのチャレンジであり、プロンプトは、1つ以上のイベント条件からなるセットに基づいて(例えば、特定の日付(例えば、その日付の日内の特定の時間を含まない日付)における)チャレンジ応答イベントをログ記録するためのユーザへのプロンプトを含む。第1のイベントチャレンジの1つ以上のイベント条件からなるセットを表す送信データは、1つ以上のアクション(例えば、食品若しくは飲料の消費に関連するアクション、又は身体活動(例えば、運動)の実施に関連するアクション)からなる第2のセットの(例えば、736に見られるような)インジケーション、及び1つ以上のアクションからなる第2のセットが実行されるか、又は実行されないかのインジケーションを含む。
いくつかの実施形態では、第1の電子デバイスは、表示デバイスを介して、第1のログエントリの表示と同時に、第2の電子デバイスのユーザに関連付けられた第2のイベント(例えば、第1のイベントと同じ日にログ記録された第2のイベント)に対応する第2のログエントリ(例えば、932-2B)と、選択されると、第2のイベントチャレンジ(例えば、第1又は第2のタイプのチャレンジ)を第2の電子デバイスに関連付けられたユーザに送信するプロセスを開始する、第2のログエントリに関連付けられた第3のアフォーダンス(例えば、932-2Bに関連付けられた食品チャレンジアフォーダンス)と、第2の電子デバイスのユーザに関連付けられた第3のイベントに対応する第3のログエントリと、選択されると、第3のイベントチャレンジを第2の電子デバイスに関連付けられたユーザに送信するプロセスを開始する、第3のログエントリに関連付けられた第4のアフォーダンス(例えば、932-2Bに関連付けられた習慣的チャレンジアフォーダンス)と、を表示する。いくつかの実施形態では、第1の電子デバイスは、同じ期間(例えば、同じ日)に対応する複数のログエントリを表示する。ログエントリのそれぞれは、それぞれのログエントリに関連付けられたイベントチャレンジを発行するための1つ以上のアフォーダンスを含む。第2のログエントリと関連して第1のログエントリを、その関連するアフォーダンスと共に表示することにより、どのログエントリが第1の電子デバイスにより受信されたかに関して改善されたフィードバック及びより少ない入力で関連機能を実行するための改善されたオプションが提供される。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第1のイベントチャレンジを表すデータを送信した後、表示デバイスを介して、第1のユーザインタフェース(例えば、946)(例えば、送信されたチャレンジユーザインタフェース)を表示する。第1のユーザインタフェースは、第1のイベントチャレンジの表現(例えば、946-1A)(例えば、アフォーダンス(例えば、選択可能な表現)、第1のイベントチャレンジの1つ以上の詳細(例えば、1つ以上のイベント条件からなるセットに関する詳細、第1のイベントに関する詳細)を含む表現を含む、第1の領域(例えば、946-1)(例えば、保留中のチャレンジ領域)、及び、第2の領域(例えば、946-2)(例えば、完了した/応答したチャレンジ領域)を含む。第1のチャレンジ応答イベントを表すデータが第2の電子デバイスから受信された(例えば、第1のイベントチャレンジに応じて、又は第1のイベントチャレンジとは異なる第2のイベントチャレンジに応じて受信された)との判定に従って、第2の領域は、第1のチャレンジ応答イベントの表現(例えば、946-2A)を含む。第1のチャレンジ応答イベントを表すデータが第2の電子デバイスに受信されていないとの判定に従って、第2の領域は、第1のチャレンジ応答イベントの表現を含まない(いくつかの実施形態では、第2の領域は、少なくとも1つのチャレンジ応答イベントが受信されている発行された/送信されたイベントチャレンジに関連付けられた表現しか含まない)。
いくつかの実施形態では、第1のチャレンジ応答イベントは、第1のイベントチャレンジに応答する。第1の電子デバイスは、第1のチャレンジ応答イベントの表現を表示している間に、第1のチャレンジ応答イベントに対応する応答イベントユーザインタフェース(例えば、950)を表示する要求に対応する1つ以上の入力からなる第2のセット(例えば、948)を受信する。第1の電子デバイスは、1つ以上の入力からなる第2のセットに応じて、応答イベントユーザインタフェースを、表示デバイスを介して表示する。応答イベントユーザインタフェースは、第1のイベントに対応する第2の電子デバイスのユーザに関連付けられた(例えば、線グラフとしての)第3の生理学的データ(例えば、950-1B)(例えば、第1のイベントに関連付けられた生理学的データ(例えば、第2の電子デバイスにおいて第1のイベントがログ記録されたときの生理学的データ))と、第1のチャレンジ応答イベントに対応する第2の電子デバイスのユーザに関連付けられた、第2の生理学的データとは異なる(例えば、線グラフとしての)第4の生理学的データ(例えば、950-1A)(例えば、第1のチャレンジイベント応答に関連付けられた生理学的データ(例えば、第2の電子デバイスにおいて第1のチャレンジイベント応答がログ記録されたときの生理学的データ))と、を含む。第3及び第4の生理学的データを同時に表示することにより、第2及び第3の生理学的データ間の関係に関するフィードバックがユーザに提供される。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第2のユーザインタフェース(例えば、908)(例えば、日の同じ範囲の時間についての複数日間の生理学的データを含む概要ユーザインタフェース)を、表示デバイスを介して表示する。第2のユーザインタフェースは、第2の電子デバイスのユーザに関連付けられた生理学的データの複数の表現(例えば、908-2A、908-2B、908-2C)(例えば、グラフ上の複数の線)を含み、それは、第1の繰り返し期間(例えば、朝、12AM-11:9PM、24時間体制)の第1の発生(例えば、第1日目(例えば、1月1日))に対する生理学的データの第1の表現(例えば、グラフの第1の線)と、第1の繰り返し期間の第2の発生(例えば、第1日目(例えば、1月1日))に対する生理学的データの第2の表現と、報告基準(例えば、データの生理学的パラメータの変化率(例えば、具体的には増加率)及び閾値を超える生理学的データの絶対値から選択される1つ以上の要因に基づく基準)のセットを満たす第1の発生に対する生理学的データのサブセットに対応する第5のアフォーダンス(例えば、908-3A)(例えば、生理学的データのサブセットの表現を含むタイトルアフォーダンス)と、を含む。報告基準のセットを満たすデータのサブセットに対応する第5のアフォーダンスを表示することにより、潜在的に重要であるデータの部分に関するフィードバックがユーザに提供され、潜在的に重要なデータを識別し、表示するのに必要な入力の数が低減される。改善されたフィードバックを提供することにより、デバイスの操作性が向上し、(例えば、デバイスを操作する/デバイスと対話するときにユーザが適切な入力を行うのを支援しユーザの誤りを削減することによって)ユーザ-デバイスインタフェースがより効率的になり、このことにより更に、ユーザがデバイスをより迅速且つ効率的に使用可能になることによって、電力使用量を削減し、デバイスのバッテリ寿命を改善する。
いくつかの実施形態では、第1の電子デバイスは、第5のアフォーダンスの選択に対応する1つ以上の入力からなる第3のセット(例えば、910)を受信する。第1の電子デバイスは、1つ以上の入力からなる第3のセットを受信したことに応じて、第3のユーザインタフェース(例えば、912)(例えば、第1の発生(例えば、日)に関連付けられたインタフェース)を、表示デバイスを介して表示する。第3のユーザインタフェースは、第1の繰り返し期間の第1の発生に対する生理学的データの第3の表現(例えば、912-1)(グラフ線)を含む。第3のユーザインタフェースは、繰り返し期間の第1の発生が第4のイベントに対応する第3のログエントリと関連付けられているとの判定に従って、第3のログエントリの表現(例えば、912-3A)(例えば、第4のイベントがログ記録された時間のグラフ上の表現)を含む。第3のユーザインタフェースは、第1の繰り返し期間の第1の発生が第4のイベントに対応する第3のログエントリと関連付けられていないとの判定に従って、第3のログエントリの表現を含まない。
いくつかの実施形態では、第1の電子デバイスは、第4のユーザインタフェース(例えば、928)(例えば、日の同じ範囲の時間についての複数日間の生理学的データを含む概要ユーザインタフェース)を、表示デバイスを介して表示する。第4のユーザインタフェースは、第2の繰り返し期間(例えば、24時間体制)の第1の発生(1日目、1月1日)、及び第2の電子デバイスのユーザに関連付けられた第2の繰り返し期間の第2の発生(例えば、2日目、1月2日)の生理学的データの第4の表現(例えば、928-1A)、並びに第2の繰り返し期間の第1の発生に対応する(例えば、第2の発生に関連付けられていない)第6のアフォーダンスを含む。いくつかの実施形態では、第6のアフォーダンスの選択は、第2の繰り返し期間の第2の発生に対応する生理学的データを表示させずに、繰り返し期間の第1の発生に関連付けられた生理学的データを表示させる。
いくつかの実施形態では、第1の電子デバイスは、第1の電子デバイス及び第2の電子デバイスとは異なる第3の電子デバイス(例えば、606-2)(例えば、パーソナルコンピュータ、ラップトップコンピュータ、スマートフォン、第1の電子デバイスにデータを送信したタブレットコンピュータ)のユーザに関連付けられた第5のイベント(例えば、食品関連イベント、アクティビティ又は運動関連イベント)に対応する第4のログエントリを、表示デバイスを介して表示する。
方法1000に関連して上述した処理の詳細(例えば、図10)は、類似するやり方で上述した方法にも適用可能であることに留意されたい。例えば、方法800は、方法1000を参照して上述した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、方法800の804で生成された第1のログエントリは、方法1000の1006で送信された第1のチャレンジイベントに応答することができる。簡潔にするために、これらの詳細は、以下で繰り返さない。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本技術の原理、及びそれらの実際の適用を最も良く説明するために、実施形態が選択及び記載されている。それにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び例の範囲内に含まれるものとして理解されたい。
上述のように、本技術の一態様は、ユーザが求める内容又はユーザが関心を持つ可能性のある任意の他の内容に関するユーザへの配信を改善するために、種々のソースから入手可能なデータを収集及び使用することである。本開示は、いくつかの例において、この収集されたデータが、特定の人を一意に特定する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを考察する。そのような個人情報データとしては、人口統計データ、位置ベースのデータ、電話番号、電子メールアドレス、ツイッターID、自宅の住所、ユーザの健康若しくはフィットネスのレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、誕生日、又は任意の他の識別情報若しくは個人情報を挙げることができる。
本開示は、本技術におけるそのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データは、個人化された健康情報を記録し、それをユーザに配信するために使用される場合がある。したがって、そのような個人情報データの使用により、ユーザが健康情報のログ記録及び閲覧を改善することが可能になる。更には、ユーザに利益をもたらす、個人情報データに関する他の使用もまた、本開示によって想到される。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求する技術を使用している個人への、積極的なフィードバックとして使用することもできる。
本開示は、そのような個人情報データの収集、分析、開示、伝送、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、そのようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。そのようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変化するにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的且つ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、そのような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。更には、そのようなエンティティは、そのような個人情報データへのアクセスを保護して安全化し、その個人情報データへのアクセスを有する他者が、それらのプライバシーポリシー及び手順を遵守することを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更には、そのようなエンティティは、広く受け入れられているプライバシーのポリシー及び慣行に対する自身の遵守を証明するために、第三者による評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含めた、適用可能な法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はアクセスは、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)などの、連邦法及び/又は州法によって管理することができ、その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国において、異なる個人データのタイプに関して異なるプライバシー慣行が保たれるべきである。
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、そのような個人情報データへのアクセスを防止又は阻止するように、ハードウェア要素及び/又はソフトウェア要素を提供することができると想到する。例えば、健康監視サービスの場合において、本技術は、ユーザが、サービスの登録中又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択できるように構成され得る。別の例では、ユーザは、ターゲットコンテンツ配信サービスのために健康関連データを提供しないことを選択することができる。更に別の例では、ユーザは、健康関連データが維持される期間を制限すること、又は基準健康プロファイルの展開全体を禁止することを選択することができる。「オプトイン」及び「オプトアウト」の選択肢を提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知され、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに注意してもよい。
更には、本開示の意図は、個人情報データを、非意図的若しくは無許可アクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなった時点で削除することによって、危険性を最小限に抑えることができる。更には、適用可能な場合、特定の健康関連アプリケーションを含めて、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切な場合には、特定の識別子(例えば、生年月日など)を除去すること、記憶されたデータの量又は特異性を制御すること(例えば、位置データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)及び/又は他の方法によって、容易にすることができる。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、そのような個人情報データにアクセスすることを必要とせずに、それらの様々な実施形態を実施することも可能であることを想到する。すなわち、本技術の様々な実施形態は、そのような個人情報データの全て又は一部分が欠如することにより、実施不可能となるものではない。例えば、コンテンツは、ユーザに関連付けられたデバイスによりリクエストされたコンテンツ、コンテンツ配信サービスで使用可能な他の非個人情報、若しくは公的に使用可能な情報などの、非個人情報データ又は個人情報の最小限の量のみに基づいて嗜好を推測することにより、選択してユーザに配信することができる。