以下の説明は、例示的な方法、パラメータなどを記載する。しかし、かかる説明は、本開示の範囲に対する制限として意図するものではなく、例示的実施形態の説明として提供されることを認識されたい。
他の電子デバイス(例えば、「認証済み」デバイス)によって信頼されるデバイスが、特定の他の電子デバイスのロック解除を容易にすることができることは望ましい。ユーザが複数の電子デバイスを所有し、その使用を頻繁に切り替える状況を考えよう。(例えば、パスワードを提供することによって)1つの電子デバイスのロックを解除すると、(無線通信範囲内にある)近隣のデバイスもまた自動的にロック解除する、又はロック解除のためのユーザ入力の縮小したセットしか少なくとも必要としないことは、有用なことである。このようにして、ユーザは、各デバイスに対応するパスワードを入力する必要なく、異なるデバイス間を迅速に移行することができる。認証済みデバイスを使用して他の電子デバイスをロック解除するこれらの機能を実行する技術は、自動ロック解除技術と呼ばれることがある。
以下、図1A〜図1B、図2、図3、図4A〜図4B、及び図5A〜図5Bは、自動ロック解除技術を実施することができる例示的なデバイスの説明を提供する。また、図6〜図11は、デバイスの自動ロック解除に関わる例示的なユーザインターフェースを示す。図中のユーザインターフェースは、図12〜図14のプロセスを含む、以下に説明する自動ロック解除プロセスを説明するためにも使用される。
以下の説明では、さまざまな要素を説明するために「第1」、「第2」などの用語を使用するが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されているさまざまな実施形態の範囲から逸脱することなく、第1のタッチは第2のタッチと称することができ、同様に、第2のタッチは第1のタッチと称し得る。第1のタッチと第2のタッチは共にタッチであるが、同じタッチではない。
本明細書で説明されるさまざまな実施形態の説明で使用される用語は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。さまざまな記載の実施形態、及び添付の特許請求の範囲で使用される時に、単数形「a」、「an」、及び「the」は、文脈が別途明確に示さない限り、複数形も同様に含むことが意図されている。本明細書で使用される時に、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の全ての可能な任意の組み合わせを指し、かつこれを含むことをもまた理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
用語「if(〜場合に)」は、文脈に応じて「when(〜時に)」、「upon(〜時に)」、「in response to determining(〜という判定に応答して)」、又は「in response to detecting(〜を検出したことに応答して)」を意味すると解釈することができる。同様に、句「if it is determined(〜と判定される場合に)」又は「if[a stated condition or event]is detected([述べられる条件又はイベント]が検出される場合に)」は、文脈に応じて「upon determining(〜と判定される時に)」、又は「in response to determining(〜との判定に応答して)」、又は「upon detecting[the stated condition or event]([述べられる条件又はイベント]の検出時に)」、又は「in response to detecting[the stated condition or event]([述べられる条件又はイベント]の検出に応答して)」を意味すると解釈することができる。
電子デバイス、かかるデバイス用のユーザインターフェース、及びかかるデバイスを使用するための関連プロセス、の実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的実施形態としては、Apple Inc.(Cupertino,California)による、iPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも、任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるデスクトップコンピュータであることを理解されたい。
以下の検討では、ディスプレイ及びタッチ感知面を備えた電子デバイスについて説明する。しかし、この電子デバイスは、物理キーボード、マウス、及び/又はジョイスティックなどの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つ以上の触知出力生成器167を任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して任意選択的に通信する。
本明細書及び特許請求の範囲で使用される時、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の数値を含み、より典型的には、何百もの異なる数値(例えば、少なくとも256)を含む、数値の範囲を有する。接触の強度は、さまざまな方法及びさまざまなセンサ、又はセンサの組み合わせを使用して、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上の力センサは、タッチ感知面上のさまざまな点における力を測定するために、任意選択的に使用される。いくつかの実装において、複数の力センサの力測定値を組み合わせて(例えば、加重平均)、接触力の推定値を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触領域のサイズ及び/又はその変化、接触に近接するタッチ感知面の電気容量及び/又はその変化、並びに/若しくは、接触に近接するタッチ感知面の抵抗及び/又はその変化が、タッチ感知面上の接触の力又は圧力の代替物として、任意選択的に用いられる。いくつかの実装では、接触の力又は圧力の代替的測定値は、強度閾値を超えているか否かを判定するために直接に用いられる(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。いくつかの実装では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか否かを判定する(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための、面積が制限されている、低減されたサイズのデバイス上で、他の場合であればユーザによってアクセスすることが不可能であり得る、追加的なデバイス機能への、ユーザのアクセスが可能となる。
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈されるであろう。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。ユーザによるタッチのかかる解釈は、ユーザの個別の感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものとして記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はその構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示されるさまざまな構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせで実装される。
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、有形かつ非一時的とすることができる。メモリ102は、高速ランダムアクセスメモリを含み得るものであり、また、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリもまた含み得る。メモリコントローラ122は、デバイス100の他の構成要素によるメモリ102へのアクセスを制御することができる。
周辺機器インターフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に連結することができる。1つ以上のプロセッサ120は、デバイス100のためのさまざまな機能を実行するため並びにデータ処理を行うために、メモリ102に記憶されたさまざまなソフトウェアプログラム及び/若しくは命令セットを動作させたり、又は実行したりする。いくつかの実施形態では、周辺機器インターフェース118、CPU120、及びメモリコントローラ122は、チップ104などのシングルチップ上に実装してもよい。いくつかの他の実施形態では、それらは、別個のチップ上に実装してもよい。
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどを含むがこれらに限定されない、これらの機能を実行するための周知の回路を、任意選択的に含む。RF回路108は、ワールドワイドウエブ(WWW)とも呼ばれるインターネット、イントラネット、及び/又は、セルラ電話ネットワーク、無線ローカルエリアネットワーク(LAN)及び/又は、メトロポリタンエリアネットワーク(MAN)、などの無線ネットワーク、及び他のデバイスと無線通信によって、任意選択的に通信する。RF回路108は、近距離通信無線などによる近距離無線通信(NFC)場を検出するための周知の回路を任意選択的に含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用する。これらとしては、移動通信用のグローバルシステム(Global System for Mobile Communications、GSM(登録商標))、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(high-speed downlink packet access、HSDPA)、高速アップリンクパケットアクセス(high-speed uplink packet access、HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual-Cell HSPDA、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(登録商標)、Bluetooth Low Energy(BTLE)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE801.11n、及び/又はIEEE802.11ac)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol、VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol、IMAP)及び/又はポストオフィスプロトコル(post office protocol、POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol、XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、及び/又はショートメッセージサービス(Short Message Service、SMS)、あるいは本文書の出願日現在までに未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコル、が挙げられるが、これらに限定されない。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインターフェースを提供する。オーディオ回路110は、周辺機器インターフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110は、マイクロフォン113により音波から変換された電気信号もまた受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、処理するためにオーディオデータを周辺機器インターフェース118に送信する。オーディオデータは、周辺機器インターフェース118によって、メモリ102及び/又はRF回路108から取得され、かつ/あるいは、それらに送信してもよい。いくつかの実施形態では、オーディオ回路110はヘッドセットジャック(例えば、図2の212)を更に備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の双方を有するヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器と、の間のインターフェースを提供する。
I/Oサブシステム106は、周辺機器インターフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を連結する。I/Oサブシステム106は、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力又は制御デバイス用の1つ以上の入力コントローラ160を任意選択的に含む。1つ以上の入力コントローラ160は、他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。他の入力制御デバイス116は、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを、任意選択的に含む。いくつかの他の実施形態において、入力コントローラ(単数又は複数)160は、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに、任意選択的に連結される(又は、いずれにも連結されない)。1つ以上のボタン(例えば、図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを、任意選択的に含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。
2005年12月23日に出願された、米国特許第7,657,849号である米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」に記載されているように、プッシュボタンの素早い押し下げにより、タッチスクリーン112のロックを解除するか、又はデバイスのロック解除にタッチスクリーン上のジェスチャを用いる処理を開始してもよい。この特許は、その全体が本明細書において参照により組み込まれている。プッシュボタン(例えば、206)をより長く押し下げることにより、デバイス100の電源をオンオフすることができる。ユーザは、1つ以上のボタンの機能をカスタマイズすることができる。タッチスクリーン112は、仮想又はソフトボタン、及び1つ以上のソフトキーボードを実現するために用いられる。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から電気信号を受信し、それへ電気信号を送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。この視覚出力としては、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を挙げることができる。いくつかの実施形態では、視覚出力の一部又は全てはユーザインターフェースオブジェクトに対応してもよい。
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受信するタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の移動又は中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインターフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、LCD(liquid crystal display、液晶ディスプレイ)技術、LPD(light emitting polymer display、発光ポリマーディスプレイ)技術、又はLED(light emitting diode、発光ダイオード)技術を用いてもよいが、他の実施形態では、その他のディスプレイ技術を使用してもよい。タッチスクリーン112及びディスプレイコントローラ156は、現在既知の、又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、及びその接触のあらゆる移動若しくは中断を検出することができ、これらの技術としては、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素、が挙げられるが、これらに限定されない。例示的な実施形態では、California州CupertinoのApple Inc.によるiPhone(登録商標)及びiPod Touch(登録商標)において見られるような、投影型相互静電容量感知技術が使用されている。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の米国特許、第6,323,846号明細書(Westermanら)、第6,570,557号明細書(Westermanら)、及び/又は第6,677,932号明細書(Westerman)、及び/又は米国特許出願公開第2002/0015024(A1)号明細書に記載されているマルチタッチ感知タッチパッドに類似し得る。これらの文献は、それぞれその全体が本明細書において参照により組み込まれている。しかし、タッチスクリーン112はデバイス100からの視覚出力を表示するのに対して、タッチ感知タッチパッドは視覚出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願で説明されているとおりにすることができる。(1)2006年5月2日出願の米国特許出願第11/381,313号明細書、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の同第10/840,862号明細書、「Multipoint Touchscreen」、(3)2004年7月30日出願の同第10/903,964号明細書、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の同第11/048,264号明細書、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の同第11/038,590号明細書、「Mode−Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の同第11/228,758号明細書、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の同第11/228,700号明細書、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の同第11/228,737号明細書、「Activating Virtual Keys Of A Touch−Screen Virtual Keyboard」、及び(9)2006年3月3日出願の同第11/367,749号明細書、「Multi−Functional Hand−Held Device」。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
タッチスクリーン112は、100dpiを超えるビデオ解像度を有し得る。いくつかの実施形態では、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112と接触することができる。いくつかの実施形態では、ユーザインターフェースは、主として指に基づく接触及びジェスチャによって機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。いくつかの実施形態では、デバイスは、粗い指に基づく入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能を起動又は停止させるためのタッチパッド(図示せず)を含んでもよい。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知領域である。タッチパッドは、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部とすることができる。
デバイス100はまた、さまざまな構成要素に電力を供給するための電力システム162も備えている。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイスにおける電力の生成、管理、及び分配に関連する任意の他の構成要素を含んでもよい。
デバイス100はまた、1つ以上の光センサ164を含んでもよい。図1Aは、I/Oサブシステム106内の光センサコントローラ158に連結された光センサを示す。光センサ164は、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含んでもよい。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と連動して、光センサ164は静止画像又はビデオをキャプチャすることができる。いくつかの実施形態では、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像取得のためのビューファインダとして使用することができるように、デバイスの前面にあるタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に光センサが配置されている。いくつかの実施形態では、ユーザが他のテレビ会議参加者をタッチスクリーンディスプレイ上で見るのと同時に、そのユーザの画像をテレビ会議のために得ることができるように、デバイスの前面に光センサが配置されている。いくつかの実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、テレビ会議並びに静止画像及び/又はビデオ画像の取得の双方のために、単一の光センサ164を、タッチスクリーンディスプレイと共に使用することができる。
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に連結された接触強度センサを示す。接触強度センサ165には、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)が、任意選択的に含まれる。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報の代用物)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又は、それに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、1つ以上の近接センサ166を含んでもよい。図1Aは、周辺機器インターフェース118と連結された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に連結してもよい。近接センサ166は、米国特許出願第11/241,839号明細書、「Proximity Detector In Handheld Device」、同第11/240,788号明細書、「Proximity Detector In Handheld Device」、同第11/620,702号明細書、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号明細書、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び、同第11/638,251号明細書、「Methods And Systems For Automatic Configuration Of Peripherals」で説明されるように機能し得るものであり、これらの出願は、全体が参照により本明細書に組み込まれる。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置される場合(例えば、ユーザが電話で通話している場合)、近接センサは、タッチスクリーン112をオフにして無効化する。
デバイス100はまた、1つ以上の触知出力生成器167もまた、任意選択的に含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に連結された、触知出力生成器を示す。触知出力生成器167には、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイス、が任意選択的に含まれる。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は更に、1つ以上の加速度計168を備えてもよい。図1Aは、周辺機器インターフェース118に連結された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106内の入力コントローラ160に連結してもよい。加速度計168は、米国特許出願公開第20050190059号明細書、「Acceleration−based Theft Detection System for Portable Electronic Devices」、及び同第20060017692号明細書、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」で説明されるように機能し得るものであり、これらの文献の双方は、全体が参照により本明細書に組み込まれる。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイ上に表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計(図示せず)並びにデバイス100の位置及び向き(例えば、縦長又は横長)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を、任意選択的に含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示すように、メモリ102(図1A)又はメモリ370(図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブであるアプリケーションが存在する場合には、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態と、どんなアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112のさまざまな領域を占領しているかを示す、表示状態と、デバイスのさまざまなセンサ及び入力制御デバイス116から得られる情報を含む、センサ状態と、デバイスの位置及び/又は姿勢に関する位置情報と、のうちの1つ以上を含む。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するためのさまざまなソフトウェアコンポーネント及び/又はドライバを含み、さまざまなハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を通じて、他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するためのさまざまなソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を通じて間接的に、他のデバイスに連結するように適応している。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と連携して)タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が発生したか(例えば、フィンガダウンイベントの検出)否かの判定、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替物)の判定、接触の移動及びタッチ感知面にわたる移動の追跡(例えば、1つ以上のフィンガドラッグイベントの検出)があるか否かの判定、及び接触が中止したか否か(例えば、フィンガアップイベント又は接触の中断の検出)の判定などの、接触の検出に関係するさまざまな動作を実行するためのさまざまなソフトウェア構成要素を含んでいる。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを任意選択的に含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、少なくとも強度閾値の部分集合は、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定することができる。更に、いくつかの実装において、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は、システムレベルのクリック「強度」パラメータにより、一度に複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供される。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出される接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、指のタップジェスチャを検出することは、(例えば、アイコンの位置での)指を下ろすイベントを検出し、続いてその指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて、1つ以上の、指をドラッグするイベントを検出し、その後、続いて指を上げる(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、さまざまな既知のソフトウェア構成要素を含む。本明細書で使用する時、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、これらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインターフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
いくつかの実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応答して、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、さまざまなソフトウェア構成要素を含む。
テキスト入力モジュール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)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)対応するインスタントメッセージを送信したり、インスタントメッセージを受信してその受信したインスタントメッセージを表示したりするための、実行可能な命令を含む。いくつかの実施形態では、送信及び/又は受信されたインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含んでもよい。本明細書で使用する時、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE又はIMPSを使用して送信されるメッセージ)の双方を示す。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュー132、テキスト入力モジュール134、GPSモジュール135、マップモジュール154、及び音楽再生モジュールと連携して、トレーニングサポートモジュール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(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及び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は、ユーザの指示に従って、メモ、to doリストなどを作成及び管理するための実行可能な命令を含む。
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つ以上のファイル形式のオンラインビデオにアクセスし、閲覧し、(例えば、ストリーミング及び/又はダウンロードにより)受信し、(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)再生し、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理することが可能となる命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションの追加の説明は、2007年6月20日に出願された米国特許仮出願第60/936,562号明細書、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日に出願された米国特許出願第11/968,067号明細書、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見出すことができ、これらの出願の内容はその全体が本明細書において参照により組み込まれている。
上記で識別されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行するための実行可能な命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、さまざまな実施形態では、これらのモジュールのさまざまな部分集合を組み合わせるか、又は他の方式で再編成することができる。例えば、ビデオ再生モジュールは、音楽再生モジュールと組み合わせて、単一のモジュール(例えば、図1Aのビデオ及び音楽再生モジュール152)としてもよい。いくつかの実施形態では、メモリ102は、上記で識別されたモジュール及びデータ構造の部分集合を記憶することができる。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作に関する主要な入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の(プッシュボタン、ダイヤルなどの)物理入力制御デバイスの数を低減することができる。
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインターフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインターフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス100をナビゲートする。かかる実施形態では、「メニューボタン」はタッチパッドを使って実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力制御デバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又はメモリ370(図3)は、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136−1(例えば、上述のアプリケーション137〜151、155、380〜390のうちのいずれか)を含む。
イベントソータ170は、イベント情報を受信し、イベント情報を配信するアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136−1は、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するためにイベントソータ170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインターフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列、のうちの1つ以上などの追加情報を含む。
イベントモニタ171は、周辺機器インターフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺機器インターフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路110を介する)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インターフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インターフェース118に要求を送信する。これに応答して、周辺機器インターフェース118はイベント情報を送信する。他の実施形態では、周辺機器インターフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回り、かつ/又は所定の持続時間を超えた入力を受信すること)が存在する場合にのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が1つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成される。
アプリケーションに関連付けられたユーザインターフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインターフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応し得る。例えば、タッチが検出される最下位レベルのビューを、ヒットビューと呼ぶことができ、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに基づいて、判定することができる。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントと関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、そのサブイベントを処理すべき階層内の最下位のビューとしての、ヒットビューを識別する。ほとんどの状況では、ヒットビューは、最初のサブイベント(例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最下位レベルのビューである。ヒットビューがヒットビュー判定モジュール172によって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
イベントディスパッチャモジュール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からイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの位置などの追加情報もまた含む。サブイベントがタッチの動きに関わる場合には、イベント情報はサブイベントの速さ及び方向を更に含んでもよい。いくつかの実施形態では、イベントは、ある方向から別の方向へ(例えば、縦長の向きから横長の向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態では、イベント(187)内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例では、イベント1(187−1)の定義は、表示されたオブジェクト上のダブルタップである。このダブルタップは、例えば、所定の段階に関する表示オブジェクト上での第1のタッチ(タッチの開始)、所定の段階に関する第1のリフトオフ(タッチの終了)、所定の段階に関する表示オブジェクト上での第2のタッチ(タッチの開始)、及び所定の段階に関する第2のリフトオフ(タッチの終了)を含む。別の実施例では、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッグ操作である。このドラッグ操作は、例えば、所定の段階に関する表示オブジェクト上でのタッチ(又は、接触)、タッチ感知ディスプレイ112を横断するタッチの移動、及びタッチのリフトオフ(タッチの終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベントハンドラ190に関する情報も含む。
いくつかの実施形態では、イベント定義187は、それぞれのユーザインターフェースオブジェクトに関するイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、サブイベントに関連付けられたユーザインターフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインターフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインターフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示された各オブジェクトが、対応するイベントハンドラ190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベントハンドラ190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガとなるオブジェクトに関連付けられたイベントハンドラを選択する。
いくつかの実施形態では、各イベント(187)に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまでイベント情報の配信を遅延させる遅延動作も含む。
各イベント認識部180は、一連のサブイベントが、イベント定義186のイベントのうちのいずれとも一致しないと判定した場合、各イベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
いくつかの実施形態では、各イベント認識部180は、構成可能なプロパティと、フラグと、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストと、を有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティと、フラグと、及び/又はイベント認識部が互いにどのように対話し得るか、あるいは、対話が可能になるかについて示すリストと、を含む。いくつかの実施形態では、メタデータ183は、構成可能なプロパティと、フラグと、及び/又はサブイベントがビュー階層又はプログラム階層内のさまざまなレベルに配信されるか否かを示すリストと、を含む。
いくつかの実施形態では、各イベント認識部180は、イベントにおける1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態では、各イベント認識部180は、イベントに関連付けられたイベント情報をイベントハンドラ190に配信する。イベントハンドラ190をアクティブ化することは、対応するヒットビューにサブイベントを送信(及び送信を延期する)することとは異なる。いくつかの実施形態では、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ190は、フラグをキャッチし、既定の処理を実行する。
いくつかの実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化せずに、サブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューに関連付けられたイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
いくつかの実施形態では、データアップデーター176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデーター176は、連絡先モジュール137で使用される電話番号を更新したり、ビデオ再生モジュールで使用されるビデオファイルを記憶したりする。いくつかの実施形態では、オブジェクトアップデーター177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデーター177は、新たなユーザインターフェースオブジェクトを作成するか、又はユーザインターフェースオブジェクトの位置を更新する。GUIアップデーター178は、GUIを更新する。例えば、GUIアップデーター178は、表示情報を準備し、それをタッチ感知ディスプレイ上に表示するためにグラフィックモジュール132に送信する。
いくつかの実施形態では、イベントハンドラ(単数又は複数)190は、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデーター178を含むか、若しくはそれらにアクセスすることができる。いくつかの実施形態では、データアップデーター176、オブジェクトアップデーター177、及びGUIアップデーター178は、各アプリケーション136−1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上でのユーザのタッチのイベント処理に関する上述の説明はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるのではないことが理解されよう。例えば、単一又は複数のキーボードの押し下げ又は保持と任意選択的に合わせたマウスの移動及びマウスボタンの押し下げ、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭の指示、検出された眼球運動、バイオメトリック入力、及び/又は、これらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として、任意選択的に利用される。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を例示する。タッチスクリーンは、ユーザインターフェース(UI)200内に1つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに後述する実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することができる。いくつかの実施形態では、ユーザが1つ以上のグラフィックとの接触を断った際に、その1つ以上のグラフィックの選択が生じる。いくつかの実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ及び/又は下方向へ)、並びに/若しくは、デバイス100と接触した指のローリング(右から左へ、左から右へ、上方向へ及び/又は下方向へ)を、任意選択的に含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に選択しない。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも含み得る。上述したように、メニューボタン204を使用して、デバイス100上で実行することができるアプリケーションセット内の任意のアプリケーション136へ、ナビゲートすることができる。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
一実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調節ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン/オフし、ボタンを押し下げて、既定時間が経過する前にボタンを解放することによってデバイスをロックし、かつ/又はデバイスをロック解除するか、若しくはロック解除処理を開始するために、任意選択的に使用される。別の実施形態では、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化又は非アクティブ化するための口頭入力を受信する。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器167も、任意選択的に含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備えた例示的な多機能デバイスのブロック図である。デバイス300は、ポータブルでなくてもよい。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、(子供の学習玩具などの)教育的デバイス、ゲームシステム、又は制御デバイス(例えば、ホーム又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インターフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることがある)を、任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイであるディスプレイ340を備える入出力(I/O)インターフェース330を含む。I/Oインターフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350、並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述した触知出力生成器167(単数又は複数)と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aを参照して上述した接触強度センサ(単数又は複数)165と同様の接触強度センサ)も、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310から離れて位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造、又はそれらの部分集合に類似する、プログラム、モジュール、及びデータ構造を記憶する。更に、メモリ370は、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を任意選択的に記憶するが、ポータブル多機能デバイス100(図1A)のメモリ102はこれらのモジュールを任意選択的に記憶しない。
図3の上記で識別された要素のそれぞれは、前述したメモリデバイスのうちの1つ以上に記憶されてもよい。上記で識別されたモジュールのうちのそれぞれは、上述した機能を実行する命令セットに対応する。上記で識別されたモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、さまざまな実施形態では、これらのモジュールのさまざまな部分集合を組み合わせるか、又は他の方法で再編成することができる。いくつかの実施形態では、メモリ370は、上記で識別されたモジュール及びデータ構造の部分集合を記憶することができる。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を記憶してもよい。
次に、例えば、ポータブル多機能デバイス100上に実装することができるユーザインターフェースの実施形態に注意を向ける。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューに関する例示的なユーザインターフェースを示す。同様のユーザインターフェースを、デバイス300上に実装してもよい。いくつかの実施形態では、ユーザインターフェース400は、以下の要素、又はそれらの部分集合若しくは上位集合を含む。
●セルラ及びWi−Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー408、
○不在着信又は音声メールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138用のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147用のアイコン420、及び、
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽再生モジュール152用のアイコン422、
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141用のアイコン424、
○「カレンダ」とラベル付けされた、カレンダモジュール148用のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155用のアイコン432、
○「株価」とラベル付けされた、株価ウィジェット149−2用のアイコン434、
○「マップ」とラベル付けされた、マップモジュール154用のアイコン436、
○「天気」とラベル付けされた、天気ウィジェット149−1用のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン444、及び
○「設定」とラベル付けされた、デバイス100及びそのさまざまなアプリケーション136に関する設定へのアクセスを提供する、設定アプリケーション又はモジュール用のアイコン446。
図4Aに示されているアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルは、さまざまなアプリケーションアイコンのために任意選択的に使用される。いくつかの実施形態では、各アプリケーションアイコンに関するラベルは、各アプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインターフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための1つ以上の触知出力生成器359を任意選択的に含む。
以下の実施例のうちのいくつかはタッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、このタッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、タッチ感知面451との接触(例えば、図4Bの460及び462)を、ディスプレイ上のそれぞれの場所に対応する場所(例えば、図4Bでは、460は468に対応し、462は470に対応する)にて検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、図4Bでの450)上のユーザインターフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインターフェースに、任意選択的に使用されることを理解されたい。
更に加えて、以下の実施例は主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、マウスクリック(例えば、接触の代わり)に続いて、スワイプの経路に沿ってカーソルを移動する動作(例えば、接触の移動の代わり)によって、任意選択的に置き換えられる。別の実施例としては、タップジェスチャは、(例えば、接触の検出に続いて、その接触の検出を停止する代わりに)カーソルがタップジェスチャの場所の上に配置されている間のマウスクリックによって、任意選択的に置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが任意選択的に同時に使用されるか、又は、マウス及び/又は指の接触が任意選択的に同時に使用されることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A〜図4B)に関して記載した特徴のいくつか又は全てを含み得る。いくつかの実施形態では、デバイス500は、タッチ感知ディスプレイ画面504、以後、タッチスクリーン504を有する。タッチスクリーン504の代わりに、又はそれに追加して、デバイス500は、ディスプレイ及びタッチ感知面を有する。デバイス100及び300と同様に、いくつかの実施形態では、タッチスクリーン504(又はタッチ感知面)は、印加されている接触(例えば、タッチ)の強度を検出するための1つ以上の強度センサを有してもよい。タッチスクリーン504(又は、タッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインターフェースは、タッチの強度に基づきタッチに応答してもよく、これは、異なる強度のタッチは、デバイス500上で異なるユーザインターフェース動作を呼び出し得ることを意味する。
タッチ強度を検出及び処理するための技術は、例えば、関連出願である、2013年5月8日出願の「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」と題された国際特許出願第PCT/US2013/040061号明細書、及び2013年11月11日出願の「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」と題された国際特許出願第PCT/US2013/069483号明細書に見出すことができ、これらのそれぞれは、その全体が参照により本明細書に組み込まれる。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び入力機構508は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上の取付機構を有する。かかる取付機構は、含まれる場合には、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、背荷物などに、デバイス500を取り付けることを可能にし得る。これらの取付機構によって、ユーザはデバイス500を装着することができる。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B及び図3に関して記載した構成要素のいくつか又は全てを含み得る。デバイス500は、I/O部514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に連結するバス512を有する。I/O部514は、タッチ感知構成要素522、及び、任意選択的に、タッチ強度感知構成要素524を有し得るディスプレイ504に接続することができる。更に、I/O部514は、Wi−Fi、Bluetooth、近距離通信(NFC)、セルラ及び/又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムのデータを受信するための通信ユニット530に接続し得る。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、例えば、回転可能入力デバイス、又は押し下げ可能かつ回転可能な入力デバイスとしてもよい。入力機構508は、いくつかの実施例では、ボタンであってもよい。
入力機構508は、いくつかの実施例では、マイクロフォンであってもよい。パーソナル電子デバイス500は、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はこれらの組み合わせなどの、さまざまなセンサを含み得るものであり、それらの全ては、I/Oセクション514に動作可能に接続することができる。
パーソナル電子デバイス500のメモリ518は、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体とすることができ、それらの命令は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス1200〜1500(図12〜図15)を含めた、上述の技術を実行させることができる。コンピュータ実行可能な命令はまた、コンピュータベースのシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、その命令を実行し得る他のシステムなどの、命令実行システム、装置、又はデバイス、によって、若しくはそれらに関連して、使用される任意の非一時的コンピュータ可読記憶媒体に記憶及び/又は伝送されてもよい。本文書の目的上、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、又はデバイスによって、若しくはそれらに関連して、使用されるコンピュータ実行可能命令を有形的に収容又は記憶することが可能な任意の媒体とすることができる。非一時的コンピュータ可読記憶媒体は、磁気的、光学的、及び/又は半導体記憶装置を含み得るが、これらに限定されない。かかる記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu−ray(登録商標)技術に基づく光ディスク、及び、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の構成要素又は追加的構成要素を、複数の構成で含み得る。
本明細書で使用する時、用語「アフォーダンス」は、デバイス100、300、及び/又は500(図1、図3、及び図5)のディスプレイ画面上に表示され得るユーザ対話式のグラフィカルユーザインターフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、アフォーダンスを構成することができる。
本明細書で使用する時、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインターフェースの現在の部分を示す入力要素を指す。カーソル又は他の位置マーカを含むいくつかの実装において、タッチ感知面(例えば、図3のタッチパッド355、又は図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出された時に、カーソルが特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の上にある時、カーソルは「フォーカスセレクタ」として機能し、特定のユーザインターフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインターフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112、又は図4Aのタッチスクリーン112)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)がタッチスクリーンディスプレイ上の特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の場所で検出されると、その特定のユーザインターフェース要素は検出された入力に従って調節される。いくつかの実装では、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることにより)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインターフェースの1つの領域からユーザインターフェースの別の領域に移動される。これらの実装において、フォーカスセレクタは、ユーザインターフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインターフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインターフェースの要素をデバイスに示すことによって)伝達するために、ユーザによって制御されるユーザインターフェース要素(又は、タッチスクリーンディスプレイ上での接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出された時に、対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイ上に示されている他のユーザインターフェース要素とは違って)ユーザが、対応するボタンをアクティブ化しようとしていることを知らせる。
本明細書及び特許請求の範囲で使用する時、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び/又は接触の強度の減少を検出する前若しくは後)に対して所定の時間期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10%値、接触の強度の最大値の半分の値、接触の強度の最大値の90%の値など、のうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の期間が使用される(例えば、特性強度が経時的な接触の強度の平均である時)。いくつかの実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度を1つ以上の強度閾値のセットと比較する。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含むことができる。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第2の閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するか否か(例えば、各動作を実行するのか、又は各動作の実行を見合わせるのか)を判定するために使用される。
いくつかの実施形態では、特性強度を判定する目的で、ジェスチャの一部分が識別される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触を受信してもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づいてもよい。いくつかの実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用してもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズム、のうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの1つ以上の強度閾値に対して特徴付けしてもよい。いくつかの実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させる。全般的には、特に明記しない限り、これらの強度閾値は、ユーザインターフェース図の異なるセット間でも一貫している。
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、接触検出強度閾値はゼロである。いくつかの実施形態では、接触検出強度閾値はゼロより大きい。
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応答して、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力の検出に応答して実行され、それぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、対応する接触の強度の増大(例えば、対応する押圧入力の「ダウンストローク」)の検出に応答して実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応する接触の強度の増大、及び後続の、押圧入力強度閾値を下回る接触の強度の減少を含み、対応する動作は、その後続の押圧入力閾値を下回る対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応答して、実行される。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある不測の入力を回避するために強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。したがって、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る対応する接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応する動作は、そのヒステリシス強度閾値を下回る、後続の対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応答して、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ検出され、対応する動作は、その押圧入力の検出(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)に応答して、実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応答して、又はその押圧入力を含むジェスチャに応答して実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応答して、任意選択的にトリガされる。更に加えて、押圧入力強度閾値を下回る接触の強度の減少の検出に応答して動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る、接触の強度の減少の検出に応答して任意選択的に実行される。
本明細書で使用する時、「インストール済みアプリケーション」とは、電子デバイス(例えば、デバイス100、300、及び/又は500)にダウンロードされており、かつ、そのデバイス上で起動される(例えば、開かれた状態になる)準備が整っているソフトウェアアプリケーションを指す。いくつかの実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出して、その抽出部分をコンピュータシステムのオペレーティングシステムと統合するインストールプログラムによって、インストール済みアプリケーションになる。
本明細書で使用する時、用語「開いているアプリケーション」又は「実行中のアプリケーション」とは、(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部としての)状態情報が保持されている、ソフトウェアアプリケーションを指す。開いているか又は実行中のアプリケーションは、以下のタイプのアプリケーションのうちのいずれか1つとすることができる。
●そのアプリケーションが使用されているデバイスのディスプレイ画面上に、現時点で表示されている、アクティブなアプリケーション、
●現時点で表示されていないが、そのアプリケーションに関する1つ以上のプロセスが1つ以上のプロセッサによって処理されている、バックグラウンドアプリケーション(又は、バックグラウンドプロセス)、
●稼働していないが、メモリ(それぞれ、揮発性及び/又は不揮発性)内に記憶された、そのアプリケーションの実行を再開するために使用することが可能な状態情報を有する、中断又は休止状態のアプリケーション。
本明細書で使用する時、用語「閉じているアプリケーション」とは、状態情報が保持されていない(例えば、閉じているアプリケーションに関する状態情報がデバイスのメモリに記憶されていない)ソフトウェアアプリケーションを指す。したがって、アプリケーションを閉じることは、そのアプリケーションに関するアプリケーションプロセスを停止及び/又は除去すること、並びに、そのアプリケーションに関する状態情報をデバイスのメモリから除去することを含む。一般的には、第1のアプリケーション中に第2のアプリケーションを開いても、第1のアプリケーションが閉じられることはない。第2のアプリケーションが表示され、第1のアプリケーションの表示が停止されると、第1のアプリケーションはバックグラウンドアプリケーションになる。
次に、自動ロック解除の機能を提供するために、デバイス100、300、及び/又は500などのディスプレイ及びタッチ感知面を備える多機能デバイス上で実装することが可能な、ユーザインターフェース(「UI」)並びに関連プロセスに注意を向ける。
1.ユーザインターフェースのロックとロック解除の状態
図6Aは、例示的な電子デバイス600,602、及び604を示す。いくつかの実施形態では、デバイス600はデバイス100(図1A)であってもよい。図示の例では、デバイス600は電話である。いくつかの実施形態では、デバイス602はデバイス300(図3A)であってもよい。図示の例では、デバイス602はラップトップコンピュータである。いくつかの実施形態では、デバイス604はデバイス500(図5A)であってもよい。図示の例では、デバイス604は装着型電子デバイスである。
デバイス600,602、及び604は、それぞれ、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有することができる。ユーザインターフェースロック状態(以下、「ロック状態」と呼ぶ)では、デバイス600,602、又は604などのデバイスは、電源が投入され動作可能であるが、全てではないにしてもほとんどのユーザ入力を無視する。即ち、デバイスは、ユーザ入力に応答したアクションをとらず、及び/又はユーザ入力に応答してデバイスが既定の動作セットを実行することが妨げられる。この既定の動作のセットには、ユーザインターフェース間のナビゲーション、及び既定の機能のセットのアクティブ化又は非アクティブ化を含めることができる。このロック状態は、デバイスの非意図的な使用若しくは無認可の使用、又は、デバイス上の機能のアクティブ化若しくは非アクティブ化を防止するために使用することができる。デバイスは、ユーザの指示に応答して、ロック状態に入ることができる。デバイスはまた、アイドル期間の後に、ロック状態に入ることができる。この期間は、ユーザが、構成設定として指定することができる。デバイスがロック状態にある場合、そのデバイスはロックされていると言うことができる。図に示すように、デバイス600,602、及び604はロックされている。
いくつかの実施形態では、ロック状態のデバイスであっても、デバイスをユーザインターフェースロック解除状態に移行しようとする試みに対応する入力、又はデバイスの電源をオフにすることに対応する入力を含む、ユーザ入力の限定されたセットには、依然として応答することができる。言い換えれば、ロックされたデバイスは、デバイスをユーザインターフェースロック解除状態に移行させるか、あるいは、デバイスの電源をオフにする試みに対応するユーザ入力には応答するが、ユーザインターフェース間をナビゲートする試みに対応するユーザ入力には応答しない。また、デバイスがユーザ入力を無視する場合であっても、そのデバイスは、入力を検出した時点で、その入力を無視することを示すために、ユーザに、(視覚的、聴覚的、又は振動によるフィードバックなどの)感覚的フィードバックを依然として提供してもよい。
ユーザインターフェースロック解除状態(以下、「ロック解除状態」と呼ぶ)では、デバイスは通常動作状態にあり、ユーザインターフェースとの対話に対応するユーザ入力を検出し応答する。ロック解除状態にあるデバイスは、ロック解除されていると言うことができる。ロック解除状態のデバイスは、ユーザインターフェース間のナビゲート、データの入力、機能のアクティブ化又は非アクティブ化などのユーザ入力を検出し、それに応答する。デバイスがタッチ感知入力機構を含む実施形態では、ロック解除状態のデバイスは、ユーザインターフェース間のナビゲーション、データの入力、及びタッチ感知入力機構による機能のアクティブ化又は非アクティブ化に対応する接触を検出し、応答する。デバイスが回転可能入力機構を含む実施形態では、ロック解除状態のデバイスは、ユーザインターフェース間のナビゲーション、データの入力、及び回転可能入力機構による機能のアクティブ化又は非アクティブ化に対応する回転及び/又は押圧を検出し、応答する。
図6Bは、デバイス600,602、及び604を含む複数の電子デバイスを使用するユーザ606を示す。これらの各デバイスはロック状態の場合がある。特定のデバイスを使用するために、ユーザ606は最初にそのデバイスのロックを解除する必要があり得る。上述したように、特に、あるアイドル期間後に自動的にロックするようにデバイスが構成されている場合、このプロセスは厄介なものになる可能性がある。
図6Cは、認証済みデバイスを使用して他の電子デバイスのロックを解除することが望ましい例示的な状況を示す。図示のように、ユーザ606は、ラップトップであるデバイス602を使用する準備をしている。デバイス602は、電源を投入してロック状態になるように構成することができる。しかし、ユーザ606は、デバイス600又は604と対話している場合があり、これは、デバイス600及び/又は604が依然としてロック解除状態であることを意味する。デバイス600及び604もまた、デバイス602の物理的近接範囲内(例えば、無線通信範囲内)にある。この状況では、デバイス600又は604のいずれかがデバイス602にクレデンシャルを提供して、デバイス602がロックを解除するためのユーザ入力を最小限にするか、又は全く必要としないようにすることが有用であり、これによって、ユーザ606は、デバイス上で生産的な仕事を開始できるように許可される。
次に、図6D〜図6Fを参照して、ロック解除状態のデバイス(単数又は複数)600及び604を用いてデバイス602をロック解除するための技術に注意を向ける。図6Dは、デバイスがロック状態であることを示すユーザインターフェースロック画面608を表示するデバイス602を示す。この状態では、デバイス602は、パスワード入力欄610にパスワード入力を受信して、デバイスのロックを解除する。しかし、ユーザ606が手動でパスワードを入力する必要なく、デバイス602にアクセスできれば有用であろう。図6Eに示されるように、外部デバイス604はデバイス602の通信範囲内にある場合がある。デバイス602は、無線通信プロトコルを介してデバイス604の存在を検出することができる。低電力無線通信は、この目的に特に好適であり得る。好適な無線通信の例としては、Bluetooth(登録商標)及びBluetooth Low Energy(BTLE)が挙げられる。同様に、デバイス604は、近隣のデバイス602を検出することができる。
図に示すように、おそらくユーザ606(図6C)による最近の使用によって、外部デバイス604はロック解除状態(例えば、通常の動作モード)にある。検出後、デバイス604は、例えば、ユーザのクレデンシャルなどの、デバイス602のロック解除を容易にするための情報をデバイス602に送信することができる。デバイス602がデバイス604を信頼すると仮定すると、デバイス602は、受信したクレデンシャル情報を使用して、そのロック解除プロセスを容易にすることができる。
いくつかの実施形態では、デバイス602は、クレデンシャル情報を受信すると、そして更にユーザ入力を検出すると、ロックを解除してもよい。ユーザ入力は、マウスの移動又はマウスのクリックなどのマウス入力であってもよい。ユーザ入力は、タップ又はスワイプなどのタッチ入力であってもよい。ユーザ入力は、機械式又は容量式の入力機構の押し下げであってもよい。図示の実施例では、デバイス604からロック解除情報を受信すると、デバイス602は、パスワード入力フィールド610(図6D)をアフォーダンス612に置き換え、これが選択される(例えば、クリック)と、デバイス602をロック解除する。ロック解除前にユーザ入力の検出を必要とする実施形態では、デバイス(例えば、604及び602)を物理的な近傍に単に配置するだけでは、検出されたユーザ入力とみなすべきではないことに留意されたい。
いくつかの実施形態では、デバイス604からクレデンシャルを受信すると、デバイス602は、更なるユーザ入力を必要とせずに自動的にロック解除することができる。いくつかの実施形態では、デバイス604からクレデンシャル情報を受信すると、デバイス602は、バイオメトリック入力デバイスからの有効なバイオメトリック読み取りを検出した後にロックを解除することができる。これらの実施形態では、更なるバイオメトリック読み取りを使用して、2要素認証プロセスを形成することができる。
図6Fは、ロック解除状態にあるデバイス602を示す。この状態で、デバイス602は、さまざまなアプリケーションプログラム(例えば、メッセージングアプリケーションを起動するためのアイコン616)を起動するためのアフォーダンスを有するデスクトップ画面614を表示することができる。任意選択的に、デバイス604は、デバイス604がデバイス602のロック解除に影響を与えたことを示す視覚インジケータ616及び/又は触覚フィードバックを表示することができる。
なお、図6D〜図6Fは、外部デバイス604によるデバイス602のロック解除を例示しているが、記載された技術は、デバイス100,300,500などの他のデバイスを包含するように拡張することができる。(図1A、図3A、及び図5A)。つまり、ロックやキーとしての役割を果たすさまざまな電子デバイスを入れ替えることが可能である。例えば、いくつかの実施形態では、図7A〜図7Eを参照して以下に説明するように、デバイス100(図1A)が、デバイス500(図5A)のロックを解除するための認証デバイスとしての機能を果たすことができる。例えば、いくつかの実施形態では、デバイス500(図5A)が、図8A〜図8Cを参照して以下に説明するように、デバイス100(図1A)のロックを解除するための認証デバイスとしての機能を果たすことができる。簡潔にするために、他の入替えについては、可能ではあるが、ここでは明示的に論じない。
次に、図7A〜図7Eを参照して、認証済みデバイスを使用して別の電子デバイスをロック解除するための追加の技術に注意を向ける。図7Aは、いくつかの実施形態でデバイス500(図5A)とすることができる例示的なデバイス700を示す。デバイス700には、いくつかの状況下でオフになるディスプレイ画面を備えることができる。例えば、そのディスプレイ画面は、所定のアイドル期間の後にオフになってもよい。デバイス700のディスプレイ画面は、移動及び/又はユーザ入力に応答して、再びオンにすることができる。デバイス700のディスプレイ画面がオンになると、デバイス700がロックされていることを示すロック画面702を表示することができる。ロック画面702によって、デバイスのロックを解除するためのパスワードをユーザに促してもよい。
図7Bは、デバイス700の無線通信範囲内にある外部デバイス704の存在を示す。いくつかの実施形態では、デバイス704はデバイス100(図1A)としてもよい。外部デバイス704もまた、ロック画面706によって示されるように、ロック状態にある場合がある。ロック画面706は、デバイス704がどのようにロック解除され得るかを示す指示708を有してもよい。デバイス704自体がロックされているので、デバイス700は自動的にロックを解除することによって応答しない。
図7Cは、デバイス704のロックを解除しようとするユーザの試みを表すユーザ入力710を示す。図に示すように、デバイス704のロックを解除する試みがなされている間、デバイス700はロック状態を維持する。図7Dは、デバイス704をロック解除するユーザの継続的な試みを表す更なるユーザ入力712を示す。デバイス700は、そのロック状態を維持し続ける。
図7Eを参照すると、ユーザ入力712(図7D)を介して有効なパスコードを受信すると、デバイス704はロックを解除して、通常の動作状態になる。図に示すように、デバイス704はアクティブなアプリケーション714を実行している。アプリケーション714は、カリフォルニア州クパチーノにあるApple Inc,のMessagesなどのメッセージングアプリケーションとすることができる。ロック解除後、デバイス704はまた、デバイス700の自動ロック解除を容易にする情報を含む情報をデバイス700に送信することもできる。
図7Fに示す実施例では、この情報を受信すると、デバイス700は更なるユーザ入力を必要とせずに自動的にロックを解除し、時計画面716を表示する。いくつかの実施形態では、デバイス700は、クレデンシャル情報を受信し、ユーザ入力を検出すると、ロックを解除することができる。ユーザ入力は、デバイス700の移動であってもよい。ユーザ入力は、タップ又はスワイプなどのタッチ入力であってもよい。ユーザ入力は、機械式又は容量式の入力機構の押し下げであってもよい。
次に、図8A〜図8Cを参照して、認証済みデバイスを使用して別の電子デバイスをロック解除する追加の技術に注意を向ける。図8Aは、いくつかの実施形態において、デバイス100(図1A)であり得る例示的なデバイス800を示す。デバイス800は、いくつかの状況下でオフになるディスプレイ画面を備えることができる。例えば、アイドル期間が経過すると、そのディスプレイ画面がオフになってもよい。デバイス800のディスプレイ画面は、移動及び/又はユーザ入力に応答して再びオンにすることができる。デバイス800のディスプレイ画面がオンになると、デバイス800がロックされていることを示すロック画面802を表示してもよい。ロック画面802は、デバイス800のロックを解除する方法を示す指示804を有することができる。
図8Bは、デバイス800の無線通信範囲内に外部デバイス806が存在することを示す。いくつかの実施形態では、デバイス806はデバイス500(図5A)であってもよい。デバイス806は、ユーザによって最近(例えば、最後の5〜20秒以内に)使用された可能性があり、したがって、ロックが解除されている可能性がある。デバイス806は、デバイス800の自動ロック解除を容易にする情報をデバイス800に送信することができる。図8Cに示すように、この情報を受信すると、デバイス800は更なるユーザ入力を必要とせずに自動的にロックを解除することができ、それにより、ロック画面802(図8B)をさまざまなアプリケーションアイコンを有するメニュー808で置き換えることができる。いくつかの実施形態では、デバイス800は、ロックを解除する前に、若干のユーザ入力(例えば、実質的に水平なスワイプ)を必要とすることがある。
2.デバイス間のアプリケーション状態の継続性
ユーザが異なるデバイス間で使用を切り替える際、デバイスが自動ロック解除されることに加えて、あるデバイスに表示されているコンテンツを別のデバイス上に切り替えることができると、ユーザにとって有用となる。2014年8月8日に出願された「CONTINUITY」と題する、その全体が本明細書に組み込まれる同時係属中の米国仮出願第62/035,348号明細書は、複数の電子デバイス間のアプリケーションの連続性を記載している。この中には、1つのデバイス上の1つのアプリケーションで作業しているユーザが、無線通信範囲内にある近隣のデバイスにその作業を移行できることが記載されている。
認証済みデバイスを使用して他のデバイスのロックを解除するために、連続性の態様を上記のユーザインターフェースに組み込むことができる。例えば、目標デバイスが自動でロックを解除する時、認証済み外部デバイス上で実行しているのと同じアプリケーションを、目標デバイスでも起動することが望ましい場合がある。起動時に、アプリケーションが同じアプリケーション状態を有する(例えば、認証済み外部デバイスに表示された情報と同じ情報を表示する)ことが望ましい場合もまたある。
これらの特徴については、図9A及び図9Bを参照して説明する。図9Aに示すように、デバイス900(いくつかの実施形態では図1Aのデバイス100とすることができる)及びデバイス902(いくつかの実施形態では図5Aのデバイス500とすることができる)は無線通信範囲内にある。図に示すように、デバイス900はロックされ、デバイス902はロック解除されている。デバイス902は、アクティブなメッセージングアプリケーションによって、メッセージ記録906を表示している場合がある。デバイス902は、デバイス900に情報を送信して、デバイス900のロック解除を容易にすることができる。ユーザのクレデンシャルに加えて、この情報は、デバイス902上でアクティブであるアプリケーション(例えば、メッセージングアプリケーション)の特定、及び/又はアプリケーション状態情報(例えば、メッセージ記録906)を含むことができる。
デバイス900は、ロックの解除前にパスワードを要求するように構成されている場合がある。しかし、デバイス902からロック解除の情報を受信したデバイス900は、追加のパスワード情報の入力を要求することなくロックを解除することができる。更に受信されたアプリケーション及び/又はアプリケーション状態情報によって、デバイス900は、ロック解除後に継続機能を更に提供することが可能となる。
図示した実施形態では、送信された情報に応答して、デバイス900は、デバイス900のロック解除後に対応する(メッセージング)アプリケーションが起動されることを示すアフォーダンス904を表示することができる。更に、アフォーダンス904は、デバイス900のロックを解除する時に起動されるアプリケーション(例えば、メッセージング)を識別する視覚的な指示を有することができる。図9Bに示すように、ロックを解除すると、デバイス900は、対応するメッセージングアプリケーションを起動し、デバイス902に表示している同じメッセージ記録906を表示することができる。デバイス900及び902に表示されるメッセージ記録906の量は、デバイスのフォームファクタ(例えば、ディスプレイ画面のサイズ及び解像度)に応じて変化し得る。
いくつかの実施形態(図示せず)では、アフォーダンス904の代わりに、デバイス900は、ユーザがデバイス900のロック解除に進む場合に、メッセージングアプリケーションが起動されることを示す指示をロック画面908に表示することができる。例えば、デバイス900は、「スライドしてMessagesを開く」という指示を表示することができる。いくつかの実施形態(図示せず)では、送信された情報に応答して、デバイス900は、その機械的入力機構910の一回の押し下げによるロック解除を可能にし、ロック解除時に対応するアプリケーション(例えば、Messages)を起動する。いくつかの実施形態(図示せず)では、デバイス902から送信された情報に応答して、デバイス900は、更なるユーザ入力を必要とせずに、単にロックを解除して、対応するアプリケーションを起動することができる。
いくつかの実施形態では、デバイス900は、継続性機能を必ずしも呼び出さずに、ユーザにデバイスのロックを解除させることができる。デバイス900が継続性機能を呼び出すかどうかは、デバイス900のロックを解除するために使用されるユーザ入力に依存し得る。例えば、デバイス900は、ユーザがアフォーダンス904をタップした場合には対応するアプリケーションを起動し、ユーザが機械的入力機構910をタップしてロックを解除した場合にはアプリケーションを起動させない。代わりに、ユーザがボタン910をタップすると、デバイス900は、ロックを解除して、直近で使用されたアプリケーションをデバイス900に表示してもよい。
3.認証済みデバイス
プライバシー上の理由から、電子デバイスがさまざまな状況で互いにロックを解除することは有用であるが、どの電子デバイスが他のデバイスの自動ロック解除を容易にすることができるかを制御する際には注意が必要となり得る。言い換えれば、自動ロック解除機能の目的でどの電子デバイスが認証されるべきかを決定することが必要な場合がある。次に、デバイス100、300、及び500(図1A、図3A、及び図5A)などの、デバイスを自動ロック解除する目的でデバイスを認証するためのユーザインターフェースに注意を向ける。
いくつかの実施形態では、デバイスは、近隣の外部デバイスが認証されるべきか否か(外部デバイスが当該デバイスのロックを解除できるようになるべきか否かを意味する)をユーザに促すことができる。図10A〜図10Dを参照して、この態様を説明する。図10Aは、いくつかの実施形態においてデバイス300(図3A)であり得るデバイス1000を示す。デバイス1000は、ロックされていることを示すロック画面1002を表示することができる。ロック画面1002は、デバイス1000をロック解除するためのパスワード入力欄1004を備えることができる。
図10Bは、デバイス1000の無線通信範囲内にある外部デバイス1010の存在を示す。外部デバイス1010は、デバイス100、300、又は500(図1A、図3A、図5A)のいずれか1つとすることができる。図示の実施形態では、外部デバイス1010はデバイス500(図5A)である。外部デバイス1010はロック解除状態で示され、メッセージ記録1012を表示するためにメッセージングアプリケーションをアクティブに実行している。デバイス1000及び外部デバイス1010は、無線通信上で、互いに検出することができる。外部デバイス1010は、デバイス1000のロック解除を容易にするために、デバイス1000に情報を送信することができる。
いくつかの実施形態では、デバイス1000は、デバイス1010を信頼するように構成されていないので、受信した情報に基づいて自動的にロック解除することを拒否することができる。言い換えれば、デバイス1000の観点からは、デバイス1010は認証済みデバイスではない。したがって、デバイス1000は、ロック画面1002を表示し続けてもよい。しかし、外部デバイス1010が依然として範囲内にある間に、ユーザは手動でデバイス1000をロック解除することができる。例えば、ユーザは、図10Bに示すように、パスワード入力欄1004に有効なパスワードを入力して、デバイス1002のロックを解除することができる。
図10Cを参照すると、ロック解除された外部デバイス1010の存在下でユーザがデバイス1000を手動でロック解除すると、デバイス1000はユーザに、デバイス1000が認証デバイスになるべきか否かを示すように促し得る。即ち、デバイス1000は、外部デバイス1010が再び通信範囲内に入る時に、外部デバイス1010が今後デバイス1000を自動でロック解除するのを許可されるべきか否かを尋ねることができる。このプロンプトは、その製造元/モデル及び/又はそのデバイス名による外部デバイス1010の特定を含むことができる。
ユーザが(例えば、アフォーダンス1012を選択することによって)肯定的に応答する場合、デバイス1000は、外部デバイス1010を認証済みデバイスとして登録することができ、これは、外部デバイス1010が、デバイス1000の自動ロック解除の目的で認証されたデバイスになることを意味する。言い換えれば、外部デバイス1010が今後デバイス1000の無線通信範囲内に入って、デバイス1000がロックされている間に外部デバイス1010がロック解除されている場合、デバイス1010はデバイス1000のロックを解除することが許可される。
更に、いくつかの実施形態では、デバイス1000は、図10Dに示すように、デバイス1000上に、(デバイス1000のロック解除用の)ユーザのパスワードを再入力することによってデバイス1002の認証を確認するようユーザに促すことができる。このようにして、デバイス1002は、今後デバイス1000を自動的にロック解除することができるようになる。
ユーザが(例えば、アフォーダンス1014を選択することによって)否定的に応答する場合、デバイス1000は、外部デバイス1010を非認証デバイスとして記憶することができる。したがって、デバイス1000は、今後2つのデバイスが再び無線通信を開始した場合に、外部デバイス1010を認証することを自動的にユーザに促さないようにすることができる。デバイス1000はまた、デバイス1010が今後無線通信範囲内に到来した時に、自動的にはロック解除しないようにすることができる。
いくつかの実施形態では、デバイスは、自動ロック解除機能の目的で特定の外部デバイスを認証すべきか否かを制御する構成設定へのアクセスを提供することができる。この態様について、図11A〜図11Cを参照して説明する。図11Aは、いくつかの実施形態においてデバイス300(図3A)であり得るデバイス1100を示す。デバイス1100はロック解除され、デスクトップ画面1102を表示していてもよい。デスクトップ画面1102は、アプリケーション、及びデバイス設定を構成するためのアイコン1104などの他の機能を起動するためのグラフィカルユーザインターフェースアフォーダンスを有することができる。構成変更可能な設定は、デバイス1100の自動ロック解除を容易にするための外部電子デバイスを識別する設定を含むことができる。
図11Bに示すように、デバイス1100は、デバイス1100の自動ロック解除の目的のために認証されたデバイスになり得る外部デバイスのリスト1106を表示することができる。リスト1106に現れるデバイスは、さまざまな技術によって決定することができる。いくつかの実施形態では、デバイス1100はユーザ識別子(例えば、アカウント又は電子メールアドレス)に関連付けられてもよく、デバイス1100は同じユーザアカウントに関連付けられた他のデバイスを含むようにリスト1106を生成してもよい。いくつかの実施形態では、デバイス1100はセキュリティドメインの信頼できるメンバーであることができ、デバイス110は、同じセキュリティドメインの信頼されたメンバーである外部デバイスのリスト1106を生成することができる。いくつかの実施形態では、デバイス1100は、セキュリティサーバ又は認証サーバに接続して、2つの電子デバイスが互いに関連付けられているか否かを判定することができる。例えば、デバイス1100は、特定のドメインに対して信頼されている、及び/又は所定のユーザ識別子に登録されているデバイスのリストを取得するために、サーバに連絡することができる。いくつかの実施形態では、デバイス1100は、外部デバイスの物理的近接度に基づいてリスト1106を生成することができる。例えば、リスト1106は、低電力無線通信プロトコルを介して現在無線通信距離内にあるデバイスのみをリストすることができる。
リスト1106は、リストされている外部デバイスの隣にチェックボックスを持つことができる。このチェックボックスによって、デバイス1100の自動ロック解除を容易にする目的で、対応する外部デバイスが認証されるべきか否かを指定することができる。図示の実施例では、デバイス1100は、「電話」及び「タブレット」デバイスに対応するチェックボックス1108及び1110を有するリスト1106を表示する。「電話」及び「タブレット」デバイス、並びにデバイス1100は、それぞれ、カリフォルニア州クパチーノのApple Inc.によるiCloud(登録商標)などのクラウドベースのサービス上の同じユーザ識別子に関連付けられてもよい。
図11Cは、ユーザのチェックボックス1110の選択に対する、デバイス1100の可能な応答を示す。図示の実施例では、デバイス1100は、自動ロック解除機能の目的で、特定の外部デバイスが認証時にデバイス1110の通信範囲内にあることを必要とする。図示した実施例では、ユーザのタブレットコンピュータは、デバイス1100との通信範囲外にある。したがって、デバイス1100は、自動ロック解除機能の目的でタブレットが認証できないことを示すメッセージ1112を表示する。
図11D及び図11Eは、ユーザによるチェックボックス1108の選択に対する、デバイス1100による可能な応答を示す。チェックボックス1108は、図示の実施例では、デバイス1100の通信範囲内にあるユーザの電話1114を表す。この場合、デバイス1100は電話1114を認証済みデバイスとして登録することができる。これは、今後、電話1114がデバイス1100の無線通信範囲内に出現し、電話1114がロック解除されている場合に、電話1114がデバイス1100のロックを解除するのを許可されることを意味する。図11Eを参照すると、ユーザに、デバイス1100上で、デバイス1100をロック解除するためのパスワードを入力させることによって、電話機1114の認証を確認することをデバイス1100は更に必要とすることができる。
図12は、認証済み外部デバイスを使用して電子デバイスをロック解除するプロセス1200を例示するフロー図である。プロセス1200は、さまざまな実施形態において、デバイス100、300、及び/又は500(図1A、図3A、図5A)などの電子デバイスにより、実行されてもよい。ブロック1202において、ロックされた電子デバイスは、無線通信を介して外部デバイスを検出する。この電子デバイスは、検出された外部デバイスが、自動ロック解除機能の目的で認証されていることを確認することができる。ブロック1204では、電子デバイスは、外部デバイスから、電子デバイスをロック解除するためのロック解除情報を受信する。電子デバイスは、受信した情報が有効かつ真正であることを確認することができる。ブロック1206では、電子デバイスは、ロック状態にある間、ユーザ入力を検出する。ブロック1208では、受信された情報及び検出されたユーザ入力に応答して、デバイスはロックを解除して通常の動作状態になる。例えば、ロック解除状態では、電子デバイスによって、ユーザは、アプリケーションを起動することが可能となる。任意選択的に、ブロック1210では、電子デバイスは、ロック解除するとすぐにアプリケーションを起動することができる。起動されるアプリケーションは、外部デバイス上でアクティブなアプリケーションと同じものとすることができる。任意選択的に、起動時に、アプリケーションは、外部デバイスでアクティブなアプリケーションと同じアプリケーション状態に入ることができる。即ち、例えば、新たに起動されたアプリケーションは、電子デバイス上で、外部デバイス上に表示されているのと同じウェブページ又は電子メールを取得して表示することができる。
図13は、電子デバイスを使用して外部電子デバイスをロック解除するプロセス1300を示すフロー図である。プロセス1300は、さまざまな実施形態において、デバイス100、300、及び/又は500(図1A、図3A、図5A)などの電子デバイスにより、実行されてもよい。ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有する電子デバイスは、ユーザインターフェースロック解除状態にある場合がある。ブロック1302では、電子デバイスは、無線通信を介して、外部デバイスを検出することができる。外部デバイスもまた、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有し、ユーザインターフェースロック状態にある。ブロック1304では、電子デバイスは、外部デバイスにロック解除データを送信し、これにより、外部デバイスがロック解除情報を受信してユーザ入力を検出した後に、外部デバイスをロック解除させることができる。任意選択的に、ブロック1306では、電子デバイスは、外部デバイスがロック解除されたことの視覚的確認及び/又は触覚的確認を提供することができる。この確認は、外部デバイスがロック解除されたという確認を電子デバイスが得た後に、提供してもよい。
図14は、外部デバイスを、自動ロック解除機能を目的とする認証済みの外部デバイスとして認識するように電子デバイスを構成するプロセス1400を例示するフロー図である。プロセス1400は、さまざまな実施形態において、デバイス100、300、及び/又は500(図1A、3A、5A)などの電子デバイスにより、実行されてもよい。ブロック1402では、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有する電子デバイスは、その無線通信範囲内で外部デバイスを検出することができる。ブロック1404では、電子デバイスは、外部デバイスが、電子デバイスの自動ロック解除の目的のために以前に認証されたか否かを判定することができる。
外部デバイスが電子デバイスの自動ロック解除の目的で認証されたデバイスである場合、電子デバイスは、例えば、図5〜図7に示される上述のユーザインターフェース、及びプロセス1200(図12)によって、自動ロック解除に進むことができる。外部デバイスが、自動ロック解除機能のための非認証デバイスとして以前に登録されている場合、電子デバイスはロック状態を維持し、ロック解除への他の可能性のある試み(パスワードの手動入力など)を待ってもよい。
外部デバイスが、まだ認証とも非認証とも登録されていない場合、処理はブロック1406に進み、(ロックされている)電子デバイスは、電子デバイスのロックを解除するためのクレデンシャルを表すユーザ入力を受信することができる。更に、電子デバイスは受信したクレデンシャルを確認し、適宜ロック解除することができる。ブロック1408では、ロック解除後、電子デバイスは、2つのデバイスが(例えば、低電力通信プロトコルの無線通信範囲内で)物理的に近接し、外部デバイスが自動ロック解除機能の目的のために認証され得ることを示す、外部デバイスの特定を表示することができる。ブロック1410で、電子デバイスは、今後、電子デバイスがユーザインターフェースロック状態にある間に、外部デバイスが電子デバイスの無線通信範囲内に到来する場合に、電子デバイスのロック解除をその外部デバイスが許可されるべきか否かをユーザに指定するように促してもよい。
図15は、いくつかの実施形態において上述の特徴を実行する電子デバイス1500の例示的な機能ブロックを示す。図15に示すように、電子デバイス1500は、グラフィカルオブジェクトを表示するように構成されたディスプレイユニット1502と、ユーザ入力を受信するように構成された人間入力インターフェースユニット1504と、外部電子デバイスを検出し、それと通信するように構成された1つ以上のRFユニット1506と、ユーザに触覚、音声、及び/又は視覚のフィードバックを提供するように構成された1つ以上のフィードバックユニットと、ディスプレイユニット1502、人間入力インターフェースユニット1504、RFユニット(単数又は複数)1506、及びフィードバックユニット1508に連結された処理ユニット1510と、を含むことができる。いくつかの実施形態では、処理ユニット1510は、オペレーティングシステムユニット1512上で動作するオペレーティングシステムをサポートするように構成される。次に、オペレーティングシステムユニット1512は、1つ以上のアプリケーションを起動及び実行するためのアプリケーションユニット1514をサポートすることができる。
いくつかの実施形態では、処理ユニット1510は、表示有効化ユニット1516及びセキュリティユニット1518を含む。いくつかの実施形態では、表示有効化ユニット1516は、ディスプレイユニット1502と連携して、ユーザインターフェース(又はユーザインターフェースの一部)を表示させるように構成される。例えば、表示有効化ユニット1516は、ロック画面の表示、ロック解除画面の表示、アプリケーションアイコンのメニュー表示、とデスクトップ画面の表示と、自動ロック解除機能の目的のために外部デバイスを認証すべきか否かの指定をユーザに促すプロンプトの表示と、に利用することができる。
いくつかの実施形態では、RFユニット1506は、受信デバイスのロック解除を容易にするクレデンシャル情報、アプリケーション情報、アプリケーション状態情報などの情報を外部デバイスから検出して受信するように構成される。いくつかの実施形態では、RFユニットは、受信デバイスのロック解除を容易にするクレデンシャル情報、アプリケーション情報、アプリケーション状態情報などの情報を検出して外部デバイスに送信するように構成される。
いくつかの実施形態では、セキュリティユニット1518は、例えば、人間入力インターフェースユニット1504及び/又はRFユニット1506の使用を通じて、入力を受信するように構成されている。例えば、セキュリティユニット1518は、RFユニット1506から受信した情報が、ロック解除を容易にするために使用することができる認証済みデバイスを表すか否かを判定することができる。セキュリティユニット1518はまた、人間入力インターフェースユニット1504から受信した情報が、電子デバイス1500のロックを解除するための有効なクレデンシャルのセットであるか否かを判定してもよい。セキュリティユニット1518は、人間入力インターフェースユニット1504及び/又はRFユニット1506から受信した情報に基づいて、デバイス1500をロック解除するか否かを決定することができる。セキュリティユニット1518はまた、デバイス1500の他のユニットに、外部デバイスが自動ロック解除機能の目的のために認証されるべきかどうかについてユーザを促させることもできる。セキュリティユニット1518は、認証済みデバイスを登録することによって、デバイス1500が認証済みデバイスを認識することができる。
図15のユニットは、図6〜図14に関して上述したさまざまな技術及び方法を実施するために使用してもよい。デバイス1500のユニットは、任意選択的に、説明されたさまざまな実施例の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせによって実装される。当業者であれば、図15に記載された機能ブロックは、説明されたさまざまな実施例の原理を実現するために、任意選択的にサブブロックに組み合わされるか、又は分離されることが理解される。したがって、本明細書の説明は、任意選択的に、本明細書に記載された機能ブロックの任意の可能な組合せ又は分離又は更なる定義をサポートする。
いくつかの実施形態によれば、図16は、さまざまな説明された実施形態の原理に従って構成された電子デバイス1600の機能ブロック図を示す。デバイスの機能ブロックは、説明されたさまざまな実施形態の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって、任意選択的に実装される。当業者であれば、図16に記載された機能ブロックは、説明されたさまざまな実施形態の原理を実現するために、任意選択的にサブブロックに組み合わされるか、又は分離されることが理解される。したがって、本明細書の説明は、任意選択的に、本明細書に記載された機能ブロックの任意の可能な組合せ又は分離又は更なる定義をサポートする。
図16に示すように、電子デバイス1600は、グラフィックユーザインターフェースを表示するように構成されたディスプレイユニット1602と、任意選択的に、接触を受信するように構成されたタッチ感知面ユニット1604と、ディスプレイユニット1602及び任意選択的にタッチ感知面ユニット1604に連結された処理ユニット1606と、を含む。いくつかの実施形態では、処理ユニット1606は、検出ユニット1608、受信ユニット1610、ロック解除ユニット1612、取得ユニット1614、表示有効化ユニット1616、プロンプト有効化ユニット1618、起動ユニット1620、呼出ユニット1622、及び送信ユニット1624を含む。電子デバイス1600は、任意選択的に、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有する。
処理ユニット1606は、無線通信を介して、(例えば、検出ユニット1608を用いて)外部デバイスを検出し、電子デバイスのロックを解除するためのロック解除情報を、(例えば、受信ユニット1610を用いて)外部デバイスから受信し、ロック状態にある間に、(例えば、検出ユニット1608を用いて)ユーザ入力を検出し、ユーザ入力及び受信されたロック解除情報の検出に応答して、(例えば、ロック解除ユニット1612を用いて)電子デバイスをロック解除するように構成されている。
いくつかの実施形態では、外部デバイスはユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有し、処理ユニット1606は、外部デバイスがユーザインターフェースロック解除状態にあるという通知を、(例えば、取得ユニット1614を用いて)取得するように更に構成されている。そして、外部デバイスがユーザインターフェースロック解除状態にある場合、処理ユニット1606は、受信したロック解除情報及び受信したユーザ入力に応答して、電子デバイスを(例えば、ロック解除ユニット1612を用いて)ロック解除する。
いくつかの実施形態では、処理ユニット1606は、電子デバイスのロック解除の後に、電子デバイスがユーザインターフェースロック解除状態にあることを示す視覚的通知の表示を、(例えば、表示有効化ユニット1616を用いて)可能にするように更に構成されている。
いくつかの実施形態では、外部デバイスは、電子デバイスがロック解除した後、電子デバイスがユーザインターフェースロック解除状態にあることを示す視覚的通知を表示する。
いくつかの実施形態では、電子デバイスがロック解除した後、外部デバイスによって、電子デバイスがユーザインターフェースロック解除状態にあることを示す触覚イベントが生じる。
いくつかの実施形態では、処理ユニット1606は、ユーザインターフェースロック状態にある間に、パスワードのユーザ入力を表す入力データを(例えば、受信ユニット1610を用いて)受信し、入力データの受信に応答して、電子デバイスのディスプレイ上に、外部デバイスが電子デバイスのロックを解除することを許可するか否かをユーザに指定するように(例えば、プロンプト有効化ユニット1618を用いて)促すことを可能にするように更に構成されている。
いくつかの実施形態では、入力データは、電子デバイスの生体センサ及び/又は外部デバイスの生体センサからの読み取りを含む。
いくつかの実施形態では、入力データは、電子デバイスのタッチ感知入力上のタッチを含む。
いくつかの実施形態では、入力データは、電子デバイスに連結されたマウス及び/又は外部デバイスに連結されたマウスの動きを含む。
いくつかの実施形態では、ユーザ入力は、電子デバイスのキーボード上のキーストロークを含む。
いくつかの実施形態では、処理ユニット1606は、外部デバイスから、外部デバイス上の第1のアプリケーションの使用を示す使用情報を受信し、ロック解除後に、電子デバイス上で、第1のアプリケーションに対応する第2のアプリケーションを起動するように更に構成される。
いくつかの実施形態では、第2のアプリケーションを起動することは、電子デバイス上の第2のアプリケーション内の状態を呼び出すことを含む。
いくつかの実施形態では、検出されたユーザ入力は、電子デバイス上のユーザ入力である。
いくつかの実施形態では、ロック解除情報は、電子デバイスに関連付けられた電子メールアドレスに基づく識別データを含む。そして、外部デバイスが電子デバイスに関連付けられた電子メールアドレスに関連付けられている場合に、処理ユニット1606は、受信されたロック解除情報及び受信されたユーザ入力に応答して、(例えば、ロック解除ユニット1612を用いて)電子デバイスをロック解除するように更に構成されている。
いくつかの実施形態では、ロック解除情報は、外部デバイスを識別する識別データを含み、処理ユニット1606は、識別データの少なくとも一部を(例えば、送信ユニット1624を用いて)認証サーバに送信し、外部デバイスが電子デバイスのロック解除を許可されているか否かの通知を(例えば、受信ユニット1610を用いて)認証サーバから受信し、外部デバイスが許可されている場合、受信されたロック解除情報及び受信されたユーザ入力に応答して、(例えば、ロック解除ユニット1612を用いて)電子デバイスをロック解除するように更に構成されている。
いくつかの実施形態では、ロック解除情報は、外部デバイスに関連付けられたセキュリティドメインの識別を含み、処理ユニット1606は、電子デバイスが同じセキュリティドメインに関連付けられている場合、受信されたロック解除情報及び受信されたユーザ入力に応答して、電子デバイスを(例えば、ロック解除ユニット1612を用いて)ロック解除するように更に構成されている。
いくつかの実施形態では、処理ユニット1606は、ピアツーピア無線通信を介して、(例えば、検出ユニット1608を用いて)外部デバイスを検出するように更に構成されている。
いくつかの実施形態では、無線通信はBluetooth通信を含む。
いくつかの実施形態では、外部デバイスは装着型電子デバイスである。
図12を参照して上述した動作は、任意選択的に、図1A〜図1B又は図16に示す構成要素によって実装される。例えば、検出動作1202及び1206、受信動作1204、並びにロック解除動作1208及び1210は、任意選択的に、イベントソータ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に示された構成要素に基づいてどのように実装できるかは明らかであろう。
いくつかの実施形態によれば、図17は、さまざまな説明された実施形態の原理に従って構成された電子デバイス1700の機能ブロック図を示す。デバイスの機能ブロックは、説明されたさまざまな実施形態の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって、任意選択的に実装される。当業者であれば、図17に記載された機能ブロックは、記載されたさまざまな実施形態の原理を実現するために、任意選択的にサブブロックに組み合わされるか又は分離されることが理解される。したがって、本明細書の説明は、任意選択的に、本明細書に記載された機能ブロックの任意の可能な組合せ又は分離又は更なる定義をサポートする。
図17に示すように、電子デバイス1700は、グラフィックユーザインターフェースを表示するように構成されたディスプレイユニット1702、任意選択的に、接触を受信するように構成されたタッチ感知面ユニット1704、並びにディスプレイユニット1702及び任意選択的にタッチ感知面ユニット1704に連結された処理ユニット1706を含む。いくつかの実施形態では、処理ユニット1706は、検出ユニット1708、送信ユニット1710、表示有効化ユニット1712、誘発ユニット(causing unit)1714、及び送付ユニット1716を含む。電子デバイス1700は、任意選択的に、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有し、ユーザインターフェースロック解除状態にあってもよい。
処理ユニット1706は、無線通信により、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有し、ユーザインターフェースロック状態にある外部デバイスを(例えば、検出ユニット1708を用いて)検出し、ロック解除データを外部デバイスに(例えば、送信ユニット1710を用いて)送信するように構成される。外部デバイスは、外部デバイスがロック解除情報を受信してユーザ入力を検出した後に、ロックを解除する。
いくつかの実施形態では、処理ユニット1706は、外部デバイスがロック解除した後に、外部デバイスがユーザインターフェースロック解除状態にあることを示す、電子デバイス上での視覚的通知の表示を(例えば、表示有効化ユニット1712を用いて)可能にするように、更に構成されている。
いくつかの実施形態では、処理ユニット1706は、外部デバイスがロック解除した後に、外部デバイスがユーザインターフェースロック解除状態にあることを示す、電子デバイス上での触覚イベントを、(例えば、誘発ユニット1714を用いて)生じさせるように、更に構成されている。
いくつかの実施形態では、外部デバイスがロック解除した後に、外部デバイスがユーザインターフェースのロック解除状態にあることを示す視覚的通知を、外部デバイスが表示する。
いくつかの実施形態では、検出されたユーザ入力は、外部デバイスの生体センサ及び/又は電子デバイスの生体センサからの読み取りである。
いくつかの実施形態では、検出されたユーザ入力は、外部デバイスのタッチ感知入力上のタッチである。
いくつかの実施形態では、検出されたユーザ入力は、外部デバイスに連結されたマウス及び/又は電子デバイスに連結されたマウスの動きである。
いくつかの実施形態では、検出されたユーザ入力は、外部デバイスのキーボード上のキーストロークである。
いくつかの実施形態では、検出されたユーザ入力は、外部デバイス上の入力である。
いくつかの実施形態では、処理ユニット1706は第1のアプリケーションを実行しており、処理ユニット1706は電子デバイス上の第1のアプリケーションの使用を示す使用情報を(例えば、送付ユニット1716を用いて)外部デバイスに送るように更に構成されており、使用情報は、少なくとも部分的に外部デバイスに、ロックを解除して外部デバイス上で第2のアプリケーションを起動するためのアフォーダンスを表示させ、第2のアプリケーションは第1のアプリケーションに対応する。
いくつかの実施形態では、使用情報は第1のアプリケーションの状態を示し、この状態は、第2のアプリケーションが外部デバイスで起動された時に、第2のアプリケーションの中で呼び出される。
いくつかの実施形態では、電子デバイスは電子メールアドレスに関連付けられ、外部デバイスは、電子デバイスに関連付けられた電子メールアドレスと同じ電子メールアドレスに関連付けられていることを確認した後にロック解除する。
いくつかの実施形態では、電子デバイスと外部デバイスとの関連付けが認証サーバに記憶され、外部デバイスはその関連付けを認証サーバに確認した後に、ロック解除する。
いくつかの実施形態では、電子デバイスはセキュリティドメインに関連付けられ、外部デバイスは、電子デバイスに関連付けられたセキュリティドメインと同じセキュリティドメインに関連付けられていることを確認した後に、ロック解除する。
いくつかの実施形態では、処理ユニット1706は、ピアツーピア無線通信を介して、(例えば、検出ユニット1708を用いて)外部デバイスを検出するように更に構成されている。
いくつかの実施形態では、無線通信はBluetooth通信を含む。
いくつかの実施形態では、電子デバイスは装着型電子デバイスである。
図13を参照して上述された動作は、図1A〜図1B又は図17に示される構成要素によって、任意選択的に実装される。例えば、検出動作1302、送信動作1304、及び受信動作1306は、任意選択的に、イベントソータ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に示された構成要素に基づいてどのように実装できるかは明らかであろう。
いくつかの実施形態によれば、図18は、説明されるさまざまな実施形態の原理に従って構成された電子デバイス1800の機能ブロック図を示す。このデバイスの機能ブロックは、説明されるさまざまな実施形態の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。図18で説明される機能ブロックが、説明されるさまざまな実施形態の原理を実行するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解される。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図18に示すように、電子デバイス1800は、グラフィックユーザインターフェースを表示するように構成されたディスプレイユニット1802、任意選択的に、接触を受信するように構成されたタッチ感知面ユニット1804、並びにディスプレイユニット1802及び任意選択的にタッチ感知面ユニット1804に連結された処理ユニット1806を含む。いくつかの実施形態では、処理ユニット1806は、受信ユニット1808、ロック解除ユニット1810、表示有効化ユニット1812、プロンプト有効化ユニット1814、ロックユニット1816、検出ユニット1818、及び誘発ユニット1820を含む。電子デバイス1800は、任意選択的に、ユーザインターフェースロック状態及びユーザインターフェースロック解除状態を有し、外部デバイスの無線通信範囲内にあってもよい。
処理ユニット1806は、ユーザインターフェースロック状態にある間に、電子デバイスのロックを解除するためのクレデンシャルを表すユーザ入力を(例えば、受信ユニット1808を用いて)受信し、このクレデンシャルが有効であるという判定に応答して、(例えば、ロック解除ユニット1810を用いて)電子デバイスをロック解除し、ロック解除後、電子デバイスのディスプレイユニットに外部デバイスの識別を(例えば、表示有効化ユニット1812を用いて)表示可能にし、今後、電子デバイスがユーザインターフェースロック状態にある間に外部デバイスが電子デバイスの無線通信範囲内に到来する場合に、電子デバイスのロック解除をその外部デバイスが許可されるか否かをユーザに指定させように、(例えば、プロンプト有効化ユニット1814を用いて)促すことを可能にするように構成されている。
いくつかの実施形態では、外部デバイスが電子デバイスとの無線通信範囲内に入った時に外部デバイスがユーザインターフェースロック解除状態にある場合、外部デバイスは電子デバイスをロック解除させる。
いくつかの実施形態では、ユーザ入力は第1のユーザ入力であり、処理ユニット1806は、電子デバイスを(例えば、ロックユニット1816を用いて)ロックし、電子デバイスがユーザインターフェースロック状態にあり、外部デバイスが通信範囲内にある間に、電子デバイスにおいて第2のユーザ入力を(例えば、検出ユニット1818を用いて)検出し、第2のユーザ入力の検出に応答して、(例えば、ロック解除ユニット1810を用いて)電子デバイスをロック解除するように、更に構成されている。
いくつかの実施形態では、処理ユニット1806は、外部デバイスがロック解除した後に、電子デバイスがユーザインターフェースロック解除状態にあることを示す電子デバイス上での視覚的通知の表示を(例えば、表示有効化ユニット1812を用いて)可能にするように、更に構成されている。
いくつかの実施形態では、処理ユニット1806は、電子デバイスがロック解除した後に、電子デバイスがユーザインターフェースロック解除状態にあることを示す外部デバイス上での視覚的通知の表示を(例えば、表示有効化ユニット1812を用いて)可能にするように、更に構成されている。
いくつかの実施形態では、処理ユニット1806は、電子デバイスがロック解除した後に、電子デバイスがユーザインターフェースロック解除状態にあることを示す外部デバイス上での触覚イベントを(例えば、誘発ユニット1820を用いて)生じさせるように、更に構成されている。
いくつかの実施形態では、電子デバイスのロックを解除するためのクレデンシャルを表すユーザ入力を受信することは、電子デバイスの生体センサからの読み出しを取得することを含む。
いくつかの実施形態では、電子デバイスのロックを解除するためのクレデンシャルを表すユーザ入力を受信することは、電子デバイスのタッチ感知入力へのタッチを検出することを含む。
いくつかの実施形態では、電子デバイスをロック解除するためのクレデンシャルを表すユーザ入力を受信することは、電子デバイスに連結されたマウスのマウス動作を検出することを含む。
いくつかの実施形態では、電子デバイスのロックを解除するためのクレデンシャルを表すユーザ入力を受信することは、電子デバイスのキーボード上のキーストロークを検出することを含む。
いくつかの実施形態では、処理ユニット1806は、ピアツーピア無線通信を介して(例えば、検出ユニット1818を用いて)外部デバイスを検出するように、更に構成されている。
いくつかの実施形態では、無線通信はBluetooth通信を含む。
いくつかの実施形態では、外部デバイスは装着型電子デバイスである。
図14を参照して上述された動作は、図1A〜図1B又は図18に示される構成要素によって、任意選択的に実装される。例えば、検出動作1402、判定動作1404、受信動作1406、及び表示動作1408及び1410を含む、図14を参照して説明された1つ以上の動作は、任意選択的に、イベントソータ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に示された構成要素に基づいてどのように実装できるかは明らかであろう。
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかし、上述の例示的説明は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上述の教示を考慮すれば、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最も良好に説明するために、選択及び説明されたものである。当業者は、これにより、意図される特定の使用に適合する種々の修正を施して、本技術及び種々の実施形態を最も良好に利用することが可能になる。
本開示及び実施例が添付図面を参照して十分に記述されてきたが、各種の変更及び修正が当業者には明らかとなるであろうことに留意されたい。かかる変更及び修正は、添付の特許請求の範囲によって画定される、本開示及び実施例の範囲内に含まれるものとして、理解されたい。