多くの電子デバイスが、第三者にコンテンツを送信する機能を備えたグラフィカルユーザインタフェースを有する。以下で説明されるデバイスは、これらの方法を改善する。アプリケーションを表示している間に、デバイスは、アプリケーションからのコンテンツを共有するための複数のオプションを備えた共有インタフェースを表示することにより、コンテンツを共有する要求に応答する。共有インタフェースは、ユーザ優先共有オプションを有する第1の領域(例えば、近くにいる利用可能なユーザと関連付けられた選択可能なアフォーダンス又はアイコンの行又は列)と、プロトコル優先共有オプションを有する第2の領域(例えば、コンテンツを共有するためのアプリケーションと関連付けられた選択可能なアフォーダンス又はアイコンの行又は列)と、を含む。デバイスは、共有インタフェースを表示している間に、共有インタフェースにおけるアフォーダンスの選択を検出する。デバイスは、そのアフォーダンスが対応するユーザのための対応するユーザ優先共有オプションであるという判定に従って、そのコンテンツを対応するユーザと共有するための処理を開始する。デバイスは、そのアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、対応するプロトコルを使用してそのコンテンツを共有するための処理を開始する。これらのユーザインタフェースは、ユーザにとって紛らわしく、かつ/又は時間を要する本質的でないユーザインタフェースナビゲーション操作、共有構成操作及び他の操作をなくすことにより、2つのデバイス間でコンテンツを共有するための簡便かつ直感的な方法を提供する。より簡便かつ直感的なコンテンツ共有により、ユーザエクスペリエンスが向上して動作時間が短縮され、バッテリ駆動式デバイスのバッテリ寿命が延びる。
以下において、図1A〜図1B、図2、及び図3は、例示的なデバイスの説明を提供する。図4A〜図4B及び図5A〜図5EEは、対応するアプリケーションからのコンテンツを共有及び受信するための例示的なユーザインタフェースを示す。図6A〜図6Eは、対応するアプリケーションからのコンテンツを共有する方法を示すフロー図である。図7A〜図7Cは、対応するアプリケーションからの共有コンテンツを受信する方法を示すフロー図である。図5A〜図5Pにおけるユーザインタフェースは、図6A〜図6Eにおける処理を示す目的で使用され、図5Q〜図5EEに示すユーザインタフェースは、図7A〜図7Cにおける処理を示す目的で使用される。
例示的なデバイス
これより、添付の図面に実施例が示されている実施形態を詳細に参照する。以下の詳細な説明では、説明されている様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかし、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例では、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
本明細書では、第1、第2などの用語は、一部の実例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称することができるであろう。第1の接触及び第2の接触は、双方とも接触であるが、それらは同じ接触ではない。
本明細書で記載の様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。様々な記載の実施形態、及び添付の特許請求の範囲で使用される時、単数形「a」、「an」、及び「the」は、文脈が別途明確に示さない限り、複数形をも含むことが意図されている。本明細書で使用される時に、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上の任意の全ての可能な組合せを指し、かつこれを含むことをもまた理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(備える)」、及び/又は「comprising(備える)」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群の存在若しくは追加を排除するものではないことが、更に理解されるであろう。
本明細書で使用される時、用語「if(〜の場合には)」は、必要に応じて、文脈に応じて「when(〜の時)」、「upon(〜すると)」、「in response to determining(〜という判定に応じて)」、又は「in response to detecting(〜の検出に応じて)」を意味するものと解釈される。同様に、句「if it is determined(〜と判定される場合に)」又は「if(a stated condition or event)is detected((述べられる条件又はイベント)が検出される場合に)」は、文脈に応じて「upon determining(〜と判定されると)」、「in response to determining(〜という判定に応じて)」、「upon detecting(the stated condition or event)((述べられる条件又はイベント)の検出をすると)」、又は「in response to detecting(the stated condition or event)((述べられる条件又はイベント)の検出に応じて)」を意味すると、必要に応じて解釈される。
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの実施形態を説明する。いくつかの実施形態において、このデバイスは、PDA機能及び/又は音楽再生機能などの、他の機能をも含むモバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、California州CupertinoのApple Inc.のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)機器を含む。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなど他のポータブル電子デバイスも必要に応じて使用される。また、いくつかの実施形態において、このデバイスは、ポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることも理解されたい。
以降の論考では、ディスプレイ及びタッチ感知面を備える電子デバイスについて説明する。しかしながら、この電子デバイスは、必要に応じて、物理キーボード、マウス、及び/又はジョイスティックなど、1つ以上の他の物理ユーザインタフェースデバイスを含むことを理解されたい。
そのデバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽再生アプリケーション、及び/又はデジタルビデオ再生アプリケーションのうちの1つ以上など、様々なアプリケーションをサポートする。
このデバイス上で実行される様々なアプリケーションは、タッチ感知面など、少なくとも1つの共通の物理ユーザインタフェースデバイスを必要に応じて使用する。タッチ感知面の1つ以上の機能と共に、デバイス上に表示される対応する情報は、アプリケーション毎に、及び/若しくは対応するアプリケーション内で必要に応じて調節並びに/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、必要に応じてサポートする。
ここで、タッチディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチディスプレイ112を備えるポータブル多機能デバイス100を示すブロック図である。タッチディスプレイ112は、時に便宜上「タッチスクリーン」と称され、「タッチディスプレイシステムとして知られたり、称されたりすることもある。デバイス100は、メモリ102(1つ以上のコンピュータ可読記憶媒体を必要に応じて含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロホン113、入力/出力(I/O)サブシステム106、その他の入力又は制御デバイス116、及び外部ポート124を備える。デバイス100は1つ以上の光センサ164を必要に応じて含む。デバイス100は、デバイス100上の接触の強度(例えば、デバイス100のタッチディスプレイシステム112などのタッチ感知面)を検出するための1つ以上の強度センサ165を必要に応じて含む。デバイス100は、デバイス100上で触覚出力を生成する(例えば、デバイス100のタッチディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上での触覚出力を生成する)ための1つ以上の触覚出力生成器167を必要に応じて含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して必要に応じて通信する。
本明細書及び特許請求の範囲で使用される時、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)、或いはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百個の別個の値(例えば、少なくとも256個)を含む、値の範囲を有する。接触の強度は、必要に応じて、様々な手法、及び様々なセンサ、若しくはセンサの組み合わせを使用して、判定(又は、測定)される。例えば、タッチ感知面の下にあるか又はそれに隣接する1つ以上のセンサが、必要に応じて、タッチ感知面上の様々な点における力を測定するために用いられる。いくつかの実装では、複数の力センサからの力測定値を組み合わせて(例えば、加重平均)、推定される接触の力を判定する。同様に、タッチ感知面に対するスタイラスの圧力を判定するために、スタイラスの圧力感知チップが必要に応じて使用される。別の方法としては、タッチ感知面上で検出される接触区域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代替物として必要に応じて使用される。いくつかの実装形態においては、接触力又は圧力の代替的測定値が、強度閾値を超えているかどうかを判定するために直接使用される(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。いくつかの実装形態では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているかどうかが判定される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス、又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、指、手のひら、又はユーザの手の他の部分)と接触している状況では、物理的変位によって生成される触知出力は、そのデバイス、又はデバイスの構成要素の物理的特性の、知覚される変化に対応する触感覚として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチディスプレイ又はトラックパッド)の運動は、必要に応じて、ユーザによって物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」と解釈される。いくつかの場合には、ユーザは、たとえ、ユーザの運動によって物理的に押圧される(例えば変位される)、タッチ感知面に関連付けられた物理アクチュエータボタンの運動が存在しない場合であっても、「ダウンクリック」又は「アップクリック」などの触感覚を感じることになる。別の例として、タッチ感知面の運動は、たとえ、タッチ感知面の平滑度の変化が存在しない場合であっても、タッチ感知面の「粗さ」として、必要に応じて、ユーザによって解釈又は感知される。ユーザによる、そのような接触の解釈は、ユーザの個別の感覚認知に左右されるものではあるが、大多数のユーザに共通するタッチの感覚認知が、多く存在する。それゆえ、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」、「ダウンクリック」、「粗さ」)に対応するとして説明される場合、特に明記しない限り、生成される触知出力は、その説明される感覚認知を典型的な(又は平均的な)ユーザに対して生じさせる、デバイス又はその構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多い、若しくは少ない構成要素を必要に応じて有するか、2つ以上の構成要素を必要に応じて組み合わせるか、又は構成要素の異なる構成若しくは配置を必要に応じて有することを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方の組み合わせの形態で実装される。
メモリ102は、必要に応じて高速ランダムアクセスメモリを含み、また必要に応じて、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。CPU120及び周辺機器インタフェース118など、デバイス100の他の構成要素によるメモリ102へのアクセスは、メモリコントローラ122によって必要に応じて制御される。
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU120及びメモリ102に結合することができる。1つ以上のプロセッサ120は、メモリ102内に記憶された様々なソフトウェアプログラム及び/又は命令セットを稼働又は実行することにより、デバイス100に関する様々な機能を実行し、かつデータを処理する。
いくつかの実施形態においては、周辺機器インタフェース118、CPU120、及びメモリコントローラ122が、チップ104などの単一チップ上に必要に応じて実装される。いくつかの他の実施形態においては、これらが、個別のチップ上に必要に応じて実装される。
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を受信したり送信したりする。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(加入者判別モジュール、SIM)カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を必要に応じて含む。RF回路108は、ワールドワイドウェブ(World Wide Web、WWW)とも称されるインターネットなどのネットワーク、セルラー電話ネットワーク、無線ローカルエリアネットワーク(ローカルエリアネットワーク、LAN)、及び/又はメトロポリタンエリアネットワーク(メトロポリタンエリアネットワーク、MAN)などの、イントラネット及び/又は無線ネットワーク、並びに他のデバイスと、無線通信によって必要に応じて通信する。無線通信は、移動通信用グローバルシステム(GSM(登録商標))、エンハンストデータGSM環境(EDGE(登録商標))、高速ダウンリンクパケットアクセス(HSDPA)、高速アップリンクパケットアクセス(HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、Dual−Cell HSPA(DC−HSPDA)、ロングタームエヴォリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W−CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi−Fi(登録商標))(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(VoiP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(EMAP)及び/又はポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、extensible messaging and presence protocol(XMPP)、Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions(SIMPLE)、Instant Messaging and Presence Service(IMPS))、及び/又はショートメッセージサービス(SMS)、又は本願の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の好適な通信プロトコルを含むがこれらに限定されない複数の通信規格、プロトコル、及び技術のうちのいずれかを必要に応じて使用する。
オーディオ回路機構110、スピーカ111、及びマイクロホン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路機構110は、周辺機器インタフェース118からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路機構110はまた、マイクロホン113によって音波から変換された電気信号も受信する。オーディオ回路機構110は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インタフェース118に送信する。オーディオデータは、必要に応じて、周辺機器インタフェース118によってメモリ102及び/又はRF回路機構108から取得され、かつ/又はメモリ102及び/又はRF回路機構108に送信される。いくつかの実施形態において、オーディオ回路機構110は更にヘッドセットジャック(例えば、図2の212)も含む。ヘッドセットジャックは、オーディオ回路機構110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロホン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を結合する。I/Oサブシステム106は、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力又は制御デバイス用の1つ以上の入力コントローラ160を必要に応じて含む。1つ以上の入力コントローラ160は、他の入力又は制御デバイス116から/へ電気信号を受信/送信する。他の入力制御デバイス116は、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイアル、スライダスイッチ、ジョイスティック、クリックホイールなどを必要に応じて含む。いくつかの代替的実施形態においては、入力コントローラ(単数又は複数)160が、必要に応じて、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、スピーカ111及び/又はマイクロホン113の音量調節のためのアップ/ダウンボタンを必要に応じて含む。1つ以上のボタンは、プッシュボタン(例えば、図2の206)を必要に応じて含む。
タッチディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から/へ電気信号を受信及び/又は送信する。タッチスクリーン112は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ(集合的に「グラフィック」と称する)を必要に応じて含む。いくつかの実施形態においては、視覚出力の一部又は全てがユーザインタフェースオブジェクトに対応する。
タッチスクリーン112は、触覚及び/又は触知の接触に基づいてユーザからの入力を受け入れるタッチ感知面、センサ、又は1組のセンサを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内のあらゆる関連モジュール及び/又は命令のセットと共に)、タッチスクリーン112上の接触(及び、接触のあらゆる移動又は中断)を検出し、検出された接触を、タッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。例示的実施形態においては、タッチスクリーン112とユーザとの間の接触点がユーザの指に対応する。
タッチスクリーン112は、必要に応じて、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態においては、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、必要に応じて、限定するものではないが、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びに、タッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含む、現在周知の若しくは将来開発される複数のタッチ感知技術のうちのいずれかを使用して、接触、並びにそのあらゆる移動若しくは中断を検出する。例示的実施形態においては、Apple Inc.(Cupertino,California)によるiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)で見出されるものなどの、投影型相互静電容量式検知技術が使用される。
タッチスクリーン112は、必要に応じて、100dpiを超えるビデオ解像度を有する。いくつかの実施形態において、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの、任意の好適な物体又は付属物を使用して、タッチスクリーン112と必要に応じて接触する。いくつかの実施形態において、ユーザインタフェースは主として指に基づく接触及びジェスチャで機能するように設計されるが、これらは、タッチスクリーン上での指の接触面積がより広いために、スタイラスに基づくに基づく入力よりも精度が低い恐れがある。いくつかの実施形態において、デバイスは、指に基づく粗い入力を、ユーザによって所望されるアクションを実行するための正確なポインタ/カーソル位置又はコマンドに変換する。
いくつかの実施形態において、デバイス100は、タッチスクリーンに加えて、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッド(図示せず)を必要に応じて含む。いくつかの実施形態においては、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知区域である。タッチパッドは、必要に応じて、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
デバイス100はまた、様々な構成要素に電力を供給するための、電力システム162も含む。電力システム162は、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、及びポータブルデバイスにおける発電、電力管理、及び配電と関連付けられたその他任意の構成要素を必要に応じて含む。
デバイス100は、1つ以上の光センサ164も必要に応じて含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ164は、電荷結合素子(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを必要に応じて含む。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。光センサ164は、撮像モジュール143(カメラモジュールとも称する)と併用して、静止画像又はビデオを必要に応じてキャプチャする。いくつかの実施形態においては、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用することができるように、光センサは、デバイスの前面のタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。いくつかの実施形態においては、別の光センサがデバイスの前面上に配置され、それにより、ユーザがタッチスクリーンディスプレイで他のテレビ会議の参加者を見る間に、ユーザの画像がテレビ会議のために必要に応じて取得される。
デバイス100はまた、1つ以上の接触強度センサ165も必要に応じて含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を必要に応じて含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報、又は圧力情報に代わる情報)を受け付ける。いくつかの実施形態においては、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチディスプレイシステム112)に併置されているか、又は近接している。いくつかの実施形態においては、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置されている。
デバイス100は、1つ以上の近接センサ166も必要に応じて含む。図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。或いは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態において、多機能デバイスがユーザの耳の近くに配置されている時には(例えば、ユーザが電話通話を行っている時には)、近接センサがタッチスクリーン112をオフにして無効化する。
デバイス100は、1つ以上の触覚出力生成器167も必要に応じて含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、スピーカ若しくは他のオーディオ構成要素など1つ以上の電気音響デバイス、及び/又は、モータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、又は他の触知出力生成構成要素(例えば、電気信号をデバイス上の触覚出力に変換する構成要素)など、エネルギーを線形運動に変換する電気機械デバイスを必要に応じて含む。接触強度センサ165は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザによって感知されることが可能なデバイス100上の触知触覚出力を生成する。いくつかの実施形態においては、少なくとも1つの触知出力生成器が、タッチ感知面(例えば、タッチディスプレイシステム112)と併置されているか、又はそれに近接しており、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)又は横方向(例えば、デバイス100の表面と同じ平面内の前後方向)に運動させることによって触知出力を必要に応じて生成する。いくつかの実施形態においては、少なくとも1つの触知出力生成器センサが、デバイス100の前面上に配置されるタッチスクリーンディスプレイ112の反対側である、デバイス100の背面上に配置される。
デバイス100はまた、1つ以上の加速度計168も必要に応じて含む。図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。或いは、加速度計168は、必要に応じて、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態においては、1つ以上の加速度計から受信されたデータの分析に基づいて、情報が縦表示又は横表示でタッチスクリーンディスプレイに表示される。デバイス100は、必要に応じて、加速度計(単数又は複数)168に加えて、磁力計(図示せず)、並びにデバイス100の位置及び向き(例えば、縦表示又は横表示)に関する情報を取得するためのGPS(又は、GLONASS若しくは他のグローバルナビゲーションシステム)受信機(図示せず)を含む。
いくつかの実施形態において、メモリ102内に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/移動モジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(命令セット)136を含む。更に、いくつかの実施形態においては、図1A及び図3に示すように、メモリ102がデバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブであるアプリケーションが存在する場合には、それがどのアプリケーションかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占有するかを示すディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス116から取得した情報を含むセンサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報、のうちの1つ以上を含む。
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WIDNOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェアとソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介した他のデバイスとの通信を容易にし、また、RF回路機構108及び/又は外部ポート124によって受信されたデータを処理するための様々なソフトウェア構成要素も含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、他のデバイスに直接結合するように、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に結合するように適合される。いくつかの実施形態において、外部ポートは、iPod(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じか、若しくは同様のマルチピン(例えば、30ピン)コネクタ、及び/又は互換性のあるマルチピン(例えば、30ピン)コネクタである。いくつかの実施形態において、外部ポートは、iPhone及びiPod(Apple Inc.の商標)デバイス上で使用される8ピンコネクタ(例えば、ライトニングコネクタ)と同じか、若しくは同様、及び/又は互換性のあるマルチピン(例えば、8ピン)コネクタである。
接触/移動モジュール130は、必要に応じて、(ディスプレイコントローラ156と共に)タッチスクリーン112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/移動モジュール130は、接触が発生したかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用語)の判定、接触の移動及びタッチ感知面にわたる動きの追跡(例えば、1つ以上のフィンガドラッグイベントの検出)があるかどうかの判定、及び接触が中止したかどうか(例えば、フィンガアップイベント又は接触の中断の検出)の判定などの、接触の検出に関係する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触/移動モジュール130はタッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の移動を判定することは、必要に応じて、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを含む。これらの動作は、単一の接触(例えば、1つの指接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指接触)に必要に応じて適用する。いくつかの実施形態において、接触/移動モジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態において、接触/移動モジュール130は、ユーザによって動作が実行されたかどうかを判定するための(例えば、ユーザがアイコンを「クリック」したかどうかを判定するための)1組の1つ以上の強度閾値を使用する。いくつかの実施形態においては、少なくとも強度閾値のサブセットは、ソフトウェアパラメータに従って決定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって決定されるのではなく、デバイス100の物理ハードウェアを変更することなく調節することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定することができる。更には、いくつかの実装では、デバイスのユーザには、(例えば、個別の強度閾値を調節することによって、かつ/又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって)強度閾値のセットのうちの1つ以上を調節するための、ソフトウェア設定が提供される。
接触/移動モジュール130は、必要に応じて、ユーザによる入力ジェスチャを検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出された接触の強度)を有する。それゆえ、ジェスチャは、必要に応じて、特定の接触パターンを検出することによって検出される。例えば、フィンガタップジェスチャの検出は、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置における)フィンガダウンイベントと同じ位置(又は、実質的に同じ位置)でのフィンガアップ(リフトオフ)イベントを検出することを含む。別の例として、タッチ感知面上でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイにグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用する時、用語「グラフィック」は、ユーザに対して表示することのできる任意のオブジェクトを含み、限定するものではないが、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられる。
いくつかの実施形態において、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが必要に応じて割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信して、次いで、ディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)167によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、必要に応じてグラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、接触137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とするその他任意のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの場所を判定し、この情報を、様々なアプリケーションで使用するために(例えば、場所に基づくダイアル発呼で使用するために電話138へ、ピクチャ/ビデオのメタデータとしてカメラ143へ、並びに、天候ウィジェット、地域のイエローページウィジェット、及び地図/ナビゲーションウィジェットなど、場所に基づくサービスを提供するアプリケーションへ)提供する。
アプリケーション136は、以下のモジュール(又は命令1組の)、又はそれらのサブセット若しくはスーパーセットを必要に応じて含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれる場合もある)、
●電話モジュール138、
●テレビ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ブラウザモジュール147、
●カレンダーモジュール148、
●天候ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5、及びユーザが取得した他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上を必要に応じて含むウィジェットモジュール149、
●ユーザ生成ウィジェット149−6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●必要に応じてビデオ再生モジュール及び音楽再生モジュールから構成されるビデオ及び音楽再生モジュール152、
●メモモジュール153、
●地図モジュール154、並びに/或いは
●オンラインビデオモジュール155。
必要に応じてメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、必要に応じて、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶された)アドレス帳又は連絡先リストを管理する目的で使用され、この管理には、アドレス帳に名前(単数又は複数)を追加することと、アドレス帳から名前(単数又は複数)を削除することと、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、実際の住所(単数又は複数)、又は他の情報を名前と関連付けることと、画像を名前と関連付けることと、名前を分類して並べ替えることと、電話138、ビデオ会議139、電子メール140、又はIM141などによる通信を開始及び/又は促進するために、電話番号又は電子メールアドレスを提供することなどが含まれる。
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロホン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力された電話番号を修正し、対応する電話番号をダイアルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るために必要に応じて使用される。上述のとおり、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを必要に応じて使用する。
RF回路108、オーディオ回路機構110、スピーカ111、マイクロホン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と関連して、テレビ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のテレビ会議を開始し、行い、終了するための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール144と共に、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを、非常に容易にする。
RF回路機構108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、インスタントメッセージングモジュール141は、インスタントメッセージに対応する一連の文字を入力し、従前に入力された文字を修正し、(例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス(SMS)又はマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のXMPP、SIMPLE、又はIMPSを使用して)対応するインスタントメッセージを送信し、インスタントメッセージを受信し、受信したインスタントメッセージを見るための実行可能命令を含む。いくつかの実施形態においては、送信及び/又は受信されたインスタントメッセージが、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるグラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付を必要に応じて含む。本明細書では、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されたメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されたメッセージ)の両方を意味する。
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽再生ジュール146と関連して、トレーニングサポートモジュール142は、トレーニングを作成したり(例えば、時間、距離、及び/又はカロリー消費目標に関して)、トレーニングセンサ(スポーツデバイス)と通信したり、トレーニングセンサデータを受信したり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ102から静止画像若しくは動画を削除したりするための実行可能命令を含む。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)、また別の方法で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶したりするための実行可能命令を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と共に、カレンダーモジュール148は、ユーザの指示に従って、カレンダー及びカレンダーと関連付けられたデータ(例えば、カレンダー項目、すべきことのリストなど)を作成し、表示し、変更し、記憶するための実行可能命令を含む。
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェットモジュール149は、ユーザによって必要に応じてダウンロードされ、使用されるミニアプリケーション(例えば、天候ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ生成ウィジェット149−6)である。いくつかの実施形態において、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態においては、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScript(登録商標)ファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定か所をウィジェットに変える)ために、ユーザによって必要に応じて使用される。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索判断基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路108、及びブラウザモジュール147と関連して、ビデオ及び音楽再生モジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを表示、提示、又は別の方法で再生する(タッチスクリーン112上又は外部ポート124を介して接続された外部のディスプレイに)ための実行可能命令を含む。いくつかの実施形態においては、デバイス100は、iPod(Apple Inc.の商標)などのMP3プレーヤの機能性を、必要に応じて含む。
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、メモモジュール153は、ユーザの指示に従って、メモ、To Doリストなどを作成及び管理するための、実行可能命令を含む。
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と共に、地図モジュール154は、ユーザの指示に従って、地図及び地図と関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所ベースの他のデータ)を受信し、表示し、修正し、記憶する目的で必要に応じて使用される。
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路機構108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と共に、オンラインビデオモジュール155は、ユーザがH.264など1つ以上のファイルフォーマットのオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイで)、特定のオンラインビデオへのリンクを含む電子メールを送信し他の方法で管理できるようにする命令を含む。いくつかの実施形態においては、特定のオンラインビデオへのリンクを送信するのに、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。
上記で識別されたモジュール及びアプリケーションのそれぞれは、1つ又はそれ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、必要に応じて、組み合わせ、又は再配置される。いくつかの実施形態においては、メモリ102は、上記で特定されたモジュール及びデータ構造のサブセットを、必要に応じて記憶する。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を必要に応じて記憶する。
いくつかの実施形態においては、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作に関する主要な入力制御デバイスとして、タッチスクリーン及び/又はタッチパッドを使用することによって、デバイス100上の物理入力制御デバイス(プッシュボタン、ダイアルなど)の数が、必要に応じて低減される。
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、必要に応じて、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態においては、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示されている任意のユーザインタフェースから、メイン、ホーム、又はルートメニューへと、デバイス100をナビゲートする。そのような実施形態においては、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態においては、メニューボタンは、タッチパッドではなく、物理プッシュボタン又は他の物理入力制御デバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態においては、メモリ102(図1A内)又は370(図3)が、イベントソータ170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136−1(例えば、上述のアプリケーション137〜13、155、及び380〜390)を含む。
イベントソータ170は、イベント情報を受信して、そのイベント情報の配信先となる、アプリケーション136−1、及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136−1は、そのアプリケーションがアクティブであるか又は実行中である場合に、タッチディスプレイ112上に表示される現在のアプリケーションビュー(単数又は複数)を示すアプリケーション内部状態192を含む。いくつかの実施形態において、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先となるアプリケーションビュー191を決定するために、イベントソータ170によって使用される。
いくつかの実施形態において、アプリケーション内部状態192は、追加情報として、例えば、アプリケーション136−1が実行を再開する際に用いられる再開情報、アプリケーション136−1により表示されている又は表示の準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態の待ち行列、及びユーザが以前に執ったアクションのやり直し/アンドゥーの待ち行列のうちの1つ以上を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチディスプレイ112上のユーザタッチ)に関する情報を含む。周辺機器インタフェース118は、I/Oサブシステム106から、或いは近接センサ166、加速度計(単数又は複数)168、及び/又は(オーディオ回路機構110を介して)マイクロホン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態において、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送る。これに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態において、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える入力及び/又は所定の時間以上の入力)がある場合にのみイベント情報を送信する。
いくつかの実施形態においては、イベントソータ170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判定モジュール172は、タッチディスプレイ112が1つより多くのビューを表示した際に、1つ以上のビュー内のどこでサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、ユーザがディスプレイで見ることが可能な、制御部及び他の要素で構成される。
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、必要に応じて、対応する。例えば、タッチが検出される最低レベルのビューは、必要に応じてヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて必要に応じて判定される。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントに関連する情報を受け取る。アプリケーションが階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、サブイベントを処理するべき階層内の最下位のビューとしてヒットビューを特定する。殆どの状況では、ヒットビューは、開始サブイベント(すなわち、イベント又は潜在的なイベントを形成するサブイベントのシーケンス内の、最初のサブイベント)が発生する、最下位レベルのビューである。ヒットビューが、ヒットビュー判定モジュールによって特定されると、そのヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連する、全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(1つ以上)がサブイベントの特定のシーケンスを受け取るべきかを判定する。いくつかの実施形態においては、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態においては、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な場所を含む全てのビューが、アクティブに関与するビューであると判定することにより、アクティブに関与する全てのビューが、特定のサブイベントのシーケンスを受信するべきであると判定する。他の実施形態においては、タッチサブイベントが、特定の1つのビューに関連付けられる区域に完全に限定された場合であっても、その階層内のより上位のビューは、依然として、アクティブに関与するビューとして維持される。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に配布する。アクティブイベント認識部判定モジュール173を含む実施形態においては、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173によって判定されたイベント認識部に、イベント情報を配信する。いくつかの実施形態においては、イベントディスパッチャモジュール174は、それぞれのイベント受信器モジュール182によって読み出されるイベント情報を、イベント待ち行列内に記憶する。
いくつかの実施形態においては、オペレーティングシステム126が、イベントソータ170を含む。或いは、アプリケーション136−1が、イベントソータ170を含む。更に他の実施形態において、イベントソータ170は、スタンドアロンモジュールであるか、又は接触/移動モジュール130など、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態においては、アプリケーション136−1は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理する命令をそれぞれが含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136−1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。対応するアプリケーションビュー191は、複数のイベント認識部180を含むのが典型的である。他の実施形態においては、イベント認識部180のうちの1つ以上は、ユーザインタフェースキット(図示せず)、又は、アプリケーション136−1が方法及び他の性質を継承する、より高レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態においては、それぞれのイベントハンドラ190は、データアップデータ176、オブジェクトアップデータ177、GUIアップデータ178、及び/又は、イベントソータ170から受信されるイベントデータ179のうちの1つ以上を含む。イベントハンドラ190は、アプリケーション内部状態192を更新するために、必要に応じて、データアップデータ176、オブジェクトアップデータ177、又はGUIアップデータ178を利用するか、若しくは呼び出す。或いは、アプリケーションビュー191のうちの1つ以上が、1つ以上の対応するイベントハンドラ190を含む。また、いくつかの実施形態においては、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178のうちの1つ以上が、対応するアプリケーションビュー191内に含まれる。
各イベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態において、イベント認識部180は、メタデータ183及びイベント配布命令188(サブイベント配布命令を必要に応じて含む)の少なくともサブセットも含む。
イベント受信部182は、イベントソータ170よりイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの場所などの追加情報をもまた含む。サブイベントが、タッチの動きに関係する場合、イベント情報はまた、そのサブイベントの速度及び方向も必要に応じて含む。いくつかの実施形態においては、イベントは、ある方向から別の方向へ(例えば、縦長の向きから横長の向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント若しくはサブイベントを判定、又はイベント若しくはサブイベントの状態を判定若しくは更新する。いくつかの実施形態においては、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態において、イベント187内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。一実施例では、イベント1(187−1)に関する定義は、表示オブジェクト上でのダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上での所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上での所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施形態においては、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッグである。このドラッグ操作は、例えば、所定の段階に関する表示オブジェクト上でのタッチ(又は接触)、タッチディスプレイ112を横断するタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態において、イベントは、1つ以上の関連付けられたイベントハンドラ190についての情報も含む。
いくつかの実施形態において、イベント定義187は、対応するユーザインタフェースオブジェクトに関するイベントの定義を含む。いくつかの実施形態においては、イベント比較器184は、いずれのユーザインタフェースオブジェクトがサブイベントに関連付けられるかを判定するために、ヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトが、タッチディスプレイ112上に表示されるアプリケーションビューでは、タッチディスプレイ112上でタッチが検出されると、イベント比較器184は、ヒットテストを実行して、3つのユーザインタフェースオブジェクトのうちのいずれが、そのタッチ(サブイベント)に関連付けられているかを判定する。各表示オブジェクトが、それぞれのイベントハンドラ190に関連付けられている場合には、イベント比較器は、そのヒットテストの結果を使用して、いずれのイベントハンドラ190をアクティブ化させるべきかを決定する。例えば、イベント比較器184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられた、イベントハンドラを選択する。
いくつかの実施形態においては、各イベント187に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
対応するイベント認識部180は、一連のサブイベントがイベント定義186内のイベントのいずれにも一致しないと判定すると、イベント不可能状態、イベント失敗状態、又はイベント終了状態に入り、その後は、タッチベースのジェスチャの後続のサブイベントを無視する。この状況においては、ヒットビューについて依然としてアクティブである他のイベント認識部が存在するのであれば、そのイベント認識部が、進行中のタッチベースのジェスチャのサブイベントを引き続き追跡及び処理する。
いくつかの実施形態においては、対応するイベント認識部180が、アクティブに関与しているイベント認識部にイベント配信システムがどのようにサブイベント配信を実行するべきかを示す設定可能な特性、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態においては、メタデータ183は、イベント認識部が互いにどのように相互作用するか、又は相互作用することが可能になるかを示す、構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態においては、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるかどうかを示すリストを含む。
いくつかの実施形態においては、対応するイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブにする。いくつかの実施形態においては、それぞれのイベント認識部180は、イベントハンドラ190に、そのイベントに関連付けられたイベント情報を配信する。イベントハンドラ190をアクティブ化させることは、それぞれのヒットビューにサブイベントを送信すること(及び、送信を延期すること)とは異なる。いくつかの実施形態においては、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、そのフラグに関連付けられたイベントハンドラ190は、フラグをキャッチして、既定のプロセスを実行する。
いくつかの実施形態においては、イベント配信命令188は、イベントハンドラをアクティブ化させることなく、サブイベントについてのイベント情報を配信する、サブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ、又はアクティブに関与するビューに、イベント情報を配信する。一連のサブイベント又はアクティブに関与するビューに関連付けられたイベントハンドラは、そのイベント情報を受信して、所定のプロセスを実行する。
いくつかの実施形態においては、データアップデータ176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新するか、又はビデオプレーヤモジュール145で使用されるビデオファイルを記憶する。いくつかの実施形態においては、オブジェクトアップデータ177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ176は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUIアップデータ178はGUIを更新する。GUIアップデータ178は、例えば、表示情報を準備し、その情報を、タッチディスプレイに表示するためにグラフィックモジュール132に送る。
いくつかの実施形態においては、イベントハンドラ(単数又は複数)190が、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか、又はそれらに対するアクセスを有する。いくつかの実施形態においては、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、それぞれのアプリケーション136−1又はアプリケーションビュー191の単一のモジュール内に含まれる。他の実施形態においては、それらは、2つ以上のソフトウェアモジュール内に含まれる。
タッチディスプレイのユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボード押圧若しくは保持と必要に応じて連携させたマウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロールなど接触の移動、ペンスタイラス入力、デバイスの移動、口頭指示、検出される眼球移動、バイオメトリック入力、並びに/又はこれらの任意の組み合わせが、認識されるべきイベントを定義するサブイベントに対応する入力として必要に応じて利用される。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す図である。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを必要に応じて表示する。本実施形態、並びに以下で説明される他の実施形態においては、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、グラフィックのうちの1つ以上を選択することを可能にされる。いくつかの実施形態においては、1つ以上のグラフィックの選択は、ユーザが1つ以上のグラフィックとの接触を断つと生じる。いくつかの実施形態においては、ジェスチャは、1回以上のタップ、1回以上の(左から右、右から左、上方向、及び/又は下方向への)スワイプ、及び/又は、デバイス100と接触した指の(右から左、左から右、上方向、及び/又は下方向への)ローリングを、必要に応じて含む。いくつかの実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを必要に応じて選択しない。
デバイス100は、「ホーム」又はメニューボタン204など、1つ以上の物理ボタンも必要に応じて備える。前述のとおり、メニューボタン204は、デバイス100上で必要に応じて実行される1組のアプリケーションのうちの任意のアプリケーション136へとナビゲートする目的で必要に応じて使用される。或いは、いくつかの実施形態においては、メニューボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
一実施形態においては、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調節ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電外部ポート124を含む。プッシュボタン206は、ボタンを押し、押された状態を既定の時間にわたって保つことによってデバイス上の電源をオン/オフし、ボタンを押し、既定の時間が経過する前にボタンを解放することによってデバイスをロックし、及び/又はデバイスをロック解除するか、若しくはロック解除処理を開始する目的で必要に応じて使用される。代替実施形態において、デバイス100は、一部の機能のアクティブ化又は非アクティブ化するための、マイクロホン113を介した口頭入力も受け入れる。デバイス100はまた、タッチスクリーン112上の接触の強度を検出するための、1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器167も、必要に応じて含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブルでなくてもよい。いくつかの実施形態においては、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は産業用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと称することがある)を、必要に応じて含む。デバイス300は、タッチスクリーンディスプレイであるのが典型的なディスプレイ340を備える入力/出力(I/O)インタフェース330を備える。I/Oインタフェース330は、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上で触覚出力を生成するための(例えば図1Aを参照して上述した触知出力生成器(単数又は複数)167と同様の)触知出力生成器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は図1Aを参照して上述した接触強度センサ(単数又は複数)165と同様の接触強度センサ)も必要に応じて含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また必要に応じて、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310からは離れて位置する1つ以上の記憶デバイスを必要に応じて含む。いくつかの実施形態においては、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更には、メモリ370は、ポータブル多機能デバイス100のメモリ102内には存在しない、追加的なプログラム、モジュール、及びデータ構造を、必要に応じて記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を必要に応じて記憶するが、その一方で、ポータブル多機能デバイス100(図1A)のメモリ102は、これらのモジュールを必要に応じて記憶しない。
上記で特定された図3の要素のそれぞれは、必要に応じて、前述のメモリデバイスのうちの1つ以上に記憶される。上記で識別されたモジュールのうちのそれぞれは、上述した機能を実行する命令セットに対応する。上述の識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットが、必要に応じて、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ370は、上述の識別されたモジュール及びデータ構造のサブセットを、必要に応じて記憶する。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を、必要に応じて記憶する。
ここで、ポータブル多機能デバイス100上に必要に応じて実装されるユーザインタフェース(「UI」)の実施形態に注意を向ける。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューに関する例示的なユーザインタフェースを示す。同様のユーザインタフェースが、必要に応じてデバイス300上に実装される。いくつかの実施形態においては、ユーザインタフェース400(又は475)が、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi−Fi信号などの無線通信(単数又は複数)に関する信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーション用のアイコンを有するトレイ408、
○不在着信又は音声メールメッセージの数のインジケータ414を必要に応じて含む、「電話」とラベル付けされた電話モジュール138用のアイコン416、
○未読電子メールの数を示すインジケータ410を必要に応じて含む、「メール」とラベル付けされた電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされたブラウザモジュール147用のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽再生モジュール152用のアイコン422、並びに
●以下のような他のアプリケーション用のアイコン、
○「テキスト」とラベル付けされたIMモジュール141用のアイコン424、
○「カレンダー」とラベル付けされたカレンダーモジュール148用のアイコン426、
○「写真」とラベル付けされた画像管理モジュール144用のアイコン428、
○「カメラ」とラベル付けされたカメラモジュール143用のアイコン430、
○「オンラインビデオ」とラベル付けされたオンラインビデオモジュール155用のアイコン432、
○「株式」とラベル付けされた株式ウィジェット149−2用のアイコン434、
○「地図」とラベル付けされた地図モジュール154用のアイコン436、
○「気象」とラベル付けされた天候ウィジェット149−1用のアイコン438、
○「時計」とラベル付けされたアラーム時計ウィジェット149−4用のアイコン440、
○「トレーニングサポート」とラベル付けされたトレーニングサポートモジュール142用のアイコン442、
○「メモ」とラベル付けされたメモモジュール153用のアイコン444、
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する設定アプリケーション若しくはモジュール用のアイコン446。
図4Aに示すアイコンのラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽再生モジュール152用のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、必要に応じて使用される。いくつかの実施形態においては、対応するアプリケーションアイコンに関するラベルは、対応するアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態においては、特定のアプリケーションアイコンに関するラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を備えるデバイス(例えば、図3のデバイス300)上の、例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための、1つ以上の触知出力生成器359を含む。
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態においては、デバイスは、図4Bに示すように、ディスプレイとは別個のタッチ感知面上で入力を検出する。いくつかの実施形態においては、タッチ感知面(例えば、図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、図4Bの453)に対応する主軸(例えば、図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイのそれぞれの場所に対応する場所(例えば図4Bにおいては、460が468に対応し、462が470に対応する)でのタッチ感知面451との接触(例えば、図4Bの460及び462)を検出する。このように、タッチ感知面がディスプレイとは別個である時、タッチ感知面(例えば図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、並びにそれらの移動)は、多機能デバイスのディスプレイ(例えば、図4Bの450)上のユーザインタフェースを操作する目的でデバイスによって使用される。同様の方法が本明細書に記載の他のユーザインタフェースに必要に応じて使用されることを理解されたい。
更には、以下の説明は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態においては、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、必要に応じて、(例えば、接触の代わりに)マウスクリックで置き換えられ、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの場所に配置される間、必要に応じて、マウスクリックで置き換えられる。同様に、複数のユーザ入力が同時に検出される場合、複数のコンピュータマウスが必要に応じて同時に使用されるか、又は、マウスと指の接触とが必要に応じて同時に使用されることを理解されたい。
本明細書で使用される時、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他のロケーションマーカを含むいくつかの実装形態において、カーソルは、「フォーカスセレクタ」として機能するため、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ又は他のユーザインタフェース要素)上にある時にタッチ感知面(例えば図3のタッチパッド355又は図4Bのタッチ感知面451)上で入力(例えば、押下げ入力)が検出されると、その特定ユーザインタフェース要素が、検出された入力に従って調節される。タッチスクリーンディスプレイでユーザインタフェース要素と直接対話できるようにするタッチスクリーンディスプレイ(例えば、図1Aのタッチディスプレイシステム112又は図4Aのタッチスクリーン112)を含むいくつかの実装形態においては、タッチスクリーン上で検出された接触が「フォーカスセレクタ」として機能するため、入力(例えば、接触による押下げ入力)がタッチスクリーンディスプレイの特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ又は他のユーザインタフェース要素)の場所で検出されると、その特定ユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装形態においては、(例えば、タブキー又は矢印キーを使用してフォーカスを1つのボタンから別のボタンへと移動させることにより、)フォーカスが、タッチスクリーンディスプレイでの対応するカーソルの移動又は接触の移動を伴わずに、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域へと移される。これらの実装形態において、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る特定の形態に関係なく、フォーカスセレクタは概して、ユーザの意図する(例えば、ユーザが対話したいと思っているユーザインタフェースの要素をデバイスに指示することによる)ユーザインタフェースとの対話を伝達するようにユーザによって制御されたユーザインタフェース要素(又はタッチスクリーンディスプレイの接触)である。例えば、押下げ入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出されている時に対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(デバイスのディスプレイに示されている他のユーザインタフェース要素とは反対に、)ユーザが対応するボタンをアクティブ化しようとしていることを示す。
ユーザインタフェース及び関連処理
次に、デバイス300又はポータブル多機能デバイス100など、ディスプレイ及びタッチ感知面を備えた電子デバイス上で必要に応じて実装されるユーザインタフェース(「UI」)及び関連処理の実施形態に注意を向ける。
図5A〜図5Pは、いくつかの実施形態に係る、第1の電子デバイス100−1(例えば、ジェニーという名前のユーザと関連付けられた共有デバイス)上で実行される対応するアプリケーションからのコンテンツを共有するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図6A〜図6Eの処理(例えば、方法600)を含む、以下で説明される処理を例示する目的で使用される。
図5Aは、ポータブル多機能デバイス100−1(本明細書ではデバイス100−1と称される場合がある)のタッチスクリーン112上にユーザインタフェース400を表示している様子を示す。例えば、デバイス100−1は、ジェニーという名前の第1のユーザと関連付けられている。図5Aにおいて、ユーザインタフェース400は、複数のアプリケーションアイコン(例えば、424、426、428、430、432、434、436、438、440、442、444、446)及び複数のトレイアイコン(例えば、いくつかの実施形態において、マルチページアプリケーション起動インタフェースのトレイに表示されるアプリケーションアイコンである416、418、420、422)を含むホーム画面500を表示する。アプリケーションアイコン(又は概してアイコン)は、本明細書において、ユーザインタフェースオブジェクト又はアフォーダンスと称される場合もある。図5Aは、タッチスクリーン112上での「写真」アプリケーションアイコン428に対する接触501(例えば、タップジェスチャ)を検出している様子も示す。
図5Bは、図5Aにおける写真アプリケーションの選択を検出したことに応じて、写真アプリケーション内のユーザインタフェース400上にあるイベントビュー502内で複数の選択可能なマルチメディアアイテム(例えば、マルチ写真又はマルチビデオ)イベント504a、504b、504c、504dを表示している様子を示す。図5Bにおいて、ユーザインタフェース400は、アクティブ化されるとデバイスに月ビューを表示させる「月」アフォーダンス503と、アクティブ化されるとデバイスに、対応するイベント複数の共有アフォーダンス(例えば、506a、506b、506c、506d)と、アクティブ化されるとデバイスに、1つ以上の選択された描像を共有させる「共有」アフォーダンス517と、を含む。図5Bにおいて、これら複数のイベントは、対応するイベント内に、関連のあるイベントタイトルを有するイベントヘッダ(例えば、日曜ブランチ、ハワイ休暇、大晦日パーティ、及びクロスカントリーロードの旅)と、イベントの場所(単数又は複数)(例えば、サンノゼ、オアフ、カウアイ、及びマウイ、サンフランシスコ、リノ、ソルトレイクシティ、シャイアン、及びその他7か所)と、1つ以上のメディアアイテムの描像(例えば、写真、ビデオ、又は音声クリップ)505(例えば、505a、505b、505c、505d)を含む。図5Bは、タッチスクリーン112上の「ハワイ休暇」イベントヘッダ504bに対する接触507(例えば、タップジェスチャ)を検出している様子も示す。
図5Cは、図5Bにおいて接触507を検出したことに応じて、「ハワイ休暇」と題するイベント504bを表示している様子を示す。いくつかの実施形態においては、メディアアイテム(例えば、写真)の描像に対するタップジェスチャがデバイスにメディアアイテムの拡大描像を表示させるのに対し、イベントヘッダに対応する場所でのタップジェスチャによってイベント(又は1つ以上のサブイベント)の描像が表示される。図5Cは、イベント504b内の複数のサブイベント508a、508b、508cも示す。図5Cにおいて、サブイベントは、ハワイ休暇メタイベント内の様々な場所(例えば、オアフ、カウアイ、及びマウイ)及び様々な日にキャプチャされたメディアアイテムに対応する。図5Cにおいては、サブイベントと関連付けられた1つ以上のメディアアイテムの描像(例えば、509a、509b、509c)がユーザインタフェース400に表示されている。図5Cにおいて、ユーザインタフェース400は、アクティブ化されるとデバイスにイベントビューを表示させる「イベント」アフォーダンス502と、アクティブ化されるとデバイスに対応するサブイベントを共有させる複数の共有アフォーダンス(例えば、510a、510b、510c)と、アクティブ化されるとデバイスに1つ以上の選択されたメディアアイテムの描像を共有させる「共有」アフォーダンス517と、を含む。図5Cは、描像513aを選択している接触511(例えば、タップジェスチャ)及び描像513bを選択している接触512(例えば、タップジェスチャ)をタッチスクリーン112上で検出している様子も示す。いくつかの実施形態において、接触511及び512は、同時に検出された接触である。他のいくつかの実施形態において、接触511は、接触512を検出する前に検出されるか、又はその逆順で検出される。
図5Dは、図5Cにおいて接触511及び512を検出したことに応じて、選択された描像513a及び513bを表示している様子を示す。図5Dでは、選択された描像513a及び513bの周囲に強調されたフレームが表示されており、描像513a及び513bの選択を示している。図5Dは、タッチスクリーン112上での接触514(例えば、タップジェスチャ)による「共有」アフォーダンス517の選択を検出している様子も示す。
図5Eは、図5Dにおける「共有」アフォーダンス517の選択を検出したことに応じて、ユーザインタフェース400上で写真アプリケーションの上に共有インタフェース518を表示している様子を示す。図5Eにおいて、共有インタフェース518は、デバイス100−1のBluetooth及びWiFi機能をオンにして共有を有効化するように構成された共有有効化アフォーダンス520を有する第1の領域519aと、1つ以上のプロトコル優先共有オプション521を有する第2の領域519bと、1つ以上のアプリケーション関連オプション522を有する第3の領域519cと、アクティブ化されるとデバイスに共有インタフェース518を閉じさせる「キャンセル」アフォーダンス523と、を含む。図5Eは更に、アフォーダンス520に対するスライドジェスチャを検出しており、接触515がタッチスクリーン112上の位置515aから位置515aへと移動している様子も示す。いくつかの実施形態においては、共有インタフェース518が表示された時に視認できる写真アプリケーションの部分が、ぼやけるか、網掛けになるか、又は他の方法で視覚的に不明瞭になる。いくつかの実施形態においては、共有インタフェース518が占有する領域がタッチスクリーン112の全体よりも少ない場合、共有インタフェース518によって占有されない区域が空白である(例えば、ホーム画面500のグラフィック、アイコン、壁紙などがそれらの区域に表示されない)。図5Eでは、デバイス100−1が現在コンテンツを1つ以上の他のデバイスと直接共有できるようになっていないため、共有有効化アフォーダンス520が第1の領域519aに表示されている。いくつかの実施形態においては、デバイスのBluetooth及びWiFi機能の両方が有効になっていると、そのデバイスがコンテンツを他のデバイスと直接共有することができる。
図5Eにおいて、第2の領域519bに表示されたプロトコル優先共有オプション521は、インスタントメッセージングを介してコンテンツを共有するための「メッセージ」アイコン(本明細書では「アフォーダンス」又は「ユーザインタフェースオブジェクト」と呼ばれることもある)521aと、電子メールを介してコンテンツを共有するための「メール」アイコン521bと、サードパーティアプリケーション(例えば、Twitter(登録商標)又はFacebook(登録商標))を介してコンテンツを共有するための「サードパーティアプリ1」アイコン521cと、「サードパーティアプリ2」アイコン521dと、部分的に表示された「サードパーティアプリ3」アイコン521eと、を含む。いくつかの実施形態において、部分的に表示されたプロトコル優先共有オプションは、第2の領域519bを右から左へとスクロールする右から左へのスワイプジェスチャ(本明細書では「スライド」又は「ドラッグ」ジェスチャと呼ばれることもある)によってアクセス可能である。いくつかの実施形態においては、対応するプロトコル優先共有オプションが、対応するプロトコル(例えば、SMS/MMS又は電子メール)を介してコンテンツを共有する。図5Eにおいて、写真アプリケーションと関連付けられたアプリケーション関連オプション522は、「編集」アイコン522aと、「切り抜き」アイコン522bと、「コピー」アイコン522cと、「背景作成」アイコン522dと、を含む。いくつかの実施形態において、共有インタフェース518の第3の領域519cに表示されたアプリケーション関連オプション522は、「共有」アフォーダンス517が選択されたアプリケーションに依存している。
図5Fは、図5Eにおいて接触515の移動を含むスライドジェスチャを検出したことに応じて、1つ以上のユーザ優先共有オプション524を含む共有インタフェース518の第1の領域519aを表示している様子を示す。図5Fにおいて、第1の領域519aに表示されたユーザ優先共有オプション524は、第1のユーザ524aのモノグラム(又はイニシャル)と、第2のユーザ524bの顔写真と、第3のユーザ524cのモノグラムと、第4のユーザ524dのモノグラムと、第5のユーザ524dの部分表示顔写真と、を含む。いくつかの実施形態において、部分的に表示されたユーザ優先共有オプションは、第1の領域519aを右から左へとスクロールする右から左へのスワイプジェスチャ(本明細書では「スライド」又は「ドラッグ」ジェスチャと呼ばれることもある)によってアクセス可能である。いくつかの実施形態においては、対応するユーザ優先共有オプションにより、コンテンツが対応するユーザと直接共有される。
いくつかの実施形態においては、ユーザ優先共有オプション524が、ユーザ共有設定(preference)に基づいて配列されている(例えば、最も頻繁に接触したユーザが最も左側にあるユーザ優先共有オプションとして表示されるか、ユーザ優先共有オプションの順序はユーザによって選択されるか、又はユーザ優先共有オプションの順序はアルファベット順である)。図5Fにおいては、ユーザ優先共有オプション524が楕円形であるのに対し、プロトコル優先共有オプション521は、丸みを帯びた角を有する長方形であり、アプリケーション関連オプション522は、鋭い角を有する長方形である。いくつかの実施形態において、第1の領域519aに表示されたユーザ優先共有オプション524は、第2の領域519bに表示されたプロトコル優先共有オプション521とは異なる外観(例えば、形状、色、不透明度、透明度、網掛け、影など)を有する。いくつかの実施形態において、第3の領域519cに表示されたアプリケーション関連オプション522は、第1の領域519aに表示されたユーザ優先共有オプション524及び第2の領域519bに表示されたプロトコル優先共有オプション521とは異なる外観(例えば、形状、色、不透明度、透明度、網掛け、影など)を有する。図5Fは、接触516がタッチスクリーン112上の位置516aから位置516bへと移動するスワイプジェスチャを第1の領域519a内で検出している様子も示す。
図5Gは、図5Fにおいて接触516の移動を含むスワイプジェスチャを検出したことに応じて、第1の領域519aを右から左へとスクロールしている様子を示す。図5Gにおいて、第1の領域519aは、第2のユーザ524bの顔写真を部分的に表示し、第6のユーザ524fの顔写真を表示し、第7のユーザ524gの顔写真を部分的に表示している。図5Fは、ユーザ優先共有オプション524cに対応するタッチスクリーン112上の場所で接触525(例えば、タップジェスチャ)を検出したことに応じて、(例えば、C.チェンという名前の第3のユーザに対応する)ユーザ優先共有オプション524cをアクティブ化している様子も示す。
図5Hは、図5Gにおけるユーザ優先共有オプション524cの選択を検出したことに応じて、ユーザインタフェース400上でプロトコル選択インタフェース526を表示している様子を示す。図5Hにおいて、プロトコル選択インタフェース526は、(図5Cにおいて共有されるコンテンツとして選択された)写真513a及び513bを(図5Gにおいて受信者として選択された)C.チェンと共有するための1つ以上のプロトコル527を含む。図5Gにおいて、プロトコル選択インタフェース526は、選択された写真を選択された受信者に電子メール送信するための「電子メール」アフォーダンス527aと、選択された写真を、インスタントメッセージを介して選択された受信者に送るための「SMS/MMS」アフォーダンス527bと、選択された写真を、サードパーティアプリケーション1を介して選択された受信者と共有するための「サードパーティアプリ1」アフォーダンス527cと、選択された写真を、サードパーティアプリケーション2を介して選択された受信者と共有するための「サードパーティアプリ2」アフォーダンス527dと、選択された写真を、サードパーティアプリケーション3を介して選択された受信者と共有するための「サードパーティアプリ3」アフォーダンス527eと、アクティブ化されると、デバイスに、選択された写真を選択された受信者と共有するのをキャンセルさせるか、又は図5Gに表示された共有シート518に戻させる「キャンセル」アフォーダンス527fと、を含む。図5Hは、タッチスクリーン112上の「電子メール」アフォーダンス527aに対応する場所で接触528(例えば、タップジェスチャ)を検出している様子も示す。例えば、デバイス100−1は、接触528を検出したことに応じて、C.チェンと関連付けられた電子メールアドレスに写真513a及び513bを電子メール送信する。いくつかの実施形態においては、図5Gにおけるユーザ優先共有オプション524cの選択を検出したことに応じて、プロトコル選択インタフェース526がユーザインタフェース400に表示されない。代わりに、デフォルトの共有プロトコル又は最後に使用された共有プロトコルが、共有コンテンツを共有する目的で使用される(例えば、デバイス間デバイス無線ネットワーク経由でコンテンツを共有するための直接共有プロトコルが使用される)。
図5Iは、図5Hにおける「電子メール」アフォーダンス527aの選択を検出したことに応じて(又は、プロトコル選択インタフェース526表示されない場合には、図5Gにおける「C.チェン」の選択を検出したことに応じて)ユーザインタフェース400上に共有確認ダイアログ529を表示している様子を示す。図5Iにおいて、共有確認ダイアログ529は、デバイス100−1のユーザ(例えば、ジェニー)が現在2枚の写真(例えば図5Cにおいて共有するために選択された写真513a及び513b)を(例えば図5Gにおいて選択されたユーザ優先オプション524cに対応する)C.チェンと共有していることを示すテキストと、現在共有されている写真のプレビューと、を含む。図5Iにおいて、共有確認ダイアログ529は、アクティブ化されるとデバイスに共有動作の実行を中止させる「キャンセル」アフォーダンス530aと、アクティブ化されるとデバイスに共有確認ダイアログ529を閉じさせる「ok」アフォーダンス530bと、を更に含む。図5Iは、(例えば、タップ又は押下げジェスチャ531を検出したことに応じて)ホームボタン204のアクティブ化を検出している様子も示す。
図5Iは、図5Iにおいてホームボタン204のアクティブ化を検出したことに応じて、ユーザインタフェース400上にホーム画面500を表示している様子を示す。図5Iは、タッチスクリーン112上の「メモ」アプリケーションアイコン444に対応する場所で接触532(例えば、タップジェスチャ)を検出している様子も示す。
図5Kは、図5Iにおける「メモ」アプリケーションアイコン444の選択に応じて、メモアプリケーション内のユーザインタフェース400上に「用件」と題するメモを表示している様子を示す。図5Kは、ユーザインタフェース400において現在表示されているメモを共有するための「共有」アフォーダンス533に対応する場所で接触534(例えば、タップジェスチャ)を検出している様子も示す。
図5Lは、図5Kにおける「共有」アフォーダンス533の選択を検出したことに応じて、ユーザインタフェース400上に共有インタフェース518を表示している様子を示す。図5Lにおいて、共有インタフェース518は、1つ以上のユーザ優先共有オプション524を備えた第1の領域519aと、1つ以上のプロトコル優先共有オプション521を備えた第2の領域519bと、1つ以上のアプリケーション関連オプション522を備えた第3の領域519cと、アクティブ化されるとデバイスに共有インタフェース518を閉じさせる「キャンセル」アフォーダンス523と、を含む。図5Lにおいては、メモアプリケーションと関連付けられたアプリケーション関連オプション522が、「チェックリストに追加」アイコン522eと、「印刷」アイコン522fと、「コピー」アイコン522cと、「ホーム画面上でリンクを追加」アイコン522gと、を含む。図5Lは、接触535がタッチスクリーン112上の位置535aから位置535bへと移動するスワイプジェスチャを第2の領域519b内で検出している様子も示す。
図5Mは、図5Lにおいてスワイプジェスチャを検出したことに応じて、第2の領域519bを右から左へとスクロールしている様子を示す。図5Mにおいて、第2の領域519bは、「サードパーティアプリ3」アイコン521eを表示し、「サードパーティアプリ4」アイコン521fを部分的に表示している。図5Mは、タッチスクリーン112上での接触536(例えば、タップジェスチャ)による(例えば、電子メールに対応する)プロトコル優先共有オプション521bの選択を検出している様子も示す。いくつかの実施形態において、デバイスは、(例えば、電子メールに対応する)プロトコル優先共有オプション521bの選択を検出したことに応じて、対応するアプリケーション(例えば、電子メール140)を開き、ユーザが対応するアプリケーション(非図示)においてアドレスを選択した後に、対応するアプリケーションを介してコンテンツを共有できるようにする。いくつかの他の実施形態において、デバイスは、(例えば、電子メールに対応する)プロトコル優先共有オプション521bの選択を検出したことに応じて、下記のとおり受信者選択インタフェースを表示する。
図5Nは、図5Mにおけるプロトコル優先共有オプション521bの選択を検出したことに応じて、ユーザインタフェース400上に受信者選択インタフェース537を表示している様子を示す。図5Nにおいて、受信者選択インタフェース537は、(図5Kにおいて共有されるコンテンツとして選択された)「用件」メモを、(図5Mにおいて共有プロトコルとして選択された)電子メールを介して共有する1人以上のユーザ(又は受信者)を含む。図5Nにおいて、受信者選択インタフェース537は、デバイス100−1のユーザのアドレス帳から選択可能な接触のスクロール可能なリストと、スクロールバー538と、アクティブ化されるとデバイスに、デバイス100−1のユーザのアドレス帳から連絡先のリストを表示させる「アドレス帳」アフォーダンス539aと、アクティブ化されるとデバイスに、デバイス100−1の「共有の範囲」内であるユーザのリストを表示させる「近隣」アフォーダンス539bと、を含む。いくつかの実施形態において、「共有の範囲」は、デバイス100−1の現在のWiFi或いはBluetooth範囲に限定されるか、又は近距離通信に限定されるか、若しくは共有機能によって指定される通信プロトコルに限定される。図5Nにおいては、受信者選択インタフェース537にデバイス100−1のユーザのアドレス帳が現在表示されているため、「アドレス帳」アフォーダンス539aは、強調され、太字で表示される。図5Nは、タッチスクリーン112上での接触540(例えば、タップジェスチャ)による「近隣」アフォーダンス539bの選択を検出している様子も示す。
図5Oは、図5Nにおける「近隣」アフォーダンス539bの選択を検出したことに応じて、ユーザインタフェース400上の受信者選択インタフェース537内に、選択可能な近隣ユーザのスクロール可能なリストを表示している様子を示す。図5Oは、タッチスクリーン112上での接触541(例えば、タップジェスチャ)によるC.チェンというユーザの選択を検出している様子も示す。いくつかの実施形態において、デバイス100−1のユーザには、図5N及び/又は図5Oのダイアログ537に表示されたリストから複数の受信者を選択するためのオプションが提供される。デバイス100−1は、接触541を検出したことに応じて、C.チェンと関連付けられた電子メールアドレスに「用件」メモを電子メール送信する。
図5Pは、図5OにおけるC.チェンというユーザの選択の選択を検出したことに応じて、ユーザインタフェース400上に共有確認ダイアログ542を表示している様子を示す。図5Pにおいて、共有確認ダイアログ542は、デバイス100−1のユーザ(例えば、ジェニー)が、「用件」(例えば図5Kにおいて共有するために選択されたメモ)をC.チェン(例えば図5Oにおいて選択されたユーザ(又は受信者))と現在共有していることを示すテキストと、現在共有されているメモのプレビューと、を含む。図5Pにおいて、共有確認ダイアログ542は、アクティブ化されるとデバイスに共有動作の実行を中止させる「キャンセル」アフォーダンス543aと、アクティブ化されるとデバイスに共有確認ダイアログ542を閉じさせる「ok」アフォーダンス543bと、を更に含む。
図5Q〜図5EEは、いくつかの実施形態に係る、第2の電子デバイス100−2(例えば、C.チェンという名前のユーザと関連付けられた受信デバイス)上で実行される対応するアプリケーションからの共有コンテンツを受信するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図7A〜図7Cの処理を含む、以下で説明する処理を例示する目的で使用される。
図5Qは、ポータブル多機能デバイス100−2(本明細書ではデバイス100−2と称される場合がある)のタッチスクリーン112上にユーザインタフェース475を表示している様子を示す。例えば、デバイス100−2は、デバイス100−1の(例えば、ジェニーという名前の)ユーザとは異なるC.チェンという名前のユーザと関連付けられている。図5Qにおいて、ユーザインタフェース400は、複数のアプリケーションアイコン(例えば、424、426、428、430、432、434、436、438、440、442、444、446)及び複数のトレイアイコン(例えば、416、418、420、422)を含むホーム画面500を表示する。アプリケーションアイコン(又は概してアイコン)は、本明細書において、ユーザインタフェースオブジェクト又はアフォーダンスと称される場合もある。図5Qは、タッチスクリーン112上の位置544aから位置544bへの接触544による上向きのスワイプジェスチャを検出している様子も示す。図5Qにおいて、接触544による上向きのスワイプジェスチャは、エッジジェスチャである(例えば、タッチスクリーン112の縁部並びに/又はデバイス100−2のタッチ感知部分及びデバイス100−2の非タッチ感知部分の両方との接触から開始される)。図5Qは更に、タッチスクリーン112上での位置545aから位置545bへの接触545による上向きのスワイプジェスチャを検出している様子も示す。図5Qにおいて、接触545による上向きのスワイプジェスチャは、非エッジジェスチャである(例えば、タッチスクリーン112「内部」での接触から開始される)。いくつかの実施形態においては、図5Qに示された上向きのスワイプジェスチャ(例えば、接触544によるエッジジェスチャ又は接触545による非エッジジェスチャ)のどちらによっても、1つ以上の設定アイコン(及び/又は他の情報)がデバイス100−2のユーザインタフェース475に表示される。いくつかの実施形態において、図5Qに示された上向きのスワイプジェスチャ(例えば、接触544によるエッジジェスチャ又は接触545による非エッジジェスチャ)の1つによって1つ以上の設定アイコンがデバイス100−2のユーザインタフェース475に表示されるのに対し、図5Qに示された他の上向きのスワイプジェスチャでは、1つ以上の設定アイコンが表示されない。
図5Rは、図5Qにおいて上向きのスワイプジェスチャが検出されたことに応じて、ユーザインタフェース475上のホーム画面500の上に設定パネル546を部分的に表示している様子を示す。いくつかの実施形態において、設定パネル546は、タッチスクリーン112上に表示されたユーザインタフェース475の一部分の上に表示される。いくつかの実施形態において、設定パネル546が占有する領域は、タッチスクリーン112上に表示されたユーザインタフェース475の全体未満(例えば、少なくとも80%又は90%であるが、100%未満)である。いくつかの実施形態において、設定パネル546の少なくとも1つの縁部は、タッチスクリーン112の縁部に接触しており、かつ/又はタッチスクリーン112の縁部にドッキングされているように見える。いくつかの実施形態において、設定パネル546は、タッチスクリーン112の縁部に接触しない(例えば、ホーム画面500の諸部分は、設定パネル546の全ての側方で視認できる)。いくつかの実施形態において、ホーム画面500(例えば、ホーム画面の背景画像及び/又はホーム画面に表示されたアイコン)は、設定パネル546が占有していないタッチスクリーン112の諸部分で視認できる。いくつかの実施形態においては、設定パネル546が表示された時に視認できるホーム画面500の諸部分が、ぼやけるか、網掛けになるか、又は他の方法で視覚的に不明瞭になる。いくつかの実施形態においては、設定パネル546が占有する領域がタッチスクリーン112の全体未満である場合、設定パネル546によって占有されない区域が空白である(例えば、ホーム画面500のグラフィック、アイコン、壁紙などがそれらの区域に表示されない)。
図5Rにおいては、設定アイコン(例えば、設定アイコン547a、546b、547c、547d、547e)が設定パネル546に表示されている。設定アイコンは、例えば、Wi−Fiアイコン547a、Bluetoothアイコン547b、機内モードアイコン547c、着信拒否アイコン547d、及び回転ロックアイコン547dを含む。いくつかの実施形態において、着信拒否アイコン547dは、「着信拒否」設定が選択されているか又は「オン」である間に、通知(例えば、着信音、可聴式の電子メール通知など)がオフにされる設定に対応する。いくつかの実施形態においては、他の設定アイコンが表示される。いくつかの実施形態においては、設定パネル546に表示される特定の設定(それゆえ設定アイコン)がユーザによって決定される。それゆえ、ユーザは、設定パネル546に表示する設定を増やすか、減らすか、又は変えることを選択できる。例えば、「3G」設定に対応する設定アイコン(非図示)は、回転ロックアイコン547eと必要に応じて置き換わる。
いくつかの実施形態において、設定アイコン547a、546b、547c、547d、547eは、「オン/オフ」スイッチである(例えば、それらは、2つの異なる状態のうちの一方を有し得る設定を表す)。いくつかの実施形態において、設定アイコン547a、546b、547c、547d、547eは、その基底となる状態に基づいて外観が変化する。例えば、設定アイコン547a、546b、547c、547d、547eは、基底となる設定が「オフ」である場合に、第1の色、形状、又は他の特性を必要に応じて有し、基底となる設定が「オン」である場合に、第1のものとは異なる第2の色、形状、又は他の特性を必要に応じて有する。
図5Rにおいては、設定パネル546に、輝度調節制御部548(例えば、スライダバー)、オーディオ制御アイコン549(例えば、再生/一時停止、早送り、巻き戻し、停止、音量調節、及び/又はトラック制御)、アクティブ化されるとデバイスにデバイス100−2の共有機能の検出可能性(又は利用可能性)を変更させる共有状態インジケータ550、アクティブ化されるとデバイスに遠隔メディア再生設定を調節するためのユーザインタフェースを表示させる遠隔メディア制御インジケータ551、及びユーザ指定のアプリケーションアイコン552a、552b、552c、552dも表示されている。図5Rに示すとおり、設定アイコン547a、547b、547c、547d、547eは、設定パネル546の第1の部分(又は領域)に表示され、輝度調節制御部548は、第1の部分の下にある設定パネル546の第2の部分(又は領域)に表示され、オーディオ制御アイコン549は、第2の部分の下にある設定パネル546の第3の部分(又は領域)に表示され、共有状態インジケータ550及び遠隔メディア制御インジケータ551は、第3の部分の下にある設定パネル546の第4の部分(又は領域)に表示され、ユーザ指定のアプリケーションアイコン552a、552b、552c、552dは、第4の部分の下にある設定パネル546の第5の部分(又は領域)に表示される。いくつかの実施形態は、これらのアイテム又は部分を別の配置構成で表示する。
図5Sは、図5Qにおいてスワイプジェスチャが検出されたことに応じて、1つ以上の設定アイコンを含む設定インタフェースをユーザインタフェース475上に表示している様子を示す。図5Sにおいては、設定アイコン547a、546b、547c、547d、547e、輝度調節制御部548、オーディオ制御アイコン549、共有状態インジケータ550及び遠隔メディア制御インジケータ551、並びにユーザ指定のアプリケーションアイコン552a、552b、552c、552dが、設定パネル546なしに、タッチスクリーン112のユーザインタフェース400に表示されている。図5Sは、共有状態インジケータ550に対する接触577(例えば、タップジェスチャ)をタッチスクリーン112上で検出している様子も示す。図5Sにおいて、共有状態インジケータ550は、共有機能が現在「連絡先のみ」共有モードになっていることを示すテキストを表示する。
図5Tは、図5Sにおいて接触577を検出したことに応じて、検出可能性インタフェース553を表示している様子を示す。図5Tにおいては、検出可能性インタフェース553が、共有機能に関するデバイス100−2の検出可能性(又は利用可能性)を調節するための1つ以上のオプションを含む。図5Tにおいては、検出可能性インタフェース553が、アクティブ化されるとデバイスにデバイス100−2の共有機能を無効化させる「オフ」アフォーダンス554aと、アクティブ化されるとデバイスに、デバイス100−2をデバイス100−2の「共有の範囲」内の連絡先(例えば、デバイス100−2のユーザのアドレス帳、又は共有機能と関連付けられた指定の連絡先リスト)とだけ共有できるようにする「連絡先のみ」アフォーダンス553bと、アクティブ化されるとデバイスに、デバイス100−2をデバイス100−2の「共有の範囲」内の全員(例えば、各自の対応するデバイス上で有効化された互換共有機能を有する全てのユーザ)と共有できるようにする「全員」アフォーダンス553cと、アクティブ化されるとデバイスに検出可能性インタフェース553を閉じさせる「キャンセル」アフォーダンス553dと、を含む。図5Tは、タッチスクリーン112上での接触555(例えば、タップジェスチャ)による「全員」アフォーダンス553cの選択を検出している様子も示す。
図5Uは、1つ以上の設定アイコンを含むタッチスクリーン112上のユーザインタフェース475を表示している。図5Uにおいて、共有状態インジケータ550は、図5Tにおける「全員」アフォーダンス553cの選択に応じて、共有機能が現在「全員」共有モードにあることを示すテキストを表示している。図5Uは、ホームボタン204に対する接触556(例えば、タップ又は押下げジェスチャ)をタッチスクリーン112上で検出している様子も示す。
図5Vは、図5Uにおいて接触556を検出したことに応じて、ユーザインタフェース475上にホーム画面500を表示している様子を示す。図5Vは、デバイス100−2のユーザ(例えば、C.チェン)とは異なるユーザ(例えば、デバイス100−1と関連付けられたジェニー)から共有要求を受信したことに応じて、ユーザインタフェース475上でホーム画面500の上に共有確認ダイアログ557を表示している様子も示す。図5Vにおいて、共有確認ダイアログ557は、デバイス100−2のユーザとは異なるユーザ(例えば、デバイス100−1と関連付けられたジェニーという名前のユーザ)が、デバイス100−2の(例えば、C.チェンという名前の)ユーザと2枚の写真を共有していることを示すテキストと、共有コンテンツのプレビューと、共有要求に応答するための複数のオプションと、を含む。いくつかの実施形態において、共有コンテンツのプレビューは、送信者のデバイスにおいて生成された共有コンテンツのサムネイルであり、そのサムネイルに対応するファイルを転送する前に受信者に送られる。いくつかの実施形態において、共有コンテンツのプレビューは、受信者が(例えば、共有要求を承諾又は拒否することによって)共有通知に応答する機会を得るよりも更に前に受信者のデバイスに転送され始めたコンテンツに基づいて受信者のデバイスで生成される。図5Vにおいて、共有要求に応答するための複数のオプションは、アクティブ化されるとデバイスに共有要求を拒否させる「拒否」アフォーダンス558aと、アクティブ化されるとデバイスに共有要求を承諾させる「承諾」アフォーダンス558bと、を含む。いくつかの実施形態においては、共有確認ダイアログ557が表示された時に視認できホーム画面500の諸部分が、ぼやけるか、網掛けになるか、又は他の方法で視覚的に不明瞭になる。いくつかの実施形態においては、共有確認ダイアログ557が占有する領域がタッチスクリーン112の全体未満である場合、共有確認ダイアログ557によって占有されない区域が空白である(例えば、ホーム画面500のグラフィック、アイコン、壁紙などがそれらの区域に表示されない)。
いくつかの実施形態において、デバイス100−2は、「拒否」アフォーダンス558aの選択に応じて、共有要求と関連付けられた1つ以上のダウンロードを中止し、その共有要求と関連付けられたダウンロード一切の部分を削除する。いくつかの実施形態において、デバイス100−2は、「承諾」アフォーダンス558bの選択に応じて、共有要求と関連付けられたデバイス(例えば、デバイス100−1)によって確立されたアドホックWiFiネットワークに加わり、その共有要求と関連付けられたコンテンツを、その共有要求を開始することと関連付けられたデバイス(例えば、デバイス100−1)からアドホックWiFiネットワーク経由でダウンロードする。他のいくつかの実施形態において、デバイス100−2は、「承諾」アフォーダンス558bの選択に応じて、アドホックWiFiネットワークを作成し、共有要求と関連付けられたコンテンツを、共有要求を開始することと関連付けられたデバイス(例えば、デバイス100−1)からアドホックWiFiネットワーク経由でダウンロードする。いくつかの実施形態において、アドホックWiFiネットワークは、ユーザが共有要求に応答する機会を得る前(例えば、共有ユーザが共有要求を開始した後、ただし受信ユーザが共有要求に応答する前)に確立される。
例えば図5Vにおいては、(例えば図5Dにおいてジェニーによって共有されるコンテンツとして選択された)2枚の写真をC.チェンと共有するデバイス100−1のユーザ(例えば、ジェニーという名前の)からの要求に応じて、共有確認ダイアログ557が、(例えば図5Gにおいてジェニーによって受信者として選択された)C.チェンと関連付けられたデバイス100−2のタッチスクリーン112上に表示されている。図5Vは更に、タッチスクリーン112上での接触559による「承諾」アフォーダンス558bの選択を検出している様子も示す。
図5Wは、図5Vにおける「承諾」アフォーダンス558bの選択を検出したことに応じて、ユーザインタフェース475上にダウンロード進度ダイアログ560を表示している様子を示す。図5Wにおいて、ダウンロード進度ダイアログ560は、共有コンテンツのダウンロード進度(例えば、パーセンテージ)を示す進度インジケータ582(例えば、円)を含む。例えば図5Wにおいては、進度インジケータ582の周囲の約25%が暗くなるか、又は網掛けになる。本実施例において、進度インジケータ582の周囲の暗い部分は、共有コンテンツのダウンロードが約25%完了したことを示す。図5Wにおいて、ダウンロード進度ダイアログ560は、アクティブ化されるとデバイスに共有コンテンツのダウンロードを中止させる「キャンセル」アフォーダンス56laと、アクティブ化されるとデバイスにダウンロード進度ダイアログ560を閉じさせる「ok」アフォーダンス561bと、も含む。
図5Xは、ユーザインタフェース475上にダウンロード進度ダイアログ560を表示している様子を示す。図5Xにおいて、ダウンロード進度ダイアログ560に表示された進度インジケータ582は、共有コンテンツのダウンロードが完了したことを示す。例えば図5Xにおいて、ダウンロード進度ダイアログ560は、自身の周囲の100%が暗くなっているか、又は網掛けになっている円を表示している。
図5Yは、共有コンテンツのダウンロード完了に応じて、ユーザインタフェース475上にアプリケーション選択インタフェース562を表示している様子を示す。図5Yにおいて、アプリケーション選択インタフェース562は、共有コンテンツと互換性のある複数のアプリケーションからのその共有コンテンツを提示(又は開始)するための対応するアプリケーションを選択するためのアフォーダンス563を含む。例えば図5Yにおいては、アプリケーション選択インタフェース562が、アクティブ化されるとデバイスに、写真アプリケーション内に共有コンテンツを提示させる「写真」アフォーダンス563aと、アクティブ化されるとデバイスに、サードパーティ写真アプリケーション1内に共有コンテンツを提示させる「サードパーティ写真アプリ1」アフォーダンス563bと、アクティブ化されるとデバイスに、サードパーティ写真アプリケーション2内に共有コンテンツを提示させる「サードパーティ写真アプリ2」アフォーダンス563cと、アクティブ化されるとデバイスに、サードパーティ写真アプリケーション3内に共有コンテンツを提示させる「サードパーティ写真アプリ3」アフォーダンス563dと、を含む。図5Yは、タッチスクリーン112上での接触564による「写真」アフォーダンス563aの選択も示す。いくつかの実施形態においては、アプリケーション選択インタフェース562が、ファイルタイプの初回ダウンロード時にユーザインタフェース475内に表示され、その後、同じファイルタイプのダウンロードでは、そのファイルタイプの初回ダウンロード時に選択されたアプリケーションが使用される。
図5Zは、図5Yにおける「写真」アフォーダンス563aの選択を検出したことに応じて、「ハワイ休暇」と題するイベント504bを写真アプリケーション内のユーザインタフェース475上に表示している様子を示す。図5Zにおいて、イベント504bは、場所(例えば、マウイ)及び日付(例えば、2013年2月16〜18日)デバイス100−1の(例えば、ジェニーという名前の)ユーザによって共有されるコンテンツ(例えば図5Dにおいてジェニーによって選択された写真513a及び513b)と関連付けられたサブイベント508cを含む。
図5AAは、図5Vにおける「承諾」アフォーダンス558bの選択を検出したことに応じて、ユーザインタフェース475上にダウンロード進度ダイアログ565を表示している様子を示す。図5AAにおいて、ダウンロード進度ダイアログ565は、共有コンテンツのダウンロード進度(例えば、パーセンテージ)を示す進度インジケータ583(例えば、円)を含む。例えば図5AAにおいては、進度インジケータ583の周囲の約25%が暗くなるか、又は網掛けになる。本実施例において、進度インジケータ583の周囲の暗い部分は、共有コンテンツのダウンロードが約25%完了したことを示す。図5AAにおいて、ダウンロード進度ダイアログ565は、アクティブ化されるとデバイスに共有コンテンツのダウンロードを中止させる「キャンセル」アフォーダンス566aと、アクティブ化されるとデバイスにダウンロード進度ダイアログ565を閉じさせる「ok」アフォーダンス566bと、も含む。図5AAは、タッチスクリーン112上での接触567による「ok」アフォーダンス566bの選択を検出している様子も示す。
図5BBは、図5AAにおける「ok」アフォーダンス566bの選択に応じて、ユーザインタフェース475上にホーム画面500を表示している様子を示す。図5BBにおいて、ユーザインタフェース475は、タッチスクリーン112の最上部付近に、ジェニー(例えば、デバイス100−1のユーザ)がデバイス100−2のユーザ(例えば、C.チェン)と2枚の写真を共有しており、ダウンロードが50%完了したことを示す通知570を含む。図5BBは、タッチスクリーン112上の位置568aから位置568bへの接触568による左から右へのスワイプジェスチャを検出している様子も示す。図5BBにおいて、接触568による左から右へのスワイプジェスチャは、エッジジェスチャである(例えば、タッチスクリーン112の縁部並びに/又はデバイス100−2のタッチ感知部分及びデバイス100−2のタッチ感知部分の両方との接触から開始される)。図5BBは更に、タッチスクリーン112上の位置569aから位置569bへの接触569による左から右へのスワイプジェスチャを検出している様子も示す。図5BBにおいて、接触569による左から右へのスワイプジェスチャは、非エッジジェスチャである(例えば、タッチスクリーン112「内部」での接触又はタッチスクリーン112の縁部「から離れた」接触から開始される)。いくつかの実施形態においては、図5BBに示された左から右へのスワイプジェスチャ(例えば、接触568によるエッジジェスチャ又は接触569による非エッジジェスチャ)のどちらによっても、1つ以上の開いているアプリケーション(及び又は他の情報)がデバイス100−2のユーザインタフェース475に表示される。いくつかの実施形態においては、図5BBに示された左から右へのスワイプジェスチャ(例えば、接触568によるエッジジェスチャ又は接触569による非エッジジェスチャ)のうちの一方によってのみ、1つ以上の開いているアプリケーションがデバイス100−2のユーザインタフェース475に表示される。代替として、いくつかの実施形態においては、右から左へのスワイプジェスチャ(例えば、エッジスワイプジェスチャ又は非エッジスワイプジェスチャのどちらか、或いはエッジスワイプジェスチャ又は非エッジスワイプジェスチャの一方)により、1つ以上の開いているアプリケーション(及び/又は他の情報)がデバイス100−2のユーザインタフェース475に表示される。
図5CCは、図5BBにおいて左から右へのスワイプジェスチャが検出されたことに応じて、1つ以上の開いているアプリケーションの描像と、1つ以上の開いているアプリケーションに対応するアプリケーションアイコンと、を含むマルチタスクユーザインタフェースをユーザインタフェース475上に表示している様子を示す。いくつかの実施形態において、デバイスは、マルチタスクユーザインタフェース内のアプリケーションの描像に対応する場所で水平方向のスワイプジェスチャを検出したことに応じて、開いているアプリケーションの追加描像を表示する。いくつかの実施形態においては、対応する開いているアプリケーションの対応する描像のアクティブ化を検出したことに応じて、対応する開いているアプリケーションのユーザインタフェースがディスプレイに表示される。図5CCにおいては、共有状態領域571及び関連付けられたアプリケーションアイコン572がユーザインタフェース475内に表示されている。図5CCにおいて、共有状態領域571は、デバイス100−1のユーザ(例えば、ジェニー)によって共有されているコンテンツ(例えば、2枚の写真)と関連付けられた進度インジケータ571aと、以前に共有された(又はダウンロードされた)複数のコンテンツアイテムと、を含む。いくつかの実施形態において、ユーザは、共有状態領域571と対話することにより(例えば、進度インジケータ571a上でタップすることにより)、ダウンロードを一時停止、再開、及び参照することができる。いくつかの実施形態において、デバイスは、共有状態領域571のアクティブ化を検出したこと(例えば、共有状態領域571に対応する場所でタップ入力を検出したこと)に応じて、以前に共有されたアイテムの状態が表示される共有状態アプリケーションを(例えば、全画面アプリケーションとして)表示する。図5CCにおいては、電子メールアプリケーションの描像572の一部分、及び電子メールアプリケーションに対応するアプリケーションアイコン573がユーザインタフェース475に表示されている。図5CCにおいて、ユーザインタフェース475は、1つ以上の開いているアプリケーションの検索で使用する検索条件を入力するための検索問い合わせボックス574も含む。図5CCにおいて、1つ以上の開いているアプリケーションを含むユーザインタフェース475は、水平方向のスワイプジェスチャによってスクロール可能である。
図5DDは、共有コンテンツのダウンロード完了に応じて、ユーザインタフェース475上の通知インタフェース576を表示している様子を示す。図5DDにおいて、通知インタフェース576は、共有コンテンツのダウンロードが完了したことを示すテキストと、デバイス100−2のユーザに共有コンテンツを開くように促すテキストと、共有コンテンツのプレビューと、を含む。図5DDにおいて、通知インタフェース576は、アクティブ化されるとデバイスに通知インタフェース576を閉じさせる「キャンセル」アフォーダンス578aと、アクティブ化されるとデバイスに、互換アプリケーション内に共有コンテンツを提示(又は開示)させる「ok」アフォーダンス578bと、も含む。図5DDは、接触579による「ok」アフォーダンス578bの選択を検出している様子も示す。例えば図5Zに示すとおり、図5DDにおいて「ok」アフォーダンス578bが選択されたことに応じて、写真アプリケーション内にある「ハワイ休暇」と題するイベント504b(例えば図5Dにおいてデバイス100−1のユーザによって選択された写真513a及び513bを含む)が、ユーザインタフェース475に表示される。
図5EEは、デバイス100−2のユーザとは異なるユーザ(例えば、デバイス100−1と関連付けられたジェニー)から共有要求を受信したことに応じて、ユーザインタフェース475上にインストールプロンプトダイアログ580を表示している様子を示す。図5EEにおいて、インストールプロンプトダイアログ580は、デバイス100−2のユーザとは異なるユーザ(例えば、デバイス100−1と関連付けられたジェニーという名前のユーザ)が、デバイス100−2の(例えば、C.チェンという名前の)ユーザとオーディオファイル(例えば、「Essential_Mix.flac」と題するファイル)を共有しようとしていることを示すテキストと、デバイス100−2のユーザに、そのオーディオファイルと互換性のあるアプリケーションをダウンロード又はインストールするよう促すテキストと、を含む。図5EEにおいて、インストールプロンプトダイアログ580は、共有されたオーディオファイルのプレビュー(例えば、アルバムアート又はアルバムカバー)と、共有要求に応答するための複数のオプションと、も含む。図5EEにおいて、共有要求に応答するための複数のオプションは、アクティブ化されるとデバイスに共有要求を拒否させる「拒否」アフォーダンス581aと、アクティブ化されるとデバイスに、そのオーディオファイルと互換性のある複数のアプリケーションを有するアプリケーションマーケットプレイス(又はアプリケーションストア)を表示させる「アプリ取得」アフォーダンス581と、を含む。
図6A〜図6Eは、いくつかの実施形態に係る、対応するアプリケーションからのコンテンツを共有する方法600を示すフロー図である。方法600は、ディスプレイとタッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300又は図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面はディスプレイに存在する。いくつかの実施形態において、ディスプレイはタッチ感知面から分離している。いくつかの実施形態において、方法600は、ジェニーという名前のユーザと関連付けられたポータブル多機能デバイス100−1(本明細書では、「デバイス100−1」と呼ばれることもある)で実行される。方法600における一部の動作は必要に応じて組み合わされ、かつ/又は一部の動作の順序は必要に応じて変更される。
下記のとおり、方法600は、対応するアプリケーションからのコンテンツを共有するための直感的な方法を提供する。この方法により、対応するアプリケーションからのコンテンツを共有する時にユーザの認識的負担が軽減されるため、より効率的なヒューマン−マシンインタフェースが作成される。バッテリ駆動式電子デバイスでは、ユーザが対応するアプリケーションからのコンテンツをより高速かつ効率的に共有できるようにすることによって電力が節約され、バッテリ充電の時間間隔が延びる。
いくつかの実施形態において、デバイスは、第1のコンテンツを共有する要求に対応する第1の入力を検出する前に第1のコンテンツを他のユーザと直接共有することができない(602)。いくつかの実施形態においては、対応するデバイスのBluetooth及びWiFi機能の両方が有効になっていると、対応するデバイスがコンテンツを他のデバイス直接共有することができる。例えば図5Eにおいては、デバイス100−1が現在、1つ以上の他のデバイスとコンテンツを直接共有できない(例えば、デバイス100−1のBluetooth及びWiFi機能が有効化されていない)ため、(例えば図5Fにおける共有インタフェース518の第1の領域519a内に示された)1つ以上のユーザ優先共有オプション524の代わりに、共有有効化アフォーダンス520が共有インタフェース518の第1の領域519a内に表示されている。
いくつかの実施形態において、デバイスは、共有インタフェースにおけるアフォーダンスの選択を検出する前に、そのデバイスが第1のコンテンツを他のユーザと直接共有できるようにするための共有有効化アフォーダンスを表示する(604)。例えば図5Eは、共有インタフェース518の第1の領域519aに表示された共有有効化アフォーダンス520を示している。いくつかの実施形態において、共有有効化アフォーダンス520は、デバイス100−1のBluetooth及びWiFi機能をオンにするように構成されている。
いくつかの実施形態において、このデバイスは、共有有効化アフォーダンスのアクティブ化を検出する(606)。例えば図5Eは、アフォーダンス520に対し、接触515がタッチスクリーン112上で位置515aから位置515aへと移動するスライドジェスチャをデバイス100−1が検出し、デバイス100−1がそのコンテンツを他のユーザと共有できるようになる様子を示す。
いくつかの実施形態において、デバイスは、共有有効化アフォーダンスのアクティブ化を検出したことに応じて、第1のコンテンツを他のユーザと直接共有できるようになり(608)、対応するユーザのための対応するユーザ優先共有オプションを含む複数のユーザ優先共有オプションを表示できるようになる。いくつかの実施形態において、デバイスが第1のコンテンツを他のユーザと直接共有できるようすることは、複数の別個の通信モードを使用して通信できるようにすることを含む(例えば、直接共有アフォーダンスのアクティブ化を検出したことに応じてBluetooth及びWiFiが両方ともオンになり、Bluetooth又はWiFiのどちらかが既にオンになっていれば、共有有効化アフォーダンスのアクティブ化を検出したことに応じて、他方の通信モードがオンになる)。例えば図5Fは、図5Eにおいてスライドジェスチャを検出したことに応じて、デバイス100−1が、1つ以上のユーザ優先共有オプション524を含む共有インタフェース518の第1の領域519aを表示している様子を示す。
ディスプレイに第1のアプリケーションを表示している間に、デバイスは、第1のアプリケーションからの第1のコンテンツ(例えば、ピクチャ、ドキュメント、ユニフォームリソースロケータ(URL)、ビデオ、及び他のコンテンツ)を共有する要求に対応する第1の入力を検出する(610)。例えば図5Cは、デバイス100−1が、写真アプリケーションにおいて描像513a(例えば、写真)を選択する接触511(例えば、タップジェスチャ)と、描像513b(例えば、写真)を選択する接触512(例えば、タップジェスチャ)と、を検出している様子を示す。例えば図5Oは、デバイス100−1が、接触514(例えば、タップジェスチャ)による「共有」アフォーダンス517の選択を検出し、選択された写真513a及び513bを共有している様子を示す。
デバイスは、第1の入力を検出したことに応じて、第1のコンテンツを共有するための複数のオプションを含む共有インタフェースを表示する(612)。この共有インタフェースは、コンテンツを他のユーザと直接共有するための1つ以上のユーザ優先共有オプション(例えば、デバイスが、事前又は事後に選択された通信プロトコルを介して第1のコンテンツを共有する目的で別のユーザを選択するために最初に提供するユーザ中心の共有オプション)を表示するための第1の既定領域と、複数のプロトコルのうち、ユーザが選択したプロトコルを使用してコンテンツを共有するためのプロトコル優先共有オプション(例えば、デバイスが、第1のコンテンツを事前又は事後に選択された1つ以上のユーザと共有するのに使用するプロトコルを選択するために最初に提供するプロトコル中心の共有オプション)を表示するための、第1の既定領域とは別個の第2の既定領域と、を含む。いくつかの実施形態において、ユーザ優先共有オプションは、第1のコンテンツを共有する1人のユーザを選択するためのものでる。そのため、いくつかの実施形態においては、ユーザ優先共有オプションを使用してコンテンツを複数のユーザと共有するのに、複数の共有動作が必要とされる。いくつかの実施形態においては、プロトコル優先共有オプションのうちの1つを使用して第1のコンテンツを共有すると、選択されたプロトコル(例えば、Facebook(登録商標)の状態アップデート又Tweet(登録商標)などのソーシャルネットワーキング投稿)を使用して共有されたコンテンツにアクセスできる1組のユーザと第1のコンテンツが共有されるか、或いは、ユーザ又はユーザの群へのメッセージを生成するための処理が開始され、後に、(例えば、受信者を電子メールに追加することによって)そのメッセージに対してこれらのユーザが指定される。例えば図5Gは、図5Dにおける「共有」アフォーダンス517の選択を検出したことに応じて、デバイス100−1がユーザインタフェース475上に共有インタフェース518を表示している様子を示す。図5Gにおいて、共有インタフェース518は、検出可能(又は利用可能)なユーザに対応する1人以上のユーザ優先共有オプション524を有する第1の領域519と、選択されたコンテンツを共有する目的で使用するアプリケーションに対応する1つ以上のプロトコル優先共有オプション521を有する第2の領域519bと、を含む。
いくつかの実施形態において、ユーザ優先共有オプションは、ユーザ共有設定に基づいて整列される(614)。いくつかの実施形態において、共有設定は明示的な共有設定である(例えば、デバイスのユーザが好適な連絡先又は好適な共有連絡先として列記した個人が先に列記され、他のユーザがその後に列記される)。いくつかの実施形態において、共有設定は暗示的な共有設定である(例えば、デバイスのユーザが通信及び/又は共有する頻度の高い個人が先に列記され、デバイスのユーザが通信及び/又は共有する頻度の低い個人は後に列記される)。例えば図5Fにおいては、ユーザの共有設定に従って第1の領域519a内に1つ以上のユーザ優先共有オプション524が表示されている。例えば図5Fにおいては、デバイス100−1のユーザが、他の連絡先よりもJ.スミスと通信する頻度が高いため、又はデバイス100−1のユーザがJ.スミスを好適な連絡先として指定したため、ユーザ優先共有オプション524aと関連付けられたJ.スミスというユーザが、第1の領域519aにおいて最も左側にあるユーザ優先共有オプションである。
いくつかの実施形態において、第1の既定領域は、コンテンツを直接共有できる異なるユーザを表す第1のアイコン行を含み(616)、第2の既定領域は、そのコンテンツを共有する目的で使用できる異なるプロトコルを表す第2のアイコン行を含む。いくつかの実施形態において、第1のアイコン行は、第1の既定領域に対応するタッチ感知面上の場所においてスクロール入力(例えば、右から左へのスワイプジェスチャ)を検出したことに応じて、そのスクロール入力に従ってスクロールされる(例えば、第1のアイコン行は右から左へとスクロールされる)。例えば図5F〜図5Gは、図5Fにおいて接触516がタッチスクリーン112上で位置516aから位置516aへと移動する右から左へのスワイプジェスチャをデバイス100−1が第1の領域519a内で検出したことに応じて、第1の領域519aにおいてユーザ優先共有オプション524(例えば、名前付けられたユーザに対応するアイコン)をスクロールしている様子を示す。いくつかの実施形態において、第1のアイコン行は、第1の既定領域に対応するタッチ感知面上の場所においてスクロール入力(例えば、下から上へのスワイプジェスチャ)を検出したことに応じて、そのスクロール入力に従ってスクロールされる(例えば、第1のアイコン行は上方へとスクロールされる)。いくつかの実施形態において、第1の領域519a内のユーザ優先共有オプション524は「ユーザアイコン」と呼ばれる。
いくつかの実施形態において、第2のアイコン行は、第2の既定領域に対応するタッチ感知面上の場所においてスクロール入力(例えば、右から左へのスワイプジェスチャ)を検出したことに応じて、そのスクロール入力に従ってスクロールされる(例えば、第2のアイコン行は右から左へとスクロールされる)。例えば図5L〜図5Mは、図5Lにおいてタッチスクリーン112上で接触535が位置535aから位置535aへと移動する右から左へのスワイプジェスチャをデバイス100−1が第2の領域519b内で検出したことに応じて、第2の領域519bにおいてプロトコル優先共有オプション521の行(例えば、アプリケーションに対応するアイコン)をスクロールしている様子を示す。いくつかの実施形態において、第2のアイコン行は、第2の既定領域に対応するタッチ感知面上の場所においてスクロール入力(例えば、下から上へのスワイプジェスチャ)を検出したことに応じて、そのスクロール入力に従ってスクロールされる(例えば、第2のアイコン行は上方へとスクロールされる)。いくつかの実施形態において、第2の領域519b内のプロトコル優先共有オプション521は、「プロトコルアイコン」と呼ばれる。
いくつかの実施形態において、デバイスは、(例えば、ユーザが第1のアイコン行をスクロールして、他のユーザに対応する他のアイコンを表示できることを示すために、)第1の既定領域の縁部にある第1の既定領域内に、対応するユーザを表すアイコンの一部分を、アイコン全体を表示せずに表示する(618)。例えば図5Fは、共有インタフェース518内の第1の領域519aの縁部において、デバイス100−1が、(例えば、T.ヨークという名前のユーザのアイコンに対応する)ユーザ優先共有オプション524eを部分的に表示している様子を示す。同様に、例えば図5Mも、共有インタフェース518内の第1の領域519aの縁部において、デバイス100−1が、(例えば、T.ヨークという名前のユーザのアイコンに対応する)ユーザ優先共有オプション524eを部分的に表示している様子を示す。
いくつかの実施形態において、第1のアイコン行内のアイコンは、第2のアイコン行内のアイコンとは異なる外観を有する(620)。いくつかの実施形態において、第1のアイコン行内のアイコンは、第2のアイコン行内のアイコンの形状(例えば、鋭い角又は丸みを帯びた角を有する四角形)とは異なる形状(例えば、環状又は楕円状)を有する。例えば図5Fは、デバイス100−1が、楕円形のユーザ優先共有オプション524を第1の領域519aに表示し、丸みを帯びた角を有する長方形のプロトコル優先共有オプション521を第2の領域519bに表示している様子を示す。いくつかの実施形態において、共有インタフェースの第3の領域にある第3のアイコン行内のアイコンは、第1のアイコン行内のアイコン及び第2のアイコン行内のアイコンとは異なる外観を有する(例えば、第1及び第2のアイコン行内のアイコンが様々な色を含むのに対し、第3のアイコン行内のアイコンは、白黒又はグレースケールのアイコンであるか、又は黒と白以外の一色のみを含むアイコンである)。例えば図5Fは、デバイス100−1が、第3の領域519cにおいて鋭い角を有する長方形のアプリケーション関連オプション522を表示している様子を示す。
いくつかの実施形態において、第1のアイコン行内のアイコンの第1のサブセットの各アイコンは、第1のアイコンのサブセット内の各アイコンに対応するユーザのピクチャを含み(622)、第1のアイコン行内のアイコンの第2のサブセットの各アイコンは、第2のアイコンのサブセット内の各アイコンに対応するユーザの名前のイニシャルを含む(例えば、プロフィール写真が利用可能でないユーザの場合には、プロフィール写真の代わりに、ユーザの自動生成モノグラムが使用のために生成される)。例えば図5Fは、デバイス100−1が、ユーザの名前のイニシャル(又はモノグラム)を含むユーザ優先共有オプション524a、542c、524dと、ユーザのピクチャ(又は顔写真)を含むユーザ優先共有オプション524b及び524eと、を共有インタフェース518の第1の領域519aに表示している様子を示す。
いくつかの実施形態において、共有インタフェースは、共有インタフェースを開いたアプリケーションにおいて利用可能な非共有動作を実行するためのアプリケーション関連オプション(例えば、印刷、ブックマーク、リーディングリストへの追加、及び連絡先への追加など、非共有動作を実行するためのオプション)を表示するための、第1の既定領域及び第2の既定領域とは別個の第3の既定領域を含む(624)。例えば図5Eは、デバイス100−1がアプリケーション関連オプション522を共有インタフェース518の第3の領域519cに表示している様子を示す。例えば図5Eにおいては、第3の領域519cが、図5Aにおいて選択された写真アプリケーションと関連付けられたアプリケーション関連オプション522を含む。図5Eにおいて、アプリケーション関連オプション522は、「編集」アイコン522aと、「切り抜き」アイコン522bと、「コピー」アイコン522cと、「背景作成」アイコン522dと、を含む。例えば図5Lにおいては、第3の領域519cが、図5Iにおいて選択されたメモアプリケーションと関連付けられたアプリケーション関連オプション522を含む。図5Lにおいて、アプリケーション関連オプション522は、「チェックリストへの追加」アイコン522eと、「印刷」アイコン522fと、「コピー」アイコン522cと、「ホーム画面上でリンクを追加」アイコン522gと、を含む。
いくつかの実施形態において、(第1のアプリケーション以外の)異なるアプリケーション用の共有インタフェースは、第1の既定領域に表示された同じユーザ優先共有オプションと、第2の既定領域に表示された同じプロトコル優先共有オプションと、第3の既定領域に表示された異なるアプリケーション関連オプションと、を含む。例えば、図5E内の写真アプリケーションと関連付けられた共有インタフェース518及び図5L内のメモアプリケーションと関連付けられた共有インタフェース518は、第1の領域519a内の同じユーザ優先共有オプション524と、第2の領域519b内の同じプロトコル優先共有オプション521と、を含む。ただし、例えば図5E及び図5Lにおいては、第3の領域519cに異なるアプリケーション関連オプション522を含む。
いくつかの実施形態において、共有ユーザインタフェースは、複数の異なるアプリケーション(例えば、ドキュメント作成アプリケーション、写真アプリケーション、ビデオアプリケーション、音楽アプリケーション、連絡先アプリケーション)において対応するアプリケーション(例えば、共有動作の開始元アプリケーション)からコンテンツを共有するためのユーザからの要求に応じて、複数の異なるアプリケーションに表示されている共通部分(例えば、第1の既定領域、第2の既定領域、及び/又は第3の既定領域)を含む標準化されたユーザインタフェースである(626)。例えば、図5E内の写真アプリケーションと関連付けられた共有インタフェース518及び図5L内のメモアプリケーションと関連付けられた共有インタフェース518は、第1の領域519a内の同じユーザ優先共有オプション524と、第2の領域519b内の同じプロトコル優先共有オプション521と、を含む。
デバイスは、共有インタフェースを表示している間に、共有インタフェースにおけるアフォーダンスの選択を検出する(628)。例えば図5Gは、タッチスクリーン112上での接触525による共有インタフェース518の第1の領域519aにおけるユーザ優先共有オプション524cの選択をデバイス100−1が検出している様子を示す。例えば図5Mは、タッチスクリーン112上での接触536による共有インタフェース518の第2の領域519bにおけるプロトコル優先共有オプション521bの選択をデバイス100−1が検出している様子を示す。
デバイスは、選択されたアフォーダンスが対応するユーザのための対応するユーザ優先共有オプションであるという判定に従って、第1のコンテンツを対応するユーザと共有するための処理を開始する(630)。例えば図5Hは、図5Oにおけるユーザ優先共有オプション524cの選択を検出したことに応じて、デバイス100−1が、ユーザに共有プロトコルを選択するよう促すことにより、図5Cにおいて選択されたコンテンツを共有するための処理を開始している様子を示す。
いくつかの実施形態において、選択されたアフォーダンスが対応するユーザのためのユーザ優先共有オプションである場合、第1のコンテンツを対応するユーザと共有するための処理は、対応するユーザが受信者として選択された後に、第1のコンテンツを対応するユーザと共有するのに使用する1つ以上のプロトコルの1組を選択するためのオプションを提供する(例えば、電子メール、直接転送、及び/又はクラウド記憶装置などを介して第1のコンテンツを共有するかどうかを選択するためのオプションをユーザに提供する)(634)ことと、第1のコンテンツを共有するのに使用するその1つ以上のプロトコルの1組の選択を受け取った後に、その1つ以上のプロトコルの1組を使用して第1のコンテンツを対応するユーザと共有する(636)ことと、を含む(632)。いくつかの実施形態において、デバイスは、対応するユーザが第1のコンテンツの受信者として選択を検出したことに応じて、第1のコンテンツを対応するユーザと共有するのに使用する1つ以上のプロトコルの1組を選択するためのオプションを提供する。いくつかの実施形態において、デバイスは、第1のコンテンツを共有するのに使用するその1つ以上のプロトコルの1組の選択を受け取ったことに応じて、その1つ以上のプロトコルの1組を使用して第1のコンテンツを対応するユーザと共有する。例えば図5Hは、(図5Cにおいて共有されるコンテンツとして選択された)写真513a及び513bを(図50において受信者として選択された)C.チェンと共有するための1つ以上のプロトコル527を含むプロトコル選択インタフェース526をデバイス100−1が表示している様子を示す。例えば図5Iは、図5Hにおける「電子メール」アフォーダンス527aの選択に応じて、写真513a及び513bがC.チェンに電子メール送信されていることを示す共有確認ダイアログ529をデバイス100−1が表示している様子を示す。
いくつかの実施形態において、選択されたアフォーダンスが対応するユーザのためのユーザ優先共有オプションである場合、第1のコンテンツを対応するユーザと共有するための処理は、アフォーダンスの選択を検出したことに応じて、既定のプロトコル(例えば、直接ファイル共有プロトコル)を使用して第1のコンテンツを対応するユーザと共有し始める(638)ことを含む。例えば、図5Oにおけるユーザ優先共有オプション524cの選択に応じて、デバイス100−1は、(図5Cにおいて共有されるコンテンツとして選択された)写真513a及び513bを(図5Oにおいて受信者として選択された)C.チェンと共有することを開始する。
デバイスは、選択されたアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、対応するプロトコルを使用して第1のコンテンツを共有するための処理を開始する(640)。例えば図5Nは、図5Mにおけるプロトコル優先共有オプション521bの選択を検出したことに応じて、ユーザに1つ以上の受信者を選択するよう促すことにより、デバイス100−1が、図5Kにおいて共有目的で選択されたコンテンツを共有するための処理を開始している様子を示す。代替として、デバイスは、選択されたアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、ユーザが対応するアプリケーションにおいてアドレスを選択した後に、対応するアプリケーションを開いて、対応するアプリケーションを介してそのコンテンツを(例えば、電子メールへの添付ファイルとして)共有できるようにする。
いくつかの実施形態において、選択されたアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションである場合、対応するプロトコルを使用して第1のコンテンツを共有するための処理は、対応するプロトコルが選択された後に、対応するプロトコルを使用して第1のコンテンツを共有するのに使用する1人以上の1組のユーザを選択するためのオプションを提供する(例えば、アドレス帳から電子メールの受信者を選択するため、又はソーシャルネットワーク投稿へのアクセスを所定の友人の群に制限するためのオプションをユーザに提供する)(644)ことと、第1のコンテンツを共有するのに使用するその1人以上の1組のユーザの選択を受け取った後に、対応するプロトコルを使用して第1のコンテンツを1組のユーザと共有する(646)ことと、を含む(642)。
例えば図5Nは、(図5Mにおいて共有プロトコルとして選択された)電子メールを介して(図5Kにおいて共有されるコンテンツとして選択された)「用件」メモを共有できる1人以上の近隣ユーザ(又は受信者)を含む受信者選択インタフェース537をデバイス100−1が表示している様子を示す。例えば図5Pは、図5OにおけるC.チェンというユーザの選択に応じて、「用件」メモがC.チェンに電子メール送信されていることを示す共有確認ダイアログ542をデバイス100−1が表示している様子を示す。
いくつかの実施形態において、デバイスは、対応するユーザのためのユーザ優先共有オプションが選択された時に、第1のコンテンツをデバイス間WiFiネットワーク経由で対応するユーザに直接転送し始め(648)、第1のコンテンツを対応するユーザに転送している間に、デバイスは、(例えば、ユーザが遠くに離れ過ぎている、かつ/又はデバイスのうちの1つで電源がオフにされた、或いは他の方法でデバイス間WiFiネットワークとの接続が解除されたという理由で)デバイス間WiFiネットワークの終了を検出し、デバイスは、第1のコンテンツの転送を後で再開することを可能にする対応する情報を記憶し、デバイスは、その対応する情報を使用して、異なるネットワーク(例えば、インターネットなどの長距離ネットワーク)経由で第1のコンテンツを対応するユーザに転送することを再開する。いくつかの実施形態において、異なるネットワーク経由での第1のコンテンツの転送を再開することは、異なるネットワーク経由で第1のコンテンツの全てを再送することを含む。いくつかの実施形態において、異なるネットワーク経由での第1のコンテンツの転送を再開することは、デバイス間WiFiネットワーク経由で正常に受信されなかった第1のコンテンツの1つ以上の部分であって、デバイス間WiFiネットワーク経由で正常に受信された第1のコンテンツの1つ以上の部分と結合可能である、正常に受信されなかった第1のコンテンツの部分を受信して、第1のコンテンツを再構成することを含む(例えば、第1のコンテンツの転送を再開することは、デバイス間WiFiネットワーク経由で第1のコンテンツを転送している間に到達したダウンロードのある時点で異なるネットワーク経由での転送を開始することを含む)。
いくつかの実施形態において、デバイスは、共有インタフェースにおいて選択されたアフォーダンスに従って、第1のアプリケーションからの対応するコンテンツを共有する(650)。例えば図5Iは、デバイス100−1が、電子メール(例えば、図5Hにおけるデバイス100−1のユーザによって選択された共有プロトコル)を介してコンテンツ(例えば、図5Cにおけるデバイス100−1のユーザによって選択された写真513a及び513b)を受信者(例えば、図5Gにおけるデバイス100−1のユーザによって選択されたC.チェンと関連付けられたユーザ優先共有オプション524c)と共有している様子を示す。いくつかの実施形態においては、第1の通信モードが、コンテンツを直接共有できるユーザ(例えば、第1の既定領域においてユーザ優先共有オプションとして列記されたユーザ)を特定する目的で使用され、第1の通信モードとは別個の第2の通信モードが、選択された受信者に第1のコンテンツを転送する目的で使用される。いくつかの実施形態においては、第1の通信モードを介して交換される通信が、第2の通信モードを使用して通信をセットアップする目的で使用される(例えば、Bluetooth接続が確立され、WiFi構成パラメータがBluetooth接続を介して交換されて、共有コンテンツの送信者及び受信者がデバイス間WiFiネットワークを確立し、デバイス間WiFiネットワーク経由で共有コンテンツを転送できるようにする)。
いくつかの実施形態において、デバイスは、第1のアプリケーションからの対応するコンテンツを共有した後、第1のアプリケーションとは異なる第2のアプリケーションを開く(652)。例えば図5Kは、デバイス100−1が、図5Iにおいて選択されたコンテンツの共有を開始したのに続き、図5Iにおける接触531に応じてメモアプリケーションを表示している様子を示す。
いくつかの実施形態において、デバイスは、ディスプレイで第2のアプリケーションのユーザインタフェースを表示している間に、第2のアプリケーションからの第2のコンテンツ(例えば、ピクチャ、ドキュメント、ユニフォームリソースロケータ(URL)、ビデオ又は他のコンテンツ)を共有する要求に対応する第2の入力を検出する(654)。図5Kは、ユーザインタフェース400に現在表示されているメモを共有するための「共有」アフォーダンス533の選択をデバイス100−1が検出している様子を示す。
いくつかの実施形態において、デバイスは、入力を検出したことに応じて、第2のコンテンツを共有するための複数の共有オプションを含む共有インタフェースを表示する(656)。この共有インタフェースは、他のユーザと直接共有するコンテンツを共有するための1つ以上のユーザ優先共有オプションを表示するための第1の既定領域と、複数のプロトコルのうちユーザが選択したプロトコルを使用してコンテンツを共有するためのプロトコル優先共有オプションを表示するための、第1の既定領域とは別個の第2の既定領域と、を含む。いくつかの実施形態において、共有インタフェースは、その共有インタフェースを開いたアプリケーションで利用可能な非共有動作を実行するためのアプリケーション関連オプションを表示するための、第1の既定領域及び第2の既定領域とは別個の第3の既定領域も含む。例えば図5Lは、図5Kにおける「共有」アフォーダンス533の選択を検出したことに応じて、デバイス100−1が共有インタフェース518を表示している様子を示す。図5Lにおいて、共有インタフェース518は、検出可能(又は利用可能)なユーザに対応する1人以上のユーザ優先共有オプション524を有する第1の領域519aと、選択されたコンテンツを共有する目的で使用するアプリケーションに対応する1つ以上のプロトコル優先共有オプション521を有する第2の領域519bと、図5Jにおいて選択されたメモアプリケーションと関連付けられた1つ以上のアプリケーション関連オプション522を有する第3の領域519cと、を含む。
いくつかの実施形態において、デバイスは、共有インタフェースを表示している間に、その共有インタフェースにおけるアフォーダンスの選択を検出する(658)。例えば図5Gは、タッチスクリーン112上での接触525による、写真アプリケーションと関連付けられた共有インタフェース518の第1の領域519a内でユーザ優先共有オプション524cの選択をデバイス100−1が検出している様子を示す。例えば図5Mは、タッチスクリーン112上での接触536による、メモアプリケーションと関連付けられた共有インタフェース518の第2の領域519b内でプロトコル優先共有オプション521bの選択をデバイス100−1が検出している様子を示す。
いくつかの実施形態において、デバイスは、アフォーダンスが対応するユーザのためのユーザ優先共有オプションであるという判定に従って、第2のコンテンツを対応するユーザと共有するための処理を開始する(660)。例えば図5Hは、図5Oにおけるユーザ優先共有オプション524cの選択を検出したことに応じて、デバイス100−1が、ユーザに共有プロトコルを選択するよう促すことにより、図5Cにおいて選択されたコンテンツを共有するための処理を開始している様子を示す。
いくつかの実施形態において、デバイスは、アフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、対応するプロトコルを使用して第2のコンテンツを共有するための処理を開始する(662)。そのため、いくつかの実施形態においては、複数の異なるアプリケーション(例えば、第1のアプリケーション及び第2のアプリケーション)において同じ共有ユーザインタフェースが表示される。
図6Aから図6Eにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者には、本明細書に記載の動作を再順序付けするための様々な方法が認識されるであろう。加えて、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、方法700)は、図6A〜図6Eに関連して上述した方法600と類似の様式で適用可能であることに留意されたい。例えば、方法600に関連して上述した接触、ジェスチャ、ユーザインタフェースオブジェクトは、他の方法(例えば、方法700)に関連して本明細書に記載の接触、ジェスチャ、ユーザインタフェースオブジェクトの特性のうちの1つ以上を必要に応じて有する。簡潔性のために、これらの詳細は、ここでは繰り返されない。
図7A〜図7Cは、いくつかの実施形態に係る、対応するアプリケーションからの共有コンテンツを受信する方法700を示すフロー図である。方法700は、ディスプレイとタッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300又は図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面はディスプレイに存在する。いくつかの実施形態において、ディスプレイはタッチ感知面から分離している。いくつかの実施形態において、方法700は、C.チェンという名前のユーザと関連付けられたポータブル多機能デバイス100−2(本明細書では「デバイス100−2」と呼ばれることもある)で実行される。方法700における一部の動作は必要に応じて組み合わされ、かつ/又は一部の動作の順序は必要に応じて変更される。
下記のとおり、方法700は、対応するアプリケーションからの共有コンテンツを受信するための直感的な方法を提供する。この方法により、対応するアプリケーションからの共有コンテンツを受信する時にユーザの認識的負担が軽減されるため、より効率的なヒューマン−マシンインタフェースが作成される。バッテリ駆動式電子デバイスでは、ユーザが対応するアプリケーションからの共有コンテンツをより高速かつ効率的に受信できるようにすることによって電力が節約され、バッテリ充電の時間間隔が延びる。
いくつかの実施形態において、デバイスは、共有要求を受信する前に、そのデバイスが近隣デバイスから共有要求を受信できる状態にあることを広告する(702)。いくつかの実施形態においては、近隣デバイスが、デバイス100−2のBluetooth通信範囲内にある他のデバイスであり、かつ/又はデバイス100−2と同じローカルエリアネットワークに接続されているか、或いは同じネットワークアクセスポイント(例えば、同じ無線ルータ又は無線アクセスポイント)と通信している他のデバイスである。いくつかの実施形態においては、デバイス100−2が共有要求を受信できる状態にあることが、限られた組のデバイス(例えば、ユーザが明示的に共有権限を付与したデバイス、又はそのユーザの連絡先として列記されているユーザと関連付けられているデバイス)に広告される。
例えば図5Sは、図5Qにおいて上向きのスワイプジェスチャを検出したことに応じて、共有状態インジケータ550を含むユーザインタフェース475上にデバイス100−2が設定インタフェースを表示している様子を示す。例えば図5Sにおいて、共有状態インジケータ550は、共有機能が現在「連絡先のみ」共有モードになっていることを示している。例えば図5Uは、図5Tにおける「全員」アフォーダンス554cの選択を検出したことに応じて、共有機能が現在「全員」共有モードであることを示す共有状態インジケータ550を含む設定インタフェースをデバイス100−2がユーザインタフェース475上に表示している様子を示す。
デバイスは、第1のアプリケーションのユーザインタフェースをデバイスのディスプレイに表示している間に、第1のアプリケーションと互換性のない対応するコンテンツを、別のデバイスによって開始された、電子デバイスと共有するための共有要求を受信する(704)。例えば図5Vは、デバイス100−2が共有要求を受信したことに応じて、デバイス100−2が、ユーザインタフェース475上でホーム画面500の上に共有確認ダイアログ557を表示している様子を示す。例えば図5Vにおいて、この共有要求は、ジェニー(例えば、デバイス100−1のユーザ)から受信され、共有コンテンツは、2枚の写真に関する(例えば図5Iにおいて、共有要求はジェニーによって開始された)。
共有要求を受信したことに応じて、デバイスは、その共有要求に応答するための複数のオプションを含む共有確認ダイアログを表示する(706)。いくつかの実施形態において、この共有確認ダイアログは、第1のアプリケーションのユーザインタフェースを少なくとも部分的に不明瞭にする。いくつかの実施形態においては、共有確認ダイアログが表示されている間、第1のアプリケーションのユーザインタフェースが一時的に停止され、共有確認ダイアログが閉じられるまでユーザ入力に反応しない。例えば図5Vは、デバイス100−2がホーム画面500の上に共有確認ダイアログ557を表示している様子を示す。いくつかの実施形態において、ホーム画面500は、アプリケーション又はオペレーティングシステムのユーザインタフェースに対応する。例えば図5Vにおいて、共有確認ダイアログ557は、アクティブ化されるとデバイスに共有要求を拒否させる「拒否」アフォーダンス558aと、アクティブ化されるとデバイスに共有要求を承諾させる「承諾」アフォーダンス558bと、を含む、共有要求に応答するための複数のオプションを含む。いくつかの実施形態においては、共有確認ダイアロ557が表示された時に視認できるホーム画面500の諸部分が、ぼやけるか、網掛けになるか、又は他の方法で視覚的に不明瞭になる。
いくつかの実施形態において、デバイスは、共有要求に応答するための対応するオプションのアクティブ化を検出する前に、対応するコンテンツの少なくとも第1の部分を受信(例えば、ダウンロード)する(708)。例えば、デバイス100−2は、権限を受け取る前に共有要求に対応するコンテンツのダウンロードを開始してユーザからの共有要求を進め、ユーザが応答した時に、そのコンテンツが、対応するコンテンツを受信する電子デバイスにおいて使用可能になるまでの遅延が少なくなるようにする。
いくつかの実施形態において、デバイスは、対応するオプションのアクティブ化を検出した(710)ことに応じて、かつ、対応するオプションが共有要求を承諾するためのオプションであるという判定に従って、既に受信された(例えば、ダウンロードされた)対応するコンテンツの第1の部分を考慮した、対応するコンテンツの受信完了までの進度を示す進度インジケータを表示する(712)。例えば図5Wは、図5Vにおける「承諾」アフォーダンス558bの選択を検出したことに応じて、デバイス100−2がユーザインタフェース475上にダウンロード進度ダイアログ560を表示している様子を示す。例えば図5Wにおいて、ダウンロード進度ダイアログ560は、共有コンテンツのダウンロード進度(例えば、パーセンテージ)を示す進度インジケータ582(例えば、円)を含む。
いくつかの実施形態において、デバイスは、対応するオプションのアクティブ化を検出した(710)ことに応じて、かつ、対応するオプションが、共有要求を拒絶するためのオプションであるという判定に従って、対応するコンテンツの第1の部分を削除する(714)。例えば、図5Vにおける「拒否」アフォーダンス558aの選択を検出したことに応じて、デバイス100−2は、共有コンテンツの一切のダウンロード済み部分を削除し、共有要求をキャンセルする。
デバイスは、共有要求に応答するための複数のオプションのうちの対応するオプションのアクティブ化を検出する(716)。例えば図5Vは、確認ダイアログ557に含まれる「承諾」アフォーダンス558bの選択をデバイス100−2が検出している様子を示す。対応するオプションが共有要求を承諾するためのオプションであるという判定に従って、デバイスは、対応するコンテンツと互換性のある1つ以上のアプリケーションを特定し(718)、対応するコンテンツと互換性のあるアプリケーションを使用して対応するコンテンツをディスプレイに表示する準備をする準備動作を行う。例えば、デバイス100−2は、図5Vにおける「承諾」アフォーダンス558bの選択を検出したことに応じて、その共有コンテンツと互換性のある1つ以上のアプリケーション(例えば、ジェニーによって共有された写真513a及び513bを提示できる写真アプリケーション)を特定し、対応するコンテンツと互換性のあるアプリケーションを使用して対応するコンテンツをディスプレイに表示する準備をする準備動作を行う(例えば、写真アプリケーション内に提示するための写真513a及び513bを受信(又はダウンロード)する)。
いくつかの実施形態において、準備動作は、対応するコンテンツと互換性のあるアプリケーションをデバイスが有しないという判定に従って、対応するコンテンツと互換性のあるアプリケーション(例えば、対応するコンテンツを表示、記憶、及び/又は編集できるアプリケーション)をユーザがダウンロード又はインストールするよう求めるプロンプトを表示することを含む(720)。いくつかの実施形態において、対応するコンテンツは、ユーザが対応するコンテンツと互換性のあるアプリケーションをダウンロードするまで、記憶用にデバイス100−2上の一時記憶場所にダウンロードされ、記憶される。いくつかの実施形態において、デバイス100−2は共有要求を拒否し、対応するコンテンツと互換性のあるアプリケーションをユーザがインストールすると、共有要求が繰り返される。
例えば図5EEは、共有要求を受信したことに応じて、デバイス100−2がユーザインタフェース475上にインストールプロンプトダイアログ580を表示している様子を示す。例えば図5EEにおいて、インストールプロンプトダイアログ580は、デバイス100−2のユーザとは異なるユーザ(例えば、デバイス100−1と関連付けられたジェニーという名前のユーザ)が、オーディオファイル(例えば、「Essential_Mix.flac」と題するファイル)をデバイス100−2のユーザと共有しようとしていることを示すテキストを含む。例えば図5EEにおいて、インストールプロンプトダイアログ580は、そのオーディオファイルと互換性のあるアプリケーションをダウンロード又はインストールするようデバイス100−2のユーザに促すテキストも含む。例えば図5EEにおいて、インストールプロンプトダイアログ580は、アクティブ化されるとデバイスに共有要求を拒否させる「拒否」アフォーダンス581aと、アクティブ化されるとデバイスに、そのオーディオファイルと互換性のある複数のアプリケーションを有するアプリケーションマーケットプレイス(又はアプリケーションストア)を表示させる「アプリ取得」アフォーダンス581と、を含む、共有要求に応答するための複数のオプションを更に含む。
いくつかの実施形態において、準備動作は、(例えば、対応するコンテンツのダウンロードを開始するための権限がユーザから付与されたことに応じて)、送信者から対応するコンテンツを受信すること(例えば、ダウンロードすること)を含む(722)。例えば図5Vは、共有要求を受信したことに応じて、デバイス100−2がユーザインタフェース475上に共有確認ダイアログ557を表示している様子を示す。例えば図5Wは、図5Vにおける「承諾」アフォーダンス558bの選択に応じて、デバイス100−2が共有コンテンツのダウンロードを開始し、共有コンテンツのダウンロード進度(例えば、パーセンテージ)を示すダウンロード進度ダイアログ560をユーザインタフェース475上に表示している様子を示す。
いくつかの実施形態において、デバイスは、対応するオプションのアクティブ化を検出する前に対応するコンテンツの受信(例えば、ダウンロード)を開始したという判定に従って、準備動作が、対応するコンテンツを引き続き受信(例えば、ダウンロード)することと、対応するコンテンツが完全に受信された時(例えば、対応するコンテンツのダウンロードが完了した時)にアプリケーションを起動するようにトリガを設定することと、を含む(724)。例えば図5Vは、共有要求を受信したことに応じて、デバイス100−2がユーザインタフェース475上に共有確認ダイアログ557を表示している様子を示す。例えば図5Wは、デバイス100−2が、図5Vにおける「承諾」アフォーダンス558bの選択に応じて、共有コンテンツを引き続きダウンロードし、共有コンテンツのダウンロード進度(例えば、パーセンテージ)を示すダウンロード進度ダイアログ560をユーザインタフェース475上に表示している様子を示す。例えば、デバイス100−2は、共有コンテンツのダウンロード完了に応じて、互換アプリケーション(例えば、図5Zに示す写真アプリケーション)内に共有コンテンツを提示するようにもトリガを設定する。
対応するオプションがその共有要求を拒絶するためのオプションであるという判定に従って、デバイスは対応するコンテンツをその電子デバイスと共有するのをキャンセルし(726)、デバイスは第1のアプリケーションのユーザインタフェースに戻る。例えば、図5Vにおける「拒否」アフォーダンス558aの選択を検出したことに応じて、デバイス100−2はその共有要求をキャンセルし、ユーザインタフェース475上にホーム画面500を表示する。
いくつかの実施形態において、デバイスは、準備動作を実行した後、対応するコンテンツを受信し(例えば、対応するコンテンツのダウンロードを完了し)、対応するコンテンツを受信したことに応じて、デバイスは、対応するコンテンツと互換性のある対応するアプリケーションを開いて、対応するアプリケーション内に対応するコンテンツを提示する(例えば、ユーザが、対応するコンテンツの受信完了までの進度を示すダウンロード状態通知を閉じていない場合には、対応するコンテンツのダウンロード完了時に、写真を表示するか、ユニフォームリソースロケータに対応するウェブページ、又は音声又はビデオファイルを再生する)(730)。例えば図5Zは、共有コンテンツのダウンロード完了(例えば図5Xにおいて、ダウンロード進度ダイアログ560内に表示された進度インジケータ582は、共有コンテンツのダウンロードが完了したことを示す)に応じて、デバイス100−2が写真アプリケーションに共有コンテンツ(例えば、写真513a及び513b)を表示している様子を示す。
いくつかの実施形態において、デバイスは、準備動作を実行した後、対応するコンテンツを受信し(例えば、対応するコンテンツのダウンロードを完了し)、対応するコンテンツを受信したことに応じて、デバイスは、対応するコンテンツと互換性のある対応するアプリケーションがアクティブ化されていれば、そのアプリケーションを開く通知を表示し、その通知のアクティブ化を検出し(例えば、通知上でのタップジェスチャを検出し)、デバイスは、通知のアクティブ化を検出したことに応じて、対応するアプリケーションに対応するコンテンツを提示する(732)。いくつかの実施形態において、対応するコンテンツの共有が開始されたことを示し、かつ対応するコンテンツの受信完了までの進度を示すダウンロード状態通知をユーザが閉じると、デバイス100−2は、対応するコンテンツのダウンロードが完了した時にダウンロード完了通知を表示し、ユーザが(例えば、ダウンロード完了通知をタップすることによって)ダウンロード完了通知をアクティブ化すると、デバイスは、対応するアプリケーションを開き、対応するコンテンツを対応するアプリケーションに提示する。いくつかの実施形態において、ユーザがダウンロード状態を閉じると、ユーザは、マルチタスク又は通知インタフェースに入り、そのマルチタスク又は通知インタフェースの「私と共有されたコンテンツ」セクションへとナビゲートすることにより、対応するコンテンツをダウンロードしている状態を示すダウンロード状態ユーザインタフェースにアクセスすることができる。例えば図5DDは、共有コンテンツのダウンロードの完了に応じて、デバイス100−2がユーザインタフェース475上に通知インタフェース576を表示している様子を示す。例えば図5DDにおいて、通知インタフェース576は、アクティブ化されるとデバイスに通知インタフェース576を閉じさせる「キャンセル」アフォーダンス578aと、アクティブ化されるとデバイスに、互換アプリケーションに共有コンテンツを提示(又は開示)させる「ok」アフォーダンス578bと、を含む。例えば図5Zは、図5DDにおける「ok」アフォーダンス578bの選択を検出したことに応じて、デバイス100−2が写真アプリケーションに共有コンテンツ(例えば、写真513a及び513b)を表示している様子を示す。
いくつかの実施形態において、デバイスは、対応するコンテンツと互換性のある複数のアプリケーションを含み、準備動作を実行した後、デバイスは、対応するコンテンツを受信し(例えば、対応するコンテンツのダウンロードを完了し)、対応するコンテンツと互換性のある複数のアプリケーション間で選択するためのアフォーダンスを含むアプリケーション選択ユーザインタフェースを表示し、それら複数のアプリケーションのうちの対応するアプリケーション用の対応するアフォーダンスの選択を検出し、対応するアフォーダンスの選択を検出したことに応じて、対応するコンテンツを対応するアプリケーションに提示する(例えば、対応するアプリケーションを使用して、対応するコンテンツをディスプレイに表示する)(734)。例えば図5Yは、共有コンテンツのダウンロード完了に応じて、デバイス100−2がユーザインタフェース475上にアプリケーション選択インタフェース562を表示している様子を示す。例えば図5Yにおいて、アプリケーション選択インタフェース562は、共有コンテンツと互換性のある複数のアプリケーションからのその共有コンテンツを提示(又は開始)するための対応するアプリケーションを選択するためのアフォーダンス563を含む。例えば図5Zは、図5Yにおける「写真」アフォーダンス563aの選択を検出したことに応じて、デバイス100−2が写真アプリケーションに共有コンテンツ(例えば、写真513a及び513b)を表示している様子を示す。
図7A〜図7Cにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行できる唯一の順序であることを示すことを意図するものでないということを理解されたい。当業者には、本明細書に記載の動作を再順序付けするための様々な方法が認識されるであろう。加えて、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、方法600)は図7A〜図7Cに関連して上述した方法700と類似の様式で適用可能であることに留意されたい。例えば、方法700に関連して上述した接触、ジェスチャ、ユーザインタフェースオブジェクトは、他の方法(例えば、方法600)に関連して本明細書に記載の接触、ジェスチャ、ユーザインタフェースオブジェクト、触覚出力、強度閾値、フォーカスセレクタ、アニメーションの特性のうちの1つ以上を必要に応じて有する。簡潔性のために、ここではこれらの詳細を繰り返されない。
いくつかの実施形態によれば、図8は、様々な記載の実施形態の原理に従って構成された電子デバイス800の機能ブロック図を示す。このデバイスの機能ブロックは、記載の様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、必要に応じて実装される。図8で説明される機能ブロックが、記載の様々な実施形態の原理を実施するように、必要に応じて、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書の記載内容は、本明細書に記載されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を必要に応じて支持する。
図8に示すとおり、電子デバイス800は、アクティブ化されるとデバイスに第1のアプリケーションのユーザインタフェースを表示させるディスプレイユニット802を備える。いくつかの実施形態において、電子デバイス800は、電子デバイス800とは異なる1つ以上の他の電子デバイスと通信するように構成された通信インタフェースユニット804と、1つ以上のタッチ入力を受け取るように構成されたタッチ感知面ユニット806と、を必要に応じて備える。電子デバイス800は、ディスプレイユニット802に結合された(かつ、必要に応じて、通信インタフェースユニット804及びタッチ感知面ユニット806に結合された)処理ユニット808も備える。いくつかの実施形態において、処理ユニット808は、検出ユニット810と、表示有効化ユニット812と、開始ユニット814と、有効化ユニット816と、共有ユニット820と、開示ユニット822と、転送ユニット824と、提供ユニット826と、を含む。
処理ユニット808は、ディスプレイユニット802上に第1のアプリケーションを表示している間に、第1のアプリケーションからの第1のコンテンツを共有する要求に対応する第1の入力を(例えば、検出ユニット810を用いて)検出するように構成されている。第1の入力を検出したことに応じて、処理ユニット808は、第1のコンテンツを共有するための複数のオプションを含む共有インタフェースの表示を(例えば、表示有効化ユニット812を用いて)有効化するように構成されており、この共有インタフェースは、コンテンツを他のユーザと直接共有するための1つ以上のユーザ優先共有オプションを表示するための第1の既定領域と、複数のプロトコルのうちユーザが選択したプロトコルを使用して、コンテンツを共有するためのプロトコル優先共有オプションを表示するための、第1の既定領域とは別個の第2の既定領域と、を含む。処理ユニット808は、共有インタフェースを表示している間に、共有インタフェースにおけるアフォーダンスの選択を(例えば、検出ユニット810を用いて)検出するように構成されている。処理ユニット808は、このアフォーダンスが対応するユーザのための対応するユーザ優先共有オプションであるという判定に従って、第1のコンテンツを対応するユーザと共有するための処理を(例えば、開始ユニット814を用いて)開始するように構成されている。処理ユニット808は、このアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、対応するプロトコルを使用して第1のコンテンツを共有するための処理を(例えば、開始ユニット814を用いて)開始するように構成されている。
いくつかの実施形態においては、電子デバイス800が、第1のコンテンツを共有する要求に対応する第1の入力を検出する前に第1のコンテンツを他のユーザと直接共有することができない。処理ユニット808は、共有インタフェースにおけるアフォーダンスの選択を検出する前に、電子デバイス800が第1のコンテンツを他のユーザと直接共有できるようにするための共有有効化アフォーダンスの表示を(例えば、表示有効化ユニット812を用いて)有効化するように構成されている。処理ユニット808は、共有有効化アフォーダンスのアクティブ化を(例えば、検出ユニット810を用いて)検出し、共有有効化アフォーダンスのアクティブ化を検出したことに応じて、電子デバイス800が(例えば、有効化ユニット816を用いて)第1のコンテンツを他のユーザと直接共有できるようにし、対応するユーザのための対応するユーザ優先共有オプションを含む複数のユーザ優先共有オプションの表示を(例えば、表示有効化ユニット812を用いて)有効化するようにも構成されている。
いくつかの実施形態において、共有インタフェースは、その共有インタフェースを開いたアプリケーションで利用可能な非共有動作を実行するためのアプリケーション関連オプションを表示するための、第1の既定領域及び第2の既定領域とは別個の第3の既定領域を含む。
いくつかの実施形態において、処理ユニット808は、共有インタフェースにおいて選択されたアフォーダンスに従って第1のアプリケーションからの対応するコンテンツを(例えば、共有ユニット820を用いて)共有し、第1のアプリケーションからの対応するコンテンツを共有した後、第1のアプリケーションとは異なる第2のアプリケーションを(例えば、開示ユニット822を用いて)開くように構成されている。処理ユニット808は、ディスプレイユニット上に第2のアプリケーションのユーザインタフェースを表示している間に、第2のアプリケーションからの第2のコンテンツを共有する要求に対応する第2の入力を(例えば、検出ユニット810を用いて)検出するように構成されている。処理ユニット808は、入力を検出したことに応じて、第2のコンテンツを共有するための複数の共有オプションを含む共有インタフェースの表示を(例えば、表示有効化ユニット812を用いて)有効化するように構成されており、この共有インタフェースは、コンテンツを他のユーザと直接共有するための1つ以上のユーザ優先共有オプションを表示するための第1の既定領域と、複数のプロトコルのうちユーザが選択したプロトコルを使用してコンテンツを共有するためのプロトコル優先共有オプションを表示するための、第1の既定領域とは別個の第2の既定領域と、を含む。処理ユニット808は、共有インタフェースを表示している間に、共有インタフェースにおけるアフォーダンスの選択を(例えば、検出ユニット810を用いて)検出するように構成されている。処理ユニット808は、このアフォーダンスが対応するユーザのためのユーザ優先共有オプションであるという判定に従って、第2のコンテンツを対応するユーザと共有するための処理を(例えば、開始ユニット814を用いて)開始するように構成されている。処理ユニット808は、このアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションであるという判定に従って、対応するプロトコルを使用して第2のコンテンツを共有するための処理を(例えば、開始ユニット814を用いて)開始するように構成されている。
いくつかの実施形態において、共有ユーザインタフェースは、複数の異なるアプリケーションのうちの対応するアプリケーションからのコンテンツを共有するためのユーザからの要求に応じて複数の異なるアプリケーションに表示される共通部分を含む標準化されたユーザインタフェースである。
いくつかの実施形態において、第1の既定領域は、コンテンツを直接共有できる異なるユーザを表す第1のアイコン行を含み、第2の既定領域は、そのコンテンツ目的で使用できる異なるプロトコルを表す第2のアイコン行を含む。
いくつかの実施形態において、処理ユニット808は、第1の既定領域の縁部にある第1の既定領域内に、対応するユーザを表すアイコンの一部分の表示を、アイコン全体を表示せずに(例えば、表示有効化ユニット812を用いて)有効化するように構成されている。
いくつかの実施形態において、第1のアイコン行内のアイコンは、第2のアイコン行内のアイコンとは異なる外観を有する。
いくつかの実施形態においては、第1のアイコン行内のアイコンの第1のサブセットの各アイコンが、第1のアイコンのサブセット内の各アイコンに対応するユーザのピクチャを含み、第1のアイコン行内のアイコンの第2のサブセットの各アイコンが、第2のアイコンのサブセット内の各アイコンに対応するユーザの名前のイニシャルを含む。
いくつかの実施形態において、ユーザ優先共有オプションは、ユーザ共有設定に基づいて整列される。
いくつかの実施形態においては、第1の通信モードが、コンテンツを直接共有できるユーザを特定する目的で使用され、第1の通信モードとは別の第2の通信モードが、第1のコンテンツを、選択された受信者に転送する目的で使用される。
いくつかの実施形態において、処理ユニット808は、対応するユーザのための第1のユーザ優先共有オプションが選択された時に、第1のコンテンツをデバイス間WiFiネットワーク経由で対応するユーザに(例えば、転送ユニット824を用いて)直接転送し始め、第1のコンテンツを対応するユーザに転送している間に、デバイス間WiFiネットワークの終了を(例えば、転送ユニット824を用いて)検出し、第1のコンテンツの転送を後で再開することを可能にする対応する情報を記憶し、対応する情報を使用して異なるネットワーク経由で対応するユーザに第1のコンテンツを転送することを(例えば、転送ユニット824を用いて)再開するように構成されている。
いくつかの実施形態において、選択されたアフォーダンスが対応するプロトコルのためのプロトコル優先共有オプションである場合、対応するプロトコルを使用して第1のコンテンツを共有するための処理は、対応するプロトコルが選択された後に、対応するプロトコルを使用して第1のコンテンツを共有する1人以上の1組のユーザを選択するためのオプションを(例えば、提供ユニット826を用いて)提供することと、第1のコンテンツを共有する1人以上の1組のユーザの選択を受け取った後、対応するプロトコルを使用して第1のコンテンツを1組のユーザと(例えば、共有ユニット820を用いて)共有することと、を含む。
いくつかの実施形態において、選択されたアフォーダンスが対応するユーザのためのユーザ優先共有オプションである場合、第1のコンテンツを対応するユーザと共有するための処理は、対応するユーザが受信者として選択された後に、第1のコンテンツを対応するユーザと共有するのに使用する1つ以上のプロトコルの1組を選択するためのオプションを(例えば、提供ユニット826を用いて)提供することと、第1のコンテンツを共有するのに使用する1つ以上のプロトコルの1組の選択を受け取った後に、1つ以上のプロトコルの1組を使用して第1のコンテンツを対応するユーザと(例えば、ユニット820を用いて)共有することと、を含む。
いくつかの実施形態において、選択されたアフォーダンスが対応するユーザのためのユーザ優先共有オプションである場合、第1のコンテンツを対応するユーザと共有するための処理は、アフォーダンスの選択を検出したことに応じて、既定のプロトコルを使用して第1のコンテンツを対応するユーザと(例えば、共有ユニット820を用いて)共有し始めることを含む。
いくつかの実施形態によれば、図9は、様々な記載の実施形態の原理に従って構成された電子デバイス900の機能ブロック図を示す。そのデバイスの機能ブロックは、様々な記載の実施形態の原理を実行するために、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせによって必要に応じて実行される。図9で説明される機能ブロックが、記載の様々な実施形態の原理を実施するように、必要に応じて、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書の記載内容は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を必要に応じて支持する。
図9に示すとおり、電子デバイス900は、アクティブ化されるとデバイスに第1のアプリケーションのユーザインタフェースを表示させるディスプレイユニット902を備える。いくつかの実施形態において、電子デバイス900は、電子デバイス900とは異なる1つ以上の他の電子デバイスと通信するように構成された通信インタフェースユニット904と、1つ以上のタッチ入力を受け取るように構成されたタッチ感知面ユニット906と、を必要に応じて備える。電子デバイス900は、ディスプレイユニット902に結合された(かつ、必要に応じて、通信インタフェースユニット904及びタッチ感知面ユニット906に結合された)処理ユニット908も備える。いくつかの実施形態において、処理ユニット908は、受信ユニット910と、表示有効化ユニット912と、検出ユニット914と、特定ユニット916と、実行ユニット918と、キャンセルユニット920と、復帰ユニット922と、広告ユニット924と、削除ユニット926と、開示ユニット928と、提示ユニット930と、を含む。
処理ユニット908は、ディスプレイユニット902上に第1のアプリケーションのユーザインタフェースを表示している間に、別のデバイスによって開始された、第1のアプリケーションと互換性のない対応するコンテンツを電子デバイス900と共有するための共有要求を(例えば、受信ユニット910を用いて)受信するように構成されている。処理ユニット908は、共有要求を受信したことに応じて、その共有要求に応答するための複数のオプションを含む共有確認ダイアログの表示を(例えば、表示有効化ユニット912を用いて)有効化し、その共有要求に応答するための複数のオプションのうちの対応するオプションのアクティブ化を(例えば、検出ユニット914を用いて)検出するように構成されている。処理ユニット908は、対応するオプションが共有要求を承諾するためのオプションであるという判定に従って、対応するコンテンツと互換性のある1つ以上のアプリケーションを(例えば、特定ユニット916を用いて)特定し、電子デバイス900に、対応するコンテンツと互換性のあるアプリケーションを使用して対応するコンテンツをディスプレイに表示する準備をさせる準備動作を(例えば、実行ユニット918を用いて)実行するように構成されている。対応するオプションが共有要求を拒絶するためのオプションであるという判定に従って、処理ユニット908は、電子デバイス900と対応するコンテンツとの共有を(例えば、キャンセルユニット920を用いて)キャンセルし、第1のアプリケーションのユーザインタフェースに(例えば、復帰ユニット922を用いて)戻るように構成されている。
いくつかの実施形態において、処理ユニット908は、共有要求を受信する前に、電子デバイス900が近隣デバイスから共有要求を受信できる状態にあることを(例えば、広告ユニット924を用いて)広告するように構成されている。
いくつかの実施形態において、処理ユニット908は、共有要求に応答するための対応するオプションのアクティブ化を検出する前に、対応するコンテンツの少なくとも第1の部分を(例えば、受信ユニット910を用いて)受信するように構成されている。
いくつかの実施形態において、処理ユニット908は、対応するオプションのアクティブ化を検出したことに応じて、対応するオプションが共有要求を承諾するためのオプションであるという判定に従って、既に受信された対応するコンテンツの第1の部分を考慮した、対応するコンテンツの受信完了までの進度を示す進度インジケータの表示を(例えば、表示有効化ユニット912を用いて)有効化し、対応するオプションが共有要求を拒絶するためのオプションであるという判定に従って、対応するコンテンツの第1の部分を(例えば、削除ユニット926を用いて)削除するように構成されている。
いくつかの実施形態において、準備動作は、電子デバイス900が対応するコンテンツと互換性のあるアプリケーションを有しないという判定に従って、対応するコンテンツと互換性のあるアプリケーションをユーザにダウンロード又はインストールするよう求めるプロンプトを表示することを含む。
いくつかの実施形態において、準備動作は、対応するコンテンツを送信者から受信することを含む。
いくつかの実施形態において、準備動作は、対応するオプションのアクティブ化を検出する前に電子デバイス900が対応するコンテンツの受信を開始したという判定に従って、引き続き対応するコンテンツを受信することと、対応するコンテンツが完全に受信された時にアプリケーションを起動するようにトリガを設定することと、を含む。
いくつかの実施形態において、処理ユニット908は、準備動作を実行した後に、対応するコンテンツを(例えば、受信ユニット910を用いて)受信し、対応するコンテンツを受信したことに応じて、対応するコンテンツと互換性のある対応するアプリケーションを(例えば、開示ユニット928を用いて)開き、対応するアプリケーションに対応するコンテンツを提示するように構成されている。
いくつかの実施形態において、電子デバイス900は、対応するコンテンツと互換性のある複数のアプリケーションを備える。処理ユニット908は、準備動作を実行した後に、対応するコンテンツを(例えば、受信ユニット910を用いて)受信し、対応するコンテンツと互換性のある複数のアプリケーション間で選択するためのアフォーダンスを含むアプリケーション選択ユーザインタフェースの表示を(例えば、表示有効化ユニット912を用いて)有効化するように構成されている。処理ユニット908は、複数のアプリケーションの対応するアプリケーション用の対応するアフォーダンスの選択を(例えば、検出ユニット914を用いて)検出し、対応するアフォーダンスの選択を検出したことに応じて、対応するコンテンツを対応するアプリケーションに(例えば、提示ユニット930を用いて)提示するようにも構成されている。
上述の情報処理方法での動作は、(例えば、図1A及び図3に関連して上述した)汎用プロセッサ又は特定用途向けチップなどの情報処理装置内の1つ以上の機能モジュールを稼働させることによって必要に応じて実施される。
図6A〜図6E及び図7A〜図7Cを参照して上述した動作は、図1A〜図1B又は図8〜図9に描かれた構成要素によって必要に応じて実施される。例えば、検出動作610及び632、表示動作612、開始動作634及び644、受信動作704、検出動作716、特定及び実行動作718、並びにキャンセル及び復帰動作726は、イベントソータ170、イベント認識部180、及びイベントハンドラ190によって必要に応じて実施される。イベントソータ170内のイベントモニタ171は、タッチディスプレイ112上での接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の場所での第1の接触(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化する。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を、必要に応じて用いるか又は呼び出す。いくつかの実施形態において、イベントハンドラ190は、アプリケーションによって表示されるものを更新するために、対応するGUIアップデータ178にアクセスする。同様に、当業者にとって、他の処理が図1Aから図1Bに描かれた構成要素に基づいてどのように実施されるかは明らかであるだろう。
前述の説明は、説明の目的上、特定の実施形態を参照して説明されている。ただし、上記の例示的な論考は、網羅的であること、又は本発明を、開示された厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、及び想到される特定の用途に好適な様々な改良で本発明及び様々な実施形態を最良な形で使用することを可能とするために、これらの実施形態を選択し説明した。