以下の説明は、例示的な方法、パラメータなどについて記載する。しかしながら、このような説明は、本開示の範囲を限定することを意図するものというより、例示的な実施形態を説明するために提供されるものとして捉えるべきである。
ビデオ会議セッションを管理するための効率的な方法及びインターフェースを提供する電子デバイスが必要とされている。このような技術は、ビデオ会議セッションでコンテンツにアクセスするユーザの認知負担を軽減し、それによって生産性を高めることができる。更に、このような技術は、普通なら冗長なユーザ入力に浪費されるプロセッサ及びバッテリの電力を低減することができる。
以下、図1A~図1B、図2、図3、図4A~図4B、及び図5A~図5Cは、ビデオ会議セッションを管理するための技術を実行するための例示的なデバイスの説明を提供する。図6A~図6ASは、ビデオ会議セッションを管理するための例示的なユーザインターフェースを示す。図7は、いくつかの実施形態に係る、ビデオ会議セッションを管理するための方法を示すフロー図である。図6A~図6ASのユーザインターフェースは、図7のプロセスを含む、以下で説明するプロセスを示すために使用される。図8A~図8Hは、ビデオ会議セッションを管理するための例示的なユーザインターフェースを示す。図9は、いくつかの実施形態に係る、ビデオ会議セッションを管理するための方法を示すフロー図である。図8A~図8Hのユーザインターフェースは、図9のプロセスを含む、以下で説明されるプロセスを示すために使用される。
後述のプロセスは、改善された視覚的フィードバックをユーザに提供すること、動作を実行するために必要な入力の数を減らすこと、追加で表示されるコントロールでユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供すること、条件のセットが満たされると更なるユーザ入力を必要とせずに動作を実行すること、及び/又は、他の技術を含む、様々な技術により、(例えば、ユーザがデバイスを操作/相互作用する際に適切な入力を行うのを助け、ユーザの誤りを減らすことによって)デバイスの操作性を高め、ユーザとデバイスのインターフェースを効率化するものである。これらの技術はまた、ユーザがデバイスをより迅速かつ効率的に使用することを可能にすることによって、電力使用量を低減し、デバイスのバッテリ寿命を改善する。
更に、1つ以上のステップが、1つ以上の条件が満たされていることを条件とする本明細書に記載の方法では、記載の方法が、繰り返しの過程にわたって、本方法におけるステップを条件とする条件の全てが本方法の異なる繰り返しで満たされるように、複数の繰り返しで繰り返されることができることを理解されたい。例えば、ある方法が、条件が満たされると第1のステップを実行し、条件が満たされないと第2のステップを実行することを必要とする場合、当業者であれば、条件が満たされるまで、又は満たされなくなるまで、請求項に記載のステップが順不同で繰り返されることを理解するであろう。したがって、1つ以上の条件が満たされたことを条件とする1つ以上のステップで説明される方法は、方法に記載の各条件が満たされるまで繰り返される方法として書き換えることができる。しかしながら、これは、システム又はコンピュータ可読媒体が、対応する1つ以上の条件の充足に基づいて条件付き動作を実行するための命令を含み、したがって、方法のステップが条件付きである全ての条件が満たされるまで、方法のステップを明示的に繰り返すことなく偶発性が満たされたか否かを判定することができる、システム又はコンピュータ可読媒体の請求項には必要とされない。当業者はまた、条件付きステップを有する方法と同様に、システム又はコンピュータ可読記憶媒体が、条件付きステップの全てが実行されたことを確実にするために、必要な回数だけ方法のステップを繰り返すことができることを理解するであろう。
以下の説明では、様々な要素について説明するために、「第1の」、「第2の」などの用語を使用するが、これらの要素は、それらの用語によって限定されるものではない。いくつかの実施形態では、これらの用語は、1つの要素を別の要素と区別するために使用される。例えば、記載の様々な実施形態の範囲から逸脱することなく、第1のタッチを第2のタッチと呼ぶこともでき、同様に第2のタッチを第1のタッチと呼ぶこともできる。いくつかの実施形態では、第1のタッチと第2のタッチは、同じタッチに対する2つの別個の呼び方である。いくつかの実施形態では、第1のタッチと第2のタッチはどちらもタッチであるが、これらは同じタッチではない。
本明細書に記載の様々な実施形態の説明で使用される術語は、特定の実施形態を説明することのみを目的とし、限定的であることは意図されていない。記載の様々な実施形態の説明及び添付の特許請求の範囲で使用するとき、単数形の「a(1つ、一)」、「an(1つ、一)」、及び「the(その、この)」は、文脈上別途明白に記載しない限り、複数形も同様に含むことが意図される。また、本明細書で使用するとき、用語「及び/又は」は、関連する列挙された項目のうちの1つ以上のいずれか及び全ての考えられる組合せを指し、かつこれを含むことを理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」、及び/又は「comprising(含む、備える)」は、本明細書で使用するとき、述べられる特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を除外しないことが更に理解されるであろう。
「~の場合(if)」という用語は、任意選択的に、文脈に従って、「~ときに(when)」若しくは「~と(upon)」、又は「~と判定したことに応じて(in response to determining)」若しくは「~を検出したことに応じて(in response to detecting)」を意味すると解釈される。同様に、「~と判定された場合(if it is determined)」又は「[記載の条件又はイベント]が検出された場合(if [a stated condition or event] is detected)」という語句は、任意選択的に、文脈に従って、「~と判定すると(upon determining)」若しくは「~と判定したことに応じて(in response to determining)」、又は「[記載の条件又はイベント]を検出すると(upon detecting[the stated condition or event])」若しくは「[記載の条件又はイベント]を検出したことに応じて(in response to detecting[the stated condition or event])」を意味すると解釈される。
電子デバイス、このようなデバイス用のユーザインターフェース、及びこのようなデバイスを使用するための関連するプロセスの実施形態が説明される。いくつかの実施形態では、デバイスは、PDA機能及び/又は音楽プレーヤ機能などの他の機能も含む、携帯電話などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態としては、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)のデバイスが挙げられるが、これらに限定されない。任意選択的に、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するラップトップコンピュータ又はタブレットコンピュータなどの他のポータブル電子デバイスも使用される。また、いくつかの実施形態では、デバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を有するデスクトップコンピュータであることも理解されたい。いくつかの実施形態では、電子デバイスは、表示生成構成要素と(例えば、ワイヤレス通信を介して、ワイヤード通信を介して)通信しているコンピュータシステムである。表示生成構成要素は、CRTディスプレイを介した表示、LEDディスプレイを介した表示、又は画像投影を介した表示などの視覚的出力を提供するように構成されている。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムと一体化される。いくつかの実施形態では、表示生成構成要素は、コンピュータシステムとは別個である。本明細書で使用するとき、コンテンツを「表示する」ことは、コンテンツを視覚的に生成するために、ワイヤード又はワイヤレス接続で、データ(例えば、画像データ又はビデオデータ)を、一体型又は外部の表示生成構成要素に送信することによって、コンテンツ(例えば、ディスプレイコントローラ156によってレンダリング又はデコードされたビデオデータ)を表示させることを含む。
以下の説明では、ディスプレイ及びタッチ感知面を含む電子デバイスについて説明する。しかしながら、電子デバイスが、任意選択的に、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインターフェースデバイスを含むことを理解されたい。
デバイスは典型的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインターフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーション毎に、及び/又はそれぞれのアプリケーション内で、任意選択的に、調整及び/又は変更される。このように、デバイスの共通の物理アーキテクチャ(タッチ感知面など)は、任意選択的に、ユーザにとって直観的かつ透明なユーザインターフェースを備える様々なアプリケーションをサポートする。
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注目する。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を有するポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれることがあり、「タッチ感知ディスプレイシステム」として知られている又は呼ばれることがある。デバイス100は、(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)メモリ102と、メモリコントローラ122と、1つ以上の処理ユニット(CPU)120と、周辺機器インターフェース118と、RF回路構成108と、オーディオ回路構成110と、スピーカ111と、マイクロフォン113と、入出力(Input/Output、I/O)サブシステム106と、その他の入力コントロールデバイス116と、外部ポート124と、を含む。デバイス100は、任意選択的に、1つ以上の光学センサ164を含む。デバイス100は、任意選択的に、デバイス100上の接触の強度を検出するための1つ以上の接触強度センサ165(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)を含む。デバイス100は、任意選択的に、デバイス100上で触知出力を生成する(例えばデバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などのタッチ感知面上で触知出力を生成する)ための、1つ以上の触知出力生成器167を含む。これらの構成要素は、任意選択的に、1つ以上の通信バス又は信号ライン103を介して通信する。
本明細書及び特許請求の範囲で使用するとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触)の力若しくは圧力(単位面積当たりの力)、又はタッチ感知面上の接触の力若しくは圧力に対する代替物(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、数百の(例えば、少なくとも256の)別個の値を含む、値の範囲を有する。接触の強度は、任意選択的に、様々な手法、及び様々なセンサ又はセンサの組合せを使用して、判定(又は測定)される。例えば、タッチ感知面の下又はそれに隣接する1つ以上の力センサは、任意選択的に、タッチ感知面上の様々な点における力を測定するために使用される。いくつかの実装形態では、複数の力センサからの力測定値が、接触の推定される力を判定するために組み合わされる(例えば、加重平均される)。同様に、スタイラスの感圧性先端部が、任意選択的に、タッチ感知面上のスタイラスの圧力を判定するために使用される。あるいは、タッチ感知面上で検出される接触面積のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、任意選択的に、タッチ感知面上の接触の力又は圧力の代替物として使用される。一部の実装形態では、接触の力又は圧力の代替測定値が、強度閾値を上回っているか否かを判定するために直接使用される(例えば、強度閾値は、代替測定値に対応する単位で記述される)。いくつかの実装形態では、接触の力又は圧力の代替測定値は、力又は圧力の推定値に変換され、力又は圧力の推定値が、強度閾値を上回っているか否かを判定するために使用される(例えば、強度閾値は、圧力の単位で測定される圧力閾値である)。接触の強度をユーザ入力の属性として使用することにより、アフォーダンスを表示する実装面積が限られている小型化デバイス上で、さもなければユーザによってアクセス不可能であり得る追加のデバイス機能性に(例えば、タッチ感知ディスプレイ上で)ユーザがアクセスすること、及び/又は、ユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又は、ノブ若しくはボタンなどの物理的/機械的コントロールを介して)受信することが可能となる。
本明細書及び特許請求の範囲で使用するとき、用語「触知出力」は、ユーザの触感覚でユーザによって検出されることになる、デバイスの従前の位置に対するそのデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、そのデバイスの別の構成要素(例えば、筐体)に対する物理的変位、又は、デバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況では、物理的変位によって生成される触知出力は、そのデバイス又はデバイスの構成要素の物理的特性の認識される変化に相当する触知感覚として、ユーザによって解釈されることになる。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の動きは、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。場合によっては、ユーザの動作により物理的に押圧される(例えば、変位される)タッチ感知面に関連付けられた物理アクチュエータボタンの動きがないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触知感覚を感じる。別の例として、タッチ感知面の動きは、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。このようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成される触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一例に過ぎず、デバイス100が、任意選択的に、示されているものよりも多くの構成要素又は少ない構成要素を有するものであり、任意選択的に、2つ以上の構成要素を組み合わせるものであり、又は、任意選択的に、それらの構成要素の異なる構成若しくは配置を有するものであることを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアの両方の組合せで実装される。
メモリ102は、任意選択的に、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの不揮発性メモリを含む。メモリコントローラ122は、任意選択的に、デバイス100の他の構成要素によるメモリ102へのアクセスを制御する。
周辺機器インターフェース118は、デバイスの入力及び出力周辺機器をCPU120及びメモリ102に結合するために使用することができる。1つ以上のプロセッサ120は、メモリ102に記憶されている様々なソフトウェアプログラム((例えば、命令を含む)コンピュータプログラムなど)及び/又は命令セットを動作させ又は実行して、デバイス100のための様々な機能を実施し、データを処理する。いくつかの実施形態では、周辺機器インターフェース118、CPU120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一のチップ上に実装される。いくつかの他の実施形態では、それらは別々のチップ上に任意選択的に実装される。
RF(radio frequency、無線周波数)回路構成108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路構成108は、電気信号を電磁信号に又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路構成108は、任意選択的に、これらの機能を実行するための周知の回路構成を含み、これらの回路は、アンテナシステム、RF送受信機、1つ以上の増幅ン器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module、SIM)カード、メモリなどを含むがこれらに限定されない。RF回路構成108は、任意選択的に、ワールドワイドウェブ(World Wide Web、WWW)とも呼ばれるインターネット、イントラネット、並びに/又はセルラー電話ネットワーク、ワイヤレスローカルエリアネットワーク(Local Area Network、LAN)及び/若しくはメトロポリタンエリアネットワーク(Metropolitan Area Network、MAN)などのワイヤレスネットワークなどのネットワーク、また他のデバイスと、ワイヤレス通信によって通信する。RF回路構成108は、任意選択的に、短距離通信無線機などによって近距離通信(Near Field Communication、NFC)フィールドを検出する周知の回路構成を含む。ワイヤレス通信は、任意選択的に、モバイル通信用グローバルシステム(Global System for Mobile Communications、GSM)、拡張データGSM環境(Enhanced Data GSM Environment、EDGE)、高速ダウンリンクパケットアクセス(High-Speed Downlink Packet Access、HSDPA)、高速アップリンクパケットアクセス(High-Speed Uplink Packet Access、HSUPA)、エボリューションデータオンリ(Evolution,Data-Only、EV-DO)、HSPA、HSPA+、デュアルセルHSPA(Dual-Cell HSPA、DC-HSPDA)、ロングタームエボリューション(Long Term Evolution、LTE)、近距離通信(NFC)、広帯域符号分割多元接続(Wideband Code Division Multiple Access、W-CDMA)、符号分割多元接続(Code Division Multiple Access、CDMA)、時分割多元接続(Time Division Multiple Access、TDMA)、Bluetooth(登録商標)、Bluetoothローエネルギ(Bluetooth Low Energy、BTLE)、ワイヤレスフィデリティ(Wireless Fidelity、Wi-Fi(登録商標))(例えば、IEEE802.11a、IEEE802.11b、IEEE802.11g、IEEE802.11n、及び/若しくはIEEE802.11ac)、ボイスオーバインターネットプロトコル(Voice over Internet Protocol、VoIP)、Wi-MAX、電子メール用プロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet Message Access Protocol、IMAP)及び/若しくはポストオフィスプロトコル(Post Office Protocol、POP))、インスタントメッセージング(例えば、拡張可能なメッセージング及びプレゼンスプロトコル(eXtensible Messaging and Presence Protocol、XMPP)、インスタントメッセージング及びプレゼンスレベレイジングエクステンション用のセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions、SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service、IMPS))、並びに/若しくはショートメッセージサービス(Short Message Service、SMS)、又は本明細書の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の適切な通信プロトコルを含むがこれらに限定されない、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
オーディオ回路構成110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインターフェースを提供する。オーディオ回路構成110は、周辺機器インターフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。また、オーディオ回路構成110は、マイクロフォン113によって音波から変換された電気信号を受信する。オーディオ回路構成110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インターフェース118に送信する。オーディオデータは、任意選択的に、周辺機器インターフェース118によって、メモリ102及び/若しくはRF回路構成108から取り出され、かつ/又はメモリ102及び/若しくはRF回路構成108に送信される。いくつかの実施形態では、オーディオ回路構成110はまた、ヘッドセットジャック(例えば、図2の212)を含む。ヘッドセットジャックは、オーディオ回路構成110と、出力専用ヘッドホン又は出力(例えば片耳又は両耳用のヘッドホン)及び入力(例えばマイクロフォン)の両方を備えるヘッドセットなどの着脱可能なオーディオ入出力周辺機器との間のインターフェースを提供する。
I/Oサブシステム106は、タッチスクリーン112及びその他の入力コントロールデバイス116などのデバイス100上の入出力周辺機器を、周辺機器インターフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光学センサコントローラ158、深度カメラコントローラ169、強度センサコントローラ159、触覚フィードバックコントローラ161、及び、他の入力デバイス若しくはコントロールデバイス用の1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、その他の入力コントロールデバイス116からの電気信号の受信/その他の入力コントロールデバイス116への電気信号の送信を行う。その他の入力コントロールデバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの実施形態では、入力コントローラ(単数又は複数)160は、任意選択的に、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタデバイスのうちのいずれかに結合される(又はいずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、任意選択的に、スピーカ111及び/又はマイクロフォン113の音量制御のためのアップ/ダウンボタンを含む。1つ以上のボタンは、任意選択的に、プッシュボタン(例えば、図2の206)を含む。いくつかの実施形態では、電子デバイスは、1つ以上の入力デバイスと(例えば、ワイヤレス通信を介して、ワイヤード通信を介して)通信するコンピュータシステムである。いくつかの実施形態では、1つ以上の入力デバイスは、タッチ感知面(例えば、タッチ感知ディスプレイの一部としてのトラックパッド)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、入力としてのユーザのジェスチャ(例えば、手のジェスチャ及び/又はエアジェスチャ)を追跡するためなど、1つ以上のカメラセンサ(例えば、1つ以上の光学センサ164及び/又は1つ以上の深度カメラセンサ175)を含む。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムと一体化される。いくつかの実施形態では、1つ以上の入力デバイスは、コンピュータシステムとは別個である。いくつかの実施形態では、エアジェスチャは、ユーザがデバイスの一部である入力要素に触れることなく(又はデバイスの一部である入力要素から独立して)検出されるジェスチャであり、絶対的な基準に対するユーザの身体の動き(例えば、地面に対するユーザの腕の角度、又は地面に対するユーザの手の距離)、ユーザの身体の別の部分に対するユーザの身体の動き(例えば、ユーザの肩に対するユーザの手の動き、ユーザの一方の手に対するユーザの他方の手の動き、及び/又はユーザの手の別の指若しくは部分に対するユーザの指の動き)、及び/又は、ユーザの身体の一部分の絶対的な動き(例えば、所定の量及び/又は速さによる所定のポーズでの手の動きを含むタップジェスチャ、又はユーザの身体の一部分の所定の速さ又は量の回転を含むシェイクジェスチャ)を含む、ユーザの身体の一部分の検出された空気中の動きに基づく。
全体が参照により本明細書に組み込まれる、2005年12月23日出願の米国特許出願第11/322,549号、「Unlocking a Device by Performing Gestures on an Unlock Image」、米国特許第7,657,849号に記載されているように、プッシュボタンの素早い押圧は、任意選択的に、タッチスクリーン112のロックを解放し、又は任意選択的に、タッチスクリーン上のジェスチャを使用してデバイスをロック解除するプロセスを開始する。プッシュボタン(例えば、206)のより長い押圧は、任意選択的に、デバイス100への電力をオン又はオフにする。ボタンのうちの1つ以上の機能性は、任意選択的に、ユーザによってカスタマイズ可能である。タッチスクリーン112は、仮想又はソフトボタン及び1つ以上のソフトキーボードを実装するために使用される。
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インターフェース及び出力インターフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112からの電気信号の受信、及び/又はタッチスクリーン112への電気信号の送信を行う。タッチスクリーン112は、ユーザに対して視覚的出力を表示する。この視覚的出力は、グラフィック、テキスト、アイコン、ビデオ、及びそれらの任意の組合せ(総称して「グラフィック」)を任意選択的に含む。いくつかの実施形態では、視覚的出力の一部又は全ては、任意選択的に、ユーザインターフェースオブジェクトに対応する。
タッチスクリーン112は、触覚及び/又は触知接触に基づくユーザからの入力を受け入れるタッチ感知面、センサ、又はセンサのセットを有する。タッチスクリーン112及びディスプレイコントローラ156は(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)、タッチスクリーン112上で接触(及び任意の接触の動き又は中断)を検出し、検出された接触をタッチスクリーン112に表示されるユーザインターフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との相互作用に変換する。例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術も使用される。タッチスクリーン112及びディスプレイコントローラ156は、任意選択的に、容量性、抵抗性、赤外線、及び表面音波の技術、並びにタッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むがこれらに限定されない、既知の又は後に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及びそのあらゆる動き又は中断を検出する。例示的な実施形態では、カリフォルニア州クパチーノのApple Inc.からのiPhone(登録商標)及びiPod Touch(登録商標)に見られるものなどの、投影型相互静電容量感知技術が使用される。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、任意選択的に、それぞれ全体が参照により本明細書に組み込まれる、米国特許第6,323,846号(Westerman氏ら)、同第6,570,557号(Westerman氏ら)、及び/若しくは同第6,677,932号(Westerman氏)、並びに/又は米国特許出願公開第2002/0015024(A1)号に記載されるマルチタッチ感知タッチパッドに類似している。しかし、タッチスクリーン112はデバイス100からの視覚的出力を表示するのに対して、タッチ感知タッチパッドは視覚的出力を提供しない。
タッチスクリーン112のいくつかの実施形態におけるタッチ感知ディスプレイは、以下の出願、(1)2006年5月2日出願の米国特許出願第11/381,313号、「Multipoint Touch Surface Controller」、(2)2004年5月6日出願の米国特許出願第10/840,862号、「Multipoint Touchscreen」、(3)2004年7月30日出願の米国特許出願第10/903,964号、「Gestures For Touch Sensitive Input Devices」、(4)2005年1月31日出願の米国特許出願第11/048,264号、「Gestures For Touch Sensitive Input Devices」、(5)2005年1月18日出願の米国特許出願第11/038,590号、「Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices」、(6)2005年9月16日出願の米国特許出願第11/228,758号、「Virtual Input Device Placement On A Touch Screen User Interface」、(7)2005年9月16日出願の米国特許出願第11/228,700号、「Operation Of A Computer With A Touch Screen Interface」、(8)2005年9月16日出願の米国特許出願第11/228,737号、「Activating Virtual Keys Of A Touch-Screen Virtual Keyboard」、及び(9)2006年3月3日出願の米国特許出願第11/367,749号、「Multi-Functional Hand-Held Device」で説明されている。これらの出願は全て、全体が参照により本明細書に組み込まれる。
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態では、タッチスクリーンは、約160dpiのビデオ解像度を有する。ユーザは、任意選択的に、スタイラス、指などの任意の適したオブジェクト又は付属物を使用して、タッチスクリーン112に接触する。いくつかの実施形態では、ユーザインターフェースは、指ベースの接触及びジェスチャを主に使用して動作するように設計されるが、これは、タッチスクリーン上の指の接触面積がより大きいため、スタイラスベースの入力ほど正確でない可能性がある。いくつかの実施形態では、デバイスは、指による粗い入力を、ユーザによって所望されているアクションを実行するための、正確なポインタ/カーソルの位置又はコマンドに変換する。
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、任意選択的に、特定の機能をアクティブ化又は非アクティブ化するためのタッチパッドを含む。いくつかの実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚的出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されるタッチ感知面の拡張部である。
デバイス100はまた、様々な構成要素に電力を供給する電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(Alternating Current、AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状況インジケータ(例えば、発光ダイオード(Light-Emitting Diode、LED))、及びポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
また、デバイス100は、任意選択的に、1つ以上の光学センサ164を含む。図1Aは、I/Oサブシステム106内の光学センサコントローラ158に結合された光学センサを示す。光学センサ164は、任意選択的に、電荷結合デバイス(Charge-Coupled Device、CCD)又は相補的金属酸化物半導体(Complementary Metal-Oxide Semiconductor、CMOS)フォトトランジスタを含む。光学センサ164は、1つ以上のレンズを通って投影される、環境からの光を受信し、その光を、画像を表すデータに変換する。光学センサ164は、任意選択的に、(カメラモジュールとも呼ばれる)撮像モジュール143と連携して、静止画像又はビデオ画像をキャプチャする。いくつかの実施形態では、光学センサは、タッチスクリーンディスプレイを静止画像及び/又はビデオ画像の取得のためのビューファインダとして使用可能であるように、デバイスの前面にあるタッチスクリーンディスプレイ112とは反対側のデバイス100の裏面に配置される。いくつかの実施形態では、ユーザが他のビデオ会議参加者をタッチスクリーンディスプレイ上で見ている間、ユーザの画像が、任意選択的に、ビデオ会議のために取得されるように、光学センサはデバイスの前面に配置される。いくつかの実施形態では、光学センサ164の位置は、単一の光学センサ164を、タッチスクリーンディスプレイと共に、ビデオ会議にも静止画像及び/又はビデオ画像の取得にも使用するように、ユーザが(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができる。
デバイス100はまた、任意選択的に、1つ以上の深度カメラセンサ175を含む。図1Aは、I/Oサブシステム106内の深度カメラコントローラ169に結合された深度カメラセンサを示す。深度カメラセンサ175は、環境からデータを受信して、視点(例えば、深度カメラセンサ)からのシーン内のオブジェクト(例えば、顔面)の3次元モデルを作成する。いくつかの実施形態では、(カメラモジュールとも呼ばれる)撮像モジュール143と連携して、深度カメラセンサ175は、任意選択的に、撮像モジュール143によってキャプチャされる画像の異なる部分の深度マップを判定するために使用される。いくつかの実施形態では、ユーザが他のビデオ会議参加者をタッチスクリーンディスプレイ上で見ている間、任意選択的に、深度情報を有するユーザの画像をビデオ会議のために取得し、また、深度マップデータを有する自撮り画像をキャプチャするために、デバイス100の前面に深度カメラセンサが配置される。いくつかの実施形態では、深度カメラセンサ175は、デバイスの背面に、又はデバイス100の背面及び前面に配置される。いくつかの実施形態では、深度カメラセンサ175の位置は、深度カメラセンサ175を、タッチスクリーンディスプレイと共に、ビデオ会議にも静止画像及び/又はビデオ画像の取得にも使用するように、ユーザが(例えば、デバイス筐体内でレンズ及びセンサを回転させることによって)変更することができる。
デバイス100はまた、任意選択的に、1つ以上の接触強度センサ165を含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ165は、任意選択的に、1つ以上のピエゾ抵抗ひずみゲージ、容量性力センサ、電気力センサ、圧電力センサ、光学力センサ、容量性タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(若しくは圧力)を測定するために使用されるセンサ)を含む。接触強度センサ165は、接触強度情報(例えば、圧力情報、又は圧力情報に対するプロキシ)を環境から受信する。いくつかの実施形態では、少なくとも1つの接触強度センサは、タッチ感知面(例えばタッチ感知ディスプレイシステム112)と並設されるか、又はそれに近接して配置される。いくつかの実施形態では、少なくとも1つの接触強度センサは、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
また、デバイス100は、任意選択的に、1つ以上の近接センサ166を含む。図1Aは、周辺機器インターフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。近接センサ166は、任意選択的に、全体が参照により本明細書に組み込まれる、米国特許出願第11/241,839号、「Proximity Detector In Handheld Device」、同第11/240,788号、「Proximity Detector In Handheld Device」、同第11/620,702号、「Using Ambient Light Sensor To Augment Proximity Sensor Output」、同第11/586,862号、「Automated Response To And Sensing Of User Activity In Portable Devices」、及び同第11/638,251号、「Methods And Systems For Automatic Configuration Of Peripherals」に記載されているように機能する。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに置かれると(例えば、ユーザが電話をかけているとき)、近接センサは、タッチスクリーン112をオフにして無効にする。
デバイス100はまた、任意選択的に、1つ以上の触知出力生成器167を含む。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器167は、任意選択的に、スピーカ若しくは他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などのエネルギを直線運動に変換する電気機械デバイスを含む。接触強度センサ165は、触知フィードバック生成命令を触覚フィードバックモジュール133から受信し、デバイス100のユーザが感知することが可能な触知出力をデバイス100上に生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と並設されるか、又はそれに近接して配置され、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は水平方向(例えば、デバイス100の表面と同じ平面内の前後)に移動させることによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、デバイス100の背面に配置される。
また、デバイス100は、任意選択的に、1つ以上の加速度計168を含む。図1Aは、周辺機器インターフェース118に結合された加速度計168を示す。あるいは、加速度計168は、任意選択的に、I/Oサブシステム106内の入力コントローラ160に結合される。加速度計168は、任意選択的に、どちらも全体が参照により本明細書に組み込まれる、米国特許出願公開第20050190059号、「Acceleration-based Theft Detection System for Portable Electronic Devices」、及び米国特許出願公開第20060017692号、「Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer」に記載されているように機能する。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、縦長表示又は横長表示でタッチスクリーンディスプレイに表示される。デバイス100は、加速度計(単数又は複数)168に加えて、磁気計並びにデバイス100の場所及び配向(例えば、縦方向又は横方向)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信機を任意選択的に含む。
いくつかの実施形態では、メモリ102内に記憶されるソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System、GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、図1A及び図3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、現在アクティブ状態のアプリケーションがある場合に、どのアプリケーションがアクティブであるかを示すアクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチスクリーンディスプレイ112の様々な領域を占めているかを示す表示状態、デバイスの様々なセンサ及び入力コントロールデバイス116から取得した情報を含むセンサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報のうちの1つ以上を含む。
オペレーティングシステム126(例えば、Darwin、RTXC、LINUX、UNIX、OS X、iOS、WINDOWS、又はVxWorksなどの組込み型オペレーティングシステム)は、全般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理する様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、また、RF回路構成108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素を含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus、USB)、FIREWIREなど)は、直接的に、又はネットワーク(例えばインターネット、ワイヤレスLANなど)を介して間接的に、他のデバイスに結合するように適合されている。いくつかの実施形態では、外部ポートは、iPod(登録商標)(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同じ若しくは同様であり、かつ/又はそれに適合しているマルチピン(例えば、30ピン)コネクタである。
接触/動きモジュール130は、任意選択的に、タッチスクリーン112及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を(ディスプレイコントローラ156と連携して)検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指ダウンイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の動きが存在するか否かを判定し、タッチ感知面に亘る動きを追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が中止したか否かを判定すること(例えば、指アップイベント又は接触の中断を検出すること)などの、接触の検出に関する様々な動作を実行するための、様々なソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データによって表される、接触点の動きを判定することは、任意選択的に、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変更)を判定することを含む。これらの操作は、任意選択的に、単一の接触(例えば、1本の指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態では、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
いくつかの実施形態では、接触/動きモジュール130は、ユーザによって操作が実行されたか否かを判定するために(例えば、ユーザがアイコン上で「クリック」したか否かを判定するために)、1つ以上の強度閾値のセットを使用する。いくつかの実施形態では、強度閾値の少なくともサブセットは、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されるのではなく、デバイス100の物理ハードウェアを変更することなく調整することができる)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイのハードウェアを変更することなく、広範囲の予め定義された閾値のうちのいずれかに設定することができる。加えて、いくつかの実装形態では、デバイスのユーザに、(例えば、個々の強度閾値を調整すること、及び/又は複数の強度閾値をシステムレベルのクリック「強度」パラメータによって一度に調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供される。
接触/動きモジュール130は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターンを有する(例えば検出される接触の動き、タイミング、及び/又は強度が異なる)。したがって、ジェスチャは、任意選択的に、特定の接触パターンを検出することによって検出される。例えば、指タップジェスチャを検出することは、指ダウンイベントを検出することと、それに続く指ダウンイベントと同じ位置(又は実質的に同じ位置)(例えば、アイコンの位置)で指アップ(リフトオフ)イベントを検出することと、を含む。別の例として、タッチ感知面上で指スワイプジェスチャを検出することは、指ダウンイベントを検出し、それに続いて1つ以上の指ドラッグイベントを検出し、その後それに続いて指アップ(リフトオフ)イベントを検出することを含む。
グラフィックモジュール132は、表示されるグラフィックの視覚的影響(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚的プロパティ)を変更するための構成要素を含む、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリング及び表示するための様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、「グラフィック」という用語は、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインターフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどを含む、ユーザに表示することができる任意のオブジェクトを含むがこれらに限定されない。
いくつかの実施形態では、グラフィックモジュール132は、使用されることになるグラフィックを表すデータを記憶する。各グラフィックには、任意選択的に、対応するコードが割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィックプロパティデータと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信してから、ディスプレイコントローラ156に出力するスクリーンの画像データを生成する。
触覚フィードバックモジュール133は、触知出力生成器(単数又は複数)167によって使用される命令を生成するための様々なソフトウェア構成要素を含み、ユーザのデバイス100との相互作用に応じて、デバイス100上の1つ以上の場所で触知出力を生成する。
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するためのソフトキーボードを提供する。
GPSモジュール135は、デバイスの場所を判定し、様々なアプリケーション内で使用するためにこの情報を(例えば、場所ベースのダイアリングで使用するために電話138に、ピクチャ/ビデオメタデータとしてカメラ143に、及び気象ウィジェット、ローカルイエローページウィジェット、及び地図/ナビゲーションウィジェットなどの場所ベースのサービスを提供するアプリケーションに)提供する。
アプリケーション136は、任意選択的に、以下のモジュール(又は命令セット)又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(アドレス帳又は連絡先リストと呼ばれることもある)、
●電話モジュール138、
●ビデオ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(Instant messaging、IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ビデオプレーヤモジュール、
●音楽プレーヤモジュール、
●ブラウザモジュール147、
●カレンダーモジュール148、
●任意選択的に、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、辞書ウィジェット149-5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149-6のうちの1つ以上を含むウィジェットモジュール149、
●ユーザ作成ウィジェット149-6を作成するためのウィジェットクリエータモジュール150、
●検索モジュール151、
●ビデオプレーヤモジュール及び音楽プレーヤモジュールを一体化したビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は、
●オンラインビデオモジュール155。
任意選択的にメモリ102に記憶されている他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
連絡先モジュール137は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶されている)アドレス帳又は連絡先リストを管理するために用いられ、その管理には、アドレス帳に名前(単数又は複数)を追加すること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、電子メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前に関連付けること、画像を名前に関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、ビデオ会議モジュール139、電子メール140、又はIM141による通信を開始及び/又は促進すること、などが含まれる。
電話モジュール138は、RF回路構成108、オーディオ回路構成110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、任意選択的に、電話番号に対応する一連の文字の入力、連絡先モジュール137内の1つ以上の電話番号へのアクセス、入力された電話番号の修正、それぞれの電話番号のダイヤル、通話の実行、並びに通話終了時の接続解除及び通話停止のために使用される。前述のように、ワイヤレス通信は、任意選択的に、複数の通信規格、プロトコル、及び技術のうちのいずれかを使用する。
ビデオ会議モジュール139は、RF回路構成108、オーディオ回路構成110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光学センサ164、光学センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先モジュール137、及び電話モジュール138と連携して、ユーザの命令に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始、実行、及び終了するための実行可能な命令を含む。
電子メールクライアントモジュール140は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に応じて電子メールを作成、送信、受信、及び管理するための実行可能な命令を含む。電子メールクライアントモジュール140は、画像管理モジュール144と連携して、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールの作成及び送信を非常に容易にする。
インスタントメッセージングモジュール141は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、インスタントメッセージに対応する一連の文字の入力、以前に入力された文字の修正、(例えば、電話通信ベースのインスタントメッセージ向けのショートメッセージサービス(Short Message Service、SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service、MMS)プロトコル、又はインターネットベースのインスタントメッセージ向けのXMPP、SIMPLE、若しくはIMPSを使用する)それぞれのインスタントメッセージの送信、インスタントメッセージの受信、及び受信したインスタントメッセージの閲覧のための実行可能な命令を含む。いくつかの実施形態では、送信される及び/又は受信されるインスタントメッセージは、任意選択的に、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service、EMS)でサポートされるようなグラフィック、写真、オーディオファイル、ビデオファイル、及び/又は他の添付ファイルを含む。本明細書で使用するとき、「インスタントメッセージング」とは、電話通信ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)と、インターネットベースのメッセージ(例えば、XMPP、SIMPLE、又はIMPSを使用して送信されるメッセージ)との両方を指す。
トレーニングサポートモジュール142は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュールと連携して、(例えば、時間、距離、及び/又はカロリー燃焼目標を有する)トレーニングを作成し、トレーニングセンサ(スポーツデバイス)と通信し、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択及び再生し、トレーニングデータを表示、記憶、及び送信するための実行可能命令を含む。
カメラモジュール143は、タッチスクリーン112、ディスプレイコントローラ156、光学センサ(単数又は複数)164、光学センサコントローラ158、接触/動きモジュール130、グラフィックモジュール132、及び画像管理モジュール144と連携して、静止画像若しくは(ビデオストリームを含む)ビデオのキャプチャ及びメモリ102内への記憶、静止画像若しくはビデオの特性の修正、又はメモリ102からの静止画像若しくはビデオを削除するための実行可能な命令を含む。
画像管理モジュール144は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と連携して、静止画像及び/若しくはビデオ画像の配置、修正(例えば、編集)、又はその他の操作、ラベル付け、削除、(例えば、デジタルスライドショー若しくはアルバムにおける)提示、及び記憶のための実行可能な命令を含む。
ブラウザモジュール147は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ウェブページ又はその部分、並びにウェブページにリンクされた添付ファイル及び他のファイルの検索、リンク、受信、及び表示を含む、ユーザの命令に従って、インターネットをブラウジングするための実行可能な命令を含む。
カレンダーモジュール148は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザの命令に従って、カレンダー及びカレンダーに関連付けられたデータ(例えば、カレンダーアイテム、to-doリストなど)を作成、表示、修正、及び記憶するための実行可能な命令を含む。
ウィジェットモジュール149は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ユーザによってダウンロード及び使用されるミニアプリケーション(例えば、気象ウィジェット149-1、株価ウィジェット149-2、計算機ウィジェット149-3、アラーム時計ウィジェット149-4、及び辞書ウィジェット149-5)、又はユーザによって作成されたミニアプリケーション(例えば、ユーザ作成ウィジェット149-6)である。いくつかの実施形態では、ウィジェットは、HTML(Hypertext Markup Language、ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets、カスケーディングスタイルシート)ファイル、及びJavaScriptファイルを含む。いくつかの実施形態では、ウィジェットは、XML(Extensible Markup Language、拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!ウィジェット)を含む。
ウィジェットクリエータモジュール150は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と連携して、任意選択的に、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットにする)ために、ユーザによって使用される。
検索モジュール151は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に従って、1つ以上の検索基準(例えば、1つ以上のユーザ指定検索語)と一致するメモリ102内のテキスト、音楽、サウンド、画像、ビデオ、及び/又は他のファイルを検索するための実行可能な命令を含む。
ビデオ及び音楽プレーヤモジュール152は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路構成110、スピーカ111、RF回路構成108、及びブラウザモジュール147と連携して、MP3又はAACファイルなどの1つ以上のファイル形式で記憶されている録音済みの音楽及び他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能な命令、並びにビデオを(例えば、タッチスクリーン112上、又は外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別様に再生するための実行可能な命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能性を含む。
メモモジュール153は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と連携して、ユーザの命令に従って、メモ、to-doリストなどを作成及び管理するための実行可能な命令を含む。
地図モジュール154は、RF回路構成108、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と連携して、任意選択的に、ユーザの命令に従って、地図及び地図に関連付けられたデータ(例えば、運転の道順、特定の場所又はその付近の店舗及び他の見どころに関するデータ、並びに他の場所ベースのデータ)を受信、表示、修正、及び記憶するために使用される。
オンラインビデオモジュール155は、タッチスクリーン112、ディスプレイコントローラ156、接触/動きモジュール130、グラフィックモジュール132、オーディオ回路構成110、スピーカ111、RF回路構成108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と連携して、ユーザが特定のオンラインビデオへのアクセス、特定のオンラインビデオのブラウジング、(例えば、ストリーミング及び/又はダウンロードによる)受信、(例えば、タッチスクリーン上、又は外部ポート124を介して接続された外部ディスプレイ上での)再生、特定のオンラインビデオへのリンクを有する電子メールの送信、並びにH.264などの1つ以上のファイル形式のオンラインビデオの他の管理を行うことを可能にする命令を含む。いくつかの実施形態では、特定のオンラインビデオへのリンクを送信するために、電子メールクライアントモジュール140ではなく、インスタントメッセージングモジュール141が使用される。オンラインビデオアプリケーションについての追加の説明は、その内容の全体が参照により本明細書に組み込まれる、2007年6月20日出願の米国仮特許出願第60/936,562号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」、及び2007年12月31日出願の米国特許出願第11/968,067号、「Portable Multifunction Device,Method,and Graphical User Interface for Playing Online Videos」を参照されたい。
上記のモジュール及びアプリケーションは各々、上に記載の1つ以上の機能及び本出願に記載の方法(例えば、本明細書に記載のコンピュータにより実行される方法及び他の情報処理方法)を実行するための実行可能な命令のセットに対応する。これらのモジュール(例えば、命令セット)は、個々のソフトウェアプログラム((例えば、命令を含む)コンピュータプログラムなど)、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態では、これらのモジュールの様々なサブセットが、任意選択的に組み合わされ、又は別様に再構成される。例えば、ビデオプレーヤモジュールは、任意選択的に、音楽プレーヤモジュールと組み合わされて、単一のモジュール(例えば、図1Aのビデオ及び音楽プレーヤモジュール152)にされる。いくつかの実施形態では、メモリ102は、任意選択的に、上記のモジュール及びデータ構造のサブセットを記憶する。更に、メモリ102は、上に記載していない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、そのデバイスにおける既定の機能のセットの動作がタッチスクリーン及び/又はタッチパッドのみを介して実行されるデバイスである。デバイス100が動作するための主要な入力コントロールデバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、任意選択的に、デバイス100上の物理入力コントロールデバイス(プッシュボタン、ダイヤルなど)の数が削減される。
タッチスクリーン及び/又はタッチパッドを通じてのみ実行される既定の機能のセットは、任意選択的に、ユーザインターフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインターフェースから、メインメニュー、ホームメニュー、又はルートメニューにデバイス100をナビゲートする。このような実施形態では、「メニューボタン」は、タッチパッドを使用して実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドではなく、物理プッシュボタン又はその他の物理入力コントロールデバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A)又は370(図3)は、(例えば、オペレーティングシステム126内の)イベントソート部170と、(例えば、前述のアプリケーション137~151、155、380~390のうちのいずれかの)それぞれのアプリケーション136-1と、を含む。
イベントソート部170は、イベント情報を受信し、イベント情報を配信するアプリケーション136-1、及びアプリケーション136-1のアプリケーションビュー191を判定する。イベントソート部170は、イベントモニタ171と、イベントディスパッチャモジュール174とを含む。いくつかの実施形態では、アプリケーション136-1は、アプリケーションがアクティブ又は実行中であるときにタッチ感知ディスプレイ112に表示される現在のアプリケーションビュー(単数又は複数)を示すアプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、どのアプリケーション(単数又は複数)が現在アクティブであるかを判定するためにイベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を判定するためにイベントソート部170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136-1が実行を再開するときに使用すべき再開情報、アプリケーション136-1によって表示されている情報を示す又は表示する準備ができているユーザインターフェース状態情報、ユーザがアプリケーション136-1の前の状態又はビューに戻ることを可能にする状態キュー、及びユーザによって行われた前のアクションのリドゥ/アンドゥキューのうちの1つ以上などの追加情報を含む。
イベントモニタ171は、周辺機器インターフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112でのユーザタッチ)に関する情報を含む。周辺機器インターフェース118は、I/Oサブシステム106、又は近接センサ166、加速度計(単数又は複数)168、及び/若しくは(オーディオ回路構成110を介した)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インターフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
いくつかの実施形態では、イベントモニタ171は、所定の間隔で周辺機器インターフェース118に要求を送信する。それに応じて、周辺機器インターフェース118は、イベント情報を送信する。他の実施形態では、周辺機器インターフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回る及び/又は所定の持続時間を超える入力の受信)があるときのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が2つ以上のビューを表示しているときに、サブイベントが1つ以上のビュー内のどこで起きたかを判定するソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることができるコントロール及び他の要素から構成される。
アプリケーションに関連付けられたユーザインターフェースの別の態様は、本明細書ではアプリケーションビュー又はユーザインターフェースウィンドウと呼ばれることもあるビューのセットであり、その中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、任意選択的に、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに対応する。例えば、タッチが検出される最下位レベルビューは、任意選択的に、ヒットビューと呼ばれ、また、適切な入力として認識されるイベントのセットは、任意選択的に、タッチによるジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて判定される。
ヒットビュー判定モジュール172は、タッチに基づくジェスチャのサブイベントに関連する情報を受信する。アプリケーションが階層状に構成された複数のビューを有するとき、ヒットビュー判定モジュール172は、サブイベントを処理すべき階層内の最下位のビューとして、ヒットビューを識別する。ほとんどの状況では、ヒットビューは、開始サブイベント(例えば、イベント又は潜在的イベントを形成する一連のサブイベントにおける第1のサブイベント)が発生する最も低いレベルのビューである。ヒットビューがヒットビュー判定モジュール172によって識別されると、ヒットビューは典型的に、ヒットビューとして識別されたタッチ又は入力ソースと同じタッチ又は入力ソースに関係する全てのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)が特定の一連のサブイベントを受信すべきかを判定する。いくつかの実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみが特定の一連のサブイベントを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理的場所を含む全てのビューがアクティブに関わりがあるビューであると判定し、したがって、全てのアクティブに関わりがあるビューが、特定の一連のサブイベントを受信すべきであると判定する。他の実施形態では、タッチサブイベントが1つの特定のビューに関連付けられたエリアに完全に限定された場合でも、階層内の上位のビューは、依然としてアクティブに関わりがあるビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えばイベント認識部180)にディスパッチする。アクティブイベント認識部判定モジュール173を含む実施形態では、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部182によって取り出されるイベント情報をイベントキューに記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136-1がイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュールであり、又は接触/動きモジュール130などのメモリ102内に記憶されている別のモジュールの一部である。
いくつかの実施形態では、アプリケーション136-1は、各々がアプリケーションのユーザインターフェースのそれぞれのビュー内で発生するタッチイベントを処理するための命令を含む、複数のイベント処理部190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136-1の各アプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的には、それぞれのアプリケーションビュー191は、複数のイベント認識部180を含む。他の実施形態では、イベント認識部180のうちの1つ以上は、ユーザインターフェースキット、又は、アプリケーション136-1がメソッド及び他のプロパティを継承する上位レベルのオブジェクトなどの、別個のモジュールの一部である。いくつかの実施形態では、それぞれのイベント処理部190は、データ更新部176、オブジェクト更新部177、GUI更新部178、及び/又はイベントソート部170から受信したイベントデータ179、のうちの1つ以上を含む。イベント処理部190は、任意選択的に、データ更新部176、オブジェクト更新部177、又はGUI更新部178を利用し又は呼び出して、アプリケーション内部状態192を更新する。あるいは、アプリケーションビュー191のうちの1つ以上が、1つ以上のそれぞれのイベント処理部190を含む。また、いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178のうちの1つ以上は、それぞれのアプリケーションビュー191に含まれる。
それぞれのイベント認識部180は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信し、イベント情報からイベントを識別する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及びイベント配信命令188(任意選択的にサブイベント配信命令を含む)の少なくともサブセットを含む。
イベント受信部182は、イベントソート部170からイベント情報を受信する。イベント情報は、サブイベント、例えば、タッチ又はタッチの動きについての情報を含む。サブイベントに応じて、イベント情報はまた、サブイベントの場所などの追加情報を含む。サブイベントがタッチの動きに関わるとき、イベント情報はまた任意選択的に、サブイベントの速さ及び方向を含む。いくつかの実施形態では、イベントは、1つの配向から別の配向への(例えば、縦向きから横向きへ、又はその逆の)デバイスの回転を含み、イベント情報は、デバイスの現在の(デバイスの姿勢とも呼ばれる)配向についての対応する情報を含む。
イベント比較部184は、イベント情報を、定義済みのイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定するか、あるいはイベント又はサブイベントの状態を判定若しくは更新する。いくつかの実施形態では、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えばイベント1(187-1)及びイベント2(187-2)などのイベント(例えば、定義済みの一連のサブイベント)の定義を含む。いくつかの実施形態では、イベント(187-1及び/又は187-2)内のサブイベントは、例えば、タッチの開始、タッチの終了、タッチの動き、タッチのキャンセル、及び複数のタッチを含む。一実施例では、イベント1(187-1)についての定義は、表示されているオブジェクト上のダブルタップである。ダブルタップは、例えば、所定の段階に対する表示オブジェクト上の第1のタッチ(タッチ開始)、所定の段階に対する第1のリフトオフ(タッチ終了)、所定の段階に対する表示オブジェクト上の第2のタッチ(タッチ開始)、及び所定の段階に対する第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187-2)の定義は、表示されているオブジェクト上のドラッグである。ドラッグは、例えば、所定の段階に対する表示オブジェクト上のタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの動き、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態では、イベントはまた、1つ以上の関連付けられたイベント処理部190に関する情報を含む。
いくつかの実施形態では、イベント定義186は、それぞれのユーザインターフェースオブジェクトについてのイベントの定義を含む。いくつかの実施形態では、イベント比較部184は、どのユーザインターフェースオブジェクトがサブイベントに関連付けられているかを判定するヒットテストを実行する。例えば、タッチ感知ディスプレイ112に3つのユーザインターフェースオブジェクトが表示されているアプリケーションビュー内で、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184はヒットテストを実行して、3つのユーザインターフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定する。表示されている各オブジェクトがそれぞれのイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、ヒットテストをトリガするサブイベント及びオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、それぞれのイベント187の定義はまた、一連のサブイベントがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅らせる遅延アクションを含む。
それぞれのイベント認識部180が、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判定すると、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューについてアクティブのままである他のイベント認識部があれば、そのイベント認識部は、進行中のタッチによるジェスチャのサブイベントの追跡及び処理を続行する。
いくつかの実施形態では、それぞれのイベント認識部180は、イベント配信システムがどのようにサブイベント配信を実行すべきかをアクティブに関与しているイベント認識部に示す構成可能なプロパティ、フラグ、及び/又はリストを有するメタデータ183を含む。いくつかの実施形態では、メタデータ183は、イベント認識部が互いにどのように相互作用するか、又はイベント認識部が互いにどのように相互作用することが可能となるかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態では、メタデータ183は、サブイベントがビュー階層又はプログラム階層における多様なレベルに配信されるかどうかを示す構成可能なプロパティ、フラグ、及び/又はリストを含む。
いくつかの実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されると、イベントに関連付けられたイベント処理部190をアクティブ化する。いくつかの実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、それぞれのヒットビューにサブイベントを送信する(及び、送信を延期する)こととは別個である。いくつかの実施形態では、イベント認識部180は、認識したイベントに関連付けられたフラグを投入し、そのフラグに関連付けられたイベント処理部190は、そのフラグを捕らえ、既定のプロセスを実行する。
いくつかの実施形態では、イベント配信命令188は、イベント処理部をアクティブ化することなく、サブイベントについてのイベント情報を配信するサブイベント配信命令を含む。代わりに、サブイベント配信命令は、一連のサブイベントと関連付けられたイベント処理部に、又はアクティブに関与しているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関与しているビューと関連付けられたイベント処理部は、イベント情報を受信し、所定のプロセスを実行する。
いくつかの実施形態では、データ更新部176は、アプリケーション136-1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新する、又はビデオプレーヤモジュールで使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136-1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新しいユーザインターフェースオブジェクトを作成する、又はユーザインターフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するために表示情報をグラフィックモジュール132に送る。
いくつかの実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含むか、又はそれらへのアクセスを有する。いくつかの実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136-1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の説明は、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、それらの全てがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、キーボードの単一又は複数の押圧若しくは保持と任意選択的に連携される、マウスの動き及びマウスボタンの押圧、タッチパッド上のタップ、ドラッグ、スクロールなどの接触の動き、ペンスタイラス入力、デバイスの動き、口頭による命令、検出された目の動き、バイオメトリック入力、並びに/又はそれらの任意の組合せを、任意選択的に、認識対象のイベントを定義するサブイベントに対応する入力として利用する。
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す。タッチスクリーンは、任意選択的に、ユーザインターフェース(user interface、UI)200内に1つ以上のグラフィックを表示する。本実施形態、並びに以下で説明される他の実施形態では、ユーザは、例えば、1本以上の指202(図には正確な縮尺では描かれていない)又は1つ以上のスタイラス203(図には正確な縮尺では描かれていない)を使用して、グラフィック上でジェスチャを実施することによって、それらのグラフィックのうちの1つ以上を選択することが可能となる。いくつかの実施形態では、1つ以上のグラフィックの選択は、ユーザが、その1つ以上のグラフィックとの接触を中断する場合に実施される。いくつかの実施形態では、ジェスチャは、デバイス100と接触した指の、1回以上のタップ、1回以上の(左から右へ、右から左へ、上向き及び/若しくは下向きの)スワイプ、並びに/又は、指の(右から左へ、左から右へ、上向き及び/若しくは下向きの)ローリングを、任意選択的に含む。いくつかの実装形態又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、任意選択的に、対応するアプリケーションを選択するものではない。
デバイス100はまた、任意選択的に、「ホーム」ボタン又はメニューボタン204などの1つ以上の物理ボタンを含む。前述のように、メニューボタン204は、任意選択的にデバイス100上で実行されるアプリケーションのセット内の任意のアプリケーション136にナビゲートするために、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーン112に表示されるGUI内のソフトキーとして実装される。
いくつかの実施形態では、デバイス100は、タッチスクリーン112、メニューボタン204、デバイスの電源をオン/オフにしてデバイスをロックするプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、任意選択的に、ボタンを押し下げて、既定の期間にわたってボタンを押し下げた状態に保持することによって、デバイスの電源をオン/オフするため、ボタンを押し下げて、既定の時間が経過する前にボタンを解放することによってデバイスをロックするため、及び/又はデバイスをロック解除する、若しくはロック解除プロセスを開始するために、使用される。代替の実施形態では、デバイス100はまた、マイクロフォン113を介して、いくつかの機能をアクティブ化又は非アクティブ化するための口頭入力を受け入れる。デバイス100はまた、任意選択的に、タッチスクリーン112上の接触の強度を検出する1つ以上の接触強度センサ165、及び/又はデバイス100のユーザに対する触知出力を生成する1つ以上の触知出力生成器167を含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を有する例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、(子供の学習玩具などの)教育用デバイス、ゲームシステム、又はコントロールデバイス(例えば、家庭用又は産業用コントローラ)である。デバイス300は典型的に、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インターフェース360と、メモリ370と、これらの構成要素を相互接続する1つ以上の通信バス320と、を含む。通信バス320は、任意選択的に、(チップセットと呼ばれることもある)、システム構成要素間の通信を相互接続及び制御する回路を含む。デバイス300は、典型的にはタッチスクリーンディスプレイであるディスプレイ340を含む入出力(I/O)インターフェース330を含む。I/Oインターフェース330はまた、任意選択的に、キーボード及び/又はマウス(若しくは他のポインティングデバイス)350並びにタッチパッド355と、デバイス300上に触知出力を生成する(例えば、図1Aを参照して上記した触知出力生成器(単数又は複数)167に類似する)触知出力生成器357と、センサ359(例えば、光、加速度、近接、タッチ感知、及び/又は図1Aを参照して上記した接触強度センサ(単数又は複数)165に類似する接触強度センサ)と、を含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含む。メモリ370は、任意選択的に、CPU(単数又は複数)310からリモートに位置する1つ以上の記憶デバイスを含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102内に記憶されているプログラム、モジュール、及びデータ構造に類似したプログラム、モジュール、及びデータ構造、又はそのサブセットを記憶する。更に、メモリ370は、任意選択的に、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を記憶する。例えば、デバイス300のメモリ370は、任意選択的に、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を記憶するのに対して、ポータブル多機能デバイス100(図1A)のメモリ102は、任意選択的に、これらのモジュールを記憶しない。
上記の図3の要素は各々、任意選択的に、前述のメモリデバイスのうちの1つ以上の中に記憶される。上記のモジュールは各々、上記の機能を実行するための命令セットに対応する。上記のモジュール又はコンピュータプログラム(例えば、命令セット又は命令を含む)は、個々のソフトウェアプログラム((例えば、命令を含む)コンピュータプログラムなど)、手順、又はモジュールとして実装される必要はなく、したがって、様々な実施形態では、これらのモジュールの様々なサブセットが、任意選択的に組み合わされ、又は別様に再構成される。いくつかの実施形態では、メモリ370は、任意選択的に、上記のモジュール及びデータ構造のサブセットを記憶する。更に、メモリ370は、任意選択的に、上記していない追加のモジュール及びデータ構造を記憶する。
次に、任意選択的に、例えばポータブル多機能デバイス100に実装されるユーザインターフェースの実施形態に注目する。
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューの例示的なユーザインターフェースを示す。同様のユーザインターフェースが、デバイス300上に任意選択的に実装される。いくつかの実施形態では、ユーザインターフェース400は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー信号及びWi-Fi信号などのワイヤレス通信(単数又は複数)用の信号強度インジケータ(単数又は複数)402、
●時刻404、
●Bluetoothインジケータ405、
●バッテリ状態インジケータ406、
●以下のような、頻繁に使用されるアプリケーションのアイコンを有するトレイ408
○不在着信又はボイスメールメッセージの数のインジケータ414を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138のアイコン416、
○未読電子メールの数のインジケータ410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140のアイコン418、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152用のアイコン422、及び
●以下のような、他のアプリケーションのアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141のアイコン424、
○「カレンダー」とラベル付けされた、カレンダーモジュール148のアイコン426、
○「写真」とラベル付けされた、画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされた、カメラモジュール143のアイコン430、
○「オンラインビデオ」とラベル付けされた、オンラインビデオモジュール155のアイコン432、
○「株価」とラベル付けされた、株価ウィジェット149-2のアイコン434、
○「マップ」とラベル付けされた、地図モジュール154のアイコン436、
○「天気」とラベル付けされた、気象ウィジェット149-1のアイコン438、
○「時計」とラベル付けされた、アラーム時計ウィジェット149-4のアイコン440、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142のアイコン442、
○「メモ」とラベル付けされた、メモモジュール153のアイコン444、及び
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、「設定」とラベル付けされた、設定アプリケーション又はモジュールのアイコン446。
図4Aに示すアイコンラベルは、単なる例示であることに留意されたい。例えば、ビデオ及び音楽プレーヤモジュール152のアイコン422は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコン用に、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態では、特定のアプリケーションアイコンのラベルは、その特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、図3のタブレット又はタッチパッド355)を有するデバイス(例えば、図3のデバイス300)上の例示的なユーザインターフェースを示す。デバイス300はまた、任意選択的に、タッチ感知面451上の接触の強度を検出する1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対して触知出力を生成する1つ以上の触知出力生成器357を含む。
以下の実施例のうちのいくつかは、(タッチ感知面とディスプレイが組み合わされている)タッチスクリーンディスプレイ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つ以上が別の入力デバイスからの入力(例えば、マウスベースの入力又はスタイラス入力)に置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触ではなく)マウスクリックとそれに続く(例えば、接触の動きではなく)スワイプの経路に沿ったカーソルの動きによって置き換えられる。別の例として、タップジェスチャは、任意選択的に、(例えば、接触の検出とそれに続く接触の不検出ではなく)カーソルがタップジェスチャの場所上に位置している間のマウスクリックによって置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが、任意選択的に、同時に使用されているか、又はマウスと指の接触が、任意選択的に、同時に使用されていることを理解されたい。
図5Aは、例示的なパーソナル電子デバイス500を示す。デバイス500は、本体502を含む。いくつかの実施形態では、デバイス500は、デバイス100及び300(例えば、図1A~図4B)に関して説明した機能のうちのいくつか又は全てを含むことができる。いくつかの実施形態では、デバイス500は、以下ではタッチスクリーン504と呼ぶタッチ感知ディスプレイスクリーン504を有する。あるいは、又はタッチスクリーン504に加えて、デバイス500は、ディスプレイ及びタッチ感知面を有する。いくつかの実施形態では、デバイス100及び300のそれと同様に、タッチスクリーン504(又はタッチ感知面)は、任意選択的に、加えられている接触(例えば、タッチ)の強度を検出する1つ以上の強度センサを含む。タッチスクリーン504(又はタッチ感知面)の1つ以上の強度センサは、タッチの強度を表す出力データを提供することができる。デバイス500のユーザインターフェースは、タッチに、その強度に基づいて応答することができ、これは、異なる強度のタッチが、デバイス500上で異なるユーザインターフェース動作を呼び出すことができることを意味する。
タッチ強度を検出し処理する例示的な技術は、例えば、それぞれ全体が参照により本明細書に組み込まれる関連出願である、国際公開第2013/169849号として公開された、2013年5月8日出願の国際特許出願第PCT/US2013/040061号、「Device,Method,and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application」、及び国際公開第2014/105276号として公開された、2013年11月11日出願の国際特許出願第PCT/US2013/069483号、「Device,Method,and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships」を参照されたい。
いくつかの実施形態では、デバイス500は、1つ以上の入力機構506及び508を有する。入力機構506及び508は、含まれている場合、物理的であり得る。物理的入力機構の例としては、プッシュボタン及び回転可能機構が挙げられる。いくつかの実施形態では、デバイス500は、1つ以上のアタッチメント機構を有する。このようなアタッチメント機構は、含まれている場合、例えば帽子、眼鏡類、イアリング、ネックレス、シャツ、ジャケット、ブレスレット、ウォッチのバンド、チェーン、ズボン、ベルト、靴、財布、バックパックなどにデバイス500を取り付けることを可能にすることができる。これらのアタッチメント機構は、ユーザがデバイス500を着用することを可能にする。
図5Bは、例示的なパーソナル電子デバイス500を示す。いくつかの実施形態では、デバイス500は、図1A、図1B、及び図3に関して説明した構成要素のうちのいくつか又は全てを含むことができる。デバイス500は、I/Oセクション514を1つ以上のコンピュータプロセッサ516及びメモリ518に動作可能に結合するバス512を有する。I/Oセクション514はディスプレイ504に接続することができ、ディスプレイ504は、タッチ感知構成要素522と、任意選択的に強度センサ524(例えば、接触強度センサ)とを有することができる。加えて、I/Oセクション514は、Wi-Fi、Bluetooth、近距離通信(near field communication、NFC)、セルラー、及び/又は他のワイヤレス通信技術を使用して、アプリケーション及びオペレーティングシステムデータを受信する通信ユニット530と接続することができる。デバイス500は、入力機構506及び/又は508を含むことができる。入力機構506は、任意選択的に、例えば、回転可能な入力デバイスであるか、又は押下可能かつ回転可能な入力デバイスである。いくつかの実施例では、入力機構508は、任意選択的にボタンである。
いくつかの実施例では、入力機構508は、任意選択的にマイクロフォンである。パーソナル電子デバイス500は、任意選択的に、GPSセンサ532、加速度計534、方向センサ540(例えば、コンパス)、ジャイロスコープ536、動きセンサ538、及び/又はそれらの組合せなどの様々なセンサを含み、それらは全て、I/Oセクション514に動作可能に接続することができる。
パーソナル電子デバイス500のメモリ518は、1つ以上のコンピュータプロセッサ516によって実行されると、例えば、コンピュータプロセッサに、プロセス700及びプロセス900(図7及び図9)を含む、後述の技術を行わせることができるコンピュータ実行可能命令を記憶するための1つ以上の非一時的コンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体は、命令実行システム、装置、若しくはデバイスによって、又は命令実行システム、装置、若しくはデバイスに関連して、使用されるコンピュータ実行可能命令を、有形に含み又は記憶することができる任意の媒体であり得る。いくつかの実施例では、記憶媒体は、一時的コンピュータ可読記憶媒体である。いくつかの実施例では、記憶媒体は、非一時的コンピュータ可読記憶媒体である。非一時的コンピュータ可読記憶媒体は、磁気記憶装置、光学記憶装置、及び/又は半導体記憶装置を含むことができるが、これらに限定されない。このような記憶装置の例は、磁気ディスク、CD、DVD、又はBlu-ray技術に基づく光学ディスク、並びにフラッシュ、ソリッドステートドライブなどの永続性ソリッドステートメモリなどを含む。パーソナル電子デバイス500は、図5Bの構成要素及び構成に限定されるものではなく、他の又は追加の構成要素を複数の構成で含むことができる。
本明細書で使用するとき、「アフォーダンス」という用語は、任意選択的にデバイス100、300、及び/又は500(図1A、図3、及び図5A~図5B)のディスプレイスクリーンに表示される、ユーザ相互作用グラフィカルユーザインターフェースオブジェクトを指す。例えば、画像(例えば、アイコン)、ボタン、及びテキスト(例えば、ハイパーリンク)は各々、任意選択的に、アフォーダンスを構成する。
本明細書で使用するとき、「フォーカスセレクタ」という用語は、ユーザが相互作用しているユーザインターフェースの現在の部分を示す入力要素を指す。カーソル又は他の場所マーカーを含むいくつかの実装形態では、カーソルが特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の上に位置している間、入力(例えば、押圧入力)がタッチ感知面(例えば、図3のタッチパッド355又は図4Bのタッチ感知面451)上で検出されると、特定のユーザインターフェース要素は、検出された入力に従って調整されるように、カーソルが「フォーカスセレクタ」として作用する。タッチスクリーンディスプレイ上のユーザインターフェース要素との直接相互作用を可能にするタッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112又は図4Aのタッチスクリーン112)を含むいくつかの実装形態では、タッチスクリーンディスプレイ上の特定のユーザインターフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインターフェース要素)の場所で入力(例えば、接触による押圧入力)が検出されると、特定のユーザインターフェース要素が、検出された入力に従って調整されるように、タッチスクリーン上の検出された接触が「フォーカスセレクタ」として作用する。いくつかの実装形態では、タッチスクリーンディスプレイ上の対応するカーソルの動き又は接触の動きなしに、フォーカスがユーザインターフェースの1つの領域からユーザインターフェースの別の領域に動かされ(例えば、タブキー又は矢印キーを使用することによってフォーカスが1つのボタンから別のボタンに動かされ)、これらの実装形態では、フォーカスセレクタは、ユーザインターフェースの種々の領域間でのフォーカスの動きに従って移動する。フォーカスセレクタが取る具体的な形態に関わらず、フォーカスセレクタは、概して、ユーザが意図するユーザインターフェースとの相互作用を(例えば、ユーザがそれを通じて相互作用することを意図しているユーザインターフェースの要素をデバイスに示すことによって)通信するためにユーザによって制御されるユーザインターフェース要素(又はタッチスクリーンディスプレイ上の接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出されている間の、それぞれのボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の場所は、(そのデバイスのディスプレイ上に表示されている他のユーザインターフェース要素ではなく)それぞれのボタンをアクティブ化することをユーザが意図していることを示すものである。
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。いくつかの実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、すなわち、既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の動きの開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増大を検出する前若しくは後、及び/又は、接触の強度の減少を検出する前若しくは後)に関連する所定の時間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)の間に収集される強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の平均(mean)値、接触の強度の平均(average)値、接触の強度の上位10パーセンタイル値、接触の強度の最大の2分の1の値、接触の強度の最大の90パーセントの値などのうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定する際に(例えば、特性強度が経時的な接触の強度の平均であるときに)、接触の持続期間が使用される。いくつかの実施形態では、特性強度は、ユーザによって操作が実行されたか否かを判定するために、1つ以上の強度閾値のセットと比較される。例えば、1つ以上の強度閾値のセットは、任意選択的に、第1の強度閾値及び第2の強度閾値を含む。この実施例では、第1の閾値を超えない特性強度を有する接触は第1の動作をもたらし、第1の強度閾値を上回るが第2の強度閾値を超えない特性強度を有する接触は第2の動作をもたらし、第2の閾値を超える特性強度を有する接触は第3の動作をもたらす。いくつかの実施形態では、特性強度と1つ以上の閾値との間の比較は、第1の動作を実行するべきか、それとも第2の動作を実行するべきかを判定するために使用されるのではなく、1つ以上の動作を実行するべきか否か(例えば、それぞれの動作を実行するべきか、それともそれぞれの動作を実行するのを取り止めるべきか)を判定するために使用される。
本明細書で使用するとき、「インストール済みアプリケーション」は、電子デバイス(例えば、デバイス100、300、及び/又は500)にダウンロードされ、デバイス上で起動する(例えば、開かれる)準備ができているソフトウェアアプリケーションを指す。いくつかの実施形態では、ダウンロードされたアプリケーションは、ダウンロードされたパッケージからプログラム部分を抽出し、抽出された部分をコンピュータシステムのオペレーティングシステムと統合するインストールプログラムによって、インストール済みアプリケーションになる。
本明細書で使用するとき、「開いているアプリケーション」又は「実行中のアプリケーション」という用語は、保持された状態情報を(例えば、デバイス/グローバル内部状態157及び/又はアプリケーション内部状態192の一部として)有するソフトウェアアプリケーションを指す。開いている又は実行中のアプリケーションは、任意選択的に、以下のタイプのアプリケーションのうちのいずれか1つである。
●アプリケーションが使用されているデバイスのディスプレイスクリーンに現在表示されているアクティブなアプリケーション、
●現在表示されていないが、アプリケーションに対する1つ以上のプロセスが1つ以上のプロセッサによって処理されている背景アプリケーション(又は背景プロセス)、並びに
●実行していないが、(それぞれ、揮発性及び不揮発性の)メモリに記憶されており、かつアプリケーションの実行を再開するために使用することができる状態情報を有する、中断又は休止状態のアプリケーション。
本明細書で使用するとき、「閉じているアプリケーション」という用語は、保持された状態情報を有していないソフトウェアアプリケーションを指す(例えば、閉じているアプリケーションに関する状態情報は、デバイスのメモリ内に記憶されていない)。したがって、アプリケーションを閉じることは、アプリケーションに対するアプリケーションプロセスを停止及び/又は削除し、アプリケーションに関する状態情報をデバイスのメモリから削除することを含む。概して、第1のアプリケーション中に第2のアプリケーションを開いても、第1のアプリケーションは閉じない。第2のアプリケーションの表示中、第1のアプリケーションの表示が中止されると、第1のアプリケーションは背景アプリケーションになる。
図5Cは、電子デバイス500Aと、500Bと、500Cとの間の通信セッションの例示的な図を示す。デバイス500A、500B、及び500Cは、電子デバイス500と同様であり、各々が、ある期間にわたってそれぞれのデバイス間のオーディオ及び/又はビデオデータのリアルタイム通信を容易にするように、インターネット接続、Wi-Fi接続、セルラー接続、短距離通信接続、及び/又は任意の他のこのようなデータ接続若しくはネットワークなどの1つ以上のデータ接続510を互いに共有する。いくつかの実施形態では、例示的な通信セッションは、電子デバイスにおけるそれぞれのコンテンツの同時出力を可能にするために、電子デバイスのうちの1つ以上から他の電子デバイスにデータが通信される共有データセッションを含むことができる。いくつかの実施形態では、例示的な通信セッションは、それぞれのデバイスのユーザが電子デバイスを使用してリアルタイム通信に関与することができるように、オーディオ及び/又はビデオデータがデバイス500Aと、500Bと、500Cとの間で通信されるビデオ会議セッションを含むことができる。
図5Cでは、デバイス500Aは、ユーザAに関連付けられた電子デバイスを表す。デバイス500Aは、ユーザB及びユーザCにそれぞれ関連付けられたデバイス500B及び500Cと(データ接続510を介して)通信している。デバイス500Aは、通信セッションのビデオデータをキャプチャするために使用されるカメラ501Aと、通信セッションに関連付けられたコンテンツを表示するために使用されるディスプレイ504A(例えば、タッチスクリーン)と、を含む。デバイス500Aはまた、通信セッションのオーディオを記録するためのマイクロフォン(例えば、113)及び通信セッションのオーディオを出力するためのスピーカ(例えば、111)などの他の構成要素を含む。
デバイス500Aは、ディスプレイ504Aを介して、デバイス500Bとデバイス500Cとの間の通信セッション(例えば、ビデオ会議セッション)を容易にするユーザインターフェースである通信UI520Aを表示する。通信UI520Aは、ビデオフィード525-1Aと、ビデオフィード525-2Aと、を含む。ビデオフィード525-1Aは、デバイス500Bにおいて(例えば、カメラ501Bを使用して)キャプチャされ、通信セッション中にデバイス500Bからデバイス500A及び500Cに通信されるビデオデータの表現である。ビデオフィード525-2Aは、デバイス500Cにおいて(例えば、カメラ501Cを使用して)キャプチャされ、通信セッション中にデバイス500Cからデバイス500A及び500Bに通信されるビデオデータの表現である。
通信UI520Aは、カメラ501Aを介してデバイス500Aにおいてキャプチャされるビデオデータの表現であるカメラプレビュー550Aを含む。カメラプレビュー550Aは、ユーザAに対して、それぞれのデバイス500B及び500Cに表示されるユーザAの予想されるビデオフィードを表す。
通信UI520Aは、通信セッションの1つ以上の態様を制御する1つ以上のコントロール555Aを含む。例えば、コントロール555Aは、通信セッションのオーディオをミュートする、通信セッションのカメラビューを変更する(例えば、通信セッションのビデオをキャプチャするためにどのカメラが使用されるかを変更する、ズーム値を調整する)、通信セッションを終了する、通信セッションのカメラビューに視覚的効果を適用する、通信セッションに関連付けられた1つ以上のモードをアクティブ化するためのコントロールを含むことができる。いくつかの実施形態では、1つ以上のコントロール555Aが、任意選択的に、通信UI520Aに表示される。いくつかの実施形態では、1つ以上のコントロール555Aは、カメラプレビュー550Aとは別個に表示される。いくつかの実施形態では、1つ以上のコントロール555Aは、カメラプレビュー550Aの少なくとも一部分にオーバーレイして表示される。
図5Cでは、デバイス500Bは、デバイス500A及び500Cと(データ接続510を介して)通信しているユーザBに関連付けられた電子デバイスを表す。デバイス500Bは、通信セッションのビデオデータをキャプチャするために使用されるカメラ501Bと、通信セッションに関連付けられたコンテンツを表示するために使用されるディスプレイ504B(例えば、タッチスクリーン)と、を含む。デバイス500Bはまた、通信セッションのオーディオを記録するためのマイクロフォン(例えば、113)及び通信セッションのオーディオを出力するためのスピーカ(例えば、111)などの他の構成要素を含む。
デバイス500Bは、タッチスクリーン504Bを介して、デバイス500Aの通信UI520Aと同様の通信UI520Bを表示する。通信UI520Bは、ビデオフィード525-1Bと、ビデオフィード525-2Bと、を含む。ビデオフィード525-1Bは、デバイス500Aにおいて(例えば、カメラ501Aを使用して)キャプチャされ、通信セッション中にデバイス500Aからデバイス500B及び500Cに通信されるビデオデータの表現である。ビデオフィード525-2Bは、デバイス500Cにおいて(例えば、カメラ501Cを使用して)キャプチャされ、通信セッション中にデバイス500Cからデバイス500A及び500Bに通信されるビデオデータの表現である。通信UI520Bはまた、カメラ501Bを介してデバイス500Bにおいてキャプチャされるビデオデータの表現であるカメラプレビュー550Bと、コントロール555Aと同様の、通信セッションの1つ以上の態様を制御するための1つ以上のコントロール555Bと、を含む。カメラプレビュー550Bは、ユーザBに対して、それぞれのデバイス500A及び500Cに表示されるユーザBの予想されるビデオフィードを表す。
図5Cでは、デバイス500Cは、デバイス500A及び500Bと(データ接続510を介して)通信しているユーザCに関連付けられた電子デバイスを表す。デバイス500Cは、通信セッションのビデオデータをキャプチャするために使用されるカメラ501Cと、通信セッションに関連付けられたコンテンツを表示するために使用されるディスプレイ504C(例えば、タッチスクリーン)と、を含む。デバイス500Cはまた、通信セッションのオーディオを記録するためのマイクロフォン(例えば、113)及び通信セッションのオーディオを出力するためのスピーカ(例えば、111)などの他の構成要素を含む。
デバイス500Cは、タッチスクリーン504Cを介して、デバイス500Aの通信UI520A及びデバイス500Bの通信UI520Bと同様の通信UI520Cを表示する。通信UI520Cは、ビデオフィード525-1Cと、ビデオフィード525-2Cと、を含む。ビデオフィード525-1Cは、デバイス500Bにおいて(例えば、カメラ501Bを使用して)キャプチャされ、通信セッション中にデバイス500Bからデバイス500A及び500Cに通信されるビデオデータの表現である。ビデオフィード525-2Cは、デバイス500Aにおいて(例えば、カメラ501Aを使用して)キャプチャされ、通信セッション中にデバイス500Aからデバイス500B及び500Cに通信されるビデオデータの表現である。通信UI520Cはまた、カメラ501Cを介してデバイス500Cにおいてキャプチャされるビデオデータの表現であるカメラプレビュー550Cと、コントロール555A及び555Bと同様の、通信セッションの1つ以上の態様を制御するための1つ以上のコントロール555Cと、を含む。カメラプレビュー550Cは、ユーザCに対して、それぞれのデバイス500A及び500Bに表示されるユーザCの予想されるビデオフィードを表す。
図5Cに示す図は、3つの電子デバイス間の通信セッションを表すが、通信セッションは、2つ以上の電子デバイス間で確立させることができ、通信セッションに参加するデバイスの数は、電子デバイスが通信セッションに参加する又は通信セッションから退出するにつれて変更することができる。例えば、電子デバイスのうちの1つが通信セッションから離れる場合、通信セッションへの参加を停止したデバイスからのオーディオ及びビデオデータは、参加しているデバイス上ではもはや表されない。例えば、デバイス500Bが通信セッションへの参加を停止した場合、デバイス500Aと500Cとの間のデータ接続510、及びデバイス500Cと500Bとの間のデータ接続510は存在しない。加えて、デバイス500Aはビデオフィード525-1Aを含めず、デバイス500Cはビデオフィード525-1Cを含めない。同様に、デバイスが通信セッションに参加した場合、参加デバイスと既存のデバイスとの間に接続が確立され、各デバイスが他のデバイスから通信されるデータを出力することができるように、ビデオデータ及びオーディオデータが全てのデバイス間で共有される。
図5Cに示す実施形態は、図6A~図6AS、図8A~図8Hに示す例示的な通信セッションを含む、複数の電子デバイス間の通信セッションの図を表す。いくつかの実施形態では、図6A~図6AS、図8A~図8Hに示す通信セッションは、通信セッションに参加している他の電子デバイスが図に示されていない場合でも、2つ以上の電子デバイスを含む。
次に、ポータブル多機能デバイス100、デバイス300、又はデバイス500などの電子デバイス上で実施されるユーザインターフェース(User Interface、「UI」)及び関連プロセスの実施形態に注目する。
図6A~図6ASは、いくつかの実施形態に係る、ビデオ会議セッションを管理するための例示的なユーザインターフェースを示す。これらの図におけるユーザインターフェースは、図7におけるプロセスを含む、以下で説明するプロセスを示すために使用される。いくつかの実施形態では、図6A~図6ASのユーザインターフェースを使用して、図9に関して以下で説明するプロセスを示すことができる。
本開示は、ビデオ会議セッションを管理するための実施形態を説明する。いくつかの実施形態では、ビデオ会議セッションは、それぞれのコンテンツが(共有セッションとも呼ばれる)共有コンテンツセッションに参加している複数のデバイスにおいて同時に出力され得る共有コンテンツセッションに関連して提供される。いくつかの実施形態では、共有コンテンツセッションが非アクティブであるか、又は進行中ではない間に、ビデオ会議セッションは進行中である。いくつかの実施形態では、ビデオ会議セッションは、共有コンテンツセッションと同時に進行中である。いくつかの実施形態では、共有コンテンツセッションは、ビデオ会議セッション又はビデオ会議セッションを提供するためのユーザインターフェースから開始される。いくつかの実施形態では、ビデオ会議セッションは、共有コンテンツセッション又は共有コンテンツセッションを提供するためのユーザインターフェースから開始される。
いくつかの実施形態では、共有コンテンツセッションに参加している複数のデバイスにおいて同時に出力される個別のコンテンツは、スクリーン共有コンテンツである。例えば、ホストデバイスの表示されるスクリーンのコンテンツが共有コンテンツセッションの参加者と共有され、参加者が、それぞれのデバイスにおいて、ホストデバイス(共有デバイス、又はスクリーンコンテンツが共有されているデバイス)のスクリーンコンテンツを、表示されるスクリーンコンテンツに対する任意の変更を含んで、リアルタイムで閲覧することができる。いくつかの実施形態では、それぞれのコンテンツは、共有コンテンツセッションの参加者のそれぞれのデバイスにおいて同時に出力される同期コンテンツである。例えば、参加者の各デバイスが、リモートサーバ(単数又は複数)及び/又はローカルメモリからそれぞれのコンテンツ(例えば、ビデオ、映画、TV番組、及び/又は歌)に別々にアクセスし、それぞれのデバイスがリモートサーバ及び/又はローカルメモリからそれぞれのコンテンツに別々にアクセスする際にコンテンツがそれぞれのデバイスにおいて(例えば、それぞれのデバイスにローカルなアプリケーションを介して)同時に出力されるようにし、それらのコンテンツのそれぞれの出力において同期される。いくつかの実施形態では、それぞれのデバイスは、同期を容易にするように(例えば、サーバを介して)情報を交換する。例えば、それぞれのデバイスは、他のデバイス上のコンテンツの出力に対してコマンドを実行するために、コンテンツの再生状態及び/又は再生位置情報、並びにローカルコマンド(例えば、再生、一時停止、停止、早送り、及び/又は巻戻し)の指示を共有することができる。ホストデバイスが、コンテンツをそれぞれのデバイスに送信しているのではなく、むしろ、再生状態及び/又は再生位置情報を含むより小さいデータパケットを送信しているので、再生状態及び/又は再生位置情報を共有することは、それぞれのデバイスにおいてコンテンツを同期させるためにより効率的かつ効果的である。加えて、それぞれのデバイスが各々、それぞれのデバイス及びデバイスの接続性(例えば、データ伝送及び/又は処理速度などのデータ接続条件)に適切なサイズ及び品質でコンテンツを出力し、それによって、それぞれのデバイスの各々において、よりカスタマイズされ、しかも同期された再生体験を提供する。いくつかの実施形態では、デバイスが共有コンテンツセッションに参加することを可能にするために、それぞれのデバイスにおいて(例えば、ダウンロード及び/又はインストールされる)アプリケーション(又は「アプリ」)を利用することが可能である。
本明細書で使用するとき、用語「共有」、「共有すること」、又は「共有される」は通常、コンテンツ(例えば、スクリーン共有コンテンツ及び/又は同期コンテンツ)が、共有コンテンツセッションに参加している複数のデバイスにおいて同時に出力される(例えば、閲覧及び/又は再生される)、又は出力されることが可能である状況を指すために使用される。特に断りのない限り、これらの用語は、「共有」されているコンテンツが、共有コンテンツセッションに参加している任意の特定のデバイスから、コンテンツが共有されている他のデバイスのいずれかに送信されることを必要としない。いくつかの実施形態では、共有コンテンツセッションにおいて共有されているコンテンツは、例えば、遠隔サーバ又は共有コンテンツセッションに参加しているデバイスのうちの1つ以外の別のソースから、それぞれのデバイス各々によって別々にアクセスされるコンテンツである。例えば、いくつかの実施形態では、映画などのメディアコンテンツが共有コンテンツセッションに参加しているデバイスで再生されているとき、それぞれの参加者が、共有コンテンツセッションの他の参加者とは別個に(けれども同時に)(例えば、映画アプリケーションから)映画にアクセスして再生している場合であっても、映画は参加者と共有されていると言われる。いくつかの実施形態では、スクリーン共有コンテンツは、ホストデバイスから、ホストデバイスのディスプレイスクリーン上に表示されるコンテンツを表す画像データを、共有コンテンツセッションに参加している他のデバイスに送信することによって、共有コンテンツセッションの参加者と共有される。
いくつかの実施形態では、共有コンテンツセッションが進行中である間、及び任意選択的に、コンテンツ(例えば、スクリーン共有コンテンツ及び/又は同期コンテンツ)が共有コンテンツセッションを介して共有されている間、共有コンテンツセッションの参加者がリアルタイムで互いに通話できるように、共有コンテンツセッション進行中に、1つ以上のオーディオチャネルがアクティブ化される(例えば、開かれる)。いくつかの実施形態では、共有コンテンツセッションが進行中である間、及び任意選択で、コンテンツが共有コンテンツセッションを介して共有されている間、共有コンテンツセッションの参加者がライブビデオ通信(例えば、ビデオチャット)に参加できるように、1つ以上のビデオチャネルが(例えば、それぞれのデバイスに対してローカルであるビデオ会議アプリケーションを介して)開かれる。これらの実施形態の様々な態様、及び共有コンテンツセッションの更なる詳細は、図面を参照して以下で説明される。
いくつかの実施形態では、コンテンツは、別のユーザインターフェース上に任意選択的にオーバーレイされるウィンドウとして表示され、それが表示されるユーザインターフェースとは別個に移動されることができる。いくつかの実施形態では、このようなウィンドウは、本明細書ではピクチャインピクチャウィンドウ又は「PiP」と呼ばれる。いくつかの実施形態では、PiPは、スクリーン共有コンテンツ及び/又は同期コンテンツなどの共有コンテンツを含むことができる。いくつかの実施形態では、PiPは、ビデオ会議からのビデオフィードなど、共有コンテンツセッションから独立したコンテンツを含むことができる(ただし、いくつかの実施形態では、このようなPiPは、共有コンテンツセッションに関連して表示されることができる)。
図6A~図6Sは、いくつかの実施形態に係る、ビデオ会議セッションに参加するための例示的なデバイス及びユーザインターフェースを示す。具体的には、これらのデバイスは、デバイス600(例えば、タブレット)と、デバイス601(例えば、ラップトップ)と、デバイス602(例えば、スマートフォン)とを含む。デバイスは、ディスプレイ(例えば、それぞれ600-1、601-1、及び602-1)と、1つ以上のカメラ(例えば、それぞれ600-2、601-2、及び602-2)と、1つ以上のマイクロフォンとを含む。デバイス600、601及び602は、デバイス100、300、及び/又は500の1つ以上の要素を含む。
本明細書で提供される実施形態では、デバイス600、601、又は602は、ビデオ会議及び/又は共有コンテンツセッションに関連付けられる機能のセットを実行するものとして説明することができる。これらの説明は、それぞれのデバイスによって実行される機能を限定することを意図するものではなく、むしろ、ビデオ会議及び/又は共有コンテンツセッションの様々な態様及び実施形態を示すために提供されるものである。したがって、別段の指定がない限り、デバイス600によって実行されるものとして説明される機能は、デバイス601及びデバイス602によって同様に実行されることが可能である。同様に、別段の指定がない限り、デバイス601によって実行されるものとして説明される機能は、デバイス600及び602によって同様に実行されることが可能であり、デバイス602によって実行されるものとして説明される機能は、デバイス600又は601によって実行されることが可能である。
図6A~図6ASは、グループの参加者間のビデオ会議セッションを示す例示的な実施形態を示す。ビデオ会議の参加者は、ビデオ会議において、それぞれの参加者に関連付けられたそれぞれのデバイスからのそれぞれのビデオフィードで表される。簡単にするために、参加者のそれぞれのビデオフィードは、シルエットの内側に番号を有するタイル610によって図中に表され、各番号は特定の参加者のビデオフィードに対応する。いくつかの実施形態では、タイルは、参加者が通話に参加した順序で番号付けされる。同様に、シルエットの内側にテキスト「me(私)」を有するタイル(例えば、タイル608)によって、デバイス600、601、又は602のカメラプレビュー(又はセルフビュー)のビデオフィードの表現が示される。図6A~図6Lでは、タイル608が、例えばカメラ600-2を使用して生成された、デバイス600のビデオフィードを表す。
図6Aでは、デバイス600は、ビデオ会議の参加者に対応するタイルを表示するための少なくとも2つの領域、すなわちメイン領域604及び名簿606を含むビデオ会議インターフェース605を表示する。いくつかの実施形態では、タイルは通常、メイン領域604に表示されるが、例えば、それぞれのタイルをメイン領域604に表示するのに十分な空間がない場合など、様々な基準に基づいて名簿606に表示することができる。
いくつかの実施形態では、名簿606に表示されるタイルは、メイン領域604に表示されるタイルよりも小さい。いくつかの実施形態では、名簿606に表示されるタイルは全て同じサイズで表示される。いくつかの実施形態では、カメラプレビューのタイル608は、名簿606に合わせて表示されるか、又は名簿606内に表示され、名簿606内のタイルと同じサイズで表示される。
名簿606は、いくつかの完全なタイル及び1つの(例えば、タイル608の下又は上に重なる)部分的なタイルを表示することができる。名簿606内の残りのタイルは非表示されていて、(例えば、ユーザ入力、又は話したり若しくは動いたりすることなどによってアクティブに参加している参加者の検出イベントのいずれかに応じて)名簿606をスクロールすることによって表示することができる。タイル608によってオーバーラップされる名簿606内のタイルは、名簿606内により多くのタイルが存在すること、及び/又は名簿606をスクロールできることを示すために、部分的に陰影を付けることができる。いくつかの実施形態では、名簿606内のタイルの順序は、参加者がビデオ会議セッションに参加する順序に依存する。いくつかの実施形態では、名簿606内のタイルの順序は、経時的に(例えば、参加者がビデオ会議セッションに参加する又はビデオ会議セッションから退出すると、あるいは参加者が、例えば、名簿606内のタイルのユーザ選択又は名簿606内に表されている参加者によるアクティブな参加により、メイン領域604に出入りすると)変化する。いくつかの実施形態では、名簿606内のタイルの順序は固定されている(例えば、名簿606内のタイルが表示される順序は、経時的に変化しない)。いくつかの実施形態では、名簿606内のタイルの順序は、グループに関連付けられたリストの順序(例えば、グループの作成時に、参加者がグループに追加された順序)に基づく。いくつかの実施形態では、メイン領域604内のタイルの表示(例えば、ビデオフィード)は、名簿606内のタイルの表示よりも高い頻度で更新される(例えば、名簿606内のタイルのビデオフィードは、メイン領域604内のタイルのビデオフィードよりも低い頻度で更新される)。
いくつかの実施形態では、タイルは、表示の優先度レベルに関連付けられ、より高い優先度を有するタイルがメイン領域に表示され、残りのタイル(又は残りのタイルのサブセット)が名簿に表示される。いくつかの実施形態では、より高い優先度を有するタイルは、よりアクティブな(又はより直近にアクティブな)参加者のビデオフィードを表示するタイル、コンテンツを共有しているか又は直近にコンテンツを共有した参加者に関連付けられるタイル、通話セッションにおいてより早くビデオ会議に参加した参加者、又はメイン領域における表示のために選択された(例えば、ピン留めされた)タイルである。いくつかの実施形態では、メイン領域にタイルを表示するのに十分な空間がない場合、より高い優先度を有するタイルを名簿に表示することができる。いくつかの実施形態では、タイルは、参加者の優先度が変わると、又は他の条件に応じて、メイン領域604から名簿606に(又はその逆に)移動される。いくつかの実施形態では、全てのタイルが名簿内で可視的であるとは限らない。このような場合、ユーザ入力(例えば、名簿上でのスワイプ又はドラッグジェスチャ)に応じて名簿をスクロールして、名簿に割り当てられた追加のタイルを表示することができる。いくつかの実施形態では、ユーザ入力(例えば、カメラプレビュー608上でのタップ)に応じて、カメラプレビュー608が名簿606の少なくとも一部分の上に表示され、名簿606内のタイルが、カメラプレビュー608の下にスクロールされるか、又は下からスクロールアウトされることができる。
いくつかの実施形態では、メイン領域604内のタイルは、グリッドビューが有効になっているか否かに基づいて、様々な配置で表示することができる。グリッドビュー設定が有効になっていると、デバイス600は、例えば、図6A~図6Lに示すように、タイルをグリッド配置で表示する。グリッドビュー設定が無効になっていると、デバイス600は、以下でより詳細に説明するように、タイルをオーバーラップ又は非グリッド表示配置で表示する(図6Z又は図8Hを参照)。
ビデオ会議インターフェース605はまた、ビデオ会議に関連付けられた情報及び様々なコントロールを含むコントロール領域612と、任意選択的に、ビデオ会議セッションと同時にアクティブである共有コンテンツセッションとを含む。図6Aでは、コントロール領域612は、「登山家」と呼ばれるグループの4人の参加者がビデオ会議セッションにおいて現在アクティブであることを示す状態領域612-1を含む。コントロール領域612はまた、ビデオ会議及び/又は共有コンテンツセッションの動作、パラメータ、及び/又は設定を制御するために選択可能な様々なオプションを含む。例えば、いくつかの実施形態では、メッセージオプション612-2を選択して、登山家グループのメンバー間のメッセージ会話を閲覧するためのメッセージインターフェースを表示することができる。いくつかの実施形態では、マイクオプション612-3を選択して、ビデオ会議及び/又は共有コンテンツセッションのために使用されるマイクロフォンを有効若しくは無効にし、又はそれに関する設定を変更することができる。いくつかの実施形態では、カメラオプション612-4を選択して、登山家グループとのビデオ会議セッションを開始し、進行中のビデオ会議セッションを閲覧し、カメラを有効/無効にし、並びに/又はビデオ会議及び/若しくは共有コンテンツセッションで使用する異なるカメラを選択することができる。いくつかの実施形態では、共有オプション612-5は、様々なメディア再生設定を表示及び/又は変更するために、又はデバイス600のスクリーン上に表示されているコンテンツがビデオ会議の参加者と(例えば、共有コンテンツセッションを介して)共有されるスクリーン共有オプションを開始するために選択可能である。いくつかの実施形態では、退出オプション612-6は、デバイス600にビデオ会議及び/又は共有コンテンツセッションを退出させるために選択可能である。いくつかの実施形態では、状態領域612-1を選択して、登山家グループに関する情報、並びに/又はビデオ会議及び/若しくは共有コンテンツセッションに関する他の設定を閲覧することができる。例えば、いくつかの実施形態では、状態領域612-1を選択して、グリッドビュー設定を有効又は無効にするオプションを含むグループカードを表示することができる。
図6A~図6Hは、参加者がビデオ会議セッションに参加するときのビデオ会議インターフェース605の進行を示す例示的な実施形態を示す。いくつかの実施形態では、タイルの配置は、ビデオ会議インターフェース605を閲覧しているユーザを混乱させたり困惑させたりすることを回避するように、参加者が通信セッションに参加又は退出する際のタイルの移動及び/又は再配置を低減(例えば、最小化)させながら、表示されるタイル配置の美観、タイルを表示するために利用可能な空間、タイルの優先度、及び表示されるタイルのサイズなどの様々な要因のバランスをとるように、(例えば、デバイス600によって)自動的に決定される。
図6Aでは、デバイス600は、ビデオ会議の参加者1~3に対応するタイル610-1、610-2、及び610-3を表示する。タイルは、メイン領域604に単一の行で表示されており、名簿606にはタイルが表示されていない。いくつかの実施形態では、参加者1~3がビデオ会議に参加すると、参加している参加者に対応するタイルがメイン領域604に追加され、既存のタイルの位置をシフトさせ、任意選択でそのサイズを変更する。例えば、参加者1がビデオ会議における唯一の遠隔参加者であるとき、タイル610-1は拡大されたビューで(例えば、フルスクリーンで、又はシステム状態情報及び/又はシステムコントロール用に指定されたスクリーンの部分の外側のスクリーンの全てを使用して)表示され、参加者2が参加すると、タイル610-1はサイズが縮小され、タイル610-1と同じサイズで表示される参加者2のタイル610-2と共にメイン領域604内に表示される。
いくつかの実施形態では、それぞれの参加者は、タイル内に表される参加者の活動(例えば、話をしている、コンテンツを共有している、コンテンツを再生している、及び/又はカメラフィード内で移動している)に基づいて、アクティブな(又は最もアクティブな)参加者であると決定される。デバイス600は、ビデオ会議インターフェース605の視聴者に視覚フィードバックを提供するために、アクティブな参加者のタイルを強調してアクティブな参加者を識別する。例えば、図6Aでは、参加者1が最もアクティブな参加者であり、したがって、デバイス600は、(他のタイルと比較して)拡大されたサイズになったタイル610-1を表示し、タイル610-1にシミュレーションされた深度を提供するために、影609を含める。
いくつかの実施形態では、ビデオ会議インターフェース605は、(例えば、図6Aに示すような)ビデオ会議インターフェース605内の参加者の表現がグリッドパターンで表示されるモードと、(例えば、図6Zに示すような)参加者の表現がオーバーラップ配置で表示されるモードとの間で変更するために選択することができる配置選択オプション672を含む。いくつかの実施形態では、配置選択オプション672は、(グリッドビュー又はグリッド配置とも呼ばれる)グリッドパターンオプションが利用可能であることを(例えば、テキスト「グリッド」を介して)示す。いくつかの実施形態では、配置選択オプション672は、グリッドパターンが有効になっている場合に視覚的に強調され(例えば、ハイライトされ、太字にされ、輪郭が描かれ、及び/又は塗りつぶされ)、グリッドパターンが有効になっていない(例えば、オーバーラップ配置が有効になっている)場合には視覚的に強調されない。配置選択672の特徴はまた、図6X、図6Z、及び図6AH~図6ASを参照して説明される。
図6Bでは、参加者4がビデオ会議に参加し、デバイス600はタイル610-4を、タイル610-1~604-3と共にメイン領域610内に表示する。タイル610-4がメイン領域604に追加されると、タイルは、タイル610-1及び610-2が一番上の行にあり、タイル610-3及び610-4が一番下の行にある、2×2配置で表示される。参加者1は、最もアクティブな参加者であり続ける。
図6Cでは、参加者5及び6がビデオ会議に参加し、デバイス600は、対応するタイル610-5及び610-6をメイン領域604内に表示する。デバイス600は、タイル610-1~610-3が一番上の行にあり、タイル610-4~610-6が一番下の行にある、2×3配置でタイルを表示する。ここで、参加者3が最もアクティブな参加者であると決定される。したがって、デバイス600は、タイル610-1を非強調状態に戻し、タイル610-3のサイズを増大させ、タイル610-3の周りに影609を表示する。
図6Dでは、参加者7及び8がビデオ会議に参加し、デバイス600は、メイン領域604内に新しい列に対応するタイル610-7及び610-8を表示する。デバイス600は、追加分の新しいタイルを収容するために、タイル610-1~610-6のサイズを縮小し、タイル610-7を一番上の行の終端に追加し、タイル610-8を一番下の行の終端に追加し、2×4配置でタイルを表示する。参加者3は、最もアクティブな参加者であり続ける。
図6Eでは、参加者9~12がビデオ会議に参加し、デバイス600は、メイン領域604内に新しい行に対応するタイル610-9~610-12を表示する。デバイス600は、タイル610-9~610-12からなる追加分の新しい行を収容するために、タイルのサイズを縮小し、3×4配置でタイルを表示する。ここで、参加者9が、タイル610-9の(他のタイルに対して)大きくなったサイズ及び影609によって示されるように、最もアクティブな参加者であると決定される。
図6Fでは、参加者13~15がビデオ会議に参加し、デバイス600は、メイン領域604内に新しい列に対応するタイル610-13~610-15を表示する。デバイス600は、タイル610-13~610-15からなる追加分の新しい列を収容するために、タイルのサイズを縮小し、3×5配置でタイルを表示する。参加者9は、最もアクティブな参加者であり続ける。
図6Gでは、参加者16~18がビデオ会議に参加し、デバイス600は、メイン領域604内に新しい列に対応するタイル610-16~610-18を表示する。デバイス600は、タイル610-16~610-18からなる追加分の新しい列を収容するために、タイルのサイズを縮小し、3×6配置でタイルを表示する。ここで、参加者8が最もアクティブな参加者である。
デバイス600がメイン領域604を埋めると、デバイスは追加の参加者を名簿606に配置し始める。例えば、図6Hでは、コントロール領域612の状態領域における26人のアクティブ参加者の表示によって示されるように、参加者19~25が、ビデオ会議に参加した。メイン領域604内のグリッドに行又は列を追加するのではなく、デバイス600は、タイル610-19~610-23によって示されるように、名簿606内に追加のタイルを表示する。デバイス600は、参加者19~25のタイルを名簿に割り当てるが、図6Hに示す実施形態では、ディスプレイ601上には名簿内の全てのタイルを表示するのに十分な空間がない。したがって、図6Hに示すように、名簿606内のタイルのいくつか、具体的には、参加者24及び25のタイルは表示されていない。しかしながら、これらの追加の名簿タイルは、ビデオ会議インターフェース605内のタイルの配置を操作することによって見せることができる。例えば、名簿606をスクロールして、追加のタイルを表示することができる。別の例として、メイン領域604の寸法を、メイン領域604内に追加分のタイルを収容するために、大きくするか、又は別様に変更することができる。このような実施形態が図6Iに示されている。
図6Iでは、デバイス600が回転され、ビデオ会議インターフェース605が横向きから縦向きに変更される。回転された向きの結果として、及び、いくつかの実施形態では、タイルのアスペクト比に起因して、デバイス600は、ビデオ会議インターフェース605が横向きであるときよりも多くのタイルをメイン領域604内に収容する。したがって、デバイス600は、タイルのうちのいくつか(例えば、名簿内のタイルのうちの優先度が最も高いタイル)を名簿606からメイン領域604に移動させる。具体的には、タイル610-19及び610-20が名簿606からメイン領域604に移動され、名簿606内のタイルは、タイル610-19及び610-20をメイン領域604に移動させることによって生じた空白を埋めようにスライドし、それによって、参加者24及び25にそれぞれ対応するタイル610-24及び610-25が見えるようになる。
いくつかの実施形態では、デバイス600がビデオ会議インターフェース605の向きを回転させると、デバイス600は、表示されているタイルの再配置を回避又は最小化するために、タイルのうちのいくつかの相対場所を維持する。例えば、図6Iでは、デバイス600は、タイル610-1~610-12の互いに対する場所を保持し(図6Hに示す最初の4列及び上の3行に配置されるままである)、タイル610-13~610-18を一番右の2列(図6Hに示すとおり)から図6Iの下の2行に移動させ、タイル610-19及び610-20で配置における最後の2つのスポットを埋める。タイル610-13~610-18が移動されているが、デバイス600は、それらのタイルのサブセットの相対場所を依然として維持している。例えば、タイル610-13と610-16は、タイル610-14と610-17、並びにタイル610-15と610-18と同様に、互いに隣接して配置されるままである。いくつかの実施形態では、図6Hの配置から図6Iの配置への遷移はアニメーションとして表示され、図6Hの一番右の2列(例えば、タイル610-13~610-18)は、デバイス600が回転されると表示からフェードアウトし、図6Iのタイル610-19及び610-20と共に下の2行において表示にフェードインする一方で、残りのタイルは、直立表示位置に留まるように、表示されたまま、その場で回転する。
いくつかの実施形態では、図6Hから図6Iへのタイルの再配置は、デバイス600を再び回転させることによって反転させることができる。図6Jでは、デバイス600は横向きに戻されている。したがって、図6H及び図6Iに関して上で説明した遷移が反転され、タイル610-19及び610-20-20をメイン領域604から名簿606に移動され、タイル610-24及び610-25をスクリーン外にスライドされる(例えば、カメラプレビュー608の後ろでスクリーン外にスクロールさせる)。加えて、タイル610-13~610-18は、図6Iの下の2行から図6Jの一番右の2列に移動される。いくつかの実施形態では、この遷移はアニメーションとして表示され、図6Iの下の2行(例えば、タイル610-13~610-20)は、デバイス600が回転されると表示からフェードアウトし、それぞれの場所(例えば、名簿606内のタイル610-19及び610-20、並びに図6Jの一番右の2列内のタイル610-13~610-18)で表示にフェードインする一方で、残りのタイルは、直立視聴位置に留まるように、表示されたまま、その場で回転する。
図6Jでは、参加者のうちの1人(例えば、参加者2)が、ビデオ会議セッションにおいて(例えば、共有コンテンツセッションを介して)視聴するためにコンテンツ(例えば、TV番組)を選択したことを示す通知614が表示されている。参加者2が、登山家グループと共有するためのコンテンツを選択したので、ここで、参加者2が最もアクティブな参加者であることを示すためにタイル610-2が強調される。通知614は、デバイス600においてコンテンツの再生を開始するために選択することができるオプション614-1を含み、再生は、それぞれのデバイスを使用してコンテンツを再生している登山家グループの他の参加者とも同期される。オプション614-1を選択する入力615-1に応じて、デバイス600は、図6Kに示すように、TVアプリを起動して、参加者2が登山家グループのために選択したTV番組を再生し始める。いくつかの実施形態では、共有コンテンツの再生は、例えば、共有コンテンツセッションに関する設定及び/又は特定のアプリ(TVアプリなど)に関する設定を含む、各種デバイス設定に従って、デバイス600において処理される。図6Jに示す実施形態では、デバイス600の設定は、デバイス600が(例えば、通知614を表示することによって)共有コンテンツを再生するようにユーザに促すようなものである。しかしながら、いくつかの実施形態では、デバイス600の設定は、グループと共有するために選択されたコンテンツが、(例えば、通知614を表示することなく)デバイス600で自動的に再生されるように設定することができる。
図6Kでは、デバイス600はTVアプリを起動して、登山家グループのために参加者2によって選択されたTV番組を再生する。TV番組コンテンツは、デバイス600においてコンテンツPiP620内に表示される。いくつかの実施形態では、デバイス600は、ビデオ会議インターフェース605内のタイルをコンテンツPiP620にオーバーレイして表示する。いくつかの実施形態では、デバイス600は、コンテンツPiP620によってオーバーレイされることを回避するように、タイルの表示を再配置する。コンテンツPiP620は、再生を調整(例えば、一時停止、再生、早送り、巻き戻し、及び/又はスキップ)するための再生コントロール620-2と、表示されているコンテンツにわたってスクラブするために選択することができる、経過した再生時間を示すスクラブバー620-1とを含む。コンテンツPiP620は、(例えば、ドラッグ入力に応じて)移動されること、(例えば、ピンチ又はピンチ解除ジェスチャに応じて)サイズ変更されること、(例えば、コンテンツPiP620をディスプレイ600-1の端部にドラッグすることに応じて)最小化されること、又は(例えば、拡大用アフォーダンス620-3の選択に応じて)(例えば、拡大ビュー、フルスクリーンビュー、又はシステム状態情報及び/若しくはシステムコントロール用に指定されたスクリーンの部分の外側のスクリーンの全てを使用するビューに)拡大されることを含め、デバイス600のディスプレイ上で操作することができる。コンテンツの再生は、閉じ用アフォーダンス620-4を選択することによって終了することができる。いくつかの実施形態では、コンテンツの再生を終了することはまた、登山家グループの他のメンバーのそれぞれのデバイスにおける同じコンテンツの再生を終了する。同様に、コンテンツの再生を調整すること(例えば、コンテンツを再生すること、一時停止すること、スクラブすること)はまた、登山家グループのメンバーが他のメンバーと共有コンテンツを同期して体験することができるように、登山家グループの他のメンバーのそれぞれのデバイスにおけるコンテンツの再生を調整する。同様に、登山家グループの他のメンバーは、それぞれのデバイスで表示されているコンテンツの再生コントロールを操作することによって、デバイス600のコンテンツPiP620内のコンテンツの再生を制御することができる。いくつかの実施形態では、メンバーは、ビデオ会議セッションのオーディオ及びビデオチャネルを介して互いに同時に対話しながら、共有コンテンツを体験(例えば、視聴)することができる。
図6Lでは、デバイス600は、コンテンツPiP620内でTV番組を再生し続ける。コンテンツPiP620の再生コントロール及び他の要素は、(例えば、コンテンツPiP620への入力なしで所定の時間量が経過すると)自動的に消去される。加えて、ここで、参加者10が最もアクティブな参加者であり(例えば、参加者10がテレビ番組について話し始めた)、参加者6はビデオ会議セッションを退出した。いくつかの実施形態では、デバイス600は、参加者がビデオ会議を退出した場合であっても、タイルの表示される配置を再配置することを回避する。例えば、図6Lでは、デバイス600は、退出した参加者に対応するタイル610-6の表示を停止し、グリッド内に空白622を残す。いくつかの実施形態では、デバイス600は、退出した参加者のタイルを名簿606からのタイルで置き換えることによって、空白を埋める。
図6M~図6Pは、デバイス601を使用して表示されるビデオ会議インターフェースの例示的な実施形態を示す。デバイス601は、ディスプレイ601-1と、カメラ601-2と、キーボード601-3と、を含む(任意選択的に、トラックパッド、マウス、又は他の入力デバイスを含む)。デバイス601は、ビデオ会議インターフェース605と同様のビデオ会議インターフェースを、ビデオ会議ウィンドウ630に表示する。ビデオ会議ウィンドウ630は、(メイン領域604と同様の)メイン領域634及び(名簿606と同様の)名簿636に表示される様々な(タイル610と同様の)タイル640と、(カメラプレビュー608と同様の)カメラプレビュー638と、コントロール領域612に表示されるものと同様の様々なコントロールを含むコントロール領域632と、を含む。カメラプレビュー638は、カメラ601-2のビデオフィードの少なくとも一部分を表す。いくつかの実施形態では、ビデオ会議ウィンドウ630は、図6A、図6X、図6Z、及び図6AH~図6ASを参照して説明するものと類似の方法で、メイン領域634内のタイル640のグリッドパターンとオーバーラップ配置との間で変更するために選択することができる配置選択オプション672を含む。
図6Mでは、デバイス601は、タイル640-1~640-9をメイン領域634内にグリッド配置で表示し、タイル640-10及び640-11を名簿636内に表示する。タイル640-1は、参加者1が最もアクティブな参加者であることを示すために、わずかに拡大されたサイズ及び影639で強調されて示されている。デバイス601は、マウス、トラックパッド、又は他の入力デバイスを使用した入力615-2(例えば、カーソルによるクリックアンドドラッグジェスチャ)を検出する。入力615-2に応じて、デバイス601は、図6Nに示すように、どのタイルもメイン領域634から名簿636に(又はその逆に)移動させることなしに、タイル640-1~640-11及びカメラプレビュー638を縮小することを含めて、ビデオ会議ウィンドウ630をわずかにサイズ変更する(例えば縮小する)。いくつかの実施形態では、サイズ変更は、ウィンドウ630を拡大することによって反転させる(例えば、タイル及びカメラプレビューを拡大する)ことができる。
図6Nでは、デバイス601は、入力615-3又は615-4を検出する。入力615-3は、ビデオ会議ウィンドウ630を狭くするためのクリックアンドドラッグジェスチャである。入力615-4は、ビデオ会議ウィンドウ630を短くするためのクリックアンドドラッグジェスチャである。これらのそれぞれの入力の結果は、以下でより詳細に説明するように、それぞれ図6O及び図6Pに示している。
図6Oは、狭窄化ジェスチャ入力615-3の結果を示す。デバイス601は、メイン領域634を狭くすることを含め、ウィンドウ630を狭くする。その結果、メイン領域634の寸法は水平方向に減少し、デバイス601は、タイルの一番右の列をメイン領域634から名簿636に移動させる。具体的には、タイル640-3、640-6、及び640-9が、メイン領域634から名簿636に、やはり名簿内にあるタイル640-10及び640-11の隣に移動される。いくつかの実施形態では、ウィンドウ630の狭窄化は、(例えば、ウィンドウ630の側端部をクリック及びドラッグしてウィンドウを広げることによって)反転させることができ、これはまた、タイル640-3、640-6、及び640-9を名簿636からメイン領域634に移動させることによってタイルの配置を反転させる。
図6Pは、短縮化入力615-4の結果を示す。デバイス601は、メイン領域634を短くすることを含め、ウィンドウ630を短くする。その結果、メイン領域634の寸法は垂直方向に減少し、デバイス601は、タイルの一番下の行をメイン領域634から名簿636に移動させる。具体的には、タイル640-7、640-8、及び640-9が、メイン領域634から名簿636に、やはり名簿内にあるタイル640-10及び640-11の隣に移動される。いくつかの実施形態では、ウィンドウ630の短縮化は、(例えば、ウィンドウ630の上端部をクリック及びドラッグしてウィンドウを長くすることによって)反転させることができ、これはまた、タイル640-7、640-8、及び640-9を名簿636からメイン領域634に移動させることによってタイルの配置を反転させる。
図6Q~図6AGは、デバイス602を使用して表示されるビデオ会議インターフェースの例示的な実施形態を示す。デバイス602は、ディスプレイ602-1と、カメラ602-2とを含む。デバイス602は、ビデオ会議インターフェース605及びビデオ会議ウィンドウ630と同様のビデオ会議インターフェース650を表示する。ビデオ会議インターフェース650は、(メイン領域604及びメイン領域634と同様の)メイン領域654に表示される様々な(タイル610及びタイル640と同様の)タイル660と、(カメラプレビュー608及びカメラプレビュー638と同様の)カメラプレビュー658と、(コントロール領域612と同様)コントロール領域652とを含む。カメラプレビュー658は、カメラ602-2のビデオフィードを表す。いくつかの実施形態では、名簿内にタイルがない場合、名簿は表示されない。例えば、図6Qでは、デバイス602はタイル660-2を、メイン領域654内で、適用可能な場合(例えば、図6Vに示すように)、典型的には名簿を表示するディスプレイ602-1の領域に部分的に位置するように表示する。
図6Qでは、デバイス602は、タイル660-1及び660-2をメイン領域654内に表示する。参加者2が、タイル660-2の拡大されたサイズ及び影659によって示されるように、最もアクティブな参加者である。カメラプレビュー658は、タイル660-2にオーバーラップして表示されている。デバイス602は、タイル660-2上の入力615-5を検出し、それに応じて、図6Rに示すように、タイル660-2をカメラプレビュー658の前に移動させ、タイル660-2に関連付けられた追加のコントロール及び要素を表示する。具体的には、デバイス602は、参加者名664、キャプチャ用アフォーダンス662、及び拡大用アフォーダンス666を表示する。キャプチャ用アフォーダンス662を選択して、タイル660-2の画像をキャプチャすることができ、拡大用アフォーダンス666を選択して、タイル660-2を拡大することができる(例えば、ピン留めビュー、フルスクリーンビュー、又はシステム状態情報及び/若しくはシステムコントロール用に指定されたスクリーンの一部分の外側のスクリーンの全てを使用するビューにおいて)。
いくつかの実施形態では、デバイスは、メイン領域内の利用可能な空間に基づいて、ビデオ会議インターフェース内に表示されるタイルのサイズ及び/又は配置を調整する。例えば、図6Sでは、コントロール領域652は所定の時間の後に消失し、デバイス602は、コントロール領域652の削除によって生じた利用可能な空間を埋めるように、タイル660-1及び660-2を拡大し、位置をシフトさせる。逆に、コントロール領域652が表示されると、デバイス602は、(例えば、図6Qに示すように)コントロール領域のための空間を作るために、タイル660-1及び660-2をサイズ変更し、位置をシフトさせる。図6Tでは、参加者3がビデオ会議セッションに参加し、それに応じて、デバイス602は、タイル660-3をメイン領域654に表示し、タイル660-1及び660-2を縮小してタイル660-3のための空間を作る。図6Uでは、参加者4がビデオ会議セッションに参加し、それに応じて、デバイス602は、タイル660-4をメイン領域654内に表示し、タイル660-4を収容するために、タイル660-1~660-3を縮小し、再配置する。
図6Vは、参加者5~11がビデオ会議セッションに参加した後のデバイス602を示す。タイル660-5及び660-6はメイン領域654に表示され、タイル660-7~660-9は名簿656に示され、タイル660-9はカメラプレビュー658の後ろに配置される。入力615-6に応じて、デバイス602は、名簿656内のタイルをスクロールして、図6Wのタイル660-9~660-11を表示する。ここで、参加者4が最もアクティブな参加者であり、デバイス602は名簿を反対方向にスクロールする入力615-7を検出し、それによって、図6Xに示すように、タイル660-10及び660-11を非表示し、タイル660-7及び660-8を再表示する。
図6Xでは、図6Wにおける入力615-20(例えば、タップ)を検出したことに応じて、デバイス602はコントロール領域652及び配置選択オプション672を表示し、コントロール領域652の表示を収容するために、タイル660-1~660-6をシフトさせ、サイズ変更する。デバイス602は、コントロール領域652の状態領域652-1で入力615-8を検出し、それに応じて、図6Yに示すように、グループカードインターフェース665を表示する。いくつかの実施形態では、グループカードインターフェース665は、グリッドビュー構成を有効又は無効にするオプションを含む。例えば、図6Yでは、デバイス602は、グリッドビューオプション668が有効になっている状態で示されているグループカードインターフェース665を表示する。いくつかの実施形態では、グリッドビューオプション668は、グループカードインターフェース665内の異なる場所に配置される。例えば、グリッドビューオプション668は、参加者のリストの下に表示され(任意選択的に、[招待リンクをコピーする]を有する領域に含まれる)、いくつかの実施形態では、(例えば、多数の参加者がいる場合)グループカードインターフェース665をスクロールすると表示される。図6Yでは、デバイス602は、グリッドビュー構成を無効にするための、グリッドビューオプション668を選択する入力615-9を検出し、ビデオ会議インターフェース650に戻るための入力615-10を検出する。図6Zでは、デバイス602は、グリッドビュー構成が無効になっている状態でビデオ会議インターフェース650を表示する。したがって、タイル660-1、660-2、及び660-3は、メイン領域654において非グリッド配置(例えば、オーバーラップ配置)で表示され、タイル660-4、660-5、及び660-6は、タイル660-6~660-11を有する名簿656に移動される。
いくつかの実施形態では、ビデオ会議インターフェース650は、図6Xにおける入力615-14(例えば、配置選択オプション672の選択)を検出したことに応じて、図6Xに示すグリッドパターンから図6Zに示すオーバーラップ配置に変化する。いくつかの実施形態では、ビデオ会議インターフェース650は、図6Xにおける入力615-13(例えば、接触615-13A及び615-13Bを含むジェスチャ)を検出したことに応じて、図6Xに示すグリッドパターンから図6Zに示すオーバーラップ配置に変化する。図6Xに示す実施形態では、入力615-13は、経時的に更に離れるように移動し、及び/又はユーザインターフェース内の参加者の表現(例えば、660)のうちの1つ以上に対応する場所を通って移動する2つの接触によるピンチ解除ジェスチャである。いくつかの実施形態では、ビデオ会議インターフェース650は、経時的に互いに近づき、ユーザインターフェース内の参加者の表現(例えば、660)のうちの1つ以上に対応する場所を通って移動する2つ以上の接触(例えば、615-15A及び615-15B)によるピンチジェスチャを検出したことに応じて、図6Xに示すグリッドパターンから図6Zに示すオーバーラップ配置に変化する。
いくつかの実施形態では、ビデオ会議インターフェース650は、図6Zにおける入力615-16(例えば、配置選択オプション672の選択)を検出したことに応じて、図6Zに示すオーバーラップ配置から図6Xに示すグリッドパターンに変化する。いくつかの実施形態では、ビデオ会議インターフェース650は、図6Zにおける入力615-15(例えば、接触615-15A及び615-15Bを含むジェスチャ)を検出したことに応じて、図6Zに示すオーバーラップ配置から図6Xに示すグリッドパターンに変化する。図6Zに示す実施形態では、入力615-15は、経時的に互いに近づくように移動し、及び/又はユーザインターフェース内の参加者の表現(例えば、660)のうちの1つ以上に対応する場所を通って移動する2つの接触によるピンチジェスチャである。いくつかの実施形態では、ビデオ会議インターフェース650は、経時的に更に離れて移動し、ユーザインターフェース内の参加者の表現(例えば、660)のうちの1つ以上に対応する場所を通って移動する2つ以上の接触(例えば、615-13A及び615-13B)によるピンチ解除ジェスチャを検出したことに応じて、図6Zに示すオーバーラップ配置から図6Xに示すグリッドパターンに変化する。
図6AAでは、入力なしで所定の時間が経過すると、又は図6Zにおける入力615-21(例えば、表現660に向けられていないビデオ会議インターフェース650におけるタップ)に応じて、デバイス602は、コントロール領域652を非表示にし、メイン領域654内のタイル660-1~660-3をサイズ変更し、シフトさせる。ここで、参加者2が、タイル660-2の拡大されたサイズ及び影659によって示されるように、最もアクティブな参加者である。
図6AB~図6AGは、共有コンテンツとのオーバーラップを回避するためにタイルを移動させるデバイス602の様々な実施形態を示す。図6ABでは、デバイス602は、(コンテンツPiP620と同様の)コンテンツPiP670内に共有コンテンツセッション(例えば、TV番組又は映画)からのメディアを再生している。タイル660-1及び660-2は、サイズ変更かつシフトされ、タイル660-3は、コンテンツPiP670の非オーバーラップ表示に適応するために、名簿656に移動される。デバイス602は、コンテンツPiP670上の入力615-11(例えば、ドラッグジェスチャ)を検出し、それに応じて、入力615-11が維持されている間、コンテンツPiP670をディスプレイ上で移動させる。コンテンツPiP670がディスプレイ上でドラッグされると、デバイス602は、図6ACに示すように、タイル660-1及び660-2をコンテンツPiP670の邪魔にならないように移動させる。
いくつかの実施形態では、デバイス602は、コンテンツPiP670の移動に適応するために、名簿656及びカメラプレビュー658を移動させる。例えば、図6ADでは、デバイス602は、コンテンツPiP670がディスプレイ602-1の下部に移動されると、名簿656及びカメラプレビュー658を移動させる。いくつかの実施形態では、デバイス602は、コンテンツPiP670の移動に適応するために、名簿656又はカメラプレビュー658を移動させない。例えば、コンテンツPiP670が、図6ACに示すように、名簿656及びカメラプレビュー658の上方でホバリングしており、入力615-11が終了する(例えば、指が持ち上げられる)と、デバイス602は、図6AEに示すように、名簿656及びカメラプレビュー658の上の場所にコンテンツPiP670を再配置し、タイル660-1及び660-2を再配置/サイズ変更する。図6AEでは、デバイス602は、入力615-12を検出し、それに応じて、図6AFに示すように、コンテンツPiP670をビデオ会議インターフェース650の上部に移動させる。
いくつかの実施形態では、デバイスは、ビデオ会議インターフェースの向きが変更されると、ディスプレイに対する表示要素(例えば、タイル)の場所を維持する。例えば、図6AGでは、デバイス602は、図6AFにおける縦向きから反時計回りに回転される。デバイス602は、ディスプレイ602-1に対するコンテンツPiP670、タイル660-1~660-5、及びカメラプレビュー658の場所を維持しながら、それぞれの要素を回転させて直立表示位置を維持する。いくつかの実施形態では、デバイス602は、任意選択的に、ディスプレイ602-1上のそれぞれの要素の位置を維持するために、コンテンツPiP670、タイル660-1、及び/又はタイル660-2をサイズ変更する。
図6AH~図6ASは、ビデオ会議インターフェース650の実施形態を示す。図6AH、図6AJ、図6AL、図6AN、図6AP、及び図6ARは、グリッドパターンが無効になっている(例えば、かつオーバーラップ配置が有効になっている)ビデオ会議インターフェース650を示し、図6AI、図6AK、図6AM、図6AO、図6AQ、及び図6ASは、グリッドパターンが有効になっている(例えば、かつオーバーラップ配置が無効になっている)対応するビデオ会議インターフェース650を示す。
図6AHは、ビデオ会議に2人のアクティブな参加者(例えば、1人の遠隔参加者(660-1によって表される参加者1)及びデバイス602に関連付けられた(カメラプレビュー658によって表される)参加者)が存在し、コントロール領域652が表示され、グリッドパターンが無効になっているときのビデオ会議インターフェース650を示す。参加者の数(2人の参加者)が所定数の参加者(例えば、3人の参加者、(図6AHのように)4人の参加者、又は5人の参加者)より少ないので、配置選択オプション672は図6AHに表示されていない。図6AIは、グリッドパターンが有効になっていることを除いて、図6AHと同じ条件下での(例えば、同じ2人の参加者がアクティブであり、コントロール領域652が表示されており、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。参加者の数(2人の参加者)が所定数の参加者(例えば、3人の参加者、(図6AIのように)4人の参加者、又は5人の参加者)より少ないので、配置選択オプション672は図6AIに表示されていない。図6AH及び図6AIに示す実施形態では、2人のアクティブな参加者がいるとき、グリッドパターンが無効になっているときと、グリッドパターンが有効になっているときのビデオ会議インターフェース650は同じである。
図6AJは、ビデオ会議に3人のアクティブな参加者がおり(例えば、図6AH及び図6AIと比較して、660-2によって表される参加者2がビデオ会議に参加している)、コントロール領域652が表示され、グリッドパターンが無効になっているときのビデオ会議インターフェース650を示す。参加者の数(3人の参加者)が所定数の参加者(例えば、3人の参加者、(図6AJのように)4人の参加者、又は5人の参加者)よりも少ないので、配置選択オプション672は図6AJに表示されていない。図6AKは、グリッドパターンが有効になっていることを除いて、図6AJと同じ条件下での(例えば、同じ3人の参加者がアクティブであり、コントロール領域652が表示されており、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。参加者の数(3人の参加者)が所定数の参加者(例えば、3人の参加者、(図6AKのように)4人の参加者、又は5人の参加者)よりも少ないので、配置選択オプション672は図6AKに表示されていない。図6AJ及び図6AKに示す実施形態では、3人のアクティブな参加者がいるとき、グリッドパターンが無効になっているときと、グリッドパターンが有効になっているときのビデオ会議インターフェース650は同じである。
図6ALは、ビデオ会議に4人のアクティブな参加者がおり(例えば、図6AJ及び図6AKと比較して、660-3によって表される参加者3がビデオ会議に参加している)、コントロール領域652が表示され、グリッドパターンが無効になっているときのビデオ会議インターフェース650を示す。参加者の数(4人の参加者)が所定数の参加者(例えば、3人の参加者、4人の参加者(図6ALのように)、又は5人の参加者)を満たし(例えば、それ以上であり)、かつコントロール領域652が表示されているので、配置選択オプション672が図6ALに表示されている。グリッドパターンが有効になっていないので、図6ALでは、配置選択オプション672は強調されていない(例えば、太字にされていない)。図6AMは、グリッドパターンが有効になっていることを除いて図6ALと同じ条件下での(例えば、同じ4人の参加者がアクティブであり、コントロール領域652が表示されており、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。参加者の数(4人の参加者)が所定数の参加者(例えば、3人の参加者、(図6AMのように)4人の参加者、又は5人の参加者)を満たし、コントロール領域652が表示されているので、配置選択オプション672が図6AMに表示されている。図6AJ及び図6AKに示す実施形態では、3人のアクティブな参加者がいるとき、グリッドパターンが無効になっているときと、グリッドパターンが有効になっているときのビデオ会議インターフェース650は同じである。グリッドパターンが有効になっているので、配置選択オプション672は、図6AMにおいて強調されている(例えば、太字にされている)。図6ALにおける配置選択オプション672の選択に対応する入力615-17(例えば、タップ)を検出したことに応じて、デバイス602はグリッドパターンを有効にし、(例えば、メイン領域654内のタイル660を含む)ビデオ会議インターフェース650を、図6ALにおけるオーバーラップ配置から図6AMにおけるグリッドパターンに変更し、配置選択オプション672を強調する。図6AMにおける配置選択オプション672の選択に対応する入力615-18(例えば、タップ)を検出したことに応じて、デバイス602はグリッドパターンを無効にし(例えば、オーバーラップ配置を有効にし)、(例えば、メイン領域654内のタイル660を含む)ビデオ会議インターフェース650を、図6AMにおけるグリッドパターンから図6ALにおけるオーバーラップ配置に変更し、配置選択オプション672を強調しない。
図6ANは、ビデオ会議に4人のアクティブな参加者(例えば、図6AL及び図6AMと同じ4人の参加者)が存在し、コントロール領域652及び配置選択オプション672が表示されておらず、グリッドパターンが無効になっているときのビデオ会議インターフェース650を示す。いくつかの実施形態では、デバイス602は、入力が受信されてから所定の時間が経過したという判定に応じて、又は図6ALにおける入力615-22(例えば、ビデオ会議インターフェース650上の、参加者の場所に対応していない場所でのタップ)を検出したことに応じて、コントロール領域652及び/又は配置選択オプション672の表示を中止する。いくつかの実施形態では、デバイス602は、図6ANにおける入力615-24(例えば、ビデオ会議インターフェース650上の、参加者の場所に対応していない場所でのタップ)を検出したことに応じて、コントロール領域652及び/又は配置選択オプション672を表示する(例えば、図6ALに示すようなビデオ会議インターフェース650を表示する)。図6AOは、グリッドパターンが有効になっていることを除いて図6ANと同じ条件下での(例えば、同じ4人の参加者がアクティブであり、コントロール領域652及び配置選択オプション672が表示されておらず、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。いくつかの実施形態では、デバイス602は、入力が受信されてから所定の時間が経過したという判定に応じて、又は図6AMにおける入力615-23(例えば、ビデオ会議インターフェース650上の、参加者の場所に対応していない場所でのタップ)を検出したことに応じて、コントロール領域652及び/又は配置選択オプション672の表示を中止する。いくつかの実施形態では、デバイス602は、図6AOにおける入力615-26(例えば、ビデオ会議インターフェース650上の、参加者の場所に対応していない場所でのタップ)を検出したことに応じて、コントロール領域652及び/又は配置選択オプション672を表示する(例えば、図6AMに示すようなビデオ会議インターフェース650を表示する)。いくつかの実施形態では、図6ANにおけるディスプレイ602-1上で入力615-25(例えば、図6Zを参照して説明したようなピンチ解除ジェスチャ又は図6Xを参照して説明したようなピンチジェスチャ)を検出したことに応じて、デバイス602は、グリッドパターンを有効にし、(例えば、メイン領域654内のタイル660を含む)ビデオ会議インターフェース650を、図6ANにおけるオーバーラップ配置から図6AOにおけるグリッドパターンに変更する。いくつかの実施形態では、図6AOのディスプレイ602-1上で入力615-27(例えば、図6Zを参照して説明したようなピンチ解除ジェスチャ又は図6Xを参照して説明したようなピンチジェスチャ)を検出したことに応じて、デバイス602は、グリッドパターンを無効にし(例えば、オーバーラップ配置を有効にし)、(例えば、メイン領域654内のタイル660を含む)ビデオ会議インターフェース650を、図6AOのグリッドパターンから図6ANのオーバーラップ配置に変更する。
図6APは、ビデオ会議に5人のアクティブな参加者がおり(例えば、660-4によって表される参加者4が、図6AN及び図6AOと比較してビデオ会議に参加している)、グリッドパターンが無効になっている(例えば、オーバーラップ配置が有効になっている)ときのビデオ会議インターフェース650を示す。グリッドパターンが無効になっているので、参加者4を表すタイル660-4は、名簿656においてカメラプレビュー658の隣に表示されている。参加者の数が所定の数(例えば、4人の参加者、(図6APのように)5人の参加者、又は6人の参加者)に増加している(又はそれを超えている)ときにグリッドパターンが無効になっていることに応じて、デバイス602は、グリッドパターンが利用可能であることを示す通知674を表示する(例えば、タイル660の一部又は全部を、例えば、オーバーラップ配置ではなく、図6APに示すグリッドパターンで表示することができる)。図6AQは、グリッドパターンが有効になっていることを除いて図6APと同じ条件下での(例えば、同じ5人の参加者がアクティブであり、コントロール領域652及び配置選択オプション672が表示されておらず、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。グリッドパターンが有効になっているので、参加者4を表すタイル660-4は、(例えば、名簿656内ではなく)メイン領域654内に表示されている。図6AQでは、参加者の数が所定の数(例えば、4人の参加者、(図6AQのように)5人の参加者、又は6人の参加者)に増加しているときにグリッドパターンが有効になっているので、デバイス602は、グリッドパターンが利用可能であることを示す通知674の表示を取り止める。図6APにおける通知674の選択に対応する入力615-19(例えば、タップ)を検出したことに応じて、デバイス602は、グリッドパターンを有効にし、(例えば、メイン領域654内のタイル660を含む)ビデオ会議インターフェース650を、(例えば、タイル660-4を名簿656からメイン領域654に移動させることを含め)図6APにおけるオーバーラップ配置から図6AQにおけるグリッドパターンに変更する。
図6ARは、ビデオ会議に7人のアクティブな参加者がおり(例えば、図6AP及び図6AQと比較して、660-5によって表される参加者5及び660-6によって表される参加者6がビデオ会議に参加している)、グリッドパターンが無効になっている(例えば、オーバーラップ配置が有効になっている)ときのビデオ会議インターフェース650を示す。グリッドパターンが無効になっているので、(例えば、図6AAに示すように)参加者5を表すタイル660-5及び参加者6を表すタイル660-6が名簿656内に表示されている。図6ARに示す実施形態では、デバイス602は、通知674の表示を中止しており、追加の参加者(例えば、参加者5及び/又は参加者6)がビデオ会議に参加したことに応じて、通知674を表示(例えば、再表示)しない。
図6ASは、グリッドパターンが有効になっていることを除いて図6ARと同じ条件下での(例えば、同じ7人の参加者がアクティブであり、コントロール領域652及び配置選択オプション672が表示されておらず、グリッドパターンが有効になっている)ビデオ会議インターフェース650を示す。グリッドパターンが有効になっているので、参加者5を表すタイル660-5及び参加者6を表すタイル660-6は、(例えば、名簿656内ではなく)メイン領域654内に表示されている。いくつかの実施形態では、参加者5を表すタイル660-5及び/又は参加者6を表すタイル660-6が、(例えば、メイン領域654内ではなく)名簿656内に表示される。
いくつかの実施形態では、図6AH~図6ASを参照して説明するビデオ会議インターフェース650に適用される技術は、ビデオ会議インターフェース605(及び任意選択的に、その中のタイル610及び/又はコントロール領域612)及び/又はビデオ会議ウィンドウ630内のビデオ会議インターフェース(及び任意選択的に、その中のタイル640及び/又はコントロール領域632)に適用される。
図7は、いくつかの実施形態に係る、コンピュータシステム(たとえば、600、601、又は602)を使用してビデオ会議セッションを管理するための方法を示すフロー図である。方法700は、1つ以上の表示生成構成要素(例えば、600-1、601-1、又は602-1)(例えば、ディスプレイコントローラ、タッチ感知ディスプレイシステム、スピーカ、骨伝導オーディオ出力デバイス、触知出力生成器、プロジェクタ、及び/又はホログラフィックディスプレイ)及び1つ以上の入力デバイス(例えば、600-1、601-3、又は602-1)(例えば、タッチ感知面、キーボード、マウス、トラックパッド、ジェスチャを検出するための1つ以上の光学センサ、ホバー入力を検出するための1つ以上の容量センサ、及び/又は加速度計/ジャイロスコープ/慣性測定ユニット)と通信しているコンピュータシステム(例えば、100、300、500、600、601、又は602)において実行される。方法700のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。
以下に説明するように、方法700は、ビデオ会議セッションを管理する直感的な方法を提供する。この方法は、ビデオ会議セッションを管理するユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより迅速かつより効率的にビデオ会議セッションを管理できるようにすることは、電力を節約し、バッテリ充電の間隔を長くする。
コンピュータシステムは、リアルタイム通信セッション(例えば、ビデオ通信セッション、オーディオ通信セッション、又はオーディオ/ビデオ通信セッション(例えば、ビデオチャット))のユーザインターフェース(例えば、605、630、又は650)(例えば、アプリケーションのインターフェース)を表示し、ユーザインターフェースは、リアルタイム通信セッションの参加者の複数の表現(例えば、タイル610、タイル640、又はタイル650)を含み、複数の表現は、リアルタイム通信セッションのユーザインターフェースの第1の領域(例えば、604、634、又は654)にグリッドパターン(例えば、1つ以上の行及び1つ以上の列を含むデカルトグリッド、2次元配列、キャンバス領域)で表示される参加者の表現の第1のセットと、第1の領域と視覚的に区別できる(例えば、第1の領域とオーバーラップしておらず、第1の領域から可視境界によって分離されている)ユーザインターフェースの第2の領域(例えば、606、636、又は656)(例えば、(ディスプレイの上部若しくは下部に沿う)単一の行又は(ディスプレイの左側若しくは右側に沿う)単一の列)に表示される参加者の第2のセットの表現(例えば、第1のセットと第2のセットは相互に排他的である)と、を含み、表現の第1のセットの表現は、表現の第2のセットの表現よりも大きい(例えば、表現の第1のセットの各表現が、表現の第2のセットの各表現よりも大きい、又は表現の第1のセットの一番小さい表現が、表現の第2のセットの一番大きい表現よりも大きい)(例えば、物理的に大きい、及び/又はより大きな物理サイズを有する)(702)。いくつかの実施形態では、表現の第1のセットは、表現の第2セットと同時に表示される。いくつかの実施形態では、グリッドパターンは、領域内に表されている参加者よりもアクティブであり、かつ/又は(例えば、参加者優先度基準に従って)優先度が高い参加者の表現を含む。
リアルタイム通信セッションの参加者の複数の表現(例えば、610、640、又は660)を含むリアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)を表示している間に、コンピュータシステム(例えば、600、601、又は602)は、第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化を検出する(例えば、第1の領域のサイズの変化(増加又は減少)及び/又はアスペクト比の変化(第1の領域の一方の寸法(幅)に対する他方の寸法(高さ)のサイズの変化)を検出する)(704)。いくつかの実施形態では、第1の領域の1つ以上の寸法の変化を検出することは、第1の領域を変更する要求を検出することを含む(例えば、である)。いくつかの実施形態では、第1の領域の1つ以上の寸法の変化を検出することは、リアルタイム通信セッションのユーザインターフェースに向けられた入力を検出することを含む(例えば、である)。
第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化を検出したことに応じて、コンピュータシステム(例えば、600、601、又は602)は、第1の領域の1つ以上の寸法の変化に基づいて、第1の領域(例えば、グリッド)に表示されるリアルタイム通信セッションの参加者の表現(例えば、610、640、又は660)の数を変更し(706)、これは、第1の領域内のそれぞれの参加者の第1の表現(例えば、図6Iの610-19及び/又は610-20)(例えば、図6Nの640-3、640-6、640-7、640-8、及び/又は640-9)(例えば、図6AAの660-3)を表示することを中止することと、第2の領域(例えば、606、636、又は656)において当該それぞれの参加者の第2の表現(例えば、図6Jの610-19及び/又は610-20)(例えば、図6Oの640-3、640-6、及び/又は640-9)(例えば、図6Pの640-7、640-8、及び/又は640-9)(例えば、図6ABの660-3)を表示することと、を含む。第1の領域の1つ以上の寸法の変化に基づいて第1の領域に表示されるリアルタイム通信セッションの参加者の表現の数を変更することにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、第1の領域の1つ以上の寸法の変化に基づいて、第1の領域(例えば、604、634、又は654)に表示されるリアルタイム通信セッションの参加者の表現の数を変更することは、第2の領域(例えば、606、636、又は656)にそれぞれの参加者の第1の表現(例えば、図6Jの610-19及び/又は610-20)(例えば、図6Oの640-3、640-6、及び/又は640-9)(例えば、図6Pの640-7、640-8、及び/又は640-9)(例えば、図6ABの660-3)を表示することを中止し、第1の領域に当該それぞれの参加者の第2の表現(例えば、図6Iの610-19及び/又は610-20)(例えば、図6Nの640-3、640-6、640-7、640-8、及び/又は640-9)(例えば、図6AAの660-3)を表示することを含む。いくつかの実施形態では、それぞれの参加者の第1の表現を第1の領域に表示することを中止し、当該それぞれの参加者の第2の表現を第2の領域に表示することは、当該それぞれの参加者を第1の領域から第2の領域に移動させることと呼ばれる。同様に、それぞれの参加者の第1の表現を第2の領域に表示することを中止し、当該それぞれの参加者の第2の表現を第1の領域に表示することは、当該それぞれの参加者を第2の領域から第1の領域に移動させることと呼ばれる。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)の(例えば、1つ以上の寸法の)サイズが(例えば、閾値サイズを超えて)小さくなると、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッションの参加者の1つ以上の表現(例えば、図6Iの610-19及び/又は610-20)(例えば、図6Nの640-3、640-6、640-7、640-8、及び/又は640-9)(例えば、図6AAの660-3)を、第1の領域から第2の領域(例えば、606、636、又は656)に移動させる(また、任意選択的に、リアルタイム通信セッションの参加者の1つ以上の表現を第1の領域から削除する)(例えば、コンピュータシステムは、第1の領域に表示されるリアルタイム通信セッションの参加者の表現の数を減少させる)。いくつかの実施形態では、第1の領域の(例えば、1つ以上の寸法の)サイズが(例えば、閾値サイズを超えて)大きくなると、コンピュータシステムは、リアルタイム通信セッションの参加者の1つ以上の表現(例えば、図6Iの610-19及び/又は610-20)(例えば、図6Nの640-3、640-6、640-7、640-8、及び/又は640-9)(例えば、図6AAの660-3)を第2の領域から第1の領域に移動させる(また、任意選択的に、リアルタイム通信セッションの参加者の1つ以上の表現を第2の領域から削除する)(例えば、コンピュータシステムは、第1の領域に表示されるリアルタイム通信セッションの参加者の表現の数を増加させる)。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化は、(例えば、図6H~図6Jに示すような)第1の領域の向きの(例えば、縦向きから横向きへ、又は横向きから縦向きへの)変化を含む。いくつかの実施形態では、コンピュータシステムは、第1の領域の長さ及び高さが異なるときに第1の領域の長さ及び高さをスワップさせるコンピュータシステム及び/又は表示生成構成要素の向きの変化、(例えば、回転)を検出したことに応じて、第1の領域の1つ以上の寸法を変更する。いくつかの実施形態では、第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化は、(例えば、図6M~図6Pに示すような)第1の領域の1つ以上の寸法(例えば、高さ及び/又は幅)のサイズの変化を含む。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化を検出することは、第1の領域が第1の状態(例えば、第1のサイズ)(例えば、図6Nの634)である間に行われる。いくつかの実施形態では、第1の領域(例えば、615-3又は615-4)の1つ以上の寸法の変化を検出したことに応じて、第1の領域の1つ以上の寸法の変化が、第1の状態から第2の状態(例えば、第1のサイズ変更後状態)(例えば、図6Oの634)への第1の領域(例えば、615-3)の変化に対応するという判定に従って、それぞれの参加者は、リアルタイム通信セッションの第1の参加者(例えば、タイル640-3、640-6、又は640-9に対応する参加者)であり(例えば、第1の領域が第2の状態に変更される場合、第1の参加者の表現は、第1の領域から第2の領域に移動される)、第1の領域の1つ以上の寸法の変化が、第1の状態から、第2の状態(例えば、第2のサイズ変更後状態)とは異なる第3の状態(例えば、図6Pの634)への第1の領域(例えば、615-4)の変化に対応するという判定に従って、それぞれの参加者は、リアルタイム通信セッションの第1の参加者とは異なるリアルタイム通信セッションの第2の参加者(例えば、タイル640-7、640-8、又は640-9に対応する参加者)である(例えば、第1の領域が第2の状態とは異なる第3の状態に変更される場合、第2の(別の)参加者の表現が第1の領域から第2の領域に移動される)。第1の領域の1つ以上の寸法の変化が、第2の状態又は第3の状態への変化に対応するという判定に従って、それぞれの参加者がリアルタイム通信セッションの第1又は第2の参加者であることにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、コンピュータシステムは、第1の領域がどのように変更されるかに応じて、異なる参加者を第2の領域に移動させる。
いくつかの実施形態では、第1の領域(例えば、634)の1つ以上の寸法の変化(例えば、615-2)を検出したことに応じて、かつ第1の領域に表示されているリアルタイム通信セッションの参加者の表現(例えば、640)の数を変更する前に、コンピュータシステム(例えば、600、601、又は602)は、(任意選択的に、第1の領域に表示されるリアルタイム通信セッションの参加者の表現の数を変更することなく)第1の領域の参加者の表現の第1のセットの1つ以上の表現(例えば、図6Nの640-1、640-2、640-3、640-4、640-5、640-6、640-7、640-8、及び/又は640-9)(例えば、表現のサブセット又は全ての表現)のサイズ(例えば、高さ及び/又は幅)を変更する(例えば、減少又は増加させる)。第1の領域内に表示されるリアルタイム通信セッションの参加者の表現の数を変更する前に、第1の領域内の参加者の表現の第1のセットの1つ以上の表現のサイズを変更することにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェース内の参加者の表現をユーザが手動で調整することを必要とせずに、参加者の表現の配置を維持しながら、第1の領域の表示サイズを自動的かつ動的に変更できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)の1つ以上の寸法の変化は、第1の領域の1つ以上の寸法の(例えば、サイズ閾値を満たさないサイズまでの)第1の(例えば、初期の)変化(例えば、615-2)(例えば、増加又は減少)と、それに続く第1の領域の1つ以上の寸法の(例えば、サイズ閾値を満たすサイズまでの)第2の(例えば、継続的又は追加の)変化(例えば、615-3又は615-4)を含み、第1の変化を検出したことに応じて、コンピュータシステム(例えば、600、601、又は602)は、第1の領域内の参加者の表現(例えば、図6Nの640-1、640-2、640-3、640-4、640-5、640-6、640-7、640-8、及び/又は640-9)のサイズを変化させる(例えば、それぞれ増加又は減少させる)が、第1の領域内に表示される参加者の表現の数を変更せず、第2の変化を検出したことに応じて、コンピュータシステムは、(例えば、図6O又は図6Pに示すように)第1の領域内に表示されるリアルタイム通信セッションの参加者の表現の数を変更する。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、第1の領域の1つ以上の寸法の変化が基準のセットを満たす(例えば、第1の領域の1つ以上の寸法のサイズが閾値サイズ以下に縮小された)という判定に従って、第1の領域(例えば、604、634、又は654)内に表示されるリアルタイム通信セッションの参加者の表現の数を変更する。例えば、第1の領域のサイズの縮小を検出したことに応じて、コンピュータシステムは、最初に、第1の領域のサイズが閾値サイズに縮小するまで(例えば、図6Nにおける)表現のサイズを低減し、この時点で、コンピュータシステムは、(例えば、図6O又は図6Pにおける)第1の領域に表示されるリアルタイム通信セッションの参加者の表現の数を変更する(例えば、減少させる)。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)に表示されるリアルタイム通信セッションの参加者の表現(例えば、610、640、又は660)の数は、最小表現サイズに基づく。最小表現サイズに基づいてリアルタイム通信セッションの参加者の表現の数を表示することにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて、第1の領域へ又は第1の領域から参加者の表現を自動的かつ動的に移動させるためのサイズ閾値を設定できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、第1の領域のサイズが領域サイズの第1の範囲内にあるという判定に従って、コンピュータシステムは、リアルタイム通信セッションの参加者の第1の数の表現を第1の領域内に表示し、第1の領域のサイズが領域サイズの第1の範囲内にないという判定に従って、コンピュータシステムは、リアルタイム通信セッションの参加者の、第1の数とは異なる第2の数の表現を第1の領域内に表示する。いくつかの実施形態では、領域サイズの第1の範囲は、参加者の表現が最大表現表示サイズを有する第1の最大領域サイズと、参加者の表現が最小表現表示サイズを有する第1の最小領域サイズと、を含む。いくつかの実施形態では、第1の領域のサイズが第1の最小領域サイズ未満に縮小される場合、コンピュータシステムは、第1の領域内のリアルタイム通信セッションの参加者の表現の数を減少させ、表現のサイズを(例えば、最大表現表示サイズに)大きくする。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)を表示している間に、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッションの参加者(例えば、リアルタイム通信セッションに参加する1人以上の参加者、リアルタイム通信セッションを退出する1人以上の参加者、増大した活動レベルを有する1人以上の参加者、減少した活動レベルを有する1人以上の参加者、第1の領域から(例えば、第2の領域に)移動される参加者の1つ以上の表現、及び/又は第1の領域に移動される参加者の1つ以上の表現)の1つ以上の表現の第1のセット(例えば、図6Lの610-6)の表示状態の変化を検出する。いくつかの実施形態では、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化を検出したことに応じて、コンピュータシステムは、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化(例えば、グリッド内のタイルの追加及び/又は削除)に基づいて、第1のセットに含まれていないリアルタイム通信セッションの参加者の1つ以上の表現の第2のセット(例えば、図6Lの610-1~610-5及び610-7~610-18のいずれか)の表示される位置を変更せずに(例えば、グリッド内の変化した状態を有さないタイルの表示される位置/配置を維持しながら)、グリッドパターン(例えば、604、634、又は654)に表示される参加者の表現の第1のセットを更新する。第1のセットに含まれていない参加者の1つ以上の表現の第2のセットの表示される位置を変更することなしに、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化に基づいて、グリッドパターンに表示される参加者の表現の第1のセットを更新することにより、コンピュータシステムは、第2のセットにおける参加者の表現の表示される配置を維持するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚的フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、グリッド内のタイル(例えば、610、640、又は660)の移動を最小限にするように、タイルを追加及び/又は削除することによって、グリッドを更新する。例えば、コンピュータシステムは、グリッドの断片的な構築又は分解、又はグリッド内のタイルの順序を再度並び替えるのを回避するために1人のユーザがグリッドに追加又は削除されるときにグリッドをリフローすることによって、一度に行及び/又は列全体を追加又は削除する。別の例として、参加者がグリッドから削除された(例えば、対応するユーザがリアルタイム通信セッションを退出した、又は名簿に移動された)場合、コンピュータシステムは、削除された参加者に対応する場所を空白(例えば、622)のままにするか、又はグリッド内の他のタイルを移動させることなしに、その場所に、第2の領域(例えば、名簿)内に以前に表されていた参加者の表現を表示する。
いくつかの実施形態では、第1のセットに含まれていないリアルタイム通信セッションの参加者の1つ以上の表現の第2のセットの表示される位置を変更することなしに、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化に基づいて、グリッドパターンに表示される参加者の表現の第1のセットを更新することは、リアルタイム通信セッションの参加者の表現の完全な行(例えば、図6Eの610-9、610-10、610-11、及び610-12)又は列(例えば、図6Dの610-7及び610-8)を、第1の領域(例えば、604、634、又は654)に追加すること、又はリアルタイム通信セッションの参加者の表現の完全な行(例えば、図6Pの640-7、640-8、及び640-9)又は列(例えば、図6Oの640-3、640-6、及び640-9)を、第1の領域(例えば、604、634、又は654)から削除することを含む。リアルタイム通信セッションの参加者の表現の完全な行又は列を第1の領域に追加又は第1の領域から削除することにより、コンピュータシステムは、第2のセットの参加者の表現の表示される配置を維持するためにリアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)をユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)がサイズ変更されると、参加者の表現の行又は列全体が、サイズ変更に基づいて第1の領域から削除されるか、又は第1の領域に追加される。例えば、第1の領域が水平方向にサイズ変更される際に、第1の領域の幅を縮小するときに参加者の表現の列が第1の領域から削除され(例えば、名簿に移動され)、第1の領域の幅を拡大するときに参加者の表現の列が第1の領域に追加される(例えば、名簿から移動される)。別の例として、第1の領域が垂直にサイズ変更される際に、第1の領域の高さを低減するときに参加者の表現の行が第1の領域から削除され(例えば、名簿に移動され)、第1の領域の高さを増加させるときに参加者の表現の行が第1の領域に追加される(例えば、名簿から移動される)。
いくつかの実施形態では、第1のセットに含まれていないリアルタイム通信セッションの参加者の1つ以上の表現の第2のセットの表示される位置を変更することなしに、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化に基づいて、グリッドパターンに表示される参加者の表現の第1のセットを更新することは、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)の向きの変化に応じて、第2のセットの参加者の表現(例えば、図6Oの640-1、640-2、640-4、640-5、640-7、及び640-8)(例えば、図6Pの640-1~640-6)の表示される配置を維持することを含む。リアルタイム通信セッションのユーザインターフェースの向きの変化に応じて、第2のセットの参加者の表現の表示される配置を維持することにより、コンピュータシステムは、第2のセットの参加者の表現の表示配置を維持するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、ユーザインターフェースの向きが変更される(例えば、回転される)と、グリッド内のタイルは、グリッド内の他のタイルに対する相対場所を維持する。
いくつかの実施形態では、第1のセットに含まれていないリアルタイム通信セッションの参加者の1つ以上の表現の第2のセットの表示される位置を変更することなしに、リアルタイム通信セッションの参加者の1つ以上の表現の第1のセットの表示状態の変化に基づいて、グリッドパターンに表示される参加者の表現の第1のセットを更新することは、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)の向きの変化に応じて、リアルタイム通信セッションのユーザインターフェースの向きの変化に従って参加者の表現を回転させながら、第2のセットの参加者の表現(例えば、図6AGの660-1及び/又は660-2)の、表示生成構成要素に対する場所を維持することを含む。リアルタイム通信セッションのユーザインターフェースの向きの変化に応じて第2のセット内の参加者の表現の場所を維持することにより、コンピュータシステムは、第2のセット内の参加者の表現の表示される配置を維持するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、ユーザインターフェースの向きが変更される(例えば、回転される)と、グリッド内のタイルは、ディスプレイ上の絶対場所を維持し、それぞれのタイルは、閲覧者に対して直立位置を維持するようにその場で回転される。
いくつかの実施形態では、第3の参加者の活動レベルがアクティビティ基準のセットを満たす(例えば、第3の参加者がリアルタイム通信セッションの参加者の中で活動レベルが最も高い)という判定に従って、コンピュータシステム(例えば、600、601、又は602)は、(例えば、第1の領域内の)第3の参加者の表現(例えば、図6Cの610-3)のサイズを大きくする。第3の参加者のアクティビティレベルがアクティビティ基準のセットを満たすという判定に従って第3の参加者の表現のサイズを大きくすることにより、どの参加者がリアルタイム通信セッションにおいて設定されたアクティビティ基準を満たしているかについてのフィードバックをコンピュータシステムのユーザに提供できるようになり、これは、改善された視覚的フィードバックを提供する。
いくつかの実施形態では、第4の参加者の活動レベルがアクティビティ基準のセットを満たす(例えば、第4の参加者がリアルタイム通信セッションの参加者の中で活動レベルが最も高い)という判定に従って、コンピュータシステム(例えば、600、601、又は602)は、第4の参加者の表現に関連付けられた深度効果(例えば、609)を変更すること(例えば、深度の増加を示すために陰影効果を増加させること、深度の減少を示すために陰影効果を減少させること)を含め、(例えば、第1の領域内の)第4の参加者の表現(例えば、図6Eの610-9)を視覚的に区別する。第4の参加者のアクティビティレベルがアクティビティ基準のセットを満たすという判定に従って第4の参加者の表現に関連付けられた深度効果を変更することにより、どの参加者がリアルタイム通信セッションにおいて設定されたアクティビティ基準を満たしているかについてのフィードバックをコンピュータシステムのユーザに提供できるようになり、これは、改善された視覚的フィードバックを提供する。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、1つ以上のカメラ(例えば、600-2、601-2、又は602-2)と通信しており、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)は、1つ以上のカメラの視野の表現(例えば、カメラプレビュー)(例えば、608、638、又は658)を含む。いくつかの実施形態では、1つ以上のカメラの視野の表現を、リアルタイム通信セッションの参加者の第1の表現(例えば、図6Qの660-2)の少なくとも一部分にオーバーレイして表示している(例えば、カメラプレビューが参加者の表現の少なくとも一部分の前に表示される)間、コンピュータシステムは、リアルタイム通信セッションの参加者の第1の表現に対応する入力(例えば、615-5)を検出する。いくつかの実施形態では、リアルタイム通信セッションの参加者の第1の表現に対応する入力を検出したことに応じて、コンピュータシステムは、リアルタイム通信セッションの参加者の第1の表現を、(例えば、図6Rに示すように)1つ以上のカメラの視野の表現の少なくとも一部分にオーバーレイして表示する(例えば、参加者の表現は、カメラプレビューの少なくとも一部分の前に表示される)。リアルタイム通信セッションの参加者の第1の表現に対応する入力を検出したことに応じて、リアルタイム通信セッションの参加者の第1の表現を1つ以上のカメラの視野の表現の少なくとも一部分にオーバーレイして表示することにより、追加のコントロールオプションの表示を必要とせずに参加者の表現の配置を最適化するための追加のコントロールを提供し、ユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供することができる。
いくつかの実施形態では、リアルタイム通信セッションの参加者の第2の表現(例えば、図6Qの660-2)を表示している間に、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッションの参加者の第2の表現の選択(例えば、615-5)を検出する。いくつかの実施形態では、リアルタイム通信セッションの参加者の第2の表現の選択を検出したことに応じて、コンピュータシステムは、(例えば、リアルタイム通信セッションの他の参加者の画像を生成することなく)リアルタイム通信セッションの参加者の第2の表現の画像を生成するために選択可能なキャプチャ用アフォーダンス(例えば、662)を表示する。リアルタイム通信セッションの参加者の第2の表現の選択を検出したことに応じてキャプチャ用アフォーダンスを表示することにより、選択が検出されるまで、ユーザインターフェースを追加のコントロールオプションで雑然とさせることなしに、リアルタイム通信セッションの参加者の第2の表現の画像を生成するための追加のコントロールを提供し、ユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供することができる。いくつかの実施形態では、リアルタイム通信セッションの遠隔参加者に関連付けられた外部コンピュータシステムは、リアルタイム通信セッションの参加者の第2の表現の画像をキャプチャし、画像をコンピュータシステムに送信する(例えば、コンピュータシステムは、リアルタイム通信セッションの参加者の第2の表現の画像を外部コンピュータシステムから取得する)。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、1つ以上のカメラ(例えば、600-2、601-2、又は602-2)と通信しており、キャプチャ用アフォーダンス(例えば、662)は、リアルタイム通信セッションの参加者の第2の表現(例えば、図6Rの660-2)の第1の部分に表示され、リアルタイム通信セッションの参加者の第2の表現の選択(例えば、615-5)を検出する前に、コンピュータシステムは、(例えば、図6Qに示すように)1つ以上のカメラの視野の表現(例えば、カメラプレビュー)(例えば、608、638、又は658)を、リアルタイム通信セッションの参加者の第2の表現の第1の部分にオーバーレイして表示する。
いくつかの実施形態では、第2の領域(例えば、606、636、又は656)に表示され、第1のサイズを有する参加者の表現の第2のセットを表示している間に、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッション用の1つ以上のコントロール(例えば、612、632、又は652)の第1のセットを表示する要求を受信する。いくつかの実施形態では、リアルタイム通信セッション用の1つ以上のコントロールの第1のセットを表示する要求を受信したことに応じて、コンピュータシステムは、リアルタイム通信セッション用の1つ以上のコントロールの第1のセット(例えば、リアルタイム通信セッション及び/若しくは共有コンテンツセッションに関連付けられた情報、並びに/又は、選択されると、コンピュータシステムにリアルタイム通信セッション及び/若しくは共有コンテンツセッションに関連付けられたそれぞれの機能を実行させる1つ以上の選択可能な機能オプションを含む、コントロール領域又はグラフィカルオブジェクト)を表示し、第2の領域に表示され、第1のサイズよりも小さい第2のサイズを有する参加者の表現の第2のセットを表示する(例えば、コントロールが表示されると、より小さいサイズを有する名簿を表示する)(例えば、いくつかの実施形態では、コントロール領域652が表示されると、図6Xの名簿656内のタイルが縮小する)。第2の領域に表示され、第1のサイズよりも小さい第2のサイズを有する参加者の表現の第2のセットを表示することにより、コンピュータシステムは、コントロール及び参加者の表現を第2の領域に配置するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、リアルタイム通信セッション用の1つ以上のコントロールの第1のセットの表示を収容するために参加者の表現のサイズを自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数が低減する。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、1つ以上のカメラ(例えば、600-2、601-2、又は602-2)と通信しており、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)は、1つ以上のカメラの視野の表現(例えば、カメラプレビュー)(例えば、608、638、又は658)を含み、第2の領域(例えば、606、636、又は656)に表示される参加者の表現の第2のセットは、1つ以上のカメラの視野の表現に(例えば、参加者の介在位置又は表現なしで)隣接するシフト後位置を有する参加者の1つ以上の表現(例えば、図6Vの660-9)(例えば、図6Wの660-11)を含む(例えば、名簿内のタイルのうちの1つ以上は、カメラプレビューのための空間を作るためにシフトされる)。1つ以上のカメラの視野の表現に隣接するシフト後位置を有する参加者の1つ以上の表現を含む第2の領域内の参加者の表現の第2のセットを表示することにより、コンピュータシステムは、第2の領域内の参加者の表現を配置するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第2の領域内の参加者の表現の配置を1つ以上のカメラの視野の表現の表示を収容するために自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、第2の領域(例えば、606、636、又は656)に表示される参加者の表現の第2のセットの第1のサブセットを表示している間に、コンピュータシステム(例えば、600、601、又は602)は、ユーザインターフェース(例えば、605、630、又は650)におけるそれぞれの方向への移動に対応する入力(例えば、615-6又は615-7)(例えば、ドラッグ又はスワイプジェスチャ)(例えば、参加者の表現の第1のセットをスクロールする要求)(例えば、参加者の表現の第2のセットをスクロールする要求)を受信する。いくつかの実施形態では、ユーザインターフェースにおけるそれぞれの方向への移動に対応する入力を受信したことに応じて、ユーザインターフェースにおけるそれぞれの方向への移動に対応する入力が、参加者の表現の第2のセット(例えば、606、636、又は656)を含むユーザインターフェースの一部分に向けられているという判定に従って、コンピュータシステムは、参加者の表現の第2のセットの第1のサブセットに含まれていない参加者の1つ以上の表現(例えば、図6Wの660-10及び/又は660-11)(例えば、図6Xの660-7及び/又は660-8)を表示すること(例えば、かつ第1のサブセット内の参加者の1つ以上の表現を表示することを中止すること)(例えば、かつ第1のサブセット内の参加者の1つ以上の表現の表示を継続すること)を含め、参加者の表現の第2のセットをそれぞれの方向にスクロールする。ユーザインターフェースにおけるそれぞれの方向への移動に対応する入力が、参加者の表現の第2のセットを含むユーザインターフェースの一部分に向けられているという判定に従って、参加者の表現の第2のセットをスクロールすることにより、コンピュータシステムは、第2の領域内の参加者の表現を表示又は非表示できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要とされる入力の数を低減する。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、ユーザインターフェース(例えば、605、630、又は650)におけるそれぞれの方向への移動に対応する入力(例えば、615-6又は615-7)を受信したことに応じて、及びユーザインターフェースにおけるそれぞれの方向への移動に対応する入力が、参加者の表現の第1のセットを含むユーザインターフェース(例えば、604、634、又は656)の一部分に向けられているという判定に従って、参加者の表現の第1のセットをスクロールすることを取り止める。いくつかの実施形態では、参加者の表現の第1のセット(例えば、グリッド)は、スクロールすることができない。
いくつかの実施形態では、コンピュータシステム(例えば、600、601、又は602)は、1つ以上のカメラ(例えば、600-2、601-2、又は602-2)と通信しており、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)は、1つ以上のカメラの視野の表現(例えば、カメラプレビュー)(例えば、608、638、又は658)を含み、参加者の表現の第2のセットをスクロールすることは、参加者の表現の第2のセット内の参加者の1つ以上の表現(例えば、図6Xの660-10及び/又は660-11)を、1つ以上のカメラの視野の表現の下でスクロールする(例えば、名簿をカメラプレビューの下でスクロールする)ことを含む。参加者の表現の第2のセット内の参加者の1つ以上の表現を1つ以上のカメラの視野の表現の下でスクロールすることにより、コンピュータシステムは、1つ以上のカメラの視野の表現の表示を収容しながら、第2の領域内の参加者の表現を表示又は非表示できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要とされる入力の数を低減する。
いくつかの実施形態では、(例えば、第1の領域の1つ以上の寸法の変化に基づいて、1人以上の参加者がリアルタイム通信セッションを退出するか又は参加することに基づいて)第1の領域(例えば、604、634、又は654)に表示されるリアルタイム通信セッションの参加者の表現の数を変更した後、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)の表示を更新し、このことは、参加者の表現の第2のセットが、リアルタイム通信セッションの参加者の表現を閾値数(例えば、0、1、又は2)よりも多く含んでいるという判定に従って、リアルタイム通信セッションの参加者の表現の第2のセット(例えば、図6Vの660-7、660-8、及び/又は660-9)を表示することと、参加者の表現の第2のセットが、リアルタイム通信セッションの参加者の表現を閾値数よりも多く含んでいないという判定に従って、リアルタイム通信セッションの参加者の表現の第2のセットの表示を中止する(例えば、図6Uの領域656)(例えば、全てのタイルが名簿からグリッドに移動された場合、名簿の表示を中止する)ことと、を含む。参加者の表現の第2のセットが、閾値数以上の参加者の表現を含んでいないという判定に従って、リアルタイム通信セッションの参加者の表現の第2のセットの表示を中止することにより、参加者の表現が閾値数未満であるというフィードバックをコンピュータシステムのユーザに提供して、リアルタイム通信セッションの参加者の表現の第2のセットの表示を除外することによって計算リソースを節約できるようになり、これは、改善された視覚的フィードバックを提供し、コンピュータシステムの計算リソースを節約する。
いくつかの実施形態では、第1の領域(例えば、604、634、又は654)に表示され、第1の配置(例えば、サイズ及び/又は場所)を有する参加者の表現の第1のセット(例えば、図6AAの660-1、660-2、及び660-3)を表示している間に、コンピュータシステム(例えば、600、601、又は602)は、リアルタイム通信セッション用の1つ以上のコントロール(例えば、612、632、又は652)の第2のセットを表示する要求を受信する。いくつかの実施形態では、リアルタイム通信セッション用の1つ以上のコントロールの第2のセットを表示する要求を受信したことに応じて、コンピュータシステムは、リアルタイム通信セッション用の1つ以上のコントロールの第2のセット(例えば、リアルタイム通信セッション及び/若しくは共有コンテンツセッションに関連付けられた情報、並びに/又は、選択されると、コンピュータシステムにリアルタイム通信セッション及び/若しくは共有コンテンツセッションに関連付けられたそれぞれの機能を実行させる1つ以上の選択可能な機能オプションを含む、コントロール領域又はグラフィカルオブジェクト)を表示し、第1の領域に表示され、第1の配置とは異なる第2の配置を有する(例えば、コントロールのセットの表示に基づいて異なる場所、位置、順序、及び/又はサイズを有する)参加者の表現の第1のセット(例えば、図6Zの660-1、660-2、及び660-3)を表示する。第1の領域に表示され、第1の配置とは異なる第2の配置を有する参加者の表現の第1のセットを表示することにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、リアルタイム通信セッション用の1つ以上のコントロールの第2のセットを表示することに応じて、参加者の表現の場所を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェース(例えば、665)は、選択されると、(例えば、リアルタイム通信セッションのユーザインターフェースの第1の領域(例えば、604、634、又は654)における)リアルタイム通信セッションの参加者の第3のセットの表現(例えば、図6Zの660-1、660-2、及び660-3)のオーバーラップ配置(例えば、図6AZ)を有効(又は無効)にする(又は、任意選択的に、リアルタイム通信セッションのユーザインターフェースの第1の領域(例えば、604、634、又は654)における参加者の表現の第1のセットのグリッドパターンを無効にする)配置選択オプション(例えば、668及び/又は672)(例えば、アフォーダンス、ボタン、及び/又は選択可能なグラフィカル要素)を含む。配置選択オプションを表示することにより、入力が検出されるまで、追加で表示されるコントロールでユーザインターフェースを雑然とさせることなしに、参加者の表現の第3のセットのオーバーラップ配置を有効にするための追加のコントロールを提供して、ユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供することができる。いくつかの実施形態では、オーバーラップ配置は、リアルタイム通信セッション(例えば、図6Z、図6AL、図6AN、図6AP、及び/又は図6AR)の参加者の1つ以上の他の表現とオーバーラップする参加者の1つ以上の表現を含む。いくつかの実施形態では、オーバーラップ配置である間、表現の第3のセットの1つ以上の表現は、経時的にサイズ及び/又は位置を変更し(例えば、参加者1が最もアクティブな参加者であるため、図6Zでは660-1のサイズが大きくなる)、サイズ及び/又は位置の変更中及び/又は変更後に1つ以上の他の表現とのオーバーラップを維持する(例えば、オーバーラップし続ける)(例えば、図6Zでは、660-1は660-2とのオーバーラップを維持し、及び/又は660-2は660-3とのオーバーラップを維持する)。いくつかの実施形態では、サイズ及び/又は位置を変更した後、表現の第3のセットのうちの1つ以上の表現は、サイズ及び/又は位置を変更する前に1つ以上の表現が占有していた位置を占有する(例えば、図6Zでは、660-1はそのまま660-2の左上にあり、660-2はそのまま660-3の右上にある)。いくつかの実施形態では、リアルタイム通信セッションの参加者の表現の第3のセットは、リアルタイム通信セッションの参加者の表現の第1のセットと同じ参加者に対応する(例えば、第1のセットと第3のセットは、同じ数の表現を含む)(例えば、図6AL及び図6AM)。いくつかの実施形態では、リアルタイム通信セッションの参加者の表現の第3のセットは、リアルタイム通信セッションの参加者の表現の第1のセットとは異なる数の表現(例えば、より多い表現又はより少ない表現)を含む(例えば、表現の数は、グリッドパターンからオーバーラップ配置に、又はオーバーラップ配置からグリッドパターンに変化するときに変化する)(例えば、図6X及び図6Z、図6AP及び図6AQ、並びに図6AR及び図6AS)。
いくつかの実施形態では、共有コンテンツセッション(例えば、コンテンツが1つ以上の外部コンピュータシステムによって出力されている間、コンピュータシステム(例えば、600、601、又は602)が、(例えば、同期化コンテンツ(例えば、出力がコンピュータシステムと外部コンピュータシステムで同期されるオーディオ及び/若しくはビデオデータ)並びに/又はスクリーン共有コンテンツ(例えば、デバイス(例えば、コンピュータシステム、外部コンピュータシステム)によって生成される、デバイスで現在表示されている画像又はビデオコンテンツのリアルタイム表現を提供する画像データ))を出力できるようにする、コンピュータシステムと1つ以上の外部コンピュータシステムとの間のセッション)の表現を、参加者の表現の第1のセットと同時に、リアルタイム通信セッションのユーザインターフェースの第1の領域に表示している間、コンピュータシステムは、コンテンツの表現を移動させる要求(例えば、615-11又は615-12)を受信する。いくつかの実施形態では、コンテンツの表現を移動させる要求を受信したことに応じて、コンピュータシステムは、コンテンツの表現を、リアルタイム通信セッションのユーザインターフェース内の第1の場所(例えば、図6Kの620)(例えば、図6ABの670)からリアルタイム通信セッションのユーザインターフェース内の第2の場所に移動させ、このことは、参加者の表現の第1のセットのオーバーラップ配置が有効になっているという判定に従って、(例えば、コンテンツの表現の移動後位置を回避するため)コンテンツの表現の移動(例えば、移動後位置)に基づいて、(例えば、図6AC、図6AD、又は図6AEに示すように)第1の領域内の参加者の表現の第1のセットの参加者の1つ以上の表現の位置を変更する(例えば、移動させる)ことと、参加者の表現の第1のセットのオーバーラップ配置が有効になっていないという判定に従って、コンテンツの表現の移動(例えば、移動後位置)に基づいて、(例えば、図6K又は図6Lに示すように)第1の領域内の参加者の表現の第1のセットの参加者の1つ以上の表現の位置を変更する(例えば、移動させる)ことを取り止める(例えば、いくつかの実施形態では、コンテンツの表現を参加者の表現の第1のセットの参加者の1つ以上の表現にオーバーレイして表示する)ことと、を含む。コンテンツの表現の移動に基づいて、第1の領域内の参加者の表現の第1のセットの参加者の1つ以上の表現の位置を変更することにより、コンピュータシステムは、リアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、コンテンツの位置の変化に基づいて、表現の場所を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要とされる入力の数を低減する。いくつかの実施形態では、グリッド配置が有効になっていると、グリッド内のタイルは、共有コンテンツが移動される際に共有コンテンツの位置を回避するために移動しない。いくつかの実施形態では、オーバーラップ配置が有効になっていると、タイルは、共有コンテンツが移動される際に、共有コンテンツの位置を回避するように移動する。
いくつかの実施形態では、配置選択オプション(例えば、672)は、リアルタイム通信セッションの参加者の複数の表現と同時に表示され(例えば、図6X及び図6Z)、配置選択オプションをリアルタイム通信セッションの参加者の複数の表現と同時に表示することにより、ユーザインターフェースを雑然とさせることなしに追加のコントロールオプションを提供し、ユーザインターフェースを更にナビゲートすることなしに、リアルタイム通信セッションの参加者の表現の配置を選択するオプションを提供することにより、動作を実行するために必要とされる入力の数を低減する。
いくつかの実施形態では、所定数の参加者(例えば、3人の参加者、4人の参加者、又は5人の参加者)がリアルタイム通信セッションに参加(例えば、同時に参加)している(例えば、参加者がリアルタイム通信セッションに参加し、参加者の数を参加者の所定数に合致させた)ことに応じて、コンピュータシステムは、配置選択オプションを表示する(例えば、最初に表示する、及び/又は表示を開始する)(例えば、図6AL及び図6AM)。いくつかの実施形態では、配置選択オプションは、所定数の参加者がリアルタイム通信セッションに参加する前(例えば、直前)には表示されない(例えば、図6AH及び図6AI)。いくつかの実施形態では、所定数未満の参加者がリアルタイム通信セッションに参加している(例えば、同時に参加している)場合(例えば、その判定に応じて及び/又はそれに従って)、配置選択オプションは表示されない。所定数の参加者がリアルタイム通信セッションに参加していることに応じて配置選択オプションを表示することにより、参加者の数がオーバーラップ配置よりもグリッドパターンの方が表示空間のより適切な使用を提供する数に達したとき、又はグリッドパターンとオーバーラップ配置との間に著しい差があるときに、配置選択オプションが表示されるようになり、これは、改善された視覚フィードバックをユーザに提供し、条件のセットが満たされると更なるユーザ入力を必要とせずに動作を実行する。
いくつかの実施形態では、配置選択オプション(例えば、672)を表示している間に、コンピュータシステムは所定数未満の参加者がリアルタイム通信セッションに参加している(例えば、同時に参加している)という示唆を受信する(例えば、1人の参加者がリアルタイム通信セッションを退出した結果、参加者の数が参加者の所定数未満になった)。いくつかの実施形態では、所定数未満の参加者がリアルタイム通信セッションに参加しているという示唆を受信したことに応じて、コンピュータシステムは、配置選択オプションの表示を中止する(例えば、図6AJ及び図6AK)。所定数未満の参加者が参加しているという示唆を受信したことに応じて配置選択オプションの表示を中止することにより、コンピュータシステムは、参加者の数がオーバーラップ配置よりもグリッドパターンの方が表示空間のより適切な使用を提供する数未満であるとき、又はグリッドパターンとオーバーラップ配置との間に有意差がないときに、配置選択オプションを表示することを回避できるようになり、これは、改善された視覚フィードバックをユーザに提供し、条件のセットが満たされると更なるユーザ入力を必要とせずに動作を実行し、ユーザインターフェースを雑然とさせることを回避する。
いくつかの実施形態では、参加者がリアルタイム通信セッションに参加することに応じて(例えば、任意選択的に、参加者がリアルタイム通信セッションに参加した後の参加者の数が参加者の所定数以上であるという判定に従って)、コンピュータシステムは、配置選択オプション(例えば、672)の表示を開始する。参加者がリアルタイム通信セッションに参加することに応じて配置選択オプションの表示を開始することにより、参加者の数が増加してオーバーラップ配置よりもグリッドパターンの方が表示空間のより適切な使用を提供するようになり、又はグリッドパターンとオーバーラップ配置との間に著しい差があるときに、配置選択オプションが表示されるようになり、これは、改善された視覚フィードバックをユーザに提供し、条件のセットが満たされると更なるユーザ入力を必要とせずに動作を実行する。
いくつかの実施形態では、配置選択オプション(例えば、672)が、リアルタイム通信セッション用の1つ以上のコントロール(例えば、612、632、及び/又は652)の第3のセット(例えば、選択されると、コンピュータシステムにリアルタイム通信セッション及び/又は共有コンテンツセッションに関連付けられたそれぞれの(例えば、通話を退出する、通話を終了する、ビデオ効果オプションを表示する、カメラを切り替える、マイクロフォンをミュートする/ミュート解除する、及び/又は画像を捕捉する)機能を実行させる、リアルタイム通信セッション及び/又は共有コンテンツセッション及び/又は1つ以上の選択可能な機能オプション(例えば、アフォーダンス、ボタン、及び/又は選択可能なグラフィック要素)に関連付けられた情報を含むHUD又はグラフィカルオブジェクトがリアルタイム通信セッションのユーザインターフェースに表示されている間に(例えば、その表示に応じて、又はそれに従って)、表示される。いくつかの実施形態では、配置選択オプションが、リアルタイム通信セッション用の1つ以上のコントロールの第3のセットと同時に表示されている間、コンピュータシステムは、リアルタイム通信セッション用の1つ以上のコントロールの第3のセットの表示を中止することに対応するそれぞれの条件(例えば、ユーザインターフェースにおけるタップ入力、又はユーザインターフェースに向けられた入力を検出せずに閾値時間を超えて経過したこと)の発生を検出する。いくつかの実施形態では、それぞれの条件の発生を検出したことに応じて、コンピュータシステムは、リアルタイム通信セッション用の1つ以上のコントロールの第3のセット(例えば、612、632、及び/又は652)を表示することを中止し、配置選択オプション(例えば、672)を表示することを中止する。いくつかの実施形態では、コンピュータシステムは、入力(例えば、615-24又は615-26)(例えば、タップジェスチャ又はポインタ(例えば、カーソル)をリアルタイム通信セッションのユーザインターフェースの上方でホバリングさせる入力)を検出したことに応じて、1つ以上のコントロールの第3のセット(及び、任意選択的に、配置選択オプション)を表示する(例えば、その表示を開始する)。いくつかの実施形態では、コンピュータシステムは、入力(例えば、615-22又は615-23)(例えば、ポインタ(例えば、カーソル)を、リアルタイム通信セッションのユーザインターフェースの上方でホバリングさせないタップジェスチャ又は入力)を検出したことに応じて、1つ以上のコントロールの第3のセット(及び、任意選択的に、配置選択オプション)の表示を中止する。リアルタイム通信セッション用の1つ以上のコントロールの第3のセットの表示を中止することと、リアルタイム通信セッション用の1つ以上のコントロールの第3のセットの表示を中止することに対応するそれぞれの条件の発生を検出したことに応じて、配置選択オプションの表示を中止することにより、リアルタイム通信セッション用のオプションの表示を統合して、追加で表示されるコントロールでユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供し、条件のセットが満たされると更なるユーザ入力を必要とせずに動作を実行する。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェースの第1の領域にグリッドパターンの参加者の表現の第1のセットを表示している間に(例えば、図6X)、コンピュータシステムは、ユーザインターフェース内の参加者の複数の表現の配置を変更する要求に対応する、ユーザインターフェース内の参加者の表現(例えば、図6Xの660)のうちの1つ以上に対応する場所を通る移動を含む第1のジェスチャ)(例えば、615-13A及び615-13B、並びに/又は615-15A及び615-15B)(例えば、ピンチ解除ジェスチャ(例えば、経時的に更に離れる2つ以上の接触を含むジェスチャ)又はピンチジェスチャ(例えば、経時的に互いに近づく2つ以上の接触を含むジェスチャ)などの、コンピュータシステムと通信するタッチ感知面上の1つ以上の接触を含み、任意選択的に、タッチジェスチャの場所に依存しない(例えば、特定のグラフィカル要素に向けられていない)タッチジェスチャを検出する。いくつかの実施形態では、第1のジェスチャを検出したことに応じて、コンピュータシステムは、リアルタイム通信セッションの参加者の表現の第4のセットをオーバーラップ配置で(例えば、図6Z)で(例えば、第1の領域に)表示する(例えば、リアルタイム通信セッションのユーザインターフェースの第1の領域内の参加者の表現の第1のセットのグリッドパターンを無効にし、オーバーラップ配置に切り替える)。ユーザインターフェース内の参加者の表現のうちの1つ以上に対応する場所を通る移動を含むジェスチャに応じて、リアルタイム通信セッションの参加者の表現をオーバーラップ配置で表示することにより、コンピュータシステムは、リアルタイム通信セッションの参加者の表現の配置を変更するための選択可能なグラフィカル要素が表示されているか否かにかかわらず、リアルタイム通信セッションの参加者の表現の配置を変更し、これは、操作を実行するのに必要な入力の数を減少させ、追加で表示されるコントロールでユーザインターフェースを雑然とさせることなしに追加のコントロールオプションを提供することができる。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェース内に、リアルタイム通信セッションの参加者の表現の第5のセットをオーバーラップ配置(例えば、図6Z)で表示している間に、コンピュータシステムは、ユーザインターフェース内の参加者の複数の表現の配置を変更する要求に対応する、ユーザインターフェース内の参加者の表現(例えば、図6Zの660-2)のうちの1つ以上に対応する場所を通る移動を含む第2のジェスチャ(例えば、615-13A及び615-13B、並びに/又は615-15A及び615-15B)(例えば、ピンチジェスチャ(例えば、経時的に互いに近づく2つ以上の接触を含むジェスチャ)又はピンチ解除ジェスチャ(例えば、経時的に更に離れる2つ以上の接触を含むジェスチャ)などの、コンピュータシステムと通信するタッチ感知面上の1つ以上の接触を含むタッチジェスチャ)を検出する。いくつかの実施形態では、第2のジェスチャを検出したことに応じて、コンピュータシステムは、リアルタイム通信セッションの参加者の表現の第6のセットをグリッドパターン(例えば、図6X)で(例えば、第1の領域に)表示する(例えば、参加者の表現の第5のセットのオーバーラップ配置を無効にする)。ユーザインターフェース内の参加者の表現のうちの1つ以上に対応する場所を通る移動を含むジェスチャに応じて、グリッドパターン内にリアルタイム通信セッションの参加者の表現を表示することにより、コンピュータシステムは、リアルタイム通信セッションの参加者の表現の配置を変更するための選択可能なグラフィカル要素が表示されているか否かにかかわらず、リアルタイム通信セッションの参加者の表現の配置を変更し、これは、動作を実行するために必要とされる入力の数を低減し、追加で表示されるコントロールでユーザインターフェースを雑然とさせることなしに追加のコントロールオプションを提供することができる。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェース内に、リアルタイム通信セッションの参加者の表現の第7のセットをオーバーラップ配置で表示している間に、コンピュータシステムは、所定数の参加者(例えば、3人の参加者、4人の参加者、5人の参加者、又は6人の参加者)がリアルタイム通信セッションに参加している(例えば、同時に参加している)(例えば、参加者がリアルタイム通信セッションに参加し、参加者の数を参加者の所定数に合致させた)という示唆を受信する。いくつかの実施形態では、所定数の参加者がリアルタイム通信セッションに参加しているという示唆を受信したことに応じて、コンピュータシステムは、リアルタイム通信セッションの参加者の複数の表現をグリッドパターンで表示できることを示す通知(例えば、674)を表示する(例えば、最初に表示する及び/又は表示を開始する)。いくつかの実施形態では、通知は、選択されると(例えば、615~19)、コンピュータシステムに、リアルタイム通信セッションの参加者の表現を第1の領域内にグリッドパターンで表示させる(例えば、図6AQ)選択可能なオプション(例えば、アフォーダンス)を含む(例えば、である)。所定数の参加者がリアルタイム通信セッションに参加しているという示唆を受信したことに応じて、リアルタイム通信セッションの参加者の複数の表現をグリッドパターンで表示できることを示す通知を表示することにより、より多数の参加者に対してより適切な表示を提供し得る異なる配置が利用可能であることをユーザに通知できるようになり、これは、改善された視覚フィードバックをユーザに提供する。
いくつかの実施形態では、第2の領域(例えば、606、636、又は656)内の参加者の表現のセットの表現は、コンピュータシステム(例えば、600、601、又は602)と通信しているカメラ(例えば、600-2、601-2、又は602-2)の視野の表現(例えば、608、638、又は658)(例えば、カメラプレビュー)と同様の高さ(又は同じ高さ)を有する。
いくつかの実施形態では、リアルタイム通信セッションのユーザインターフェース(例えば、605、630、又は650)を表示することは、コンピュータシステム(例えば、600、601、又は602)と通信しているカメラ(例えば、600-2、601-2、又は602-2)の視野の表現(例えば、608、638、又は658)(例えば、カメラプレビュー)を、第1の領域(例えば、604、634、又は654)と視覚的に区別できるユーザインターフェースの第2の領域(例えば、606、636、又は656)に表示することを含む(例えば、第2の領域は、カメラプレビュー及び名簿を含み、これらは両方ともグリッド内のタイルとは別個である)。
いくつかの実施形態では、第1の領域の1つ以上の寸法の変化に基づいて、第1の領域(例えば、604、634、又は654)に表示されるリアルタイム通信セッションの参加者の表現の数を変更させることは、第1の領域の参加者の表現の少なくとも第2の行(例えば、図6Jの配置に遷移するときの図6Iの上3行のタイル610-1~610-12)の表示を維持しながら、参加者の表現の第1の行(例えば、図6Jの配置に遷移するときの図6Iのタイル610-13~610-20の下の2行のうちの1つ)をフェードアウト表示する(例えば、行が徐々に消えるアニメーションなど、参加者の表現の第1の行の輝度、不透明度、彩度、及び/又は他の視覚特性を減少させることによって、参加者の表現の第1の行の視覚的目立ちを徐々に低減する)ことを含む(例えば、1つ以上の行がグリッドに表示されたままである一方で、1つ以上の行がフェードアウトする)。第1の領域内の参加者の表現の少なくとも第2の行の表示を維持しながら、フェードアウトする参加者の表現の第1の行を表示することにより、コンピュータシステムは、第2のセット内の参加者の表現の表示される配置を維持するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、第1の行内の参加者の表現は、第2の領域内の名簿にフェードインして表示される。
いくつかの実施形態では、第1の領域の1つ以上の寸法の変化に基づいて、第1の領域(例えば、604、634、又は654)に表示されるリアルタイム通信セッションの参加者の表現の数を変更させることは、第1の領域内の参加者の表現の少なくとも第2の列(例えば、図6Iの配置に遷移するときの図6Hの一番左の4列のタイル610-1~610-12のうちの1つ)の表示を維持しながら、参加者の表現の第1の列(例えば、図6Iの配置に遷移するときの図6Hのタイル610-13~610-18の一番右の2列のうちの1つ)をフェードアウト表示する(例えば、列が徐々に消えるアニメーションなど、参加者の表現の第1の行の輝度、不透明度、彩度、及び/又は他の視覚的特性を減少させることによって参加者の表現の第1の行の視覚的目立ち度を徐々に低減する)ことを含む(例えば、1つ以上の列がグリッドに表示されたままである一方で、1つ以上の列がフェードアウトする)。第1の領域内の参加者の表現の少なくとも第2の列の表示を維持しながら、参加者の表現の第1の列をフェードアウト表示することにより、コンピュータシステムは、第2のセット内の参加者の表現の表示される配置を維持するためにリアルタイム通信セッションのユーザインターフェースをユーザが手動で調整することを必要とせずに、第1の領域の1つ以上の寸法の変化に基づいて参加者の表現を再配置することを回避するように、参加者の表現の配置を自動的かつ動的に最適化できるようになり、これは、改善された視覚的フィードバックを提供し、動作を実行するために必要な入力の数が低減する。いくつかの実施形態では、第1の列の参加者の表現は、第2の領域の名簿にフェードインして表示される。
方法700(例えば、図7)に関して上記したプロセスの詳細はまた、後述の方法と類似の方法で適用可能であることに留意されたい。例えば、方法900は、方法700を参照して上記した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、図6A~図6ASに示すタイルを配置する方法は、方法900を参照して説明する実施形態に適用することができる。簡潔にするために、これらの詳細は繰り返されていない。
図8A~図8Hは、いくつかの実施形態に係る、ビデオ会議セッションを管理するための例示的なユーザインターフェースを示す。これらの図におけるユーザインターフェースは、図9におけるプロセスを含む、以下で説明するプロセスを説明するために使用される。いくつかの実施形態では、図8A~図8Hのユーザインターフェースを使用して、図7に関して上記したプロセスを示すことができる。
図8Aでは、デバイス600はホームスクリーン801を表示し、一方、登山家グループは、共有コンテンツセッションで同時にアクティブであるビデオ会議に参加している。デバイス600はまた、コントロール領域612と同様のコントロール領域812を表示する。デバイス600は、カメラオプション812-4を選択する入力815-1を検出し、それに応じて、ビデオ会議インターフェース605と同様のビデオ会議インターフェース805を表示する。ビデオ会議インターフェースは、メイン領域804に表示されるタイル810-1~810-12と、名簿806に表示されるタイル810-13及び810-14と、カメラプレビュー808と、を含む。参加者1が、タイル810-1の拡大されたサイズ及び影809によって示されるように、最もアクティブな参加者である。
図8Cでは、参加者1は、登山家グループとコンテンツを共有し始める。したがって、デバイス600は、共有コンテンツの表現と、共有コンテンツに関連付けられた他の要素とを含む、共有コンテンツ領域820を表示する。図8Cに示す実施形態では、参加者1(ジョン)は、自分のデバイスのスクリーン上に表示されているコンテンツを共有している。したがって、共有コンテンツ領域820は、ジョンのスクリーンのリアルタイム表現であるスクリーン共有コンテンツ830を含む。共有コンテンツ領域820はまた、共有コンテンツがジョンのスクリーンであることを示すインジケータ824と、ジョンのデバイスからのビデオフィードであるタイル810-1bと、を含む。いくつかの実施形態では、ジョンのビデオフィードは、それぞれのタイル810-1a及び810-bによって示されるように、共有コンテンツ領域820及びグリッドの両方に表示される。いくつかの実施形態では、共有コンテンツのビューは、サイズ変更、調整、ズームイン、ズームアウト、パン、又は別様に操作することができる。例えば、拡大用アフォーダンス822を選択して、スクリーン共有コンテンツ830の(例えば、フルスクリーン、又はシステム状態情報及び/若しくはシステムコントロール用に指定されたスクリーンの一部分の外側のスクリーンの全てを使用して)拡大されたビューを表示することができる。タイル810-1b及びインジケータ824は、任意選択的に、スクリーン共有コンテンツ830の拡大されたビューと共に表示される。いくつかの実施形態では、スクリーン共有コンテンツ830のビューは、(例えば、ピンチ解除ジェスチャに応じて)ズームイン、(例えば、ピンチジェスチャに応じて)ズームアウト、(例えば、1本指又は2本指のドラッグジェスチャに応じて)パン、又は別様に操作することができる。
デバイス600が共有コンテンツ領域820を表示すると、タイルのうちのいくつかが名簿806に移動される一方で、残りのタイルをメイン領域804に表示し続ける。図8B及び図8Cに示す実施形態では、デバイス600は、メイン領域804の一番右の列のタイル(タイル810-7、810-8、及び810-12)を名簿806に移動させる一方で、残りのタイルの相対位置をそれぞれの3×3配置に保持した。
図8D~図8Hは、アクティブな参加者のタイルが、例えば、参加者がプレゼンターであることを示すために拡大される様々な実施形態を示す。図8Dでは、参加者1は自分のスクリーンの共有を停止し、デバイス600はタイルを前の配置に戻す。参加者2が登山家グループに話し始めると、タイル810-2が強調される。図8Eでは、参加者2がグループに話し続けると、デバイス600は、タイル810-2を、図8Dの強調表示から、タイル810-2bに示すような拡大されたプレゼンター状態に遷移させる。参加者2がプレゼンターになると、彼らのビデオフィードが拡大タイル810-2b及びグリッドタイル810-2aに表示される。いくつかの実施形態では、影809は、参加者2が拡大されたタイル810-2bにおいて既に強調されているので、タイル810-2aの周りに表示されない。拡大されたタイル810-2bが表示されると、デバイス600は、いくつかのタイルを名簿806に移動させ、メイン領域804内の残りのタイルの相対場所を保持することを含む、図8B及び図8Cに関して上記したものと同様の方法でタイルを移動させる。
図8Eでは、デバイス600は、タイル810-9を選択する入力815-2を検出する。それに応じて、デバイス600はタイル810-9を拡大し、それによって、図8Fに示すように、タイル810-9をメイン領域804内にピン留めする。タイル810-9が拡大されると、デバイス600は、隣接するタイル810-4、810-5、及び810-10を名簿806に移動させる一方で、残りのタイル810-1、810-2a、810-3、810-6、及び810-11をメイン領域804内に維持する。
図8Gでは、参加者2は、登山家グループとコンテンツを共有し始める。デバイス600は、(コンテンツPiP620と同様に)コンテンツPiP840内に共有コンテンツを表示する。デバイス600は、参加者2がコンテンツPiP840内のコンテンツを登山家グループと共有していることを示すために、コンテンツPiP840と共に拡大されたタイル810-2bをメイン領域804内に表示し続ける。図8Gに示すように、デバイス600は、拡大されたタイル810-2b及びコンテンツPiP840の表示を収容するために、残りのタイルを名簿806に移動させる。
いくつかの実施形態では、デバイス600は、タイルがグリッド内に表示され、プレゼンタータイルがグリッドの少なくとも一部分にオーバーラップして表示されるハイブリッド配置で、タイルを表示することができる。このような実施形態の一例が図8Hに示されており、この例では、メイン領域804において、拡大されたタイル810-2bが、タイル810-1~810-12の上に表示されている。グリッド内のタイルは2つのグループに分割され、タイル810-1、810-2a、810-4、810-5、810-9、及び810-10が拡大されたタイル810-2bの一方の側に配置されており、タイル810-3、810-7、810-6、810-8、810-11、及び810-12が拡大されたタイル810-2bの他方の側に配置されている。
図9は、いくつかの実施形態に係る、コンピュータシステム(例えば、600、601、又は602)を使用してビデオ会議セッションを管理するための方法を示すフロー図である。方法900は、1つ以上の表示生成構成要素(例えば、ディスプレイコントローラ、タッチ感知ディスプレイシステム、スピーカ、骨伝導オーディオ出力デバイス、触知出力生成器、プロジェクタ、及び/又はホログラフィックディスプレイ)(例えば、600-1、601-1、又は602-1)及び1つ以上の入力デバイス(例えば、タッチ感知面、キーボード、マウス、トラックパッド、ジェスチャを検出するための1つ以上の光学センサ、ホバー入力を検出するための1つ以上の容量センサ、及び/又は加速度計/ジャイロスコープ/慣性測定ユニット)(例えば、600-1、601-3、又は602-1)と通信しているコンピュータシステム(例えば、スマートフォン、タブレット、デスクトップ又はラップトップコンピュータ)(例えば、100、300、500、600、601、又は602)において実行される。方法900のいくつかの動作は、任意選択的に組み合わされ、いくつかの動作の順序は、任意選択的に変更され、いくつかの動作は、任意選択的に省略される。いくつかの実施形態では、方法900は、リアルタイム通信セッションが利用可能である(例えば、参加することも、開始することも可能である)間に、コンピュータシステムにおいて実行される。いくつかの実施形態では、リアルタイム通信セッションは、共有コンテンツセッション(の一部)に含まれる。いくつかの実施形態では、共有コンテンツセッションは、リアルタイム通信セッション(の一部)に含まれる。いくつかの実施形態では、リアルタイム通信セッション及び共有コンテンツセッションは、同一の通信セッション(の一部)に含まれる。
以下に説明するように、方法900は、ビデオ会議セッションを管理する直感的な方法を提供する。この方法は、ビデオ会議セッションを管理するユーザの認知負担を軽減し、それによって、より効率的なヒューマン-マシンインターフェースを作り出す。バッテリ動作式コンピューティングデバイスの場合、ユーザがより迅速かつより効率的にビデオ会議セッションを管理できるようにすることは、電力を節約し、バッテリ充電の間隔を長くする。
コンピュータシステムは、リアルタイム通信セッションに対応するリアルタイム通信アプリケーションのユーザインターフェース(例えば、805)を表示する要求(例えば、815-1)を受信する(902)。リアルタイム通信セッションに対応するリアルタイム通信アプリケーションのユーザインターフェースを表示する要求を受信したことに応じて、コンピュータシステムは、リアルタイム通信セッションに対応するリアルタイム通信アプリケーションのユーザインターフェース(例えば、805)を表示する(904)。コンピュータシステムがリアルタイム通信セッションに接続され、共有コンテンツセッション(例えば、コンピュータシステムが、コンテンツ(例えば、同期化コンテンツ(例えば、出力がコンピュータシステムと外部コンピュータシステムで同期されるオーディオ及び/若しくはビデオデータ)並びに/又はスクリーン共有コンテンツ(例えば、デバイス(例えば、コンピュータシステム、外部コンピュータシステム)によって生成される、デバイスで現時点で表示される画像又はビデオコンテンツのリアルタイム表現を提供する画像データ))を、コンテンツが1つ以上の外部コンピュータシステムによって出力されている間に出力できるようにする、コンピュータシステムと1つ以上の外部コンピュータシステムとの間のセッション)に接続されている間、コンピュータシステムは、リアルタイム通信アプリケーション(例えば、ビデオ通信セッション、オーディオ通信セッション、又はオーディオ/ビデオ通信セッション(例えば、ビデオチャット))のユーザインターフェース(例えば、アプリケーションのインターフェース)において、リアルタイム通信セッションの参加者の複数の表現(例えば、810)であって、複数の表現が、2つ以上の行及び2つ以上の列(例えば、グリッド、パターン)を含む2次元配列(例えば、図8C、図8E、図8F、及び/又は図8Hに示すようなメイン領域804内のタイル810の配置)で表示される、複数の表現と、共有コンテンツセッションのコンテンツの表現(例えば、820、830、810-2b、及び/又は840)であって、コンテンツの表現が、配列に視覚的に関連付けられて表示され(例えば、配列に隣接して表示され、配列と一緒にグループ化されて表示され、配列内に表示され)、コンテンツの表現が、配列の2つ以上の行及び/又は配列の2つ以上の列に対応するサイズを有する、共有コンテンツセッションのコンテンツの表現と、を同時に表示する(906)。いくつかの実施形態では、2次元配列は、それぞれの行及びそれぞれの列に対応する対応する場所を含む。いくつかの実施形態では、配列内の全ての場所に表現があるわけではない(例えば、ある場所は、リアルタイム通信セッションの参加者の表現以外のコンテンツがあってもよく、コンテンツがなくてもよい)。リアルタイム通信アプリケーションのユーザインターフェースにおいて、リアルタイム通信セッションの参加者の複数の表現と、共有コンテンツセッションのコンテンツの表現と、を同時に表示することにより、ユーザは、共有コンテンツとリアルタイム通信アプリケーションの別個のユーザインターフェース間をユーザがナビゲートすることを必要とせずに、進行中のリアルタイム通信セッションのコンテキストを維持しながら、共有コンテンツセッションのコンテンツを閲覧できるようになり、これは、ユーザインターフェースを雑然とさせることなしに、改善された視覚フィードバックを提供する。
いくつかの実施形態では、リアルタイム通信セッションの参加者(例えば、810)の複数の表現は、配列(例えば、メイン領域804内のタイル810の配列)の2つ以上の行及び2つ以上の列を少なくとも部分的に占有する(例えば、複数の表現は、全てが単一の行又は単一の列にあるわけではない)。いくつかの実施形態では、リアルタイム通信セッションの参加者の複数の表現のうちの1つ以上(例えば、タイル810-1)(例えば、図6Kのタイル610-1)は、コンテンツの表現(例えば、620、820、830、810-2b、及び/又は840)によって少なくとも部分的に占有される行を占有し、リアルタイム通信セッションの参加者の複数の表現のうちの1つ以上(例えば、図6Kのタイル610-12、610-15、及び/又は610-18)は、コンテンツの表現(例えば、620)によって少なくとも部分的に占有される列を占有する(例えば、コンテンツの表現の上/下にある(例えば、同じ列を占有するが、異なる行を占有する)リアルタイム通信セッションの参加者の1つ以上の表現、及びコンテンツの表現のそばにある(例えば、同じ行を占有するが、異なる列を占有する)リアルタイム通信セッションの参加者の1つ以上の表現が存在する)。いくつかの実施形態では、コンテンツの表現は、コンテンツの表現(例えば、830)を含む領域(例えば、820)を含み、領域は、境界によって少なくとも部分的に画定され、領域及び領域内のコンテンツの表現のうちの少なくとも1つは、配列の2つ以上の行及び/又は配列の2つ以上の列に対応するサイズを有する。
いくつかの実施形態では、共有コンテンツセッション中に、コンテンツ(例えば、820、830、810-2b、及び/又は840)は、コンピュータシステム(例えば、600、601、又は602)と、リアルタイム通信セッションの参加者に関連付けられた1つ以上の外部コンピュータシステムの両方において同時に出力される。いくつかの実施形態では、コンテンツは、コンピュータシステムが、コンピュータシステムからのスクリーン共有コンテンツを同時に出力するように、外部コンピュータシステム(単数又は複数)に伝送される、コンピュータシステムからのスクリーン共有コンテンツ(例えば、コンピュータシステムのディスプレイ上に表示されているコンテンツ)である。いくつかの実施形態では、コンテンツは、コンピュータシステムが外部コンピュータシステムからのスクリーン共有コンテンツを同時に出力するように、コンピュータシステム(及び、いくつかの実施形態では、他の外部コンピュータシステム)に伝送される、外部コンピュータシステムからのスクリーン共有コンテンツ(例えば、外部コンピュータシステムのディスプレイ上に表示されているコンテンツ)(例えば、830)である。いくつかの実施形態では、コンテンツは、コンピュータシステムと外部コンピュータシステム(単数又は複数)において出力される同期コンテンツ(例えば、840)である。いくつかの実施形態では、コンピュータシステム及び外部コンピュータシステム(単数又は複数)は各々、遠隔サーバからのコンテンツ(例えば、ビデオ、映画、TV番組、歌)に別々にアクセスし、各コンピュータシステムが遠隔サーバからのコンテンツに別々にアクセスしている間、コンテンツがコンピュータシステムにおいて(例えば、それぞれのコンピュータシステムにローカルなアプリケーションを介して)出力されるように、コンテンツのそれぞれの出力において同期される。いくつかの実施形態では、コンピュータシステム及び外部コンピュータシステム(単数又は複数)は、コンピュータシステム又は外部コンピュータシステムにおいて受信される、コンテンツの出力を要求する選択に応じて、コンテンツ(例えば、同期コンテンツ)に別々にアクセスする。
いくつかの実施形態では、共有コンテンツセッションのコンテンツの表現は、リアルタイム通信セッションのアクティブな参加者(例えば、コンテンツを提示している、コンテンツを共有している、及び/又は話をしている参加者)の表現(例えば、810-1b、824、及び/又は810-2b)(例えば、ライブビデオフィード、名前、写真、及び/又はアバター)を含む。いくつかの実施形態では、共有コンテンツセッションのコンテンツの表現は、アクティブな参加者の第1の表現(例えば、810-1b又は810-2b)(例えば、ライブビデオフィード、名前、写真、及び/又はアバター)を含み、参加者の複数の表現は、アクティブな参加者の第2の表現(例えば、810-1a又は810-2a)(例えば、ライブビデオフィード、名前、写真、及び/又はアバター)を含む。コンテンツの表現においてアクティブな参加者の第1の表現、及び参加者の複数の表現においてアクティブな参加者の第2の表現を表示することにより、コンピュータシステムのユーザを困惑させる可能性がある、参加者の複数の表現の表示される配置を調整することなしに、アクティブな参加者が共有コンテンツに関連付けられているというフィードバックをコンピュータシステムのユーザに提供し、それによって、改善された視覚的フィードバックを提供する。
いくつかの実施形態では、共有コンテンツセッションにおいてコンテンツの表現を表示することは、コンテンツが第1のアスペクト比(例えば、4:3、9:16、又は縦向き)を有するという判定に従って、第1のサイズを有するコンテンツの表現(例えば、図8Cの830、又は図8Gの810-2b)を表示することと、コンテンツが第1のアスペクト比とは異なる第2のアスペクト比(例えば、16:9又は横向き)を有するとの判定に従って、第1のサイズとは異なる第2のサイズを有するコンテンツの表現(例えば、840)を表示することと、を含む。いくつかの実施形態では、共有コンテンツセッションのコンテンツの表現は、共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現(例えば、810-1b、810-2b、及び/又は824)(例えば、ライブビデオフィード、名前、写真、及び/又はアバター)を含む。共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現を含む、共有コンテンツセッションのコンテンツの表現を表示することにより、当該参加者が共有コンテンツの出力を開始したというフィードバックをコンピュータシステムのユーザに提供し、これは、改善された視覚的フィードバックを提供する。いくつかの実施形態では、共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現は、当該参加者のライブビデオフィード(例えば、810-1b又は810-2b)を含む。いくつかの実施形態では、共有コンテンツセッションにおいてコンテンツの表現を表示することは、コンテンツ(例えば、スクリーン共有コンテンツ及び/又は同期コンテンツ)の表現(例えば、830)と、共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現(例えば、810b及び/又は824)(例えば、名前、アバター、写真、及び/又はライブビデオフィード)と、を含む領域(例えば、820)(例えば、境界内の領域)を表示することを含み、共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現は、コンテンツの表現とは別個に(例えば、離間して)表示される。コンテンツの表現と、共有コンテンツセッションにおいてコンテンツの出力を開始した参加者の表現とを含む領域を含む共有コンテンツセッションのコンテンツの表現を表示することにより、当該参加者が共有コンテンツの出力を開始したというフィードバックをコンピュータシステムのユーザに提供し、これは、改善された視覚的フィードバックを提供する。
いくつかの実施形態では、参加者のそれぞれの表現が第1の表示サイズを有する、リアルタイム通信セッションの参加者の複数の表現を2次元配列で表示している間、コンピュータシステム(例えば、600、601、又は602)は、第1の表示サイズ(例えば、ピン留めタイル)を有するリアルタイム通信セッションの参加者の第1の表現(例えば、810-9)に対応する1つ以上の入力(例えば、815-2)のセットを検出する。いくつかの実施形態では、1つ以上の入力のセットは、タイルをピン留めする要求を含む。いくつかの実施形態では、1つ以上の入力のセットは、タイルを拡大する要求を含む。いくつかの実施形態では、1つ以上の入力のセットは、(例えば、タイルが拡大された後に)タイルを縮小する要求を含む。いくつかの実施形態では、リアルタイム通信セッションの参加者の第1の表現に対応する1つ以上の入力のセットを検出したことに応じて、コンピュータシステムは、第1の表示サイズ(例えば、図8Fの810-1)を有するリアルタイム通信セッションの参加者の他の表現を表示しながら、第1の表示サイズ(例えば、図8Fの810-9)と異なる(例えば、より大きい)第2の表示サイズを有するリアルタイム通信セッションの参加者の第1の表現を2次元配列で表示する。第1の表示サイズを有するリアルタイム通信セッションの参加者の他の表現を表示しながら、第1の表示サイズと異なる第2の表示サイズを有するリアルタイム通信セッションの参加者の第1の表現を2次元配列で表示することにより、当該参加者の表現が選択されたというフィードバックをコンピュータシステムのユーザに提供し、これは、改善された視覚フィードバックを提供する参加者の表現の拡大されたビューを提供する。いくつかの実施形態では、タイルは、グリッド内で位置を変えないようにピン留めされ得る。いくつかの実施形態では、ピン留めされたタイルが拡大されると、拡大されたピン留めされたタイルがグリッド内に残っている間に、1つ以上の隣接のタイルが名簿に押し出される。いくつかの実施形態では、拡大され、ピン留めされたタイルが、その元の表示サイズに縮小されると、グリッドに押し出されたタイルは、名簿から削除され、ピン留めされたタイルに隣接するそれらの元の位置に表示される。
いくつかの実施形態では、2次元配列内に表示されるリアルタイム通信セッションの参加者の複数の表現は、参加者のそれぞれの表現が(例えば、2次元配列内に表される参加者の数の変化に応じて)2次元配列内で場所を変更することを防止するピン止め状態を有する参加者のそれぞれの表現(例えば、図8Fの810-9)を含む。参加者のそれぞれの表現が2次元配列内で場所を変更することを防止するピン止め状態を有する参加者のそれぞれの表現を含む、リアルタイム通信セッションの参加者の複数の表現を表示することにより、それぞれの参加者の固定位置を維持するための追加のコントロールでユーザインターフェースを混乱させることなしに、参加者のそれぞれの表現の固定位置を維持するための追加のコントロールを提供し、これは、ユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供する。
いくつかの実施形態では、リアルタイム通信セッションの参加者の複数の表現を表示することは、2次元配列の第1のセクション(例えば、図8Hの810-1、810-2a、810-4、810-5、810-9、及び810-10を含むセクション)(例えば、リアルタイム通信セッションの参加者の表現の2つ以上の行及び2つ以上の列を含むセクション)を表示することと、(例えば、第1のセクションから分離された)第1のセクションとは異なる2次元配列の第2のセクション(例えば、図8Hの810-3、810-7、810-6、810-8、810-11、及び810-12を含むセクション)(例えば、リアルタイム通信セッションの参加者の表現の2つ以上の行及び2つ以上の列を含むセクション)を表示することと、リアルタイム通信セッションの第1の参加者の拡大された表現(例えば、810-2b)を表示することであって、第1の参加者の拡大された表現が、2次元配列の第1のセクションの少なくとも一部分及び2次元配列の第2のセクションの少なくとも一部分とオーバーラップする、表示することと、を含む。リアルタイム通信セッションの第1の参加者の拡大された表現を2次元配列の第1のセクションの少なくとも一部分及び2次元配列の第2のセクションの少なくとも一部分とオーバーラップして表示することを含む、リアルタイム通信セッションの参加者の複数の表現を表示することにより、表現第1の参加者2次元配列の第1及び第2のセクションの参加者の表現とを閲覧するために別個のユーザインターフェース間をユーザがナビゲートすることを必要とせずに、他の参加者との進行中のリアルタイム通信セッションのコンテキストを維持しながら、ユーザが第1の参加者の表現を閲覧することを可能にし、これは、ユーザインターフェースを雑然とさせることなく改善された視覚フィードバックを提供する。
いくつかの実施形態では、リアルタイム通信セッションの参加者(例えば、660又は810)の複数の表現並びに共有コンテンツセッションのコンテンツ(例えば、620、670、820、830、810-2b、及び/又は840)の表現を表示している間に、コンピュータシステム(例えば、600、601、又は602)は、コンテンツの表現を移動させる要求(例えば、615-11又は615-12)(例えば、入力)を受信する。いくつかの実施形態では、コンテンツの表現を移動させる要求を受信したことに応じて、コンピュータシステムは、コンテンツの表現を移動させる要求に従って(例えば、入力の移動の方向及び/又は大きさに基づいて)コンテンツの表現を移動させ(例えば、図6AB~図6AFに示すように670を移動させ)、(例えば、コンテンツの表現の移動後位置を回避するために)コンテンツの表現の移動(例えば、移動後位置)に基づいて、リアルタイム通信セッションの参加者の1つ以上の表現(例えば、領域654及び/又は領域656内のタイル660)の位置を変更する(例えば、移動させる)。コンテンツの表現の移動に基づいてリアルタイム通信セッションの参加者の1つ以上の表現の位置を変更することにより、コンピュータシステムは、リアルタイム通信アプリケーションのユーザインターフェースをユーザが手動で調整することを必要とせずに、コンテンツの位置の変化に基づいて表現の場所を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。いくつかの実施形態では、リアルタイム通信アプリケーションのユーザインターフェースは、2次元配列とは視覚的に区別できるユーザインターフェースの第1の領域(例えば、656又は806)内に表示されるリアルタイム通信セッションの参加者の表現のサブセット(例えば、領域656又は806内のタイル660又は810)を含む。
いくつかの実施形態では、コンテンツの表現の移動に基づいてリアルタイム通信セッションの参加者の1つ以上の表現の位置を変更することは、(例えば、図6ADに示すように)(例えば、コンテンツの表現の移動後位置を回避するために)コンテンツの表現の移動に基づいて参加者の表現のサブセットをユーザインターフェースの第1の領域から第2の領域に移動させることを含む。コンテンツの表現の移動に基づいて、リアルタイム通信セッションの参加者の表現のサブセットをユーザインターフェースの第1の領域から第2の領域に移動させることにより、コンピュータシステムは、リアルタイム通信アプリケーションのユーザインターフェースをユーザが手動で調整することを必要とせずに、コンテンツの位置の変化に基づいて参加者の表現のサブセットの場所を自動的かつ動的に最適化できるようになり、これは、改善された視覚フィードバックを提供し、動作を実行するために必要な入力の数を低減する。
いくつかの実施形態では、リアルタイム通信セッションの参加者の複数の表現及び共有コンテンツセッションのコンテンツの表現を表示している間に、コンピュータシステムは、リアルタイム通信アプリケーションのユーザインターフェース(例えば、605、630、650、又は805)内で移動するためのアイテム(例えば、610、620、640、670、660、810、820、830、810-2b、又は840)(例えば、リアルタイム通信セッションの参加者の表現、リアルタイム通信セッションの参加者の1つ以上の表現のセット、又は共有コンテンツセッションのコンテンツの表現)を選択する要求(例えば、615-11又は615-12)(例えば、入力)を受信する。いくつかの実施形態では、移動するためのアイテムを選択する要求を受信したことに応じて、要求が共有コンテンツセッションのコンテンツの表現(例えば、620、670、820、830、810-2b、又は840)の選択に対応するという判定に従って、コンピュータシステムは、(例えば、入力の移動の方向及び/又は大きさに基づいて)コンテンツの表現の移動を有効にし、要求がリアルタイム通信セッションの参加者の1つ以上の表現(例えば、610、660、640、又は810)(例えば、配列内の1つ以上のタイル、名簿内の1つ以上のタイル)のセットの選択に対応するという判定に従って、コンピュータシステムは、リアルタイム通信セッションの参加者の1つ以上の表現のセットの移動を有効にすることを取り止める。要求が共有コンテンツセッションのコンテンツの表現の選択に対応するときにコンテンツの表現の移動を有効にし、要求がリアルタイム通信セッションの参加者の1つ以上の表現のセットの選択に対応するときにリアルタイム通信セッションの参加者の1つ以上の表現のセットの移動を有効にすることを取り止めることにより、コンテンツの表現を移動させるための追加のコントロールでユーザインターフェースを混乱させることなしに、ユーザインターフェース内で移動させるコンテンツの表現を選択するためのコントロールを提供し、これは、ユーザインターフェースを雑然とさせることなしに、追加のコントロールオプションを提供する。いくつかの実施形態では、共有コンテンツの表現を選択して、ユーザインターフェース内で移動させることができるが、グリッド及び/又は名簿内のタイルを選択して、ユーザインターフェース内で移動させることはできない。
いくつかの実施形態では、(例えば、図6AFに示すように)リアルタイム通信セッションの参加者の複数の表現(例えば、660-1、660-2、660-3、660-4、及び/又は660-5)に対して第1の位置を有するコンテンツの表現(例えば、670)を表示している間に、コンピュータシステムは、(例えば、図6AGに示すように)リアルタイム通信アプリケーションのユーザインターフェースの向きの変化(例えば、縦向きから横向きへのコンピュータシステムの回転、又は横向きから縦向きへのコンピュータシステムの回転)を検出する。いくつかの実施形態では、リアルタイム通信アプリケーションのユーザインターフェースの向きの変化を検出したことに応じて、向きの変化が第1の方向における回転(例えば、時計回りの回転)であるという判定に従って、コンピュータシステムは、リアルタイム通信セッションの参加者の複数の表現に対するコンテンツの表現の第1の位置を維持しながら、コンテンツの表現(例えば、670)及び参加者の複数の表現(例えば、660-1、660-2、660-3、660-4、及び/又は660-5)の表示される向きを第2の方向に回転(例えば、反時計回りに回転)させ、(例えば、図6AGに示すように)向きの変化が第3の方向における回転(例えば、反時計回りの回転)であるという判定に従って、コンピュータシステムは、(例えば、図6AGに示すように)リアルタイム通信セッションの参加者の複数の表現に対するコンテンツの表現の第1の位置を維持しながら、コンテンツの表現(例えば、670)及び参加者の複数の表現(例えば、660-1、660-2、660-3、660-4、及び/又は660-5)の表示される向きを第4の方向に回転(例えば、時計回りに回転)させる。リアルタイム通信セッションの参加者の複数の表現に対するコンテンツの表現の第1の位置を維持しながら、コンテンツの表現及び参加者の複数の表現の表示される向きを回転させることにより、コンピュータシステムは、コンピュータシステムのユーザを困惑させる可能性がある、コンテンツの表現及び参加者の複数の表現の表示される配置を調整することなしに、コンテンツの表現及び参加者の複数の表現の表示される向きを最適化できるようになり、これは、改善された視覚フィードバックを提供する。
方法900(例えば、図9)に関して上記したプロセスの詳細はまた、上述した方法に類似の方法で適用可能であることに留意されたい。例えば、方法700は、方法900を参照して上記した様々な方法の特性のうちの1つ以上を任意選択的に含む。例えば、図8A~図8Hに示す、方法900を参照して説明した共有コンテンツを表示する方法は、図6A~図6ASに示す、方法700を参照して説明した実施形態に適用することができる。簡潔にするために、これらの詳細は繰り返されていない。
明細書で提供される様々な実施形態は、概して、デバイス600、601、及び602を使用して説明される。しかしながら、他のコンピュータシステム又はデバイスを(デバイス600、601、及び/又は602に加えて、又はその代わりに)使用して、(同時共有コンテンツセッションを伴う又は伴わない)ビデオ会議セッションに参加することができること、及びビデオ会議セッションの様々な態様が、ビデオ会議セッションに参加する各種デバイスにわたって別様に実装され得ることを理解されたい。例えば、ディスプレイ構成要素を任意選択で含むスマートスピーカを使用して、ビデオ会議セッションに参加することができる。いくつかの実施形態では、スマートスピーカでの入力は、口頭で、及び任意選択的に、タッチ入力を介して提供することができ、出力は、接続されたディスプレイ構成要素で提供されるオーディオ出力及び任意選択的に視覚出力とすることができる。別の例として、ビデオ会議セッションの視覚的側面を表示するために頭部搭載型デバイス(HMD)のディスプレイ構成要素(及びオーディオを生成するために用いられるスピーカ)を使用することができ、入力は、ジェスチャ、視線、手の動き、オーディオ入力、タッチ入力、又は同等物を検出することによって受信されることができる。いくつかの実施形態では、図に示すユーザインターフェースは、拡張現実又は仮想現実などのエクステンデッドリアリティ環境において表示されることができる。例えば、図に示すビデオタイル、ウィンドウ、及び/又は他の表示領域は、3次元環境内に浮遊表示され得る。別の例として、ユーザ又は参加者の表現は、ビデオ会議アプリケーションにおけるビデオタイル又はウィンドウではなく、シミュレーションされた3次元アバター又は3次元環境の周りに配置される2次元アバターとして表示することができる。加えて、実施形態は、タップ、ドラッグ、クリック、及びホバージェスチャなどの様々な種類の入力を使用して本明細書で説明されているが、説明される実施形態は、ジェスチャ、視線、手の動き、オーディオ入力などを含む他の形態の入力に応答するように修正され得ることを理解されたい。加えて、異なる能力を有する異なるデバイスは、単一の(例えば、共有コンテンツセッションを伴う又は伴わない)ビデオ会議セッションにおいて組み合わせられることができ、例えば、スマートフォン、タブレット、ラップトップコンピュータ、デスクトップコンピュータ、スマートスピーカ、スマートTV、ヘッドホン又はイヤホン、HMD、及び/又はスマートウォッチ(又はそれらのサブセット)が、異なるデバイスがデバイスの能力に従って別様に参加することにより同一のセッションに参加することができる(例えば、シミュレーションされた3次元環境又は拡張現実環境においてコンテンツを表示するHMD、オーディオ出力及び入力を提供するスマートスピーカ、空間オーディオ出力及びオーディオ入力を提供するヘッドホン、オーディオ及び視覚的入力及び出力を提供するラップトップ、デスクトップコンピュータ、スマートフォン及びタブレット、オーディオ及び視覚的出力並びにオーディオ入力(又はオーディオ及び視覚的入力)を提供するスマートTV)。
上記は、説明を目的として、特定の実施形態を参照して記述されている。しかしながら、上記の例示的な説明は、網羅的であること、又は開示される厳密な形態に本発明を限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。本技術の原理、及びそれらの実際の用途を最も良く説明するために、実施形態が選択及び記載されている。これにより、他の当業者は、意図された具体的な用途に適するような様々な修正を用いて、本技術及び様々な実施形態を最も良好に利用することが可能となる。
添付図面を参照して、本開示及び例を十分に説明してきたが、様々な変更及び修正が、当業者には明らかとなるであろうことに留意されたい。このような変更及び修正は、特許請求の範囲によって定義されるとおり、本開示及び例の範囲内に含まれるものとして理解するべきである。
上記したように、本技術の一態様は、様々なソースから入手可能なデータを収集及び使用して、ユーザへのビデオ会議セッションのコンテンツの配信を改善することである。本開示は、いくつかの場合には、この収集されたデータが、特定の人を一意に識別する個人情報データ、又は特定の人に連絡する若しくはその所在を突き止めるために使用できる個人情報データを含み得ることを想到する。このような個人情報データとしては、人口統計データ、場所ベースのデータ、電話番号、電子メールアドレス、ソーシャルネットワークID、自宅の住所、ユーザの健康若しくはフィットネスレベルに関するデータ若しくは記録(例えば、バイタルサイン測定値、投薬情報、運動情報)、生年月日、又は任意の他の識別情報若しくは個人情報が挙げられる。
本開示は、本技術におけるこのような個人情報データの使用がユーザの利益になる使用であり得る点を認識するものである。例えば、個人情報データは、ユーザにとってより興味深いターゲットコンテンツを配信するために使用されてもよい。したがって、このような個人情報データの使用は、ユーザによる配信されるコンテンツの計算された制御を可能にする。更に、ユーザに利益をもたらす個人情報データに関する他の使用も本開示によって意図されている。例えば、健康データ及びフィットネスデータは、ユーザの全般的なウェルネスについての洞察を提供するために使用することができ、又は、ウェルネスの目標を追求する技術を使用している個人への、積極的なフィードバックとして使用することもできる。
本開示は、このような個人情報データの収集、分析、開示、送信、記憶、又は他の使用に関与するエンティティが、確固たるプライバシーポリシー及び/又はプライバシー慣行を遵守するものとなることを想到する。具体的には、このようなエンティティは、個人情報データを秘密として厳重に保守するための、業界又は政府の要件を満たしているか又は上回るものとして一般に認識されている、プライバシーのポリシー及び慣行を実施し、一貫して使用するべきである。このようなポリシーは、ユーザによって容易にアクセス可能とするべきであり、データの収集及び/又は使用が変更されるにつれて更新されるべきである。ユーザからの個人情報は、そのエンティティの合法的かつ正当な使用のために収集されるべきであり、それらの合法的使用を除いては、共有又は販売されるべきではない。更には、このような収集/共有は、ユーザに告知して同意を得た後に実施されるべきである。加えて、このようなエンティティは、このような個人情報データへのアクセスを保護及び安全化し、個人情報データへのアクセス権を有する他者が、それらのプライバシーポリシー及び手順を忠実に守ることを保証するための、あらゆる必要な措置を講じることを考慮するべきである。更に、このようなエンティティは、広く受け入れられているプライバシーポリシー及び慣行に対する自身の遵守を証明するために、サードパーティによる評価を自らが受けることができる。更には、ポリシー及び慣行は、収集及び/又はアクセスされる具体的な個人情報データのタイプに適合されるべきであり、また、管轄権固有の考慮事項を含む、適用法令及び規格に適合されるべきである。例えば、アメリカ合衆国では、特定の健康データの収集又はそれへのアクセスは、医療保険の相互運用性と説明責任に関する法律(HIPAA)などの、連邦法及び/又は州法に準拠し得る。その一方で、他国における健康データは、他の規制及びポリシーの対象となり得るものであり、それに従って対処されるべきである。それゆえ、各国において、異なる個人データのタイプに関して異なるプライバシー慣行が保たれるべきである。
前述のことがらにも関わらず、本開示はまた、個人情報データの使用又は個人情報データへのアクセスを、ユーザが選択的に阻止する実施形態も想到する。すなわち、本開示は、このような個人情報データへのアクセスを防止又は阻止するために、ハードウェア要素及び/又はソフトウェア要素が提供され得ることを想到する。例えば、いくつかの実施形態では、本技術は、ユーザが、サービスのための登録中に又はその後のいつでも、個人情報データの収集への参加の「オプトイン」又は「オプトアウト」を選択することを可能にするように構成され得る。別の例では、本技術は、ユーザが、(例えば、スクリーン共有実施形態などにおいて)ユーザのスクリーン上に現れ得る個人情報の共有を防止することを可能にするように構成されることができる。「オプトイン」及び「オプトアウト」のオプションを提供することに加えて、本開示は、個人情報のアクセス又は使用に関する通知を提供することを想到する。例えば、ユーザの個人情報データにアクセスすることとなるアプリのダウンロード時にユーザに通知し、その後、個人情報データがアプリによってアクセスされる直前に再びユーザに通知し得る。
更には、本開示の意図は、個人情報データを、非意図的若しくは許可のないアクセス又は使用の危険性を最小限に抑える方法で、管理及び処理するべきであるという点である。データの収集を制限し、データがもはや必要とされなくなると削除することにより、リスクを最小化することができる。追加的に、特定の健康関連アプリケーションを含め、適用可能な場合、ユーザのプライバシーを保護するために、データの非特定化を使用することができる。非特定化は、適切なときに、特定の識別子(例えば、生年月日など)を削除すること、記憶されたデータの量又は特異性を制御すること(例えば、場所データを住所レベルよりも都市レベルで収集すること)、データがどのように記憶されるかを制御すること(例えば、データをユーザ全体にわたって集約すること)及び/又は他の方法によって、容易にすることができる。
それゆえ、本開示は、1つ以上の様々な開示された実施形態を実施するための、個人情報データの使用を広範に網羅するものであるが、本開示はまた、このような個人情報データにアクセスすることなく、それらの様々な実施形態を実施することも可能であることを想到する。すなわち、本技術の様々な実施形態は、このような個人情報データの全て又は一部分が欠如することにより、動作不可能にされるものではない。例えば、コンテンツは、ユーザに関連付けられたデバイスにより要求されたコンテンツ、コンテンツ配信サービスで使用可能な他の非個人情報、若しくは公的に使用可能な情報などの、非個人情報データ又は個人情報の最小限の量のみに基づいて選好を推測することにより、選択してユーザに配信することができる。