サービス(例えば、ウェブサービス及びモバイルアプリケーション)を提供するサービスプロバイダの数が増えるにつれて、ユーザに関連付けられたユーザアカウントの数も増加する。多くのユーザアカウントは、サービスの一部として提供されるリソースにアクセスするために提供されるユーザ名及びパスワードなどの認証資格証明に関連付けられている。多くのユーザは、多数のユーザ名/パスワードの組み合わせを思い出すことが困難である。したがって、多くのユーザは、単純で、弱い、かつ/又はセキュアでないパスワードを選択するか、又は多くの異なるユーザアカウントのために同じパスワードを使用し、また結果としてセキュリティの欠如をもたらす。ユーザアカウント新規デバイスにログインするパスワードを与えるとき、ユーザは強いパスワードを容易に忘れることがあり得、又は、確認コードの形で更なる認証資格証明を入力することを要求されることがあり得る。
したがって、様々な実施態様では、ユーザアカウントに対する新規パスワードを生成するオプションが提供されると、デバイスは、強い新規パスワードを自動的に生成する。更に、デバイスは、口頭要求を介する簡単な取得のために新規パスワードを記憶する。様々な実施態様では、デバイスは、パスワード(及び/又は他の認証資格証明)を他のデバイスと共有し、受信した確認コードを自動的に認識する。
以下では、図1A、図1B、図2、及び図3は、例示的なデバイスの説明を提供する。図4A~図4B、図5A~図5AD、図6A~図6H及び図7A~図7Yは、ユーザアカウントに対する認証資格証明を管理するための例示的なユーザインターフェースを示す。図8A~図8Cは、ユーザアカウントの新規パスワードを生成する方法のフロー図を示す。図9A~図9Dは、確認コードをユーザインターフェースに書き込む方法のフロー図を示す。図10A~図10Cは、いくつかの実施形態に係る、認証資格証明を共有する方法のフロー図を示す。図11A~図11Cは、パスワード情報を表示する方法のフロー図を示す。図5A~図5AD、図6A~図6H及び図7A~図7Yのユーザインターフェースを使用して、図8A~図8C、図9A~図9D、図10A~図10C及び図11A~図11Cのプロセスを示す。
例示的なデバイス
ここで、添付図面に実施例が示される実施形態への詳細な参照が行われる。以下の詳細な説明では、説明される様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかしながら、記載されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭にしないよう詳細には説明されていない。
本明細書では、第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機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、iPad(登録商標)、Apple TV(登録商標)、及びHomePod(登録商標)のデバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスが任意選択で使用される。いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることも理解されたい。
以下の論考では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスは任意選択で、物理キーボード、マウス、及び/又はジョイスティックなどの、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(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の強度センサ165を任意選択で含む。デバイス100は、任意選択で、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)1つ以上の触知出力生成器163を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求の範囲で使用されるように、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成された触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100は、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。CPU(単数又は複数)120及び周辺機器インターフェース118などのデバイス100の他の構成要素によるメモリ102へのアクセスは任意選択で、メモリコントローラ122により制御される。
周辺機器インターフェース118を使用して、デバイスの入力周辺機器及び出力周辺機器を、CPU(単数又は複数)120及びメモリ102と接続することができる。1つ以上のプロセッサ120は、メモリ102に記憶された様々なソフトウェアプログラム及び/又は命令セットを動作させ又は実行して、デバイス100のための様々な機能を実行し、データを処理する。
いくつかの実施形態では、周辺機器インターフェース118、CPU(単数又は複数)120、及びメモリコントローラ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)などの無線ネットワークなどのネットワークと、また他のデバイスと、無線通信によって通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択で使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(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+、2重セルHSPA(Dual-Cell HSPA)(DC-HSPDA)、ロングタームエボリューション(long term evolution)(LTE)、近距離無線通信(near field communication)(NFC)、広帯域符号分割多元接続(wideband code division multiple access)(W-CDMA)、符号分割多元接続(code division multiple access)(CDMA)、時分割多元接続(time division multiple access)(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi-Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(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は、更にヘッドセットジャック(例えば、212、図2)も含む。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインターフェースを提供する。
I/Oサブシステム106は、タッチ感知ディスプレイシステム112及びその他の入力又は制御デバイス116などのデバイス100上の入出力周辺機器を周辺機器インターフェース118と結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力若しくは制御デバイス116から電気信号を受信するか、又は、他の入力若しくは制御デバイス116に電気信号を送信する。その他の入力又は制御デバイス116は任意選択で、物理的ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)160は任意選択で、キーボード、赤外線ポート、USBポート、スタイラス、及び/又はマウスなどのポインタデバイスのうちのいずれかと結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、208、図2)は、任意選択で、スピーカ111及び/又はマイクロフォン113の音量制御のためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択で、プッシュボタン(例えば、206、図2)を含む。
タッチ感知ディスプレイシステム112は、デバイスとユーザの間の入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ156は、タッチ感知ディスプレイシステム112から電気信号を受信し、かつ/又はタッチ感知ディスプレイシステム112へ電気信号を送信する。タッチ感知ディスプレイシステム112は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全てが、ユーザインターフェースオブジェクトに対応する。
タッチ感知ディスプレイシステム112は、触覚/触知の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。(メモリ102内の任意の関連するモジュール及び/又は命令セットとともに)タッチ感知ディスプレイシステム112及びディスプレイコントローラ156は、タッチ感知ディスプレイシステム112上の接触(及び、接触の任意の移動又は中断)を検出し、検出された接触をタッチ感知ディスプレイシステム112上で表示されるユーザインターフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチ感知ディスプレイシステム112とユーザの間の接触点は、ユーザの指又はスタイラスに対応する。
タッチ感知ディスプレイシステム112は任意選択で、LCD(liquid crystal display)(液晶ディスプレイ)技術、LPD(light emitting polymer display)(発光ポリマディスプレイ)技術、又はLED(light emitting diode)(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチ感知ディスプレイシステム112及びディスプレイコントローラ156は任意選択で、容量技術、抵抗性技術、赤外線技術、及び表面音響波技術、並びに、タッチ感知ディスプレイシステム112との1つ以上の接触点を判定するためのその他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在既知の又は後に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びその任意の移動又は中断を検出する。例示的な実施形態では、カリフォルニア州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などにおいて見られるような、投影型相互容量感知技術が使用される。
タッチ感知ディスプレイシステム112は任意選択で、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチ画面のビデオ解像度は、400dpiを超える(例えば、500dpi、800dpi、又はそれより高い)。ユーザは任意選択で、スタイラス、指などの任意の適切な物体又は付属物を使用して、タッチ感知ディスプレイシステム112と接触する。いくつかの実施形態では、ユーザインターフェースは、指に基づく接触及びジェスチャで機能するように設計されるが、これらは、タッチスクリーン上での指の接触面積がスタイラスの接触面積よりも大きいことに起因して、スタイラスに基づく入力よりも精度が低い場合がある。一部の実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは任意選択で、タッチ感知ディスプレイシステム112と分離したタッチ感知面、又はタッチスクリーンによって形成されたタッチ感知面の延長である。
デバイス100は、様々な構成要素に電力を供給する電力システム162も含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光センサ164を含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158と結合された光センサを示す。光センサ(単数又は複数)164は、任意選択で、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含む。光センサ(単数又は複数)164は、1つ以上のレンズを通じて投影された、環境からの光を受信し、画像を表すデータに光を変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連携して、光センサ(単数又は複数)164は任意選択で、静止画像及び/又はビデオをキャプチャする。いくつかの実施形態では、タッチスクリーンを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、光センサは、デバイスの前面上のタッチ感知ディスプレイシステム112の反対である、デバイス100の背面上に配置される。いくつかの実施形態では、ユーザの画像が取得されるように(例えば、自撮りのため、ユーザがタッチスクリーン上で他のビデオ会議参加者を見ている間のビデオ会議のためなど)、別の光センサがデバイスの前面に配置される。
デバイス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と結合される。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されるとき(例えば、ユーザが電話をかけているとき)、近接センサは、タッチ感知ディスプレイシステム112をオフ及び無効にする。
デバイス100は、任意選択で、1つ以上の触知出力生成器163を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161と結合される触知出力生成器を示す。触知出力生成器(単数又は複数)163は、任意選択で、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを含む。触知出力生成器(単数又は複数)163は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並置される、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内を往復して)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面上に位置するタッチ感知ディスプレイシステム112の反対側である、デバイス100の背面上に配置される。
デバイス100はまた、デバイスの位置(例えば、姿勢)に関する情報を得るための、1つ以上の加速度計167、ジャイロスコープ168、及び/又は磁気計169(例えば、慣性測定ユニット(inertial measurement unit、IMU)の一部として)を、任意選択的に含む。図1Aは、周辺機器インターフェース118に結合された、センサ167、168、及び169を示す。あるいは、センサ167、168、及び169は、I/Oサブシステム106内の入力コントローラ160に、任意選択的に結合される。いくつかの実施形態では、情報は、1つ以上の加速度計から受信されたデータの分析に基づいて、縦長ビュー又は横長ビュー内でタッチスクリーンディスプレイ上に表示される。デバイス100は、任意選択で、デバイス100の位置に関する情報を取得するためのGPS(若しくはGLONASS又は他の全地球的航法システム)受信機を含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は、命令セット)128、接触/動きモジュール(又は、命令セット)130、グラフィックモジュール(又は、命令セット)132、触覚フィードバックモジュール(又は、命令セット)133、テキスト入力モジュール(又は、命令セット)134、全地球測位システム(Global Positioning System)(GPS)モジュール(又は、命令セット)135、及びアプリケーション(又は、命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示されるように、メモリ102は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイシステム112の様々な領域を占有しているかを示す表示状態、デバイスの様々なセンサ及びその他の入力又は制御デバイス116から取得される情報を含むセンサ状態、並びにデバイスの位置及び/又は姿勢に関する位置及び/若しくは位置情報、のうちの1つ以上を含む。
オペレーティングシステム126(例えば、iOS、Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、又はVxWorksなどの組み込みオペレーティングシステム)は、全体的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素の間の通信を促進する。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えばインターネット、無線LANなど)を介して間接的に、他のデバイスに接続するように適合されている。いくつかの実施形態では、外部ポートは、カリフォルニア州CupertinoのApple Inc.からのいくつかのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイス内で使用される30ピンコネクタと同一若しくは類似した、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。いくつかの実施形態では、外部ポートは、カリフォルニア州CupertinoのApple Inc.からのいくつかのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスにおいて使用されるLightningコネクタと同一若しくは類似した、及び/又は互換性のあるLightningコネクタである。
接触/動きモジュール130は任意選択で、タッチ感知ディスプレイシステム112との接触(ディスプレイコントローラ156と連携して)、及び他のタッチ感知デバイスとの接触(例えば、タッチパッド又は物理クリックホイール)を検出する。接触/動きモジュール130は、接触が発生したかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用物)の判定、タッチ感知面にわたる接触の移動及びその移動の追跡(例えば、1つ以上のフィンガドラッグイベントの検出)があるかどうかの判定、並びに接触が中止されたかどうか(例えば、フィンガアップイベント又は接触の中断の検出)の判定などの、(例えば、指又はスタイラスによる)接触の検出に関係する様々な動作を実行するための、ソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択で、単一の接触(例えば、1本の指の接触若しくはスタイラスの接触)、又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触及び/若しくはスタイラスの接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指のタップジェスチャを検出することは、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置での)そのフィンガダウンイベントと同一の位置(又は、実質的に同一の位置)でのフィンガアップ(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面上の指のスワイプジェスチャを検出することは、フィンガダウンイベントを検出し、続いて1つ以上の指のドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。同様に、タップ、スワイプ、ドラッグ、及び他のジェスチャは、任意選択で、スタイラスに対して、スタイラスに対する特定の接触パターンを検出することにより、検出される。
グラフィックモジュール132は、表示されるグラフィックの視覚的影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含む、タッチ感知ディスプレイシステム112又は他のディスプレイ上でグラフィックをレンダリング及び表示するための様々な既知のソフトウェア構成要素を含む。本明細書で使用される場合、用語「グラフィック」は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインターフェースオブジェクトなど)、デジタル画像、ビデオ、及びアニメーションなどを含むがこれらに限定されない、ユーザに対して表示することができるいずれかのオブジェクトを含む。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データとともに、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の位置で触知出力を生成するために、触知出力生成器(単数又は複数)163によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択で、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判定し、この情報を、様々なアプリケーションで使用するために(例えば、位置に基づく電話発信で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、天気ウィジェット、地域のイエローページウィジェット、及びマップ/ナビゲーションウィジェットなどの、位置に基づくサービスを提供するアプリケーションへ)提供する。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれる場合もある)、
●電話モジュール138、
●ビデオ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(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(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134とともに、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶される)アドレス帳又は連絡先リストを管理するための実行可能命令を含み、それには、アドレス帳に名前(単数又は複数)を加えること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号及び/又は電子メールアドレスを提供して、電話138、ビデオ会議139、電子メール140、又はIM141による通信を開始かつ/若しくは促進すること、などが含まれる。
RF回路108、音声回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を変更し、それぞれの電話番号をダイヤルし、会話を実行し、会話が完了したときに切断し又は電話を切る実行可能命令を含む。上述のように、無線通信は、任意選択で、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
RF回路108、音声回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と連携して、ビデオ会議モジュール139は、ユーザの命令に従って、ユーザと1人以上の他の参加者の間のビデオ会議を開始し、行い、終了する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理する実行可能命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134とともに、インスタントメッセージモジュール141は、インスタントメッセージと対応する文字列を入力し、入力済みの文字を変更し、それぞれのインスタントメッセージを送信し(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service)(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、Apple Push Notification Service(APNs)、若しくはIMPSを使用して)、インスタントメッセージを受信し、受信したインスタントメッセージを見る、実行可能命令を含む。いくつかの実施形態では、送信かつ/又は受信されたインスタントメッセージは任意選択で、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service)(EMS)でサポートされるような、グラフィック、写真、音声ファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書で使用される場合、「インスタントメッセージ」は、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されたメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、APNs、又はIMPSを使用して送信されたメッセージ)の両方を指す。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、マップモジュール154、並びにビデオ及び音楽プレーヤモジュール152と連携して、トレーニングサポートモジュール142は、トレーニングを作成し(例えば、時間、距離、及び/又はカロリー消費目標を有する)、(スポーツデバイス及びスマートウォッチ内の)トレーニングセンサと通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニング用の音楽を選択して再生し、並びに、トレーニングデータを表示し、記憶し、及び送信する、実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144とともに、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶する、静止画像又はビデオの特性を変更する、及び/又はメモリ102から静止画像若しくはビデオを削除する、実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143とともに、画像管理モジュール144は、静止画像及び/又はビデオ画像を配置し、変更し(例えば、編集し)、又はその他の方式で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶する、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134とともに、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付ファイル及び他のファイルの、検索、リンク付け、受信、及び表示を含め、ユーザの命令に従って、インターネットをブラウズする、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147とともに、カレンダーモジュール148は、ユーザの命令に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、to doリストなど)を作成、表示、変更、及び記憶する、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147とともに、ウィジェットモジュール149は、任意選択で、ユーザによってダウンロードされ使用されるミニアプリケーション(例えば、天気ウィジェット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!ウィジェット)を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットに変える)実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、検索モジュール151は、ユーザの命令に従って、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索する実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、音声回路110、スピーカ111、RF回路108、及びブラウザモジュール147と連携して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された記録された音楽又は他のサウンドファイルをユーザがダウンロード及び再生することを可能にする実行可能命令、並びにビデオを表示し、提示し、又はその他の方式で再生する(例えば、タッチ感知ディスプレイシステム112上で、又は無線で若しくは外部ポート124を介して接続された外部のディスプレイ上で)実行可能命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、メモモジュール153は、ユーザの命令に従って、メモ、するべきことのリストなどを作成及び管理する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、マップモジュール154は、ユーザの命令に従って、マップ及びマップと関連付けられたデータ(例えば、運転方向、特定の位置における又はその近くの店舗及び対象となる他の地点についてのデータ、並びに位置に基づく他のデータ)を受信し、表示し、変更し、及び記憶するために使用され得る。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、音声回路110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、閲覧し、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン112上で、又は無線で若しくは外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを有する電子メールを送信し、別の方法で管理することを可能にする実行可能命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。
上記特定されたモジュール及びアプリケーションの各々は、上記説明された1つ以上の機能、並びに本出願で説明される方法(例えば、コンピュータにより実行される方法、及び本明細書で説明される他の情報処理方法)を実行する実行可能な命令セットに対応する。それらのモジュール(すなわち、命令セット)は、別々のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、よって、それらのモジュールの様々なサブセットは、任意選択で、様々な実施形態において、組み合わされ、又はその他の方式で再配置される。いくつかの実施形態では、メモリ102は、任意選択で、上記で特定されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上記で説明されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理的な入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインターフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされたときに、デバイス100上に表示される任意のユーザインターフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1Aにおける)又は370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及びそれぞれのアプリケーション136-1(例えば、上述したアプリケーション136、137~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、加速度計(単数若しくは複数)167、ジャイロスコープ(単数若しくは複数)168、磁気計(単数若しくは複数)169、及び/又は(オーディオ回路110を介して)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インターフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイシステム112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インターフェース118に要求を送信する。それに応じて、周辺機器インターフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インターフェース118は、重要なイベント(例えば、予め定められたノイズ閾値を上回り、及び/又は予め定められた期間よりも長い入力を受信すること)が存在するときのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイシステム112が2つ以上のビューを表示するとき、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができる制御装置及び他の要素から構成されている。
アプリケーションに関連付けられたユーザインターフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインターフェースウインドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて決定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール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は任意選択で、アプリケーション内部状態192を更新するために、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用する、又は呼び出す。代わりに、アプリケーションビュー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)などのイベント(例えば、既定のサブイベントのシーケンス)の定義を含む。いくつかの実施形態では、イベント1(187-1)又はイベント2(187-2)などの、それぞれのイベント内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の予め定められた段階についての第1のタッチ(タッチの始め)、予め定められた段階についての第1のリフトオフ(タッチの終わり)、表示されたオブジェクト上の予め定められた段階についての第2のタッチ(タッチの始め)、及び予め定められた段階についての第2のリフトオフ(タッチの終わり)を含む。別の実施例では、イベント2(187-2)の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の予め定められた段階についてのタッチ(又は、接触)、タッチ感知ディスプレイシステム112を横切るタッチの移動、及びタッチのリフトオフ(タッチの終わり)を含む。いくつかの実施形態では、イベントは、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
いくつかの実施形態では、イベント1(187-1)又はイベント2(187-2)などのそれぞれのイベントに対するイベント定義は、それぞれのユーザインターフェースオブジェクトに対するイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインターフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、3つのユーザインターフェースオブジェクトがタッチ感知ディスプレイシステム112上で表示されるアプリケーションビューにおいて、タッチ感知ディスプレイシステム112上でタッチが検出されたとき、イベント比較部184は、3つのユーザインターフェースオブジェクトのうちのどれがタッチ(サブイベント)と関連付けられているかを判定するためにヒットテストを実行する。表示された各オブジェクトが、それぞれのイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、イベント1(187-1)又はイベント2(187-2)などの、それぞれのイベントの定義は、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅らせる遅延アクションも含む。
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、それぞれのイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように対話するか、又はイベント認識部が互いにどのように対話することが可能となるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されるときに、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、既定のプロセスを実行する。
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新、又はビデオプレーヤモジュール145で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部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、図1A)を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインターフェース(user interface)(UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上向きにかつ/若しくは下向きに)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上向きにかつ/若しくは下向きに)を、任意選択で含む。一部の実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100は、任意選択で、「ホーム」又はメニューボタン204などの1つ以上の物理的ボタンも含む。前述のように、メニューボタン204は、任意選択で、デバイス100上で任意選択的に実行される、アプリケーションのセットにおける任意のアプリケーション136にナビゲートするために使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーンディスプレイ上で表示されるGUI内のソフトキーとして実装される。
いくつかの実施形態では、デバイス100は、タッチスクリーンディスプレイと、メニューボタン204と、デバイスへの電源供給のオン/オフ及びデバイスのロックのためのプッシュボタン206と、ボリューム調節ボタン(単数又は複数)208と、加入者識別モジュール(SIM)カードスロット210と、ヘッドセットジャック212と、ドッキング/充電用外部ポート124と、を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、かつ/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。いくつかの実施形態では、デバイス100は、マイクロフォン113を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力をも受け入れる。デバイス100は、任意選択で、タッチ感知ディスプレイシステム112上の接触強度を検出するための1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器163も含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インターフェース360と、メモリ370と、及びこれらの構成要素を相互接続するための1つ以上の通信バス320とを含む。通信バス320は、任意選択的に、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。デバイス300は典型的にはタッチスクリーンディスプレイであるディスプレイ340を含む、入出力(I/O)インターフェース330を含む。I/Oインターフェース330は、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上記した触知出力生成器(単数又は複数)163と同様の)触知出力生成器357、センサ359(例えば、図1Aを参照して上記したセンサ112、164、165、166、167、168、及び169と同様の、タッチ感知センサ、光センサ、接触強度センサ、近接センサ、加速度センサ、姿勢センサ、及び/又は磁気センサ接触強度センサ)もまた、任意選択的に含む。メモリ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上で任意選択的に実装されるユーザインターフェース(「UI」)の実施形態に着目する。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューのための例示的なユーザインターフェースを示す。同様のユーザインターフェースは、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインターフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー及びWi-Fi信号などの無線通信(1つ又は複数)のための信号強度標識(1つ又は複数)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、
○「時計」とラベル付けされた、アラーム時計ウィジェット169-6のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、また、
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示されたアイコンのラベルは単なる例に過ぎないことに留意されたい。例えば、いくつかの実施形態では、ビデオ及び音楽プレーヤモジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450と分離したタッチ感知面451(例えば、タブレット又はタッチパッド355、図3)を有するデバイス(例えば、デバイス300、図3)上の例示的なユーザインターフェースを示す。デバイス300は、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成する1つ以上の触知出力生成器359をまた含む。
図4Bは、ディスプレイ450と分離したタッチ感知面451(例えば、タブレット又はタッチパッド355、図3)を有するデバイス(例えば、デバイス300、図3)上の例示的なユーザインターフェースを示す。以下の実施例のうちの多くはタッチスクリーンディスプレイ112上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して与えられるが、いくつかの実施形態では、デバイスは、図4Bに示すように、ディスプレイと分離したタッチ感知面上の入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図4Bにおける451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bにおける453)に対応する主軸(例えば、図4Bにおける452)を有する。それらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、図4Bにおいて、460は468に対応し、462は470に対応する)におけるタッチ感知面451との接触(例えば、図4Bにおける460及び462)を検出する。このように、タッチ感知面がディスプレイと分離しているとき、タッチ感知面(例えば、図4Bにおける451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、及びそれらの移動)は、多機能デバイスのディスプレイ(例えば、図4Bにおける450)上でユーザインターフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインターフェースに任意選択的に使用されることを理解されたい。
加えて、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャなど)を参照して与えられるが、いくつかの実施形態では、それらの指の入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)と置換されることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の例として、タップジェスチャは、任意選択的に、カーソルがタップジェスチャの位置の上に位置する間はマウスクリックに置き換えられる(例えば、接触を検出して、それに続いて接触の検出を停止する代わりに)。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用され、又はマウス及び指の接触が、任意選択的に、同時に使用されることを理解されたい。
本明細書で使用される「フォーカスセレクタ」という用語は、ユーザが対話しているユーザインターフェースの現在の部分を示す入力要素を指す。カーソル又は他のロケーションマーカを含むいくつかの実装形態では、カーソルは、カーソルが特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の上にある間に、タッチ感知面(例えば、図3におけるタッチパッド355、又は図4Bにおけるタッチ感知面451)上で入力(例えば、押圧入力)が検出されると、特定のユーザインターフェース要素が検出された入力に従って調整されるように、「フォーカスセレクタ」として機能する。タッチスクリーンディスプレイ上のユーザインターフェース要素との直接的な対話を有効化するタッチスクリーンディスプレイ(例えば、図1Aにおけるタッチ感知ディスプレイシステム112、又は図4Aにおけるタッチスクリーン)を含むいくつかの実装形態では、タッチスクリーン上で検出された接触は、入力(例えば、接触による押圧入力)がタッチスクリーンディスプレイ上で特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の位置において検出されると、特定のユーザインターフェース要素が検出された入力に従って調整されるように、「フォーカスセレクタ」として機能する。いくつかの実装では、タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることにより)フォーカスが、ユーザインターフェースの1つの領域からユーザインターフェースの別の領域に移動される。これらの実装形態では、フォーカスセレクタは、ユーザインターフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る具体的な形態とは関わりなく、フォーカスセレクタは一般的に、ユーザインターフェースとのユーザが意図した対話を通信するために(例えば、ユーザが対話することを意図しているユーザインターフェースの要素をデバイスに示すことによって)、ユーザによって制御されるユーザインターフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、それぞれのボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、(そのデバイスのディスプレイ上に示される他のユーザインターフェース要素ではない)そのそれぞれのボタンをアクティブ化することをユーザが意図していることを示すものである。
ユーザインターフェース及び関連するプロセス
ここで、ディスプレイとタッチ感知面とタッチ感知面の接触の強度を検出するための1つ以上のセンサとを備える、ポータブル多機能デバイス(PMD)100又はデバイス300などの電子デバイス上で実装され得る、ユーザインターフェース(「UI」)及び関連付けられた処理の実施形態に注意を向ける。
図5A~図5Kは、いくつかの実施形態に係る、ユーザアカウントの新規パスワードを生成するための例示的なユーザインターフェースを示す。図5L~図5ADは、いくつかの実施形態に係る、確認コードをユーザインターフェースに書き込むための例示的なユーザインターフェースを示す。図6A~図6Hは、いくつかの実施形態に係る、認証資格証明を共有するための例示的なユーザインターフェースを示す。図7A~図7Yは、いくつかの実施形態に係る、パスワード情報を表示するための例示的なユーザインターフェースを示す。これらの図におけるユーザインターフェースは、図8A~図8C、図9A~図9D、図10A~図10C、及び図11A~図11Cにおけるプロセスを含む、以下で説明されるプロセスを示すために使用される。以下の実施例のうちのいくつかは、(タッチ感知面とディスプレイとを組み合わせた)タッチ画面ディスプレイ上での入力を参照して説明されるが、いくつかの実施形態では、デバイスは、図4Bに示すように、ディスプレイ450とは別個のタッチ感知面451上で入力を検出する。
図5Aは、ポータブル多機能デバイス100(以下、「デバイス100」)によって表示されるユーザインターフェース500の一部としてのウェブブラウザユーザインターフェース502を示す。ユーザインターフェース500は、ウェブブラウザユーザインターフェース502に加えて、デバイス100の識別名(例えば、「iPhone」)、無線接続インジケータ、現在の時刻、及びデバイス100の充電レベルを示すバッテリインジケータを含む、デバイスバー501をディスプレイの上部に含む。
ユーザインターフェース500は、デバイスバー501の下に、かつディスプレイの残りの部分にわたって、ウェブブラウザユーザインターフェース502を含む。ウェブブラウザユーザインターフェース502は、アドレスバー521及びコンテンツ領域522を含む。アドレスバー521は、コンテンツ領域522に表示されたコンテンツを有するウェブページのアドレス(例えば、URL)を含む。アドレスバー521は、選択されるとコンテンツ領域522内にウェブページのコンテンツを再ロードする、再ロードアフォーダンスをまた含む。図5Aにおいて、アドレスバー521は、サービスのホームページのアドレスを表示する。
図5Aにおいて、コンテンツ領域522内に表示されるコンテンツは、(リンゴの)画像、サインアップアフォーダンス531A、及びサインインアフォーダンス531Bを含む。サインアップアフォーダンス531Aは、選択されると、ユーザがサービスに登録すること、例えば、ユーザアカウントの認証資格証明によって保護されたリソース(例えば、コンテンツ)にアクセスするために、サービスに対するユーザアカウントを作成することを可能にする。サインインアフォーダンス531Bは、選択された場合、ユーザがサービスのリソースにアクセスするために認証資格証明を提供することを可能にする。
図5Aは、サインアップアフォーダンス531Aの位置で検出された接触550Aを示す。
図5Bは、サインアップアフォーダンス531Aの位置で接触550Aを検出したことに応じた、図5Aのユーザインターフェース500を示す。図5Bにおいて、アドレスバー521は、ウェブサービスのサインアップページのアドレスを含む。図5Bにおいて、コンテンツ領域522は、(リンゴの)画像と、テキスト入力を受信するための複数のフィールド532A~532Dと、複数のフィールド532A~532Dにそれぞれ関連付けられて説明しているテキストと、選択されると複数のフィールド532A~532Dに入力された認証資格証明を用いてユーザアカウントを作成する、サインアップ完了アフォーダンス531Cと、を含む。
複数のフィールド532A~532Dは、ユーザアカウントに関連付けられるユーザ名を示すテキスト入力を受信するための新規ユーザ名フィールド532Aを含む。複数のフィールド532A~532Dは、ユーザアカウントに関連付けられる電話番号(例えば、デバイス100及び/又はユーザの電話番号)を示すテキスト入力を受信するための電話番号フィールド532Bを含む。複数のフィールド532A~532Dは、ユーザアカウントに関連付けられるパスワードを示すテキスト入力を受信するための新規パスワードフィールド532Cを含む。複数のフィールド532A~532Dは、パスワード入力に一致するテキスト入力を新規パスワードフィールド532Cに受信するためのパスワード確認フィールド532Dを含む。
図5Bは、新規ユーザ名フィールド532Aの位置で検出された接触550Bを示す。
図5Cは、新規ユーザ名フィールド532Aの位置で接触550Bを検出したことに応じた、図5Bのユーザインターフェース500を示す。新規ユーザ名フィールド532Aの選択を検出したことに応じて、コンテンツ領域522は、新規ユーザ名フィールド532Aに表示されたカーソル533を含む。更に、ユーザインターフェース500は、選択されるとそれぞれの文字を選択されたフィールドに書き込む、複数の文字挿入アフォーダンスを有するソフトキーボード503Aを含む。ソフトキーボード503Aは、ナビゲーション領域541を含む。ナビゲーション領域541は、選択されるとカーソル533を選択して前のフィールドに移動させる、前アフォーダンス(上向き矢印で示される)と、選択されるとカーソル533を選択して次のフィールドに移動させる次アフォーダンス(下矢印で示される)と、選択されると選択されたフィールドを選択解除してカーソル533及びソフトキーボード503Aを表示することを停止する、終了アフォーダンス(「終了(Done)」と書かれたテキストで示される)と、を含む。
ソフトキーボード503Aは、提案されたテキストを示すテキスト提案アフォーダンスを含み、選択されると提案されたテキストを選択されたフィールドに挿入する、テキスト提案領域542を含む。
図5Cは、ソフトキーボード503Aの複数の文字挿入アフォーダンスのうちの1つの位置における接触550Cを示す。
図5Dは、複数の文字挿入アフォーダンスのうち1つの位置で接触550C(及び、新規ユーザ名フィールド532A内へのユーザ名「jappleseed」の書き込みを完了するための他の文字挿入アフォーダンスにおける追加の接触)を検出したことに応じた、図5Cのユーザインターフェース500を示す。
図5Dは、電話番号フィールド532Bの位置において検出された接触550Dを示す。
図5Eは、電話番号フィールド532Bの位置で接触550Dを検出したことに応じた、図5Dのユーザインターフェース500を示す。電話番号フィールド532Bの選択を検出したことに応じて、カーソル533は電話番号フィールド532Bに表示される。更に、ソフトキーボード503Aは、選択されるとそれぞれの数字文字を選択されたフィールドに書き込む複数の文字挿入アフォーダンスを有する、数字のソフトキーボード503Bによって置き換えられる。ソフトキーボード503Aと同様に、数字ソフトキーボード503Bは、ナビゲーション領域541及びテキスト提案領域542を含む。
図5Eは、複数の文字挿入アフォーダンスのうちの1つの位置で検出された接触550Eを示す。
図5Fは、複数の文字挿入アフォーダンスのうちの1つの位置で接触550E(及び電話番号フィールド532B内の電話番号「(408)555-1234」の書き込みを完了するための他の文字挿入アフォーダンスにおける追加の接触)を検出したことに応じた、図5Eのユーザインターフェース500を示す。
図5Fは、新規パスワードフィールド532Cの位置で検出された接触550Fを示す。
図5G1は、新規パスワードフィールド532Cの位置で接触550Fを検出したことに応じた、図5Fのユーザインターフェース500の第1の実施形態を示す。新規パスワードフィールド532Cの選択を検出したことに応じて、カーソル533は表示されなくなる。したがって、カーソル533は、新規パスワードフィールド532C内に表示されない。代わりに、自動生成されたパスワードの表現が、新規パスワードフィールド532C(及びパスワード確認フィールド532D)内に表示される。更に、数字ソフトキーボード503Bは、新規パスワードユーザインターフェース503C(「パスワードキーボード」又は「パスワードソフトキーボード」とも呼ばれる)によって置き換えられる。様々な実施態様では、新規パスワードユーザインターフェース503Cは、ディスプレイの下部に、例えば、ソフトキーボード503A及び/又は数字ソフトキーボード503Bと同じ位置に表示される。
様々な実施態様では、自動生成されたパスワードは、ユーザインターフェースの1つ以上のパスワードの制約条件に基づいてデバイス100によって生成され、例えば、少なくとも閾値数の文字、少なくとも1つの大文字、少なくとも1つの数字、及び/又は少なくとも1つの特殊文字を含む。様々な実施態様では、デバイス100は、ユーザインターフェース500のコンテンツ領域522内のテキスト及び/又はサービスによって提供される他の情報に基づいて、1つ以上のパスワードの制約条件を判定する。
新規パスワードユーザインターフェース503Cは、新たな自動生成されたパスワードの説明、及び新たな自動生成されたパスワードの取得のための指示を含むテキスト544を含む。例えば、テキスト544は、新たな自動生成されたパスワードが自動生成されたものであり、パスワード強度要件を満たしていることを示す。テキスト544は、新たな自動生成されたパスワードがデバイス100によって保存され、ユーザによって、例えば、以下に更に詳細に説明されるような口頭要求を介してアクセスすることができることを示す。
新規パスワードユーザインターフェース503Cは、新たな自動生成されたパスワードを受諾するための受諾アフォーダンス543A及び新たな自動生成されたパスワードを使用することを拒否するための拒否アフォーダンス543Bを含む。新たな自動生成されたパスワードを使用することを拒否するための二次的拒否アフォーダンス543BBは、新規パスワードユーザインターフェース503Cとは別個に表示され、特に、新規パスワードフィールド532C内の新たな自動生成されたパスワードの表現の隣に表示される。
特定のフィールドの選択に応じて、デバイス100は、特定のフィールドのタイプに基づいて、(図5Cのような)ソフトキーボード503A、(図5Eのような)ソフトキーボード503B、又は新規パスワードユーザインターフェース503Cを表示するかどうかを決定する。様々な実施態様では、デバイス100は、フィールド検出及び分類アルゴリズムを使用して、フィールドのタイプを決定する。様々な実施態様では、デバイス100は、(1)ユーザインターフェース500のコンテンツ領域522内のコンテンツに関連付けられたテキスト、又は(2)ユーザインターフェース500のコンテンツ領域522内のフィールドの数のうちの1つ以上に基づいて、フィールドを分類する。例えば、単語「パスワード」を含むテキストの隣に位置するフィールドを検出したことに応じて、そして、コンテンツ領域522内のテキスト内の「登録」又は「サインアップ」を検出したことに応じて、デバイスは、フィールドを新規パスワードフィールドとして分類する(そして、新規パスワードユーザインターフェース503Cを表示する)。対照的に、単語「パスワード」を含むテキストに位置するフィールドを検出したことに応じて、そして、コンテンツ領域522内のテキスト内の「ログイン」又は「サインイン」を検出したことに応じて、デバイスは、フィールドをパスワードフィールドとして分類する(そして、パスワードのユーザ入力を受信するか、又は既知のパスワードをパスワードフィールドに自動的に挿入するために、ソフトキーボード503Aを表示する)。別の例として、コンテンツ領域522内に2つのフィールドを検出して、そのうちの1つが単語「パスワード」を含むテキストの隣に位置することに応じて、デバイス100は、そのフィールドをユーザアカウントにサインインするためのパスワードフィールドとして分類する。対照的に、コンテンツ領域522内に3つ以上のフィールドを検出して、そのうちの1つが単語「パスワード」を含むテキストの隣に位置することに応じて、デバイスは、そのフィールドをユーザアカウントを作成するための新規パスワードフィールドとして分類する。同様に、コンテンツ領域522内に少なくとも2つのフィールドを検出して、そのうちの2つが単語「パスワード」を含むテキストの隣に位置することに応じて、デバイス100は、第1のフィールドを新規パスワードフィールドとして分類し、第2のフィールドをパスワード確認フィールドとして分類する。
図5G1において、新規パスワードフィールド532Cに表示された新たな自動生成されたパスワードの表現は、新たな自動生成されたパスワード自体である。図5G2は、新規パスワードフィールド532C(及びパスワード確認フィールド532D)に表示された新たな自動生成されたパスワードの表現が汎用パスワードインジケータ、例えば一連のアスタリスク又は一連の黒丸であるという点で、図5G1とは異なる、新規パスワードフィールド532Cの位置で接触550Fを検出したことに応じた、図5Fのユーザインターフェース500の第2の実施形態を示す。図5G3は、新規パスワードフィールド532Cの位置で接点550Fを検出したことに応じた、図5Fのユーザインターフェース500の第3の実施形態を示し、これは、新規パスワードフィールド532C(及びパスワード確認フィールド532D)において表示される新たな自動生成されたパスワードの表現が、新たな自動生成されたパスワードの一部分が表示されず、例えば、新たな自動生成されたパスワードがその長さに沿って薄れ見えにくくなっていることを示す点で図5G1と異なる。いくつかの実施形態では、新たな自動生成されたパスワードは、楕円(例えば、「Y2v’GS...」)によって表示される。
図5G3は、拒否アフォーダンス543Bの位置で検出された接触550Gを示す。
図5Hは、拒否アフォーダンス543Bの位置での接触550G(又は、様々な実施態様では、二次的拒否アフォーダンス543BBの位置での接触)を検出したことに応じた、図5G3のユーザインターフェース500を示す。拒否アフォーダンス543Bの選択を検出したことに応じて、新規パスワードユーザインターフェース503C(受諾アフォーダンス543A及び拒否アフォーダンス543Bを含む)は、複数の文字挿入アフォーダンスを含むソフトキーボード503Aに置き換えられる。更に、カーソル533が、新規パスワードフィールド532C内に表示される。
様々な実施態様では(図5Hのように)、拒否アフォーダンス543Bの選択を検出したことに応じて、新たな自動生成されたパスワードの表現は表示されなくなる。したがって、ソフトキーボード503Aを使用することによって、ユーザは、ユーザによって作成及び/又は選択されたパスワードを入力することができる。様々な実施態様では、新たな自動生成されたパスワードの表現は、表示されたままである。したがって、ソフトキーボード503Aを使用することによって、ユーザは、新たな自動生成されたパスワードをユーザの好みに編集することができ、又は新規パスワードの要件、例えば、特定の文字(例えば、疑問符又はアスタリスク)が使用されないという要件を遵守することができる。
図5Iは、(拒否アフォーダンス543Bの位置で検出された接触550Gではなく)受諾アフォーダンス543Aの位置で検出された接触550Hを有する、図5G3のユーザインターフェース500を示す。
図5Jは、受諾アフォーダンス543Aの位置で接触550Hを検出したことに応じた、図5Iのユーザインターフェース500を示す。受諾アフォーダンス543Aの選択を検出したことに応じて、新規パスワードユーザインターフェース503C(受諾アフォーダンス543A及び拒否アフォーダンス543Bを含む)は表示されなくなる。
図5Jは、サインアップ完了アフォーダンス531Cの位置で検出された接触550Iを示す。
図5Kは、サインアップ完了アフォーダンス531Cの位置で接触550Iを検出したことに応じた、図5Jのユーザインターフェース500を示す。図5Kにおいて、アドレスバー521は、サービスの完了サインアップページのアドレスを含む。図5Kにおいて、コンテンツ領域522は、(リンゴの)画像と、登録プロセスが完了したことを示すテキストと、選択されるとウェブブラウザユーザインターフェース502をウェブサービスのホームページに戻すホームアフォーダンス531Dとを含む。
図5Kは、ホームアフォーダンス531Dの位置で検出された接触550Jを示す。
図5Lは、ホームアフォーダンス531Dの位置で接触550Jを検出したことに応じた、図5Kのユーザインターフェース500を示す。図5Kにおいて、アドレスバー521は、ホームページのアドレスを含み、コンテンツ領域222内に表示されているコンテンツは、(リンゴの)画像、サインアップアフォーダンス531A、及びサインインアフォーダンス531Bを含む。
図5Lは、サインインアフォーダンス531Bの位置で検出された接触550Kを示す。
図5Mは、サインインアフォーダンス531Bの位置で接触550Kを検出したことに応じた、図5Lのユーザインターフェース500を示す。図5Mにおいて、アドレスバー521は、サービスのサインインページのアドレスを含む。図5Mにおいて、コンテンツ領域522は、(リンゴの)画像と、テキスト入力を受信するための複数のフィールド532E~532Fと、複数のフィールド532E~532Fにそれぞれ関連付けられて説明しているテキストと、選択されると複数のフィールド532E~532Fに入力された認証資格証明に基づいて、サービスのリソースへのアクセスを要求する、サインイン継続アフォーダンス531Eと、を含む。
複数のフィールド532E~532Fは、既存のユーザアカウントに関連付けられたユーザ名を示すテキスト入力を受信するためのユーザ名フィールド532Eを含む。複数のフィールド532E~532Fは、ユーザアカウントに関連付けられたパスワードを示すテキスト入力を受信するためのパスワードフィールド532Fを含む。図5Mにおいて、ユーザ名フィールド532E及びパスワードフィールド532Fは、フィールド532E~532Fの検出及び分類、並びにデバイス100によって記憶された認証資格証明に基づいて自動入力されている。
図5Mは、サインイン継続アフォーダンス531Eの位置における接触550Lを示す。
図5Nは、サインイン継続アフォーダンス531Eの位置で接触550Lを検出したことに応じた、図5Mのユーザインターフェース500を示す。図5Nにおいて、アドレスバー521は、サービスの確認ページのアドレスを含む。図5Nにおいて、コンテンツ領域522は、(リンゴの)画像と、テキスト入力を受信するための確認コードフィールド532Gと、確認コードフィールド532Gにそれぞれ関連付けられて説明しているテキストと、選択されると認証資格証明に基づくサービスのリソース、具体的には確認コードフィールド532Gに入力された確認コードへのアクセスを要求する、別のサインイン継続アフォーダンス531Fと、を含む。コンテンツ領域522は、選択されると、例えば図5Eで提供された電話番号に送信されるテキストメッセージとして、確認コードを含む電子メッセージがユーザに送信されることを要求する、要求コードアフォーダンス531Gをまた含む。
図5Oは、電子メッセージがデバイス100によって受信された後の、図5Nのユーザインターフェース500を示す。電子メッセージを受信したことに応じて、メッセージ通知561Aが表示される。メッセージ通知561Aは、電子メッセージのソース(例えば、電話番号「987-66」)を示すテキストと、電子メッセージのコンテンツをプレビューするプレビューテキストとを含む。
図5Oは、メッセージ通知561Aの位置で検出された接触550Mを示す。
図5Pは、メッセージ通知561Aの位置で接触550Mを検出したことに応じた、図5Oのユーザインターフェース500を示す。ユーザインターフェース500は、デバイスバー501の下に、選択されるとウェブブラウザユーザインターフェース502に戻る、戻りアフォーダンス506を含むナビゲーションバー505を含む。ユーザインターフェース500は、ナビゲーションバー505の下に、かつディスプレイの残りの部分にわたって、テキストメッセンジャーユーザインターフェース504を含む。テキストメッセンジャーユーザインターフェース504は、連絡先バー562及びコンテンツ領域563を含む。連絡先バー562は、コンテンツ領域563内に表示されるコンテンツのソースを示すテキストを含む。連絡先バー562は、選択されるとそれぞれの接触によって提供されるコンテンツ(例えば、SMSテキストメッセージ)にアクセスするための連絡先アフォーダンスのリストを表示する、バックアフォーダンス(「<」で示される)をまた含む。連絡先バー562は、選択されるとコンテンツ領域563内に表示されるコンテンツのソースに関する情報を提供する、情報アフォーダンス(丸で囲まれた「i」)をまた含む。
コンテンツ領域563は、ソースから受信した電子メッセージのコンテンツを含むメッセージウィンドウ564を含む。メッセージウィンドウ564において、それぞれの基準を満たすテキストメッセージのコンテンツは、コンテンツの残りの部分とは異なる様式で表示される(例えば、強調される)。具体的には、図5Pにおいて、それぞれの基準を満たすテキストメッセージのコンテンツは下線で表示されるが、コンテンツの残りは下線が引かれない。様々な実施態様では、それぞれの基準を満たすテキストメッセージのコンテンツは、コンテンツの残り(例えば、黒色)とは異なる色(例えば、青色)で表示される。様々な実施態様では、それぞれの基準は、コンテンツが電子メールフォーマットと一致する(例えば、アット記号(「@」)に先行する文字及びアット記号に続く文字を含む)という電子メールフォーマット要件を含む。様々な実施態様では、それぞれの基準は、コンテンツが電話番号フォーマットと一致する(例えば、少なくとも閾値数の数字文字を含む)という電話番号フォーマット要件を含む。様々な実施態様では、それぞれの基準は、コンテンツが確認コードフォーマットと一致するという確認コードフォーマット要件を含む。確認コードフォーマットとは、例えば、「パスコード」、「認証コード」、「2要素認証(2FA)」、「あなたの<サービス名>コード」、又は「あなたのアカウントを確認」など、セキュリティコードの存在を表すキーワード又は短い単語群に、123456又はab3d5fなどの数字又は英数字値がごく近接しているフォーマットをいう。
図5Pは、メッセージウィンドウ564内に表示された電話番号フォーマット要件を満たすコンテンツの位置で検出された接触550Nを示す。
図5Qは、メッセージウィンドウ564内に表示された電話番号フォーマット要件を満たすコンテンツの位置で接触550Nを検出したことに応じた、図5Pのユーザインターフェース500を示す。図5Qにおいて、ユーザインターフェース500は、電話番号を示すテキストを含む電話ウィンドウ565Aと、選択されるとデバイス100に電話番号への電話をかけさせる通話アフォーダンス566Aと、選択されると電話ウィンドウ565Aを閉じるキャンセルアフォーダンス566Bと、を含む。
図5Qは、キャンセルアフォーダンス566Bの位置で検出された接触550Oを示す。
図5Rは、キャンセルアフォーダンス566Bの位置で接触550Oを検出したことに応じた、図5Qのユーザインターフェース500を示す。図5Rにおいて、電話ウィンドウ565Aが表示されなくなる。
図5Rは、メッセージウィンドウ564内に表示された確認コードフォーマット要件を満たすコンテンツの位置における接触550Pを示す。
図5Sは、メッセージウィンドウ564内に表示された認証コードフォーマット要件を満たすコンテンツの位置で接触550Pを検出したことに応じた、図5Rのユーザインターフェース500を示す。図5Sにおいて、ユーザインターフェース500は、確認コードを示すテキストと、選択されるとデバイス100に、確認コードをキャッシュ内に記憶させる(例えば、確認コードをクリップボードにコピーする)コピーアフォーダンス566Cと、選択されると確認コードウィンドウ565Bを閉じるキャンセルアフォーダンス566Dと、を含む、確認コードウィンドウ565Bを含む。
図5Sは、コピーアフォーダンス566Cの位置で検出された接触550Pを示す。
図5Tは、コピーアフォーダンス566Cの位置で接触550Pを検出したことに応じた、ユーザインターフェース500を示す。図5Tにおいて、確認コードウィンドウ565Bが表示されなくなる。
図5Tは、戻りアフォーダンス506の位置で検出された接触550Qを示す。
図5U1は、戻りアフォーダンス506の位置で接触550Qを検出したことに応じた、ユーザインターフェース500を示す。図5U1において、テキストメッセンジャーユーザインターフェース504は、図5Nのウェブブラウザユーザインターフェース502に置き換えられている。したがって、図5U1は、図示されていないが、デバイス100が電子メッセージを受信しており、キャッシュに確認コードを記憶している(例えば、確認コードをクリップボードにコピーしている)という点で、図5Nとは異なる。
図5Oと比較すると、図5U2は、電子メッセージがデバイス100によって受信された後の、図5Nのユーザインターフェース500の別の実施形態を示す。電子メッセージを受信したことに応じて、メッセージ通知561Bが表示されている。メッセージ通知561Bは、電子メッセージのソース(例えば、電話番号「987-66」)を示すテキストと、電子メッセージのコンテンツをプレビューするプレビューテキストとを含む。メッセージ通知561Bは、確認コードフォーマット要件を含む、それぞれの基準を満たす電子メッセージのコンテンツを検出したことに応じて、選択されるとデバイス100がキャッシュ内に確認コードを記憶させる(例えば、確認コードをクリップボードにコピーする)コピーアフォーダンス561Cと、選択されるとメッセージ通知561Bを閉じる読み取りアフォーダンス561Dと、をまた含む。
図5U2は、コピーアフォーダンス561Cの位置で検出された接触550Rを示す。
図5U3は、コピーアフォーダンス561Cの位置で接触550Rを検出したことに応じた、図5U2のユーザインターフェース500を示す。図5U3のユーザインターフェース500は、図5U1のユーザインターフェース500と同じである。
図5U3は、確認コードフィールド532Gの位置で検出された接触550Sを示す。
図5Vは、確認コードフィールド532Gの位置で接触550Sを検出したことに応じた、図5U3の(又は、同様に図5U1の)ユーザインターフェース500を示す。確認コードフィールド532Gの選択を検出したことに応じて、カーソル533が確認コードフィールド532G内に表示される。更に、ユーザインターフェース500は、数字ソフトキーボード503Bを含む。
キャッシュ内に記憶されたテキスト、例えば、クリップボードにコピーされたテキストを含むことに応じて、ユーザインターフェース500は、選択されるとキャッシュ内に記憶されたテキストを選択されたフィールドに挿入する、ペーストアフォーダンス534を含む。
図5Vは、ペーストアフォーダンス534の位置で検出された接触550Tを示す。
図5Wは、ペーストアフォーダンス534の位置で接触550Tを検出したことに応じた、図5Vのユーザインターフェース500を示す。図5Wにおいて、キャッシュからの確認コードが確認コードフィールド532Gに挿入されている。
図5Wは、サインイン継続アフォーダンス531Fの位置で検出された接触550Uを示す。
図5Xは、サインイン継続アフォーダンス531Fの位置で接触550Uを検出したことに応じた、図5Wのユーザインターフェース500を示す。図5Xにおいて、アドレスバー521は、サービスのコンテンツページのアドレスを含む。図5Xにおいて、コンテンツ領域522は、(潜在的に認証コードを含む)認証資格証明書によって保護されたサービスによって提供されるリソースを含む。
図5Oと比較すると、図5Yは、電子メッセージがデバイス100によって受信された後の、図5Nのユーザインターフェース500の別の実施形態を示す。電子メッセージを受信したことに応じて、メッセージ通知561Aが表示される。メッセージ通知561Aは、電子メッセージのソース(例えば、電話番号「987-66」)を示すテキストと、電子メッセージのコンテンツをプレビューするプレビューテキストとを含む。
図5Oがメッセージ通知561Aの位置における接触550Mを示しているのに対し、図5Yは、確認コードフィールド532Gの位置における接触550Vを示す。
図5Zは、確認コードフィールド532Gの位置で接触550Vを検出したことに応じた、図5Yのユーザインターフェースを示す。確認コードフィールド532Gの選択を検出したことに応じて、カーソル533が確認コードフィールド532G内に表示される。更に、ユーザインターフェース500は、数字ソフトキーボード503Bを含む。数字ソフトキーボード503Bは、ナビゲーション領域541及びテキスト提案領域542を含む。それぞれの基準が満たされていることに従って、テキスト提案領域542は、選択されると確認コードフィールド532G内に確認コードを自動的に挿入する、挿入アフォーダンス545を含む。図5Zは、数字のソフトキーボード503Bを示すが、様々な実施態様では、挿入アフォーダンス545が、ソフトキーボード503A、手書き認識ユーザインターフェース、又は他のユーザ入力領域の上方のテキスト提案領域542内に表示される。
様々な実装形態では、それぞれの基準は、電子メッセージが確認コードフォーマット要件を満たすコンテンツを含む、という要件を含む。様々な実施態様では、それぞれの基準は、ユーザインターフェースが、電子メッセージが受信されたときから所定の期間内に表示される、というタイミング要件を含む。したがって、様々な実施態様では、挿入アフォーダンスは、電子メッセージが受信された時から、限られた時間、例えば、3分間だけ表示される。様々な実施態様では、それぞれの基準は、ユーザインターフェースが所定の特性を有するテキスト入力フィールドを含む、という特性要件を含む。様々な実施態様では、それぞれの基準は、テキスト入力フィールドが選択される、という選択要件を含む。例えば、挿入アフォーダンス545は、(例えば、サービスによって提供されるフィールドに関する分析又はメタデータに基づいて)確認コードフィールドとして分類されるフィールドが選択されると表示される。別の例として、挿入アフォーダンス545は、例えば、ユーザ名、パスワード、電子メールアドレス、電話番号、クレジットカード番号、住所、マルチライン入力フィールドなど、その他の分類がされないフィールドが選択されたときにのみ表示される。
様々な実施態様では、挿入アフォーダンス545は、電子メッセージが受信されたアプリケーションの指示を含む。例えば、図5Zにおいて、挿入アフォーダンス545は、テキストメッセージアプリケーション(「メッセージ」)を示す。他の実施態様では、挿入アフォーダンスは、電子メールアプリケーション又はチャットアプリケーションを示す。様々な実施態様では、挿入アフォーダンス545は、電子メッセージの送信者の指示を含む。例えば、図5Zにおいて、挿入アフォーダンスは電話番号(「987-66」)を示す。他の実施態様では、挿入アフォーダンスは、サービスの名称、例えば「Apple Fun」を示す。いくつかの実施形態では、アプリケーションの指示又は送信者の指示は、他方と共には表示されない。
図5Zは、テキスト提案領域542内の挿入アフォーダンスの位置における接触550Wを示す。
図AAは、挿入アフォーダンス545の位置で接触550Wを検出したことに応じた、図5Zのユーザインターフェース500を示す。図5AAにおいて、確認コードが確認コードフィールド532Gに挿入されている。
様々な実施態様では、図5AAのユーザインターフェース500には、挿入アフォーダンス545の選択を必要とせずに、図5Yのユーザインターフェースから直接到達する。したがって、様々な実施態様では、電子メッセージがそれぞれの基準を満たすコンテンツを含むとの判定に応じて、デバイス100は、ユーザインターフェースの認証コードとしてのコンテンツを自動的に挿入する。
図5Oと比較すると、図5ABは、電子メッセージがデバイス100によって受信された後の、図5Nのユーザインターフェース500の別の実施形態を示す。図5Oとは対照的に、電子メッセージを受信したことに応じて、メッセージ通知561Aは表示されていない。更に、デバイス100は、電子メッセージが確認コードフォーマット要件を満たすコンテンツを含むとの判定に応じて、挿入アフォーダンス545の表示又は選択なしに、コンテンツを認証コードフィールド532Gの認証コードとして自動的に挿入する。
図5Oと比較すると、図5ACは、電子メッセージがデバイス100によって受信された後の、図5Nのユーザインターフェース500の別の実施形態を示す。電子メッセージを受信したことに応じて、メッセージ通知561Fが表示されている。メッセージ通知561Fは、電子メッセージのソース(例えば、連絡先名「Gary」)を示すテキストと、電子メッセージのコンテンツをプレビューするプレビューテキストとを含む。図5Oとは対照的に、電子メッセージのコンテンツは、それぞれの基準を満たすコンテンツを含んでいない。具体的には、電子メッセージのコンテンツは、確認コードフォーマット要件を満たすコンテンツを含んでいない。したがって、メッセージ通知561Fは、コピーアフォーダンス561Cを含まず、代わりに、電子メッセージの送信者にテキストメッセージ返信を作成するための返信アフォーダンス561Eを含む。
図5ACは、確認コードフィールド532Gの位置における接触550Xを示す。
図5ADは、確認コードフィールド532Gの位置で接触550Xを検出したことに応じた、図5ACのユーザインターフェース500を示す。確認コードフィールド532Gの選択を検出したことに応じて、コンテンツ領域522は、確認コードフィールド532G内に表示されたカーソル533を含む。更に、ユーザインターフェース500は、選択されると文字を選択されたフィールドに書き込む、複数の文字挿入アフォーダンスを有するソフトキーボード503Aを含む。ソフトキーボード503Aは、ナビゲーション領域541と、提案されたテキストを示すテキスト提案アフォーダンスを含み、選択されると提案されたテキストを選択されたフィールドに挿入する、テキスト提案領域542と、を含む。図5ADにおいて、図5Zとは対照的に、図5ACのメッセージ通知561Fに表示された電子メッセージは確認コードを含まないため、テキスト提案領域542は、確認コードを挿入するための挿入アフォーダンス545を含まない。
図6Aは、第1の電子デバイス610、第2の電子デバイス620、及び第3の電子デバイス630を含む動作環境600を示す。第1の電子デバイス610は、図1のポータブル電子デバイス100又は図3のデバイス300などのポータブル電子デバイスに対応する。第1の電子デバイス610は、第1のユーザインターフェース612を提供するディスプレイを含む。第2の電子デバイス620は、第2のユーザインターフェース622を提供する表示デバイス621に接続されたメディア再生デバイスである。第3の電子デバイス630は、第2の電子デバイス620のリモートコントロールである。第3の電子デバイス630は、第2の電子デバイス620に送信されるユーザ入力を生成するためのタッチ感知入力デバイス631を含む。
第2のユーザインターフェース622は、選択されると、第2のユーザインターフェース622を介して、アプリケーションを開く、又はメディアコンテンツを提供する、複数のアフォーダンスを含む。図6Aにおいて、複数のアフォーダンスの内のアプリケーションアフォーダンス623が選択される。
図6Aは、アプリケーションアフォーダンス623が選択されている間にタッチ感知入力デバイス631上で検出された接触650Aを示す。
図6Bは、アプリケーションアフォーダンス623が選択されている間にタッチ感知入力デバイス631上の接触650Aを検出したことに応じた、図6Aの動作環境600を示す。図6Bにおいて、第2のユーザインターフェース622は、(リンゴの)画像、サインアップアフォーダンス624A、及びサインインアフォーダンス624Bを含むサービスのホーム画面を含む。サインアップアフォーダンス624Aは、選択されると、ユーザがサービスに登録すること、例えば、ユーザアカウントの認証資格証明によって保護されたリソース(例えば、コンテンツ)にアクセスするために、ユーザアカウントを作成することを可能にする。サインインアフォーダンス624Bは、選択された場合、ユーザがサービスのリソースにアクセスするために認証資格証明を提供することを可能にする。図6Bにおいて、サインインアフォーダンス624Bが選択される。
図6Bは、サインインアフォーダンス624Bが選択されている間にタッチ感知入力デバイス631上で検出された接触650Bを示す。
図6Cは、サインインアフォーダンス624Bが選択されている間にタッチ感知入力デバイス631上の接触650Bを検出したことに応じた、図6Bの動作環境600を示す。図6Cにおいて、第2のユーザインターフェース622は、(リンゴの)画像を含むサービスのサインイン画面と、既存のユーザアカウントに関連付けられたユーザ名を示すテキスト入力を受信するためのユーザ名フィールド625Aと、ユーザアカウントに関連付けられたパスワードを示すテキスト入力を受信するためのパスワードフィールド625Bと、を含む。第2のユーザインターフェース622は、選択されるとフィールド625A~625Bに入力された認証資格証明入力に基づいてサービスのリソースへのアクセスを要求する、サインイン継続アフォーダンス624Cを含む。
図6Cにおいて、第2の電子デバイス620は、第2の電子デバイス620がサービスに対する認証資格証明(例えば、ユーザ名及びパスワード)を必要としているという指示を第1の電子デバイス610に送信する。
図6Dは、第2の電子デバイス620がサービスに対する認証資格証明を必要としているという指示を受信したことに応じた、第1の電子デバイス610を示す。図6Dにおいて、第1のユーザインターフェース612は、デバイスバー501及びアプリケーション起動ユーザインターフェース507を含む。アプリケーション起動ユーザインターフェース507は、第1の電子デバイス610上にインストールされたアプリケーションを格子状に配置した複数の表現を含む。第1のユーザインターフェース612は、アプリケーション起動ユーザインターフェース507(又は現在表示されている任意の他のユーザインターフェース)の前方に、共有確認ウィンドウ640を含む。
共有確認ウィンドウ640は、第2の電子デバイス620がサービスに対する認証資格証明を必要としているという指示を説明するテキストを含む。様々な実施態様では、テキストは、サービスの表示(例えば、「Apple Fun」)を含む。様々な実施態様では、テキストは、第2の電子デバイス620がサービスに対する認証資格証明を必要としていることを一般的に示す(例えば、「JohnnyのAppleTVはパスワードを要求しています。」)。共有確認ウィンドウ640は、以下で更に説明するように、選択されると第1の電子デバイス610と第2の電子デバイス620との間での資格証明の共有を可能にする、共有確認アフォーダンス641を含む。共有確認ウィンドウ640は、選択されると第1の電子デバイス610と第2の電子デバイス620との間での資格証明の共有を否認する、共有キャンセルアフォーダンス642を含む。
様々な実施態様では、共有確認ウィンドウ640は、第1の電子デバイス610が第2の電子デバイス620に対して所定の近接度内にあるという判定に従って、第1の電子デバイス610上に表示される。様々な実施態様では、所定の近接度は、最も近いデバイスまでの距離である。様々な実施態様では、所定の近接度は所定の範囲である。様々な実施態様では、共有確認ウィンドウ640は、第1の電子デバイス610が第2の電子デバイス620に関連付けられた第3の電子デバイス630に対して所定の近接度内にあるという判定に従って、第1の電子デバイス610上に表示される。様々な実施態様では、所定の近接度は、最も近いデバイスまでの距離である。様々な実施態様では、所定の近接度は所定の範囲である。
図6Dは、共有確認アフォーダンス641の位置で検出された接触650Cを示す。
図6Eは、共有確認アフォーダンス641の位置で接触650Cを検出したことに応じた、図6Cの動作環境600を示す。図6Eにおいて、第2のユーザインターフェース622は、確認情報、例えば、認可コードを表示する。図6Eにおいて、第1のユーザインターフェース612は、進行するためには第1の電子デバイス610に第2の電子デバイス620からの情報(例えば、第2の電子デバイス620によって表示される確認情報)の入力を必要とする確認プロンプトを表示する。具体的には、確認プロンプトは、第1の電子デバイス610と第2の電子デバイス620との間のセキュア接続を確立するためのものである。確認プロンプトは、第2の電子デバイス620からの情報(例えば、第2の電子デバイス620によって表示される確認情報)を入力するための複数の数値文字アフォーダンスを含む。様々な実施態様では、確認プロンプトは、ソフトキーボード503Bなどのソフトキーボード又は他の入力ユーザインターフェースを含む。
図6Eは、複数の数字文字アフォーダンスのうちの1つの位置における接触650Dを示す。
図6Fは、第2の電子デバイス620からの確認情報に対応する、複数の数字文字アフォーダンスのうちの1つの位置における接触650D、及び他の接触を検出したことに応じた、第1の電子デバイス610を示す。第1のユーザインターフェース612は、デバイスバー501及びサービス選択ユーザインターフェース508を含む。サービス選択ユーザインターフェース508は、複数のサービスにそれぞれ関連付けられたサービスアフォーダンス661A~661Gのリストと、それらのサービスのユーザアカウントと、それらのユーザアカウントに対する認証資格証明と、を含む。サービス選択ユーザインターフェース508は、テキスト入力を受信し、テキスト入力に基づいて複数のサービスを検索するための検索フィールド662を含む。
図6Fにおいて、サービスアフォーダンス661A~661Gのリストは、それぞれのサービスの関連度に少なくとも部分的に基づいてソートされる。具体的には、第2の電子デバイス620がサービスに対する認証資格証明を必要としているという指示は、そのサービスを示し、サービスはサービスアフォーダンス661A~661Gのリストの最上部にリスト表示される。
図6Fは、サービスアフォーダンス661A~661Gのリストの第1のサービスアフォーダンス661Aの位置で検出された接触650Eを示す。
図6Gは、第1のサービスアフォーダンス661Aの位置で接触650Eを検出したことに応じた、図6Eの動作環境600を示す。図6Gにおいて、第2のユーザインターフェース622で、ユーザ名フィールド625A及びパスワードフィールド625Bには、第1の電子デバイス610から受信された認証資格証明が自動入力されている。更に、サインインアフォーダンス624Cが選択される。第1のユーザインターフェース612において、認証資格証明が第2の電子デバイス620と共有されたことを示す通知を含む、共有完了ウィンドウ643が表示される。
図6Gは、サインイン継続アフォーダンス624Cが選択されている間にタッチ感知入力デバイス631上で検出された接触650Fを示す。
図6Hは、サインイン継続アフォーダンス624Cが選択されている間にタッチ感知入力デバイス631上の接触650Fを検出したことに応じた、図6Gの動作環境600を示す。図6Hにおいて、第2のユーザインターフェース622は、サービスのコンテンツ画面を含む。
図7Aは、ポータブル多機能デバイス100(以下、「デバイス100」)によって表示されるユーザインターフェース700の一部としてのアプリケーション起動ユーザインターフェース707を示す。ユーザインターフェース700は、アプリケーション起動ユーザインターフェース507に加えて、デバイス100の識別名(例えば、「iPhone」)、無線接続インジケータ、現在の時刻、及びデバイス100の充電レベルを示すバッテリインジケータを含む、デバイスバー701をディスプレイの上部に含む。
ユーザインターフェース700は、デバイスバー701の下に、ディスプレイの残りの部分にわたって、アプリケーション起動ユーザインターフェース707を含む。アプリケーション起動ユーザインターフェース707は、設定表現710を含む、デバイス100上にインストールされた複数のアプリケーションの表現を含む。図7Aに示されるように、各表現は、対応するアプリケーションに関連付けられたアイコン及びアプリケーションを説明するテキスト(例えば、アプリケーションの名前又は機能)を含む。アプリケーション起動ユーザインターフェース707としては、個別のアプリケーションの表現の指定された位置におけるユーザ入力を検出したことに応じて、デバイス100は個別のアプリケーションを起動する。
図7Aは、ホーム画面の形態のユーザインターフェース707を起動するアプリケーションを示すが、様々な実施態様では、アプリケーション起動ユーザインターフェース707は、タスクバー又はファイルマネージャである。更に、図7Aは、ホーム画面の単一ページのみを示すが、様々な実施態様では、アプリケーション起動ユーザインターフェース707は複数ページを含む。
図7Aは、設定表現710の位置で検出された接触750Aを示す。
図7Bは、設定表現710の位置で接触750Aを検出したことに応じた、図7Aのユーザインターフェース700を示す。設定表現710の位置で接触750Aを検出したことに応じて、アプリケーション起動ユーザインターフェース707は、一般設定ユーザインターフェース704に置き換えられる。一般設定ユーザインターフェース704は、接続性管理アフォーダンス725A、ディスプレイ管理アフォーダンス725B、サウンド管理アフォーダンス725C、ストレージ管理アフォーダンス725D、電力管理アフォーダンス725E、及びパスワード管理アフォーダンス725Fを含む、複数の設定アフォーダンス725A~725Fを含む。様々な実施態様では、一般設定ユーザインターフェース704は、追加の、より少ない、又は他の設定アフォーダンスを含むことができる。
図7Bは、パスワード管理アフォーダンス725Fの位置で検出された接触750Bを示す。
図7Cは、パスワード管理アフォーダンス725Fの位置で接触750Bを検出したことに応じた、図7Bのユーザインターフェース700を示す。パスワード管理アフォーダンス725Fの位置で接触750Bを検出したことに応じて、一般設定ユーザインターフェース704はパスワード管理ユーザインターフェース703に置き換えられる。パスワード管理ユーザインターフェース703は、選択されるとそれぞれ関連付けされた認証資格証明を有するユーザアカウントのリストを表示する、パスワードリストアフォーダンス726Aを含む。パスワード管理ユーザインターフェース703は、選択されるとユーザアカウントのリストのそれぞれのユーザアカウントに関する情報及び設定可能な設定を提供する、アカウントアフォーダンス726B~726Dのリストを含む。パスワード管理ユーザインターフェース703は、選択されるとユーザがユーザアカウントをユーザアカウントのリストに追加することを可能にする、アカウント追加アフォーダンス726Eを含む。パスワード管理ユーザインターフェース703は、選択されるとユーザが、ユーザアカウントからデータをフェッチするためのフェッチ設定を選択することを可能にする、フェッチ設定アフォーダンス726Fを含む。
図7Cは、パスワードリストアフォーダンス726Aの位置における接触750Cを示す。
図7Dは、パスワードリストアフォーダンス726Aの位置で接触750Cを検出したことに応じた、ユーザインターフェース700を示す。図7Dにおいて、パスワード管理ユーザインターフェース703は、パスワードリストユーザインターフェース708に置き換えられている。パスワードリストユーザインターフェース708は、それぞれ、複数のユーザアカウントに関連付けられ、それぞれの複数のサービスと、それらのユーザアカウントの認証資格証明とに関連付けられている、ユーザアカウントアフォーダンス727A~727Gのリストを含む。ユーザアカウントアフォーダンス727A、727C、727Gのうちのいくつかは、それぞれのユーザアカウントに関連付けられたパスワードが、1つ以上の他のユーザアカウントに関連付けられたパスワードと同じであることを示す、アラートマーカ781を含む。
様々な実施態様では、ユーザがアラートマーカ781の表示をトグルすることを可能にするトグルアフォーダンスが提供される。更に、いくつかの実施態様では、2つのユーザアカウントが同じパスワードを有する場合であっても、2つのユーザアカウントが関連しており認証資格証明を共有すると判定されたときには、アラートマーカ781はいずれのユーザアカウントアフォーダンスにも示されない。例えば、facespace.com及びhotels4less.comが関連しており、例えば、同じエンティティによって所有され、かつ/又は同じ認証資格証明を使用することが知られている場合、ユーザアカウントアフォーダンス727E~727Fのいずれにも、アラートマーカ781は示されない。
パスワードリストユーザインターフェース708は、テキスト入力を受信し、テキスト入力に基づいて複数のユーザアカウントを検索するための検索フィールド729を含む。パスワードリストユーザインターフェース708は、パスワード管理ユーザインターフェース703に戻るための戻りアフォーダンス728Aを含む。
図7Dは、第4のユーザアカウントアフォーダンス727Dの位置で検出された接触750Dを示す。
図7Eは、第4のユーザアカウントアフォーダンス727Dの位置で接触を検出したことに応じた、ユーザインターフェース700を示す。図7Eにおいて、パスワードリストユーザインターフェース708は、第1のサービスに対する第1のユーザアカウントのためのパスワード詳細ユーザインターフェース709Aに置き換えられている。パスワード詳細ユーザインターフェース709Aは、第1のサービスの第1のユーザアカウントに関連付けられたユーザ名を示すテキストを含むユーザ名アフォーダンス730Aと、第1のユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Bとを含む。パスワード詳細ユーザインターフェース709Aは、第1のサービスに関連付けられたウェブサイト731Aを示すテキストを含む。パスワード詳細ユーザインターフェース709Aは、パスワードリストユーザインターフェース708に戻るための戻りアフォーダンス728Bを含む。
図7Fは、ポータブル多機能デバイス100(以下、「デバイス100」)によって表示されるユーザインターフェース700の一部としてのロック画面ユーザインターフェース705を示す。ユーザインターフェース700は、ロック画面ユーザインターフェース705に加えて、デバイス100の識別名(例えば、「iPhone」)、無線接続インジケータ、現在の時刻、及びデバイス100の充電レベルを示すバッテリインジケータを含む、デバイスバー701をディスプレイの上部に含む。様々な実施態様では、ロック画面ユーザインターフェース705は、デバイス100がロック状態にある間に表示される。
図7Fは、ディスプレイの下部付近の位置から上方に移動することが検出された接触750Eを示す。
図7Gは、ディスプレイの下部付近の位置から上方に移動する接触750Eを検出したことに応じた、図7Fのユーザインターフェース700を示す。図7Gにおいて、ユーザを認証するための認証プロセスが実行されていることを示す認証中ウィンドウ741が表示されている。様々な実施態様では、認証プロセスは、認証情報を受信することと、認証情報に基づいてユーザを認証することとを含む。様々な実施態様では、認証情報は、1つ以上の顔の特徴又は指紋などのユーザのバイオメトリックである。したがって、様々な実施態様では、認証情報は、カメラ(例えば、深度カメラ)又は指紋センサを介して受信される。様々な実施態様では、認証情報は、ユーザによって提供されるパスコード又はパスワードである。したがって、様々な実施態様では、認証情報は、タッチ感知面を介して受信されて提供される。
図7Hは、ユーザを認証することに応じた図7Gのユーザインターフェース700を示す。図7Hにおいて、認証中ウィンドウ741は、認証済みウィンドウ742に置き換えられている。
図7Iは、ユーザを認証したことに応じてデバイスをロック解除後(例えば、デバイス100をロック解除状態に置いた後)の図7Hのユーザインターフェース700を示す。図7Iにおいて、ロック画面ユーザインターフェース705は、アプリケーション起動ユーザインターフェース707に置き換えられている。
図7Iは、デバイス100によって検出された口頭要求751Aを示す。様々な実施態様では、口頭要求751Aは、ユーザインターフェース700の一部として表示される。様々な実施態様では、口頭要求751Aは表示されない。図7Iにおいて、口頭要求751Aは、第1のユーザアカウントのパスワード情報を表示するための口頭要求である。
図7Jは、第1のユーザアカウントのパスワード情報を表示するための口頭要求751Aを検出したことに応じた、図7Iのユーザインターフェース700を示す。図7Jにおいて、ユーザを認証するための認証プロセスが実行されていることを示す認証中ウィンドウ741が表示されている。したがって、様々な実施態様では、デバイス100がロック解除状態にある場合でも、認証プロセスは、パスワード情報が表示される前に実行される。上述したように、様々な実施態様では、認証プロセスは、認証情報を受信することと、認証情報に基づいてユーザを認証することとを含む。様々な実施態様では、デバイスをロック解除するのに好適な認証情報(例えば、パスコード)は、パスワード情報を表示するのに不適切であり、それは、例えば、よりセキュアな認証情報(例えば、ユーザのバイオメトリック)を必要とする場合がある。しかしながら、様々な実施態様では、パスワード情報を表示するのに好適な認証情報は、パスコードを含む(例えば、バイオメトリック認証が失敗するか、又は構成されていない場合)。
図7Kは、ユーザを認証することに応じた、図7Jのユーザインターフェース700を示す。図7Kにおいて、認証中ウィンドウ741は認証済みウィンドウ742に置き換えられている。
図7Lは、ユーザを認証し、口頭要求751Aに応答することに応じた、図7Kのユーザインターフェース700を示す。図7Lにおいて、アプリケーション起動ユーザインターフェース705は、パスワード詳細ユーザインターフェース709Aに置き換えられている。
図7Lは、パスワードアフォーダンス730Bの位置で検出された接触750Fを示す。
図7Mは、パスワードアフォーダンス730Bの位置で接触750Fを検出したことに応じた、図7Lのユーザインターフェース700を示す。パスワードアフォーダンス730Bの位置で接触750Fを検出したことに応じて、ユーザインターフェース700は、選択されると第1のユーザアカウントに関連付けられたパスワードをキャッシュ内に記憶する(例えば、パスワードをクリップボードにコピーする)コピーアフォーダンス732Aと、選択されると第1のユーザアカウントに関連付けられたパスワード(及び/又は他の認証資格証明)を共有するためのプロセスを開始する共有アフォーダンス732Bと、を含む。
図7Mは、共有アフォーダンス732Bの位置で検出された接触750Gを示す。
図7Nは、共有アフォーダンス732Bの位置で接触750Gを検出したことに応じた、図7Mのユーザインターフェース700を示す。図7Nにおいて、ユーザインターフェース700は、選択されると第1のユーザアカウントに関連付けられたパスワード(及び/又は他の認証資格証明)をそれぞれの受信者と共有するためのプロセスを開始する複数の受信者アフォーダンス734A~734Cを含む、受信者選択カード733を含む。様々な実施態様では、受信者選択カード733は、近くのデバイスのための受信者アフォーダンスを含む。様々な実施態様では、受信者選択カード733は、デバイス100によって記憶された接触のための受信者アフォーダンスを含む。
様々な実施態様では、デバイス100は、パスワード(及び/又は他の認証資格証明)が受信者デバイスと共有される前に、(例えば、キーボード又は、視覚パターンについてはカメラを介して)デバイス100に入力されるのに必要とされる確認情報(例えば、文字列及び/又は視覚パターン)を表示する。様々な実施態様では、受信者デバイスは、パスワード(及び/又は他の認証資格証明)が受信者デバイスと共有される前に、(例えば、キーボード又は、視覚パターンについてはカメラを介して)デバイス100に入力されるのに必要とされる確認情報(例えば、文字列及び/又は視覚パターン)を表示する。1つのデバイスからの確認情報を別のデバイスに入力することを必要とする例は、図6A~図6Hを参照して上述されている。
図7Iと比較すると、図7Oは、ユーザを認証したことに応じてデバイスをロック解除後(例えば、デバイス100をロック解除状態にに置いた後)の図7Hのユーザインターフェース700の別の実施形態を示す。図7Oにおいて、ロック画面ユーザインターフェース705は、アプリケーション起動ユーザインターフェース707に置き換えられている。
図7Oは、デバイス100によって検出された口頭要求751Bを示す。様々な実施態様では、口頭要求751Bは、ユーザインターフェース700の一部として表示される。様々な実施態様では、口頭要求751Bは表示されない。図7Oにおいて、口頭要求751Bは、第2のユーザアカウントのパスワード情報を表示するための口頭要求である。
図7Pは、ユーザを認証し、口頭要求751Bに応答することに応じた、図7Oのユーザインターフェース700を示す。図7Pにおいて、アプリケーション起動ユーザインターフェース705は、第2のサービスに対する第2のユーザアカウントのためのパスワード詳細ユーザインターフェース709Bに置き換えられている。パスワード詳細ユーザインターフェース709Bは、第2のサービスの第2のユーザアカウントに関連付けられたユーザ名を示すテキストを含むユーザ名アフォーダンス730Cと、第2のユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Dとを含む。パスワード詳細ユーザインターフェース709Bは、第2のサービスに関連付けられたウェブサイト731Bを示すテキストを含む。パスワード詳細ユーザインターフェース709Bは、パスワードリストユーザインターフェース708に戻るための戻りアフォーダンス728Bを含む。
パスワード詳細ユーザインターフェース709Bは、第2のユーザアカウントに関連付けられたパスワードが1つ以上の他のアカウントに関連付けられたパスワードと同じであることを示すアラート735を含む。アラート735は、選択されると第2のアカウントのパスワードを変更するためのリソース、例えば、ウェブページ又はアプリケーションを表示する、パスワード変更アフォーダンス736を含む。様々な実施態様では、パスワード変更アフォーダンス736は、一般ウェブページ/アプリケーションにリンクするが、様々な実施態様では、パスワード変更アフォーダンス736は、ウェブページ/アプリケーションのパスワード変更ユーザインターフェースにリンクする。いくつかの実施形態では、複数のサービスは、パスワード変更ユーザインターフェースを、一般的に命名されたパス、例えば、「.well-known/change-password」の下に配置し、パスワード変更アフォーダンス736を、このパスにリンクさせる。
図7Pは、パスワード変更アフォーダンス736の位置で検出された接触750Hを示す。
図7Qは、パスワード変更アフォーダンス736の位置で接触750Hを検出したことに応じた、図7Pのユーザインターフェース700を示す。図7Qにおいて、パスワード詳細ユーザインターフェース709Bは、第2のユーザアカウントのパスワードを変更するためのユーザインターフェースを含むウェブブラウザユーザインターフェース702に置き換えられている。
図7Iと比較すると、図7Rは、ユーザの認証に応じてデバイスをロック解除後(例えば、デバイス100をロック解除状態に置いた後)の図7Hのユーザインターフェース700の別の実施形態を示す。図7Rにおいて、ロック画面ユーザインターフェース705は、アプリケーション起動ユーザインターフェース707に置き換えられている。
図7Rは、デバイス100によって検出された口頭要求751Cを示す。様々な実施態様では、口頭要求751Cは、ユーザインターフェース700の一部として表示される。様々な実施態様では、口頭要求751Cは表示されない。図7Rにおいて、口頭要求751Cは、一般的なパスワード情報を表示するための口頭要求である。
図7Sは、ユーザを認証し、口頭要求751Cに応答することに応じた、図7Oのユーザインターフェース700を示す。図7Sにおいて、アプリケーション起動ユーザインターフェース707は、パスワードリストユーザインターフェース708に置き換えられている(図7Dに関して上で詳細に説明したように)。
図7Iと比較すると、図7Tは、ユーザの認証に応じてデバイスをロック解除後(例えば、デバイス100をロック解除状態に置いた後)の図7Hのユーザインターフェース700の別の実施形態を示す。図7Tにおいて、ロック画面ユーザインターフェース705は、アプリケーション起動ユーザインターフェース707に置き換えられている。
図7Tは、デバイス100によって検出された口頭要求751Dを示す。様々な実施態様では、口頭要求751Dは、ユーザインターフェース700の一部として表示される。様々な実施態様では、口頭要求751Dは表示されない。図7Tにおいて、口頭要求751Dは、第3のユーザアカウントのパスワード情報を表示するための口頭要求である。
図7Uは、ユーザを認証し、口頭要求751Dに応答することに応じた、図7Tのユーザインターフェース700を示す。第3のユーザアカウントは、ユーザアカウント727A~727Gのリストのユーザアカウントの1つではないため、アプリケーション起動ユーザインターフェース707は、パスワード詳細ユーザインターフェース709A~709Bではなく、(図7Dに関して上述したように)パスワードリストユーザインターフェース708に置き換えられる。しかしながら、図7Uにおいて、検索フィールド729は、口頭要求に基づいて事前自動入力され、ユーザアカウント727A~727Gのリストは、検索フィールド729の事前入力に基づいてソートされる。いくつかの実施形態では、ユーザアカウントのリストは、検索フィールド729の事前自動入力と一致しないユーザアカウントが表示されないように、検索フィールド729の事前自動入力に基づいてフィルタリングされる。
図7Fと比較すると、図7Vは、ポータブル多機能デバイス100(以下、「デバイス100」)によって表示されるユーザインターフェース700の一部としてのロック画面ユーザインターフェース705を示す。
図7Vは、デバイス100によって検出された口頭要求751Eを示す。様々な実施態様では、口頭要求751Eは、ユーザインターフェース700の一部として表示される。様々な実施態様では、口頭要求751Eは表示されない。図7Vにおいて、口頭要求751Dは、第1のユーザアカウントのパスワード情報を表示するための口頭要求である。
図7Wは、第1のユーザアカウントのパスワード情報を表示するための口頭要求を検出したことに応じた、図7Vのユーザインターフェースを示す。図7Wにおいて、ユーザを認証するための認証プロセスが実行されていることを示す認証中ウィンドウ741が表示されている。
図7Xは、ユーザを認証することに応じた図7Wのユーザインターフェース700を示す。図7Xにおいて、認証中ウィンドウ741は、認証済みウィンドウ742に置き換えられている。
図7Yは、ユーザを認証したことに応じて、そして口頭要求751Eに応じて、デバイスをロック解除後(例えば、デバイス100をロック解除状態に置いた後)の図7Xのユーザインターフェース700を示す。図7Yにおいて、ロック画面ユーザインターフェース705は、パスワード詳細ユーザインターフェース709Aに置き換えられている。
図8A~図8Cは、いくつかの実施形態に係る、ユーザアカウントの新規パスワードを生成する方法800のフロー図を示す。方法800は、表示デバイス及び1つ以上の入力デバイスを有する電子デバイス(例えば、図1Aのポータブル多機能デバイス100、又は図3のデバイス300)で実行される。いくつかの実施形態では、表示デバイスは、タッチスクリーンディスプレイであり、入力デバイスのうちの1つ以上は、表示デバイス上にあるか又はこれに組み込まれている。いくつかの実施形態では、表示デバイスは、1つ以上の入力デバイスとは別個である。方法800の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
以下において説明されるように、方法800は、ユーザアカウントの新規パスワードを生成するための直感的な方法を提供する。この方法800は、ユーザアカウントの新規パスワードを生成する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザがユーザアカウントの新規パスワードをより速くより効率的に生成することを可能とすることは、電力を節約し、バッテリ充電間の時間を延ばす。
デバイスは、表示デバイス上に、新規パスワードフィールドを含むユーザインターフェースを表示する(802)。様々な実施態様では、ユーザインターフェースは、複数のフィールドを含む電子フォームを含む。例えば、図5Bにおいて、デバイス100は、新規パスワードフィールド532Cを含むウェブブラウザユーザインターフェース502を表示する。
デバイスは、1つ以上の入力デバイスを介して、新規パスワードフィールドの選択に対応するユーザ入力を検出する(804)。様々な実施態様では、ユーザ入力は、新規パスワードフィールドの位置における接触、カーソルが新規パスワードフィールドの位置にある間のクリック、新規パスワードフィールドにタブ移動すること、又は新規パスワードフィールドの前の順序に並べられたフィールドが選択されている間に次のアフォーダンスを選択することを含む。例えば、図5Fにおいて、デバイス100は、新規パスワードフィールド532Cの位置での接触550Fを検出する。別の例として、図5Fを参照すると、新規パスワードフィールドの選択に対応するユーザ入力は、ナビゲーション領域541内の次のアフォーダンスの位置における接触を含むことができる。
いくつかの実施形態では、新規パスワードフィールドの選択に対応するユーザ入力を検出することは、ユーザインターフェースのフィールドの数又はユーザインターフェースに関連付けられたテキストのうちの1つ以上に基づいて、選択されたフィールドが新規パスワードフィールド(806)であると判定することを含む。例えば、図5Fにおいて、デバイス100は、選択されたフィールドの隣の「パスワード」と書かれたテキスト、アドレスバー521内の「登録」と書かれたテキスト、複数のフィールド532A~532Dの数が2を超えること、かつ/又はフィールドの隣の「パスワード」と書かれたテキストを有するフィールドの数が1つを超えることに基づいて、接触550Fによって選択されたフィールドを新規パスワードフィールドとして分類する。選択されたフィールドが(異なるタイプのフィールドではなく)新規パスワードフィールドであると判定することにより、ユーザインターフェースは、異なるタイプのフィールドを検出したことに応じた異なるオプションを提供し、したがって、ユーザが様々な異なるアクションを実行する効率的なメカニズムを提供し、それによって、様々なアクションを実行するユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、様々な動作のより速い実行をまたもたらし、したがって、様々な動作を実行するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
新規パスワードフィールド(808)への選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス、新規パスワードフィールド内の新たな自動生成されたパスワードの表現を表示する(810)。ユーザアカウントに対する新規パスワードを自動的に生成することは、ユーザがユーザアカウントの新規パスワードを生成するための効率的なメカニズムを提供し、それにより、ユーザアカウントに対する新規パスワードを生成するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、ユーザアカウントに対する新規パスワードのより速い生成をまたもたらし、したがって、ユーザアカウントに対する新規パスワードを生成するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。更に、ユーザアカウントに対する新規パスワードを自動的に生成することは、ユーザアカウントに対する一意の、強力な、かつ/又はセキュアなパスワードを提供し、ユーザアカウントに対するセキュリティを高める。
いくつかの実施形態では、デバイスは、新たな自動生成されたパスワードを表示する(812)。例えば、図5G1において、デバイス100は、新規パスワードフィールド532G内に新たな自動生成されたパスワードを表示する。新規パスワードを表示することは、ユーザにセキュリティの感知を提供し、ユーザが新規パスワードを受諾する可能性を増加させ、異なる新規パスワードを生成するためのユーザ対話を低減する。ユーザ対話を低減することにより、デバイスの損耗が低減され、電力消費が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは汎用パスワードインジケータを表示する(814)。例えば、図5G2において、デバイス100は、新規パスワードフィールド532C内に一連のアスタリスク(又は黒丸)を表示する。(新規パスワードではなく)汎用パスワードインジケータを表示することにより、ユーザアカウント登録中の、特にパスワードの生成中のユーザの混乱が低減され、登録中のユーザ対話を低減する。ユーザ対話を低減することにより、デバイスの損耗が低減され、電力消費が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは、新たな自動生成されたパスワードの一部分を表示し、新たな自動生成されたパスワードの一部分が表示されていないことを示す(816)。例えば、図5G3において、デバイス100は、新たな自動生成されたパスワードの一部分と、新たな自動生成されたパスワードの一部分が表示されていないということを示しており、例えば、新たな自動生成されたパスワードがその長さに沿って薄れ見えにくくなっていることを示す。新規パスワードの一部分を表示することは、上記の実施形態の両方の利点を提供し、ユーザの混乱を低減しながらユーザに安心感を提供し、それによって、デバイスとのユーザ対話を低減する。ユーザ対話を低減することにより、デバイスの損耗が低減され、電力消費が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、新たな自動生成されたパスワードは、ユーザインターフェースの1つ以上のパスワード生成の制約条件に基づいて生成される(818)。例えば、図5G1において、新たな自動生成されたパスワードは、大文字(例えば、Y)、小文字(例えば、v)、数字(例えば、2)、特殊文字(例えば、%)、及び少なくとも閾値数の文字を含む。ユーザインターフェースのパスワード生成の制約条件に基づいてパスワードを自動的に生成することは、ユーザがパスワードを受諾する可能性を増加させ、パスワードがサービスによって拒否される確率を低減し、最終的には、デバイスとのユーザ対話の量を低減する。ユーザ対話を低減することにより、デバイスの損耗が低減され、電力消費が低減され、デバイスのバッテリ寿命を延ばす。更に、ユーザインターフェースのパスワード生成の制約条件を厳守することは、パスワードの強度を増大させ、ユーザアカウントに対するセキュリティの増大をもたらす。
更に、新規パスワードフィールド(808)の選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス上に、新たな自動生成されたパスワードを受諾するためのアフォーダンスと、新たな自動生成されたパスワードを使用することを拒否するためのアフォーダンスとを表示する(820)。例えば、図5G3において、デバイス100は、受諾アフォーダンス543A及び拒否アフォーダンス543Bを表示する。新規パスワードフィールドの選択に対応するユーザ入力を検出したことに応じて新規パスワード(及び新規パスワードの表現)を受諾するためのアフォーダンスを表示することは(例えば、デバイスが新たな自動生成されたパスワードを提供することを要求するユーザ入力とは対照的に)、ユーザが新規パスワードを受諾する可能性を増大させ、新規パスワードを生成するためのユーザ対話を低減する。したがって、ユーザアカウントのセキュリティが増大し、ユーザ対話の低減により、デバイスの損耗が低減され、電力消費が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは、新たな自動生成されたパスワードを受諾するためのアフォーダンスと、新たな自動生成されたパスワードを使用することを拒否するためのアフォーダンスとを含む、新規パスワードユーザインターフェースを表示する(822)。例えば、図5G3において、デバイス100は、受諾アフォーダンス543A及び拒否アフォーダンス543Bを含む新規パスワードユーザインターフェース503Cを表示する。
いくつかの実施形態では、デバイスは、ソフトキーボード内に表示される複数の文字挿入アフォーダンスの表示を除外して、新規パスワードユーザインターフェースを表示する(824)。例えば、図5G3において、デバイス100は、新規パスワードユーザインターフェース503Cを表示するが、図5Cのソフトキーボード503A(又は図5Eの数字ソフトキーボード503B)を表示しない。ソフトキーボードの表示を除外することにより、ユーザが新規パスワードを受諾する可能性が増大し、その結果、セキュリティの向上及びデバイスとのユーザ対話の低減がもたらされる。更に、ソフトキーボードの表示を除外することにより、画面上のスペース使用がより少なくなり、したがって、より小さい(及びより安価な)スクリーンで同じ使いやすさを提供することができる。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、ユーザ識別名フィールドの選択に対応するユーザ入力を検出する(826)。様々な実施態様では、ユーザ識別名フィールドは、ユーザ名フィールド、電子メールアドレスフィールド、電話番号フィールドなどを含む。例えば、図5Bにおいて、デバイス100は、ユーザ名フィールド532Aの位置での接触550Bを検出する。別の例として、図5Dにおいて、デバイス100は、電話番号フィールド532Bの位置での接触550Dを検出する。いくつかの実施形態では、ユーザ識別名フィールドの選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス上に、複数の文字挿入アフォーダンスを含むソフトキーボードを表示する(828)。例えば、図5Cにおいて、ユーザ名フィールド532Aの位置で接触550Bを検出したことに応じて、デバイス100はソフトキーボード503Aを表示する。別の例として、図5Eにおいて、電話番号フィールド532Bの位置で接触550Dを検出したことに応じて、デバイス100は、数字ソフトキーボード503Bを表示する。異なるタイプのフィールドを検出したことに応じて異なるユーザインターフェースを提供することは、ユーザが様々な異なるアクションを実行するための効率的なメカニズムを提供し、したがって、様々なアクションを実行するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、新規パスワードユーザインターフェースは、新たな自動生成されたパスワードの説明、及び新たな自動生成されたパスワードの取得のための指示を含む(830)。例えば、図5G3において、新規パスワードユーザインターフェース503Cは、新たな自動生成されたパスワードの説明、及び新たな自動生成されたパスワードの取得のための指示を含むテキスト544を含む。具体的には、テキスト544は、新たな自動生成されたパスワードが自動生成されたものであり、パスワード強度要件を満たしていることを示す。テキスト544は、新たな自動生成されたパスワードがデバイス100によって保存され、ユーザによって、例えば、口頭要求を介してアクセスすることができることを示す。新規パスワードの説明及び取得のための指示を含むことは、ユーザが新規パスワードを受諾する可能性を増加させ、新規パスワードを生成するためのユーザ対話を低減する。したがって、ユーザアカウントのセキュリティが増大し、ユーザ対話の低減は、デバイスの損耗を低減し、電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは、新規パスワードユーザインターフェースとは別個に、新たな自動生成されたパスワードを使用することを拒否する第2のアフォーダンスを表示する(832)。例えば、図5G3において、デバイス100は、新規パスワードユーザインターフェースとは別個に、具体的には、新規パスワードフィールド532C内の新たな自動生成されたパスワードの表現の隣に、新たな自動生成されたパスワードを拒否する二次的拒否アフォーダンス543BBを表示する。新規パスワードを使用することを拒否する第2のアフォーダンスを表示することは、新規パスワードを使用することを拒否するメカニズムをユーザがより容易に見つけることができるため、より効率的なヒューマン-マシンインターフェースをもたらす。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、新たな自動生成されたパスワードを受諾するためのアフォーダンスの選択に対応するユーザ入力を検出する(834)。例えば、図5Iにおいて、デバイス100は、受諾アフォーダンス543Aの位置での接触550Hを検出する。いくつかの実施形態では、新たな自動生成されたパスワードを受諾するためのアフォーダンスの選択に対応するユーザ入力を検出したことに応じて、デバイスは、新たな自動生成されたパスワードを受諾するためのアフォーダンス及び新たな自動生成されたパスワードを使用することを拒否するためのアフォーダンスを表示することを停止する(836)。例えば、図5Jにおいて、受諾アフォーダンス543Aの位置で接触550Hを検出したことに応じて、デバイスは、受諾アフォーダンス543A及び拒否アフォーダンス543Bを含む新規パスワードユーザインターフェース503Cを表示することを停止する。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、新たな自動生成されたパスワードを使用することを拒否するためのアフォーダンスの選択に対応するユーザ入力を検出する(838)。例えば、図5G3において、デバイス100は、拒否アフォーダンス543Bの位置での接触550Gを検出する。いくつかの実施形態では、新たな自動生成されたパスワードを受諾するためのアフォーダンスの選択に対応するユーザ入力を検出したことに応じて、デバイスは、新たな自動生成されたパスワードを受諾するためのアフォーダンス及び新たな自動生成されたパスワードを使用することを拒否するためのアフォーダンスを、複数の文字挿入アフォーダンスを含むソフトキーボードに置き換える(840)。例えば、図5Hにおいて、拒否アフォーダンス543Bの位置で接触550Gを検出したことに応じて、デバイス100は、受諾アフォーダンス543A及び拒否アフォーダンス543Bを含む新規パスワードユーザインターフェース503Cをソフトキーボード503Bに置き換える。新規パスワードユーザインターフェースをソフトキーボードに置き換えることは、ユーザが新規パスワードを生成するための効率的なメカニズムを提供し、それによって、新規パスワードを生成するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、新規パスワードのより速い生成をまたもたらし、したがって、ストレージ管理動作を実行するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
図8A~図8Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。更に、本明細書に記載された他の方法(例えば、方法900、1000、及び1100)に関して本明細書で記載されている他のプロセスの詳細も、図8A~図8Cに関して上述した方法800に類似の方法で適用可能であることに留意されたい。例えば、方法800を参照して上述したユーザインターフェース(フィールド、アフォーダンス、及びその応答を含む)、ユーザ入力、パスワード表現、及び認証資格証明は、任意選択的に、本明細書に説明される他の方法(例えば、方法900、1000及び1100)を参照して本明細書に説明される、(フィールド、アフォーダンス、及びその応答を含む)ユーザインターフェースの特性、ユーザ入力、パスワード表現、及び認証資格証明のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図9A~図9Dは、いくつかの実施形態に係る、確認コードをユーザインターフェースに書き込む方法900のフロー図を示す。方法900は、表示デバイス及び1つ以上の入力デバイスを有する電子デバイス(例えば、図1Aのポータブル多機能デバイス100、又は図3のデバイス300)で実行される。いくつかの実施形態では、表示デバイスは、タッチスクリーンディスプレイであり、入力デバイスのうちの1つ以上は、表示デバイス上にあるか又はこれに組み込まれている。いくつかの実施形態では、表示デバイスは、1つ以上の入力デバイスとは別個である。方法900の一部の動作は任意選択的に組み合わされ、かつ/又は、一部の動作の順序は任意選択的に変更される。
以下で説明されるように、方法900は、確認コードをユーザインターフェースに書き込む直感的な方法を提供する。この方法900は、確認コードをユーザインターフェースに書き込む際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが確認コードをユーザインターフェースにより速くより効率的に書き込むことを可能とすることは、電力を節約し、バッテリ充電間の時間を延ばす。
デバイスは、1つ以上の入力デバイスを介して、確認コードによって保護されたリソースにアクセスする要求を受信する(902)。様々な実施態様では、認証コードは、テキスト又は電子メールを介するなどして、認可された通信チャネルを介して送信される、1回使用型コード又はオンデマンドコードである。様々な実施態様では、要求は、ログインアフォーダンスの選択又は要求コードアフォーダンスの選択を含む。例えば、図5Mにおいて、デバイス100は、サインイン継続アフォーダンス531Eの位置での接触550Lを検出する。
リソースにアクセスする要求を受信した後、デバイスは、電子デバイスにおいて、電子メッセージを受信する(904)。様々な実施態様では、電子メッセージは、SMSテキストメッセージ、電子メール、又はチャットメッセージである。例えば、図5Oにおいて、デバイス100は、テキストメッセージが受信されたことを示すメッセージ通知561Aを表示する。しかしながら、以下に記載される様々な実装形態では、デバイスは、メッセージ通知を表示することなく電子メッセージを受信する。
いくつかの実施形態では、電子メッセージを受信したことに応じて、デバイスは、表示デバイス上にメッセージ通知を表示する(906)。例えば、図5Oにおいて、電子メッセージを受信したことに応じて、デバイス100はメッセージ通知561Aを表示する。いくつかの実施形態では、メッセージ通知は、選択されるとコンテンツをクリップボードにコピーする、コピーアフォーダンスを含む(908)。例えば、図5U2において、デバイス100は、コピーアフォーダンス561Cを含むメッセージ通知561Aを表示する。コピーアフォーダンスは、ユーザが確認コードの各文字を手動で書き込むことなく確認コードを書き込むための効率的なメカニズムを提供し、デバイスとのユーザ対話を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、確認コードのより速い書き込みをまたもたらし、したがって、確認コードを書き込むための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは、1つ以上の入力を介して、メッセージ通知の選択に対応するユーザ入力を検出する(910)。例えば、図5Oにおいて、デバイス100は、メッセージ通知561Aの位置での接触550Mを検出する。いくつかの実施形態では、メッセージ通知の選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス上に、(ブロック916に関して以下で更に説明されるように)所定のフォーマットに一致するコンテンツを強調した電子メッセージを表示する(912)。例えば、図5Pにおいて、デバイス100は、ソースから受信した、所定のフォーマット(例えば、確認コード「03201981」)と一致するコンテンツの強調(例えば、下線)を伴った電子メッセージのコンテンツを含む、メッセージウィンドウ564を表示する。メッセージ通知の選択を検出したことに応じて電子メッセージを表示することは、(ユーザがアプリケーション起動ユーザインターフェースにアクセスして、電子メッセージを表示するアプリケーションを起動する必要がないため)より効率的なヒューマン-マシンインターフェースをもたらす。更に、所定のフォーマットに一致するコンテンツを強調して電子メッセージを表示することにより、ユーザが確認コードを迅速に見つけるように誘導し、より効率的なヒューマン-マシンインターフェースをもたらす。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。
いくつかの実施形態では、電子メッセージを受信したことに応じて、デバイス(914)は、電子メッセージがそれぞれの基準を満たすコンテンツを含まないとの判定に従って(ブロック916に関して更に後述するように)、表示デバイス上にメッセージ通知を表示し、そして、電子メッセージがそれぞれの基準を満たすコンテンツを含むとの判定に従って、メッセージ通知の表示を見合わせる(又は抑制する)。例えば、図5ACにおいて、受信したテキストメッセージが確認コードを含まないとの判定に従って、デバイス100はメッセージ通知561Fを表示する。しかしながら、図5ABでは、受信したテキストメッセージが確認コードを含むとの判定に従って、デバイス100はメッセージ通知の表示を見合わせる。メッセージ通知の表示を見合わせることで、確認コードを書き込むプロセスが単純化され、ユーザが電子メッセージが受信されたアプリケーションを起動する可能性が減少し、ユーザが挿入アフォーダンスを使用して確認コードを書き込む可能性が増加する。これは、デバイスとのユーザ対話を減少させ、損耗を低減し、バッテリ寿命を延ばす。
電子メッセージを受信した後、確認コードを入力するためのユーザインターフェースを表示デバイス上に表示している間に、電子メッセージが所定のフォーマットと一致するコンテンツを含む、というフォーマット要件を含むそれぞれの基準を満たすコンテンツを、電子メッセージが含むとの判定に従って、デバイスは、表示デバイス上に、選択されると所定のフォーマットと一致するコンテンツをユーザインターフェース内に確認コードとして自動的に挿入する、挿入アフォーダンスを表示する(916)。例えば、図5Zにおいて、図5Yにおけるメッセージ通知561Aの表示を促したテキストメッセージを受信した後、確認コードフィールド532Gを含むウェブブラウザユーザインターフェース502を表示している間に、テキストメッセージが確認コードを含むとの判定に従って、デバイス100は、選択されると確認コードフィールド532G内に確認コードを挿入する、挿入アフォーダンス545を表示する。挿入アフォーダンスは、ユーザが確認コードを書き込むための効率的なメカニズムを提供し、したがって、確認コードを書き込むためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、ストレージ管理動作の実行のより速い開始をまたもたらし、したがって、ストレージ管理動作を実行するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、それぞれの基準は、確認コードを入力するためのユーザインターフェースが、メッセージが受信されたときから所定の期間内に表示される、というタイミング要件を含む(918)。例えば、図5Zにおいて、デバイス100は、図5Yのメッセージ通知561Aの表示を促したテキストメッセージの受信の3分以内に、確認コードフィールド532Gが選択されているとの判定に従って、挿入アフォーダンス545を表示する。挿入アフォーダンスを限定された時間表示することは、ユーザが挿入アフォーダンスを選択する可能性を増大させ、ユーザが挿入アフォーダンスを選択しそうにないときに挿入アフォーダンスが表示される可能性を低下させ、スクリーン上のスペースを節約する。スクリーン上でより少ないスペースを使用することにより、より小さい(及びより安価な)スクリーンで同じ使いやすさを提供することができる。
いくつかの実施形態では、それぞれの基準は、確認コードを入力するためのユーザインターフェースが所定の特性を有するテキスト入力フィールドを含む、という特性要件を含む(920)。例えば、図5Zにおいて、デバイス100は、ウェブブラウザユーザインターフェース502が確認コードフィールド532Gを含むとの判定に従って、挿入アフォーダンス545を表示する。いくつかの実施形態では、それぞれの基準は、所定の特性を有するテキスト入力フィールドが選択される、という選択要件を含む(922)。例えば、図5Zにおいて、デバイス100は、(例えば、図5Yの接触550Vを検出することによって)確認コードフィールド532Gが選択されているという判定に従って、挿入アフォーダンス545を表示する。確認コードフィールドが選択されたときに挿入アフォーダンスを表示することは、ユーザが挿入アフォーダンスを選択する可能性を増大させ、ユーザが挿入アフォーダンスを選択しそうにないときに挿入アフォーダンスが表示される可能性を低下させ、スクリーン上のスペースを節約する。スクリーン上でより少ないスペースを使用することにより、より小さい(及びより安価な)スクリーンで同じ使いやすさを提供することができる。
いくつかの実施形態では、所定のフォーマットは、電子メッセージのテキストに基づく(924)。例えば、図5Zにおいて、デバイス100は、図5Yのメッセージ通知561Aの表示を促したテキストメッセージ内のテキスト「コード」の検出に従って、挿入アフォーダンス545を表示する。いくつかの実施形態では、所定のフォーマットは、所定の文字基準を満たす文字列を含むコンテンツに基づく(926)。例えば、図5Zにおいて、デバイス100は、一連の8つの数字を含む文字列(「03201981」)の検出に従って、挿入アフォーダンス545を表示する。
いくつかの実施形態では、挿入アフォーダンスは、複数の文字挿入アフォーダンスを含むソフトキーボードと共に表示される(928)。例えば、図5Zにおいて、デバイス100は、複数の文字挿入アフォーダンスの上の数字ソフトキーボード503Bの一部として、挿入アフォーダンス545を表示する。いくつかの実施形態では、挿入アフォーダンスは、テキスト提案領域内に表示される(930)。例えば、図5Zにおいて、デバイス100は、数字ソフトキーボード503Bのテキスト提案領域内に挿入アフォーダンス545を表示する。様々な実施態様では、テキスト提案領域は、ソフトキーボードの上方にあるか、タッチバー上に置かれるか、又はポップアップメニュー内にある。挿入アフォーダンスをソフトキーボードと共に表示することは、異なるオプションにアクセスするための追加的なユーザ対話無しで、異なるオプション(例えば、挿入アフォーダンスを使用するか、又はソフトキーボードを使用して確認コードをタイプする)をユーザに提供することによって、より効率的なヒューマン-マシンインターフェースを提供する。デバイスとのユーザ対話の量を低減することにより、デバイスの損耗が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、挿入アフォーダンスは、電子メッセージが受信されたアプリケーションの指示を含む(932)。例えば、図5Zにおいて、挿入アフォーダンス545は、確認コードがテキストメッセージアプリケーションから受信されたという指示を含む。いくつかの実施形態では、挿入アフォーダンスは、電子メッセージの送信者の指示を含む(934)。例えば、図5Zにおいて、挿入アフォーダンス545は、確認コードが電話番号「987-66」から受信されたという指示を含む。電子メッセージのアプリケーション及び/又は送信者の指示を含むことにより、ユーザが挿入アフォーダンスを選択して確認コードを効率的に書き込む可能性を増大させ、他の方法で確認コードを書き込むためのデバイスとのユーザ対話を低減する。デバイスとのユーザ対話の量を低減することにより、デバイスの損耗が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、電子メッセージを受信した後、確認コードを入力するためのユーザインターフェースを表示デバイス上に表示している間に、それぞれの基準を満たすコンテンツを電子メッセージが含まないとの判定に従って、デバイスは、挿入アフォーダンスの表示(936)を見合わせる。例えば、図5ADにおいて、図5ACにおけるメッセージ通知561Fの表示を促したテキストメッセージを受信した後、確認コードフィールド532Gを含むウェブブラウザユーザインターフェース502を表示している間に、テキストメッセージが確認コードを含まないとの判定に従って、デバイス100は、挿入アフォーダンス545を表示しない。いくつかの実施形態では、電子メッセージがそれぞれの基準を満たすコンテンツを含まないとの判定に従って、デバイスは、表示デバイス上に、選択されるとユーザインターフェース内にそれぞれの単語を自動的に入力する、1つ以上の代替挿入アフォーダンスを表示する(938)。例えば、図5ADにおいて、デバイス100は、テキスト提案領域542内に代替挿入アフォーダンスを表示する。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、挿入アフォーダンスの選択に対応するユーザ入力を検出する(940)。例えば、図5Zにおいて、デバイス100は、挿入アフォーダンス545の位置での接触550Wを検出する。いくつかの実施形態では、挿入アフォーダンスの選択に対応するユーザ入力を検出したことに応じて、デバイスは、所定のフォーマットと一致するコンテンツをユーザインターフェース内に確認コードとして自動的に挿入する(942)。例えば、図5AAにおいて、デバイス100は、確認コードフィールド532G内に確認コード「03201981」を挿入する。ユーザインターフェース内に確認コードを自動的に挿入することは、確認コードを書き込むための効率的なヒューマン-マシンインターフェースを提供する。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。
いくつかの実施形態では、電子メッセージがそれぞれの基準を満たすコンテンツを含むとの判定に応じて、デバイスは、所定のフォーマットと一致するコンテンツをユーザインターフェース内に確認コードとして自動的に挿入する(944)。例えば、図5ABにおいて、テキストメッセージを受信したことに応じて、図Yのメッセージ通知561Aのプロンプト表示を受信したことに応じて、デバイス100は、確認コードフィールド532G内に確認コード「03201981」を自動的に書き込む。ユーザインターフェース内に確認コードを自動的に書き込むことは、確認コードを書き込むための効率的なヒューマン-マシンインターフェースを提供する。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。
図9A~図9Dにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。更に、本明細書に記載された他の方法(例えば、方法800、1000、及び1100)に関して本明細書に記載されている他のプロセスの詳細も、図9A~図9Dに関して上述した方法900に類似の方法で適用可能であることに留意されたい。例えば、方法900を参照して上述したユーザインターフェース(フィールド、アフォーダンス、及びその応答を含む)、ユーザ入力、通知、及び基準は、任意選択的に、本明細書に説明される他の方法(例えば、方法800、1000及び1100)を参照して本明細書に説明される、(フィールド、アフォーダンス、及びその応答を含む)ユーザインターフェースの特性、ユーザ入力、通知、及び基準のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図10A~図10Cは、いくつかの実施形態に係る、認証資格証明を共有する方法1000のフロー図を示す。方法1000は、表示デバイス及び1つ以上の入力デバイスを有する第1の電子デバイス(例えば、図1Aのポータブル多機能デバイス100、又は図3のデバイス300)で実行される。いくつかの実施形態では、表示デバイスは、タッチスクリーンディスプレイであり、入力デバイスのうちの1つ以上は、表示デバイス上にあるか又はこれに組み込まれている。いくつかの実施形態では、表示デバイスは、1つ以上の入力デバイスとは別個である。方法1000の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
以下において説明されるように、方法1000は、認証資格証明を共有するための直感的な方法を提供する。この方法1000は、認証資格証明を共有する際のユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが認証資格証明をより速くより効率的に共有することを可能とすることは、電力を節約し、バッテリ充電間の時間を延ばす。
第1の電子デバイスは、第1の電子デバイスにおいて、第2の電子デバイスがサービスに対する認証資格証明を必要としているという指示を受信する(1002)。例えば、図6Dにおいて、第1の電子デバイス610は、第2の電子デバイス620がサービスに対する認証資格証明を必要としているという指示を受信したことに応じて、共有確認ウィンドウ640を表示する。
第2の電子デバイスがサービスに対する認証資格証明を必要としているという指示を受信したことに応じて、第1の電子デバイスが第2の電子デバイスに対して所定の近接度内にあるという要件を含むそれぞれの基準を、第1の電子デバイスが満たすとの判定に従って、第1の電子デバイスは、表示デバイス上で、それぞれの基準が満たされるようにするために、進行するためには第1の電子デバイス上に第2の電子デバイスからの確認情報の入力を必要とする確認プロンプトを表示する(1004)。例えば、図6Eにおいて、第1の電子デバイス610は、進行するためには第2の電子デバイス620からの情報(例えば、第2の電子デバイス620によって表示される確認情報)の入力を必要とする確認プロンプトを含む第1のユーザインターフェース612を、第1の電子デバイス610上に表示する。
いくつかの実施形態では、第1の電子デバイスがそれぞれの基準を満たさないとの判定に従って、第1の電子デバイスは、確認プロンプトの表示を見合わせる(1006)。例えば、図6Eにおいて、それぞれの基準を満たさない第3の電子デバイスは、確認プロンプトの表示を見合わせる。第2の電子デバイスに近接していないユーザデバイス上の確認プロンプトの表示を見合わせることは、より効率的なヒューマン-マシンインターフェースを提供し、確認プロンプトを閉じるためのユーザ対話の量を低減して、不要な情報のために使用する画面上のスペースをより少なくする。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。スクリーン上でより少ないスペースを使用することにより、より小さい(及びより安価な)スクリーンで同じ使いやすさを提供することができる。
いくつかの実施形態では、それぞれの基準は、第1の電子デバイスが、第2の電子デバイスに関連付けられた第3の電子デバイスに近接しているという要件を含む(1008)。いくつかの実施形態では、第2の電子デバイスはメディア再生デバイスであり、第3の電子デバイスは、第2の電子デバイスのリモートコントロールである(1010)。例えば、図6Eにおいて、第1の電子デバイス610は、第3の電子デバイス630へのその近接度に従って確認プロンプトを表示する。
いくつかの実施形態では、第1の電子デバイスは、表示デバイス上に、選択されると確認プロンプトを表示させ、1つ以上の入力デバイスを介して、共有確認アフォーダンスの選択に対応するユーザ入力を検出する、共有確認アフォーダンスを含む共有確認通知を表示する(1012)。例えば、図6Eにおいて、第1の電子デバイス610は、共有確認アフォーダンス641を含む共有確認ウィンドウ640を表示し、共有確認アフォーダンス641の位置での接触650Cを検出する。共有確認ウィンドウは、認証資格証明が偶発的に共有される可能性を減少させる。したがって、ユーザアカウントのセキュリティが増大する。
いくつかの実施形態では、第2の電子デバイスからの確認情報は、第2の電子デバイスによって表示される(1014)。例えば、図6Eにおいて、第2の電子デバイス620からの確認情報は、第2の電子デバイス620によって表示デバイス621上に表示される。
確認プロンプトを表示している間に、第1の電子デバイスは、1つ以上の入力デバイスを介して、第1の電子デバイス上に第2の電子デバイスからの確認情報を受信する(1016)。例えば、図6Eにおいて、第1の電子デバイスは、第2の電子デバイス620によって表示された確認情報に対応する接触650D(及び追加の接点)を検出する。
いくつかの実施形態では、確認プロンプトは、第1の電子デバイスと第2の電子デバイスとの間のセキュア接続を確立するためのものであり(1018)、第1の電子デバイス上に第2の電子デバイスからの確認情報を受信することは、第1の電子デバイスと第2の電子デバイスとの間のセキュア接続を確立するための条件を満たす入力を受信することを含む。
確認情報を受信したことに応じて、第1の電子デバイスは、第1の電子デバイスからのサービスに対する認証資格証明を第2の電子デバイスに共有するためのプロセスを開始する(1020)。例えば、図6Fにおいて、確認情報を受信したことに応じて、第1の電子デバイス610は、それぞれ複数のサービスに関連付けられたサービスアフォーダンス661A~661Gのリストと、それらのサービスのユーザアカウントと、それらのユーザアカウントに対する認証資格証明とを含む、サービス選択ユーザインターフェース508を表示し、図6Gにおいて、特定のサービスの選択を検出したことに応じて、第1の電子デバイス610から第2の電子デバイス620にサービスに対する認証資格証明を共有する。認証資格証明を共有することにより、ユーザが他のユーザ対話を使用せずに第2の電子デバイス上に認証資格証明を入力するための効率的なメカニズムを提供する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、第2の電子デバイス上の認証資格証明の入力のより迅速な開始をまたもたらし、したがって、認証資格証明を入力するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、第1の電子デバイスは、1つ以上の入力デバイスを介して、サービスに対する認証資格証明を共有するための一連の1つ以上の入力を検出する(1022)。例えば、図6Fにおいて、デバイスは、第1のサービスアフォーダンス661Aの位置での接触650Eを検出し、それに応じて、第1のサービスに対する認証資格証明を第1の電子デバイス610から第2の電子デバイス620に共有する。
いくつかの実施形態では、第1の電子デバイスは、表示デバイス上に、複数の認証資格証明にそれぞれ関連付けられた複数のサービスにそれぞれ対応する複数のサービスアフォーダンスを含むサービスリストを表示する(1024)。例えば、図6Fにおいて、第1の電子デバイス610は、それぞれ複数のサービスに関連付けられたサービスアフォーダンス661A~661Gのリストと、それらのサービスのユーザアカウントと、それらのユーザアカウントに対する認証資格証明とを含む、サービス選択ユーザインターフェース508を表示する。
いくつかの実施形態では、第1の電子デバイスは、それぞれのサービスの関連度に少なくとも部分的に基づいて、サービスリストをソートする(1026)。様々な実施態様では、それぞれのサービスの関連は、第2のデバイスによって供給されて第1のデバイスによって適用される認証資格証明を要求するサービスに対する、ドメイン名、アプリケーション名、又は識別名に基づく。例えば、図6Fにおいて、第2の電子デバイス620がサービスに対する認証資格証明を必要としていることの指示は、サービスを指示し、そのサービスはサービスアフォーダンス661A~661Gのリストの最上部にリスト表示される。サービスリストをソートすることは、ユーザが、意図されたサービスに関連付けられたサービスアフォーダンスを選択するための効率的なメカニズムを提供し、デバイスとのユーザ対話を低減して、ユーザが偶発的に(別のユーザアカウントに対して)認証資格証明を共有する可能性を低減することによって、セキュリティを高める。
いくつかの実施形態では、第1の電子デバイスは、1つ以上の入力デバイスを介して、サービスに対する認証資格証明に関連付けられたサービスに対応する複数のサービスアフォーダンスのうちの1つの選択に対応するユーザ入力を検出する(1028)。例えば、図6Fにおいて、デバイスは、第1のサービスアフォーダンス661Aの位置での接触650Eを検出し、それに応じて、第1のサービスに対する認証資格証明を第1の電子デバイス610から第2の電子デバイス620に共有する。
いくつかの実施形態では、一連の1つ以上の入力を検出したことに応じて、第1の電子デバイスは、第1の電子デバイスから第2の電子デバイスにサービスに対する認証資格証明を共有する(1030)。例えば、図6Gにおいて、図6Fの第1のサービスアフォーダンス661Aの位置での接触650Eを検出したことに応じて、第1の電子デバイス610は、第1の電子デバイス610から第2の電子デバイス620に第1のサービスに対する認証資格証明を共有する。
いくつかの実施形態では、第1の電子デバイスは、第1の電子デバイスから第2の電子デバイスに、セキュア接続を介して無線でサービスに対する認証資格証明を送信する(1032)。例えば、認証資格証明は、ピアツーピアWiFi接続又はBluetooth接続を介して送信され得る。いくつかの実施形態では、第1の電子デバイスは、ユーザ識別名及びパスワードを含む認証資格証明を第1の電子デバイスから第2の電子デバイスに共有する(1034)。
いくつかの実施形態では、認証資格証明を送信する前に、第1の電子デバイスはユーザを認証する。したがって、いくつかの実施形態では、第1の電子デバイスは、1つ以上の入力デバイスを介して、認証情報を取得し(1036)、認証情報に基づいてユーザを認証する(1038)。認証資格証明を共有する前にユーザを認証することは、ユーザの認識なしに認証資格証明が共有される可能性を低減することによって、ユーザアカウントのセキュリティを高める。
いくつかの実施形態では、サービスに対する認証資格証明を共有するプロセスの後に、第1の電子デバイスは、表示デバイス上に、サービスに対する認証資格証明を共有するためのプロセスが完了したことを示す通知を表示する(1040)。例えば、図6Gにおいて、第1の電子デバイス610は、認証資格証明が第2の電子デバイス620と共有されたことを示す通知を含む、共有完了ウィンドウ643を表示する。
図10A~図10Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。更に、本明細書に記載された他の方法(例えば、方法800、900、及び1100)に関して本明細書に記載されている他のプロセスの詳細も、図10A~図10Cに関して上述した方法1000に類似した方法で適用可能であることに留意されたい。例えば、方法1000を参照して上述したユーザインターフェース(フィールド、アフォーダンス、及びその応答を含む)、ユーザ入力、電子デバイス、及び認証資格証明は、任意選択的に、本明細書に説明される他の方法(例えば、方法800、900及び1100)を参照して本明細書に説明される、(フィールド、アフォーダンス、及びその応答を含む)ユーザインターフェースの特性、ユーザ入力、電子デバイス、及び認証資格証明のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
図11A~図11Cは、いくつかの実施形態に係る、パスワード情報を表示する方法1100のフロー図を示す。方法1100は、表示デバイス及び1つ以上の入力デバイスを有する電子デバイス(例えば、図1Aのポータブル多機能デバイス100、又は図3のデバイス300)で実行される。いくつかの実施形態では、表示デバイスは、タッチスクリーンディスプレイであり、入力デバイスのうちの1つ以上は、表示デバイス上にあるか又はこれに組み込まれている。いくつかの実施形態では、表示デバイスは、1つ以上の入力デバイスとは別個である。方法1100の一部の動作が任意選択的に組み合わされ、かつ/又は、一部の動作の順序が任意選択的に変更される。
以下で説明されるように、方法1100は、パスワード情報を表示するための直感的な方法を提供する。方法1100は、パスワード情報を表示している時のユーザにかかる認識負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザは、より速く、より効率的にパスワード情報を表示することを可能とすることは、電力を節約し、バッテリ充電間の時間を延ばす。
デバイスは、1つ以上の入力デバイスを介して、パスワード情報を表示するための口頭要求を検出する(1102)。様々な実施態様では、デバイスは、マイクロフォンを介して口頭要求を検出する。例えば、図7Iにおいて、デバイス100は、パスワード情報を表示するための口頭要求751Aを検出する。別の例として、図7Oにおいて、デバイス100は、パスワード情報を表示するための口頭要求751Bを検出する。別の例として、図7Rにおいて、デバイス100は、パスワード情報を表示するための口頭要求751Cを検出する。別の例として、図7Tにおいて、デバイス100は、パスワード情報を表示するための口頭要求751Dを検出する。
パスワード情報を表示するための口頭要求を受信したことに応じて、要求がデバイスによってアクセス可能である第1のユーザアカウントのパスワードに対するものであり、かつユーザは認証されている、との判定に従って、デバイスは、第1のユーザアカウントのパスワードを表示する(1104)。例えば、図7Lにおいて、口頭要求751Aが、図7Dの第4のユーザアカウントアフォーダンス727Dに関連付けられたユーザアカウントのパスワードに対するものであり、ユーザを認証した後である(図7J~図7Kに示されるように)との判定に従って、デバイス100は、そのユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Bを表示する。別の例として、図7Pにおいて、口頭要求751Bが、図7Dの第7のユーザアカウントアフォーダンス727Gに関連付けられたユーザアカウントのパスワードに対するものであり、ユーザを認証した後であるとの判定に従って、デバイス100は、そのユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Dを表示する。口頭要求に応じてパスワード情報を表示することは、パスワード情報を表示するための効率的なメカニズムを提供し、したがって、パスワード情報を表示するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、パスワード情報の表示のより早い開始をまたもたらし、したがって、パスワード情報を表示するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態において、デバイスは、デバイスによってアクセス可能である第1のユーザアカウントに関する情報を表示する(1106)。例えば、図7Lにおいて、デバイス100は、サービスのユーザアカウントに関連付けられたユーザ名を示すテキストを含むユーザ名アフォーダンス730Aと、ユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Bと、ユーザアカウントのサービスに関連付けられたウェブサイト731Aを示すテキストとを含む、パスワード詳細ユーザインターフェース709Aを表示する。別の例として、図7Pにおいて、デバイス100は、サービスのユーザアカウントに関連付けられたユーザ名を示すテキストを含むユーザ名アフォーダンス730Cと、ユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Dと、ユーザアカウントのサービスに関連付けられたウェブサイト731Bを示すテキストとを含む、パスワード詳細ユーザインターフェース709Bを表示する。第1のユーザアカウントに関する追加情報を提供することは、第1のパスワードの表示に関するユーザの信頼度を増大させ、ユーザが第1のパスワードを表示するために更なるユーザ対話を実行する可能性を減少させる。ユーザ対話を減少させることにより、デバイスの損耗が低減され、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスによってアクセス可能である第1のユーザアカウントに関する情報は、第1のユーザアカウントのパスワードのパスワードセキュリティ情報を含む(1108)。いくつかの実施形態では、デバイスによってアクセス可能である第1のユーザアカウントに関する情報は、第1のユーザアカウントのパスワードがデバイスによってアクセス可能な別のユーザアカウントのパスワードと同じであることを示すアラートを含む(1110)。例えば、図7Pにおいて、デバイス100は、第2のユーザアカウントに関連付けられたパスワードが1つ以上の他のアカウントに関連付けられたパスワードと同じであることを示すアラート735を表示する。いくつかの実施形態では、第1のユーザアカウントのパスワードに関するパスワードセキュリティ情報は、例えば、容易に推測されるか、短いか、低エントロピーであるか、共通の単語を含むかなどの、パスワードの強度に関する情報を含む。いくつかの実施形態では、アラートは、選択されると第1のユーザアカウントのパスワードを変更するためのリソースを表示するアフォーダンスを含む(1112)。例えば、図7Pにおいて、アラート735は、選択されるとユーザアカウントのパスワードを変更するためのリソース、例えば、ウェブページ又はアプリケーションを表示する、パスワード変更アフォーダンス736を含む。弱いパスワード又は重複パスワードを変更するためのアフォーダンスを提供することは、ユーザがパスワードを変更するための効率的なメカニズムを提供し、したがって、パスワードを変更するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、パスワードの変更のより速い開始をまたもたらし、したがって、パスワードを変更するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。更に、ユーザがパスワードを変更するための効率的なメカニズムを提供することは、ユーザがそのようなアクションを実行する可能性を増大させ、ユーザアカウントのセキュリティを増大させる。
パスワード情報を表示するための口頭要求を受信したことに応じて、要求がデバイスによってアクセス可能である第2のユーザアカウントのパスワードに対するものであり、かつユーザは認証されている、との判定に従って、デバイスは、第2のユーザアカウントのパスワードを表示する(1114)。例えば、図7Lにおいて、口頭要求751Aが、図7Dの第4のユーザアカウントアフォーダンス727Dに関連付けられたユーザアカウントのパスワードに対するものであり、ユーザを認証した後である(図7J~図7Kに示されるように)との判定に従って、デバイス100は、そのユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Bを表示する。別の例として、図7Pにおいて、口頭要求751Bが、図7Gの第7のユーザアカウントアフォーダンス727Gに関連付けられたユーザアカウントのパスワードに対するものであり、ユーザを認証した後であるとの判定に従って、デバイス100は、そのユーザアカウントに関連付けられたパスワードを示すテキストを含むパスワードアフォーダンス730Dを表示する。
いくつかの実施形態では、パスワード情報を表示するための口頭要求を受信したことに応じて、かつ、要求が一般的なパスワード情報に対するものであるとの判定に従って、デバイスは、選択されるとデバイスによってアクセス可能であるそれぞれのユーザアカウントのそれぞれのパスワードを表示する、パスワード表示アフォーダンスのリストを表示する(1116)。例えば、図7Sにおいて、図7Rの口頭要求751Cを受信したことに応じて、デバイス100は、それぞれの複数のサービス及びそれらのユーザアカウントのための認証資格証明を伴う複数のユーザアカウントとそれぞれ関連付けられたユーザアカウントアフォーダンス727A~727Gのリストを含む、パスワードリストユーザインターフェース708を表示する。口頭要求に応じてパスワード情報を表示することは、パスワード情報を表示するための効率的なメカニズムを提供し、したがって、パスワード情報を表示するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、パスワード情報の表示のより早い開始をまたもたらし、したがって、パスワード情報を表示するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、パスワード情報を表示するための口頭要求を受信したことに応じて、かつ、要求がデバイスによってアクセス可能ではないユーザアカウントのパスワードに対するものであるとの判定に従って、デバイスは、選択されるとデバイスによってアクセス可能であるそれぞれのユーザアカウントのそれぞれのパスワードを表示する、パスワード表示アフォーダンスのリストを表示する(1118)。例えば、図7Uにおいて、図7Tの口頭要求751Dを受信したことに応じて、デバイス100は、それぞれの複数のサービス及びそれらのユーザアカウントのための認証資格証明を伴う複数のユーザアカウントとそれぞれ関連付けられたユーザアカウントアフォーダンス727A~727Gのリストを含む、パスワードリストユーザインターフェース708を表示する。いくつかの実施形態では、デバイスは、口頭要求に基づいて事前自動入力された検索フィールドを表示する(1120)。例えば、図7Uにおいて、検索フィールド729には、図7Tの口頭要求751Dに基づいて、単語「Hotels」が事前自動入力されている。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、第1のユーザアカウントのパスワードの選択に対応するユーザ入力を検出する(1122)。例えば、図7Lにおいて、デバイス100は、パスワードアフォーダンス730Bの位置での接触7520Fを検出する。いくつかの実施形態では、第1のユーザアカウントのパスワードの選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス上に、選択されると第1のユーザアカウントのパスワードを共有するためのプロセスを開始する、共有アフォーダンスを表示する(1124)。例えば、図7Mにおいて、デバイス100は、選択されると第1のユーザアカウントに関連付けられたパスワード(及び/又は他の認証資格証明)を共有するためのプロセスを開始する、共有アフォーダンス732Bを表示する。したがって、ユーザインターフェースは、ユーザが認証資格証明を共有するための効率的なメカニズムを提供し、認証資格証明を共有するためのユーザ対話の量を低減する。ユーザ対話の低減は、デバイスの損耗を低減する。ユーザ対話の低減は、認証資格証明の共有のより速い開始をまたもたらし、したがって、認証資格証明を共有するための電力消費を低減し、デバイスのバッテリ寿命を延ばす。
いくつかの実施形態では、デバイスは、1つ以上の入力デバイスを介して、共有アフォーダンスの選択に対応するユーザ入力を検出する(1126)。例えば、図7Mにおいて、デバイス100は、共有アフォーダンス732Bの位置での接触750Gを検出する。いくつかの実施形態では、共有アフォーダンスの選択に対応するユーザ入力を検出したことに応じて、デバイスは、表示デバイス上に、選択されると第1のユーザアカウントのパスワードをそれぞれのデバイスと共有する1つ以上の受信者アフォーダンスを含む、受信者選択カードを表示する(1128)。例えば、図7Nにおいて、デバイス100は、選択されると第1のユーザアカウントに関連付けられたパスワード(及び/又は他の認証資格証明)をそれぞれの受信者と共有するためのプロセスを開始する複数の受信者アフォーダンス734A~734Cを含む、受信者選択カード733を表示する。
いくつかの実施形態では、パスワード情報を表示するための口頭要求を受信したことに応じて、かつ、ユーザが認証されていないとの判定に従って、デバイスは、ユーザを認証し、要求されたパスワード情報を表示することに進む。したがって、いくつかの実施形態では、パスワード情報を表示するための口頭要求を受信したことに応じて、かつ、ユーザが認証されていないとの判定に従って、デバイスは、1つ以上の入力デバイスを介して、認証情報を取得し、認証情報に基づいてユーザを認証する(1130)。例えば、図7J~図7Kにおいて、口頭要求751Aを検出したことに応じて、デバイス100は、1つ以上の入力デバイスを介して、(図7Jの認証済みウィンドウ741によって示されるような)認証情報を取得し、認証情報に基づいて(図7Kの認証済みウィンドウ742によって示されるように)ユーザを認証する。いくつかの実施形態では、認証情報は、顔の特徴又は指紋などのユーザのバイオメトリックを含む(1132)。ユーザを認証することは、パスワード情報がユーザの認識なしに表示されないことを保証することによって、ユーザアカウントのセキュリティを増大させる。
いくつかの実施形態では、パスワード情報を表示するための口頭要求を受信する前に、そしてデバイスがロックされている間に、デバイスは、1つ以上の入力デバイスを介して、デバイスのロック解除を要求するユーザ入力を検出し(1134)、デバイスのロック解除を要求するユーザ入力に応じて、デバイスは、1つ以上の入力デバイスを介して、ロック解除情報を取得し、デバイスは、ロック解除情報に基づいてデバイスをロック解除する。例えば、図7Fにおいて、デバイス100は、ディスプレイの下部付近の位置から上方に移動することが検出された接触750Eの形態でデバイスのロック解除を要求するユーザ入力を検出する。図7Gにおいて、デバイス100は、(認証中ウィンドウ741によって示されるように)ロック解除情報を取得する。図7Hにおいて、デバイス100は、(認証済みウィンドウ742によって示されるように)ロック解除情報に基づいてデバイス100をロック解除する。
いくつかの実施形態では、ロック解除情報は、パスコードを含み、認証情報は、ユーザのバイオメトリックを含むか、又はバイオメトリック認証が失敗した場合、パスコードを含む(1136)。したがって、様々な実施態様では、認証情報は、ロック解除情報よりもセキュアである。しかしながら、様々な実施態様では、認証情報は(例えば、バイオメトリック認証が失敗した場合、バイオメトリック認証が2回失敗した場合、又は構成されていない場合)パスコードを含む。
いくつかの実施形態では、認証情報は、デバイスがロックされている間に取得され、認証情報に基づいてユーザを認証することは、認証情報に基づいてデバイスをロック解除することを更に含む(1138)。例えば、図7Wにおいて、デバイス100は、(ロックスクリーンユーザインターフェース705によって示されるように)デバイスがロックされている間に(認証中ウィンドウ741によって示されるように)認証情報を取得する。図7Yにおいて、デバイス100は、認証情報に基づいて(パスワード詳細ユーザインターフェース709Aによって示されるように)ロック解除される。同じ情報に基づいてデバイスをロック解除してユーザを認証することにより、(ユーザがデバイスを別個にロック解除し、認証する必要がないため)より効率的なヒューマン-マシンインターフェースがもたらされる。バッテリ動作電子デバイスに関しては、より効率的なヒューマン-マシンユーザインターフェースは、電力を節約し、バッテリ充電間の時間を延ばす。更に、より効率的なヒューマン-マシンユーザインターフェースは、デバイスとのユーザ対話の量を低減し、デバイスの損耗を低減する。
図11A~図11Cにおける動作について説明された特定の順序は単なる例であり、説明された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書に記載される動作を再順序付けるための様々な方法を認識するであろう。更に、本明細書に記載された他の方法(例えば、方法800、900、及び1000)に関して本明細書に記載されている他のプロセスの詳細は、図11A~図11Cに関して上述した方法1100に類似した方法でも適用可能であることに留意されたい。例えば、方法1100を参照して上述したユーザインターフェース(フィールド、アフォーダンス、及びその応答を含む)、ユーザ入力(特に、口頭要求及びコマンド)、及び認証資格証明は、任意選択的に、本明細書に説明される他の方法(例えば、方法800、900及び1000)を参照して本明細書に説明される、(フィールド、アフォーダンス、及びその応答を含む)ユーザインターフェースの特性、ユーザ入力(特に、口頭要求及びコマンド)、及び認証資格証明のうちの1つ以上を有する。簡潔にするために、それらの詳細はここでは繰り返さない。
上述の情報処理方法における動作は、任意選択で、(例えば、図1A及び図3に関して上述したような)汎用プロセッサ又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを実行することによって実施される。
図8A~図8C、図9A~図9D、図10A~図10C、及び図11A~図11Cを参照して上述した動作は、任意選択的に図1A~図1Bに記される構成要素によって実施される。例えば、表示動作802、検出動作804、表示動作810、表示動作820、受信動作902、受信動作904、表示動作916、受信動作1002、表示動作1004、受信動作1016、開始動作1020、検出動作1102、表示動作1104又は表示動作1114は、任意選択的に、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実行される。イベントソータ170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136-1に配信する。アプリケーション136-1のそれぞれのイベント認識部180は、そのイベント情報をそれぞれのイベント定義186と比較し、タッチ感知面上の第1の位置における第1の接触(又は、デバイスの回転)が、ユーザインターフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、所定のイベント又はサブイベントに対応するかどうかを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176又はオブジェクト更新部177を、任意選択で使用する又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、それぞれのGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A~図1Bに記される構成要素に基づいてどのように実施されるかは明らかであろう。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な論考は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に適した様々な変更で本発明及び様々な記載された実施形態を最良の形で使用することを有効化するために、これらの実施形態を選択し記載した。