(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0081】
以下の説明では、例示的な方法、パラメータなどが記載される。しかしながら、そのような説明は、本開示の範囲に対する制限として意図されるものではなく、例示的実施形態の説明として提供されることを認識されたい。
【0082】
ユーザが、全体的な連続感を維持しつつ、1つのデバイスの使用から別のデバイスの使用へと効率的に移行することを可能にする、電子デバイスに対する必要性が存在する。例えば、ユーザが、第1のデバイス上で1つのアプリケーションを使用している場合には、ユーザが移行しつつある第2のデバイスが、同じアプリケーションを自動的に起動することにより、ユーザが進捗を損なうことなく続けることができるのであれば、有益であろう。そのような技術は、複数のコンピューティングデバイスの使用を切り替えるユーザの認知的負担を軽減することにより、生産性を高めることができる。更には、そのような技術は、通常であれば冗長ユーザ入力に対して浪費される、プロセッサ及びバッテリの電力を削減することができる。
【0084】
以下の説明では、様々な要素を説明するために「第1」、「第2」などの用語が使用されるが、これらの要素は、それらの用語によって限定されるべきではない。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明される様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶことが可能であり、同様に、第2のタッチを第1のタッチと呼ぶことも可能である。第1のタッチ及び第2のタッチは、双方ともタッチであるが、それらは同じタッチではない。
【0085】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明、及び添付の特許請求の範囲で使用するとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用するとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上の、あらゆる全ての可能な組み合わせを指すものであり、かつそれらの組み合わせを包含することもまた、理解されるであろう。用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
【0086】
用語「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]([記述される条件又はイベント]の検出に応じて)」を意味するものと解釈することができる。
【0087】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの、実施形態を説明する。一部の実施形態では、このデバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能もまた含む、モバイル電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的実施形態としては、Apple Inc.(Cupertino,California)による、iPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスが挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるラップトップ又はタブレットコンピュータなどの、他のポータブル電子デバイスも、任意選択的に使用される。また、一部の実施形態では、このデバイスは、ポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるデスクトップコンピュータであることも理解されたい。
【0088】
以下の論考では、ディスプレイ及びタッチ感知面を含む、電子デバイスを説明する。しかしながら、この電子デバイスは、物理キーボード、マウス、及び/又はジョイスティックなどの、1つ以上の他の物理ユーザインタフェースデバイスを、任意選択的に含むことを理解されたい。
【0089】
このデバイスは、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブ閲覧アプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの、様々なアプリケーションをサポートすることができる。
【0090】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又はそれぞれのアプリケーション内で、任意選択的に、調節及び/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透明なユーザインタフェースを使用して、様々なアプリケーションを任意選択的にサポートする。
【0091】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。
図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を介して、任意選択的に通信する。
【0092】
本明細書及び特許請求の範囲で使用するとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当たりの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる値を含む、値の範囲、より典型的には、数百(例えば、少なくとも256)の異なる値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組み合わせを使用して、判定(又は、測定)される。例えば、タッチ感知面の下の、又はタッチ感知面に隣接する、1つ以上の力センサを任意選択的に使用して、そのタッチ感知面上の様々な点での力を測定する。一部の実装では、複数の力センサからの力測定値を組み合わせて(例えば、加重平均で)、推定される接触の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触区域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の静電容量及び/若しくはその変化、並びに/又は接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装では、これらの接触の力又は圧力の代替的測定値を直接使用して、強度閾値を超過しているか否かが判定される(例えば、強度閾値は、代替的測定値に対応する単位で説明される)。一部の実装では、これらの接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を使用して、強度閾値を超過しているか否かが判定される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するための、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御部を介して)受信するための面積が制限されている、低減されたサイズのデバイス上で、通常であればユーザによってアクセスすることが不可能であり得る、追加的なデバイス機能への、ユーザのアクセスが可能となる。
【0093】
本明細書及び特許請求の範囲で使用するとき、用語「触知出力」は、ユーザの触覚を使用してユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、指、手のひら、又はユーザの手の他の部分)に接触している状況では、物理的変位によって生成される触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の知覚される変化に対応する触感として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。一部の場合には、ユーザの移動によって物理的に押圧される(例えば、変位される)、タッチ感知面に関連付けられた物理アクチュエータボタンの移動が存在しない場合であっても、ユーザは、「ダウンクリック」又は「アップクリック」などの触感を感じることになる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化が存在しない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。それゆえ、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するものとして説明される場合、特に明記しない限り、その生成される触知出力は、典型的な(又は、平均的な)ユーザに対して、その説明される感覚認知を生じさせる、デバイス又はその構成要素の物理的変位に対応する。
【0094】
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、2つ以上の構成要素を任意選択的に組み合わせるか、又は、それらの構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。
図1Aに示される様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含めた、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの双方の組み合わせとして実装される。
【0095】
メモリ102は、1つ以上のコンピュータ可読記憶媒体を含み得る。このコンピュータ可読記憶媒体は、有形かつ非一時的とすることができる。メモリ102は、高速ランダムアクセスメモリを含み得るものであり、また、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含み得る。メモリコントローラ122は、デバイス100の他の構成要素によるメモリ102へのアクセスを制御することができる。
【0096】
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に結合することができる。1つ以上のプロセッサ120は、メモリ102内に記憶された様々なソフトウェアプログラム及び/又は命令セットを稼働若しくは実行することにより、デバイス100に関する様々な機能を実行し、かつデータを処理する。一部の実施形態では、周辺機器インタフェース118、CPU120、及びメモリコントローラ122は、チップ104などの単一チップ上に実装することができる。一部の他の実施形態では、それらは、別個のチップ上に実装することができる。
【0097】
RF(無線周波数)回路機構108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路機構108は、電気信号を電磁信号に/電磁信号を電気信号に変換し、その電磁信号を介して、通信ネットワーク及び他の通信デバイスと通信する。RF回路機構108は、これらの機能を実行するための周知の回路機構を任意選択的に含み、それらの回路機構としては、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどが挙げられるが、これらに限定されない。RF回路機構108は、ワールドワイドウェブ(WWW)とも称されるインターネットなどのネットワーク、セルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)、及び/又はメトロポリタンエリアネットワーク(MAN)などの、イントラネット及び/又は無線ネットワーク、並びに他のデバイスと、無線通信によって任意選択的に通信する。RF回路機構108は、短距離通信無線によるものなどの、近距離通信(NFC)フィールドを検出するための、周知の回路機構を任意選択的に含む。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(GSM)(登録商標)、拡張データGSM環境(EDGE)(登録商標)、高速ダウンリンクパケット接続(HSDPA)、高速アップリンクパケット接続(HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(DC−HSPDA)、ロングタームエボリューション(LTE)(登録商標)、近距離通信(NFC)、広帯域符号分割多元接続(W−CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、Bluetooth Low Energy(BTLE)(登録商標)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、及び/又はIEEE 802.11ac)、ボイスオーバーインターネットプロトコル(VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP)及び/又はポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(SIMPLE)、インスタントメッセージング及びプレゼンスサービス(IMPS))、及び/又はショートメッセージサービス(SMS)、あるいは本文書の出願日現在未だ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
【0098】
オーディオ回路機構110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路機構110は、周辺機器インタフェース118からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ111に送信する。スピーカ111は、その電気信号を人間の耳に聞こえる音波に変換する。オーディオ回路機構110はまた、マイクロフォン113によって音波から変換された、電気信号も受信する。オーディオ回路機構110は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インタフェース118に送信する。オーディオデータは、周辺機器インタフェース118によって、メモリ102及び/又はRF回路機構108から取得することができ、かつ/あるいは、メモリ102及び/又はRF回路機構108に送信することもできる。一部の実施形態では、オーディオ回路機構110はまた、ヘッドセットジャック(例えば、
図2の212)も含む。このヘッドセットジャックは、オーディオ回路機構110と、出力専用ヘッドホン、あるいは出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の双方を備えるヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間の、インタフェースを提供する。
【0099】
I/Oサブシステム106は、タッチスクリーン112及び他の入力制御デバイス116などの、デバイス100上の入出力周辺機器を、周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力若しくは制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、他の入力制御デバイス116との間で、電気信号を受信/送信する。他の入力制御デバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。一部の代替的実施形態では、入力コントローラ(1つ又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、
図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量調節のための、アップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、
図2の206)を含む。
【0100】
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つ以上のソフトキーボードを実装するために使用される。
【0101】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112との間で、電気信号を受信及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。この視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組み合わせ(「グラフィック」と総称される)を含み得る。一部の実施形態では、これらの視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応し得る。
【0102】
タッチスクリーン112は、触覚及び/又は触知の接触に基づいて、ユーザからの入力を受け入れる、タッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内のあらゆる関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上の接触(及び、その接触のあらゆる移動又は中断)を検出し、その検出された接触を、タッチスクリーン112上に表示されるユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0103】
タッチスクリーン112は、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用することができるが、他の実施形態では、他のディスプレイ技術を使用することができる。タッチスクリーン112及びディスプレイコントローラ156は、現在既知の、又は今後開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、及びその接触のあらゆる移動若しくは中断を検出することができ、それらの技術としては、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素が挙げられるが、これらに限定されない。例示的実施形態では、Apple Inc.(Cupertino,California)によるiPhone(登録商標)及びiPod Touch(登録商標)で見出されるものなどの、投影型相互静電容量式感知技術が使用される。
【0104】
タッチスクリーン112の一部の実施形態でのタッチ感知ディスプレイは、米国特許第6,323,846号(Westermanら)、同第6,570,557号(Westermanら)、及び/若しくは同第6,677,932号(Westerman)、並びに/又は米国特許出願公開第2002/0015024(A1)号で説明されている、マルチタッチ感知タッチパッドと類似のものとすることができ、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。しかしながら、タッチスクリーン112は、デバイス100からの視覚出力を表示するが、その一方で、タッチ感知タッチパッドは、視覚出力を提供しない。
【0105】
タッチスクリーン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」。これらの出願の全ては、全体が参照により本明細書に組み込まれる。
【0106】
タッチスクリーン112は、100dpiを超えるビデオ解像度を有し得る。一部の実施形態では、このタッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112と接触することができる。一部の実施形態では、ユーザインタフェースは、主として指に基づく接触及びジェスチャで機能するように設計されるが、これらは、タッチスクリーン上での指の接触面積がより広いことにより、スタイラスに基づく入力よりも精度が低い恐れがある。一部の実施形態では、デバイスは、指に基づく粗い入力を、ユーザによって所望されるアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
【0107】
一部の実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化するための、タッチパッド(図示せず)を含み得る。一部の実施形態では、このタッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、そのデバイスのタッチ感知区域である。タッチパッドは、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部とすることができる。
【0108】
デバイス100はまた、様々な構成要素に電力を供給するための、電力システム162も含む。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられる任意の他の構成要素を含み得る。
【0109】
デバイス100はまた、1つ以上の光センサ164も含み得る。
図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、電荷結合素子(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを含み得る。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも呼ばれる)と関連して、光センサ164は、静止画像又はビデオを取り込むことができる。一部の実施形態では、光センサは、デバイスの前面上のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面上に配置されることにより、タッチスクリーンディスプレイは、静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することが可能となる。一部の実施形態では、光センサは、デバイスの前面上に配置されることにより、ユーザがタッチスクリーンディスプレイ上で他のテレビ会議の参加者を見る間に、ユーザの画像をテレビ会議のために取得することができる。一部の実施形態では、光センサ164の位置は、ユーザによって(例えば、デバイス筐体内のレンズ及びセンサを回転させることによって)変更することができ、それにより、テレビ会議並びに静止画像及び/又はビデオ画像の取得の双方のために、単一の光センサ164を、タッチスクリーンディスプレイと共に使用することができる。
【0110】
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗歪みゲージ、容量式力センサ、電気式力センサ、圧電力センサ、光学式力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は、圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、環境からの接触強度情報(例えば、圧力情報、又は圧力情報の代用物)を受信する。一部の実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と共に、又は近接して配置される。一部の実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面上に配置されるタッチスクリーンディスプレイ112の反対側である、デバイス100の背面上に配置される。
【0111】
デバイス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をオフにして無効化する。
【0112】
デバイス100はまた、1つ以上の触知出力生成器167も任意選択的に含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又は、モーター、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、電気信号を、デバイス上の触知出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械デバイスを含む。接触強度センサ165は、触覚フィードバックモジュール133からの触知フィードバック生成命令を受信して、デバイス100のユーザによって感知することが可能な、デバイス100上の触知出力を生成する。一部の実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と共に、又は近接して配置され、任意選択的に、タッチ感知面を垂直方向に(例えば、デバイス100の表面内/表面外に)又は横方向に(例えば、デバイス100の表面と同じ平面内で前後に)移動させることによって、触知出力を生成する。一部の実施形態では、少なくとも1つの触知出力生成器は、デバイス100の前面上に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面上に配置される。
【0113】
デバイス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は、任意選択的に、加速度計(1つ又は複数)168に加えて、デバイス100の位置及び向き(例えば、縦表示又は横表示)に関する情報を取得するための、磁力計(図示せず)及びGPS(又は、GLONASS若しくは他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
【0114】
一部の実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は、命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は、命令セット)132、テキスト入力モジュール(又は、命令セット)134、全地球測位システム(GPS)モジュール(又は、命令セット)135、及びアプリケーション(又は、命令セット)136を含む。更には、一部の実施形態では、
図1A及び
図3に示されるように、メモリ102(
図1A)及びメモリ370(
図3)は、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下のうちの1つ以上を含む:現在アクティブであるアプリケーションが存在する場合には、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、いずれのアプリケーション、ビュー、又は他の情報が、タッチスクリーンディスプレイ112の様々な領域を占有するかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス116から取得した情報を含む、センサ状態、並びに、デバイスの場所及び/又は姿勢に関する、場所情報。
【0115】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、iOS(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための、様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【0116】
通信モジュール128は、1つ以上の外部ポート124を介した他のデバイスとの通信を容易にし、また、RF回路機構108及び/又は外部ポート124によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、他のデバイスに直接結合するように、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に結合するように適合される。一部の実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じか、若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。
【0117】
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と関連して)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される、接触点の移動を判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。一部の実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
【0118】
一部の実施形態では、接触/動きモジュール130は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。一部の実施形態では、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って決定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス100の物理ハードウェアを変更することなく調節することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、そのトラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の既定の閾値のうちのいずれかに設定することができる。更には、一部の実装では、デバイスのユーザには、(例えば、個別の強度閾値を調節することによって、かつ/又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって)強度閾値のセットのうちの1つ以上を調節するための、ソフトウェア設定が提供される。
【0119】
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上での異なるジェスチャは、異なる接触パターン(例えば、検出された接触の、異なる動き、タイミング、及び/又は強度)を有する。それゆえ、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、指のタップジェスチャを検出することは、指を下ろすイベントを検出し、続いて(例えば、アイコンの位置での)その指を下ろすイベントと同じ位置(又は、実質的に同じ位置)で指を上げる(リフトオフする)イベントを検出することを含む。別の実施例として、タッチ感知面上での指のスワイプジェスチャを検出することは、指を下ろすイベントを検出し、続いて指をドラッグする1つ以上のイベントを検出し、その後、続いて指を上げる(リフトオフする)イベントを検出することを含む。
【0120】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することが可能な任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【0121】
一部の実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信して、次いで、ディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
【0122】
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(1つ又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【0123】
テキスト入力モジュール134は、グラフィックモジュール132の構成要素とすることができ、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)内でテキストを入力するための、ソフトキーボードを提供する。
【0124】
GPSモジュール135は、デバイスの場所を判定し、この情報を、様々なアプリケーションで使用するために(例えば、場所に基づくダイヤル発呼で使用するために電話138へ、写真/ビデオのメタデータとしてカメラ143へ、並びに、天気ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの、場所に基づくサービスを提供するアプリケーションへ)提供する。
【0125】
アプリケーション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。
【0126】
メモリ102内に記憶することが可能な他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0127】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)アドレス帳又は連絡先リストを管理するために使用することができ、この管理には、アドレス帳に名前(1つ又は複数)を追加すること、アドレス帳から名前(1つ又は複数)を削除すること、電話番号(1つ又は複数)、電子メールアドレス(1つ又は複数)、実際の住所(1つ又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話138、テレビ会議139、電子メール140、又はIM141などによる通信を開始及び/又は容易にするために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【0128】
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電話モジュール138は、電話番号に対応する一連の文字を入力し、連絡先モジュール137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、それぞれの電話番号をダイヤルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために、使用することができる。上述のように、この無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを使用することができる。
【0129】
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と関連して、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、遂行し、終了するための、実行可能命令を含む。
【0130】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能命令を含む。画像管理モジュール144と関連して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する、電子メールの作成及び送信を、非常に容易にする。
【0131】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージングモジュール141は、インスタントメッセージに対応する一連の文字を入力し、従前に入力された文字を修正し、それぞれのインスタントメッセージを(例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のXMPP、SIMPLE、若しくはIMPSを使用して)送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを見るための、実行可能命令を含む。一部の実施形態では、送信及び/又は受信されるインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS)でサポートされるような、グラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含み得る。本明細書で使用するとき、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)の双方を示す。
【0132】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと関連して、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングを監視するために使用されるセンサを較正し、トレーニング用の音楽を選択して再生し、トレーニングデータを表示、記憶、及び送信するための、実行可能命令を含む。
【0133】
タッチスクリーン112、ディスプレイコントローラ156、光センサ(1つ又は複数)164、光センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又は(ビデオストリームを含む)ビデオを取り込み、それらをメモリ102内に記憶し、静止画像又はビデオの特性を修正するか、あるいはメモリ102から静止画像又はビデオを削除するための、実行可能命令を含む。
【0134】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオ画像を配列し、修正(例えば、編集)するか又は他の方式で操作し、ラベルを付け、削除し、(例えば、デジタルスライドショー又はアルバム内で)提示し、記憶するための、実行可能命令を含む。
【0135】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はその諸部分、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索すること、リンクすること、受信すること、及び表示することを含めた、ユーザの指示に従ってインターネットを閲覧するための、実行可能命令を含む。
【0136】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、カレンダーモジュール148は、カレンダー、及びカレンダーに関連付けられたデータ(例えば、カレンダー項目、to doリストなど)を、ユーザの指示に従って作成し、表示し、修正し、記憶するための、実行可能命令を含む。
【0137】
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!(登録商標)ウィジェット)を含む。
【0138】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触モ/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と関連して、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって使用することができる。
【0139】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従って、1つ以上の検索条件(例えば、1つ以上のユーザ指定の検索用語)に一致する、メモリ102内のテキスト、音楽、音声、画像、ビデオ、及び/又は他のファイルを検索するための、実行可能命令を含む。
【0140】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路機構108、及びブラウザモジュール147と関連して、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された、録音済みの音楽ファイル及び他のサウンドファイルを、ユーザがダウンロード及び再生することを可能にする、実行可能命令と、ビデオを(例えば、タッチスクリーン112上に、又は外部ポート124を介して外部に接続されたディスプレイ上に)表示するか、提示するか、又は他の方式で再生するための、実行可能命令とを含む。一部の実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を含む。
【0141】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、メモモジュール153は、ユーザの指示に従って、メモ、to doリストなどを作成及び管理するための、実行可能命令を含む。
【0142】
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と関連して、地図モジュール154は、ユーザの指示に従って、地図、及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び他の関心対象地点についてのデータ、並びに場所に基づく他のデータ)を受信し、表示し、修正し、記憶するために使用することができる。
【0143】
タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路機構108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザが、特定のオンラインビデオにアクセスし、閲覧し、(例えば、ストリーミング及び/又はダウンロードによって)受信し、(例えば、タッチスクリーン上で、又は外部ポート124を介して接続された外部のディスプレイ上で)再生し、そのオンラインビデオへのリンクを有する電子メールを送信し、また他の方式で、H.264などの1つ以上のファイル形式でオンラインビデオを管理することが可能となる、命令を含む。一部の実施形態では、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141を使用して、特定のオンラインビデオへのリンクを送信する。オンラインビデオアプリケーションの更なる説明は、2007年6月20日出願の米国特許仮出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」に見出すことができ、これらの出願の内容は、全体が参照により本明細書に組み込まれる。
【0144】
上記で特定されたモジュール及びアプリケーションのそれぞれは、上述の1つ以上の機能、及び本出願で説明される方法(例えば、コンピュータにより実施される方法及び本明細書で説明される他の情報処理方法)を実行する、実行可能命令のセットに対応する。これらのモジュール(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。例えば、ビデオプレーヤモジュールを音楽プレーヤモジュールと組み合わせて、単一のモジュール(例えば、
図1Aのビデオ及び音楽プレーヤモジュール152)にすることができる。一部の実施形態では、メモリ102は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更には、メモリ102は、上述されていない追加的モジュール及びデータ構造を記憶することができる。
【0145】
一部の実施形態では、デバイス100は、そのデバイス上での既定の機能のセットの動作が、排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作に関する主要な入力制御デバイスとして、タッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の物理入力制御デバイス(プッシュボタン、ダイヤルなど)の数を低減することができる。
【0146】
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。一部の実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへと、デバイス100をナビゲートする。そのような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。一部の他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又は他の物理入力制御デバイスである。
【0147】
図1Bは、一部の実施形態による、イベント処理のための例示的構成要素を示すブロック図である。一部の実施形態では、メモリ102(
図1A)又はメモリ370(
図3)は、イベントソータ170(例えば、オペレーティングシステム126内)、及びそれぞれのアプリケーション136−1(例えば、前述のアプリケーション137〜151、155、及び380〜390のうちのいずれか)を含む。
【0148】
イベントソータ170は、イベント情報を受信して、そのイベント情報の配信先となる、アプリケーション136−1、及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。一部の実施形態では、アプリケーション136−1は、そのアプリケーションがアクティブであるか又は実行中の場合に、タッチ感知ディスプレイ112上に表示される現在のアプリケーションビュー(1つ又は複数)を示す、アプリケーション内部状態192を含む。一部の実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(1つ又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
【0149】
一部の実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列のうちの1つ以上などの、追加情報を含む。
【0150】
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上でのユーザのタッチ)についての情報を含む。周辺機器インタフェース118は、I/Oサブシステム106から、あるいは近接センサ166、加速度計(1つ又は複数)168、及び/又は(オーディオ回路機構110を介して)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0151】
一部の実施形態では、イベントモニタ171は、所定の間隔で、周辺機器インタフェース118にリクエストを送信する。これに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回り、かつ/又は所定の持続時間を超えた入力を受信すること)が存在する場合にのみ、イベント情報を送信する。
【0152】
一部の実施形態では、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
【0153】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示する場合に、サブイベントが1つ以上のビュー内のいずれの場所で発生したかを判定するための、ソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
【0154】
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、そのアプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応し得る。例えば、タッチが検出される最下位レベルのビューを、ヒットビューと呼ぶことができ、適切な入力として認識されるイベントのセットは、少なくとも部分的には、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに基づいて、判定することができる。
【0155】
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、そのサブイベントを処理するべき階層内の最下位のビューとしての、ヒットビューを特定する。殆どの状況では、このヒットビューは、開始サブイベント(例えば、イベント又は潜在的なイベントを形成するサブイベントのシーケンス内の、最初のサブイベント)が発生する、最下位レベルのビューである。ヒットビューが、ヒットビュー判定モジュール172によって特定されると、そのヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する、全てのサブイベントを受信する。
【0156】
アクティブイベント認識部判定モジュール173は、ビュー階層内のいずれのビュー(1つ又は複数)が、特定のサブイベントのシーケンスを受信するべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール173は、そのヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントが、特定の1つのビューに関連付けられる区域に完全に限定された場合であっても、その階層内のより上位のビューは、依然として、アクティブに関与するビューとして維持される。
【0157】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に配布する。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173によって判定されたイベント認識部に、イベント情報を配信する。一部の実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取得されるイベント情報を、イベント待ち行列内に記憶する。
【0158】
一部の実施形態では、オペレーティングシステム126が、イベントソータ170を含む。あるいは、アプリケーション136−1が、イベントソータ170を含む。更に他の実施形態では、イベントソータ170は、スタンドアロンモジュールであるか、又は、接触/動きモジュール130などの、メモリ102内に記憶された別のモジュールの一部である。
【0159】
一部の実施形態では、アプリケーション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内に含まれる。
【0160】
それぞれのイベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。一部の実施形態では、イベント認識部180はまた、メタデータ183及び(サブイベント配信命令を含み得る)イベント配信命令188の、少なくともサブセットも含む。
【0161】
イベント受信部182は、イベントソータ170からイベント情報を受信する。このイベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントが、タッチの動きに関係する場合、イベント情報はまた、そのサブイベントの速度及び方向も含み得る。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
【0162】
イベント比較部184は、イベント情報を、既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。一部の実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。一部の実施形態では、イベント(187)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの移動、タッチの取り消し、及び複数のタッチを含む。一実施例では、イベント1(187−1)に関する定義は、表示オブジェクト上でのダブルタップである。このダブルタップは、例えば、所定の段階に関する表示オブジェクト上での第1のタッチ(タッチの開始)、所定の段階に関する第1のリフトオフ(タッチの終了)、所定の段階に関する表示オブジェクト上での第2のタッチ(タッチの開始)、及び所定の段階に関する第2のリフトオフ(タッチの終了)を含む。別の実施例では、イベント2(187−2)に関する定義は、表示オブジェクト上でのドラッギングである。このドラッギングは、例えば、所定の段階に関する表示オブジェクト上でのタッチ(又は、接触)、タッチ感知ディスプレイ112を横断するタッチの移動、及びタッチのリフトオフ(タッチの終了)を含む。一部の実施形態では、イベントはまた、1つ以上の関連するイベントハンドラ190に関する情報も含む。
【0163】
一部の実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトに関するイベントの定義を含む。一部の実施形態では、イベント比較部184は、いずれのユーザインタフェースオブジェクトがサブイベントに関連付けられるかを判定するために、ヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトが、タッチ感知ディスプレイ112上に表示されるアプリケーションビューでは、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)に関連付けられているかを判定する。各表示オブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合には、イベント比較部は、そのヒットテストの結果を使用して、いずれのイベントハンドラ190をアクティブ化させるべきかを決定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられた、イベントハンドラを選択する。
【0164】
一部の実施形態では、それぞれのイベント(187)に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延アクションも含む。
【0165】
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186内のイベントのいずれにも一致しないと判定する場合、それぞれのイベント認識部180は、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、このタッチに基づくジェスチャの後続のサブイベントを無視する。この状況では、存在する場合には、そのヒットビューに関してアクティブのまま維持される他のイベント認識部が、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
【0166】
一部の実施形態では、それぞれのイベント認識部180は、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す、設定可能な特性、フラグ、及び/又はリストを有する、メタデータ183を含む。一部の実施形態では、メタデータ183は、イベント認識部が互いにどのように対話し得るか、又は、どのように対話が有効化されるかを示す、設定可能な特性、フラグ、及び/又はリストを含む。一部の実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるか否かを示す、設定可能な特性、フラグ、及び/又はリストを含む。
【0167】
一部の実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されると、イベントに関連付けられたイベントハンドラ190をアクティブ化させる。一部の実施形態では、それぞれのイベント認識部180は、イベントハンドラ190に、そのイベントに関連付けられたイベント情報を配信する。イベントハンドラ190をアクティブ化させることは、それぞれのヒットビューにサブイベントを送信すること(及び、送信を延期すること)とは異なる。一部の実施形態では、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、そのフラグに関連付けられたイベントハンドラ190は、フラグをキャッチして、既定のプロセスを実行する。
【0168】
一部の実施形態では、イベント配信命令188は、イベントハンドラをアクティブ化させることなく、サブイベントについてのイベント情報を配信する、サブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ、又はアクティブに関与するビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関与するビューに関連付けられたイベントハンドラは、そのイベント情報を受信して、所定のプロセスを実行する。
【0169】
一部の実施形態では、データアップデータ176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。一部の実施形態では、オブジェクトアップデータ177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ177は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、その表示情報を、タッチ感知ディスプレイ上に表示するために、グラフィックモジュール132に送信する。
【0170】
一部の実施形態では、イベントハンドラ(1つ又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか、又はそれらに対するアクセスを有する。一部の実施形態では、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136−1又はアプリケーションビュー191の単一のモジュール内に含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュール内に含まれる。
【0171】
タッチ感知ディスプレイ上でのユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではない点を理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの移動及びマウスボタンの押圧、タッチパッド上での、タップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭指示、検出される眼球運動、生体認証入力、及び/又は、これらの任意の組み合わせが、認識対象となるイベントを定義する、サブイベントに対応する入力として、任意選択的に利用される。
【0172】
図2は、一部の実施形態による、タッチスクリーン112を有するポータブル多機能デバイス100を示す。このタッチスクリーンは、ユーザインタフェース(UI)200内に、任意選択的に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの1つ以上を選択することが可能となる。一部の実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。一部の実施形態では、このジェスチャは、1回以上のタップ、1回以上の(左から右へ、右から左へ、上方へ、及び/又は下方への)スワイプ、及び/又は、デバイス100と接触した指の(右から左へ、左から右へ、上方へ、及び/又は下方への)ローリングを、任意選択的に含む。一部の実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上を掃過するスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
【0173】
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも含み得る。前述のように、メニューボタン204を使用して、デバイス100上で実行することが可能なアプリケーションのセット内の任意のアプリケーション136に、ナビゲートすることができる。あるいは、一部の実施形態では、メニューボタンは、タッチスクリーン112上に表示されるGUI内の、ソフトキーとして実装される。
【0174】
一実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調節ボタン(1つ又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押下して、既定の時間間隔にわたってボタンを押下された状態で保持することによって、デバイス上の電源をオン/オフし、ボタンを押下して、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ/又は、デバイスをロック解除するか、若しくはロック解除プロセスを開始するために、任意選択的に使用される。代替的実施形態では、デバイス100はまた、マイクロフォン113を介して、一部の機能のアクティブ化又は非アクティブ化に関する、口頭入力も受け入れる。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための、1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器167も、任意選択的に含む。
【0175】
図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を参照して上述された触知出力生成器(1つ又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は
図1Aを参照して上述された接触強度センサ(1つ又は複数)165と同様の接触強度センサ)も、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(1つ又は複数)310からはリモートに配置される1つ以上の記憶デバイスを、任意選択的に含む。一部の実施形態では、メモリ370は、ポータブル多機能デバイス100(
図1A)のメモリ102内に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更には、メモリ370は、ポータブル多機能デバイス100のメモリ102内には存在しない、追加的なプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するが、その一方で、ポータブル多機能デバイス100(
図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
【0176】
上記で特定された
図3の要素のそれぞれは、前述のメモリデバイスのうちの1つ以上に記憶することができる。上記で特定されたモジュールのそれぞれは、上述の機能を実行するための命令セットに対応する。上記で特定されたモジュール又はプログラム(例えば、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、それゆえ、様々な実施形態では、これらのモジュールの様々なサブセットを組み合わせるか、又は他の方式で再編成することができる。一部の実施形態では、メモリ370は、上記で特定されたモジュール及びデータ構造のサブセットを記憶することができる。更には、メモリ370は、上述されていない追加的なモジュール及びデータ構造を記憶することができる。
【0177】
ここで、例えば、ポータブル多機能デバイス100上に実装することが可能な、ユーザインタフェースの実施形態に注意を向ける。
【0178】
図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、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン444、及び
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション若しくはモジュール用のアイコン446。
【0179】
図4Aに示されるアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152用のアイコン422は、任意選択的に、「音楽」又は「音楽プレーヤ」とラベル付けすることができる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンに関するラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0180】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、
図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又は、デバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器359を含む。
【0181】
以下の実施例のうちの一部は、タッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、一部の実施形態では、デバイスは、
図4Bに示されるように、ディスプレイとは別個のタッチ感知面上での入力を検出する。一部の実施形態では、このタッチ感知面(例えば、
図4Bでの451)は、ディスプレイ(例えば、450)上の主軸(例えば、
図4Bでの453)に対応する主軸(例えば、
図4Bでの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの場所に対応する場所(例えば、
図4Bでは、460は468に対応し、462は470に対応する)での、タッチ感知面451との接触(例えば、
図4Bでの460及び462)を検出する。この方式で、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、
図4Bでの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)が、多機能デバイスのディスプレイ(例えば、
図4Bでの450)上のユーザインタフェースを操作するために、デバイスによって使用される。同様の方法が、本明細書で説明される他のユーザインタフェースに関して、任意選択的に使用されることを理解されたい。
【0182】
更には、以下の実施例は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)に関連して説明されるが、一部の実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、(例えば、接触の代わりの)マウスクリックに続けた、(例えば、接触の移動の代わりの)スワイプの経路に沿ったカーソルの移動によって、任意選択的に置き換えられる。別の実施例としては、タップジェスチャは、(例えば、接触の検出に続いて、その接触の検出を停止する代わりの)カーソルがタップジェスチャの場所の上に配置されている間のマウスクリックによって、任意選択的に置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが任意選択的に同時に使用されるか、又は、マウスと指の接触とが任意選択的に同時に使用されることを理解されたい。
【0183】
図4Cは、例示的なパーソナル電子デバイス460を示す。デバイス460は、本体462を含む。一部の実施形態では、デバイス460は、デバイス100及びデバイス300に関連して説明された特徴(例えば、
図1A〜
図4B)の一部又は全てを含み得る。一部の実施形態では、デバイス460は、以降ではタッチスクリーン464である、タッチ感知ディスプレイスクリーン464を有する。あるいは、又はタッチスクリーン464に加えて、デバイス460は、ディスプレイ及びタッチ感知面を有する。デバイス100及びデバイス300と同様に、一部の実施形態では、タッチスクリーン464(又は、タッチ感知面)は、加えられている接触(例えば、タッチ)の強度を検出するための、1つ以上の強度センサを有し得る。タッチスクリーン464(又は、タッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス460のユーザインタフェースは、タッチの強度に基づいて、タッチに応じることができ、これは、異なる強度のタッチが、異なるユーザインタフェース動作をデバイス460上に呼び出し得ることを意味する。
【0184】
タッチ強度を検出して処理するための技術は、例えば、関連出願である、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号に見出すことができ、これらの文献のそれぞれは、全体が参照により本明細書に組み込まれる。
【0185】
一部の実施形態では、デバイス460は、1つ以上の入力機構466及び入力機構468を有する。入力機構466及び入力機構468は、含まれる場合には、物理的なものとすることができる。物理入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。一部の実施形態では、デバイス460は、1つ以上の取り付け機構を有する。そのような取り付け機構は、含まれる場合には、例えば、帽子、アイウェア、イヤリング、ネックレス、シャツ、ジャケット、ブレスレット、腕時計バンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどに、デバイス460を取り付けることを可能にし得る。これらの取り付け機構は、ユーザによってデバイス460が着用されることを可能にし得る。
【0186】
図4Dは、例示的なパーソナル電子デバイス470を示す。一部の実施形態では、デバイス470は、
図1A、
図1B、及び
図3に関連して説明された構成要素の一部又は全てを含み得る。デバイス470は、I/Oセクション474を、1つ以上のコンピュータプロセッサ476及びメモリ478と動作可能に結合する、バス472を有する。I/Oセクション474は、タッチ感知構成要素482及び任意選択的にタッチ強度感知構成要素484を有し得る、ディスプレイ480に接続することができる。更には、I/Oセクション474は、Wi−Fi、Bluetooth、近距離通信(「NFC」)、セルラー、及び/又は他の無線通信技術を使用して、アプリケーション及びオペレーティングシステムデータを受信するための、通信ユニット490と接続することができる。デバイス470は、入力機構486及び/又は入力機構488を含み得る。入力機構486は、例えば、回転可能入力デバイス、又は押下可能かつ回転可能な入力デバイスとすることができる。入力機構488は、一部の実施例では、ボタンとすることができる。
【0187】
入力機構488は、一部の実施例では、マイクロフォンとすることができる。パーソナル電子デバイス470は、GPSセンサ492、加速度計494、方向センサ495(例えば、コンパス)、ジャイロスコープ496、運動センサ498、及び/又はこれらの組み合わせなどの、様々なセンサを含み得るものであり、それらの全ては、I/Oセクション474に動作可能に接続することができる。
【0188】
パーソナル電子デバイス470のメモリ478は、コンピュータ実行可能命令を記憶するための、非一時的コンピュータ可読記憶媒体とすることができ、それらの命令は、1つ以上のコンピュータプロセッサ476によって実行されると、例えば、コンピュータプロセッサに、プロセス900〜1500、及びプロセス2000〜2200(
図9〜
図15、及び
図20〜
図22)を含めた、上述の技術を実行させることができる。それらのコンピュータ実行可能命令はまた、コンピュータに基づくシステム、プロセッサを含むシステム、又は、命令実行システム、装置、若しくはデバイスから命令をフェッチし、それらの命令を実行することが可能な他のシステムなどの、命令実行システム、装置、又はデバイスによって、又はそれらと関連して使用するために、任意の非一時的コンピュータ可読記憶媒体内に、記憶及び/又は伝送することもできる。本文書の目的上、「非一時的コンピュータ可読記憶媒体」は、命令実行システム、装置、若しくはデバイスによって、又はそれらと関連して使用するために、コンピュータ実行可能命令を有形的に収容又は記憶することが可能な、任意の媒体とすることができる。非一時的コンピュータ可読記憶媒体としては、磁気記憶装置、光学式記憶装置、及び/又は半導体記憶装置を挙げることができるが、これらに限定されない。そのような記憶装置の例としては、磁気ディスク、CD、DVD、又はBlu−ray(登録商標)技術に基づく光ディスク、並びに、フラッシュ、ソリッドステートドライブなどの永続的ソリッドステートメモリが挙げられる。パーソナル電子デバイス470は、
図4Dの構成要素及び構成に限定されるものではなく、他の構成要素又は追加的構成要素を、複数の構成で含み得る。
【0189】
本明細書で使用するとき、用語「アフォーダンス」とは、デバイス100、300、460、及び/又はデバイス470(
図1、
図3、及び
図4C〜
図4D)のディスプレイスクリーン上に表示することが可能な、ユーザ対話型グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、アフォーダンスを構成することができる。
【0190】
本明細書で使用するとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他の位置マーカを含む一部の実装では、そのカーソルが「フォーカスセレクタ」としての役割を果たすことにより、特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にカーソルが存在する間に、入力(例えば、押圧入力)がタッチ感知面(例えば、
図3でのタッチパッド355、又は
図4Bでのタッチ感知面451)上で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、
図1Aでのタッチ感知ディスプレイシステム112、又は
図4Aでのタッチスクリーン112)を含む一部の実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」としての役割を果たすことにより、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。一部の実装では、フォーカスは、対応するカーソルの移動又はタッチスクリーンディスプレイ上の接触の移動を伴うことなく(例えば、タブキー又は矢印キーを使用して、1つのボタンから別のボタンにフォーカスを移動させることによって)、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動され、これらの実装では、フォーカスセレクタは、ユーザインタフェースの種々の領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインタフェースの要素を、デバイスに示すことによって)伝達するために、ユーザによって制御される、ユーザインタフェース要素(又は、タッチスクリーンディスプレイ上での接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出される間の、対応のボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の場所は、その対応のボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
【0191】
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の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つ以上の動作を実行するか否か(例えば、それぞれの動作を実行するか、又はそれぞれの動作の実行を見合わせるか)を決定するために使用される。
【0192】
一部の実施形態では、特性強度を判定する目的のために、ジェスチャの一部分が特定される。例えば、タッチ感知面は、開始位置から移行して終了位置に到達し、その時点で接触の強度が増大する、連続的なスワイプ接触を受信することができる。この実施例では、終了位置での接触の特性強度は、スワイプ接触の全体ではなく、その連続的なスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づき得る。一部の実施形態では、接触の特性強度を判定する前に、そのスワイプ接触の強度に、平滑化アルゴリズムを適用することができる。例えば、この平滑化アルゴリズムは、任意選択的に、非加重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズムのうちの1つ以上を含む。一部の状況では、これらの平滑化アルゴリズムは、特性強度の判定を目的として、スワイプ接触の強度の小幅な急上昇又は急降下を排除する。
【0193】
タッチ感知面上の接触の強度は、接触検出強度閾値、軽い押圧強度閾値、深い押圧強度閾値、及び/又は1つ以上の他の強度閾値などの、1つ以上の強度閾値に関連して特徴付けすることができる。一部の実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドをクリックすることに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されない名目上の接触検出強度閾値を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上での接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、特に明記しない限り、これらの強度閾値は、異なるユーザインタフェース図のセット間でも一貫している。
【0194】
軽い押圧強度閾値を下回る強度から、軽い押圧強度閾値と深い押圧強度閾値との間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値を下回る強度から、深い押圧強度閾値を上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値を下回る強度から、接触検出強度閾値と軽い押圧強度閾値との間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値を上回る強度から、接触検出強度閾値を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。一部の実施形態では、接触検出強度閾値はゼロである。一部の実施形態では、接触検出強度閾値はゼロよりも大きい。
【0195】
本明細書で説明される一部の実施形態では、1つ以上の動作は、対応の押圧入力を含むジェスチャの検出に応じて、又は対応の接触(又は、複数の接触)で実行される対応の押圧入力の検出に応じて実行され、それらの対応の押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。一部の実施形態では、対応の動作は、押圧入力強度閾値を上回る、対応の接触の強度の増大(例えば、対応の押圧入力の「ダウンストローク」)の検出に応じて、実行される。一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応の接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、対応の動作は、その後続の押圧入力閾値を下回る、対応の接触の強度の減少(例えば、対応の押圧入力の「アップストローク」)の検出に応じて、実行される。
【0196】
一部の実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を、定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、一部の実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応の接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応の動作は、そのヒステリシス強度閾値を下回る、後続の対応の接触の強度の減少(例えば、対応の押圧入力の「アップストローク」)の検出に応じて、実行される。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、対応の動作は、その押圧入力(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)の検出に応じて、実行される。
【0197】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応じて、任意選択的にトリガされる。更には、押圧入力強度閾値を下回る、接触の強度の減少の検出に応じて、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応じて、任意選択的に実行される。
【0198】
本明細書で使用するとき、「インストール済みアプリケーション」とは、電子デバイス(例えば、デバイス100、300、460、及び/又はデバイス470)上にダウンロードされており、そのデバイス上で起動される(例えば、開かれた状態になる)準備が整っている、ソフトウェアアプリケーションを指す。一部の実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出して、その抽出部分をコンピュータシステムのオペレーティングシステムと統合する、インストールプログラムによって、インストール済みアプリケーションになる。
【0199】
本明細書で使用するとき、用語「開いているアプリケーション」又は「実行中のアプリケーション」とは、状態情報が(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部として)保持されている、ソフトウェアアプリケーションを指す。開いているか又は実行中のアプリケーションは、以下のタイプのアプリケーションのうちのいずれか1つとすることができる。
●そのアプリケーションが使用されているデバイスのディスプレイスクリーン上に、現時点で表示されている、アクティブなアプリケーション、
●現時点で表示されていないが、そのアプリケーションに関する1つ以上のプロセスが、1つ以上のプロセッサによって処理されている、バックグラウンドアプリケーション(又は、バックグラウンドプロセス)、及び
●稼働していないが、メモリ(それぞれ、揮発性又は不揮発性)内に記憶された、そのアプリケーションの実行を再開するために使用することが可能な状態情報を有する、中断又は休止状態のアプリケーション。
【0200】
本明細書で使用するとき、用語「閉じているアプリケーション」とは、状態情報が保持されていない(例えば、閉じているアプリケーションに関する状態情報が、デバイスのメモリ内に記憶されていない)ソフトウェアアプリケーションを指す。したがって、アプリケーションを閉じることは、そのアプリケーションに関するアプリケーションプロセスを停止及び/又は除去すること、並びに、そのアプリケーションに関する状態情報をデバイスのメモリから除去することを含む。一般的には、第1のアプリケーション中に、第2のアプリケーションを開くことにより、その第1のアプリケーションが閉じられることはない。第2のアプリケーションが表示され、かつ第1のアプリケーションの表示が停止される場合、第1のアプリケーションは、バックグラウンドアプリケーションになる。
【0201】
ここで、異なる電子デバイス間を移行する際のユーザエクスペリエンスを改善するために、デバイス100、300、460、及び/又はデバイス470などの、ディスプレイ及びタッチ感知面を備える多機能デバイス上で実装することが可能な、ユーザインタフェース(「UI」)並びに関連プロセスの実施形態に注意を向ける。簡潔性のために、本明細書で説明される機能は、「連続性」機能と称される場合がある。
1.連続性機能の例示的使用
【0202】
図5A〜
図5Dは、連続性機能を使用する、2つの異なる電子デバイスの使用間の例示的な移行を示す。
図5Aで、ユーザ502は、電子デバイス504を使用している。電子デバイス504は、一部の実施形態では、ポータブル多機能デバイス100とすることができる。図示のように、電子デバイス504は、セルラー電話である。セルラー電話504は、ユーザインタフェース画面506を表示している。ユーザインタフェース画面506は、セルラー電話504上で実行中のメッセージングアプリケーションの一部である。ユーザインタフェース画面506は、ユーザ502と、Johnという名前の参加者510との間の、メッセージトランスクリプトを示す。図示のメッセージトランスクリプトは、メッセージング会話を表す、メッセージ吹き出し508を含む。進行中の会話では、John(参加者510)は、ユーザ504に、ウェブサイトのURLを要求している。
【0203】
セルラー電話504は、比較的小さいディスプレイスクリーンを有するため、要求されたウェブサイトのURLをセルラー電話504上で調べることは、非効率的であることが判明する場合がある。その代わりに、ユーザ504は、要求された情報を、比較的大きいディスプレイを有する電子デバイス上で見つけ出すことを望む場合がある。
図5Bに示されるように、ユーザ504は、この目的のためにタブレットコンピュータ512に接近するが、これは、タブレットコンピュータ512が、より大きい画面を有し、このタスクにより適しているためである。セルラー電話504を保持しているユーザ502が、タブレットコンピュータ512に接近するにつれて、それらの2つのデバイスは、互いの無線通信範囲内に入り、無線通信を開始する。タブレットコンピュータ512は、低エネルギー無線プロトコルを介して、セルラー電話504の存在を検出することができる。検出の時点で、タブレットコンピュータ512は、セルラー電話504から、セルラー電話504上でメッセージングアプリケーションがアクティブであることを示す使用情報などの、追加情報を取得することができる。
【0204】
図5Cに転じると、この情報に基づいて、タブレットコンピュータ512は、ユーザが、そのユーザの進行中のメッセージング会話をタブレットコンピュータ512上で続けることが可能であることを示す、アフォーダンス514を表示する。アフォーダンス514は、ユーザインタフェースのロック画面515上に表示することができる。換言すれば、セルラー電話504の検出、及び(セルラー電話504上で使用されているメッセージングアプリケーションに関する)使用情報の受信に応じて、タブレットコンピュータ512は、連続性アフォーダンス(例えば、アイコン)514を表示することにより、それらのデバイス間でのメッセージングアプリケーションの連続性が可能であることをユーザに通知する。
【0205】
本明細書で使用するとき、用語「アフォーダンス」とは、デバイス100、300、及び/又はデバイス460(
図1、
図3、及び
図4C)のディスプレイスクリーン上に表示することが可能な、ユーザ対話型グラフィカルユーザインタフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)はそれぞれ、アフォーダンスを構成することができる。
【0206】
ユーザは、表示された連続性アフォーダンスを選択することにより、対応するメッセージングアプリケーションを起動することができる。一部の実施形態では、ユーザは、タッチジェスチャ(例えば、タップ、スワイプ、フリック、長押し)を介して、連続性アフォーダンスを選択することができる。一部の実施形態では、ユーザは、マウスジェスチャ(例えば、ホバー、クリック、ダブルクリック、ドラッグ)を介して、連続性アフォーダンスを選択することができる。
図5Dの実施例では、ユーザ502は、(矢印516によって示されるように)連続性アフォーダンス514を上向きにスワイプすることにより、対応するメッセージングアプリケーションを、タブレットコンピュータ512上で起動することができる。すなわち、特定の方向(例えば、上向き)のスワイプジェスチャに応じて、タブレットコンピュータ512はロック解除して、メッセージングアプリケーションを起動する。タブレットコンピュータ512上で起動されるメッセージングアプリケーションは、セルラー電話504上のアクティブなメッセージングアプリケーションのバージョンとすることができる。例えば、タブレットコンピュータ512上のアクティブなメッセージングアプリケーションは、iPad(登録商標)用のMessages(登録商標)とすることができ、その一方で、セルラー電話504上のアクティブなメッセージングアプリケーションは、iPhone(登録商標)用のMessagesとすることができ、双方ともApple Inc.(Cupertino,California)によって作成されたものである。
【0207】
対応するメッセージングアプリケーションを起動することに加えて、タブレットコンピュータ512はまた、セルラー電話504上で示されるものと同じメッセージトランスクリプトを表示することもできる。更には、タブレットコンピュータ512は、より大きいディスプレイスクリーンを有するため、追加的なメッセージ吹き出し518を示すことができる(セルラー電話504上では、吹き出し508のみが示されていたことを想起されたい)。この時点から、ユーザ502は、参加者510に関して要求されたURLを見つけ出すべく、タブレットコンピュータ512上のウェブ閲覧アプリケーションに切り替えることができる。
【0208】
上述の連続性技術を通じて、ユーザ502は、進捗を損なうことなく、セルラー電話504からタブレットコンピュータ512に移行した。この移行の間、ユーザ502は、手動でメッセージアプリケーションを見つけ出して起動する必要はなかった。更には、この移行の間、ユーザ502は、参加者510に関与するメッセージトランスクリプトを、他のメッセージトランスクリプトの中から検索する必要はなかった。むしろ、メッセージングアプリケーションの状態は、セルラー電話504からタブレットコンピュータ512への移行後にも存続していた。
【0209】
現在は米国特許第7,657,849号である、米国特許出願第11/322,549号は、ユーザインタフェースロック状態(以降では、「ロック状態」)では、デバイス100、300、又は460などのデバイスは、電源がオンであり動作可能ではあるが、全てではないにせよ殆どのユーザ入力を無視することを説明している。すなわち、そのデバイスは、ユーザ入力に応じてアクションを起こすことはなく、かつ/又は、そのデバイスは、ユーザ入力に応じて、既定の動作のセットを実行することを防止されている。この既定の動作のセットには、ユーザインタフェース間のナビゲーション、及び既定の機能のセットのアクティブ化又は非アクティブ化を含めることができる。このロック状態は、デバイスの非意図的な使用若しくは無認可の使用、又は、デバイス上の機能のアクティブ化若しくは非アクティブ化を防止するために使用することができる。デバイスがロック状態にある場合、そのデバイスはロックされていると言うことができる。一部の実施形態では、ロック状態のデバイスは、そのデバイスをユーザインタフェースロック解除状態へ移行させる試みに相当する入力、又は、そのデバイスの電源をオフにすることに相当する入力を含めた、限定されたユーザ入力のセットに応じることができる。換言すれば、ロックされたデバイスは、そのデバイスをユーザインタフェースロック解除状態へ移行させる試みに相当するユーザ入力、又は、そのデバイスの電源をオフにすることに相当するユーザ入力には応じるが、ユーザインタフェース間をナビゲートする試みに相当するユーザ入力には応じない。デバイスがユーザ入力を無視する場合であっても、そのデバイスは、入力を検出した時点で、その入力が無視されるであろうことを示すために、ユーザに感覚的フィードバック(視覚的、聴覚的、又は振動フィードバックなど)を依然として提供することができる点を理解されたい。しかしながら、ロックされたデバイスは、依然として、限定された入力の部類には応じることができる。この限定された部類には、連続性機能を呼び出す入力を含めた、デバイスをユーザインタフェースロック解除状態に移行させる試みに相当するものであると、そのデバイスによって判定される入力を含めることができる。
【0210】
ユーザインタフェースロック解除状態(以降では、「ロック解除状態」)では、デバイスは、その通常の動作状態にあり、ユーザインタフェースとの対話に対応するユーザ入力を検出して応じている。ロック解除状態にあるデバイスは、ロック解除デバイスとして説明することができる。ロック解除デバイスは、ユーザインタフェース間のナビゲーション、データの入力、及び機能のアクティブ化若しくは非アクティブ化に関する、ユーザ入力を検出して応じる。デバイスがタッチスクリーンを含む実施形態では、ロック解除デバイスは、そのタッチスクリーンを通じて、ユーザインタフェース間のナビゲーション、データの入力、及び機能のアクティブ化又は非アクティブ化に対応する、接触を検出して応じる。
【0211】
図5Eは、セルラー電話504とタブレットコンピュータ512との間の連続性の別の実施例を示すが、異なる例示的アプリケーション(この場合は、ウェブ閲覧アプリケーション)を伴う。
図5Eは、連続性機能が、長い文書を手掛けているユーザに、どのようにして利益をもたらし得るかを示す。図示のように、セルラー電話504は、ウェブ閲覧アプリケーションを介して、ウェブページ520を表示している。セルラー電話504は、比較的小さいディスプレイスクリーンを有するため、ユーザは、範囲内に存在する、タブレットコンピュータ512などの、より大きいデバイスに移行することを望む場合がある。これらの2つのデバイスは範囲内に存在するため、タブレットコンピュータ512は、セルラー電話504の近接性を無線で検出することができ、セルラー電話504から、アクティブなウェブ閲覧アプリケーションに関する使用情報を受信することができる。この検出、及び受信された使用情報に応じて、タブレットコンピュータ512は、連続性アフォーダンス522を表示する。連続性アフォーダンス522は、起動されることになるアプリケーションがウェブ閲覧アプリケーションであることを示す、サムネイル画像を含み得る。このアフォーダンスが選択されると、タブレットコンピュータ512は、ウェブ閲覧アプリケーションの、そのタブレットコンピュータ512のバージョンを起動する。更には、対応するウェブ閲覧アプリケーションを起動した時点で、タブレットコンピュータ512は、セルラー電話504上で表示されている、ウェブページ520の部分を表示する。それゆえ、ユーザ502は、自身が中断した箇所から、読み続けることができる。タブレットコンピュータ512は、より大きいディスプレイスクリーンを有するため、ウェブページ520の追加的な部分521もまた、閲覧するために表示することができる点に留意されたい。
【0212】
一部の実施形態では、ユーザは、特定の方向でアフォーダンスをスワイプすることによって、連続性アフォーダンスを選択する(例えば、呼び出す)。
図5Dの実施例では、上向きのスワイプを使用して、連続性アフォーダンス514を呼び出す。この場合、連続性アフォーダンス上でのタップ(これは、連続性機能を呼び出すには不十分である)に応じて、デバイスは、その連続性アフォーダンスを(視覚的アニメーションを介して)飛び跳ねさせることにより、連続性機能を呼び出すためにはスワイプが必要であることを、ユーザに示すことができる。任意選択的に、デバイスは、スワイプが必要であることをユーザに通知する、指示テキストを表示することができる。任意選択的に、デバイス100は、スワイプを選択として登録するために、所定の閾値距離を越えて連続性アフォーダンスをスワイプすることを、ユーザに要求する場合がある。この場合、閾値よりも短いスワイプに応じて、デバイスは、そのアフォーダンスを跳ね戻させることにより、連続性機能を呼び出すためには、より長いスワイプが必要であることを、ユーザに示唆することができる。任意選択的に、デバイスは、連続性機能を呼び出すためには、より長いスワイプが必要であることをユーザに通知する、指示テキストを表示することができる。任意選択的に、デバイスは、ユーザがアフォーダンスと数回対話したが、それぞれの試みで機能の呼び出しに失敗した後にのみ、指示テキストを表示することができる。あるいは、一部の実施形態では、ユーザは、アフォーダンスをタップすることによって、連続性アフォーダンスを選択する。
図5Eの実施例では、連続性アフォーダンス522は、タップによって選択することができる。
2.連続性機能を呼び出すための例示的ユーザインタフェース
【0213】
ここで、
図5F〜
図5Nを参照して、連続性機能を呼び出すためのアフォーダンスを表示することが可能な、更なる方式に注意を向ける。
図5Fに示されるように、一部の実施形態では、デバイス100aが、範囲内に存在し、かつ関連するアプリケーション使用データを送信している、互換性のある外部デバイスを感知すると、ユーザインタフェースロック画面523上に、連続性アフォーダンス522が表示される。(デバイス100aは、一部の実施形態では、デバイス100とすることができる。)この連続性アフォーダンス522の表示は、一時的なものとすることができ、これは、連続性アフォーダンス522が、何らかの条件の後に、表示が停止される場合があることを意味する。例えば、連続性アフォーダンス522は、所定の時間(例えば、8秒間)にわたって表示された後、表示から削除することができる。別の実施例として、互換性のある外部デバイスが通信範囲から離れる場合には、連続性アフォーダンス522を表示から削除することができる。任意選択的に、互換性のある外部デバイスが範囲内に入ってから、所定の時間(例えば、8秒間)が経過した後に、デバイス100aのタッチ感知ディスプレイの電源がオンになる場合には、そのデバイスが、関連するアプリケーション使用データを送信していた場合であっても、連続性アフォーダンス522は表示されない。任意選択的に、互換性のある外部デバイス(又は、その外部デバイス上のアクティブなアプリケーション)が、最近、所定の時間内に(例えば、直近の8秒以内に)使用された場合にのみ、連続性アフォーダンス522が、ロック画面523上に表示される。
【0214】
また、
図5Fにも示されるように、一部の実施形態では、連続性アフォーダンス526は、デバイス100bのユーザインタフェースロック画面525上に永続的に出現するものであり、これは、ロック画面525が表示される場合は常に、アフォーダンスが表示されることを意味する。(デバイス100bは、一部の実施形態では、デバイス100とすることができる。)永続的な連続性アフォーダンス526は、互換性のあるデバイスが近傍に存在し、連続性が可能である場合、1つの視覚的外観を呈し得る。このアフォーダンスは、移行するためのデバイスが存在しない場合、別の視覚的外観を呈し得るものであり、例えば、無効化されているように見える場合がある。永続的な連続性アフォーダンス526は、連続性機能が、強調された視覚的プロファイルを有することが望ましい場合に、使用することができる。
【0215】
また、
図5Fにも示されるように、一部の実施形態では、連続性アフォーダンス526は、デバイス100cのロック画面527上に、他のシステムメッセージの待ち行列内のメッセージとして表示される。(デバイス100cは、一部の実施形態では、デバイス100とすることができる。)図示のように、デバイス100cは、着信メッセージ、電話の呼び出し、カレンダー項目などをユーザに通知する、通知メッセージを表示することができる。デバイス100cは、これらの通知メッセージを、待ち行列内に編成することができる。これらの実施形態では、連続性アフォーダンス526は、対応するアプリケーションを起動するデバイスの能力をユーザに通知するために、同じ方式で出現することができる。この配置は、連続性機能が、縮小された限定的な視覚的プロファイルを有することが望ましい場合に、使用することができる。
【0216】
図5Gは、生体認証読み取り装置を使用する、連続性機能の組み込みを示す。デバイス100は、デバイスをロック解除するために使用される、生体認証読み取り装置を有し得る。
図5Gでは、デバイス100には、指紋読み取り装置534の形態の、生体認証読み取り装置が装備されている。デバイス100は、指紋読み取り装置534が既知の指紋を読み取る場合に、ロック解除されるように構成することができる。ロック解除されると、デバイス100が、範囲内に存在し、かつ関連するアプリケーション使用データを送信している、互換性のある外部デバイスを検出する場合に、デバイス100は、ダイアログ536を表示することができる。ダイアログ536は、ユーザに、連続性を所望するか否かを尋ねる。ユーザが「はい」を指示する場合には、デバイス100は、上述のように、連続性技術を使用して、対応するアプリケーションを起動する。例えば、デバイス100は、デバイス504(
図5A)上で実行されているメッセージングアプリケーションに対応する、メッセージングアプリケーションを起動することができる。起動されたメッセージングアプリケーションは、ユーザインタフェース画面506(
図5A)内に示されるメッセージトランスクリプトを表示することができる。
【0217】
図5Hは、一部の実施形態での、マルチタスク式ユーザインタフェース画面内への、連続性機能の組み込みを示す。図示のように、デバイス100は、マルチタスク画面538を表示することができる。マルチタスク画面538は、複数のアクティブなアプリケーションの中から、デバイス100上でアクティブなアプリケーションになるべきアプリケーションを選択するための、ユーザインタフェースとすることができる。この目的のために、マルチタスク画面538は、種々のアプリケーションに対応する、アフォーダンス540、542、及びアフォーダンス544を含み得る。アフォーダンス540、542、及びアフォーダンス544は、それぞれ、画面538の左側、中央、及び右側付近に配置される。中央のアフォーダンス542は、デバイス100上での、直近のアクティブなアプリケーションを表し得る。右のアフォーダンス544は、デバイス100上で稼働中の、バックグラウンドアプリケーションを表し得る。アフォーダンス542又はアフォーダンス544のユーザ選択(例えば、タップ)により、その対応するアプリケーションを、デバイス100上でのアクティブなアプリケーションにすることができる。
【0218】
最も左側のアフォーダンス540は、連続性機能の呼び出しのために確保することができる。デバイス100が、範囲内に存在し、かつ関連するアプリケーション使用データを送信している、互換性のある外部デバイスを検出する場合に、アフォーダンス540を表示することができる。図示の実施例では、アフォーダンス540のユーザ選択(例えば、タップ)は、デバイス100に、連続性技術を使用して、対応するアプリケーションを起動させる。例えば、アフォーダンス540のユーザ選択に応じて、デバイス100は、デバイス504(
図5A)上で最後に使用されたメッセージングアプリケーションに対応する、メッセージングアプリケーションを起動することができる。起動されたメッセージングアプリケーションは、ユーザインタフェース画面506(
図5A)内に示されるメッセージトランスクリプトを表示することができる。
【0219】
540、542、及び544のアフォーダンスによって表されるアプリケーションの、ユーザによる識別を容易にするために、それらのアフォーダンスのそれぞれは、そのアプリケーションのサムネイル画像を表示することができる。例えば、アフォーダンス540は、そのアフォーダンスをユーザが選択することに応じて起動される、メッセージトランスクリプト(例えば、アプリケーションの状態)を示すために、ユーザインタフェース画面506のサムネイル画像を示すことができる。更には、アフォーダンス540をユーザが選択することを容易にするために、マルチタスク画面538は、スクロール可能とすることができる。すなわち、ユーザは、より簡便な選択のために、中央のアフォーダンス542を右向きにスワイプすることにより、アフォーダンス540を画面の中央に引き寄せることができる。
【0220】
図5Iは、更に他のユーザインタフェース画面内に、連続性機能を含めることを示す。デバイス100のようなデバイスのオペレーティングシステムは、その動作環境の範囲内で、画面が全般的にアクセス可能であるという意味で「広範性」である、特定の画面を提供することができる。これらの広範性画面のうちの1つ以上の中に、連続性アフォーダンスを組み込むことにより、その動作環境の全体にわたる、連続性機能のアクセス可能性を促進することができる。
図5Iに示されるように、デバイス100が、ユーザインタフェース画面550を表示している間に、ユーザは、矢印546によって示されるように、画面550の上端から下向きにスワイプすることにより、通知画面530を表出させることができる。(ユーザインタフェース画面550は、アプリケーション画面、又は「ホーム」画面とすることができる。)あるいは、ユーザは、矢印547によって示されるように、画面550の左端から右向きにスワイプすることにより、検索画面560を表出させることもできる。あるいは、ユーザは、矢印548によって示されるように、画面550の下端から上向きにスワイプすることにより、コントロール画面570を表出させることもできる。(本明細書で使用するとき、左端、上端、及び下端は、ディスプレイ表面と同一平面内にある平面上に存在する。)
【0221】
通知画面530は、着信メッセージ、電話の呼び出し、カレンダー項目などのデバイスのアクティビティをユーザに通知する、通知メッセージを表示することができる。通知画面530はまた、範囲内の外部デバイスのアクティブなアプリケーションに対応するアプリケーションを起動するデバイスの能力を、ユーザに通知するための、連続性アフォーダンス532も含み得る。ユーザは、連続性アフォーダンス532を選択する(例えば、タップする)ことにより、対応するアプリケーションをデバイス100上で起動することができる。検索画面560は、検索条件と、関連する検索結果のセットとを表示することができる。それらの検索結果は、連続性アフォーダンス562を含み得る。ユーザは、連続性アフォーダンス562を選択する(例えば、タップする)ことにより、対応するアプリケーションをデバイス100上で起動することができる。コントロール画面570は、機内モード、無線通信、セルラー通信、ピアツーピア通信などをトグルするためのスイッチなどの、デバイス100の動作を制御するためのアフォーダンスを有し得る。一部の実施形態では、コントロール画面570は、連続性機能のオン/オフを切り替えるための、連続性アフォーダンス572を含み得るものであり、これは、ユーザが、連続性アフォーダンス572を選択する(例えば、タップする)ことにより、連続性機能を有効化/無効化することができることを意味する。一部の実施形態では、コントロール画面570は、連続性機能を使用してアプリケーションを起動するための、連続性アフォーダンス572を含むものであり、これは、ユーザが、連続性アフォーダンス572を(例えば、タップする)ことにより、対応するアプリケーションをデバイス100上で起動することができることを意味する。
【0222】
通知画面530、検索画面560、及びコントロール画面570を呼び出すために使用される正確なスワイプジェスチャ(及び、より全般的には、入力様式)は、実施形態よって異なり得る。例えば、一部の実施形態では、通知画面530及びコントロール画面570は、
図5Iによって示されるものとは反対の方式で呼び出すことができる。すなわち、上端からの下向きのスワイプ(例えば、546)がコントロール画面570を呼び出し、下端からの上向きのスワイプ(例えば、548)が通知画面530を呼び出すことが可能である。更に他の実施形態では、デバイス100は、スワイプがタッチ感知ディスプレイの端部から実施されるか否かに基づいて、スワイプジェスチャを区別することができる。すなわち、デバイス100は、タッチ感知ディスプレイの上端からの下向きのスワイプに応じて、通知画面530を表示するが、タッチ感知ディスプレイの外周の内部から開始される下向きのスワイプに応じて、検索画面560を表示することが可能である。これらの広範性画面のうちの1つ以上の中に、連続性アフォーダンスを組み込むことにより、その動作環境の全体にわたる、連続性機能のアクセス可能性を有益に促進することができる。
【0223】
図5J〜
図5Lは、様々なユーザインタフェース内での、連続性アフォーダンスの更なる配置を示す。
図5Jでは、ラップトップ599はユーザインタフェースロック状態にあり、ロック解除するためのパスワードの入力を必要としている。ラップトップ599は、一部の実施形態では、デバイス300とすることができる。パスワード入力フィールド574に加えて、ロック画面576は、連続性アフォーダンス578を含む。図示の実施例では、連続性アフォーダンス578は、ロック画面576の上部右隅に配置され、この場所には通知メッセージもまた表示される。一部の実施形態では、ユーザは、パスワード入力フィールド574内に適切なパスワードを入力して、連続性アフォーダンス578をクリックすることによって、連続性機能を呼び出すことができる。すなわち、有効なパスワード、及び連続性アフォーダンス578上でのマウスイベント(例えば、クリック)の受信に応じて、デバイス599は、ロック解除して、範囲内のデバイスのアクティブなアプリケーションに対応する、アプリケーションを起動することができる。一部の実施形態では(
図5Jには示さず)、連続性アフォーダンス578は、パスワード入力フィールド574内に配置される。一部の実施形態では(
図5Jには示さず)、ロック画面576は、連続性アフォーダンス578が呼び出された場合に起動されるアプリケーションを示す、サムネイル画像を含む。一部の実施形態では、ロック解除した後、ラップトップ599は、対応するアプリケーションを起動する前に、ユーザに確認を要求する。
【0224】
これもまた
図5Jに示されるように、ラップトップ599は、ロック解除することができ、デスクトップ画面580を表示することができる。デスクトップ画面580は、ドック区域582を有し得る。ドック区域582は、アプリケーションを起動するためのアイコンを有し得る。ドック区域582はまた、連続性機能を使用してアプリケーションを起動するための、連続性アフォーダンス584も含み得る。一部の実施形態では、連続性アフォーダンス584は、区域582内に永続的に存在する。一部の実施形態では、連続性アフォーダンス584は、互換性のあるデバイスが、ラップトップ599の範囲内に入り、関連するアプリケーション使用データをラップトップ599に送信する場合に、ドック区域582内に挿入される。任意選択的に、連続性アフォーダンス584は、ドック区域582内に挿入される際に飛び跳ねることにより、視認されやすくすることができる。一部の実施形態では、表示される場合、連続性アフォーダンス584は、ドック区域582上の最も左側のアイコンである。一部の実施形態では、連続性アフォーダンス584は、所定の時間(例えば、8秒間)にわたって表示された後、区域582から削除される。連続性アフォーダンス584のユーザ選択(例えば、タップ)に応じて、ラップトップ599は、連続性機能に基づくアプリケーション、例えば、セルラー電話504(
図5A)上でアクティブであるメッセージングアプリケーションの、異なるバージョンを起動することができる。
【0225】
ドック区域582の一例は、Apple Inc.(Cupertino,California)によって作成された、Mac OSオペレーティングシステムによって提供されるDockである。しかしながら、ドック区域582は、異なる実施形態では、他の視覚的形態を呈し得る。例えば、ドック区域582は、画面の下部又は他の端部の全域にわたるバーとして出現することができ、このバーに、アプリケーションを起動するためのアイコンを固定することができる。
【0226】
図5Kに示されるように、ラップトップ599によって表示されるデスクトップ画面580は、メニューバー586を有し得る。メニューバー586は、連続性機能を使用してアプリケーションを起動するための、連続性アフォーダンス588を含み得る。一部の実施形態では、連続性アフォーダンス588は、メニューバー586上の最も右側のアイコンである。一部の実施形態では、連続性アフォーダンス588は、メニューバー586上に永続的に存在する。一部の実施形態では、連続性アフォーダンス588は、互換性のあるデバイスが、ラップトップ599の範囲内に入り、関連するアプリケーション使用データをラップトップ599に送信する場合に、メニューバー586内に挿入される。連続性アフォーダンス588は、メニューバー586内に挿入される際に、(例えば、アニメーションを介して)飛び跳ねることにより、視認されやすくすることができる。一部の実施形態では、連続性アフォーダンス588は、所定の時間(例えば、8秒間)にわたって表示された後、メニューバー586から削除される。連続性アフォーダンス588のユーザ選択(例えば、タップ)に応じて、ラップトップ599は、連続性機能に基づくアプリケーション、例えば、デバイス504(
図5A)上でアクティブであるメッセージングアプリケーションの、異なるバージョンを起動することができる。
【0227】
図5Kに示されるメニューバー586の一例は、Apple Inc.(Cupertino,California)によって作成された、Mac OSオペレーティングシステム内の「Finder」と呼ばれるメニューバーである。しかしながら、異なる実施形態では、メニューバー586は、画面上の異なる場所に存在し得るものであり、これは、画面の上端から離れた場所に配置される場合があることを意味する。例えば、メニューバー586は、画面の下端の全域にわたるバーとして出現することができ、このバーに、アプリケーションプログラムを開始するための階層メニューを見出すことができる。そのような実装では、連続性アフォーダンス588は、例えば、画面の右下の区域内に出現し得る。
【0228】
これもまた
図5Kに示されるように、ラップトップ599は、ロック解除することができ、デスクトップ画面590を表示することができる。デスクトップ画面590は、アイコングリッド591を有し得る。アイコングリッド591は、ラップトップ599上でアプリケーションを起動するための、アイコンを有し得る。例えば、アイコングリッド591は、デバイス100上でウェブ閲覧アプリケーションを起動するための、アイコン592を有し得る。アイコングリッド591はまた、連続性機能を使用してアプリケーションを起動するための、連続性アフォーダンス593も含み得る。連続性アフォーダンス593上でのユーザ選択(例えば、タップ)に応じて、ラップトップ599は、連続性機能に基づくアプリケーション、例えば、デバイス504(
図5A)上でアクティブであるメッセージングアプリケーションの、異なるバージョンを起動することができる。
【0229】
図5Lに示されるように、ラップトップ599は、ラップトップ599上で実行されている種々のアプリケーション間で切り替えるための、タスク切り替えユーザインタフェース(タスクスイッチャ)594を表示することができる。タスクスイッチャ594は、アクティブなアプリケーションを表すアフォーダンスを含む。図示のように、タスクスイッチャ594は、ラップトップ599のフォアグラウンドでアクティブであるアプリケーションを表す、アフォーダンス596を含み得る。タスクスイッチャ594はまた、ラップトップ599上のバックグラウンドアプリケーションを表す、アフォーダンス597も含み得る。タスクスイッチャ594はまた、連続性機能を使用してアプリケーションを起動するための、連続性アフォーダンス595も含み得る。一部の実施形態では、連続性アフォーダンス595は、タスクスイッチャ594上の最も左側のアフォーダンスである。一部の実施形態では、連続性アフォーダンス595は、タスクスイッチャ594上の最も右側のアフォーダンスである。
【0230】
一部の実施形態では、ラップトップ599は、ユーザからのコマンド−タブ入力に応じて、タスクスイッチャ594を表示する。一部の実施形態では、ラップトップ599は、ユーザからのオルト−タブ入力のなどの、キーストローク又はキーストロークの組み合わせに応じて、タスクスイッチャ594を表示する。一部の実施形態では、ラップトップ599は、画面の隅(例えば、右下)にマウスのカーソルを配置することに応じて、タスクスイッチャ594を表示する。ユーザは、連続性アフォーダンス595を選択することにより、連続性機能を呼び出すことができる。一部の実施形態では、ユーザは、コマンドキー(又は、オルトキー)を保持しつつ、タブキーを繰り返し押すことにより、表示されたアフォーダンスを横移動で通過して、連続性アフォーダンス595に到達することができる。タブキーの各押圧に応じて、ラップトップ599は、タスクスイッチャ594内の異なるアフォーダンスを、強調表示(又は、他の方式で視覚的に強調)することができる。連続性アフォーダンス595が視覚的に強調表示されると、ユーザは、コマンドキー(又は、オルトキー)を解除することにより、連続性アフォーダンス595を選択することができる。このユーザ選択に応じて、ラップトップ599は、連続性機能に基づくアプリケーション、例えば、デバイス504(
図5A)上でアクティブであるメッセージングアプリケーションの、異なるバージョンを起動することができる。
【0231】
また
図5Lに示されるように、ラップトップ599は、ロック解除することができ、デスクトップ画面581を示すことができる。ラップトップ599が、通信範囲内に存在する互換性のある電子デバイスから、アプリケーション使用情報を受信すると、ラップトップ599は、通知メッセージ583を表示することができる。ユーザは、通知メッセージ583を選択する(例えば、クリックする)ことにより、その範囲内の互換性のある電子デバイス上で実行されているアクティブなアプリケーションに対応する、アプリケーションを起動することができる。
【0232】
一部の実施形態では、デバイスは、別のデバイス上にアプリケーションを「プッシュ」することができる。
図5M、
図5Nは、一部の実施形態による、この「プッシュ」技術を示す例示的ユーザインタフェースを示す。
図5Mに示されるように、セルラー電話504は、メッセージングアプリケーション511を実行している。更には、デバイス199(一部の実施形態では、デバイス100又はデバイス300とすることができる)は、セルラー電話504の通信範囲内に存在する。セルラー電話504は、デバイス199上にメッセージングアプリケーション511をプッシュするための、アフォーダンス513を表示することができる。アフォーダンス513内の「はい」のユーザ選択に応じて、セルラー電話504は、メッセージングアプリケーション511を特定する情報(例えば、命令)を、デバイス199に送信する。セルラー電話504はまた、メッセージングアプリケーション511に関する状態情報も送信することができ、そのような情報は、表示されている具体的なメッセージトランスクリプトを特定する。
図5Nに示されるように、一部の実施形態では、連続性アフォーダンス519が、デバイス199上に出現し、ユーザによって選択されることにより、対応するメッセージングアプリケーションを起動することができる。一部の実施形態(図示せず)では、デバイス199は、セルラー電話504から識別情報を受信した後、対応するメッセージングアプリケーションを自動的に起動することができる。一部の実施形態では、プッシュ命令がデバイス199に送信されたという確認メッセージ517が、セルラー電話504上に表示される。
【0233】
図17A〜
図17Eは、一部の実施形態による、「プッシュ」技術に関する更なる例示的ユーザインタフェースを示す。
図17Aに示されるように、ユーザ1702によって着用されたウェアラブル電子デバイス1704は、ウェブページ1706を取得して表示することができる。ウェアラブル電子デバイス1704は、一部の実施形態では、デバイス460(
図4C)とすることができる。ウェアラブル電子デバイス1704は、そのフォームファクタにより、可読性を改善するために、ウェブページ1706の比較的小さい部分をデフォルトで表示することができる。しかしながら、場合によっては、ユーザは、そのウェブページの、より大きい部分を閲覧することを望む場合がある。
【0234】
ここで、この状況でユーザが、互換性のあるデバイスで、どのようにしてウェブページ1706のより大きい部分を閲覧することができるかに注意を向ける。
図17Bに示されるように、ユーザ1702が、タブレットコンピュータ1708の無線通信範囲内を歩行する場合、デバイス1704は、タブレットコンピュータ1708と通信して、それらの2つのデバイスが、連続性の目的に関して互換性があると判定することができる。
図17Cに示されるように、ユーザ1702は、ウェブページ1706が表示されている間に、ウェアラブル電子デバイス1704のタッチ感知ディスプレイに(接触1710によって示されるように)タッチすることにより、メニュー1711を呼び出すことができる。メニュー1711は、ウェアラブル電子デバイス1704とタブレットコンピュータ1708との間の連続性機能を呼び出すためのアフォーダンス1712を含めた、デバイス1704の種々の機能を呼び出すためのアフォーダンスを含み得る。
【0235】
一部の実施形態では、ウェアラブル電子デバイス1704は、接触1710が、閾値強度を超過する最大強度を有する、タッチ感知ディスプレイ上の接触であることを、要求する場合がある。換言すれば、接触1710の最大強度が閾値を超過しない場合には、デバイス1704は、デバイス1704は、別の機能を呼び出すことができ、例えば、選択1710の位置が、ウェブページのハイパーリンクに対応する場合には、別のウェブページを取得して表示するための機能などを呼び出すことができる。
【0236】
図17Cを参照して、
図17Dに転じると、ユーザ1702が、(接触1714によって示されるように)アフォーダンス1712を選択すると、ウェアラブル電子デバイス1704は、ウェアラブル電子1704のフォアグラウンドでアクティブであるウェブ閲覧アプリケーションを特定する情報(例えば、命令)を、タブレットコンピュータ1708に送信することができる。ウェアラブル電子デバイス1704はまた、表示されているウェブページ、例えばウェブページ1706の指標も、タブレットコンピュータ1708に送信することができる。一部の実施形態では、外部デバイスにプッシュ命令が送信されたことを示すために、確認メッセージ1715が、ウェアラブル電子デバイス1704上に表示される。この外部デバイス、すなわちタブレットコンピュータ1708は、命令を取得した時点で、連続性アフォーダンス1716を表示することができる。
【0237】
図17Eに転じ、ユーザ1702が、アフォーダンス1716を、上方向にアフォーダンスをスワイプすることなどによって選択すると、タブレットコンピュータ1708は、ウェアラブル電子デバイス460上で稼働しているウェブブラウザに対応する、アプリケーションを起動する。例えば、タブレットコンピュータ1708は、Apple Inc.(Cupertino,California)による、Safari(登録商標)を起動することができる。任意選択的に、起動された場合、そのアプリケーションは、ウェブページ1706を表示することができる。また任意選択的に、起動された場合、そのアプリケーションは、ウェアラブル電子デバイス1704上に表示される(より小さい)部分が、タブレットコンピュータ1708上に表示される(より大きい)部分の一部となるように、ウェブページ1706を表示することもできる。タブレットコンピュータ1708は、ウェアラブル電子デバイス460よりも大きいディスプレイスクリーンを有するため、ウェブページ1706のより大きい部分を、一度に表示することができる。
【0238】
図18A〜
図18Dは、一部の実施形態による、「プッシュ」技術に関する更なる例示的ユーザインタフェースを示す。
図18Aに示されるように、ユーザ1802によって着用されたウェアラブル電子デバイス1804は、アラート1806を表示することができる。ウェアラブル電子デバイス1804は、一部の実施形態では、デバイス460とすることができる。アラート1806は、アプリケーションデータの着信をユーザに通知する、メッセージとすることができる。この着信アプリケーションデータは、図示の実施例ではメッセージである。アラートは、データを処理するための対応するアプリケーションが、そのデバイスのフォアグラウンドで実行されていない場合に、新たなアプリケーションデータの可用性をユーザに警告する際に有用であり得る。ユーザ1802は、ウェアラブル電子デバイス1804上で着信メッセージを見ることが可能であるが、場合によっては、ユーザは、そのメッセージの本文を、より大きい外部のコンピューティングデバイス上で見ることを望む場合がある。
【0239】
ここで、ユーザ1804が、どのようにしてそれを行うことができるかに注意を向ける。
図18Bに転じると、互換性のある外部デバイスが利用可能である場合、ユーザは、タッチ入力1808を介して、アラート1806にタッチし、左又は右へなどの、特定の方向にスライドさせることによって、連続性機能を呼び出すことができる。これに応じて、ウェアラブル電子デバイス1804は、その着信メッセージを特定する情報(例えば、命令)を、その近傍のデバイスに送信することができる。
図18Cに転じると、一部の実施形態では、ウェアラブル電子デバイス1804は、外部デバイスにプッシュ命令が送信されたことを示すために、確認メッセージ1810を表示する。この命令を取得した後、その外部デバイス、すなわちタブレットコンピュータ1812は、連続性アフォーダンス1814を表示することができる。
【0240】
図18Cに示されるように、ユーザは、アフォーダンス1814を(例えば、そのアフォーダンスを上向きにスライドさせることによって)選択することによって、タブレットコンピュータ1812上に連続性機能を呼び出すことができる。アフォーダンス1814の選択に応じて、デバイス1812は、アラート1806(
図18A)に対応する着信メッセージ1822を見るための、アプリケーションを起動することができる。起動された場合、そのアプリケーションは、タブレットコンピュータ1812の画面上に、着信メッセージ1822を表示する。Apple Inc.(Cupertino,California)によるMessages(登録商標)は、この状況で、着信メッセージ1822のコピーを見るために起動することが可能な、例示的アプリケーションである。
【0241】
デバイス199(
図5M、
図5N)、デバイス1708(
図17A〜
図17E)、デバイス1812(
図18A〜
図18D)、及び/又はデバイス1910(
図19A〜
図19C)は、様々な方式で、連続性機能を呼び出すためのアフォーダンスを表示することができる点を理解されたい。例えば、
図5C〜
図5Lに示される、連続性アフォーダンスを表示するための例示的ユーザインタフェースのうちの任意の1つを、使用することができる。
3.アプリケーション間の対応
【0242】
ここで、
図6A及び
図6Bを参照して、連続性機能を使用して呼び出すことが可能なアプリケーション間の対応に注意を向ける。
図6Aは、1つのデバイス上に、別のデバイス上で実行されているアプリケーションの異なるバージョンを起動するための、連続性機能の使用を示す。
図6Aに示されるように、セルラー電話504は、ウェブページ602を表示しているウェブ閲覧アプリケーションを実行中である。セルラー電話504は、タブレットコンピュータ512の通信範囲内に存在し、このアクティブなウェブ閲覧アプリケーション及びウェブページ602を特定する、アプリケーション使用データを、タブレットコンピュータ512に送信する。ユーザが、タブレットコンピュータ512上で連続性機能を呼び出すと、このタブレットは、同じウェブページ602を示す、そのウェブ閲覧アプリケーションのタブレット自体のバージョンを起動する。すなわち、この実施例では、2つのアプリケーションは、それらが同じアプリケーションの異なるバージョンである場合には、対応しているものと見なされる。一部の実施形態では、セルラー電話504は、iPhone用のSafari(登録商標)を実行している場合があり、タブレットコンピュータ512は、iPad(登録商標)用のSafariを実行している場合がある。一部の実施形態では、タブレットコンピュータ512は、携帯型文書エディタを実行している場合があり、その一方で、セルラー電話504は、携帯型文書ビューワを実行している場合がある。
【0243】
図6Bは、1つのデバイス上に、別のデバイス上で実行されている(又は、最近実行された)アプリケーションとは異なるが、関連するアプリケーションを起動するための、連続性機能の使用を示す。関連するアプリケーションの一例は、コンパニオンアプリケーションである。例えば、ラップトップ599上で、音楽管理アプリケーション604(例えば、Apple Inc.(Cupertino,California)によるiTunes(登録商標))が、楽曲を再生している場合には、ユーザが、セルラー電話504から連続性機能を呼び出すと、セルラー電話504は、音楽プレーヤ606を起動して、同じ楽曲を再生することができる。関連するアプリケーションの別の例は、別のアプリケーションを制御するアプリケーションである。例えば、ラップトップ599上で、音楽プレーヤアプリケーションが実行されている場合には、セルラー電話504上で連続性が呼び出されると、セルラー電話504は、ラップトップ599上でアクティブである音楽プレーヤを制御するためのトランスポート制御部を有する、リモートコントロールを起動することができる。
【0244】
ここで、アプリケーション状態の連続性に注意を向ける。本明細書で使用するとき、アプリケーションの「状態」とは、アプリケーションのモード又は条件を指す。例示的なアプリケーション状態としては、特定の画面を示す条件、アプリケーションが動作しているモード又は構成設定、アプリケーションのナビゲーション階層内の特定の場所を表示する条件、文書内の特定の部分又は場所を表示する条件などが挙げられる。
【0245】
図5Bを再び参照すると、セルラー電話504が、タブレットコンピュータ512と通信する場合、セルラー電話504は、タブレットコンピュータ512に、特定の使用データを送信することができる。この使用データは、メッセージングアプリケーションなどの、セルラー電話504上のアクティブなアプリケーションの状態を示し得る。受信しているタブレットコンピュータ512は、この情報を使用して、対応するアプリケーションを、同じアプリケーション状態で起動することができる。例えば、ユーザが、セルラー電話504上で特定のメッセージトランスクリプトを見ている場合には、タブレットコンピュータ512上で連続性が呼び出されると、タブレットコンピュータ512は、対応するメッセージングアプリケーションを起動して、同じメッセージトランスクリプトを表示することができる。そのメッセージトランスクリプトが、スクロールを必要とするほど十分に長い場合には、タブレットコンピュータ512は、使用データによって提供された位置情報に基づいて、そのメッセージトランスクリプトを、同じスクロール位置で表示することができる。
【0246】
セルラー電話504のアクティブなアプリケーションが、そのアプリケーションのナビゲーション階層内の特定の位置(例えば、そのアプリケーション内の特定の画面又はサブ画面)からの情報を提示している場合には、タブレットコンピュータ512上で連続性が呼び出されると、タブレットコンピュータ512は、同じアプリケーション画面又はサブ画面を表示することができる。例えば、セルラー電話504が、高度なメッセージング設定を構成するための画面を表示している場合には、タブレットコンピュータ512は、ユーザがタブレットコンピュータ512から連続性を呼び出すと、同じ構成画面を表示することができる。換言すれば、表示状態もまた、連続性の後にも存続し得る。
【0247】
セルラー電話504のアクティブなアプリケーションが、特定のモードにある場合には、タブレットコンピュータ512上で連続性が呼び出されると、タブレットコンピュータ512は、対応するアプリケーションを同じモードで起動することができる。例えば、セルラー電話504が、(i)横向きで、(ii)16:9のアスペクト比で、(iii)音声をミュートして、及び(iv)クローズドキャプションを有効化して、ビデオを再生している場合には、タブレットコンピュータ512上で連続性が呼び出されると、タブレットコンピュータ512は、設定(i)〜(iv)を使用して同じビデオを同じ位置から再生する、対応するビデオプレーヤを起動することができる。
【0248】
ここで、
図6C及び
図6Dを参照して、関心対象地点に関連付けられるアプリケーションを呼び出すための、連続性機能の使用に注意を向ける。
図6Cは、電子的な関心対象地点に関連付けられるアプリケーションを起動するための、連続性機能の使用を示す。例えば、この電子的な関心対象地点は、スマートテレビなどの家庭用電子デバイスとすることができる。この家庭用電子デバイスは、その識別情報をセルラー電話504に通信する、無線信号を発することができる。ユーザが、セルラー電話504から連続性機能を呼び出すと、セルラー電話504は、この情報を使用して、スマートテレビを制御するためのアプリケーションを起動することができる。このアプリケーションは、例えば、スマートテレビコントローラ610とすることができる。
図6Dは、物理的な関心対象地点に関連付けられたアプリケーションを起動するための、連続性機能の使用を示す。例えば、セルラー電話504は、自由の女神像などのランドマークの、指定範囲内に存在し得る。この状況で、連続性機能がセルラー電話504上で呼び出される場合には、セルラー電話504は、この像及びその歴史を説明する、アプリケーション612を起動することができる。一部の実施形態では、セルラー電話504とランドマークとの物理的近接性は、セルラー電話504からのGPS読み取り値、及びランドマークの既知の(例えば、地図からの)座標に基づいて、判定することができる。一部の実施形態では、セルラー電話504は、そのランドマークの位置情報を一斉配信しているWi−Fi「ビーコン」から受信される信号などの、そのランドマークのために実施される地域的一斉配信を取得して、考慮に入れることができる。
【0249】
場合によっては、セルラー電話504は、関心対象地点の無線通信範囲内に存在しており、その関心対象地点に関するアプリケーションがインターネット上で入手可能であるが、そのアプリケーションが、未だセルラー電話504上にインストールされていない場合がある。例えば、ユーザは、モバイル注文及び/又はモバイル決済アプリケーションを提供するコーヒーショップ内に、セルラー電話504を持ち込み、そのアプリケーションが、セルラー電話上に予めインストールされていない場合がある。一部の実施形態では、この状況で、ユーザがセルラー電話504上で連続性機能を呼び出す場合には、セルラー電話504は、その関連するアプリケーションをダウンロードしてインストールするための、アフォーダンスを表示することができる。この方式で、ユーザは、そのアフォーダンスを単純に選択する(例えば、タップする)ことによって、セルラー電話504に、関連するアプリケーションを取得するように指示することができる。一部の実施形態では、この状況で、ユーザがセルラー電話504上で連続性機能を呼び出す場合には、セルラー電話504は、関心対象地点に関連付けられたアプリケーションをインストールするか否かについて、更に情報を得た上で決定することができるように、ウェブページなどの、その関心対象地点に関する中間的な情報源に、ユーザを導くことができる。これらの状況では、セルラー電話504は、更にユーザが考慮するために、ディープリンクを取得して、そのディープリンクを表示するか、又はそのディープリンクにアクセスすることができる。
【0250】
利用可能なアプリケーションと関心対象地点との間には、多対一の関係が存在し得るため、セルラー電話504は、いずれのアプリケーションが連続性の目的に最も関連しているかを判定する際に、更なる因子を考慮することができる。一部の実施形態では、セルラー電話504は、特定の関心対象地点での、特定のアプリケーションの使用頻度を考慮して、起動するべき正確なアプリケーションを特定する。例えば、セルラー電話504は、フィットネス(トレーニングと呼ばれる場合もある)アプリケーション、及びジム会員アプリケーションが、双方とも、そのユーザのジムに関連付けられることを見出す場合がある。デバイス100は、ユーザが、ジムにいる間に、より頻繁にトレーニングアプリケーションにアクセスすると、更に判定する場合がある。この判定に応じて、デバイス100は、ユーザが、ジムに到着した時点で、セルラー電話504上で連続性機能を呼び出すと、そのトレーニングアプリケーションを起動することができる。
【0251】
一部の実施形態では、セルラー電話504は、時刻を考慮して、起動するべき正確なアプリケーションを特定する。例えば、セルラー電話504は、ユーザが通勤列車の駅で待っている間に、列車時刻表アプリケーション及びニュースアプリケーションが、双方とも頻繁にアクセスされることを見出す場合がある。セルラー電話504は、ユーザが朝、列車の駅で待っている間に、ニュースアプリケーションにアクセスする傾向があると、更に判定する場合がある。この判定に応じて、セルラー電話504は、ユーザが朝、列車の駅に到着した時点で、連続性機能を呼び出す場合には、そのニュースアプリケーションを起動することができる。
【0252】
一部の実施形態では、セルラー電話504は、他の文脈情報を考慮して、起動するべき正確なアプリケーションを特定する。例えば、セルラー電話504は、電話のGPSセンサが、そのデバイスが高速で移動していることを示し、かつ、セルラー電話504のRF回路機構が、そのデバイスが「CAR MEDIA」という名前のBluetoothデバイスに接続されていることを示す場合に、車内娯楽アプリケーションが頻繁に使用されることを、見出す場合がある。それゆえ、この状況で、ユーザがセルラー電話504上で連続性機能を呼び出すと、セルラー電話504は、それに応じて車内娯楽アプリケーションを起動することができる。
【0253】
アプリケーション間の関係を判定するための更なる技術は、以下の同時係属仮出願、すなわち、2014年5月30日出願の米国特許出願第62/005,781号「ACTIVITY CONTINUATION BETWEEN ELECTRONIC DEVICES」、2014年5月30日出願の同第62/005,793号「COMPANION APPLICATION FOR ACTIVITY COOPERATION」、2014年5月30日出願の同第62/005,751号「PREDEFINED WIRELESS PAIRING」、及び2014年5月30日出願の同第62/005,755号「OPERATING−MODE TRANSITIONS BASED ON ADVERTISING INFORMATION」に見出すことができる。これらの出願の内容は、全体が参照により本明細書に組み込まれる。
【0254】
ここで、
図19A〜
図19Cを参照して、音声に基づくインテリジェント自動アシスタント機能と組み合わせた、連続性機能の使用に注意を向ける。Apple Inc.(Cupertino,California)によって作成されたSiri(登録商標)は、例示的なインテリジェント自動アシスタントである。インテリジェント自動アシスタント技術はまた、例えば、2011年1月10日出願の「Intelligent Automated Assistant」に関する米国実用特許出願第12/987,982号でも説明され、その開示の全体は、参照により本明細書に組み込まれる。
【0255】
図19Aに示されるように、ユーザ1902は、ウェアラブル電子デバイス1904に、口頭コマンド1903を提供することができる。ウェアラブル電子デバイス1904は、一部の実施形態では、デバイス460(
図4C)とすることができる。口頭コマンド1903は、近傍のコーヒーショップへの道案内に関するリクエストとすることができる。一部の実施形態では、口頭コマンド1903を受信した後、ウェアラブル電子デバイス1904は、その口頭コマンドを示す情報を、範囲内に存在する外部デバイスに、この実施例ではセルラー電話1910に、送信することができる。セルラー電話1910は、一部の実施形態では、デバイス100(
図1)とすることができる。
【0256】
ウェアラブル電子デバイス1902からの命令の受信に応じて、セルラー電話1910は、連続性機能を呼び出すためのアフォーダンス1912を表示することができる。ユーザが、アフォーダンス1912を介して(例えば、
図19Bに示されるようなスワイプジェスチャによって)連続性を呼び出すと、セルラー電話1910は、口頭コマンド1906に応じて取得された情報を表示することができる。図示の実施例では、セルラー電話1910は、コマンド1903に応じて、近傍のコーヒーショップへの、ターンバイターン式ナビゲーション1914を表示する。
【0257】
ウェアラブル電子デバイス1904によって外部デバイス(セルラー電話)1910に送信される情報は、一部の実施例では、口頭コマンド1906を表すデータを含み得る。ウェアラブル電子デバイス1904によって外部デバイス(セルラー電話)1910に送信される情報は、一部の実施例では、口頭コマンド1906に応じる情報を取得するためのウェブサービスを表す、データを含み得る。ウェアラブル電子デバイス1904によって外部デバイス(セルラー電話)1910に送信される情報は、一部の実施例では、口頭コマンド1906に応じて取得された情報を表す、データを含み得る。
【0258】
これらの実施例は、インテリジェント自動応答の処理及び提供に関連する、ウェアラブル電子デバイス1904と外部デバイス1910との間の分業が、実施形態によって異なり得るものの、これらの実施形態のそれぞれは、依然として、ユーザが、選択した1つ以上の関与デバイス上で、インテリジェント自動応答の取得を選択することを可能にする、ということを示すために役立つ。ポータブル性の高いデバイス(例えば、ウェアラブル電子デバイス1904)を使用してアシスタントに問い合わせて、その後、そのアシスタントの応答を、同じデバイス上で、及び/又は互換性のある外部デバイス(例えば、セルラー電話1910)上で受信するかを決定することが可能であるということは、それらの2つのデバイスのうちの一方が、結果として得られる応答を提示するためにより適した音声/視覚的能力(例えば、スピーカ、より大きい/高解像度のスクリーン)を有し得るため、ユーザにとって特に有益である。
【0259】
一実施例として、
図19Cに示されるように、ウェアラブル電子デバイス1904は、一部の実施形態では、口頭コマンド1906を受信した後、ターンバイターン式の道案内1914を表示することができる。しかしながら、一度に表示される情報の量は、ウェアラブル電子デバイス1904のフォームファクタによって、制限される場合がある。ユーザが、セルラー電話1910上で連続性機能を選択する場合には、セルラー電話1910は、より大きいディスプレイスクリーンを装備しているため、より完全なターンバイターン式の道案内1914のビューを、セルラー電話1910によって表示することができる。この方式で、ユーザは、一方のデバイスを通じて、音声アシスタント機能を簡便に呼び出すことができ、所望に応じて、一方又は双方のデバイスを使用して、その音声アシスタントによって提供された情報を検討することができる。
4.曖昧性除去
【0260】
デバイスが、着信データ、履歴データ、及び/又は文脈情報に基づいて、いずれのアプリケーションを起動するべきかを明確に決定することが、不可能な状況が生じ得る。この状況は、そのデバイスの範囲内に、複数の外部デバイスが存在することによって、誘発される場合がある。
図7Aを考察すると、この図は、メッセージングアプリケーション704を実行している第1の外部デバイス702、及び、ウェブ閲覧アプリケーション708を実行している第2の外部デバイス706を示す。ユーザは、ウェブを閲覧しつつ、断続的にテキスト通信をしているという点で、双方のデバイスと対話している。双方のデバイスとも、タブレットコンピュータ710の範囲内に存在する。双方のデバイスはまた、アプリケーション704及びアプリケーション708に関する使用データも、タブレットコンピュータ710に無線で送信している。この状況では、タブレットコンピュータ710は、それらの2つのアプリケーションのうちのいずれが、実際に、よりユーザに関連が深いかを判定することができない場合がある。
【0261】
一部の実施形態では、タブレットコンピュータ710は、連続性の目的に関しては、より最近に使用されたアプリケーションを、より関連が深いアプリケーションとして特定することができる。すなわち、ユーザが、メッセージングアプリケーション704には6秒前に最後にアクセスしたが、ウェブブラウザ708には10秒前に最後にアクセスした場合には、タブレットコンピュータ710上で連続性が呼び出されると、タブレットコンピュータ710は、メッセージングアプリケーション704が、より最近ユーザによってアクセスされているため、対応するメッセージングアプリケーションを起動する。任意選択的に、タブレットコンピュータ710は、起動されることになるアプリケーションを示すために、連続性アフォーダンス714内に、メッセージングアプリケーションのサムネイル表現を表示することができる。
【0262】
しかしながら、この処置は、常に適切であるとは限らない。例えば、ユーザは、より大きいタブレットコンピュータ710上でのウェブ閲覧を、むしろ重視する場合がある。一部の実施形態では、この状況に直面した場合、タブレットコンピュータ710は、起動するべきアプリケーションを、ユーザが情報を得た上で選択することが可能となるように、追加情報を表示することができる。例えば、タブレットコンピュータ710は、ロック画面712上に、2つ以上の連続性アフォーダンスを表示して、そこから続けるための複数のアプリケーションの可用性を示すことができる。
図7Bに示されるように、タブレットコンピュータ710は、アフォーダンス714及びアフォーダンス716を表示して、それらの2つのうちいずれかをユーザが選択する必要があることを知らせることができる。
【0263】
図7C〜
図7Eは、タブレットコンピュータ710が、アフォーダンス714及びアフォーダンス716のグループの選択(例えば、タップ)に、どのように応じ得るかを示す。一部の実施形態では、
図7Cに示されるように、タブレットコンピュータ710が、アフォーダンスのグループでのユーザ入力(例えば、タップ)を受信すると、タブレットコンピュータ710は、それらのアフォーダンスを、視覚的にグループ解除して、それらのアフォーダンスが、タッチオブジェクトを使用する個別選択のために適切に離間配置されるように、それらのアフォーダンスを画面上で並進移動させる。このグループ解除は、アフォーダンス714及びアフォーダンス716を、それらのグループ化された位置から、それらのグループ解除された位置へと、視覚的に並進移動させることを伴い得る。連続性アフォーダンス714のユーザ選択(例えば、スワイプ又はタップ)に応じて、タブレットコンピュータ710は、デバイス702のメッセージングアプリケーションに対応する、メッセージングアプリケーションを起動することができる。連続性アフォーダンス716のユーザ選択に応じて、タブレットコンピュータ710は、デバイス706のウェブ閲覧アプリケーションに対応する、ウェブ閲覧アプリケーションを起動することができる。
【0264】
一部の実施形態では、
図7Dに示されるように、タブレットコンピュータ710は、ユーザが、アフォーダンス714又はアフォーダンス716を選択すると、曖昧性除去画面718を表示する。曖昧性除去画面718は、個別選択のための、連続性アフォーダンス714又は連続性アフォーダンス716を表示することができる。連続性アフォーダンス714のユーザ選択(例えば、スワイプ又はタップ)に応じて、タブレットコンピュータ710は、デバイス702のメッセージングアプリケーションに対応する、メッセージングアプリケーションを起動することができる。連続性アフォーダンス716のユーザ選択に応じて、タブレットコンピュータ710は、デバイス706のウェブ閲覧アプリケーションに対応する、ウェブ閲覧アプリケーションを起動することができる。
【0265】
一部の実施形態では、
図7Eに示されるように、タブレットコンピュータ710は、曖昧性除去画面720を表示する。曖昧性除去画面720は、連続性機能を通じて起動するために利用可能なアプリケーションを、カテゴリ別に編成することができる。このアプリケーションのカテゴリ化は、利用可能なアプリケーションと、外部デバイス上で実行されている、それらのアプリケーションとの関係性に基づき得る。例えば、外部デバイス上で実行されているアプリケーションの異なるバージョンである、対応するアプリケーションを、1つのカテゴリ722の下に配置することができ、その一方で、関連の(例えば、コンパニオン)アプリケーションを、別のカテゴリ724の下に配置することができる。更には、関心対象地点に対するデバイスの近接性により表示されるアプリケーションを、更に別のアプリケーションのカテゴリ726として表示することができる。
【0266】
一部の実施形態では、
図7Fに示されるように、タブレットコンピュータ710は、曖昧性除去画面730を表示する。曖昧性除去画面730は、連続性機能を通じて起動するために利用可能なアプリケーションを、タブ付きリストへと編成することができる。このタブ間にわたるアプリケーションの分離は、利用可能なアプリケーションと、外部デバイス上で実行されている、それらのアプリケーションとの関係性に基づき得る。タブの見出しにより、その関係性を特定することができる。各カテゴリ(タブ)内のアプリケーションを起動するためのアフォーダンスは、それらが属するタブが選択される場合に表示される。例えば、対応するアプリケーションを呼び出すためのアフォーダンスは、タブ732の下に表示され、その一方で、関連する(例えば、コンパニオン)アプリケーションを呼び出すためのアフォーダンスは、タブ734の下に表示される。
【0267】
一部の実施形態では、
図7Gに示されるように、タブレットコンピュータ710は、曖昧性除去画面740を表示する。曖昧性除去画面740は、通信範囲内に存在する、互換性のある各外部デバイスに対応する、アプリケーションを列挙することができる。図示のように、曖昧性除去画面740は、第1の外部デバイス(例えば、
図7Aでの702)を表す、見出し742を含む。曖昧性除去画面740はまた、第2の外部デバイス(例えば、
図7Aでの706)を表す、見出し744も含む。曖昧性除去画面740はまた、第3の外部デバイスを表す、見出し745も含む。タブレットコンピュータ710はまた、各見出しの下に、それぞれの外部デバイス上で実行されている(かつ/又は、実行された)アプリケーションに対応するアプリケーションを表す、アフォーダンスも表示する。
【0268】
図7Gに示されるように、アフォーダンス746、748、及び750は、外部デバイス702上で実行されている(かつ/又は、実行された)3つのアプリケーションの、対応するバージョンを表す。任意選択的に、アフォーダンス746、748、及び750の順序付けは、各アプリケーションが、互いと比較して、どの程度最近ユーザによって使用されたかを、反映することができる。同様に、見出し744で共に列挙されるアフォーダンスは、外部デバイス706上で実行されている(かつ/又は、実行された)アプリケーションの、対応するバージョンを表す。画面740は、更なる外部デバイスを表出させるために、1つの方向(例えば、水平方向)にスクロール可能とすることができる。画面740は、より多くのアプリケーションアフォーダンスへと、別の方向(例えば、垂直方向)にスクロール可能とすることができる。
【0269】
一部の実施形態では、曖昧性除去画面740は、「お気に入り」の見出し(図示せず)を含み得る。タブレットコンピュータ710は、この「お気に入り」の見出しの下に、ユーザによってお気に入りとして指定されたアプリケーションを示す、アフォーダンスを表示することができる。一部の実施形態では、タブレットコンピュータ710は、この情報を、タブ付きリスト(図示せず)へと編成することができる。そのようなタブ付きリストは、
図7Fに示されるタブ付きリストと同様の外観とすることができ、これは、各外部デバイスに対応するアプリケーションを、タブの下に表示することができることを意味する。
【0270】
アプリケーションが、
図7A〜
図7Gに関連して説明された方式で起動される場合、デバイス710は、上述のように、その連続するアプリケーションを、外部デバイス上の対応するアプリケーションと同じアプリケーション状態におくことができる点に留意されたい。
【0271】
特に、
図7A〜
図7Gによって説明されたユーザインタフェースは、ユーザに、複数の電子デバイスにわたる、ユーザのアプリケーション使用をカタログ化して、それらのアプリケーションの使用の間でシームレスに移行するための、強力な方法を提供する。例えば、1人のユーザが、互換性のあるセルラー電話、タブレットコンピュータ、及びラップトップコンピュータを所有する状況を考察する。曖昧性除去画面740(
図7G)の後にモデル化されるユーザインタフェース画面は、そこから続けるための、開いている(及び、任意選択的に閉じている)可能なアプリケーションの全体領域を、ユーザに提示することによって、いずれのデバイスが特定のタスクに最適であるかに応じて、ユーザが種々のデバイス間を移行するための、特に強力な方法を提供する。
5.無線通信技術の改善
【0272】
一部の実施形態では、連続性機能を目的とする無線通信は、Bluetooth及び/又はBluetooth Low Energy(BTLE)などのピアツーピア無線通信プロトコルを介して実施される。一部の実施形態では、連続性機能を目的とする無線通信は、2つ以上の無線通信プロトコルを利用する。例えば、BTLEに加えて、WiFiを使用することができる。これらの実施形態では、2つのデバイス間の初期の通信は、そのプロトコルが、より低速のデータ転送速度をもたらす場合であっても、BTLEなどの、より低電力のプロトコルを介して実施することができる。後続の通信は、WiFiなどの、比較的高速の二次ネットワークを介して実施することができる。
【0273】
一実施例として、ラップトップコンピュータは、範囲内のiPhone(登録商標)を使用して電子メールメッセージが作成されていることを示す使用情報を、BTLEを介して取得することができる。ユーザが、そのラップトップコンピュータ上で、電子メールの連続性を呼び出すと、それらの2つのデバイスは、WiFiを介して通信して、電子メールの草稿部分と付随の添付ファイルとを含む、アプリケーションデータを送信することにより、ユーザは、進捗を損なうことなく、ラップトップ上で草稿作成を続けることができる。この分岐した手法を通じて、デバイスは、そのデバイスの電力システムに対して、過度に電力要件を課すことなく、範囲内に存在する他の互換性のあるデバイスに、ポーリングすることができる。この低減された電力消費率はまた、より頻繁なポーリング率も可能にし得る。同時に、より高速のチャネルは、アプリケーションデータ及び/又はアプリケーション状態情報の通信などの、データ集約型通信のために確保される。
【0274】
一部の実施形態では、より低速の通信プロトコルを介して送信される使用情報は、デバイス認証情報を含む。この認証情報は、少なくとも部分的にユーザIDに基づいて算出された(例えば、ハッシュされた)、トークン又は他の識別子を含み得る。一部の実施例では、ユーザIDは、電子メールアドレスである。一部の実施形態では、ユーザIDは、Apple Inc.(Cupertino,California)によって提供されるiCloud(登録商標)IDであり、このiCloud IDを、次に電子メールアドレスに関連付けることができる。2つの互換性のあるデバイスは、それらのデバイスが、同じユーザIDに関連付けられているか否かに(少なくとも部分的に)基づいて、連続性機能の使用を許可するか又は拒否するかを決定することができる。この方式で、異なる(しかしながら、物理的に近位の)ユーザによって所有されるデバイス間の、プライバシーを維持することができ、これは、所望に応じて、異なるユーザのデバイス間の連続性を防止する(又は、許可する)ことができることを意味する。
【0275】
一部の実施形態では、デバイスは、無線通信範囲内に存在する互換性のあるデバイスから、どの程度の量の連続性情報を自動的に取得するべきかを、ユーザが指定することを可能にすることによって、更に電力を節約することができる。これらの実施形態では、デバイスは、より低電力のピアツーピア通信プロトコルを介して、1つ以上の互換性のあるデバイスを特定する初期情報を受信することができる。この外部デバイス及び初期情報の検出に応じて、デバイスは、連続性機能の潜在的な可用性についてユーザに通知する、連続性アフォーダンスを表示することができる。しかしながら、表示される連続性アフォーダンスは、連続性機能が完全には有効化されていないことを示す、視覚的外観を有し得る。具体的には、デバイスは、互換性のあるデバイスから、更なる使用情報及び/又はアプリケーションデータ情報を取得することを、それを行うためのユーザの命令をデバイスが受信するまで、差し控えることができる。ユーザは、表示されたアフォーダンス上で選択する(例えば、タップする)ことによって、それを行うことができる。このユーザ選択に応じて、デバイスは、対応するアプリケーションを、そのデバイスが適切なアプリケーション状態で起動することを可能にする、更なる使用情報及び/又はアプリケーションデータ情報を、取得することができる。更には、デバイスは、互換性のあるデバイスとの連続性が現時点で有効化されており、またそれゆえ、そのデバイスから(例えば、スワイプによって)呼び出すことが可能であることを示すように、そのアフォーダンスの視覚的外観を更新することができる。
【0276】
この電力節約技術を、
図8A〜
図8Cに示す。
図8Aでは、デバイス504及びデバイス199は、通信範囲内に存在し、連続性の目的に関して互換性がある。これらの2つのデバイスが、範囲内に存在する間に、デバイス199は、最初に、デバイス504から、その存在と連続性機能に対するサポートとを示す、使用情報の第1部分を受信する。この初期通信801は、BTLEなどの、低電力の通信プロトコルを介して実施することができる。この使用情報の第1部分の受信に応じて、デバイス199は、無効化された外観を有する連続性アフォーダンス802を表示する。ユーザは、アフォーダンス802を選択する(例えば、タップする)ことにより、連続性を目的とする、それらのデバイス間の更なる通信803を有効化することができる。
図8Bに転じると、アフォーダンス802のユーザ選択に応じて、デバイス199は、デバイス504から、追加的な、使用情報の第2部分を取得する。この追加的な使用情報は、とりわけ、デバイス504上でのメッセージングアプリケーション804の使用、並びにメッセージングアプリケーション804の状態を示し得る。また、デバイス199は、アフォーダンス802の視覚的外観も、そのアフォーダンスが有効化されていると見えるように、変更することができる。任意選択的に、デバイス199は、アフォーダンス802と共に、アプリケーション804を示すサムネイル画像を含み得る。
図8Cに示されるように、次いで、ユーザは、アフォーダンス802をスワイプするか、又は他の方式でアクティブ化させることにより、対応するアプリケーションをデバイス199上で起動することができる。
【0277】
図9は、2つの電子デバイス間を移行するためのプロセス900を示す、フローチャートである。プロセス900は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック902で、デバイスは、無線通信を介して、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しているか、又は実行していた。ブロック904で、デバイスは、その外部デバイス上の第1のアプリケーションの使用を示す使用情報を、外部デバイスから受信する。任意選択的に、この使用情報は、いつ及びどの程度最近、第1のアプリケーションが使用されたかについての使用統計を含む。任意選択的に、この使用情報は、第1のアプリケーションの状態を示す。ブロック906で、外部デバイスの検出、及び使用情報の受信に応じて、デバイスは、その画面上にアフォーダンスを表示する。任意選択的に、ブロック906で、デバイスは、そのアフォーダンスが、どの程度長く表示されているかを判定して、所定の時間の後に、そのアフォーダンスの表示を停止することができる。ブロック908で、デバイスは、表示されたアフォーダンスのユーザ選択を表す、入力データを受信する。ブロック910で、この入力データの受信に応じて、デバイスは、その電子デバイス上で第2のアプリケーションを起動し、その第2のアプリケーションは、第1のアプリケーションに対応する。一部の実施形態では、第2のアプリケーションは、その第2のアプリケーションが、第1のアプリケーションの異なるバージョンであるという点で、第1のアプリケーションに対応し得る。一部の実施形態では、第2のアプリケーションは、双方のアプリケーションが、少なくとも1つのアプリケーション機能を共通して有するという点で、第1のアプリケーションに対応し得る。例えば、双方のアプリケーションは、特定のタイプのプレゼンテーションファイルを見ることが可能な場合がある。一部の実施形態では、第2のアプリケーションは、その第2のアプリケーションが、第1のアプリケーションに対するコンパニオンであり、かつ/又は、第2のアプリケーションが、第1のアプリケーションの動作を制御するための機能を提供するという点で、第1のアプリケーションに対応し得る。任意選択的に、デバイスが、第2のアプリケーションを起動する場合、そのデバイスはまた、第2のアプリケーションも、第1のアプリケーションと同じアプリケーション状態とする。
【0278】
一部の実施形態(例えば、タッチスクリーンの実施形態)では、プロセス900を実行しているデバイスは、タッチスクリーンディスプレイを有し、タッチ感知面は、そのディスプレイ上に存在する。一部の実施形態(例えば、非タッチスクリーンの実施形態)では、デバイスは、タッチ感知面とは別個のディスプレイを有する。それゆえ、ブロック908で表示される、連続性アフォーダンス514の外観は、異なる場合がある。例えば、タッチスクリーンの実施形態では、表示されるアフォーダンスは、
図5C〜
図5I、
図7A〜
図7G、及び/又は
図8A〜8Cに示されるものに類似し得る。非タッチスクリーンの実施形態では、表示されるアフォーダンスは、
図5J〜
図5Lに示されるものに類似し得る。ブロック910の間にデバイスが応じる正確なユーザ入力もまた、異なる場合がある。例えば、タッチスクリーンの実施形態では、表示されるアフォーダンスは、タップ、長押し、フリック、スワイプ、又は別の適用可能なタッチジェスチャなどの、タッチオブジェクトを使用するタッチ入力に応じることができる。非タッチスクリーンの実施形態では、表示されるアフォーダンスは、クリック、ダブルクリック、ドラッグなどの、マウス又は同等の入力デバイスを使用して生成される、マウスイベントに応じることができる。これらの実施形態の組み合わせも可能である。例えば、タッチスクリーンデバイスは、外部の無線マウスに応じることができ、それゆえ、タッチスクリーンの実施形態でのデバイスはまた、マウス及びマウスカーソル入力技術にも応じることができる。同様に、非タッチスクリーンデバイスは、タッチ感知面(例えば、タッチパッド)に応じることができ、それゆえ、非タッチスクリーンの実施形態のデバイスはまた、タッチ入力にも応じることができる。換言すれば、タブレットコンピュータが、
図5J〜
図5Lに示される画面のうちの1つを表示して、無線キーボード/マウス入力に応じて、連続性機能を使用してアプリケーションを起動することは、完全に可能である。同様に、ラップトップコンピュータがまた、タッチ感知ディスプレイも有することにより、
図5C〜
図5I、
図7A〜
図7G、及び/又は
図8A〜
図8Cに示される画面を提供して、キーボード、マウス、及びタッチ入力の双方に応じ得ることは、完全に可能である。他の組み合わせもまた、可能である。
【0279】
図43は、2つの電子デバイス間を移行するためのプロセス4300を示す、フローチャートである。プロセス4300は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイを備える電子デバイスで実行することができる。ブロック4302で、電子デバイスは、その電子デバイスがユーザインタフェースロック状態にある間に、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4304で、デバイスは、第1のアプリケーションに対応するアフォーダンスを、所定の時間にわたって表示する。ブロック4306で、デバイスは、その表示されたアフォーダンスの場所での、タッチ感知ディスプレイ上の接触を検出する。ブロック4308で、デバイスは、この接触に応じて、第2のアプリケーションを起動し、その第2のアプリケーションは、第1のアプリケーションに対応する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0280】
図44は、2つの電子デバイス間を移行するためのプロセス4400を示す、フローチャートである。プロセス4400は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイ及びボタンを備える電子デバイスで実行することができる。ブロック4402で、電子デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4404で、電子デバイスは、ボタンの2度押しを検出する。ブロック4406で、電子デバイスは、この2度押しの検出に応じて、左のアフォーダンス、中央のアフォーダンス、及び右のアフォーダンスを表示し、左のアフォーダンスは、第1のアプリケーションに対応する第2のアプリケーションを、この電子デバイス上で起動するためのものであり、中央のアフォーダンスは、この電子デバイス上で直近に使用されたアプリケーションを表す。ブロック4408で、電子デバイスは、左のアフォーダンス上での接触を検出する。ブロック4410で、電子デバイスは、この左のアフォーダンス上での接触に応じて、その電子デバイス上で第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0281】
図45は、2つの電子デバイス間を移行するためのプロセス4500を示す、フローチャートである。プロセス4500は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイを備える電子デバイスで実行することができる。ブロック4502で、デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4504で、電子デバイスは、タッチ感知ディスプレイ上での下向きのスワイプを検出し、この下向きのスワイプは、タッチ感知ディスプレイの上端からのものである。ブロック4506で、電子デバイスは、この下向きのスワイプに応じて、その電子デバイス上で第2のアプリケーションを起動するためのアフォーダンスを表示し、その第2のアプリケーションは、第1のアプリケーションに対応する。ブロック4508で、電子デバイスは、アフォーダンス上での接触を検出する。ブロック4510で、電子デバイスは、このアフォーダンス上での接触に応じて、その電子デバイス上で第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0282】
図46は、2つの電子デバイス間を移行するためのプロセス4600を示す、フローチャートである。プロセス4600は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイ及び生体認証読み取り装置を備える電子デバイスで実行することができる。ブロック4602で、電子デバイスは、その電子デバイスがユーザインタフェースロック状態にある間に、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4604で、電子デバイスは、生体認証読み取り装置から、生体認証入力を受信する。ブロック4606で、電子デバイスは、この生体認証入力の受信に応じて、その電子デバイスをロック解除する。ブロック4608で、電子デバイスは、ロック解除した後、第1のアプリケーションに対応するアフォーダンスを表示する。ブロック4610で、電子デバイスは、表示されたアフォーダンス上での接触を検出する。ブロック4612で、電子デバイスは、この接触の検出に応じて、第2のアプリケーションを起動し、その第2のアプリケーションは、第1のアプリケーションに対応する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0283】
図47は、2つの電子デバイス間を移行するためのプロセス4700を示す、フローチャートである。プロセス4700は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイを備える電子デバイスで実行することができる。ブロック4702で、デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4704で、電子デバイスは、タッチ感知ディスプレイ上に、複数のアプリケーションアイコンを表示する。ブロック4706で、電子デバイスは、タッチ感知ディスプレイ上での右向きのスワイプを検出し、この右向きのスワイプは、タッチ感知ディスプレイの左端からのものである。ブロック4708で、電子デバイスは、この右向きのスワイプに応じて、その電子デバイス上で第2のアプリケーションを起動するためのアフォーダンスを表示し、その第2のアプリケーションは、第1のアプリケーションに対応する。ブロック4710で、電子デバイスは、アフォーダンス上での接触を検出する。ブロック4712で、電子デバイスは、このアフォーダンス上での接触に応じて、その電子デバイス上で第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0284】
図48は、2つの電子デバイス間を移行するためのプロセス4800を示す、フローチャートである。プロセス4800は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、ユーザインタフェースのカーソルを制御するための入力デバイスを備える、電子デバイスで実行することができる。ブロック4802で、電子デバイスは、その電子デバイスがユーザインタフェースロック状態にある間に、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4804で、電子デバイスは、パスワード入力フィールド、及び第1のアプリケーションに対応するアフォーダンスを表示する。ブロック4806で、電子デバイスは、パスワードを受信する。ブロック4808で、電子デバイスは、表示されたアフォーダンス上でのマウスイベントを検出する。ブロック4810で、電子デバイスは、パスワードの受信、及びマウスイベントの検出に応じて、第2のアプリケーションを起動し、その第2のアプリケーションは、第1のアプリケーションに対応する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0285】
図49は、2つの電子デバイス間を移行するためのプロセス4900を示す、フローチャートである。プロセス4900は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、キーボードを備える電子デバイスで実行することができる。ブロック4902で、電子デバイスは、外部デバイスを検出し、その外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック4904で、電子デバイスは、キーボードの第1のキーのキー押圧を、キーボードの第2のキーのキー押圧と同時に検出する。ブロック4906で、電子デバイスは、この同時のキー押圧に応じて、その電子デバイス上の複数のアクティブなアプリケーションを特定するアフォーダンス、及び第1のアプリケーションに対応する第2のアプリケーションを起動するためのアフォーダンスを含む、複数のアフォーダンスを表示する。ブロック4908で、電子デバイスは、(i)第2のキーの少なくとも1回の追加的キー押圧を、(ii)第1のキーを保持している間に行い、(iii)その後、第1のキー及び第2のキーの双方を解除することを含む、キーボード入力のシーケンスを検出する。ブロック4910で、電子デバイスは、キーボード入力のシーケンスに応じて、第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0286】
図50は、2つの電子デバイス間を移行するためのプロセス5000を示す、フローチャートである。プロセス5000は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、ユーザインタフェースのカーソルを制御するための入力デバイスを備える、電子デバイスで実行することができる。ブロック5002で、電子デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック5004で、電子デバイスは、電子デバイスの画面の隅への、カーソルの移動を検出する。ブロック5006で、電子デバイスは、このカーソルの移動の検出に応じて、その電子デバイス上の複数のアクティブなアプリケーションを特定するアフォーダンス、及び第1のアプリケーションに対応する第2のアプリケーションを起動するためのアフォーダンスを含む、複数のアフォーダンスを表示する。ブロック5008で、電子デバイスは、(i)第2のアプリケーションを起動するためのアフォーダンス上への、カーソルの移動、及び(ii)そのアフォーダンス上でのマウスイベントを含む、入力のシーケンスを検出する。ブロック5010で、電子デバイスは、この入力のシーケンスの検出に応じて、第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0287】
図51は、2つの電子デバイス間を移行するためのプロセス5100を示す、フローチャートである。プロセス5100は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、ディスプレイスクリーン、及びユーザインタフェースのカーソルを制御するための入力デバイスを備える、電子デバイスで実行することができる。ブロック5102で、電子デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック5104で、電子デバイスは、その電子デバイス上で複数のアプリケーションを起動するための、複数のアプリケーションアイコンを、ディスプレイスクリーンの一部分内に表示する。ブロック5106で、電子デバイスは、そのディスプレイスクリーンの一部分内に、第1のアプリケーションに対応する第2のアプリケーションを起動するためのアイコンを表示する。ブロック5108で、電子デバイスは、表示されたアイコン上へのカーソルの移動、及び表示されたアイコン上でのマウスイベントを検出する。ブロック5110で、電子デバイスは、それに応じて、第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0288】
図52は、2つの電子デバイス間を移行するためのプロセス5200を示す、フローチャートである。プロセス5200は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、ユーザインタフェースのカーソルを制御するための入力デバイスを備える、電子デバイスで実行することができる。ブロック5202で、電子デバイスは、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にある。ブロック5204で、電子デバイスは、メニューバーを表示し、このメニューバーは、第1のアプリケーションに対応する第2のアプリケーションを起動するためのアイコンを含む。ブロック5206で、電子デバイスは、表示されたアイコン上へのカーソルの移動、及び表示されたアイコン上でのマウスイベントを検出する。ブロック5208で、電子デバイスは、それに応じて、第2のアプリケーションを起動する。第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0289】
図10は、2つの電子デバイス間を移行するプロセス1000を示す、フローチャートである。プロセス1000は、デバイス100(
図1)、デバイス300(
図3)、及びデバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1002で、デバイスは、無線通信を介して、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行しているか、又は実行していた。ブロック1004で、デバイスは、その外部デバイス上の第1のアプリケーションの使用を示す使用情報を、外部デバイスから受信する。この使用情報は、第1の無線通信プロトコルを使用して受信することができる。ブロック1006で、デバイスは、第1のアプリケーションのアプリケーションデータを、外部デバイスから受信する。この使用情報は、第1の無線通信プロトコルとは異なる、第2の無線通信プロトコルを使用して受信することができる。ブロック1008で、外部デバイスの検出、並びにブロック1004及びブロック1006で受信された情報に応じて、デバイスは、連続性アフォーダンスを表示する。任意選択的に、ブロック1008で、デバイスは、そのアフォーダンスが、どの程度長く表示されているかを判定して、所定の時間の後に、そのアフォーダンスの表示を停止することができる。ブロック1010で、デバイスは、表示されたアフォーダンスのユーザ選択を表す、入力データを受信する。ブロック1012で、この入力データの受信に応じて、デバイスは、その電子デバイス上で第2のアプリケーションを起動し、その第2のアプリケーションは、第1のアプリケーションに対応する。デバイスが、第2のアプリケーションを起動する場合、そのデバイスはまた、第2のアプリケーションにも、第1のアプリケーションによって表示されるものと同じアプリケーションデータを表示させる。
【0290】
一部の実施形態では、ブロック1004で受信される使用情報は、より低電力の無線通信プロトコルを介して受信され、ブロック1006で受信される情報は、より高電力の無線通信プロトコルを介して受信される。より低電力の無線通信プロトコルは、より低い帯域幅、及び/又は、より遅いデータ転送速度を有し得るものであり、これは、より低電力の無線通信プロトコルが、より低いデータ転送容量を有することを意味する。一部の実施形態では、より低電力の無線通信プロトコルは、ピアツーピアのプロトコルであり、より高電力の無線通信プロトコルは、ローカルエリアネットワークのプロトコルである。一部の実施形態では、より低電力の無線通信プロトコルは、Bluetooth又はBluetooth Low Energyプロトコルであり、より高電力の無線通信プロトコルは、IEEE 802.11x WiFiプロトコルである。
【0291】
第1の無線通信プロトコル及び第2の無線通信プロトコルの下での通信間の分業は、変動し得る。換言すれば、デバイスが、連続性機能を提供するために、特定の領域の情報を受信することが必要である場合には、その領域の情報のうちのどの程度が、第2の無線通信プロトコルではなく、第1の無線通信プロトコルを介して送信されるかは、実施形態によって異なり得るものであり、かつ/又は、特定の実施形態の中でも、デバイス上の電池寿命残量などの要因に基づいて変動し得る。一部の実施形態では、デバイス認証情報が、第1の無線通信プロトコルを介して送信される。一部の実施形態では、デバイス識別情報が、第1の無線通信プロトコルを介して送信され、その一方で、電子メールの草稿の内容などの、アプリケーションデータは、第2の無線通信プロトコルを介して送信される。デバイス識別情報は、例えば、Bluetoothトークン、Apple社のiCloud(登録商標)IDなどのユーザID、又は電子メールアドレスとすることができる。
【0292】
連続性機能をサポートする情報の転送に関する、更なる詳細は、以下の同時係属仮出願、すなわち、2014年5月30日出願の米国特許出願第62/005,781号「ACTIVITY CONTINUATION BETWEEN ELECTRONIC DEVICES」、2014年5月30日出願の同第62/005,793号「COMPANION APPLICATION FOR ACTIVITY COOPERATION」、2014年5月30日出願の同第62/005,751号「PREDEFINED WIRELESS PAIRING」、及び2014年5月30日出願の同第62/005,755号「OPERATING−MODE TRANSITIONS BASED ON ADVERTISING INFORMATION」に見出すことができる。これらの出願の内容は、全体が、参照により本明細書に組み込まれる。
【0293】
図11は、2つの電子デバイス間を移行するためのプロセス1100を示す、フローチャートである。プロセス1100は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1102で、デバイスは、そのデバイス自体と関心対象地点との間の、近接性を検出する。ブロック1104で、デバイスは、その近接性が閾値範囲内にあるか否かを判定する。ブロック1106で、近接性が閾値範囲内にあるという判定に従って、デバイスは、画面上にアフォーダンスを表示する。ブロック1108で、デバイスは、表示されたアフォーダンスの選択を表す、入力データを受信する。ブロック1110で、この入力データの受信に応じて、デバイスは、その電子デバイス上で、関心対象地点に関連付けられたアプリケーションを起動する。
【0294】
一部の実施形態では、デバイスは、ブロック1102でロックされており、ブロック1110でロック解除する。関心対象地点は、電子的な場合もあれば、又は、その場所を特定する電子デバイスを有する、物理的なランドマークの場合もある。関心対象地点が電子デバイスである場合、ブロック1110で、デバイスは、その電子的関心対象地点を制御するためのアプリケーションを起動することができる。例えば、関心対象地点がスマートテレビである場合には、ブロック1110で、そのテレビ用のリモートコントロールアプリケーションを起動することができる。関心対象地点が物理的なランドマークである場合、ブロック1110で、デバイスは、そのランドマークに関連するアプリケーションを起動することができる。例えば、デバイスは、ブロック1110で、そのランドマークに関する観光パンフレットを起動することができる。
【0295】
任意選択的に、ブロック1110で、デバイス100は、いずれのアプリケーションを起動するべきかを決定する際に、他の因子を考慮することができる。上述のように、デバイス100は、いずれのアプリケーションを起動するべきかを決定する際に、時刻及びアクセスの頻度などの、文脈情報を考慮することができる。また、上述のように、デバイス100は、所望のアプリケーションが未だインストールされていないことを見出す場合もある。これらの場合には、デバイス100は、ブロック1112に進み、そのアプリケーションをダウンロードして、インストールし、起動することができる。あるいは、デバイス100は、特定のアプリケーションをインストールするべきか否かをユーザが決定するための、追加情報を表示することができる。
【0296】
図12は、複数のアプリケーションが、連続性の目的に関して利用可能である場合に、起動するべきアプリケーションを選択するためのプロセス1200を示す、フローチャートである。プロセス1200は、デバイス100(
図1)、デバイス300(
図3)、及び/又はデバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1202で、デバイスは、無線通信を介して、第1の外部デバイスを検出する。この第1の外部デバイスは、第1のアプリケーションを実行中とすることができる。第1のアプリケーションは、特定の状態を有し得る。ブロック1204で、デバイスは、無線通信を介して、第1の外部デバイスとは異なる第2の外部デバイスを検出する。この第2の外部デバイスは、第2のアプリケーションを実行している。第2のアプリケーションは、特定の状態を有し得る。ブロック1206で、デバイスは、その電子デバイスの画面上に、第1の外部デバイス及び第2の外部デバイスの検出に基づいて、少なくとも1つのアフォーダンスを表示する。表示されるアフォーダンスは、例えば
図7A〜7Gに示されるユーザインタフェース画面の、視覚的外観を有し得る。ブロック1208で、デバイスは、表示された少なくとも1つのアフォーダンスのうちの1つのアフォーダンスのユーザ選択を表す、入力データを受信する。可能な入力としては、プロセス900(
図9)を参照して論じられたものを含めた、上述の入力が挙げられる。ブロック1210で、この入力データの受信に応じて、デバイスは、その電子デバイス上で、第3のアプリケーションを起動する。この第3のアプリケーションは、第1のアプリケーション又は第2のアプリケーションのバージョンとすることができる。
【0297】
図13は、2つの電子デバイス間を移行するためのプロセス1300を示す、フローチャートである。プロセス1300は、デバイス100(
図1)、デバイス300(
図3)、及び/又はデバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1302で、デバイスは、第1のアプリケーションを実行しており、無線通信を介して外部デバイスを検出する。ブロック1304で、デバイスは、第1のアプリケーションに対応する第2のアプリケーションを起動するように、外部デバイスに指示するためのプッシュアフォーダンスを、画面上に表示する。ブロック1306で、デバイスは、このプッシュアフォーダンスのユーザ選択を検出する。ブロック1308で、このユーザ選択の検出に応じて、デバイスは、外部デバイスに命令を送信して、外部デバイス上で第2のアプリケーションを起動するためのアフォーダンスを、その外部デバイスに表示させる。
【0298】
図14は、2つの電子デバイス間を移行するためのプロセス1400を示す、フローチャートである。プロセス1400は、デバイス100(
図1)、デバイス300(
図3)、及び/又はデバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1402で、デバイスは、無線通信を介して、外部デバイスを検出する。この外部デバイスは、第1のアプリケーションを実行している。ブロック1404で、デバイスは、外部デバイスから、ある時間間隔内にその外部デバイス上でユーザによって第1のアプリケーションが使用されたことを示す、使用情報の第1部分を受信する。ブロック1406で、外部デバイスの検出、及び使用情報の第1部分の受信に応じて、デバイスは、その電子デバイスの画面上にアフォーダンスを表示する。ブロック1408で、デバイスは、表示されたアフォーダンスのユーザ選択を検出する。ブロック1410で、このユーザ選択の検出に応じて、デバイスは、(i)表示されたアフォーダンスの視覚的外観を変更し、(ii)第1のアプリケーションに関連付けられた使用情報の第2部分を、外部デバイスから取得する。ブロック1412で、デバイスは、変更されたアフォーダンス上でのユーザ入力を検出する。ブロック1414で、このユーザ入力の受信に応じて、デバイスは、少なくとも使用情報の第2部分に基づいて、その電子デバイス上で第2のアプリケーションを起動する。第2のアプリケーションは、第1のアプリケーションに対応する。
【0299】
図15は、複数の電子デバイス間を移行するためのプロセス1500を示す、フローチャートである。プロセス1500は、デバイス100(
図1)、デバイス300(
図3)、及び/又はデバイス460(
図4C)のような、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。ブロック1502で、デバイスは、第1の外部デバイス上で実行されているか、及び/又は実行されていた第1の複数のアプリケーションを表す第1のデータを、第1の外部デバイスから、無線通信を介して受信する。ブロック1504で、デバイスは、第1の複数のアプリケーションを表す第1の複数のアフォーダンスを表示し、それらの複数のアフォーダンスは、第1の外部デバイスの第1のアプリケーションに対応する、第1のアフォーダンスを含む。ブロック1506で、デバイスは、第1のアフォーダンスのユーザ選択を検出する。ブロック1508で、この第1のアフォーダンスのユーザ選択の検出に応じて、デバイスは、その電子デバイス上で、第1のローカルアプリケーションを起動する。この第1のローカルアプリケーションは、第1のアプリケーションのバージョンである。
【0300】
第1の外部デバイスからの情報の受信に加えて、プロセス1500を実行しているローカルのデバイスは、第2の外部デバイスから情報を受信することができる。任意選択的に、プロセス1500は、ブロック1510を含み得るものであり、このブロック1510の間に、デバイスは、第2の外部デバイス上で実行されているか、及び/又は実行されていた第2の複数のアプリケーションを表す第2のデータを、第2の外部デバイスから、無線通信を介して受信する。更には、ブロック1512で、デバイスは、第2の複数のアプリケーションを表す第2の複数のアフォーダンスを表示することができ、それらの複数のアフォーダンスは、第2の外部デバイスの第2のアプリケーションに対応する、第2のアフォーダンスを含む。また更には、ブロック1514で、デバイスは、第2のアフォーダンスのユーザ選択を検出し、それに応じて、その電子デバイス上で第2のローカルアプリケーションを起動することができ、このローカルアプリケーションは、第2のアプリケーションのバージョンである。
【0301】
一部の実施形態では、第1の複数のアフォーダンス及び第2の複数のアフォーダンスは、第1の外部デバイス及び第2の外部デバイスのアプリケーションを表すものであり、同じ画面上に一緒に表示することができる点に留意されたい。このユーザインタフェースは、例えば、
図7Gでの画面740の視覚的外観を有し得る。この画面から、ユーザは、近傍のデバイス上で稼働している様々なアプリケーションを特定することができる。また、この画面から、ユーザは、対応するアプリケーションをローカルのデバイス上で呼び出すことによって、そのローカルのデバイス上で、自身の作業を続けるように選択することもできる。この方式で、プロセス1500は、複数の電子デバイス全体にわたる、ユーザのアプリケーション使用をカタログ化して、1つのデバイスの使用から別のデバイスの使用へとユーザがシームレスに移行することを可能にする、強力な方法を提供する。例えば、1人のユーザが、互換性のあるセルラー電話、タブレットコンピュータ、及びラップトップコンピュータを所有する状況を考察する。曖昧性除去画面740(
図7G)を表示するプロセス1500を実行しているデバイスは、ユーザが、種々のデバイス間から、作業中のタスクに関してより好適であり得るローカルのデバイス上に、容易に移行することを可能にする。
【0302】
図20は、2つの電子デバイス間を移行するためのプロセス2000を示す、フローチャートである。一部の実施形態では、プロセス2000は、ディスプレイと、タッチ接触の強度を検出することが可能なタッチ感知面とを備える、電子デバイスで実行することができる。一部の実施形態では、プロセス2000は、ディスプレイと、タッチ感知面上での接触の力又は圧力の代替物(代用物)を判定することが可能な、タッチ感知面とを備える、電子デバイスで実行することができる。プロセス2000を実行することが可能な例示的デバイスとしては、デバイス100、デバイス300、及びデバイス460(
図1、
図3、及び
図4C)が挙げられる。
【0303】
ブロック2002で、第1のタッチ接触が、タッチ感知ディスプレイ上で検出される。この第1の接触は、第1の最大強度を有する。このタッチスクリーン上での第1の接触の位置は、そのデバイス上でアプリケーションを起動するためのアイコンに対応し得る。ブロック2004で、第1の最大強度が、閾値強度を超過するか否かについての判定が実施される。第1の最大強度が、閾値強度を下回る場合には、処理はブロック2006に続き、このブロック2006で、対応するアプリケーションが起動される。第1の最大強度が、閾値強度を上回る場合には、処理はブロック2005に進み、このブロック2005で、対応するアプリケーションの起動以外の機能が実行される。例えば、一部の実施形態では、文脈に応じたメニューが表示される。
【0304】
ブロック2008で、タッチ感知ディスプレイ上で第2の接触を検出することができ、その第2の接触は、第2の最大強度を有する。ブロック2010で、第2の最大強度が、閾値強度を超過するか否かについての判定が実施される。第2の最大強度が、閾値強度を上回る場合には、処理はブロック2012に続き、このブロック2012で、無線通信を介して、外部デバイスに命令を送信することができる。この命令は、外部デバイスに、第1のアプリケーションに対応する第2のアプリケーションを外部デバイス上で起動するためのアフォーダンスを、表示させることができる。一部の実施形態では、第2の接触と、命令の送信とは、1つ以上の介在ステップによって分離される。例えば、ユーザは、命令が送信されるために、第2の接触の後に、追加的アフォーダンス(例えば、画面上のアイコン)を選択するように要求される場合がある。この追加的アフォーダンスは、ユーザが1つの電子デバイスから別の電子デバイスに情報を「プッシュ」しようとしていることを、ユーザに示すような方式で、ラベル付けすることができる。第2の最大強度が、閾値強度を下回る場合には、処理はブロック2011に進み、このブロック2011で、第2のアプリケーションを起動する命令の送信以外の機能が実行される。例えば、一部の実施形態では、第1のアプリケーションの機能を呼び出すことができる。
【0305】
図21は、2つの電子デバイス間を移行するためのプロセス2100を示す、フローチャートである。一部の実施形態では、プロセス2100は、デバイス100、300、及びデバイス460(
図1、
図3、及び
図4C)などの、ディスプレイ及びタッチ感知面を備える電子デバイスで実行することができる。アプリケーションを、デバイス上にインストールして、実行可能状態にすることができる。ブロック2102で、このインストール済みアプリケーションが表示されていない間に(例えば、そのアプリケーションがフォアグラウンドでアクティブではない間に)、そのインストール済みアプリケーションに関するアプリケーションデータを取得することができる。ブロック2104で、取得されたアプリケーションデータを示すアラートを表示することができる。例えば、このインストール済みアプリケーションは、Apple Inc.(Cupertino,California)によって作成された、Messages(登録商標)とすることができ、取得されたアプリケーションデータは、着信テキストメッセージとすることができ、このアラートは、テキストメッセージの着信をユーザに通知するテキストを含み得る。ブロック2106で、このアラートのスワイプを検出することができる。ブロック2108で、検出された移動が実質的に第1の方向であるという判定に応じて、無線通信を介して、外部デバイスに命令を送信することができる。この命令は、第1のアプリケーションに対応する第2のアプリケーションを外部デバイス上で起動するためのアフォーダンスを、外部デバイスが表示するための、情報を提供することができる。この命令は、そのアフォーダンスを表示するように、外部デバイスに指示することができる。本明細書で使用するとき、「アラート」は、テキスト及び画像の形態の、グラフィカルユーザインタフェースオブジェクトからなるものとすることができる。
【0306】
図22は、2つの電子デバイス間を移行するためのプロセス2200を示す、フローチャートである。一部の実施形態では、プロセス2200は、デバイス100、300、及びデバイス460(
図1、
図3、及び
図4C)などの、ディスプレイ及びマイクロフォンを備える電子デバイスで実行することができる。電子デバイスは、マイクロフォンを介して受信された音声入力に応じる、インテリジェント自動アシスタントを有し得る。ブロック2202で、音声入力が検出され得る。この音声入力は、情報に関する口頭リクエストを含み得る。ブロック2204で、無線通信範囲内に存在する外部デバイスを、検出することができる。ブロック2206で、音声入力の検出、及び外部デバイスの検出に、少なくとも部分的に応じて、無線通信を介して、外部デバイスに命令を送信することができる。この命令は、要求された情報を表示するためのアフォーダンスを、外部デバイスが表示するための、情報を提供することができる。この命令は、そのアフォーダンスを表示するように、外部デバイスに指示することができる。
【0307】
図53は、2つの電子デバイス間を移行するためのプロセス5300を示す、フローチャートである。プロセス5300は、デバイス100(
図1)、デバイス300(
図3)、デバイス460(
図4C)、及びデバイス470(
図4D)のような、タッチ感知ディスプレイ及びマイクロフォンを備える電子デバイスで実行することができる。ブロック5302で、電子デバイスは、マイクロフォンからの音声入力を検出する。この音声入力は、情報に関する口頭リクエストを含む。ブロック5304で、電子デバイスは、無線通信を介して、外部デバイスを検出する。ブロック5306で、電子デバイスは、音声入力の検出、及び外部デバイスの検出に、少なくとも部分的に応じて、無線通信を介して、外部デバイスに命令を送信する。この命令は、要求された情報を表示するためのアフォーダンスを、外部デバイスに表示させる。
【0308】
図9〜
図15及び
図20〜
図22での動作が説明されている特定の順序は、例示的なものであり、説明される順序は、それらの動作を実行することが可能な唯一の順序であることを示す意図はない点を理解されたい。当業者には、本明細書で説明される動作を再順序付けするための、様々な方法が認識されるであろう。簡潔性のために、これらの詳細は、ここでは繰り返さない。更には、プロセス900〜プロセス1500(
図9〜
図15)及びプロセス2000〜プロセス2200(
図20〜
図22)の態様を、互いに組み入れることができる点に留意されたい。例えば、プロセス900は、タッチスクリーン装備デバイス、及び非タッチスクリーン装備デバイスの双方での、入力の受信を説明する。タッチスクリーンデバイス、及び非タッチスクリーンデバイスを使用して、プロセス1000〜プロセス1500及びプロセス2000〜プロセス2200(
図10〜
図15及び
図20〜
図22)のうちの1つ以上を実行することができる。それゆえ、プロセス900に関して説明される入力技術は、プロセス1000〜プロセス1500及びプロセス2000〜プロセス2200にも関連し得る。簡潔性のために、ユーザ入力技術の置換は繰り返さない。
【0309】
上述の情報処理方法での動作は、汎用プロセッサ又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、実施することができる。これらのモジュール、これらのモジュールの組み合わせ、及び/又は、それらの(例えば、
図1A、
図1B、
図3、
図4C、及び
図4Dに関連して上述されたような)一般的ハードウェアとの組み合わせは全て、本発明の保護の範囲内に含まれる。
【0310】
図16は、一部の実施形態で上述の機能を実行する、電子デバイス1600の例示的な機能ブロックを示す。
図16に示されるように、電子デバイス1600は、グラフィカルオブジェクトを表示するよう構成された、ディスプレイユニット1602と、ユーザのジェスチャを受信するように構成された、タッチ感知面ユニット1604と、外部電子デバイスを検出して、その外部電子デバイスと通信するように構成された、1つ以上のRFユニット1606と、ディスプレイユニット1602、タッチ感知面ユニット1604、及びRFユニット1606に結合された処理ユニット1608とを含む。一部の実施形態では、処理ユニット1608は、1つ以上のアプリケーション1612を稼働するオペレーティングシステム1610を、サポートするように構成される。一部の実施形態では、処理ユニット1608は、無線通信範囲内に存在する外部デバイスを表すデータを、RFユニット1606から受信して、タッチ感知面ユニット1604上に、グラフィカルユーザインタフェースアフォーダンスを表示するように構成される。一部の実施形態では、連続性ユニット1610は、受信されたデータを解析して、デバイス1600上で起動するべき対応するアプリケーション、並びにアプリケーション状態を決定するように構成される。一部の実施形態では、連続性ユニット1610はまた、受信されたデータを解析して、アプリケーション状態を決定するように構成されることにより、対応するアプリケーションを、その状態の下で起動することもできる。アプリケーションユニット1612は、対応するアプリケーションを、所望の状態で起動するように構成することができる。
【0311】
デバイス1600の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図16で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0312】
一部の実施形態によれば、
図23は、説明される様々な実施形態の原理に従って構成された電子デバイス2300の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2300の機能ブロックは、上述の技術を実行するように構成される。デバイス2300の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図23で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0313】
図23に示されるように、電子デバイス2300は、処理ユニット2326に結合されたディスプレイユニット2320と、任意選択のタッチ感知面ユニット2322とを含む。タッチ感知面ユニット2322は、任意選択的に、ディスプレイユニット2320と組み合わされて、タッチスクリーンディスプレイを形成する。一部の実施形態では、処理ユニット2326は、外部デバイス検出ユニット2330、データ受信ユニット2332、表示有効化ユニット2334、入力検出ユニット2336、及びアプリケーション起動ユニット2338を含む。任意選択的に、処理ユニット2326はまた、アプリケーション状態呼び出しユニット2340、及びスワイプ距離判定ユニット2342も含む。
【0314】
処理ユニット2326は、無線通信を介して、外部デバイスを(例えば、外部デバイス検出ユニット2330を使用して)検出し、その外部デバイスは、第1のアプリケーションを実行しているか、又は実行していたものであり、その外部デバイス上の第1のアプリケーションの使用を示す使用情報を、外部デバイスから(例えば、データ受信ユニット2332を使用して)受信し、外部デバイスの検出、及び使用情報の受信に応じて、電子デバイス2300の画面(例えば、ディスプレイユニット2320)上でのアフォーダンスの表示を(例えば、表示有効化ユニット2334を使用して)有効化し、表示されたアフォーダンスのユーザ選択を(例えば、入力検出ユニット2336を使用して)検出し、このユーザ選択の検出に応じて、電子デバイス2300上で、第2のアプリケーションを(例えば、アプリケーション起動ユニット2338を使用して)起動するように構成され、その第2のアプリケーションは、第1のアプリケーションに対応する。
【0315】
一部の実施形態では、処理ユニット2326は、所定の時間の後に、そのアフォーダンスの表示を(例えば、表示有効化ユニット2334を使用して)停止するように更に構成される。
【0316】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0317】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0318】
一部の実施形態では、使用情報は、第1のアプリケーションの状態を示し、第2のアプリケーションを起動することは、電子デバイス2300上の第2のアプリケーションに、その状態を(例えば、アプリケーション状態呼び出しユニット2340を使用して)呼び出すことを含む。
【0319】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのユーザインタフェース画面に対応する。
【0320】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0321】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0322】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0323】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0324】
一部の実施形態では、処理ユニット2326は、第1のアプリケーションのアプリケーションデータを、電子デバイス2300によって(例えば、データ受信ユニット2332を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2334を使用して)有効化するように更に構成される。
【0325】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2326は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2334を使用して)有効化するように更に構成される。
【0326】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2326は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2334を使用して)有効化するように更に構成される。
【0327】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0328】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2300上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2334を使用して)有効化することを含む。
【0329】
一部の実施形態では、電子デバイス2300は、タッチ感知ディスプレイユニット2320を備え、表示されたアフォーダンスのユーザ選択は、その表示されたアフォーダンスからのスワイプである。
【0330】
一部の実施形態では、処理ユニット2326は、スワイプの距離が閾値距離を超過するか否かを(例えば、スワイプ距離判定ユニット2342を使用して)判定し、スワイプの距離が閾値距離を超過すると判定される場合にのみ、第2のアプリケーションを(例えば、アプリケーション起動ユニット2338を使用して)起動するように更に構成される。
【0331】
一部の実施形態では、処理ユニット2326は、スワイプの距離が閾値距離を超過しないという判定に従って、表示されたアフォーダンスを(例えば、表示有効化ユニット2334を使用して)飛び跳ねさせるように更に構成される。
【0332】
一部の実施形態では、ディスプレイユニット2320及びタッチ感知面2322は、タッチスクリーンディスプレイを形成し、表示されたアフォーダンスのユーザ選択は、その表示されたアフォーダンス上でのタップであり、処理ユニット2326は、このタップの検出に応じて、電子デバイス2300上で第2のアプリケーションを(例えば、アプリケーション起動ユニット2338を使用して)起動するように更に構成され、その第2のアプリケーションは、第1のアプリケーションに対応する。
【0333】
一部の実施形態では、ディスプレイユニット2320及びタッチ感知面2322は、タッチスクリーンディスプレイを形成し、表示されたアフォーダンスのユーザ選択は、その表示されたアフォーダンス上でのタップであり、処理ユニット2326は、このタップの検出に応じて、アプリケーションを起動する方法を示すために、表示されたアフォーダンスを(例えば、表示有効化ユニット2334を使用して)飛び跳ねさせ、表示されたアフォーダンスのスワイプが検出される場合にのみ、第2のアプリケーションを(例えば、アプリケーション起動ユニット2338を使用して)起動するように構成される。
【0334】
一部の実施形態では、処理ユニット2326は、タップの検出に応じて、表示されたアフォーダンスをスワイプするようにユーザに通知する、指示テキストの表示を(例えば、表示有効化ユニット2334を使用して)有効化するように更に構成される。
【0335】
一部の実施形態では、電子デバイス2300は、ラップトップ又はデスクトップコンピュータである。
【0336】
一部の実施形態では、電子デバイス2300は、タブレットコンピュータである。
【0337】
一部の実施形態では、電子デバイス2300は、電話である。
【0338】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0339】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0340】
一部の実施形態では、外部デバイスは、電話である。
【0341】
図9を参照して上述された動作は、
図1A、
図1B、又は
図23に示される構成要素によって、任意選択的に実施される。例えば、検出動作902、受信動作904、及び表示動作906は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0342】
一部の実施形態によれば、
図24は、説明される様々な実施形態の原理に従って構成された電子デバイス2400の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2400の機能ブロックは、上述の技術を実行するように構成される。デバイス2400の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図24で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0343】
図24に示されるように、電子デバイス2400は、タッチ感知ディスプレイユニット2420と、タッチ感知ディスプレイユニット2420に結合された処理ユニット2426とを含む。一部の実施形態では、処理ユニット2426は、外部デバイス検出ユニット2430、表示有効化ユニット2432、入力検出ユニット2434、及びアプリケーション起動ユニット2436を含む。任意選択的に、処理ユニット2426はまた、データ受信ユニット2438、及びスワイプ距離判定ユニット2440も含む。
【0344】
図24に示されるように、電子デバイス2400は、タッチ感知ディスプレイユニット2420と、タッチ感知ディスプレイユニット2420に結合された処理ユニット2426とを含む。一部の実施形態では、処理ユニット2426は、外部デバイス検出ユニット2430、表示有効化ユニット2432、入力検出ユニット2434、及びアプリケーション起動ユニット2436を含む。任意選択的に、処理ユニット2426はまた、データ受信ユニット2438、及びスワイプ距離判定ユニット2440も含む。
【0345】
処理ユニット2426は、電子デバイス2400が、ユーザインタフェースロック状態にある間に、外部デバイスを(例えば、外部デバイス検出ユニット2430を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、タッチ感知ディスプレイユニット2420上で、所定の時間にわたって、第1のアプリケーションに対応するアフォーダンスの表示を(例えば、表示有効化ユニット2432を使用して)有効化し、タッチ感知ディスプレイユニット2420上の、表示されたアフォーダンスの場所での接触を(例えば、入力検出ユニット2434を使用して)検出し、この接触に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット2436を使用して)起動するように構成され、この第2のアプリケーションは、第1のアプリケーションに対応し、第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0346】
一部の実施形態では、この接触は、表示されたアフォーダンス上のタップであり、処理ユニット2426は、このタップの検出に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット2436を使用して)起動するように更に構成される。
【0347】
一部の実施形態では、この接触は、表示されたアフォーダンス上のタップであり、処理ユニット2426は、このタップの検出に応じて、そのアフォーダンスを(例えば、表示有効化ユニット2432を使用して)飛び跳ねさせ、第2のアプリケーションを起動しないように更に構成される。
【0348】
一部の実施形態では、この接触は、表示されたアフォーダンスからのスワイプであり、処理ユニット2426は、このスワイプの検出に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット2436を使用して)起動するように更に構成される。
【0349】
一部の実施形態では、処理ユニット2426は、スワイプの距離が閾値距離を超過するか否かを(例えば、スワイプ距離判定ユニット2440を使用して)判定し、スワイプの距離が閾値距離を超過すると判定される場合にのみ、第2のアプリケーションを(例えば、アプリケーション起動ユニット2436を使用して)ロック状態から起動するように更に構成される。
【0350】
一部の実施形態では、処理ユニット2426は、スワイプの距離が閾値距離を超過しないという判定に従って、そのアフォーダンスを(例えば、表示有効化ユニット2432を使用して)飛び跳ねさせるように更に構成される。
【0351】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0352】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0353】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0354】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0355】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0356】
一部の実施形態では、処理ユニット2426は、第1のアプリケーションのアプリケーションデータを、電子デバイス2400によって(例えば、データ受信ユニット2438を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2432を使用して)有効化するように更に構成される。
【0357】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2426は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2432を使用して)有効化するように更に構成される。
【0358】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2426は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2432を使用して)有効化するように更に構成される。
【0359】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0360】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2400上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2432を使用して)有効化することを含む。
【0361】
一部の実施形態では、電子デバイス2400は、ラップトップ又はデスクトップコンピュータである。
【0362】
一部の実施形態では、電子デバイス2400は、タブレットコンピュータである。
【0363】
一部の実施形態では、電子デバイス2400は、電話である。
【0364】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0365】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0366】
一部の実施形態では、外部デバイスは、電話である。
【0367】
図43を参照して上述された動作は、
図1A、
図1B、又は
図24に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4302、表示動作4304、及び入力検出動作4306は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0368】
一部の実施形態によれば、
図25は、説明される様々な実施形態の原理に従って構成された電子デバイス2500の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2500の機能ブロックは、上述の技術を実行するように構成される。デバイス2500の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図25で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0369】
図25に示されるように、電子デバイス2500は、タッチ感知ディスプレイユニット2520と、ボタンユニット2522と、タッチ感知ディスプレイユニット2520及びボタンユニット2522に結合された処理ユニット2526とを含む。一部の実施形態では、処理ユニット2526は、外部デバイス検出ユニット2530、表示有効化ユニット2534、入力検出ユニット2532、及びアプリケーション起動ユニット2536を含む。任意選択的に、処理ユニット2526はまた、データ受信ユニット2538も含む。
【0370】
処理ユニット2526は、外部デバイスを(例えば、外部デバイス検出ユニット2530を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、ボタンの2度押しを(例えば、入力検出ユニット2532を使用して)検出し、この2度押しの検出に応じて、左のアフォーダンス、中央のアフォーダンス、及び右のアフォーダンスの表示を(例えば、表示有効化ユニット2534を使用して)有効化し、左のアフォーダンスは、第1のアプリケーションに対応する第2のアプリケーションを電子デバイス2500上で起動するためのものであり、中央のアフォーダンスは、電子デバイス2500上で直近に使用されたアプリケーションを表すものであり、左のアフォーダンス上での接触を(例えば、入力検出ユニット2532を使用して)検出し、この左のアフォーダンス上での接触に応じて、電子デバイス2500上で第2のアプリケーションを(例えば、アプリケーション起動ユニット2536を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0371】
一部の実施形態では、左のアフォーダンスの表示を有効化することは、第1のアプリケーションの状態を示すサムネイル画像の表示を(例えば、表示有効化ユニット2534を使用して)有効化することを含む。
【0372】
一部の実施形態では、右のアフォーダンスは、電子デバイス2500上で実行されている第3のアプリケーションを表す。
【0373】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0374】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0375】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0376】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0377】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0378】
一部の実施形態では、処理ユニット2526は、第1のアプリケーションのアプリケーションデータを、電子デバイス2500によって(例えば、データ受信ユニット2538を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2534を使用して)有効化するように更に構成される。
【0379】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2526は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2534を使用して)有効化するように更に構成される。
【0380】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2526は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2534を使用して)有効化するように更に構成される。
【0381】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0382】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2500上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2534を使用して)有効化することを含む。
【0383】
一部の実施形態では、電子デバイス2500は、ラップトップ又はデスクトップコンピュータである。
【0384】
一部の実施形態では、電子デバイス2500は、タブレットコンピュータである。
【0385】
一部の実施形態では、電子デバイス2500は、電話である。
【0386】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0387】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0388】
一部の実施形態では、外部デバイスは、電話である。
【0389】
図44を参照して上述された動作は、
図1A、
図1B、又は
図25に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4402、ボタン押圧検出動作4404、及び表示動作4406は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0390】
一部の実施形態によれば、
図26は、説明される様々な実施形態の原理に従って構成された電子デバイス2600の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2600の機能ブロックは、上述の技術を実行するように構成される。デバイス2600の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図26で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0391】
図26に示されるように、電子デバイス2600は、タッチ感知ディスプレイユニット2620と、タッチ感知ディスプレイユニット2620に結合された処理ユニット2626とを含む。一部の実施形態では、処理ユニット2626は、外部デバイス検出ユニット2630、表示有効化ユニット2634、入力検出ユニット2632、及びアプリケーション起動ユニット2636を含む。任意選択的に、処理ユニット2626はまた、データ受信ユニット2638も含む。
【0392】
処理ユニット2626は、外部デバイスを(例えば、外部デバイス検出ユニット2630を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、タッチ感知ディスプレイユニット2620上での下向きのスワイプを(例えば、入力検出ユニット2632を使用して)検出し、この下向きのスワイプは、タッチ感知ディスプレイユニット2620の上端からのものであり、この下向きのスワイプに応じて、電子デバイス2600上で第2のアプリケーションを起動するためのアフォーダンスの表示を(例えば、表示有効化ユニット2634を使用して)有効化し、その第2のアプリケーションは、第1のアプリケーションに対応するものであり、このアフォーダンス上での接触を(例えば、入力検出ユニット2632を使用して)検出し、このアフォーダンス上での接触に応じて、電子デバイス2600上で第2のアプリケーションを(例えば、アプリケーション起動ユニット2636を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0393】
一部の実施形態では、このアフォーダンスの表示を有効化することは、第1のアプリケーションを特定するサムネイル画像の表示を(例えば、表示有効化ユニット2634を使用して)有効化することを含む。
【0394】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0395】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0396】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0397】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0398】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0399】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0400】
一部の実施形態では、処理ユニット2626は、第1のアプリケーションのアプリケーションデータを、電子デバイス2600によって(例えば、データ受信ユニット2638を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2634を使用して)有効化するように更に構成される。
【0401】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2626は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2634を使用して)有効化するように更に構成される。
【0402】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2626は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2634を使用して)有効化するように更に構成される。
【0403】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0404】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2600上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を有効化することを含む。
【0405】
一部の実施形態では、電子デバイス2600は、ラップトップ又はデスクトップコンピュータである。
【0406】
一部の実施形態では、電子デバイス2600は、タブレットコンピュータである。
【0407】
一部の実施形態では、電子デバイス2600は、電話である。
【0408】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0409】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0410】
一部の実施形態では、外部デバイスは、電話である。
【0411】
図45を参照して上述された動作は、
図1A、
図1B、又は
図26に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4502、スワイプ検出動作4504、及び表示動作4506は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0412】
一部の実施形態によれば、
図27は、説明される様々な実施形態の原理に従って構成された電子デバイス2700の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2700の機能ブロックは、上述の技術を実行するように構成される。デバイス2700の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図27で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0413】
図27に示されるように、電子デバイス2700は、タッチ感知ディスプレイユニット2720と、生体認証読み取りユニット2722と、タッチ感知ディスプレイユニット2720及び生体認証読み取りユニット2722に結合された処理ユニット2726とを含む。一部の実施形態では、処理ユニット2726は、外部デバイス検出ユニット2730、データ受信ユニット2732、ロック解除ユニット2734、表示有効化ユニット2736、入力検出ユニット2738、及びアプリケーション起動ユニット2740を含む。
【0414】
処理ユニット2726は、電子デバイス2700が、ユーザインタフェースロック状態にある間に、外部デバイスを(例えば、外部デバイス検出ユニット2730を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、生体認証読み取りユニット2722から、生体認証入力を(例えば、データ受信ユニット2732を使用して)受信し、この生体認証入力の受信に応じて、電子デバイス2700を(例えば、ロック解除ユニット2734を使用して)ロック解除し、ロック解除の後、第1のアプリケーションに対応するアフォーダンスの表示を(例えば、表示有効化ユニット2736を使用して)有効化し、表示されたアフォーダンス上での接触を(例えば、入力検出ユニット2738を使用して)検出し、この接触の検出に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット2740を使用して)起動するように構成され、この第2のアプリケーションは、第1のアプリケーションに対応し、第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0415】
一部の実施形態では、生体認証読み取りユニット2722は、指紋読み取り装置である。
【0416】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0417】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0418】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0419】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0420】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0421】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0422】
一部の実施形態では、処理ユニット2726は、第1のアプリケーションのアプリケーションデータを、電子デバイス2700によって(例えば、データ受信ユニット2732を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2736を使用して)有効化するように更に構成される。
【0423】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2726は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2736を使用して)有効化するように更に構成される。
【0424】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2726は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2736を使用して)有効化するように更に構成される。
【0425】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0426】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2700上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2736を使用して)有効化することを含む。
【0427】
一部の実施形態では、電子デバイス2700は、ラップトップ又はデスクトップコンピュータである。
【0428】
一部の実施形態では、電子デバイス2700は、タブレットコンピュータである。
【0429】
一部の実施形態では、電子デバイス2700は、電話である。
【0430】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0431】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0432】
一部の実施形態では、外部デバイスは、電話である。
【0433】
図46を参照して上述された動作は、
図1A、
図1B、又は
図27に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4602、生体認証入力受信動作4604、及びロック解除動作4606は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0434】
一部の実施形態によれば、
図28は、説明される様々な実施形態の原理に従って構成された電子デバイス2800の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2800の機能ブロックは、上述の技術を実行するように構成される。デバイス2800の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図28で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0435】
図28に示されるように、電子デバイス2800は、タッチ感知ディスプレイユニット2820と、タッチ感知ディスプレイユニット2820に結合された処理ユニット2826とを含む。一部の実施形態では、処理ユニット2826は、外部デバイス検出ユニット2830、表示有効化ユニット2834、入力検出ユニット2832、及びアプリケーション起動ユニット2836を含む。任意選択的に、処理ユニット2826はまた、データ受信ユニット2838も含む。
【0436】
処理ユニット2826は、外部デバイスを(例えば、外部デバイス検出ユニット2830を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、タッチ感知ディスプレイユニット2820上での複数のアプリケーションアイコンの表示を(例えば、表示有効化ユニット2834を使用して)有効化し、タッチ感知ディスプレイユニット上での右向きのスワイプを(例えば、入力検出ユニット2832を使用して)検出し、この右向きのスワイプは、タッチ感知ディスプレイユニット2820の左端からのものであり、この右向きのスワイプに応じて、電子デバイス2800上で第2のアプリケーションを起動するためのアフォーダンスの表示を(例えば、表示有効化ユニット2834を使用して)有効化し、その第2のアプリケーションは、第1のアプリケーションに対応するものであり、このアフォーダンス上での接触を(例えば、入力検出ユニット2832を使用して)検出し、このアフォーダンス上での接触に応じて、電子デバイス2800上で第2のアプリケーションを(例えば、アプリケーション起動ユニット2836を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0437】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0438】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0439】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0440】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0441】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0442】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0443】
一部の実施形態では、処理ユニット2836は、第1のアプリケーションのアプリケーションデータを、電子デバイス2800によって(例えば、データ受信ユニット2838を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2834を使用して)有効化するように更に構成される。
【0444】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2826は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2834を使用して)有効化するように更に構成される。
【0445】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2826は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2834を使用して)有効化するように更に構成される。
【0446】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0447】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2800上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2834を使用して)有効化することを含む。
【0448】
一部の実施形態では、電子デバイス2800は、ラップトップ又はデスクトップコンピュータである。
【0449】
一部の実施形態では、電子デバイス2800は、タブレットコンピュータである。
【0450】
一部の実施形態では、電子デバイス2800は、電話である。
【0451】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0452】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0453】
一部の実施形態では、外部デバイスは、電話である。
【0454】
図47を参照して上述された動作は、
図1A、
図1B、又は
図28に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4702、表示動作4704、及びスワイプ検出動作4706は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0455】
一部の実施形態によれば、
図29は、説明される様々な実施形態の原理に従って構成された電子デバイス2900の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス2900の機能ブロックは、上述の技術を実行するように構成される。デバイス2900の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図29で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0456】
図29に示されるように、電子デバイス2900は、任意選択のディスプレイユニット2920と、ユーザ入力を提供するための入力デバイスユニット2922と、入力デバイスユニット2920及び任意選択的にディスプレイユニット2920に結合された処理ユニット2926とを含む。一部の実施形態では、処理ユニット2926は、外部デバイス検出ユニット2930、表示有効化ユニット2934、入力検出ユニット2932、アプリケーション起動ユニット2936、及びデータ受信ユニット2938を含む。
【0457】
処理ユニット2926は、電子デバイス2900が、ユーザインタフェースロック状態にある間に、外部デバイスを(例えば、外部デバイス検出ユニット2930を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、パスワード入力フィールド及び第1のアプリケーションに対応するアフォーダンスの(例えば、ディスプレイユニット2920を使用する)表示を(例えば、表示有効化ユニット2934を使用して)有効化し、パスワードを(例えば、入力検出ユニット2932及び/又は入力デバイスユニット2922を使用して)受信し、表示されたアフォーダンス上でのマウスイベントを(例えば、入力検出ユニット2932を使用して)検出し、パスワードの受信、及びマウスイベントの検出に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット2936を使用して)起動するように構成され、この第2のアプリケーションは、第1のアプリケーションに対応し、第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0458】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0459】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0460】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0461】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0462】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0463】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0464】
一部の実施形態では、処理ユニット2926は、第1のアプリケーションのアプリケーションデータを(例えば、データ受信ユニット2938を使用して)受信し、そのアプリケーションデータの(例えば、ディスプレイユニット2920を使用する)表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット2934を使用して)有効化するように更に構成される。
【0465】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット2926は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット2934を使用して)有効化するように更に構成される。
【0466】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット2926は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット2934を使用して)有効化するように更に構成される。
【0467】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0468】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス2900上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット2934を使用して)有効化することを含む。
【0469】
一部の実施形態では、電子デバイス2900は、ラップトップ又はデスクトップコンピュータである。
【0470】
一部の実施形態では、電子デバイス2900は、タブレットコンピュータである。
【0471】
一部の実施形態では、電子デバイス2900は、電話である。
【0472】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0473】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0474】
一部の実施形態では、外部デバイスは、電話である。
【0475】
図48を参照して上述された動作は、
図1A、
図1B、又は
図29に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4802、表示動作4804、及びパスワード受信動作4806は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0476】
一部の実施形態によれば、
図30は、説明される様々な実施形態の原理に従って構成された電子デバイス3000の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3000の機能ブロックは、上述の技術を実行するように構成される。デバイス3000の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図30で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0477】
図30に示されるように、電子デバイス3000は、任意選択のディスプレイユニット3020と、キーボードユニット3022と、キーボードユニット3020及び任意選択的にディスプレイユニット3020に結合された処理ユニット3026とを含む。一部の実施形態では、処理ユニット3026は、外部デバイス検出ユニット3030、表示有効化ユニット3034、入力検出ユニット3032、及びアプリケーション起動ユニット3036を含む。任意選択的に、処理ユニット3026はまた、データ受信ユニット3038も含む。
【0478】
処理ユニット3026は、外部デバイスを(例えば、外部デバイス検出ユニット3030を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、キーボードユニット3022の第1のキーのキー押圧を、そのキーボードユニットの第2のキーのキー押圧と同時に(例えば、入力検出ユニット3032を使用して)検出し、この同時のキー押圧に応じて、電子デバイス3000上の複数のアクティブなアプリケーションを特定するアフォーダンス、及び第1のアプリケーションに対応する第2のアプリケーションを起動するためのアフォーダンスを含む、複数のアフォーダンスの(例えば、ディスプレイユニット3020を使用する)表示を(例えば、表示有効化ユニット3034を使用して)有効化し、(i)第2のキーの少なくとも1回の追加的キー押圧を、(ii)第1のキーを保持している間に行い、(iii)その後、第1のキー及び第2のキーの双方を解除することを含む、キーボード入力のシーケンスを(例えば、入力検出ユニット3032を使用して)検出し、キーボード入力のシーケンスに応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット3036を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0479】
一部の実施形態では、複数のアフォーダンスの表示を有効化することは、それらのアフォーダンスのうちの1つを(例えば、表示有効化ユニット3034を使用して)視覚的に強調表示することを含み、処理ユニット3026は、キーボード入力のシーケンスを検出する間に、第1のキーが保持されている間の第2のキーのキー押圧に応じて、それらの複数のアフォーダンスのうちの異なるアフォーダンスを(例えば、表示有効化ユニット3034を使用して)強調表示するように更に構成される。
【0480】
一部の実施形態では、処理ユニット3026は、第2のアプリケーションを起動するためのアフォーダンスが強調表示される場合にのみ、第1のキー及び第2のキーが解除されると、キーボード入力のシーケンスに応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット3036を使用して)起動するように更に構成される。
【0481】
一部の実施形態では、第1のキーは、コントロールキーであり、第2のキーは、タブキーである。
【0482】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0483】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0484】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0485】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0486】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0487】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0488】
一部の実施形態では、処理ユニット3026は、第1のアプリケーションのアプリケーションデータを、電子デバイス3000によって(例えば、データ受信ユニット3038を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3034を使用して)有効化するように更に構成される。
【0489】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3026は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3034を使用して)有効化するように更に構成される。
【0490】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3026は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3034を使用して)有効化するように更に構成される。
【0491】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0492】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3000上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット3034を使用して)有効化することを含む。
【0493】
一部の実施形態では、電子デバイス3000は、ラップトップ又はデスクトップコンピュータである。
【0494】
一部の実施形態では、電子デバイス3000は、タブレットコンピュータである。
【0495】
一部の実施形態では、電子デバイス3000は、電話である。
【0496】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0497】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0498】
一部の実施形態では、外部デバイスは、電話である。
【0499】
図49を参照して上述された動作は、
図1A、
図1B、又は
図30に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作4902、キー押圧検出動作4904、及び表示動作4906は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0500】
一部の実施形態によれば、
図31は、説明される様々な実施形態の原理に従って構成された電子デバイス3100の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3100の機能ブロックは、上述の技術を実行するように構成される。デバイス3100の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図31で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0501】
図31に示されるように、電子デバイス3100は、任意選択のディスプレイユニット3120と、ユーザインタフェース入力を提供するための入力デバイスユニット3122と、入力デバイスユニット3122及び任意選択的にディスプレイユニット3120に結合された処理ユニット3126とを含む。一部の実施形態では、処理ユニット3126は、外部デバイス検出ユニット3130、表示有効化ユニット3134、入力検出ユニット3132、及びアプリケーション起動ユニット3136を含む。任意選択的に、処理ユニット3126はまた、データ受信ユニット3138も含む。
【0502】
処理ユニット3126は、外部デバイスを(例えば、外部デバイス検出ユニット3130を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、電子デバイス3100の画面(例えば、ディスプレイユニット3120)の隅への、(例えば入力デバイスユニット3122を使用した)カーソルの移動を(例えば、入力検出ユニット3132を使用して)検出し、このカーソルの移動の検出に応じて、電子デバイス3100上の複数のアクティブなアプリケーションを特定するアフォーダンス、及び第1のアプリケーションに対応する第2のアプリケーションを起動するためのアフォーダンスを含む、複数のアフォーダンスの表示を(例えば、表示有効化ユニット3134を使用して)有効化し、(i)第2のアプリケーションを起動するためのアフォーダンス上への、カーソルの移動、及び(ii)そのアフォーダンス上でのマウスイベントを含む、入力のシーケンスを(例えば、入力検出ユニット3132を使用して)検出し、この入力のシーケンスの検出に応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット3136を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0503】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0504】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0505】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0506】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0507】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0508】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0509】
一部の実施形態では、処理ユニット3126は、第1のアプリケーションのアプリケーションデータを、電子デバイス3100によって(例えば、データ受信ユニット3138を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3134を使用して)有効化するように更に構成される。
【0510】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3126は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3134を使用して)有効化するように更に構成される。
【0511】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3126は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3134を使用して)有効化するように更に構成される。
【0512】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0513】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3100上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット3134を使用して)有効化することを含む。
【0514】
一部の実施形態では、電子デバイス3100は、ラップトップ又はデスクトップコンピュータである。
【0515】
一部の実施形態では、電子デバイス3100は、タブレットコンピュータである。
【0516】
一部の実施形態では、電子デバイス3100は、電話である。
【0517】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0518】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0519】
一部の実施形態では、外部デバイスは、電話である。
【0520】
図50を参照して上述された動作は、
図1A、
図1B、又は
図31に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作5002、移動検出動作5004、及び表示動作5006は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0521】
一部の実施形態によれば、
図32は、説明される様々な実施形態の原理に従って構成された電子デバイス3200の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3200の機能ブロックは、上述の技術を実行するように構成される。デバイス3200の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図32で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0522】
図32に示されるように、電子デバイス3200は、ディスプレイスクリーンユニット3220と、ユーザインタフェースのカーソルを制御するための入力デバイスユニット3222と、ディスプレイスクリーンユニット3220及び入力デバイスユニット3222に結合された処理ユニット3226とを含む。一部の実施形態では、処理ユニット3226は、外部デバイス検出ユニット3230、表示有効化ユニット3234、入力検出ユニット3232、及びアプリケーション起動ユニット3236を含む。任意選択的に、処理ユニット3226はまた、データ受信ユニット3238も含む。
【0523】
処理ユニット3226は、外部デバイスを(例えば、外部デバイス検出ユニット3230を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、電子デバイス3200上で複数のアプリケーションを起動するための複数のアプリケーションアイコンの、ディスプレイスクリーンユニット3220の一部分内での表示を(例えば、表示有効化ユニット3234を使用して)有効化し、第1のアプリケーションに対応する第2のアプリケーションを起動するためのアイコンの、そのディスプレイスクリーンユニット3220の一部分内での表示を(例えば、表示有効化ユニット3234を使用して)有効化し、表示されたアイコン上へのカーソルの移動、及び表示されたアイコン上でのマウスイベントを(例えば、入力検出ユニット3232を使用して)検出し、それに応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット3236を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0524】
一部の実施形態では、それらの複数のアプリケーションアイコン、及び第2のアプリケーションを起動するためのアイコンは、ディスプレイスクリーンユニット3220の一部分にわたって、水平方向に配置される。
【0525】
一部の実施形態では、第1のアプリケーションに対応する第2のアプリケーションを起動するためのアフォーダンスは、そのドックの最も左のアフォーダンスである。
【0526】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0527】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0528】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0529】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0530】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0531】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0532】
一部の実施形態では、処理ユニット3226は、第1のアプリケーションのアプリケーションデータを、電子デバイス3200によって(例えば、データ受信ユニット3238を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3234を使用して)有効化するように更に構成される。
【0533】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3226は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3234を使用して)有効化するように更に構成される。
【0534】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3226は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3234を使用して)有効化するように更に構成される。
【0535】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0536】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3200上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(表示有効化ユニット3234)有効化することを含む。
【0537】
一部の実施形態では、電子デバイス3200は、ラップトップ又はデスクトップコンピュータである。
【0538】
一部の実施形態では、電子デバイス3200は、タブレットコンピュータである。
【0539】
一部の実施形態では、電子デバイス3200は、電話である。
【0540】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0541】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0542】
一部の実施形態では、外部デバイスは、電話である。
【0543】
図51を参照して上述された動作は、
図1A、
図1B、又は
図32に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作5102、及び表示動作5104は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0544】
一部の実施形態によれば、
図33は、説明される様々な実施形態の原理に従って構成された電子デバイス3300の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3300の機能ブロックは、上述の技術を実行するように構成される。デバイス3300の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図33で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0545】
図33に示されるように、電子デバイス3300は、任意選択のディスプレイユニット3320と、ユーザインタフェースのカーソルを制御するための入力デバイスユニット3322と、入力デバイスユニット3322及び任意選択的にディスプレイユニット3320に結合された処理ユニット3326とを含む。一部の実施形態では、処理ユニット3326は、外部デバイス検出ユニット3330、表示有効化ユニット3334、入力検出ユニット3332、及びアプリケーション起動ユニット3336を含む。任意選択的に、処理ユニット3326はまた、データ受信ユニット3338も含む。
【0546】
処理ユニット3326は、外部デバイスを(例えば、外部デバイス検出ユニット3330を使用して)検出し、この外部デバイスは、第1のアプリケーションを実行しており、その第1のアプリケーションは、ある状態にあり、メニューバーの(例えば、ディスプレイユニット3320を使用する)表示を(例えば、表示有効化ユニット3334を使用して)有効化し、このメニューバーは、第1のアプリケーションに対応する第2のアプリケーションを起動するためのアイコンを含み、表示されたアイコン上への(例えば、入力デバイスユニット3322を使用した)カーソルの移動、及び表示されたアイコン上でのマウスイベントを(例えば、入力検出ユニット3332を使用して)検出し、それに応じて、第2のアプリケーションを(例えば、アプリケーション起動ユニット3336を使用して)起動するように構成され、この第2のアプリケーションの状態は、第1のアプリケーションの状態に対応する。
【0547】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0548】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0549】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0550】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0551】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0552】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0553】
一部の実施形態では、処理ユニット3326は、第1のアプリケーションのアプリケーションデータを、電子デバイス3300によって(例えば、データ受信ユニット3338を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3334を使用して)有効化するように更に構成される。
【0554】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3326は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3334を使用して)有効化するように更に構成される。
【0555】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3326は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3334を使用して)有効化するように更に構成される。
【0556】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0557】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3300上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット3334を使用して)有効化することを含む。
【0558】
一部の実施形態では、電子デバイス3300は、ラップトップ又はデスクトップコンピュータである。
【0559】
一部の実施形態では、電子デバイス3300は、タブレットコンピュータである。
【0560】
一部の実施形態では、電子デバイス3300は、電話である。
【0561】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0562】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0563】
一部の実施形態では、外部デバイスは、電話である。
【0564】
図52を参照して上述された動作は、
図1A、
図1B、又は
図33に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作5202、表示動作5204、及び移動検出動作5206は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0565】
一部の実施形態によれば、
図34は、説明される様々な実施形態の原理に従って構成された電子デバイス3400の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3400の機能ブロックは、上述の技術を実行するように構成される。デバイス3400の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図34で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0566】
図34に示されるように、電子デバイス3400は、ディスプレイユニット3420に任意選択的に結合された処理ユニット3426を含む。一部の実施形態では、処理ユニット3426は、外部デバイス検出ユニット3430、表示有効化ユニット3434、入力検出ユニット3432、アプリケーション起動ユニット3436、及びデータ受信ユニット3438を含む。
【0567】
処理ユニット3426は、第1の通信プロトコルを介して、外部デバイスを(例えば、外部デバイス検出ユニット3430を使用して)検出し、その外部デバイスは、第1のアプリケーションを実行しているか、又は実行していたものであり、その外部デバイス上の第1のアプリケーションの使用を示す使用情報を、外部デバイスから(例えば、データ受信ユニットを使用して)受信し、外部デバイスの検出、及び使用情報の受信に応じて、電子デバイス3400の画面(例えば、ディスプレイユニット3420)上でのアフォーダンスの表示を(例えば、表示有効化ユニット3434を使用して)有効化し、第2の通信プロトコルを介して、外部デバイスから第1のアプリケーションのアプリケーションデータを(例えば、データ受信ユニットを使用して)受信し、この第2の通信プロトコルは、第1の通信プロトコルとは異なるものであり、表示されたアフォーダンスのユーザ選択を(例えば、入力検出ユニット3432を使用して)検出し、この入力データの受信に応じて、電子デバイス3400上で、第2のアプリケーションを(例えば、アプリケーション起動ユニット3436を使用して)起動し、この第2のアプリケーションは、第1のアプリケーションに対応するものであり、第2のアプリケーション内でのアプリケーションデータの表示を(例えば、表示有効化ユニット3434を使用して)有効化するように構成される。
【0568】
一部の実施形態では、第1の通信プロトコルと第2の通信プロトコルとは、異なる無線プロトコルであり、第2の無線通信プロトコルは、第1の通信プロトコルよりも大きいデータ転送容量を有する。
【0569】
一部の実施形態では、第1の通信プロトコルを介して外部デバイスを検出することは、ピアツーピア無線通信プロトコルを介して、外部デバイスを(例えば、入力検出ユニット3432を使用して)検出することを含む。
【0570】
一部の実施形態では、第1の通信プロトコルを介して外部デバイスを検出することは、Bluetooth low energy(BTLE)無線通信プロトコルを介して、外部デバイスを(例えば、入力検出ユニット3432を使用して)検出することを含む。
【0571】
一部の実施形態では、第2の通信プロトコルを介してアプリケーションデータを受信することは、WiFiを介して、第1のアプリケーションに関連付けられたアプリケーションデータを(例えば、データ受信ユニット3438を使用して)受信することを含む。
【0572】
一部の実施形態では、この使用情報は、電子メールアドレスに基づく識別データを含み、処理ユニット3426は、電子デバイス3400が、同じ電子メールアドレスに関連付けられる場合にのみ、アフォーダンスの表示を(例えば、表示有効化ユニット3434を使用して)有効化するように更に構成される。
【0573】
図10を参照して上述された動作は、
図1A、
図1B、又は
図34に示される構成要素によって、任意選択的に実施される。例えば、検出動作1002、受信動作、及び表示動作1008は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0574】
一部の実施形態によれば、
図35は、説明される様々な実施形態の原理に従って構成された電子デバイス3500の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3500の機能ブロックは、上述の技術を実行するように構成される。デバイス3500の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図35で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0575】
図35に示されるように、電子デバイス3500は、ディスプレイスクリーンユニット3520と、ディスプレイスクリーンユニット3520に結合された処理ユニット3526とを含む。一部の実施形態では、処理ユニット3526は、関心対象地点検出ユニット3530、範囲判定ユニット3532、表示有効化ユニット3534、入力検出ユニット3536、アプリケーション起動ユニット3638、及びデバイスロック解除ユニット3540を含む。任意選択的に、処理ユニット3526はまた、ダウンロードユニット3542、インストールユニット3544、通信ユニット3546、範囲検出ユニット3548、識別ユニット3550、時間判定ユニット3552、文脈情報検出ユニット3554、及び速度検出ユニット3556も含む。
【0576】
処理ユニット3526は、電子デバイス3500が、ユーザインタフェースロック状態にある間に、関心対象地点を(例えば、関心対象地点検出ユニット3530を使用して)検出し、その関心対象地点が、閾値範囲内に存在するか否かを(例えば、範囲判定ユニット3532を使用して)判定し、その近接性が閾値範囲内にあるという判定に従って、電子デバイス3500の画面上でのアフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化し、表示されたアフォーダンスのユーザ選択を(例えば、入力検出ユニット3536を使用して)検出し、このユーザ選択の検出に応じて、電子デバイス3500を(例えば、デバイスロック解除ユニット3540を使用して)ロック解除し、関心対象地点に関連付けられた、電子デバイス3500上のアプリケーションを(例えば、アプリケーション起動ユニット3538を使用して)起動するように構成される。
【0577】
一部の実施形態では、関心対象地点は、ランドマークであり、アプリケーションを起動することは、電子デバイス3500のディスプレイスクリーンユニット3520上で、そのランドマークを特定する情報の表示を(例えば、表示有効化ユニット3534を使用して)有効化することを含む。
【0578】
一部の実施形態では、関心対象地点は、ランドマークであり、アプリケーションを起動することは、そのランドマークに関連付けられたアプリケーションをインストールするための、インストールアフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、このインストールアフォーダンスのユーザ選択に応じて、そのアプリケーションを(例えば、ダウンロードユニット3542を使用して)ダウンロードすることと、そのアプリケーションを(例えば、インストールユニット3544を使用して)インストールすることと、そのアプリケーションを(例えば、アプリケーション起動ユニット3538を使用して)起動することと、を含む。
【0579】
一部の実施形態では、関心対象地点は、ランドマークであり、アプリケーションを起動することは、ウェブブラウザを(例えば、アプリケーション起動ユニット3538を使用して)起動することと、そのランドマークに関連付けられたアプリケーションにアクセスするための、ウェブページの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、を含む。
【0580】
一部の実施形態では、関心対象地点が閾値範囲内に存在するか否かを判定することは、電子デバイス3500によって、ピアツーピア無線通信プロトコルを介して、その関心対象地点を表す外部デバイスと(例えば、通信ユニット3546を使用して)通信することを含む。
【0581】
一部の実施形態では、関心対象地点が閾値範囲内に存在するか否かを判定することは、電子デバイス3500によって、Bluetooth low energy(BTLE)無線通信プロトコルを介して、その関心対象地点を表す外部デバイスと(例えば、通信ユニット3546を使用して)通信することを含む。
【0582】
一部の実施形態では、関心対象地点が閾値範囲内に存在するか否かを判定することは、電子デバイス3500によって、WiFi無線通信プロトコルを介して、その関心対象地点を表す外部デバイスと(例えば、通信ユニット3546を使用して)通信することを含む。
【0583】
一部の実施形態では、関心対象地点が閾値範囲内に存在するか否かを判定することは、位置センサを使用して、そのランドマークの指定範囲内に電子デバイス3500が存在することを(例えば、範囲検出ユニット3548を使用して)検出することを含む。
【0584】
一部の実施形態では、電子デバイス3500のディスプレイスクリーンユニット3520上でのアフォーダンスの表示を有効化することは、電子デバイス3500が関心対象地点の閾値範囲内に存在している間に、電子デバイス3500上で頻繁に起動される対象アプリケーションを(例えば、識別ユニット3550を使用して)特定することと、その対象アプリケーションを起動するための、アフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、を更に含む。
【0585】
一部の実施形態では、電子デバイス3500の画面上でのアフォーダンスの表示を有効化することは、現在時刻を(例えば、時間判定ユニット3552を使用して)判定することと、電子デバイス3500が、その現在時刻に関心対象地点の閾値範囲内に存在している間に、電子デバイス3500上で頻繁に使用される対象アプリケーションを(例えば、識別ユニット3550を使用して)特定することと、その対象アプリケーションを起動するための、アフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、を更に含む。
【0586】
一部の実施形態では、処理ユニット3526は、電子デバイス3500に関する文脈情報を(例えば、文脈情報検出ユニット3554を使用して)検出するように更に構成され、電子デバイス3500の画面上でのアフォーダンスの表示を有効化することは、その文脈情報に基づいて、対象アプリケーションを(例えば、識別ユニット3550を使用して)特定することと、その対象アプリケーションを起動するための、アフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、を更に含む。
【0587】
一部の実施形態では、文脈情報を検出することは、電子デバイス3500の移動の速度を(例えば、速度検出ユニット3556を使用して)検出することを含み、電子デバイス3500の画面上でのアフォーダンスの表示を有効化することは、その検出された速度に基づいて、対象アプリケーションを(例えば、識別ユニット3550を使用して)特定することと、その対象アプリケーションを起動するための、アフォーダンスの表示を(例えば、表示有効化ユニット3534を使用して)有効化することと、を更に含む。
【0588】
図11を参照して上述された動作は、
図1A、
図1B、又は
図35に示される構成要素によって、任意選択的に実施される。例えば、近接性検出動作1102、近接性判定動作1104、及び表示動作1106は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0589】
一部の実施形態によれば、
図36は、説明される様々な実施形態の原理に従って構成された電子デバイス3600の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3600の機能ブロックは、上述の技術を実行するように構成される。デバイス3600の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図36で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0590】
図36に示されるように、電子デバイス3600は、ディスプレイスクリーンユニット3620と、ディスプレイスクリーンユニット3620に結合された処理ユニット3626とを含む。一部の実施形態では、処理ユニット3626は、データ受信ユニット3630、表示有効化ユニット3634、入力検出ユニット3632、及びアプリケーション起動ユニット3636を含む。任意選択的に、処理ユニット3626はまた、並べ替えユニット3638も含む。
【0591】
処理ユニット3626は、第1の外部デバイス上で実行されているか、及び/又は実行されていた第1の複数のアプリケーションを表す第1のデータを、第1の外部デバイスから(例えば、データ受信ユニット3630を使用して)受信し、この受信された第1のデータに基づいて、それらの第1の複数のアプリケーションを表す第1の複数のアフォーダンスの表示を(例えば、表示有効化ユニット3634を使用して)有効化し、それらの複数のアフォーダンスは、第1の外部デバイスの第1のアプリケーションに対応する、第1のアフォーダンスを含むものであり、第1のアフォーダンスのユーザ選択を(例えば、入力検出ユニット3632を使用して)検出し、この第1のアフォーダンスのユーザ選択の検出に応じて、電子デバイス3600上で、第1のローカルアプリケーションを(例えば、アプリケーション起動ユニット3636を使用して)起動するように構成され、その第1のローカルアプリケーションは、第1のアプリケーションのバージョンである。
【0592】
一部の実施形態では、処理ユニット3626は、第2の外部デバイス上で実行されているか、及び/又は実行されていた第2の複数のアプリケーションを表す第2のデータを、第2の外部デバイスから(例えば、データ受信ユニット3630を使用して)受信し、第2の外部デバイスの第2のアプリケーションに対応する、第2のアフォーダンスを含めた、第2の複数のアプリケーションを表す第2の複数のアフォーダンスの表示を(例えば、表示有効化ユニット3634を使用して)有効化し、第2のアフォーダンスのユーザ選択を(例えば、入力検出ユニット3632を使用して)検出し、それに応じて、電子デバイス3600上で、第2のローカルアプリケーションを(例えば、アプリケーション起動ユニット3636を使用して)起動するように更に構成され、その第2のローカルアプリケーションは、第2のアプリケーションのバージョンである。
【0593】
一部の実施形態では、第1の複数のアフォーダンス及び第2の複数のアフォーダンスの表示を有効化することは、電子デバイス3600のディスプレイスクリーンユニット3620上で、第1の複数のアフォーダンス及び第2の複数のアフォーダンスの表示を(例えば、表示有効化ユニット3634を使用して)同時に有効化することを含む。
【0594】
一部の実施形態では、第1の複数のアフォーダンスの表示を有効化することは、第1の複数のアフォーダンスに対応する各アプリケーションが、どの程度最近、第1の外部デバイス上で最後に使用されたかに基づいて、第1の複数のアフォーダンスを(例えば、並べ替えユニット3638を使用して)並べ替えることを含む。
【0595】
一部の実施形態では、第2の複数のアフォーダンスの表示を有効化することは、第2の複数のアフォーダンスに対応する各アプリケーションが、どの程度最近、第2の外部デバイス上で最後に使用されたかに基づいて、第2の複数のアフォーダンスを(例えば、並べ替えユニット3638を使用して)並べ替えることを含む。
【0596】
一部の実施形態では、処理ユニット3620は、第1の複数のアフォーダンス及び第2の複数のアフォーダンスのうちの少なくとも一方と同時に、電子デバイス3600上にインストールされた複数のユーザ指定アプリケーションを表す、複数のお気に入りアフォーダンスの表示を(例えば、表示有効化ユニット3634を使用して)有効化し、複数のお気に入りアフォーダンスのうちの1つのお気に入りアフォーダンスのユーザ選択を(例えば、入力検出ユニット3632を使用して)検出し、それに応じて、対応するアプリケーションを電子デバイス3600上で(例えば、アプリケーション起動ユニット3636を使用して)起動するように更に構成される。
【0597】
図15を参照して上述された動作は、
図1A、
図1B、又は
図36に示される構成要素によって、任意選択的に実施される。例えば、受信動作1502、表示動作1504、及び検出動作1506は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0598】
一部の実施形態によれば、
図37は、説明される様々な実施形態の原理に従って構成された電子デバイス3700の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3700の機能ブロックは、上述の技術を実行するように構成される。デバイス3700の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図37で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0599】
図37に示されるように、電子デバイス3700は、タッチ感知ディスプレイユニット3720と、ボタンユニット3722と、タッチ感知ディスプレイユニット3720及びボタンユニット3722に結合された処理ユニット3726とを含む。一部の実施形態では、処理ユニット3726は、外部デバイス検出ユニット3730、表示有効化ユニット3734、入力検出ユニット3732、及びアプリケーション起動ユニット3736を含む。
【0600】
処理ユニット3726は、第1の外部デバイスを(例えば、外部デバイス検出ユニット3730を使用して)検出し、その第1の外部デバイスは、第1のアプリケーションを実行しているか、又は実行していたものであり、第1の外部デバイスとは異なる第2の外部デバイスを(例えば、外部デバイス検出ユニット3730を使用して)検出し、その第2の外部デバイスは、第2のアプリケーションを実行しているか、又は実行していたものであり、第1の外部デバイス及び第2の外部デバイスの検出に基づいて、電子デバイス3700の画面上で、少なくとも1つのアフォーダンスの表示を(例えば、表示有効化ユニット3734を使用して)有効化し、表示された少なくとも1つのアフォーダンスのうちの1つのアフォーダンスのユーザ選択を(例えば、入力検出ユニット3732を使用して)検出し、このユーザ選択の検出に応じて、電子デバイス3700上で、第3のアプリケーションを(例えば、アプリケーション起動ユニット3736を使用して)起動するように構成され、その第3のアプリケーションは、第1のアプリケーション又は第2のアプリケーションのバージョンである。
【0601】
一部の実施形態では、第1のアプリケーションは、第2のアプリケーションよりも最近に使用されたものであり、処理ユニット3726は、ユーザ選択の検出に応じて、電子デバイス3700上で、第3のアプリケーションを(例えば、アプリケーション起動ユニット3736を使用して)起動するように更に構成され、その第3のアプリケーションは、第1のアプリケーションのバージョンである。
【0602】
一部の実施形態では、少なくとも1つのアフォーダンスの表示を有効化することは、第1のアプリケーションを表す第1のアフォーダンス、及び第2のアプリケーションを表す第2のアフォーダンスの表示を(例えば、表示有効化ユニット3734を使用して)有効化することを含み、ユーザ選択は、第1のアフォーダンス又は第2のアフォーダンスの選択である。処理ユニット3726は、第1のアフォーダンスをユーザが選択したという判定に従って、第1のアプリケーションのバージョンを(例えば、アプリケーション起動ユニット3736を使用して)起動し、第2のアフォーダンスをユーザが選択したという判定に従って、第2のアプリケーションのバージョンを(例えば、アプリケーション起動ユニット3736を使用して)起動するように更に構成される。
【0603】
図12を参照して上述された動作は、
図1A、
図1B、又は
図37に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作1202、表示動作1206、及びユーザ選択検出動作1208は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0604】
一部の実施形態によれば、
図38は、説明される様々な実施形態の原理に従って構成された電子デバイス3800の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3800の機能ブロックは、上述の技術を実行するように構成される。デバイス3800の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図38で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0605】
図38に示されるように、電子デバイス3800は、ディスプレイスクリーンユニット3820と、ディスプレイスクリーンユニット3820に結合された処理ユニット3826とを含む。一部の実施形態では、処理ユニット3826は、外部デバイス検出ユニット3830、表示有効化ユニット3834、入力検出ユニット3832、及びアプリケーション起動ユニット3836を含む。任意選択的に、処理ユニット3826はまた、データ受信ユニット3838も含む。
【0606】
処理ユニット3826は、無線通信を介して、外部デバイスを(例えば、外部デバイス検出ユニット3830を使用して)検出し、電子デバイス3800は、第1のアプリケーションを実行しており、第1のアプリケーションに対応する第2のアプリケーションを起動するように、外部デバイスに指示するための、ディスプレイスクリーンユニット3820上のプッシュアフォーダンスの表示を(例えば、表示有効化ユニット3834を使用して)有効化し、このプッシュアフォーダンスのユーザ選択を(例えば、入力検出ユニット3832を使用して)検出し、このユーザ選択の検出に応じて、外部デバイスに命令を(例えば、命令送信ユニット3836を使用して)送信するように構成され、その命令は、外部デバイス上で第2のアプリケーションを起動するためのアフォーダンスを、その外部デバイスに表示させる。
【0607】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0608】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0609】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0610】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0611】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0612】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0613】
一部の実施形態では、処理ユニット3826は、第1のアプリケーションのアプリケーションデータを、電子デバイス3800によって(例えば、データ受信ユニット3838を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3834を使用して)有効化するように更に構成される。
【0614】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3826は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3834を使用して)有効化するように更に構成される。
【0615】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3826は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3834を使用して)有効化するように更に構成される。
【0616】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0617】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3800上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット3834を使用して)有効化することを含む。
【0618】
一部の実施形態では、電子デバイス3800は、ラップトップ又はデスクトップコンピュータである。
【0619】
一部の実施形態では、電子デバイス3800は、タブレットコンピュータである。
【0620】
一部の実施形態では、電子デバイス3800は、電話である。
【0621】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0622】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0623】
一部の実施形態では、外部デバイスは、電話である。
【0624】
図13を参照して上述された動作は、
図1A、
図1B、又は
図38に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作1302、表示動作1304、及びユーザ選択検出動作1306は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0625】
一部の実施形態によれば、
図39は、説明される様々な実施形態の原理に従って構成された電子デバイス3900の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス3900の機能ブロックは、上述の技術を実行するように構成される。デバイス3900の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図39で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0626】
図39に示されるように、電子デバイス3900は、ディスプレイユニット3920と、スクリーンユニット3920に結合された処理ユニット3926とを含む。一部の実施形態では、処理ユニット3926は、外部デバイス検出ユニット3930、表示有効化ユニット3934、入力検出ユニット3932、アプリケーション起動ユニット3936、データ受信ユニット3938、及びアプリケーション実行ユニット3940を含む。
【0627】
処理ユニット3926は、第1のアプリケーションを(例えば、アプリケーション実行ユニット3940を使用して)実行し、外部デバイスを(例えば、外部デバイス検出ユニット3930を使用して)検出し、外部デバイスから、現在時刻よりも前の所定の時間内に、その外部デバイス上でユーザによって第1のアプリケーションが使用されたことを示す、使用情報の第1部分を(例えば、データ受信ユニット3938を使用して)受信し、外部デバイスの検出、及び使用情報の第1部分の受信に応じて、電子デバイス3900のディスプレイユニット3920上でのアフォーダンスの表示を(例えば、表示有効化ユニット3934を使用して)有効化し、表示されたアフォーダンスの第1のユーザ選択を(例えば、入力検出ユニット3932を使用して)検出し、この第1のユーザ選択の検出に応じて、表示されたアフォーダンスの視覚的外観を(例えば、表示有効化ユニット3934を使用して)変更し、外部デバイスから、第1のアプリケーションに関連付けられた使用情報の第2部分を(例えば、データ受信ユニット3938を使用して)取得するように構成される。処理ユニット3926は、表示されたアフォーダンスの第2のユーザ選択を(例えば、入力検出ユニット3932を使用して)検出し、この第2のユーザ選択の検出に応じて、少なくとも使用情報の第2部分に基づいて、電子デバイス3900上で、第2のアプリケーションを(例えば、アプリケーション起動ユニット3936を使用して)起動するように更に構成され、その第2のアプリケーションは、第1のアプリケーションに対応する。
【0628】
一部の実施形態では、処理ユニット3926は、表示されたアフォーダンスの第1のユーザ選択を検出した後にのみ、外部デバイスから、使用情報の第2部分を(例えば、データ受信ユニット3938を使用して)取得するように更に構成される。
【0629】
一部の実施形態では、第1のユーザ選択はタップであり、第2のユーザ入力はスワイプである。
【0630】
一部の実施形態では、第1のアプリケーションは、現在時刻よりも前の所定の時間内に、外部デバイス上で使用されていたものである。
【0631】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0632】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0633】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0634】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かに対応する。
【0635】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0636】
一部の実施形態では、処理ユニット3926は、第1のアプリケーションのアプリケーションデータを、電子デバイス3900によって(例えば、データ受信ユニット3938を使用して)受信し、そのアプリケーションデータの表示を、第2のアプリケーションを介して(例えば、表示有効化ユニット3934を使用して)有効化するように更に構成される。
【0637】
一部の実施形態では、アプリケーションデータは、第1のアプリケーションによって表示されるメッセージの一部分を表し、処理ユニット3926は、第2のアプリケーション内での、そのメッセージの一部分の表示を(例えば、表示有効化ユニット3934を使用して)有効化するように更に構成される。
【0638】
一部の実施形態では、アプリケーションデータは、ウェブページの一部分を表し、処理ユニット3926は、第2のアプリケーションを介した、そのウェブページの一部分の表示を(例えば、表示有効化ユニット3934を使用して)有効化するように更に構成される。
【0639】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0640】
一部の実施形態では、第1のアプリケーションは、少なくとも1つのアプリケーション機能を実行し、第2のアプリケーションを起動することは、外部デバイス上で実行されている第1のアプリケーションのアプリケーション機能を、電子デバイス3900上で実行されている第2のアプリケーションから無線で呼び出すための、アフォーダンスの表示を(例えば、表示有効化ユニット3934を使用して)有効化することを含む。
【0641】
一部の実施形態では、電子デバイス3900は、ラップトップ又はデスクトップコンピュータである。
【0642】
一部の実施形態では、電子デバイス3900は、タブレットコンピュータである。
【0643】
一部の実施形態では、電子デバイス3900は、電話である。
【0644】
一部の実施形態では、外部デバイスは、ラップトップ又はデスクトップコンピュータである。
【0645】
一部の実施形態では、外部デバイスは、タブレットコンピュータである。
【0646】
一部の実施形態では、外部デバイスは、電話である。
【0647】
図14を参照して上述された動作は、
図1A、
図1B、又は
図39に示される構成要素によって、任意選択的に実施される。例えば、外部デバイス検出動作1402、受信動作1404、及び表示動作1406は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0648】
一部の実施形態によれば、
図40は、説明される様々な実施形態の原理に従って構成された電子デバイス4000の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス4000の機能ブロックは、上述の技術を実行するように構成される。デバイス4000の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図40で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0649】
図40に示されるように、電子デバイス4000は、タッチ感知ディスプレイユニット4020と、タッチ感知ディスプレイユニット4020に結合された処理ユニット4026とを含む。任意選択的に、タッチ感知ディスプレイユニット4020は、タッチ感知ディスプレイユニット4020との接触の強度を検出するように構成された、1つ以上のセンサユニット4022を備える。一部の実施形態では、処理ユニット4026は、入力検出ユニット4030、アプリケーション起動ユニット4032、データ送信ユニット4034、及び表示有効化ユニット4036を含む。
【0650】
処理ユニット4026は、タッチ感知ディスプレイユニット4020上での第1の接触を(例えば、入力検出ユニット4030及びセンサユニット4022を使用して)検出し、この第1の接触は、第1の最大強度を有するものであり、その第1の最大強度が閾値強度を下回るという判定に応じて、第1のアプリケーションを(例えば、アプリケーション起動ユニット4032を使用して)起動し、タッチ感知ディスプレイユニット4020上での第2の接触を(例えば、入力検出ユニット4030を使用して)検出し、この第2の接触は、第2の最大強度を有するものであり、その第2の最大強度が閾値強度を上回るという判定に、少なくとも部分的に応じて、無線通信を介して、外部デバイスに命令を(例えば、データ送信ユニット4034を使用して)送信するように構成され、その命令は、外部デバイスに、第1のアプリケーションに対応する、その外部デバイス上の第2のアプリケーションを起動するための、アフォーダンスを表示させる。
【0651】
一部の実施形態では、処理ユニット4026は、第2の最大強度が閾値強度を上回るという判定に応じて、第2のアプリケーションを起動するように外部デバイスに指示するためのアフォーダンスの表示を(例えば、表示有効化ユニット4036を使って)有効化し、このアフォーダンスのユーザ選択を(例えば、入力検出ユニット4030を使用して)検出し、そのアフォーダンスのユーザ選択の検出に応じて、命令を(例えば、データ送信ユニット4034を使用して)送信するように更に構成される。
【0652】
一部の実施形態では、タッチ感知ディスプレイユニット4020上での第2の接触を検出することは、第1のアプリケーションが、タッチ感知ディスプレイユニット4020のフォアグラウンドで表示されている間に、タッチ感知ディスプレイユニット4020上で第2の接触を(例えば、入力検出ユニット4030を使用して)検出することを含む。
【0653】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0654】
一部の実施形態では、命令は、第1のアプリケーションの状態の指標を含み、この指標は、第2のアプリケーションが起動される際に、その状態を第2のアプリケーション内に呼び出すためのものである。
【0655】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのユーザインタフェース画面に対応する。
【0656】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0657】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0658】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かを特定する。
【0659】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0660】
一部の実施形態では、処理ユニット4026は、電子デバイス4000によって、外部デバイスに、第1のアプリケーションのアプリケーションデータを(例えば、データ送信ユニット4034を使用して)送信するように更に構成され、このアプリケーションデータの少なくとも一部分は、第2のアプリケーションが起動される際に、第2のアプリケーションによって表示される。
【0661】
一部の実施形態では、このアプリケーションデータは、第1のアプリケーションによって表示されるメッセージの少なくとも一部分を表す。
【0662】
一部の実施形態では、このアプリケーションデータは、第1のアプリケーションによって表示されるウェブページの少なくとも一部分を表す。
【0663】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0664】
一部の実施形態では、電子デバイス4000は、ウェアラブル電子デバイスである。
【0665】
図20を参照して上述された動作は、
図1A、
図1B、又は
図40に示される構成要素によって、任意選択的に実施される。例えば、検出動作2002及び起動動作2006は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0666】
一部の実施形態によれば、
図41は、説明される様々な実施形態の原理に従って構成された電子デバイス4100の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス4100の機能ブロックは、上述の技術を実行するように構成される。デバイス4100の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図41で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0667】
図41に示されるように、電子デバイス4100は、処理ユニット4126に結合されたタッチ感知ディスプレイユニット4120を含む。一部の実施形態では、処理ユニット4126は、インストール済みアプリケーションユニット4122、アプリケーションデータ取得ユニット4130、入力検出ユニット4132、表示有効化ユニット4134、及び命令送信ユニット4136を含む。
【0668】
処理ユニット4126は、インストール済みアプリケーションが、タッチ感知ディスプレイユニット4120上に表示されていない間に、インストール済みアプリケーションユニット4122に関するアプリケーションデータを(例えば、アプリケーションデータ取得ユニット4130を使用して)取得し、この取得されたアプリケーションデータを示すメッセージの表示を(例えば、表示有効化ユニット4134を使用して)有効化し、表示されたメッセージ上での接触、及びその接触の移動を(例えば、入力検出ユニット4132を使用して)検出し、検出された移動が実質的に第1の方向であるという判定に応じて、無線通信を介して、外部デバイスに命令を(例えば、命令送信ユニット4136を使用して)送信するように構成され、その命令は、外部デバイスに、第1のアプリケーションに対応する、その外部デバイス上の第2のアプリケーションを起動するための、アフォーダンスを表示させる。
【0669】
一部の実施形態では、処理ユニット4126は、検出された移動が、実質的に第1の方向とは反対の第2の方向であるという判定に応じて、インストール済みアプリケーションを(例えば、インストール済みアプリケーションユニット4122を使用して)起動し、電子デバイス4100上の起動されたアプリケーション内での、そのアプリケーションデータの表示を(例えば、表示有効化ユニット4134を使用して)有効化するように更に構成される。
【0670】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、少なくとも1つのアプリケーション機能を共通して有する。
【0671】
一部の実施形態では、命令は、第1のアプリケーションの状態の指標を含み、この指標は、第2のアプリケーションが起動される際に、その状態を第2のアプリケーション内に呼び出すためのものである。
【0672】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのユーザインタフェース画面に対応する。
【0673】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションのナビゲーション階層内の位置に対応する。
【0674】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーション内に表示された文書内の場所に対応する。
【0675】
一部の実施形態では、第1のアプリケーションの状態は、第1のアプリケーションの機能がアクティブであるか否かを特定する。
【0676】
一部の実施形態では、第1のアプリケーション及び第2のアプリケーションは、同じアプリケーションのバージョンである。
【0677】
一部の実施形態では、処理ユニット4126は、電子デバイス4100によって、外部デバイスに、第1のアプリケーションのアプリケーションデータを(例えば、命令送信ユニット4136を使用して)送信するように更に構成され、このアプリケーションデータの少なくとも一部分は、第2のアプリケーションが起動される際に、第2のアプリケーションによって表示される。
【0678】
一部の実施形態では、このアプリケーションデータは、第1のアプリケーションによって表示されるメッセージの少なくとも一部分を表す。
【0679】
一部の実施形態では、このアプリケーションデータは、第1のアプリケーションによって表示されるウェブページの少なくとも一部分を表す。
【0680】
一部の実施形態では、少なくとも1つのアプリケーション機能は、第1のアプリケーション及び第2のアプリケーションのうちの一方からのみ、アクセス可能である。
【0681】
一部の実施形態では、電子デバイス4100は、ウェアラブル電子デバイスである。
【0682】
図21を参照して上述された動作は、
図1A、
図1B、又は
図41に示される構成要素によって、任意選択的に実施される。例えば、取得動作2102、表示動作2104、及び検出動作2106は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0683】
一部の実施形態によれば、
図42は、説明される様々な実施形態の原理に従って構成された電子デバイス4200の、例示的な機能ブロック図を示す。一部の実施形態によれば、電子デバイス4200の機能ブロックは、上述の技術を実行するように構成される。デバイス4200の機能ブロックは、説明される様々な実施例の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図42で説明される機能ブロックは、説明される様々な実施例の原理を実施するために、任意選択的に、組み合わされるか、又はサブブロックに分離されることが、当業者によって理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0684】
図42に示されるように、電子デバイス4200は、タッチ感知ディスプレイユニット4220と、マイクロフォンユニット4222と、タッチ感知ディスプレイユニット4220及びマイクロフォンユニット4222に結合された処理ユニット4226とを含む。一部の実施形態では、処理ユニット4226は、外部デバイス検出ユニット4230、入力検出ユニット4232、及び命令送信ユニット4234を含む。任意選択的に、処理ユニット4226はまた、情報取得ユニット4236、表示有効化ユニット4238、情報識別ユニット4240、及び情報送信ユニット4242も含む。
【0685】
処理ユニット4226は、マイクロフォンユニットからの音声入力を(例えば、入力検出ユニット4232を使用して)検出し、この音声入力は、情報に関する口頭リクエストを含むものであり、無線通信を介して、外部デバイスを(例えば、外部デバイス検出ユニット4230を使用して)検出し、音声入力の検出及び外部デバイスの検出に少なくとも部分的に応じて、無線通信を介して、外部デバイスに命令を(例えば、命令送信ユニット4234を使用して)送信するように構成され、その命令は、外部デバイスに、要求された情報を表示するための、アフォーダンスを表示させる。
【0686】
一部の実施形態では、処理ユニット4226は、音声入力の検出に応じて、要求された情報をウェブサービスから(例えば、情報取得ユニット4236を使用して)取得し、取得された情報の表示を(例えば、表示有効化ユニット4238を使用して)有効化するように更に構成される。
【0687】
一部の実施形態では、処理ユニット4226は、取得された情報の表示を有効化している間に、アクティブ化された場合には外部デバイスに命令を送信させる、アフォーダンスの表示を(例えば、表示有効化ユニット4238を使用して)有効化し、このアフォーダンスのユーザ選択を(例えば、入力検出ユニット4232を使用して)検出し、そのアフォーダンスのユーザ選択の検出に少なくとも部分的に応じて、命令を(例えば、命令送信ユニット4234を使用して)送信するように更に構成される。
【0688】
一部の実施形態では、電子デバイス4200は、第1の視聴覚能力を有し、外部デバイスは、異なる第2の視聴覚能力を有する。処理ユニット4226は、電子デバイス4200で、要求された情報の第1のバージョンの表示を(例えば、表示有効化ユニット4238を使用して)有効化するように更に構成され、この第1のバージョンは、電子デバイス4200の第1の視聴覚能力内での表示に適合されており、外部デバイスは、要求された情報を表示する際、その外部デバイスの第2の視聴覚能力を利用して、要求された情報の第2のバージョンを表示し、この第2のバージョンは、視覚的及び/又は聴覚的に第1のバージョンとは異なる。
【0689】
一部の実施形態では、改善された視聴覚能力と、低減された視聴覚能力との差異は、要求された情報を、外部デバイス及び電子デバイス4200のうちの一方のみで表示するための、アプリケーションの可用性に関連する。
【0690】
一部の実施形態では、改善された視聴覚能力と、低減された視聴覚能力との差異は、要求された情報を、外部デバイス及び電子デバイス4200のうちの一方のみで再生するための、スピーカの可用性に関連する。
【0691】
一部の実施形態では、電子デバイス4200は、ウェアラブル電子デバイスである。
【0692】
一部の実施形態では、外部デバイスに命令を送信することは、外部デバイスに対して、要求された情報を(例えば、情報識別ユニット4240を使用して)特定することを含む。
【0693】
一部の実施形態では、外部デバイスに命令を送信することは、外部デバイスに対して、要求された情報を提供するウェブサービスを(例えば、情報識別ユニット4240を使用して)特定することを含む。
【0694】
一部の実施形態では、外部デバイスに命令を送信することは、電子デバイス4200によって、ウェブサービスから、要求された情報を(例えば、情報取得ユニット4236を使用して)取得することと、外部デバイスに、その取得された情報の少なくとも一部分を(例えば、情報送信ユニット4242を使用して)送信することと、を含む。
【0695】
図53を参照して上述された動作は、
図1A、
図1B、又は
図42に示される構成要素によって、任意選択的に実施される。例えば、入力検出動作5202、外部デバイス検出動作5204、及び送信動作5206は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって実施することができる。イベントソータ170内のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1のそれぞれのイベント認識部180は、そのイベント情報を、それぞれのイベント定義186と比較して、タッチ感知面上の第1の場所での第1の接触が、ユーザインタフェース上のアフォーダンスのアクティブ化などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を利用するか、又は呼び出すことができる。一部の実施形態では、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、それぞれのGUIアップデータ178にアクセスする。同様に、
図1A、
図1Bに示される構成要素に基づいて、どのように他のプロセスを実施することができるかは、当業者には明らかであろう。
【0696】
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。これらの実施形態は、本技術の原理、及びその実際の適用を最も良好に説明するために、選択及び説明されたものである。それにより、他の当業者は、想到される具体的な用途に適するような様々な修正を使用して、本技術及び様々な実施形態を最も良好に利用することが可能となる。
【0697】
添付図面を参照して、本開示及び実施例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。そのような変更及び修正は、特許請求の範囲によって定義されるような、本開示及び実施例の範囲内に含まれるものとして理解されたい。