(58)【調査した分野】(Int.Cl.,DB名)
前記カメラ・ファインダーに対する前記第1のタイプのユーザ・インタラクションを検出することが、前記カメラ・ファインダーに対するタップ・タッチ・ジェスチャを検出することを含む、請求項1に記載の方法。
マルチメディア・コンテンツ・アイテムをキャプチャすることが、検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャすることを含む、請求項2に記載の方法。
前記カメラ・ファインダーに対する前記第2のタイプのユーザ・インタラクションを検出することが、前記カメラ・ファインダーに対するプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含む、請求項5に記載の方法。
マルチメディア・コンテンツ・アイテムをキャプチャすることが、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、デジタル・ビデオをキャプチャすることを含む、請求項6に記載の方法。
前記プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、前記キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを前記通信スレッドに対して追加することをさらに含む、請求項8に記載の方法。
前記プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを送信することをさらに含む、請求項13に記載の方法。
前記プレス・アンド・ホールド・タッチ・ジェスチャの前記検出された終了に応答して、前記キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第1の部分における前記通信スレッドに対して追加することをさらに含む、請求項14に記載の方法。
コンピュータ実行可能な命令が記憶された非一時的コンピュータ可読記憶媒体であって、該コンピュータ実行可能な命令は、プロセッサによって実行されるとき、コンピュータ・システムに、
メッセージング・グラフィカル・ユーザ・インターフェースを該メッセージング・グラフィカル・ユーザ・インターフェースの第1の領域における通信スレッドとともに提供させ、該通信スレッドは、ユーザと1人または複数の共同ユーザとの間で交換される複数の電子メッセージを含み、
カメラ・ファインダーコントロールの選択を検出させ、
該カメラ・ファインダーコントロールの選択に応答して、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第1の領域を第1の部分および第2の部分に分割し、
該第2の部分から該通信スレッドを除去することにより該通信スレッドの可視領域を縮小して、該通信スレッドが該メッセージング・グラフィカル・ユーザ・インターフェースの該第1の領域の該第1の部分においてのみ存在するようにし、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第2の部分においてカメラ・ファインダーを提供させることであって、該カメラ・ファインダーは、該メッセージング・グラフィカル・ユーザ・インターフェースの該第2の部分内に前記コンピュータ・システムのカメラからのライブ・データ・ストリームを提供する、該カメラ・ファインダーを提供させる、非一時的コンピュータ可読記憶媒体。
【発明を実施するための形態】
【0034】
1つまたは複数の実施形態は、マルチメディア・コンテンツ・アイテムを電子メッセージとして送信する際に、効率的かつ効果的なユーザ経験をユーザに提供する電子メッセージング・システムを含む。より具体的には、本明細書において説明される1つまたは複数の実施形態は、ユーザが電子メッセージとして送信するためのマルチメディア・コンテンツ・アイテムを簡単かつ直感的に生成することを可能にする。具体的には、本明細書において説明される電子メッセージング・システムは、ユーザが迅速かつ簡単にデジタル写真またはデジタル・ビデオを生成し、メッセージとして送信することを可能にし得る。
【0035】
さらに、電子メッセージング・システムは、ユーザが通信スレッドから離れることなく、デジタル写真またはデジタル・ビデオを生成することを可能にし得る。例えば、1つまたは複数の実施形態は、カメラ・ファインダーだけでなく、通信スレッドも含むユーザ・インターフェースを提供する。従って、1つまたは複数の実施形態は、ユーザがメッセージを受信し、読んでいる間に同時にマルチメディアをキャプチャすることを可能にする。
【0036】
さらに、1つまたは複数の実施形態のシステムおよび方法は、余分なユーザ・インタラクションを必要とすることなく、ユーザが電子マルチメディアをキャプチャすることを可能にする。例えば、電子メッセージング・システムは、異なるタイプのユーザ入力に応答して、カメラ・ファインダーを介して異なるタイプのマルチメディアをキャプチャし得る。また、電子メッセージング・システムは、検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル写真をキャプチャし得る。また、電子メッセージング・システムは、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル・ビデオをキャプチャし得る。
【0037】
1つまたは複数の実施形態は、キャプチャされたマルチメディアを、このマルチメディアをキャプチャするために使用されたユーザ・インタラクションが完了し次第、通信スレッドに対して自動的に追加する。例えば、電子メッセージング・システムは、キャプチャされたデジタル写真を、このデジタル写真をキャプチャするために使用された検出されたタップ・タッチ・ジェスチャの直後に、通信スレッドに対して追加してもよい。また、電子メッセージング・システムは、キャプチャされたデジタル・ビデオを、このデジタル・ビデオをキャプチャするために使用されたプレス・アンド・ホールド・タッチ・ジェスチャの終了が検出され次第、通信スレッドに対して追加してもよい。従って、1つまたは複数の実施形態は、自発的な通信、迅速な通信、リハーサルなしの通信、または編集された通信を促進することができる。
【0038】
図1は、電子メッセージング・システム100の例示的な実施形態を例示する。図示のように、電子メッセージング・システム100は、ユーザ・インターフェース・マネージャ102(または、単に「UIマネージャ」)と、ユーザ入力検出部104と、マルチメディア・マネージャ106と、通信マネージャ108と、データ・ストレージ110とを含み得るが、これらに限定されない。電子メッセージング・システム100の構成要素102〜110の各々は、任意の適切な通信技術を使用して互いに通信し得る。本明細書における開示は、構成要素102〜110を
図1において別個のものと示しているが、構成要素102〜110のうちの任意のものは、1つまたは複数の実施形態としての役割を果たし得るように、単一の機器またはモジュールなどの、より少ない構成要素へ組み合わされてもよく、または、より多くの構成要素へ分割されてもよい。また、構成要素102〜110は、
図7に関連して下記で説明されるものなどの、1つもしくは複数のコンピューティング・デバイス上に位置しても、または1つもしくは複数のコンピューティング・デバイスによって実装されてもよい。あるいは、電子メッセージング・システム100のある部分が、コンピューティング・デバイス上に位置し得る一方で、電子メッセージング・システム100の他の部分は、
図8を参照しつつ下記で説明されるものなどのソーシャル・ネットワーキング・システム上に位置し、またはソーシャル・ネットワーキング・システムの一部を形成する。
【0039】
構成要素102〜110は、ソフトウェア、ハードウェア、または、これら双方を含み得る。例えば、構成要素102〜110は、は、コンピュータ可読記憶媒体上に記憶され、1つまたは複数のコンピューティング・デバイスのプロセッサによって実行可能な、1つまたは複数の命令を含み得る。1つまたは複数のプロセッサによって実行されると、電子メッセージング・システム100のコンピュータ実行可能な命令は、コンピューティング・デバイスに、本明細書において説明される方法を実行させることができる。あるいは、構成要素102〜110は、一定の機能を実行するための専用処理デバイスなどのハードウェアを含み得る。追加的に、または代替的に、構成要素102〜110は、コンピュータ実行可能な命令とハードウェアとの組み合わせを含み得る。
【0040】
上記のように、また、
図1に示されるように、電子メッセージング・システム100は、ユーザ・インターフェース・マネージャ102を含み得る。ユーザ・インターフェース・マネージャ102は、ユーザが表示要素を見て、インタラクションすることを可能にするグラフィカル・ユーザ・インターフェース(または単に「ユーザ・インターフェース」)を提供し、管理し、更新し、および/または制御する。例えば、ユーザ・インターフェース・マネージャ102は、1つまたは複数の表示要素を様々なレイアウトで含む様々なユーザ・インターフェースを識別し、表示し、更新し、または、さもなければ提供し得る。
【0041】
より具体的には、ユーザ・インターフェース・マネージャ102は、グラフィカル・ユーザ・インターフェース内に多様な表示要素を表示することができる。例えば、ユーザ・インターフェース・マネージャ102は、コンピューティング・デバイスのディスプレイ上にグラフィカル・ユーザ・インターフェースを表示し得る。例えば、表示要素は、ボタン、テキスト・ボックス、メニュー、サムネイル、スクロール・バー、ハイパーリンク等を含むが、これらに限定されない。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、多様なレイアウトのうちのいずれか1つにおいて表示要素を表示し、フォーマットし得る。
【0042】
さらに、ユーザ・インターフェース・マネージャ102は、ユーザ・インタラクションに応答して、表示要素を更新し、除去し、サイズ変更し、または再配置することもできる。例えば、下記でより詳細に説明されるように、電子メッセージング・システム100は、ユーザ入力を多様な手法で検出し得る。例えば、1つまたは複数の実施形態において、検出されたユーザ入力は、ユーザ・インターフェース・マネージャ102に、その検出された入力に基づいてグラフィカル・ユーザ・インターフェースを更新させ得る。同様に、1つまたは複数の実施形態において、検出されたユーザ入力は、ユーザ・インターフェース・マネージャ102に、1つもしくは複数の表示要素をサイズ変更させ、グラフィカル・ユーザ・インターフェース内の1つもしくは複数の表示要素を再配置させ、または、さもなければ、グラフィカル・ユーザ・インターフェース内の1つもしくは複数の表示要素を変化させ、もしくは除去させ得る。
【0043】
また、ユーザ・インターフェース・マネージャ102は、ユーザ・インタラクションに応答して、ユーザ・インターフェースの一定の領域を選択的に更新することができる。例えば、1つまたは複数の実施形態において、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ102に、グラフィカル・ユーザ・インターフェースの1つの領域内のみで更新または変更を行わせ得る。1つまたは複数の実施形態において、ユーザ・インタラクションが検出されると、ユーザ・インターフェース・マネージャ102は、ユーザ・インターフェース内の別の領域は更新せずに表示し続けながら、ユーザ・インターフェース内の1つの領域を、あるタイプの表示から第2のタイプの表示へ更新し得る。
【0044】
同じように、ユーザ・インターフェース・マネージャ102は、ユーザ・インタラクションに応答して、ユーザ・インターフェースを再編成することができる。例えば、1つまたは複数の実施形態において、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ102に、グラフィカル・ユーザ・インターフェースを2つ以上の領域へ分割させ得る。1つまたは複数の実施形態において、ユーザ・インタラクションが検出されると、ユーザ・インターフェース・マネージャ102は、1つの領域に表示要素の第1の集まりを表示することのみから、第1の領域に表示要素の第1の集まり、第2の領域に表示要素の第2の集まりというように2つの領域に表示することへと、ユーザ・インターフェースを再編成し得る。同様に、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、検出されたユーザ・インタラクションに応答して、グラフィカル・ユーザ・インターフェース内の領域を統合するか、または除去してもよい。
【0045】
上記のように、また、
図1に例示されるように、電子メッセージング・システム100は、ユーザ入力検出部104をさらに含み得る。ユーザ入力検出部104は、ユーザ入力を任意の適切な手法で検出し、受信し、および/または手助けする。いくつかの例において、ユーザ入力検出部104は、1つまたは複数のユーザ・インタラクションを検出する。本明細書において、「ユーザ・インタラクション」は、1つもしくは複数の入力デバイスによって、または1つもしくは複数のタッチ・ジェスチャを介して、ユーザから受け取られる単一の入力、入力の組み合わせを意味する。ユーザ・インタラクションは、可変の持続期間を有することができ、上記のユーザ・インターフェース・マネージャ102によって管理されるグラフィカル・ユーザ・インターフェース上のどこにでも発生し得る。
【0046】
例えば、ユーザ入力検出部104は、キーボード、マウス、タッチ・スクリーン・ディスプレイ、または任意の他の入力デバイスからユーザ・インタラクションを検出することができる。タッチ・スクリーン・ディスプレイが利用される場合、ユーザ入力検出部104は、タッチ・スクリーンを通じてユーザによって提供されるユーザ・インタラクション(例えば、タップ・ジェスチャ、スワイプ・ジェスチャ、ピンチ・ジェスチャ等)を形成する、1つまたは複数のタッチ・ジェスチャを検出することができる。1つまたは複数の実施形態において、ユーザ入力検出部104は、タッチ・スクリーン・ディスプレイ上に提示されるグラフィカル・ユーザ・インターフェースの一部として表示される、1つもしくは複数の表示要素に関連するタッチ・ジェスチャ、および1つもしくは複数の表示要素を対象とするタッチ・ジェスチャのうちの少なくとも一方を検出することができる。ユーザ入力検出部104は、1つもしくは複数の表示要素に関連する任意の検出されたタッチ・ジェスチャ、および1つもしくは複数の表示要素を対象とする任意の検出されたタッチ・ジェスチャのうちの少なくとも一方をユーザ・インターフェース・マネージャ102へ報告し得る。
【0047】
ユーザ入力検出部104は、追加的に、または代替的に、ユーザ・インタラクションを表すデータを受信し得る。例えば、ユーザ入力検出部104は、ユーザからの1つもしくは複数のユーザ設定可能なパラメータ、ユーザからの1つもしくは複数のユーザ・コマンド、および任意の他の適切なユーザ入力のうちの少なくとも1つを受信し得る。例えば、ユーザ入力検出部104は、音声コマンドを受信し、または、さもなければ、ユーザ入力を感知し、検出し、もしくは受信することができる。
【0048】
上記のように、また、
図1に例示されるように、電子メッセージング・システム100は、マルチメディア・マネージャ106をさらに含み得る。マルチメディア・マネージャ106は、通信セッションに含めるために、マルチメディア入力をキャプチャし、パッケージし、記憶する。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、コンピューティング・デバイスの1つまたは複数のカメラとインターフェースを取ることができる。例えば、検出された入力に応答して、マルチメディア・マネージャ106は、1つまたは複数のカメラを介してマルチメディアをキャプチャし、付随するマルチメディア・コンテンツ・アイテムを生成し得る。
【0049】
例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、コンピューティング・デバイスの少なくとも1つのカメラとインターフェースを取って、カメラ・ファインダーをユーザ・インターフェース・マネージャ102へ提供し得る。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、提供されたカメラ・ファインダーを、通信スレッドを含むユーザ・インターフェースの一部として表示し得る。従って、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダーと通信スレッドとを同時に表示し得る。
【0050】
また、マルチメディア・マネージャ106は、検出されたユーザ入力に応答して、カメラ・ファインダーを介してマルチメディアをキャプチャし得る。例えば、マルチメディア・マネージャ106は、検出されたタップ・タッチ・ジェスチャに応答して画像をキャプチャし、この画像を含むデジタル写真マルチメディア・コンテンツ・アイテムを生成し得る。また、マルチメディア・マネージャ106は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答してビデオをキャプチャし、デジタル・ビデオ・マルチメディア・コンテンツ・アイテムを生成し得る。1つまたは複数の代替的な実施形態において、マルチメディア・マネージャ106は、他のタイプの検出された入力に応答して、他のタイプのマルチメディアをキャプチャし、生成し得る。例えば、マルチメディア・マネージャ106は、ダブル・タップ・タッチ・ジェスチャに応答して、1ダースの高速画像をバースト・モードでキャプチャしてもよく、または、2本の指によるプレス・アンド・ホールド・タッチ・ジェスチャ等に応答して、オーディオのみをキャプチャしてもよい。
【0051】
マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテムも通信スレッドに対して追加し得る。例えば、1つまたは複数の実施形態において、マルチメディアをキャプチャするために使用されたユーザ・インタラクションの完了が検出されると、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、デジタル写真をキャプチャするために使用された検出されたタップ・タッチ・ジェスチャが完了し次第、さらなるユーザ動作なしに、デジタル写真を通信スレッドに対して追加し得る。同様に、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、デジタル・ビデオをキャプチャするために使用された検出されたプレス・アンド・ホールド・タッチ・ジェスチャが完了し次第、デジタル・ビデオを通信スレッドに対して追加し得る。従って、同じ(また、1つまたは複数の実施形態においては単一の)ユーザ・インタラクションに応答して、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムをキャプチャし、マルチメディア・アイテムを電子メッセージとして送信し、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することができる。
【0052】
1つまたは複数の実施形態において、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムが通信スレッドに対して追加されると、マルチメディア・コンテンツ・アイテムを表示のためにパッケージし得る。例えば、マルチメディア・マネージャ106は、デジタル・ビデオ・マルチメディア・コンテンツ・アイテムを、デジタル・ビデオ・マルチメディアを再生することが可能な再生コントロールへパッケージし得る。次いで、マルチメディア・マネージャ106は、パッケージされたデジタル・ビデオ・マルチメディア・コンテンツ・アイテムとともに再生コントロールを通信スレッドに追加し得る。従って、マルチメディア・マネージャ106は、サード・パーティのマルチメディア・プレーヤからよりもむしろ、通信スレッドから直接、デジタル・ビデオが再生されることを可能にし得る。
【0053】
また、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することに先立って、マルチメディア・コンテンツ・アイテムをキャンセルし、または削除し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、検出されたユーザ・インタラクションに応答して、デジタル写真またはデジタル・ビデオのキャプチャをキャンセルし得る。例えば、マルチメディア・マネージャ106は、検出されたスワイプに応答して、デジタル・ビデオのキャプチャをキャンセルしてもよい。この場合において、マルチメディア・マネージャ106は、既にキャプチャされたデジタル・ビデオまたは画像のいかなる部分も破棄し、メッセージを送らず、または通信スレッドに対して何も追加しない。
【0054】
さらに、マルチメディア・マネージャ106は、カメラ・ファインダーを介してキャプチャされたマルチメディア・コンテンツ・アイテムを記憶し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテムを、このマルチメディア・コンテンツ・アイテムを通信スレッドに対して送って追加した後に、コンピューティング・デバイスのファイル・ストレージに記憶し得る。従って、キャプチャされたマルチメディア・コンテンツ・アイテムは、電子メッセージング・システムによって、または別のサード・パーティ・システムによって、後でアクセスされ得る。1つまたは複数の代替的な実施形態において、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して送って追加した後で、キャプチャされたマルチメディア・コンテンツ・アイテムを直ちに破棄し得る。また、マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテムを記憶するか、または破棄するかを特定するユーザ構成を受信し得る。
【0055】
マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテムに対して効果を追加するためのオプションも提供し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、色彩効果(すなわち、白黒、セピア、カラー等)、オーバーレイ効果(すなわち、境界を追加、キャプションを追加等)、シャープネスおよびコントラスト効果、顔認識およびタグ効果、またはマルチメディア・コンテンツ・アイテムに適切な任意の他の効果などの、ただし、これらに限定されない、キャプチャされたマルチメディア・コンテンツ・アイテムに対して追加され得る多様な効果を提供し得る。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムをキャプチャし、マルチメディア・コンテンツ・アイテムをメッセージとして送信し、キャプチャされたマルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することに先立って、追加される効果に関する構成を受信し得る。
【0056】
上記のように、また、
図1に例示されるように、電子メッセージング・システム100は、通信マネージャ108をさらに含み得る。通信マネージャ108は、電子メッセージング・システム100または電子メッセージング・システム100が実装され得るコンピューティング・デバイスからデータを受け取ること、および電子メッセージング・システム100または電子メッセージング・システム100が実装されるコンピューティング・デバイスへデータを送ることを手助けする。具体的には、通信マネージャ108は、下記で説明されるように、コンピューティング・デバイスの1つもしくは複数の通信インターフェースに指示し、または1つもしくは複数の通信インターフェースを起動して、データ、具体的には、電子通信に関連するデータを送信し、または受信することができる。さらに、
図7を参照しつつ、下記でさらに説明されるように、通信マネージャ108は、電子メッセージング・システム100へ送信されるか、または電子メッセージング・システム100から受信されるべきコンテンツ・アイテムを、1つまたは複数の通信チャネルを通じて送信されることが可能で、適当な通信プロトコルを使用する任意の必要な形式にパッケージし、またはフォーマットすることができる。
【0057】
さらに、通信マネージャ108は、1人または複数の共同ユーザへ、マルチメディア・マネージャ106によって提供されるキャプチャされたマルチメディアを自動的に送信し得る。例えば、1つまたは複数の実施形態において、ユーザ・インタラクションの完了が検出されることに応答して、さらなるユーザ・インタラクションなしに、通信マネージャ108は、キャプチャされたマルチメディア・コンテンツ・アイテムを、通信システムの1人または複数の共同ユーザへ送信し得る。このようにして、電子メッセージング・システム100は、自発的なリアルタイム通信を促進することができる。これは、マルチメディア・コンテンツ・アイテムを送信することに先立って、ユーザ起動の送信イベントを必要とするシステムと対照的である。代替的な実施形態において、通信マネージャ108は、ユーザが送信オプションを選択すると、メッセージを送信することができる。
【0058】
上記で説明されたように、電子メッセージング・システム100は、
図1に例示されるようなデータ・ストレージ110を含み得る。データ・ストレージ110は、マルチメディア・コンテンツ・アイテムに対して関連付けられるデータを表すマルチメディア・データ112を維持し得る。例えば、マルチメディア・データ112は、キャプチャされたマルチメディア・コンテンツ・アイテム、マルチメディア効果オプションおよび構成、ならびにマルチメディア記憶オプションおよび構成を含み得るが、これらに限定されない。
【0059】
図2は、電子メッセージング・システム100の1つまたは複数の実施形態が実装され得る例示的なシステム200を例示する概略図である。
図2に例示されるように、システム200は、コンピューティング・デバイス202、204と、ネットワーク206と、通信サーバ208とを含み得る。コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、
図2に示されるように、通信可能に結合され得る。
図2は、コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208の特定の構成を例示するが、様々な追加的な構成が可能である。例えば、コンピューティング・デバイス202、204は、ネットワーク206を迂回して、通信サーバ208と直接通信してもよく、または、代替的に、互いに直接通信してもよい。
【0060】
コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、データおよび通信信号のうちの少なくとも一方を伝送するのに適した任意の通信プラットフォームおよび技術を使用して通信し得る。例えば、コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、遠隔データ通信をサポートする任意の知られている通信技術、デバイス、媒体、およびプロトコルを介して通信してもよく、これらの例は、
図7に関して、下記でより詳細に説明されるであろう。また、一定の実施形態において、コンピューティング・デバイス202、204および通信サーバ208は、ネットワーク206を介して通信してもよく、ネットワーク206は、
図8に関して下記でさらに説明されるような、1つまたは複数のソーシャル・ネットワークを含み得る。
【0061】
通信サーバ208は、電子通信データを生み出し、記憶し、受信し、送信し得る。例えば、通信サーバ208は、電子通信をコンピューティング・デバイス202から受信し、受信された電子通信をコンピューティング・デバイス204へ送信し得る。具体的には、通信サーバ208は、システム200の1人または複数のユーザ間で電子メッセージを送ることができる。通信サーバ208は、テキスト・メッセージ、インスタント・メッセージ、ソーシャル・ネットワーキング・メッセージ、ソーシャル・ネットワーキング投稿、電子メール、および任意の他の形式の電子通信を含むが、これらに限定されない、幅広い電子通信タイプを受信することができる。通信サーバ208に関するさらなる詳細は、
図7に関して、下記で説明されるであろう。
【0062】
ネットワーク206は、(インターネット、企業イントラネット、仮想プライベート・ネットワーク(VPN:virtual private network)、ローカル・エリア・ネットワーク(LAN:local area network)、無線ローカル・ネットワーク(WLAN:wirelss local network)、セルラ・ネットワーク、広域ネットワーク(WAN:wide area network)、メトロポリタン・エリア・ネットワーク(MAN:metropolitan area network))などのネットワークもしくはネットワークの集まり、または、2つ以上のそのようなネットワークの組み合わせを表し得る。従って、ネットワーク206は、コンピューティング・デバイス202が通信サーバ208およびコンピューティング・デバイス204のうちの少なくとも一方にアクセスし、またはこの逆が行われ得る、任意の適切なネットワークであり得る。ネットワーク206は、
図7および
図8に関して、下記でより詳細に説明されるであろう。
【0063】
システム200のシステム要素およびネットワーク要素に加えて、
図2は、ユーザ210がコンピューティング・デバイス202に対して関連付けられ得ること、および、ユーザ212がコンピューティング・デバイス204に対して関連付けられ得ることを例示する。
図2は、2人のユーザ210、212のみを例示するが、システム200は、ユーザの各々が1つまたは複数のコンピューティング・デバイスを通じてシステム200とインタラクションする、多数のユーザを含み得る。例えば、ユーザ210は、電子通信(例えば、インスタント・メッセージ)を構成し、送信する目的のために、コンピューティング・デバイス202とインタラクションし得る。ユーザ210は、コンピューティング・デバイス202上のユーザ・インターフェース・マネージャ102によって管理されるユーザ・インターフェースを通じて、コンピューティング・デバイス202とインタラクションし得る。例えば、ユーザ210は、ユーザ・インターフェースを利用して、コンピューティング・デバイス202に、電子通信を構成させ、システム200の複数のユーザのうちの1人または複数へ電子通信を送信させ得る。
【0064】
1つまたは複数の実施形態において、
図1に関して説明されたような構成要素102〜110は、コンピューティング・デバイス202、204および通信サーバ208のうちの1つまたは複数上に実装され得る。例えば、コンピューティング・デバイス202、204および通信サーバ208は、電子メッセージング・システム100の通信マネージャ108を介してネットワーク206を介して通信し得る。1つまたは複数の実施形態において、コンピューティング・デバイス202、204は、ユーザ入力検出部104を介してユーザ入力を受信し得る。同様に、1つまたは複数の実施形態において、コンピューティング・デバイス202、204は、ユーザ・インターフェース・マネージャ102を介してグラフィカル・ユーザ・インターフェースを提供し得る。さらに、1つまたは複数の実施形態において、コンピューティング・デバイス202、204の各々は、電子メッセージング・システム100のインスタンスを含むことができる。
【0065】
下記でより詳細に説明されるように、
図1および
図2に関して説明されたような電子メッセージング・システム100の構成要素100〜110の各々は、電子メッセージング・システム100の他の構成要素と共におよび他の構成要素との組み合わせのうちの少なくとも一方において、1つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。具体的には、構成要素102〜110は、多様な目的のためにユーザが表示要素の集まりとインタラクションすることを可能にし得る。具体的には、
図3A〜
図4Gおよび後に続く説明によって、上記のような一般的な原理に従ったユーザ・インターフェースおよび特徴の様々な例示的な実施形態が例示される。
【0066】
いくつかの例において、コンピューティング・デバイス(すなわち、
図2のコンピューティング・デバイス202、204)は、電子メッセージング・システム100の一部または全部を実装することができる。例えば、
図3Aは、電子メッセージング・システム100の構成要素102〜110のうちの1つまたは複数を実装し得るコンピューティング・デバイス300を例示する。
図3Aに例示されるように、コンピューティング・デバイス300は、携帯電話デバイス(例えば、スマートフォン)などのハンドヘルド・デバイスである。本明細書において、「ハンドヘルド・デバイス」とは、ユーザの一方の手で保持される/操作されるような大きさにされ、ユーザの一方の手で保持される/操作されるように構成されたデバイスを指す。しかしながら、追加的な例または代替的な例において、タブレット・デバイス、ハンドヘルド・デバイス、より大きな無線デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、携帯情報端末デバイス、ならびに/または任意の他の適切なコンピューティング・デバイスなどの、ただし、これらに限定されない、任意の他の適切なコンピューティング・デバイスが、本明細書において説明される工程および/または動作のうちの1つまたは複数を実行し得る。
【0067】
コンピューティング・デバイス300は、
図7のコンピューティング・デバイス700を参照して下記で説明される特徴および構成要素のうちの任意のものを含み得る。
図3Aに例示されるように、コンピューティング・デバイス300は、ユーザ・インターフェースを表示し、または提供することができるタッチ・スクリーン・ディスプレイ302を含み、このタッチ・スクリーン・ディスプレイ302を通じて、ユーザ入力が受信されるか、または検出されるか、あるいは受信及び検出され得る。本明細書において、「タッチ・スクリーン・ディスプレイ」とは、タッチ・スクリーン・デバイスのディスプレイを指す。1つまたは複数の実施形態において、タッチ・スクリーン・デバイスは、ユーザ210、212がタッチ・ジェスチャを行い得る少なくとも1つの画面を有するコンピューティング・デバイス202、204(例えば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話)であり得る。追加的に、または代替的に、コンピューティング・デバイス300は、タッチ・パッドまたは
図7を参照して下記で説明されるものなどの、任意の他の適切な入力デバイスを含んでもよい。
【0068】
図3Aは、グラフィカル・ユーザ・インターフェースの1つの実施形態、具体的には、メッセージング・グラフィカル・ユーザ・インターフェース304を表示する、コンピューティング・デバイス300のタッチ・スクリーン・ディスプレイ302を例示する。例えば、ユーザ・インターフェース・マネージャ102は、様々な表示領域および表示要素を、メッセージング・グラフィカル・ユーザ・インターフェース304の一部として提供する。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、メッセージ入力制御パレットまたはツールバー310だけでなく、通信スレッド306も提供する。
【0069】
上記のように、電子メッセージング・システム100の通信マネージャ108は、データを受信することおよび送信することを手助けすることができる。1つまたは複数の実施形態において、通信マネージャ108は、コンピューティング・デバイス202、204間で電子通信を受信することおよび送信することを手助けする。また、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、通信マネージャ108を介して送信および受信された電子通信を表示する。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース304内の通信スレッド306において、通信マネージャ108を介して送信および受信された電子通信を表示することができる。
【0070】
例えば、
図3Aに例示されるように、ユーザ・インターフェース・マネージャ102は、通信デバイス300のユーザのアカウントから送信された電子メッセージ308aを含む通信スレッド306を提供する。同様に、通信スレッド306は、コンピューティング・デバイス300のユーザのアカウントによって受信された電子メッセージ308bを含むことができる。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、新たなメッセージが通信スレッド306の最下部に追加され、それによって、より古いメッセージが通信スレッド306の最上部に表示されるように、通信スレッド306を編成する。代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、メッセージ308a、308b間の経時的な関係または他の関係をユーザに対して示し得る任意の手法で、メッセージ308a、308bを編成し得る。
【0071】
ユーザ・インターフェース・マネージャ102は、多様な電子通信特性を提供して、ユーザが通信スレッド306における電子通信を区別することを助ける。例えば、
図3Aに例示されるように、ユーザ・インターフェース・マネージャ102は、コンピューティング・デバイス300のユーザのアカウントから送信された電子メッセージ308aを、メッセージング・グラフィカル・ユーザ・インターフェース304の一方の側(すなわち、右側)を指すように表示する。他方、ユーザ・インターフェース・マネージャ102は、通信マネージャ108によって受信された電子メッセージ308bを、メッセージング・グラフィカル・ユーザ・インターフェース304の他方の側(すなわち、左側)を指すように表示する。1つまたは複数の実施形態において、電子メッセージ308a、308bの位置付けおよび向きは、コンピューティング・デバイス300のユーザに対して、メッセージング・グラフィカル・ユーザ・インターフェース304内に表示される様々な電子通信の発信元の明確な指標を提供する。
【0072】
ユーザが電子通信を区別することを助ける、ユーザ・インターフェース・マネージャ102によって提供される別の特性は、電子通信の色であり得る。例えば、
図3Aに示されるように、ユーザ・インターフェース・マネージャ102は、送信された電子メッセージ308aを第1の色で表示し、受信された電子メッセージ308bを第2の色で表示する。1つまたは複数の実施形態において、第1の色および第2の色は、それぞれ黒色および白色でよく、反転された書体の色を有してもよい。代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、電子メッセージ308a、308bを白色の背景および異なる色の輪郭を用いて表示してもよい。
【0073】
さらに別の代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、電子メッセージ308a、308bを、異なるパターンの背景を用いて、異なるフォントで、異なるサイズで、または、送信された電子メッセージ308aと受信された電子メッセージ308bとを区別し得る任意の他の手法で、表示し得る。例えば、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、送信された電子メッセージ308aを青い背景上に白い書体を用いて表示する。同様に、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、受信された電子メッセージ308bを灰色の背景上に黒い書体を用いて表示する。
【0074】
上記のように、ユーザ・インターフェース・マネージャ102は、メッセージ入力制御パレットまたはツールバー310も提供し得る。
図3Aに例示されるように、ユーザ・インターフェース・マネージャ102は、メッセージ入力制御パレットまたはツールバー310をメッセージング・グラフィカル・ユーザ・インターフェース304の一部として表示する。1つまたは複数の実施形態において、メッセージ入力制御パレットまたはツールバー310は、ユーザに様々なメッセージ入力オプションまたは他のオプションを提供する、多様な選択可能なメッセージ入力コントロールを含む。例えば、
図3Aにおいて、メッセージ入力制御パレットまたはツールバー310は、テキスト入力コントロール312aと、カメラ・ファインダー入力コントロール312bと、マルチメディア入力コントロール312cと、記号入力コントロール312dと、音声入力コントロール312eとを含む。1つまたは複数の実施形態において、メッセージ入力制御パレットまたはツールバー310は、入力コントロール312a〜312eを異なる順序で提供してもよく、
図3Aに表示されていない他の入力コントロールを提供してもよく、または
図3Aに示される入力コントロール312a〜312eのうちの1つもしくは複数を省略してもよい。
【0075】
下記でさらに詳細に説明されるように、ユーザは、異なるタイプの電子通信を構成し、送信するために、入力コントロール312a〜312eのうちの任意のものとインタラクションし得る。例えば、ユーザが、テキスト入力コントロール312aとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、ユーザがテキスト・メッセージを書き込むために利用し得るタッチ・スクリーン・ディスプレイ・キーボードをメッセージング・グラフィカル・ユーザ・インターフェース304の一部分において提供し得る。同様に、ユーザが、マルチメディア入力コントロール312cとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース304の一部分内に(例えば、デジタル写真、デジタル・ビデオ等を表示するための)マルチメディア・コンテンツ・アイテム表示領域を提供し得る。さらに、ユーザが、音声入力コントロール312eとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、音声記録コントロールを提供し得、音声記録コントロールを通じて、ユーザは、声または他の音声メッセージを記録することができる。同様に、下記でより詳細に説明されるように、ユーザが、カメラ・ファインダー入力コントロール312bとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、ユーザがデジタル写真またはデジタル・ビデオをキャプチャし、送信し、通信スレッド306に対して追加するために利用し得るデジタル・カメラ・インターフェースをメッセージング・グラフィカル・ユーザ・インターフェース304の一部分内に提供し得る。
【0076】
ユーザは、メッセージを書き込み、1人または複数の共同ユーザへ電子メッセージング・システム100を介して送信するために、メッセージ入力コントロール312a〜eのうちの任意のものとインタラクションし得る。例えば、
図3Bにおいて、カメラ・ファインダー入力コントロール312bとインタラクションするユーザの指314が示される。1つまたは複数の実施形態において、ユーザ入力検出部104は、カメラ・ファインダー入力コントロール312bに対するユーザの指314のインタラクション(例えば、タップ・タッチ・ジェスチャ)を検出することができる。ユーザ・インターフェース・マネージャ102は、どの入力コントロール312a〜312eが現在アクティブであるかを示すために、入力制御インジケータ318を表示し得る。また、
図3Bに示されるように、ユーザ入力検出部104が、カメラ・ファインダー入力コントロール312bに対するタップ・タッチ・ジェスチャを検出すると、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316を表示し得る。言い換えれば、検出されるユーザ・インタラクション応答して、電子メッセージング・システム100は、コンピューティング・デバイス300のカメラを起動し、コンピューティング・デバイス300のカメラからのデータ(画像/ビデオ)・ストリームをカメラ・ファインダー316内に表示することができる。
【0077】
具体的には、
図3Bに例示されるように、ユーザ・インターフェース・マネージャ102は、メッセージング・ユーザ・インターフェース304の第1の部分(すなわち、上方部分)において通信スレッド306を提供することができる。ユーザ・インターフェース・マネージャ102は、メッセージング・ユーザ・インターフェース304の第2の部分(すなわち、下方部分)においてカメラ・ファインダー316を提供することができる。従って、ユーザ・インターフェース・マネージャ102は、ユーザがマルチメディアを見て、キャプチャすることも可能でありながら、通信スレッド306および任意の新たなメッセージを見ることを可能にし得る。代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、通信スレッド306とカメラ・ファインダー316とを水平に、または垂直配置以外の別の配置に、配置することができる。
【0078】
1つまたは複数の実施形態において、マルチメディア・マネージャ106は、コンピューティング・デバイス300の1つまたは複数のカメラとインターフェースを取って、コンピューティング・デバイス300の1つまたは複数のカメラに基づいて、カメラ・ファインダー316を提供し得る。例えば、1つまたは複数の実施形態において、コンピューティング・デバイス300は、ユーザとは反対側を向く、後ろ向きのカメラを含み得る。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、後ろ向きのカメラとインターフェースを取り、後ろ向きのカメラによってキャプチャされた画像をカメラ・ファインダー316内に提供し得る。1つまたは複数の代替的な実施形態において、コンピューティング・デバイス300は、正面向きのカメラ(すなわち、ユーザに面するカメラ)だけでなく、後ろ向きのカメラも含み得る。別の実施形態において、マルチメディア・マネージャ106は、後ろ向きのカメラまたは正面向きのカメラのいずれかとインターフェースを取り、後ろ向きのカメラまたは正面向きのカメラのいずれかによって見られる同じ画像をカメラ・ファインダー316内に提供し得る。
【0079】
例えば、
図3Bに示されるように、マルチメディア・マネージャ106は、コンピューティング・デバイス300の正面向きのカメラとインターフェースを取り得る。従って、カメラ・ファインダー316は、正面向きのカメラによって見られる同じ画像(すなわち、ユーザの画像)を含む。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、カメラ・ファインダー316において表示される画像がカメラによって見られる画像と一致するように、カメラ・ファインダー316を連続的に更新し得る。具体的には、マルチメディア・マネージャ106は、入力制御インジケータ318によって示されるように、カメラ・ファインダー入力コントロール312bがアクティブである限り、カメラ・ファインダー316を連続的に更新し得る。
【0080】
マルチメディア・マネージャ106は、ユーザ・インタラクションに応答して、カメラ・ファインダー316を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。例えば、
図3Cに示されるように、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダーに対する検出されたユーザ・インタラクションに応答して、カメラ・ファインダー316を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。1つまたは複数の実施形態において、ユーザ入力検出部104は、カメラ・ファインダー316に対するユーザの指314のタッチ・ジェスチャを検出し得る。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、カメラ・ファインダー316に対するユーザの指314の検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャしてもよい。1つまたは複数の代替的な実施形態において、マルチメディア・マネージャ106は、別のタイプのユーザ・インタラクション、例えば、音声によるコマンド、コンピューティング・デバイス300の向きの変化(すなわち、縦長から横長へ)、または、この目的に適した別のタイプのユーザ・インタラクションなどに応答して、デジタル写真をキャプチャしてもよい。
【0081】
1つまたは複数の実施形態において、通信マネージャ108は、キャプチャされたマルチメディア・コンテンツ・アイテムを1人または複数の共同ユーザへ直ちに送信し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテムをキャプチャしたら直ちに、マルチメディア・コンテンツ・アイテムを通信マネージャ108へ提供し得る。従って、通信マネージャ108は、カメラ・ファインダー316とインタラクションする検出されたタップ・タッチ・ジェスチャの後に直ちに、キャプチャされたマルチメディア・コンテンツ・アイテムを1人または複数の共同ユーザへ送信し得る。
【0082】
さらに、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、キャプチャされたマルチメディア・コンテンツ・アイテムを通信スレッド306に対して直ちに追加し得る。例えば、
図3Dに示されるように、ユーザ・インターフェース・マネージャ102は、
図3Cに関して説明された検出されたユーザ・インタラクションに応答して、キャプチャされたマルチメディア・コンテンツ・アイテム320を通信スレッド306に対して追加することができる。キャプチャされたマルチメディア・コンテンツ・アイテム320は、カメラ・ファインダー316に対する検出されたタップ・タッチ・ジェスチャ・インタラクションに応答して、マルチメディア・マネージャ106によってキャプチャされたデジタル写真であり得る。
【0083】
従って、電子メッセージング・システム100は、余分なユーザ・インタラクションを必要とすることなく、ユーザが電子マルチメディアをキャプチャし、送信することを可能にし得る。例えば、電子メッセージング・システムは、マルチメディア320をキャプチャすると、キャプチャされたマルチメディア320を通信サーバ208を介して1人または複数の共同ユーザへ自動的に送信することができる。さらに、電子メッセージング・システム100は、マルチメディア320をキャプチャすると、キャプチャされたマルチメディア320を通信スレッド306に対して追加することができる。言い換えれば、電子メッセージング・システム100は、単一のユーザ・インタラクション(すなわち、タップ・ジェスチャ)に応答して、マルチメディア・アイテム320をキャプチャし、送信し、通信スレッド306に対して追加することができる。従って、1つまたは複数の実施形態は、自発的な通信、迅速な通信、リハーサルなしの通信、または編集された通信を促進することができる。
【0084】
図3Dに示されるように、1人または複数の共同ユーザへ送信される場合、および通信スレッド306に対して追加される場合、マルチメディア・コンテンツ・アイテム320は、通信スレッド306内での表示のために構成されたサイズを有し得る。具体的には、マルチメディア・コンテンツ・アイテム320は、垂直方向と水平方向との双方において、通信スレッド306の全体未満を占有し得る。通信スレッド306の垂直領域全体を占有しないことによって、通信スレッド306は、マルチメディア・コンテンツ・アイテム320と、
図3Dによって示されるような1つまたは複数のメッセージとの双方を表示することができる。関連して、通信スレッド306の水平領域全体を占有しないことによって、マルチメディア・コンテンツ・アイテム320が送信メッセージであったか、または受信メッセージであったかを示すように、マルチメディア・コンテンツ・アイテム320は、通信スレッド306の一方の側に位置付けられ得る。
【0085】
1つまたは複数の実施形態において、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテム320がキャプチャされた後に、カメラ・ファインダー316を更新し続け得る。例えば、
図3Dに示されるように、マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテム320の画像とは異なる画像を含むように、カメラ・ファインダー316を更新することができる。従って、ユーザは、電子メッセージング・システム100からの遅延を全く、またはほとんど有しないで、マルチメディア・コンテンツ・アイテムをキャプチャし、送信し続け得る。
【0086】
上記のように、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテム320に対して一定の表示効果を追加するように予め構成され得る。例えば、1つまたは複数の実施形態において、ユーザは、キャプチャされたマルチメディア・コンテンツ・アイテム320を白黒で提供するように、マルチメディア・マネージャ106を予め構成してもよい。追加的に、または代替的に、マルチメディア・マネージャ106は、キャプチャされたマルチメディア・コンテンツ・アイテムを他の表示効果と共に、例えば、強化されたシャープネスおよび鮮明さと共に、境界と共に、一定の配色と共に、一定の画像フィルタと共に、またはマルチメディア・コンテンツ・アイテムに適した任意の他の表示効果などと共に提供し得る。本実施形態に関わらず、マルチメディア・コンテンツ・アイテムのキャプチャと、キャプチャされたマルチメディア・コンテンツ・アイテムの1人または複数の共同ユーザへの送信との間にユーザ・インタラクションが必要とされないように、ユーザは、キャプチャされたマルチメディア・コンテンツ・アイテムに対して1つまたは複数の表示効果を追加するようにマルチメディア・マネージャ106を予め構成してもよい。
【0087】
図3Dは、マルチメディア・コンテンツ・アイテム320を送信したユーザのデバイス300上の通信スレッド306に対して追加されたマルチメディア・コンテンツ・アイテム320を例示する。受信者のコンピューティング・デバイス204が、マルチメディア・コンテンツ・アイテム320を受信する場合、受信者のコンピューティング・デバイス204上の電子メッセージング・システム100のインスタンスは、マルチメディア・コンテンツ・アイテム320を通信スレッド306に対して追加することができることが、認識されるであろう。具体的には、受信者のコンピューティング・デバイス204上の電子メッセージング・システム100は、
図3Dに示される手法と同様の手法で、ただし、通信スレッド306の左側においてでも、マルチメディア・コンテンツ・アイテム320を通信スレッド306に対して追加することができる。マルチメディア・コンテンツ・アイテム320を通信スレッド306の左側に置くことは、マルチメディア・コンテンツ・アイテム320が受信メッセージであることを示し得る。
【0088】
検出されたユーザ・インタラクションに応答して、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316を別のコントロールに置換し得る。例えば、
図3Eに例示されるように、ユーザ入力検出部104は、メッセージ入力制御パレットまたはツールバー310内のテキスト入力コントロール312aに対する、ユーザの手の指314のユーザ・インタラクションを検出し得る。1つまたは複数の実施形態において、(入力制御インジケータ318によって示されるような)テキスト入力コントロール312aの検出された選択に応答して、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316をタッチ・スクリーン・ディスプレイ・キーボード322に置換し得る。1つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、入力コントロール312a〜312bのうちのいずれかの検出された選択に応答して、カメラ・ファインダー316を他のタイプのコントロールに置換し得る。
【0089】
図3A〜
図3Eは、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するための工程を例示しており、
図3A〜
図3Eにおいて、マルチメディア・コンテンツ・アイテムはデジタル写真である。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、デジタル・ビデオであるマルチメディア・コンテンツ・アイテムもキャプチャし、送信し得る。例えば、
図4A〜
図4Gに例示されるように、マルチメディア・マネージャ106は、デジタル・ビデオをキャプチャし、このデジタル・ビデオを通信マネージャ108とユーザ・インターフェース・マネージャ102との双方へ提供し得る。
【0090】
上記のように、カメラ・ファインダー入力コントロール312bの検出された選択に応答して、ユーザ・インターフェース・マネージャ102は、マルチメディア・マネージャ106によって提供されるカメラ・ファインダー316を含むように、メッセージング・グラフィカル・ユーザ・インターフェース304を更新し得る。1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース304がこのユーザ・インターフェース304の1つの部分において通信スレッド306をなお含むように、メッセージング・グラフィカル・ユーザ・インターフェース304をカメラ・ファインダー316を含むように更新し得る。上記のように、好適な実施形態において、マルチメディア・マネージャ106は、コンピューティング・デバイス300のカメラによって見られる/キャプチャされる最新の画像を含むように、カメラ・ファインダー316を連続的に更新することができる。
【0091】
検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ106は、カメラ・ファインダー316を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。ここで、キャプチャされたマルチメディア・コンテンツ・アイテムは、デジタル・ビデオである。例えば、ユーザ入力検出部104は、プレス・アンド・ホールド・タッチ・ジェスチャなどの、カメラ・ファインダー316とインタラクションするユーザの指314のユーザ・インタラクションを検出し得る。1つまたは複数の代替的な実施形態において、検出されたユーザ・インタラクションは、音声によるコマンド、一定の期間コンピューティング・デバイス300を動かさずに保持すること、または、この目的に適した任意の他のタイプのユーザ・インタラクションであってもよい。
【0092】
検出されたプレス・アンド・ホールド・ユーザ・インタラクションに応答して、マルチメディア・マネージャ106は、カメラ・ファインダー316を介してデジタル・ビデオを記録し得る。1つまたは複数の実施形態において、マルチメディア・マネージャ106は、記録されたデジタル・ビデオをコンピューティング・デバイス300上に記憶してもよい。マルチメディア・マネージャ106は、検出されたプレス・アンド・ホールド・ユーザ・インタラクションの持続期間中に、カメラ・ファインダー316を介してデジタル・ビデオをキャプチャし、記録し続けることができる。
【0093】
1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、マルチメディア・コンテンツ・アイテム・デジタル・ビデオのキャプチャに関する1つまたは複数の命令を表示し得る。例えば、
図4Bに示されるように、ユーザ・インターフェース・マネージャ102は、「ビデオをキャンセルするには上へスワイプ」と書かれた指示324を表示することができる。従って、指示324は、ユーザに、どのようにデジタル・ビデオのキャプチャをキャンセルするかを通知する。1つまたは複数の代替的な実施形態において、指示324は、他のタイプの情報をユーザに対して与えることができる。例えば、1つの代替的な実施形態において、マルチメディア・マネージャ106は、使用可能なデジタル・ビデオをキャプチャするのに十分なほどコンピューティング・デバイス300が静止していないと判断し得る。従って、この代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、「じっとしていてください」と読めるような指示324を生じさせ得る。
【0094】
また、ユーザ・インターフェース・マネージャ102は、デジタル・ビデオのキャプチャ中の任意の時点において、キャプチャされたデジタル・ビデオがどのくらいの長さであるかに関するインジケータを表示し得る。例えば、
図4Bに例示されるように、ユーザ・インターフェース・マネージャ102は、記録時間インジケータ326を表示することができる。1つまたは複数の実施形態において、記録時間インジケータ328は、マルチメディア・マネージャ106によってこれまで記録されたデジタル・ビデオの長さを示すために、メッセージング・グラフィカル・ユーザ・インターフェース304の一方の側から伸びるバーであり得る。従って、1つまたは複数の実施形態において、記録時間インジケータ326は、記録の長さをリアルタイムで示す。
【0095】
1つまたは複数の実施形態において、マルチメディア・マネージャ106は、一定の長さ(例えば、60秒以下)の記録を可能にするように構成され得る。そのような実施形態において、記録時間インジケータ326は、マルチメディア・マネージャ106が記録を停止する前に、あとどれだけ長く記録し得るかの指標も提供することができる(すなわち、バーがメッセージング・グラフィカル・ユーザ・インターフェース304の他方の側に到達する場合、マルチメディア・マネージャ106は記録を停止しなければならない)。1つまたは複数の実施形態において、記録が制限時間に到達しつつある場合、ユーザ・インターフェース・マネージャ102は、指示324を「残り5秒です!」などの警告に更新し得る。
【0096】
ユーザは、通信マネージャ108がデジタル・ビデオを1人または複数の共同ユーザへ送信する前に、デジタル・ビデオのキャプチャおよび記録をキャンセルすることを望むことがある。例えば、
図4Bに例示されるように、マルチメディア・マネージャ106は、矢印328の方向に沿った検出されたユーザ・インタラクションに応答して、デジタル・ビデオのキャプチャおよび記録をキャンセルし得る。例えば、上記のように、マルチメディア・マネージャ106は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、カメラ・ファインダー316を介してデジタル・ビデオをキャプチャし、記録し得る。1つまたは複数の実施形態において、ユーザ入力検出部104は、プレス・アンド・ホールド・タッチ・ジェスチャ中に、ユーザの手の指314の上方へのスワイプ・ジェスチャを検出し得、それにより、このスワイプ・ジェスチャの終了が検出されると、ユーザの指314は、もはやカメラ・ファインダー316とインタラクションしない。この検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ106は、デジタル・ビデオのキャプチャおよび記録をキャンセルし得る。そのため、電子メッセージング・システム100は、そのような実施形態においては、キャプチャされたいかなるビデオも自動的に送信せず、または、キャプチャされたいかなるビデオも通信スレッド306に対して追加しない。
【0097】
また、上記の検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ106は、既に記録されるか、または記憶されたデジタル・ビデオまたは既に記録され、かつ記憶されたデジタル・ビデオの任意の部分を破棄してもよい。従って、1つまたは複数の実施形態において、デジタル・ビデオの記録中の検出されたスワイプ・タッチ・ジェスチャに応答して、マルチメディア・マネージャ106は、デジタル・ビデオを削除し得る。1つまたは複数の代替的な実施形態において、マルチメディア・マネージャ106は、検出されたスワイプ・ジェスチャの前に記録されたデジタル・ビデオの一部分を、デジタル・ビデオのその部分を通信マネージャ108またはユーザ・インターフェース・マネージャ102、またはその両方へ提供することなく、保存し、または記憶し得る。
【0098】
上記のように、いったんマルチメディア・マネージャ106がデジタル・ビデオのキャプチャおよび記録をキャンセルすると、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース304を更新し得る。例えば、
図4Cに例示されるように、ユーザ・インターフェース・マネージャ102は、指示324よりもむしろ、メッセージ入力制御パレットまたはツールバー310を再び含むように、メッセージング・グラフィカル・ユーザ・インターフェース304を更新することができる。また、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、マルチメディア・マネージャ106によって提供される通信スレッド304およびカメラ・ファインダー316を表示し続けてもよい。上記のように、また、
図4Cに示されるように、入力制御インジケータ318は、カメラ・ファインダー入力コントロール312bがアクティブであることを示し続ける。
【0099】
マルチメディア・マネージャ106は、検出されたユーザ・インタラクションに応答して、カメラ・ファインダー316を介してデジタル・ビデオをキャプチャし、記録し得る。例えば、
図4Dに例示されるように、ユーザ入力検出部104は、カメラ・ファインダー316を用いて、ユーザの手の指314のプレス・アンド・ホールド・タッチ・ジェスチャを検出し得る。検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、マルチメディア・マネージャ106は、カメラ・ファインダー316を介して、デジタル・ビデオから成るマルチメディア・コンテンツ・アイテムをキャプチャし、記録することができる。また、上記のように、記録時間インジケータ326は、記録の長さを示すことができる。
【0100】
1つまたは複数の実施形態において、通信マネージャ108は、プレス・アンド・ホールド・タッチ・ジェスチャの終了が検出されると、キャプチャされたマルチメディア・コンテンツ・アイテム(すなわち、記録されたデジタル・ビデオ)を1人または複数の共同ユーザへ送信し得る。例えば、上記のように、記録されたデジタル・ビデオの持続期間は、カメラ・ファインダー316を用いて検出された指314のプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じであり得る。特定の実施形態において、プレス・アンド・ホールド・タッチ・ジェスチャの終了が検出されると、マルチメディア・マネージャ106は、キャプチャされ、記録されたデジタル・ビデオを通信マネージャ108へ提供することができる。1つまたは複数の代替的な実施形態において、マルチメディア・マネージャ106は、別のタイプのユーザ・インタラクション、例えば、音声によるコマンド、通信デバイス300を振ること、または、この目的に適した任意の他のタイプのユーザ・インタラクションなどに応答して、デジタル・ビデオを通信マネージャ108へ提供し得る。次いで、通信マネージャ108は、記録されたビデオをメッセージとして送信することができる。
【0101】
また、1つまたは複数の実施形態において、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、マルチメディア・マネージャ106は、マルチメディア・コンテンツ・アイテム(すなわち、記録されたデジタル・ビデオ)をユーザ・インターフェース・マネージャ102へ提供し得る。追加的に、または代替的に、マルチメディア・コンテンツ・アイテム330をユーザ・インターフェース・マネージャ102へ提供する前に、マルチメディア・マネージャ106は、まず、マルチメディア・コンテンツをパッケージし得る。
【0102】
1つまたは複数の実施形態において、通信スレッド306に対して追加される場合、マルチメディア・コンテンツ・アイテム330は、再生コントロール329を含むことができる。再生コントロール329は、検出されたユーザ・インタラクションに応答して、メッセージング・グラフィカル・ユーザ・インターフェース304の通信スレッド306内でデジタル・ビデオを再生するインタラクティブコントロールを備えることができる。例えば、
図4Eに例示されるように、ユーザ入力検出部104は、再生コントロール329を用いて、ユーザの手の指314のタップ・タッチ・ジェスチャを検出し得る。1つまたは複数の実施形態において、再生コントロール329に対する検出されたタップ・タッチ・ジェスチャに応答して、ユーザ・インターフェース・マネージャ102は、記録されたデジタル・ビデオ330を通信スレッド306内で再生させることができる。1つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、他のタイプのユーザ・インタラクション、例えば、音声によるコマンド、ダブル・タップ、または、この目的に適した任意の他のタイプのユーザ入力などに応答して、デジタル・ビデオを再生し得る。さらなる実施形態において、ユーザ・インターフェース・マネージャ102は、通信スレッド306においてデジタル・ビデオを自動的に再生することができる。そのような実施形態においては、デジタル・ビデオ330は、再生コントロール329を含まなくてもよい。
【0103】
図4Fに例示されるように、また、上記のように、1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、記録されたデジタル・ビデオ330が再生される間に、その他の表示要素を表示し続ける。例えば、
図4Fに示されるように、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316だけでなく、メッセージ入力制御パレットまたはツールバー310も表示し続けることができる。
【0104】
1つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ102は、デジタル・ビデオのどれだけが再生済みで、デジタル・ビデオのどれだけが未再生で残っているのかを示すために、記録されたデジタル・ビデオ330に対して関連付けられた再生インジケータを提供し得る。例えば、
図4Fに例示されるように、ユーザ・インターフェース・マネージャ102は、再生インジケータ332を表示することができる。図示のように、ユーザ・インターフェース・マネージャ102は、デジタル・ビデオ330の約3分の1を再生済みである。
【0105】
デジタル写真に関して上記で説明されたように、マルチメディア・マネージャ106は、キャプチャされたデジタル・ビデオに効果を追加するためのオプションも提供し得る。例えば、1つまたは複数の実施形態において、マルチメディア・マネージャ106は、キャプチャされたデジタル・ビデオに対して追加され得る、例えば、色彩効果(すなわち、デジタル・ビデオの色を変更すること)、オーバーレイ効果(すなわち、デジタル・ビデオに境界を追加する)、音声効果(すなわち、デジタル・ビデオにバックグラウンド・トラックを追加する)、または任意の他の適切な効果などの、ただし、これらに限定されない多様な効果を提供し得る。上記のように、マルチメディア・マネージャ106は、デジタル・ビデオのキャプチャと、1人または複数の共同ユーザへのデジタル・ビデオの送信との間にユーザ・インタラクションが必要とされないように、1つまたは複数の効果を用いて予め構成され得る。
【0106】
検出されたユーザ・インタラクションに応答して、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316を別のコントロールに置換し得る。例えば、
図4Gに例示されるように、ユーザ入力検出部104は、メッセージ入力制御パレットまたはツールバー310内のテキスト入力コントロール312aとインタラクションする、ユーザの手の指314のユーザ・インタラクションを検出し得る。1つまたは複数の実施形態において、(入力制御インジケータ318によって示されるように)テキスト入力コントロール312aの検出された選択に応答して、ユーザ・インターフェース・マネージャ102は、カメラ・ファインダー316をタッチ・スクリーン・ディスプレイ・キーボード322に置換し得る。1つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ102は、入力コントロール312a〜312bのうちのいずれかの検出された選択に応答して、カメラ・ファインダー316を他のタイプのコントロールに置換し得る。
【0107】
図1〜
図4G、その対応するテキスト、および例は、マルチメディア・コンテンツ・アイテムをキャプチャし、通信セッションに含めるための多くの異なるシステムおよびデバイスを提供する。前述のものに加えて、本発明の実施形態は、特定の結果を達成するための方法における動作および工程を含むフローチャートの観点からも説明され得る。例えば、
図5および
図6は、本発明の1つまたは複数の実施形態に係る例示的な方法のフローチャートを例示する。
図5および
図6に関連して説明された方法は、より少ない工程/動作もしくはより多くの工程/動作を用いて実行されてもよく、または、工程/動作は、異なる順序で実行されてもよい。また、本明細書において説明される工程/動作は、互いに並行して、または、同じ工程/動作もしくは同様の工程/動作の異なるインスタンスを用いて並行して、繰り返され、または実行されてもよい。
【0108】
図5は、マルチメディアをキャプチャし、電子メッセージとして送信する、1つの例示的な方法500のフローチャートを例示する。方法500は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作502を含む。具体的には、動作502は、通信スレッド306を含むメッセージング・グラフィカル・ユーザ・インターフェース304を提供することを含むことができる。1つまたは複数の実施形態において、通信スレッド306は、ユーザと1人または複数の共同ユーザとの間で交換される複数の電子メッセージ308a、308bを含み得る。
【0109】
方法500は、カメラ・ファインダー入力コントロールの選択を検出する動作504をさらに含む。具体的には、動作504は、カメラ・ファインダー入力コントロール312bとインタラクションするタップ・タッチ・ジェスチャを検出することを含むことができる。1つまたは複数の実施形態において、カメラ・ファインダー入力コントロール312bの選択を検出することは、1つまたは複数の追加的な入力コントロールのパレット310からのカメラ・ファインダー入力コントロール312bの選択を検出することを含み得る。
【0110】
さらに、方法500は、カメラ・ファインダーを提供する動作506を含む。具体的には、動作504は、メッセージング・グラフィカル・ユーザ・インターフェース304の一部分内にカメラ・ファインダー316を提供することを含むことができる。1つまたは複数の実施形態において、メッセージング・グラフィカル・ユーザ・インターフェース304は、第1の部分に通信スレッド306を含み、第2の部分にカメラ・ファインダー316を含み得る。
【0111】
方法500は、カメラ・ファインダーとのインタラクションを検出する動作508も含む。具体的には、動作508は、カメラ・ファインダー316に対する第1のユーザ・インタラクションを検出することを含むことができる。例えば、1つまたは複数の実施形態において、カメラ・ファインダー316に対する第1のユーザ・インタラクションを検出することは、カメラ・ファインダー316に対するタップ・タッチ・ジェスチャを検出することを含むことができる。方法500は、カメラ・ファインダー316に対する第2のユーザ・インタラクションを検出することをさらに含み得る。例えば、1つまたは複数の実施形態において、カメラ・ファインダー316に対する第2のユーザ・インタラクションを検出することは、カメラ・ファインダー316に対するプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含むことができる。
【0112】
また、方法500は、マルチメディア・コンテンツ・アイテムをキャプチャする動作510を含む。具体的には、動作510は、検出された第1のユーザ・インタラクションに応答して、マルチメディア・コンテンツ・アイテム320をキャプチャし、キャプチャされたマルチメディア・コンテンツ・アイテム320を電子メッセージ308a、308bとして送信することを含むことができる。例えば、1つまたは複数の実施形態において、マルチメディア・コンテンツ・アイテム320をキャプチャすることは、検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャすることを含む。さらに、1つまたは複数の実施形態において、マルチメディア・コンテンツ・アイテム320をキャプチャすることは、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、デジタル・ビデオをキャプチャすることを含む。1つまたは複数の実施形態において、キャプチャされたデジタル・ビデオの持続期間は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じであり得る。
【0113】
方法500は、キャプチャされたマルチメディア・コンテンツ・アイテム320を通信スレッド306に対して追加することをさらに含み得る。例えば、1つまたは複数の実施形態において、方法500は、キャプチャされたデジタル写真を通信スレッド306に対して追加することを含み得る。また、1つまたは複数の実施形態において、方法500は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、通信スレッド306に対してキャプチャされたデジタル・ビデオに対する再生コントロール330を追加することを含み得る。
【0114】
図6は、マルチメディアをキャプチャし、電子メッセージとして送信する方法600のフローチャートを例示する。方法600は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作602を含む。具体的には、動作502は、メッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分に通信スレッド306を有するメッセージング・グラフィカル・ユーザ・インターフェース304を提供することを含むことができる。1つまたは複数の実施形態において、通信スレッド306は、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージ308a、308bを含み得る。
【0115】
方法600は、カメラ・ファインダー入力コントロールの選択を検出する動作604をさらに含む。具体的には、動作604は、カメラ・ファインダー入力コントロール312bとインタラクションするタップ・タッチ・ジェスチャを検出することを含むことができる。1つまたは複数の実施形態において、カメラ・ファインダー入力コントロール312bの選択を検出することは、入力コントロールのパレット310からのカメラ・ファインダーコントロール312bの選択を検出することを含み得る。
【0116】
方法600は、カメラ・ファインダーを提供する動作606も含む。具体的には、動作606は、カメラ・ファインダー入力コントロール312bの選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分内にカメラ・ファインダー316を提供することを含むことができる。1つまたは複数の実施形態において、メッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分と、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分とは、同時に表示される。
【0117】
方法600は、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分内のタップ・タッチ・ジェスチャを検出することをさらに含み得る。例えば、1つまたは複数の実施形態において、タップ・タッチ・ジェスチャは、カメラ・ファインダー316とインタラクションし得る。方法600は、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分内の検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダー316を介してデジタル写真をキャプチャすることも含み得る。方法600は、キャプチャされたデジタル写真を送信し、キャプチャされたデジタル写真をメッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分における通信スレッド306に対して追加することをさらに含み得る。
【0118】
また、方法600は、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含み得る。メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、方法600は、カメラ・ファインダー316を介してデジタル・ビデオをキャプチャすることを含み得る。また、方法600は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを送信することを含み得る。また、方法600は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを再生することが可能な再生コントロール330を、メッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分における通信フレッド306に追加することを含み得る。
【0119】
さらに、方法600は、再生コントロール330に対するタップ・タッチ・ジェスチャを検出することを含み得る。例えば、1つまたは複数の実施形態において、再生コントロール330に対するタップ・タッチ・ジェスチャを検出することは、メッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分における通信スレッド306における再生コントロール330に対するタップ・タッチ・ジェスチャを検出することを含み得る。方法600は、再生コントロール330に対する検出されたタップ・タッチ・ジェスチャに応答して、メッセージング・グラフィカル・ユーザ・インターフェース304の第1の部分における通信スレッド306において、キャプチャされたデジタル・ビデオを再生することを含み得る。
【0120】
方法600は、メッセージ入力コントロールのパレット310からのメッセージ入力コントロール312a〜eの選択を検出することを含み得る。例えば、メッセージ入力コントロール312a〜eの選択を検出することは、メッセージ入力コントロール312aとインタラクションするタップ・タッチ・ジェスチャを検出することを含み得る。方法600は、検出された選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース304の第2の部分からカメラ・ファインダー316を除去することをさらに含み得る。
【0121】
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。特に、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。特に、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまたは複数のプロセスを実行する。
【0122】
コンピュータ可読媒体としては、汎用または専用コンピュータ・システムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
【0123】
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
【0124】
「ネットワーク」は、コンピュータ・システムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
【0125】
さらに、コンピュータ・システムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータ・システムRAMおよび/またはコンピュータ・システムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータ・システムの構成要素に含み得ることが了解されるものとする。
【0126】
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
【0127】
当業者であれば、本開示が、パーソナルコンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータ・システム構成のネットワークコンピュータ環境において実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータ・システムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
【0128】
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本明細書において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速にセットアップ可能であるとともに、わずかな管理労力またはサービスプロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
【0129】
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア(SaaS)、サービス型プラットフォーム(PaaS)、およびサービス型インフラ(IaaS)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
【0130】
図7は、上記の方法の1つまたは複数を実施するように構成され得る例示的なコンピューティング・デバイス700のブロック図を示す。コンピューティング・デバイス700など1つまたは複数のコンピューティング・デバイスは、電子メッセージング・システム100を実装し得ることは理解されよう。
図7によって示されているように、コンピューティング・デバイス700は、プロセッサ702、メモリ704、記憶デバイス806、I/Oインターフェース708、および通信インターフェース710を含むことができ、これらは、通信インフラストラクチャ712により通信可能に結合され得る。例示的なコンピューティング・デバイス700が
図7に示されているが、
図7に示されている構成要素は、限定するものではない。追加または代替の構成要素が他の実施形態で使用されてもよい。さらに、いくつかの実施形態では、コンピューティング・デバイス700は、
図7に示されているものより少ない構成要素を含むことができる。次に、
図7に示されているコンピューティング・デバイス700の構成要素について、追加的な詳細で述べる。
【0131】
1つまたは複数の実施形態において、プロセッサ702は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ702は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ704、またはストレージデバイス706から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。1つまたは複数の実施形態において、プロセッサ702は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ702は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ704またはストレージデバイス706中の命令のコピーであってもよい。
【0132】
メモリ704は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ704は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータ・ストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ704は、内部メモリであってもよいし、分散メモリであってもよい。
【0133】
ストレージデバイス706は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス706は、上述の非一時的記憶媒体を備えることができる。ストレージデバイス706としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス706は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外しできない(すなわち、固定)媒体を備えていてもよい。また、ストレージデバイス706は、コンピューティング・デバイス700の内部であってもよいし、外部であってもよい。1つまたは複数の実施形態において、ストレージデバイス706は、不揮発性の固体メモリである。別の実施形態において、ストレージデバイス706は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
【0134】
I/Oインターフェース708は、コンピューティング・デバイス700に対するユーザの入力付与、コンピューティング・デバイス700からの出力受容、あるいはコンピューティング・デバイス700へのデータ転送およびコンピューティング・デバイスからのデータ受信を可能にする。I/Oインターフェース708としては、マウス、キーパッドもしくはキーボード、タッチ・スクリーン、カメラ、光学スキャナ、ネットワークインターフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oインターフェースの組み合わせが挙げられる。I/Oインターフェース708は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインターフェース708は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インターフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
【0135】
通信インターフェース710は、ハードウェア、ソフトウェア、または両者を含み得る。いずれにしても、通信インターフェース710は、コンピューティング・デバイス700と1つもしくは複数の他のコンピューティング・デバイスまたはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース710としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
【0136】
付加的に、または代替的に、通信インターフェース710は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせとの通信を円滑にするようになっていてもよい。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース710は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信((登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせとの通信を円滑にするようになっていてもよい。
【0137】
さらに、通信インターフェース710は、様々な通信プロトコルでの通信を円滑にし得る。使用され得る通信プロトコルの例は、それだけには限らないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(TCP)、インターネット・プロトコル(IP)、ファイル転送プロトコル(FTP)、テルネット、ハイパーテキスト転送プロトコル(HTTP)、ハイパーテキスト転送プロトコル・セキュア(HTTPS)、セッション開始プロトコル(SIP)、シンプル・オブジェクト・アクセス・プロトコル(SOAP)、拡張マークアップ言語(XML)およびその変形形態、簡易メール転送プロトコル(SMTP)、リアルタイム・トランスポート・プロトコル(RTP)、ユーザ・データグラム・プロトコル(UDP)、グローバル移動体通信システム(GSM)技術、符号分割多元接続(CDMA)技術、時分割多元接続(TDMA)技術、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージ・サービス(MMS)、無線周波数(RF)シグナリング技術、ロング・ターム・エボリューション(LTE)技術、ワイヤレス通信技術、帯域内および帯域外シグナリング技術、ならびに他の好適な通信ネットワークおよび技術を含む。
【0138】
通信インフラストラクチャ712は、コンピューティング・デバイス700の部品を互いに接続するハードウェア、ソフトウェア、またはその両方を含み得る。非限定的な一例として、通信インフラストラクチャ712は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
【0139】
上述の通り、ネットワークアプリケーション206および通信サーバ208のうちの少なくとも一方は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を円滑に行わせるサービス(たとえば、ウォール投稿、写真共有、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。
【0140】
ソーシャル・ネットワーキング・システムは、複数のノードおよび上記ノードをつなげる複数のエッジを含むソーシャルグラフにおいて、ユーザおよびユーザ間の関係のレコードを記憶するようにしてもよい。ノードは、複数のユーザノードおよび複数のコンセプトノードを含んでいてもよい。ソーシャルグラフのユーザノードは、ソーシャル・ネットワーキング・システムのユーザに対応していてもよい。ユーザは、個人(人間のユーザ)であってもよいし、団体(たとえば、企業、事業所、またはサードパーティアプリケーション)であってもよいし、グループ(たとえば、個人または団体のグループ)であってもよい。ユーザに対応するユーザノードには、ユーザが提供した情報およびソーシャル・ネットワーキング・システム等のさまざまなシステムが収集した情報を含んでいてもよい。
【0141】
たとえば、ユーザは、自身の氏名、プロフィール写真、居住市、連作先情報、誕生日、性別、結婚歴、家族状況、職業、学歴、好み、関心、およびユーザノードに含める他の人口統計学的情報を提供するようにしてもよい。ソーシャルグラフの各ユーザノードは、対応するウェブページ(通常、プロフィールページとして知られている)を有していてもよい。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記ユーザ名に対応したユーザノードにアクセスするとともに、氏名、プロフィール写真、およびユーザに関連付けられている他の情報を含むプロフィールページを構築することができる。第1のユーザのプロフィールページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報の全部または一部が第2のユーザに表示されるようになっていてもよい。
【0142】
コンセプトノードは、ソーシャル・ネットワーキング・システムのコンセプトに対応していてもよい。たとえば、コンセプトは、映画、歌曲、スポーツチーム、有名人、グループ、レストラン、または場所もしくは位置等、現実世界に存在する人や物を表すことができる。コンセプトに対応するコンセプトノードを管理するユーザは、(たとえば、オンラインフォームの記入によって)コンセプトの情報を提供し、上記情報とコンセプトノードとの関連付けをソーシャル・ネットワーキング・システムに行わせることによって、コンセプトノードの作成または更新を行うようにしてもよい。非限定的な一例として、コンセプトに関連付けられている情報としては、名称またはタイトル、1つまたは複数の画像(たとえば、書籍の表紙の画像)、ウェブサイト(たとえば、URLアドレス)、または連絡先情報(たとえば、電話番号、電子メールアドレス)が挙げられる。ソーシャルグラフの各コンセプトノードは、ウェブページに対応していてもよい。たとえば、名称を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記名称に対応したコンセプトノードにアクセスするとともに、上記名称およびコンセプトに関連付けられている他の情報を含むウェブページを構築することができる。
【0143】
一対のノード間のエッジは、上記ノード対間の関係を表していてもよい。たとえば、2つのユーザノード間のエッジは、2人のユーザ間の友達関係を表すことができる。別の例として、ソーシャル・ネットワーキング・システムは、1つまたは複数の選択可能なボタン(たとえば、「いいね」、「登録」)を組み込んだコンセプトノード(たとえば、レストラン、有名人)のウェブページ(または、構造化文書)を構築するようにしてもよい。ユーザは、ユーザのクライアント・デバイスがホスティングするウェブブラウザを用いて上記ページにアクセスし、選択可能なボタンを選択することによって、ユーザのユーザノードとコンセプトのコンセプトノードとの間に、ユーザとコンセプトとの関係を示すエッジを作成する要求のソーシャル・ネットワーキング・システムへの送信をクライアント・デバイスに行わせることができる(たとえば、ユーザは、レストランを登録するか、または有名人を「いいね」する)。
【0144】
一例として、ユーザは、自身の居住市を提供(または変更)することによって、ユーザに対応するユーザノードとユーザが自身の居住市として宣言した市に対応するコンセプトノードとの間のエッジの作成をソーシャル・ネットワーキング・システムに行わせるようにしてもよい。また、任意の2つのノード間の分離度は、一方のノードから他方へとソーシャルグラフを横切るのに必要な最小ホップ数として規定される。2つのノード間の分離度は、ユーザ間またはソーシャルグラフにおいて上記2つのノードが表すコンセプト間の関連性の尺度と考えられる。たとえば、エッジによって直接つながった(すなわち、第1の程度のノードである)ユーザノードを有する2人のユーザは、「つながったユーザ」または「友達」として表すことができる。同様に、別のユーザノードを通じてのみつながった(すなわち、第2の程度のノードである)ユーザノードを有する2人のユーザは、「友達の友達」と表すことができる。
【0145】
ソーシャル・ネットワーキング・システムは、写真共有、オンラインカレンダおよびイベント、ゲーム、インスタント・メッセージング、ならびに広告等、多様なアプリケーションに対応していてもよい。たとえば、ソーシャル・ネットワーキング・システムは、メディア共有機能を備えていてもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、自身のプロフィールページへの写真および他のマルチメディア・コンテンツ・アイテムの投稿(通常、「ウォール投稿」または「タイムライン投稿」として知られている)またはフォトアルバムへの投稿が可能であってもよく、いずれもユーザのプライバシー設定に応じて、上記ソーシャル・ネットワーキング・システムの他のユーザがアクセス可能であってもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、イベントを設定可能であってもよい。たとえば、第1のユーザは、イベントに対して、上記イベントの日時、上記イベントの場所、および上記イベントに招待された他のユーザを含む属性を設定するようにしてもよい。招待されたユーザは、上記イベントへの招待を受信し、(招待の受諾または辞退等によって)応答するようにしてもよい。さらに、ソーシャル・ネットワーキング・システムによって、ユーザは、個人用カレンダを維持可能であってもよい。イベントと同様に、カレンダエントリには、時間、日付、場所、および他のユーザの同一性を含んでいてもよい。
【0146】
図8は、ソーシャル・ネットワーキング・システムの例示的なネットワーク環境を示している。特定の実施形態において、ソーシャル・ネットワーキング・システム802は、1つまたは複数のデータストアを備えていてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム802は、上述の通り、ユーザノード、コンセプトノード、およびノード間のエッジを含むソーシャルグラフを記憶していてもよい。各ユーザノードには、ユーザに関連付けられている情報またはユーザを記述した情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。各コンセプトノードには、コンセプトに関連付けられている情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。一対のノード間の各エッジには、上記ノード対に対応するユーザ間(または、ユーザとコンセプト間もしくはコンセプト間)の関係に関連付けられている情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。
【0147】
1つまたは複数の実施形態において、ソーシャル・ネットワーキング・システム802は、上記ソーシャル・ネットワーキング・システムの動作を対象とした機能をホスティングする1つまたは複数のコンピューティングデバイス(たとえば、サーバ)を備えていてもよい。ソーシャル・ネットワーキング・システム802のユーザは、クライアント・デバイス806等のクライアント・デバイスを用いて、上記ソーシャル・ネットワーキング・システム802にアクセスするようにしてもよい。例えば、クライアント・デバイス806は、ネットワーク804を通じて、ソーシャル・ネットワーキング・システム802と対話してもよい。
【0148】
クライアント・デバイス806は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、個人用デジタル補助デバイス(PDA)、車載もしくは車外ナビゲーションシステム、スマートフォン等の携帯電話、モバイルゲーム機、他のモバイル・デバイス、または他の適当なコンピューティング・デバイスであってもよい。クライアント・デバイス806は、ウェブブラウザ(たとえば、Microsoft Windows(登録商標)Internet Explorer、Mozilla Firefox、Apple Safari、Google Chrome、Opera等)またはネイティブもしくは専用クライアントアプリケーション(たとえば、iPhone(登録商標)またはiPad(登録商標)用フェイスブック、Android(登録商標)用フェイスブック等)といった1つまたは複数のクライアントアプリケーションを実行することにより、ネットワーク804を通じてコンテンツにアクセスし、閲覧するようにしてもよい。
【0149】
ネットワーク804は、クライアント・デバイス806がソーシャル・ネットワーキング・システム802にアクセス可能なネットワークまたはネットワークのセット(インターネット、企業イントラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線ローカル・エリア・ネットワーク(WLAN)、セルラ・ネットワーク、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、または2つ以上のこのようなネットワークの組み合わせ等)を表していてもよい。
【0150】
これらの方法、システム、およびユーザ・インターフェースでは、公的に入手可能な情報およびソーシャル・ネットワーキング・システムのユーザが提供する情報の両者を利用するが、このような情報の使用はすべて、関ったユーザのすべてのプライバシー設定およびソーシャル・ネットワーキング・システム全体の個人情報保護方針の影響を明示的に受けるものとする。
【0151】
上記明細においては、特定の例示的な実施形態を参照して本発明を説明した。種々実施形態および本発明の態様についても、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
【0152】
本発明は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。