(57)【特許請求の範囲】
【請求項１】
方法であって、
コンピューティング・デバイスのタッチ・スクリーン・ディスプレイにメッセージング・グラフィカル・ユーザ・インターフェースを提供する工程であって、該メッセージング・グラフィカル・ユーザ・インターフェースは、第１の領域における通信スレッドを含み、該通信スレッドは、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含む、前記提供する工程と、
該コンピューティング・デバイスの少なくとも１つのプロセッサが、カメラ・ファインダー入力コントロールの選択を検出する工程と、
検出された該カメラ・ファインダー入力コントロールの選択に応答して、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域を第１の部分および第２の部分に分割し、
該第２の部分から該通信スレッドを除去することにより該通信スレッドの可視領域を縮小して、該通信スレッドが該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域の該第１の部分においてのみ存在するようにし、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分においてカメラ・ファインダーを提供する工程であって、該カメラ・ファインダーは、該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分において前記コンピューティング・デバイスのカメラからのライブ・データ・ストリームを提供する、該カメラ・ファインダーを提供する工程と、
該コンピューティング・デバイスの該少なくとも１つのプロセッサが、該カメラ・ファインダーに対する第１のタイプのユーザ・インタラクションを検出する工程と、
検出された前記第１のタイプのユーザ・インタラクションに応答して、該コンピューティング・デバイスのカメラが、マルチメディア・コンテンツ・アイテムをキャプチャし、該コンピューティング・デバイスが、キャプチャされたマルチメディア・コンテンツ・アイテムを電子メッセージとして送信する工程と
を含む方法。
【請求項２】
前記カメラ・ファインダーに対する前記第１のタイプのユーザ・インタラクションを検出することが、前記カメラ・ファインダーに対するタップ・タッチ・ジェスチャを検出することを含む、請求項１に記載の方法。
【請求項３】
マルチメディア・コンテンツ・アイテムをキャプチャすることが、検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャすることを含む、請求項２に記載の方法。
【請求項４】
キャプチャされたデジタル写真を前記通信スレッドに対して追加することをさらに含む、請求項３に記載の方法。
【請求項５】
前記カメラ・ファインダーに対する第２のタイプのユーザ・インタラクションを検出することをさらに含む、請求項１に記載の方法。
【請求項６】
前記カメラ・ファインダーに対する前記第２のタイプのユーザ・インタラクションを検出することが、前記カメラ・ファインダーに対するプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含む、請求項５に記載の方法。
【請求項７】
マルチメディア・コンテンツ・アイテムをキャプチャすることが、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、デジタル・ビデオをキャプチャすることを含む、請求項６に記載の方法。
【請求項８】
キャプチャされたデジタル・ビデオの持続期間が、前記検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じである、請求項７に記載の方法。
【請求項９】
前記プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、前記キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを前記通信スレッドに対して追加することをさらに含む、請求項８に記載の方法。
【請求項１０】
方法であって、
コンピューティング・デバイスのタッチ・スクリーン・ディスプレイにメッセージング・グラフィカル・ユーザ・インターフェースを該メッセージング・グラフィカル・ユーザ・インターフェースの第１の領域における通信スレッドとともに提供する工程であって、前記通信スレッドは、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含む、前記提供する工程と、
該コンピューティング・デバイスの少なくとも１つのプロセッサが、カメラ・ファインダー入力コントロールの選択を検出する工程と、
該カメラ・ファインダー入力コントロールの選択に応答して、
該コンピューティング・デバイスのカメラを起動し、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域を第１の部分および第２の部分に分割し、
該第２の部分から該通信スレッドを除去することにより該通信スレッドの可視領域を縮小して、該通信スレッドが該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域の該第１の部分においてのみ存在するようにし、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分においてカメラ・ファインダーを提供する工程であって、該カメラ・ファインダーは、該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分内に前記コンピューティング・デバイスの前記カメラからのライブ・データ・ストリームを提供する、前記カメラ・ファインダーを提供する工程と
を含む方法。
【請求項１１】
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内のタップ・タッチ・ジェスチャを検出する工程と、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内の検出されたタップ・タッチ・ジェスチャに応答して、前記カメラ・ファインダーを介してデジタル写真をキャプチャする工程と
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記タップ・タッチ・ジェスチャに応答して、キャプチャされたデジタル写真を送信する工程と、
前記タップ・タッチ・ジェスチャに応答して、前記キャプチャされたデジタル写真を前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第１の部分における前記通信スレッドに対して追加する工程と
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出する工程と、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、前記カメラ・ファインダーを介してデジタル・ビデオをキャプチャする工程と
をさらに含む、請求項１２に記載の方法。
【請求項１４】
前記プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを送信することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記プレス・アンド・ホールド・タッチ・ジェスチャの前記検出された終了に応答して、前記キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第１の部分における前記通信スレッドに対して追加することをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記再生コントロールに対するタップ・タッチ・ジェスチャを検出する工程と、
前記再生コントロールに対する検出されたタップ・タッチ・ジェスチャに応答して、前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第１の部分における前記通信スレッドにおいて、前記キャプチャされたデジタル・ビデオを再生する工程と
をさらに含む、請求項１５に記載の方法。
【請求項１７】
複数のメッセージ入力コントロールからなるパレットからの１つのメッセージ入力コントロールの選択を検出する工程と、
検出された選択に応答して、前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分から前記カメラ・ファインダーを除去する工程と
をさらに含む、請求項１６に記載の方法。
【請求項１８】
コンピュータ実行可能な命令が記憶された非一時的コンピュータ可読記憶媒体であって、該コンピュータ実行可能な命令は、プロセッサによって実行されるとき、コンピュータ・システムに、
メッセージング・グラフィカル・ユーザ・インターフェースを該メッセージング・グラフィカル・ユーザ・インターフェースの第１の領域における通信スレッドとともに提供させ、該通信スレッドは、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含み、
カメラ・ファインダーコントロールの選択を検出させ、
該カメラ・ファインダーコントロールの選択に応答して、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域を第１の部分および第２の部分に分割し、
該第２の部分から該通信スレッドを除去することにより該通信スレッドの可視領域を縮小して、該通信スレッドが該メッセージング・グラフィカル・ユーザ・インターフェースの該第１の領域の該第１の部分においてのみ存在するようにし、
該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分においてカメラ・ファインダーを提供させることであって、該カメラ・ファインダーは、該メッセージング・グラフィカル・ユーザ・インターフェースの該第２の部分内に前記コンピュータ・システムのカメラからのライブ・データ・ストリームを提供する、該カメラ・ファインダーを提供させる、非一時的コンピュータ可読記憶媒体。
【請求項１９】
コンピュータ実行可能な命令であって、実行されるとき、前記コンピュータ・システムに、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内のタップ・タッチ・ジェスチャを検出させ、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内の検出されたタップ・タッチ・ジェスチャに応答して、前記カメラ・ファインダーを介してデジタル写真をキャプチャさせ、
キャプチャされたデジタル写真を送信させ、
該キャプチャされたデジタル写真を前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第１の部分における前記通信スレッドに対して追加させる、前記コンピュータ実行可能な命令をさらに含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
コンピュータ実行可能な命令であって、実行されるとき、前記コンピュータ・システムに、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出させ、
前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第２の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、前記カメラ・ファインダーを介してデジタル・ビデオをキャプチャさせ、
キャプチャされたデジタル・ビデオを送信させ、
該キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを前記メッセージング・グラフィカル・ユーザ・インターフェースの前記第１の部分における前記通信スレッドに対して追加させる、前記コンピュータ実行可能な命令をさらに含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
１つまたは複数の実施形態は、一般に、電子メッセージング・システムおよび電子メッセージング方法に関する。より具体的には、１つまたは複数の実施形態は、電子メッセージング・システムにおける機能性を向上させるためのシステムおよび方法に関する。
【背景技術】
【０００２】
コンピューティング・デバイス（例えば、コンピュータ、タブレット、およびスマートフォン）は、人々が互いに接続し、通信するための多くの手法を提供する。例えば、多様な電子メッセージング・システムは、電子メッセージを送信および受信するための様々な方法を提供する。例えば、コンピューティング・デバイスは、ユーザが他のユーザとテキスト・メッセージング、インスタント・メッセージング、ソーシャル・ネットワーク投稿、および他の形式の電子通信を使用して通信することを可能にし得る。また、電子通信は、テキスト、画像、ビデオ、オーディオ、および他のマルチメディアのうちの少なくとも１つを含む多様なコンテンツを含み得る。概して、電子通信は、人々が互いに接続し、通信するための一般的な手法となった。
【０００３】
マルチメディアを電子通信に含めることは、ユーモア、コンテキスト、および情報を電子通信セッションに対して追加するための特に一般的な手法となった。例えば、ユーザは、ユーザの位置を示すデジタル写真を共同ユーザへ送信し得る。同様に、ユーザは、冗談を含む電子メッセージに反応して笑っているビデオを送信し得る。従って、マルチメディアを含めることは、テキストの電子メッセージだけでは典型的には困難なさらなる表現を電子通信セッションに対して加えるための簡単な手法である。
【０００４】
マルチメディアを電子通信に含めるための従来の工程には、一般に問題がある。例えば、ユーザは、典型的には、デジタル写真またはデジタル・ビデオを電子通信セッションに含めるために、電子通信インターフェースから離れる。しかしながら、電子通信インターフェースから離れることは、ユーザがメッセージを見逃す原因となり、または、さもなければ、マルチメディア・コンテンツ・アイテムの追加を、ユーザにとって時間のかかる、いらだたしいものにすることがある。
【０００５】
また、マルチメディア・コンテンツ・アイテムをキャプチャし、このマルチメディア・コンテンツ・アイテムを電子通信に含めることは、典型的には、複数のユーザ・インタラクションを含む工程となる。例えば、一般に、ユーザは、電子通信インターフェースからカメラ・ファインダー（viewfinder）・インターフェースへ遷移するために、ユーザ・インターフェースとインタラクションする。マルチメディア・コンテンツ・アイテム（すなわち、写真またはビデオ）をキャプチャし、電子通信インターフェースへ戻り、最終的に、マルチメディア・コンテンツ・アイテムを電子通信の一部として共同ユーザへ送信することは、より多くのユーザ・インタラクションを一般に必要とする。マルチメディアをキャプチャし、キャプチャされたマルチメディアを電子通信に含めるために典型的に必要な複数のユーザ・インタラクションは、電子通信を構成する工程に対して、必要以上の工程および手間を追加する。
【０００６】
従って、マルチメディアをキャプチャし、マルチメディアをメッセージング・アプリケーションにおいて送信するための現在の方法には、いくつかの不都合が存在する。
【発明の概要】
【課題を解決するための手段】
【０００７】
１つまたは複数の実施形態は、利点を提供し、および／または、電子メッセージング・システムのための強化された特徴を提供する方法およびシステムにより、本技術分野における前述の問題および他の問題のうちの１つもしくは複数を解決する。例えば、本明細書において説明される方法およびシステムは、マルチメディア・コンテンツ・アイテムを電子通信セッションに含めるためのより優れた機能性をユーザに与える。さらに、１つまたは複数の実施形態は、前述の利点または他の利点を、電子メッセージング・システムの単一のユーザ・インターフェースを通じて、簡単かつ直感的に提供することができる。
【０００８】
前述のものに加えて、１つまたは複数の実施形態のシステムおよび方法は、ユーザが電子メッセージング・システムから移り変わることなく、電子マルチメディアをキャプチャすることを可能にする。例えば、１つまたは複数の実施形態において、電子メッセージング・システムのユーザ・インターフェースは、共同ユーザ間で送信された電子メッセージの通信スレッドと、ユーザが電子マルチメディア（例えば、写真またはビデオ）をフレームインさせ、キャプチャすることを可能にするカメラ・ファインダー（viewfinder）との双方を表示する。従って、ユーザは、通信スレッドから離れることなく、電子マルチメディアをキャプチャし得る。
【０００９】
さらに、１つまたは複数の実施形態のシステムおよび方法は、余分なユーザ・インタラクションを必要とすることなく、ユーザが電子マルチメディアをキャプチャすることを可能にする。例えば、１つまたは複数の実施形態において、ユーザは、電子マルチメディアをキャプチャすると、この電子マルチメディア（すなわち、写真またはビデオ）を自動的に送信し得る。従って、１つまたは複数の実施形態は、自発的な通信、迅速な通信、リハーサルなしの通信、または編集された通信を促進することができる。
【００１０】
本発明の一実施形態において、方法は、コンピューティング・デバイスのタッチ・スクリーン・ディスプレイにユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含む通信スレッドを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供する工程と、コンピューティング・デバイスの少なくとも１つのプロセッサが、カメラ・ファインダー入力コントロールの選択を検出する工程と、カメラ・ファインダー入力コントロールの選択の検出に応答して、メッセージング・グラフィカル・ユーザ・インターフェースにおいてカメラ・ファインダーを提供する工程と、コンピューティング・デバイスの少なくとも１つのプロセッサが、カメラ・ファインダーに対する第１のユーザ・インタラクションを検出する工程と、検出された第１のユーザ・インタラクションに応答して、コンピューティング・デバイスのカメラが、マルチメディア・コンテンツ・アイテムをキャプチャし、コンピューティング・デバイスが、キャプチャされたマルチメディア・コンテンツ・アイテムを電子メッセージとして送信する工程とを含む。
【００１１】
カメラ・ファインダーに対する第１のユーザ・インタラクションを検出することは、カメラ・ファインダーに対するタップ・タッチ・ジェスチャを検出することを含む。
マルチメディア・コンテンツ・アイテムをキャプチャすることは、検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャすることを含む。
【００１２】
本発明に係る一実施形態において、方法は、キャプチャされたデジタル写真を通信スレッドに対して追加することをさらに含む。
本発明に係る一実施形態において、方法は、カメラ・ファインダーに対する第２のユーザ・インタラクションを検出することをさらに含む。
【００１３】
カメラ・ファインダーに対する第２のユーザ・インタラクションを検出することは、カメラ・ファインダーに対するプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含む。
【００１４】
マルチメディア・コンテンツ・アイテムをキャプチャすることは、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、デジタル・ビデオをキャプチャすることを含む。
【００１５】
キャプチャされたデジタル・ビデオの持続期間は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じであり得る。
本発明に係る一実施形態において、方法は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールを通信スレッドに対して追加することをさらに含む。
【００１６】
同様に特許請求の範囲に記載され得る、本発明に係るさらなる実施形態において、方法は、コンピューティング・デバイスのタッチ・スクリーン・ディスプレイにメッセージング・グラフィカル・ユーザ・インターフェースをそのメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドとともに提供する工程と、通信スレッドは、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含み、コンピューティング・デバイスの少なくとも１つのプロセッサが、カメラ・ファインダー入力コントロールの選択を検出する工程と、カメラ・ファインダー入力コントロールの選択に応答して、コンピューティング・デバイスのカメラを起動し、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内にカメラ・ファインダーを提供する工程とを含む。
【００１７】
本発明に係る一実施形態において、方法は、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内のタップ・タッチ・ジェスチャを検出する工程と、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内の検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル写真をキャプチャする工程とをさらに含む。
【００１８】
本発明に係る一実施形態において、方法は、タップ・タッチ・ジェスチャに応答して、キャプチャされたデジタル写真を送信する工程と、タップ・タッチ・ジェスチャに応答して、キャプチャされたデジタル写真をメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドに対して追加する工程とをさらに含む。
【００１９】
本発明に係る一実施形態において、方法は、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出する工程と、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、カメラ・ファインダーを介してデジタル・ビデオをキャプチャする工程とをさらに含む。
【００２０】
本発明に係る一実施形態において、方法は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを送信することをさらに含む。
【００２１】
本発明に係る一実施形態において、方法は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールをメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドに対して追加することをさらに含む。
【００２２】
本発明に係る一実施形態において、方法は、再生コントロールに対するタップ・タッチ・ジェスチャを検出する工程と、再生コントロールに対する検出されたタップ・タッチ・ジェスチャに応答して、メッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドにおいて、キャプチャされたデジタル・ビデオを再生する工程とをさらに含む。
【００２３】
本発明に係る一実施形態において、方法は、複数のメッセージ入力コントロールからなるパレットからの１つのメッセージ入力コントロールの選択を検出する工程と、検出された選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分からカメラ・ファインダーを除去する工程とをさらに含む。
【００２４】
同様に特許請求の範囲に記載され得る、本発明に係る一実施形態において、非一時的コンピュータ可読記憶媒体は、コンピュータ実行可能な命令を記憶しており、コンピュータ実行可能な命令は、プロセッサによって実行されるとき、コンピュータ・システムに、メッセージング・グラフィカル・ユーザ・インターフェースをそのメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドとともに提供させ、通信スレッドは、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージを含み、カメラ・ファインダーコントロールの選択を検出させ、カメラ・ファインダーコントロールの選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内にカメラ・ファインダーを提供させる。
【００２５】
本発明に係る一実施形態において、本システムは、コンピュータ実行可能な命令であって、実行されるとき、コンピュータ・システムに、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内のタップ・タッチ・ジェスチャを検出させ、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内の検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル写真をキャプチャさせ、キャプチャされたデジタル写真を送信させ、キャプチャされたデジタル写真をメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドに対して追加させる、コンピュータ実行可能な命令をさらに含む。
【００２６】
本発明に係る一実施形態において、本システムは、コンピュータ実行可能な命令であって、実行されるとき、コンピュータ・システムに、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出させ、メッセージング・グラフィカル・ユーザ・インターフェースの第２の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、カメラ・ファインダーを介してデジタル・ビデオをキャプチャさせ、キャプチャされたデジタル・ビデオを送信させ、キャプチャされたデジタル・ビデオを再生することが可能な再生コントロールをメッセージング・グラフィカル・ユーザ・インターフェースの第１の部分における通信スレッドに対して追加させる、コンピュータ実行可能な命令をさらに含む。
【００２７】
本発明に係るさらなる実施形態において、１つまたは複数のコンピュータ可読非一時的記憶媒体は、実行されるとき、本発明または上記の実施形態のうちのいずれかに係る方法を実行するように動作可能であるソフトウェアを具現化する。
【００２８】
本発明に係るさらなる実施形態において、システムは、１つまたは複数のプロセッサと、プロセッサに接続され、プロセッサによって実行可能な命令を含む少なくとも１つのメモリとを備え、プロセッサは、命令を実行するときに、本発明または上記の実施形態のうちのいずれかに係る方法を実行するように動作可能である。
【００２９】
本発明のさらなる特徴および利点は、下記に続く説明において述べられ、部分的にはその説明から明らかとなり、または、そのような例示的な実施形態の実施によって学習され得る。そのような実施形態の特徴および利点は、添付の特許請求の範囲において具体的に指摘される機器および組み合わせを用いて実現され、取得され得る。これらの特徴および他の特徴は、下記の説明および添付の特許請求の範囲から、より完全に明白となり、または、以下に述べられるそのような例示的な実施形態の実施によって学習され得る。
【００３０】
本発明に係る実施形態は、方法、記憶媒体およびシステムを対象とする添付の特許請求の範囲において具体的に開示され、特許請求の範囲において、１つのクレーム・カテゴリ、例えば、方法において記載される任意の特徴は、別のクレーム・カテゴリ、例えば、システムにおいても同様に特許請求され得る。添付の特許請求の範囲における従属関係または前項への参照は、形式上の理由のために選ばれているに過ぎない。しかしながら、任意の先行する請求項に対する意図的な参照（具体的には、多数項従属形式）から生じる任意の主題は、請求項の任意の組み合わせおよびその特徴が開示され、添付の特許請求の範囲において選ばれる従属関係に関わらず特許請求され得るように、同様に特許請求される。
【００３１】
従って、本明細書において説明され、または図示される実施形態および特徴のうちの任意のものは、別個の請求項において、および／または、本明細書において説明され、もしくは図示される任意の実施形態もしくは特徴との組み合わせにおいて、もしくは、添付の特許請求の範囲の特徴のうちの任意のものとの組み合わせにおいて、特許請求され得る。特許請求され得る主題は、添付の特許請求の範囲において提示されるような特徴の組み合わせだけではなく、特許請求の範囲における特徴の任意の他の組み合わせも含み、特許請求の範囲において記載される各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わされてもよい。
【００３２】
上記および他の利点および特徴が得られ得る手法を説明するために、上記に簡単に説明された１つまたは複数の実施形態の態様のより具体的な説明は、添付の図面に例示される、その具体的な実施形態への参照によってなされる。図は縮尺通りに描かれていないこと、および、同様の構造または機能の要素は、一般に、図全体を通じて例示の目的のために同様の参照符号によって表されることが留意されるべきである。これらの図面が典型的な実施形態のみを描いており、そのため、範囲を限定するものとしてみなされるべきではないことを理解して、本発明の１つまたは複数の実施形態は、添付の図面の使用を通じて、さらなる特殊性および詳細と共に説明され、解説されるであろう。
【図面の簡単な説明】
【００３３】
【図１】１つまたは複数の実施形態に係る電子メッセージング・システムの概略図。
【図２】１つまたは複数の実施形態に係る、図１のシステムを実装するための環境のブロック図。
【図３Ａ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図３Ｂ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図３Ｃ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図３Ｄ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図３Ｅ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ａ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｂ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｃ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｄ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｅ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｆ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図４Ｇ】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するためのユーザ・インターフェースを例示する図。
【図５】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、電子メッセージとして送信する方法における一連の動作のフローチャート。
【図６】１つまたは複数の実施形態に係る、マルチメディア・コンテンツ・アイテムをキャプチャし、電子メッセージとして送信する別の方法における一連の動作のフローチャート。
【図７】１つまたは複数の実施形態に係る例示的なコンピューティング・デバイスのブロック図。
【図８】１つまたは複数の実施形態に係るソーシャル・ネットワーキング・システムの例示的なネットワーク環境の図。
【発明を実施するための形態】
【００３４】
１つまたは複数の実施形態は、マルチメディア・コンテンツ・アイテムを電子メッセージとして送信する際に、効率的かつ効果的なユーザ経験をユーザに提供する電子メッセージング・システムを含む。より具体的には、本明細書において説明される１つまたは複数の実施形態は、ユーザが電子メッセージとして送信するためのマルチメディア・コンテンツ・アイテムを簡単かつ直感的に生成することを可能にする。具体的には、本明細書において説明される電子メッセージング・システムは、ユーザが迅速かつ簡単にデジタル写真またはデジタル・ビデオを生成し、メッセージとして送信することを可能にし得る。
【００３５】
さらに、電子メッセージング・システムは、ユーザが通信スレッドから離れることなく、デジタル写真またはデジタル・ビデオを生成することを可能にし得る。例えば、１つまたは複数の実施形態は、カメラ・ファインダーだけでなく、通信スレッドも含むユーザ・インターフェースを提供する。従って、１つまたは複数の実施形態は、ユーザがメッセージを受信し、読んでいる間に同時にマルチメディアをキャプチャすることを可能にする。
【００３６】
さらに、１つまたは複数の実施形態のシステムおよび方法は、余分なユーザ・インタラクションを必要とすることなく、ユーザが電子マルチメディアをキャプチャすることを可能にする。例えば、電子メッセージング・システムは、異なるタイプのユーザ入力に応答して、カメラ・ファインダーを介して異なるタイプのマルチメディアをキャプチャし得る。また、電子メッセージング・システムは、検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル写真をキャプチャし得る。また、電子メッセージング・システムは、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、カメラ・ファインダーを介してデジタル・ビデオをキャプチャし得る。
【００３７】
１つまたは複数の実施形態は、キャプチャされたマルチメディアを、このマルチメディアをキャプチャするために使用されたユーザ・インタラクションが完了し次第、通信スレッドに対して自動的に追加する。例えば、電子メッセージング・システムは、キャプチャされたデジタル写真を、このデジタル写真をキャプチャするために使用された検出されたタップ・タッチ・ジェスチャの直後に、通信スレッドに対して追加してもよい。また、電子メッセージング・システムは、キャプチャされたデジタル・ビデオを、このデジタル・ビデオをキャプチャするために使用されたプレス・アンド・ホールド・タッチ・ジェスチャの終了が検出され次第、通信スレッドに対して追加してもよい。従って、１つまたは複数の実施形態は、自発的な通信、迅速な通信、リハーサルなしの通信、または編集された通信を促進することができる。
【００３８】
図１は、電子メッセージング・システム１００の例示的な実施形態を例示する。図示のように、電子メッセージング・システム１００は、ユーザ・インターフェース・マネージャ１０２（または、単に「ＵＩマネージャ」）と、ユーザ入力検出部１０４と、マルチメディア・マネージャ１０６と、通信マネージャ１０８と、データ・ストレージ１１０とを含み得るが、これらに限定されない。電子メッセージング・システム１００の構成要素１０２〜１１０の各々は、任意の適切な通信技術を使用して互いに通信し得る。本明細書における開示は、構成要素１０２〜１１０を図１において別個のものと示しているが、構成要素１０２〜１１０のうちの任意のものは、１つまたは複数の実施形態としての役割を果たし得るように、単一の機器またはモジュールなどの、より少ない構成要素へ組み合わされてもよく、または、より多くの構成要素へ分割されてもよい。また、構成要素１０２〜１１０は、図７に関連して下記で説明されるものなどの、１つもしくは複数のコンピューティング・デバイス上に位置しても、または１つもしくは複数のコンピューティング・デバイスによって実装されてもよい。あるいは、電子メッセージング・システム１００のある部分が、コンピューティング・デバイス上に位置し得る一方で、電子メッセージング・システム１００の他の部分は、図８を参照しつつ下記で説明されるものなどのソーシャル・ネットワーキング・システム上に位置し、またはソーシャル・ネットワーキング・システムの一部を形成する。
【００３９】
構成要素１０２〜１１０は、ソフトウェア、ハードウェア、または、これら双方を含み得る。例えば、構成要素１０２〜１１０は、は、コンピュータ可読記憶媒体上に記憶され、１つまたは複数のコンピューティング・デバイスのプロセッサによって実行可能な、１つまたは複数の命令を含み得る。１つまたは複数のプロセッサによって実行されると、電子メッセージング・システム１００のコンピュータ実行可能な命令は、コンピューティング・デバイスに、本明細書において説明される方法を実行させることができる。あるいは、構成要素１０２〜１１０は、一定の機能を実行するための専用処理デバイスなどのハードウェアを含み得る。追加的に、または代替的に、構成要素１０２〜１１０は、コンピュータ実行可能な命令とハードウェアとの組み合わせを含み得る。
【００４０】
上記のように、また、図１に示されるように、電子メッセージング・システム１００は、ユーザ・インターフェース・マネージャ１０２を含み得る。ユーザ・インターフェース・マネージャ１０２は、ユーザが表示要素を見て、インタラクションすることを可能にするグラフィカル・ユーザ・インターフェース（または単に「ユーザ・インターフェース」）を提供し、管理し、更新し、および／または制御する。例えば、ユーザ・インターフェース・マネージャ１０２は、１つまたは複数の表示要素を様々なレイアウトで含む様々なユーザ・インターフェースを識別し、表示し、更新し、または、さもなければ提供し得る。
【００４１】
より具体的には、ユーザ・インターフェース・マネージャ１０２は、グラフィカル・ユーザ・インターフェース内に多様な表示要素を表示することができる。例えば、ユーザ・インターフェース・マネージャ１０２は、コンピューティング・デバイスのディスプレイ上にグラフィカル・ユーザ・インターフェースを表示し得る。例えば、表示要素は、ボタン、テキスト・ボックス、メニュー、サムネイル、スクロール・バー、ハイパーリンク等を含むが、これらに限定されない。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、多様なレイアウトのうちのいずれか１つにおいて表示要素を表示し、フォーマットし得る。
【００４２】
さらに、ユーザ・インターフェース・マネージャ１０２は、ユーザ・インタラクションに応答して、表示要素を更新し、除去し、サイズ変更し、または再配置することもできる。例えば、下記でより詳細に説明されるように、電子メッセージング・システム１００は、ユーザ入力を多様な手法で検出し得る。例えば、１つまたは複数の実施形態において、検出されたユーザ入力は、ユーザ・インターフェース・マネージャ１０２に、その検出された入力に基づいてグラフィカル・ユーザ・インターフェースを更新させ得る。同様に、１つまたは複数の実施形態において、検出されたユーザ入力は、ユーザ・インターフェース・マネージャ１０２に、１つもしくは複数の表示要素をサイズ変更させ、グラフィカル・ユーザ・インターフェース内の１つもしくは複数の表示要素を再配置させ、または、さもなければ、グラフィカル・ユーザ・インターフェース内の１つもしくは複数の表示要素を変化させ、もしくは除去させ得る。
【００４３】
また、ユーザ・インターフェース・マネージャ１０２は、ユーザ・インタラクションに応答して、ユーザ・インターフェースの一定の領域を選択的に更新することができる。例えば、１つまたは複数の実施形態において、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ１０２に、グラフィカル・ユーザ・インターフェースの１つの領域内のみで更新または変更を行わせ得る。１つまたは複数の実施形態において、ユーザ・インタラクションが検出されると、ユーザ・インターフェース・マネージャ１０２は、ユーザ・インターフェース内の別の領域は更新せずに表示し続けながら、ユーザ・インターフェース内の１つの領域を、あるタイプの表示から第２のタイプの表示へ更新し得る。
【００４４】
同じように、ユーザ・インターフェース・マネージャ１０２は、ユーザ・インタラクションに応答して、ユーザ・インターフェースを再編成することができる。例えば、１つまたは複数の実施形態において、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ１０２に、グラフィカル・ユーザ・インターフェースを２つ以上の領域へ分割させ得る。１つまたは複数の実施形態において、ユーザ・インタラクションが検出されると、ユーザ・インターフェース・マネージャ１０２は、１つの領域に表示要素の第１の集まりを表示することのみから、第１の領域に表示要素の第１の集まり、第２の領域に表示要素の第２の集まりというように２つの領域に表示することへと、ユーザ・インターフェースを再編成し得る。同様に、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、検出されたユーザ・インタラクションに応答して、グラフィカル・ユーザ・インターフェース内の領域を統合するか、または除去してもよい。
【００４５】
上記のように、また、図１に例示されるように、電子メッセージング・システム１００は、ユーザ入力検出部１０４をさらに含み得る。ユーザ入力検出部１０４は、ユーザ入力を任意の適切な手法で検出し、受信し、および／または手助けする。いくつかの例において、ユーザ入力検出部１０４は、１つまたは複数のユーザ・インタラクションを検出する。本明細書において、「ユーザ・インタラクション」は、１つもしくは複数の入力デバイスによって、または１つもしくは複数のタッチ・ジェスチャを介して、ユーザから受け取られる単一の入力、入力の組み合わせを意味する。ユーザ・インタラクションは、可変の持続期間を有することができ、上記のユーザ・インターフェース・マネージャ１０２によって管理されるグラフィカル・ユーザ・インターフェース上のどこにでも発生し得る。
【００４６】
例えば、ユーザ入力検出部１０４は、キーボード、マウス、タッチ・スクリーン・ディスプレイ、または任意の他の入力デバイスからユーザ・インタラクションを検出することができる。タッチ・スクリーン・ディスプレイが利用される場合、ユーザ入力検出部１０４は、タッチ・スクリーンを通じてユーザによって提供されるユーザ・インタラクション（例えば、タップ・ジェスチャ、スワイプ・ジェスチャ、ピンチ・ジェスチャ等）を形成する、１つまたは複数のタッチ・ジェスチャを検出することができる。１つまたは複数の実施形態において、ユーザ入力検出部１０４は、タッチ・スクリーン・ディスプレイ上に提示されるグラフィカル・ユーザ・インターフェースの一部として表示される、１つもしくは複数の表示要素に関連するタッチ・ジェスチャ、および１つもしくは複数の表示要素を対象とするタッチ・ジェスチャのうちの少なくとも一方を検出することができる。ユーザ入力検出部１０４は、１つもしくは複数の表示要素に関連する任意の検出されたタッチ・ジェスチャ、および１つもしくは複数の表示要素を対象とする任意の検出されたタッチ・ジェスチャのうちの少なくとも一方をユーザ・インターフェース・マネージャ１０２へ報告し得る。
【００４７】
ユーザ入力検出部１０４は、追加的に、または代替的に、ユーザ・インタラクションを表すデータを受信し得る。例えば、ユーザ入力検出部１０４は、ユーザからの１つもしくは複数のユーザ設定可能なパラメータ、ユーザからの１つもしくは複数のユーザ・コマンド、および任意の他の適切なユーザ入力のうちの少なくとも１つを受信し得る。例えば、ユーザ入力検出部１０４は、音声コマンドを受信し、または、さもなければ、ユーザ入力を感知し、検出し、もしくは受信することができる。
【００４８】
上記のように、また、図１に例示されるように、電子メッセージング・システム１００は、マルチメディア・マネージャ１０６をさらに含み得る。マルチメディア・マネージャ１０６は、通信セッションに含めるために、マルチメディア入力をキャプチャし、パッケージし、記憶する。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、コンピューティング・デバイスの１つまたは複数のカメラとインターフェースを取ることができる。例えば、検出された入力に応答して、マルチメディア・マネージャ１０６は、１つまたは複数のカメラを介してマルチメディアをキャプチャし、付随するマルチメディア・コンテンツ・アイテムを生成し得る。
【００４９】
例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、コンピューティング・デバイスの少なくとも１つのカメラとインターフェースを取って、カメラ・ファインダーをユーザ・インターフェース・マネージャ１０２へ提供し得る。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、提供されたカメラ・ファインダーを、通信スレッドを含むユーザ・インターフェースの一部として表示し得る。従って、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダーと通信スレッドとを同時に表示し得る。
【００５０】
また、マルチメディア・マネージャ１０６は、検出されたユーザ入力に応答して、カメラ・ファインダーを介してマルチメディアをキャプチャし得る。例えば、マルチメディア・マネージャ１０６は、検出されたタップ・タッチ・ジェスチャに応答して画像をキャプチャし、この画像を含むデジタル写真マルチメディア・コンテンツ・アイテムを生成し得る。また、マルチメディア・マネージャ１０６は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答してビデオをキャプチャし、デジタル・ビデオ・マルチメディア・コンテンツ・アイテムを生成し得る。１つまたは複数の代替的な実施形態において、マルチメディア・マネージャ１０６は、他のタイプの検出された入力に応答して、他のタイプのマルチメディアをキャプチャし、生成し得る。例えば、マルチメディア・マネージャ１０６は、ダブル・タップ・タッチ・ジェスチャに応答して、１ダースの高速画像をバースト・モードでキャプチャしてもよく、または、２本の指によるプレス・アンド・ホールド・タッチ・ジェスチャ等に応答して、オーディオのみをキャプチャしてもよい。
【００５１】
マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテムも通信スレッドに対して追加し得る。例えば、１つまたは複数の実施形態において、マルチメディアをキャプチャするために使用されたユーザ・インタラクションの完了が検出されると、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、デジタル写真をキャプチャするために使用された検出されたタップ・タッチ・ジェスチャが完了し次第、さらなるユーザ動作なしに、デジタル写真を通信スレッドに対して追加し得る。同様に、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、デジタル・ビデオをキャプチャするために使用された検出されたプレス・アンド・ホールド・タッチ・ジェスチャが完了し次第、デジタル・ビデオを通信スレッドに対して追加し得る。従って、同じ（また、１つまたは複数の実施形態においては単一の）ユーザ・インタラクションに応答して、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムをキャプチャし、マルチメディア・アイテムを電子メッセージとして送信し、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することができる。
【００５２】
１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムが通信スレッドに対して追加されると、マルチメディア・コンテンツ・アイテムを表示のためにパッケージし得る。例えば、マルチメディア・マネージャ１０６は、デジタル・ビデオ・マルチメディア・コンテンツ・アイテムを、デジタル・ビデオ・マルチメディアを再生することが可能な再生コントロールへパッケージし得る。次いで、マルチメディア・マネージャ１０６は、パッケージされたデジタル・ビデオ・マルチメディア・コンテンツ・アイテムとともに再生コントロールを通信スレッドに追加し得る。従って、マルチメディア・マネージャ１０６は、サード・パーティのマルチメディア・プレーヤからよりもむしろ、通信スレッドから直接、デジタル・ビデオが再生されることを可能にし得る。
【００５３】
また、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することに先立って、マルチメディア・コンテンツ・アイテムをキャンセルし、または削除し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、検出されたユーザ・インタラクションに応答して、デジタル写真またはデジタル・ビデオのキャプチャをキャンセルし得る。例えば、マルチメディア・マネージャ１０６は、検出されたスワイプに応答して、デジタル・ビデオのキャプチャをキャンセルしてもよい。この場合において、マルチメディア・マネージャ１０６は、既にキャプチャされたデジタル・ビデオまたは画像のいかなる部分も破棄し、メッセージを送らず、または通信スレッドに対して何も追加しない。
【００５４】
さらに、マルチメディア・マネージャ１０６は、カメラ・ファインダーを介してキャプチャされたマルチメディア・コンテンツ・アイテムを記憶し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテムを、このマルチメディア・コンテンツ・アイテムを通信スレッドに対して送って追加した後に、コンピューティング・デバイスのファイル・ストレージに記憶し得る。従って、キャプチャされたマルチメディア・コンテンツ・アイテムは、電子メッセージング・システムによって、または別のサード・パーティ・システムによって、後でアクセスされ得る。１つまたは複数の代替的な実施形態において、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムを通信スレッドに対して送って追加した後で、キャプチャされたマルチメディア・コンテンツ・アイテムを直ちに破棄し得る。また、マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテムを記憶するか、または破棄するかを特定するユーザ構成を受信し得る。
【００５５】
マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテムに対して効果を追加するためのオプションも提供し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、色彩効果（すなわち、白黒、セピア、カラー等）、オーバーレイ効果（すなわち、境界を追加、キャプションを追加等）、シャープネスおよびコントラスト効果、顔認識およびタグ効果、またはマルチメディア・コンテンツ・アイテムに適切な任意の他の効果などの、ただし、これらに限定されない、キャプチャされたマルチメディア・コンテンツ・アイテムに対して追加され得る多様な効果を提供し得る。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムをキャプチャし、マルチメディア・コンテンツ・アイテムをメッセージとして送信し、キャプチャされたマルチメディア・コンテンツ・アイテムを通信スレッドに対して追加することに先立って、追加される効果に関する構成を受信し得る。
【００５６】
上記のように、また、図１に例示されるように、電子メッセージング・システム１００は、通信マネージャ１０８をさらに含み得る。通信マネージャ１０８は、電子メッセージング・システム１００または電子メッセージング・システム１００が実装され得るコンピューティング・デバイスからデータを受け取ること、および電子メッセージング・システム１００または電子メッセージング・システム１００が実装されるコンピューティング・デバイスへデータを送ることを手助けする。具体的には、通信マネージャ１０８は、下記で説明されるように、コンピューティング・デバイスの１つもしくは複数の通信インターフェースに指示し、または１つもしくは複数の通信インターフェースを起動して、データ、具体的には、電子通信に関連するデータを送信し、または受信することができる。さらに、図７を参照しつつ、下記でさらに説明されるように、通信マネージャ１０８は、電子メッセージング・システム１００へ送信されるか、または電子メッセージング・システム１００から受信されるべきコンテンツ・アイテムを、１つまたは複数の通信チャネルを通じて送信されることが可能で、適当な通信プロトコルを使用する任意の必要な形式にパッケージし、またはフォーマットすることができる。
【００５７】
さらに、通信マネージャ１０８は、１人または複数の共同ユーザへ、マルチメディア・マネージャ１０６によって提供されるキャプチャされたマルチメディアを自動的に送信し得る。例えば、１つまたは複数の実施形態において、ユーザ・インタラクションの完了が検出されることに応答して、さらなるユーザ・インタラクションなしに、通信マネージャ１０８は、キャプチャされたマルチメディア・コンテンツ・アイテムを、通信システムの１人または複数の共同ユーザへ送信し得る。このようにして、電子メッセージング・システム１００は、自発的なリアルタイム通信を促進することができる。これは、マルチメディア・コンテンツ・アイテムを送信することに先立って、ユーザ起動の送信イベントを必要とするシステムと対照的である。代替的な実施形態において、通信マネージャ１０８は、ユーザが送信オプションを選択すると、メッセージを送信することができる。
【００５８】
上記で説明されたように、電子メッセージング・システム１００は、図１に例示されるようなデータ・ストレージ１１０を含み得る。データ・ストレージ１１０は、マルチメディア・コンテンツ・アイテムに対して関連付けられるデータを表すマルチメディア・データ１１２を維持し得る。例えば、マルチメディア・データ１１２は、キャプチャされたマルチメディア・コンテンツ・アイテム、マルチメディア効果オプションおよび構成、ならびにマルチメディア記憶オプションおよび構成を含み得るが、これらに限定されない。
【００５９】
図２は、電子メッセージング・システム１００の１つまたは複数の実施形態が実装され得る例示的なシステム２００を例示する概略図である。図２に例示されるように、システム２００は、コンピューティング・デバイス２０２、２０４と、ネットワーク２０６と、通信サーバ２０８とを含み得る。コンピューティング・デバイス２０２、２０４、ネットワーク２０６、および通信サーバ２０８は、図２に示されるように、通信可能に結合され得る。図２は、コンピューティング・デバイス２０２、２０４、ネットワーク２０６、および通信サーバ２０８の特定の構成を例示するが、様々な追加的な構成が可能である。例えば、コンピューティング・デバイス２０２、２０４は、ネットワーク２０６を迂回して、通信サーバ２０８と直接通信してもよく、または、代替的に、互いに直接通信してもよい。
【００６０】
コンピューティング・デバイス２０２、２０４、ネットワーク２０６、および通信サーバ２０８は、データおよび通信信号のうちの少なくとも一方を伝送するのに適した任意の通信プラットフォームおよび技術を使用して通信し得る。例えば、コンピューティング・デバイス２０２、２０４、ネットワーク２０６、および通信サーバ２０８は、遠隔データ通信をサポートする任意の知られている通信技術、デバイス、媒体、およびプロトコルを介して通信してもよく、これらの例は、図７に関して、下記でより詳細に説明されるであろう。また、一定の実施形態において、コンピューティング・デバイス２０２、２０４および通信サーバ２０８は、ネットワーク２０６を介して通信してもよく、ネットワーク２０６は、図８に関して下記でさらに説明されるような、１つまたは複数のソーシャル・ネットワークを含み得る。
【００６１】
通信サーバ２０８は、電子通信データを生み出し、記憶し、受信し、送信し得る。例えば、通信サーバ２０８は、電子通信をコンピューティング・デバイス２０２から受信し、受信された電子通信をコンピューティング・デバイス２０４へ送信し得る。具体的には、通信サーバ２０８は、システム２００の１人または複数のユーザ間で電子メッセージを送ることができる。通信サーバ２０８は、テキスト・メッセージ、インスタント・メッセージ、ソーシャル・ネットワーキング・メッセージ、ソーシャル・ネットワーキング投稿、電子メール、および任意の他の形式の電子通信を含むが、これらに限定されない、幅広い電子通信タイプを受信することができる。通信サーバ２０８に関するさらなる詳細は、図７に関して、下記で説明されるであろう。
【００６２】
ネットワーク２０６は、（インターネット、企業イントラネット、仮想プライベート・ネットワーク（ＶＰＮ：ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ）、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、無線ローカル・ネットワーク（ＷＬＡＮ：ｗｉｒｅｌｓｓ  ｌｏｃａｌ  ｎｅｔｗｏｒｋ）、セルラ・ネットワーク、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ：ｍｅｔｒｏｐｏｌｉｔａｎ  ａｒｅａ  ｎｅｔｗｏｒｋ））などのネットワークもしくはネットワークの集まり、または、２つ以上のそのようなネットワークの組み合わせを表し得る。従って、ネットワーク２０６は、コンピューティング・デバイス２０２が通信サーバ２０８およびコンピューティング・デバイス２０４のうちの少なくとも一方にアクセスし、またはこの逆が行われ得る、任意の適切なネットワークであり得る。ネットワーク２０６は、図７および図８に関して、下記でより詳細に説明されるであろう。
【００６３】
システム２００のシステム要素およびネットワーク要素に加えて、図２は、ユーザ２１０がコンピューティング・デバイス２０２に対して関連付けられ得ること、および、ユーザ２１２がコンピューティング・デバイス２０４に対して関連付けられ得ることを例示する。図２は、２人のユーザ２１０、２１２のみを例示するが、システム２００は、ユーザの各々が１つまたは複数のコンピューティング・デバイスを通じてシステム２００とインタラクションする、多数のユーザを含み得る。例えば、ユーザ２１０は、電子通信（例えば、インスタント・メッセージ）を構成し、送信する目的のために、コンピューティング・デバイス２０２とインタラクションし得る。ユーザ２１０は、コンピューティング・デバイス２０２上のユーザ・インターフェース・マネージャ１０２によって管理されるユーザ・インターフェースを通じて、コンピューティング・デバイス２０２とインタラクションし得る。例えば、ユーザ２１０は、ユーザ・インターフェースを利用して、コンピューティング・デバイス２０２に、電子通信を構成させ、システム２００の複数のユーザのうちの１人または複数へ電子通信を送信させ得る。
【００６４】
１つまたは複数の実施形態において、図１に関して説明されたような構成要素１０２〜１１０は、コンピューティング・デバイス２０２、２０４および通信サーバ２０８のうちの１つまたは複数上に実装され得る。例えば、コンピューティング・デバイス２０２、２０４および通信サーバ２０８は、電子メッセージング・システム１００の通信マネージャ１０８を介してネットワーク２０６を介して通信し得る。１つまたは複数の実施形態において、コンピューティング・デバイス２０２、２０４は、ユーザ入力検出部１０４を介してユーザ入力を受信し得る。同様に、１つまたは複数の実施形態において、コンピューティング・デバイス２０２、２０４は、ユーザ・インターフェース・マネージャ１０２を介してグラフィカル・ユーザ・インターフェースを提供し得る。さらに、１つまたは複数の実施形態において、コンピューティング・デバイス２０２、２０４の各々は、電子メッセージング・システム１００のインスタンスを含むことができる。
【００６５】
下記でより詳細に説明されるように、図１および図２に関して説明されたような電子メッセージング・システム１００の構成要素１００〜１１０の各々は、電子メッセージング・システム１００の他の構成要素と共におよび他の構成要素との組み合わせのうちの少なくとも一方において、１つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。具体的には、構成要素１０２〜１１０は、多様な目的のためにユーザが表示要素の集まりとインタラクションすることを可能にし得る。具体的には、図３Ａ〜図４Ｇおよび後に続く説明によって、上記のような一般的な原理に従ったユーザ・インターフェースおよび特徴の様々な例示的な実施形態が例示される。
【００６６】
いくつかの例において、コンピューティング・デバイス（すなわち、図２のコンピューティング・デバイス２０２、２０４）は、電子メッセージング・システム１００の一部または全部を実装することができる。例えば、図３Ａは、電子メッセージング・システム１００の構成要素１０２〜１１０のうちの１つまたは複数を実装し得るコンピューティング・デバイス３００を例示する。図３Ａに例示されるように、コンピューティング・デバイス３００は、携帯電話デバイス（例えば、スマートフォン）などのハンドヘルド・デバイスである。本明細書において、「ハンドヘルド・デバイス」とは、ユーザの一方の手で保持される／操作されるような大きさにされ、ユーザの一方の手で保持される／操作されるように構成されたデバイスを指す。しかしながら、追加的な例または代替的な例において、タブレット・デバイス、ハンドヘルド・デバイス、より大きな無線デバイス、ラップトップ・コンピュータもしくはデスクトップ・コンピュータ、携帯情報端末デバイス、ならびに／または任意の他の適切なコンピューティング・デバイスなどの、ただし、これらに限定されない、任意の他の適切なコンピューティング・デバイスが、本明細書において説明される工程および／または動作のうちの１つまたは複数を実行し得る。
【００６７】
コンピューティング・デバイス３００は、図７のコンピューティング・デバイス７００を参照して下記で説明される特徴および構成要素のうちの任意のものを含み得る。図３Ａに例示されるように、コンピューティング・デバイス３００は、ユーザ・インターフェースを表示し、または提供することができるタッチ・スクリーン・ディスプレイ３０２を含み、このタッチ・スクリーン・ディスプレイ３０２を通じて、ユーザ入力が受信されるか、または検出されるか、あるいは受信及び検出され得る。本明細書において、「タッチ・スクリーン・ディスプレイ」とは、タッチ・スクリーン・デバイスのディスプレイを指す。１つまたは複数の実施形態において、タッチ・スクリーン・デバイスは、ユーザ２１０、２１２がタッチ・ジェスチャを行い得る少なくとも１つの画面を有するコンピューティング・デバイス２０２、２０４（例えば、ラップトップ、タブレット・コンピュータ、携帯情報端末、メディア・プレーヤ、携帯電話）であり得る。追加的に、または代替的に、コンピューティング・デバイス３００は、タッチ・パッドまたは図７を参照して下記で説明されるものなどの、任意の他の適切な入力デバイスを含んでもよい。
【００６８】
図３Ａは、グラフィカル・ユーザ・インターフェースの１つの実施形態、具体的には、メッセージング・グラフィカル・ユーザ・インターフェース３０４を表示する、コンピューティング・デバイス３００のタッチ・スクリーン・ディスプレイ３０２を例示する。例えば、ユーザ・インターフェース・マネージャ１０２は、様々な表示領域および表示要素を、メッセージング・グラフィカル・ユーザ・インターフェース３０４の一部として提供する。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、メッセージ入力制御パレットまたはツールバー３１０だけでなく、通信スレッド３０６も提供する。
【００６９】
上記のように、電子メッセージング・システム１００の通信マネージャ１０８は、データを受信することおよび送信することを手助けすることができる。１つまたは複数の実施形態において、通信マネージャ１０８は、コンピューティング・デバイス２０２、２０４間で電子通信を受信することおよび送信することを手助けする。また、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、通信マネージャ１０８を介して送信および受信された電子通信を表示する。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、メッセージング・グラフィカル・ユーザ・インターフェース３０４内の通信スレッド３０６において、通信マネージャ１０８を介して送信および受信された電子通信を表示することができる。
【００７０】
例えば、図３Ａに例示されるように、ユーザ・インターフェース・マネージャ１０２は、通信デバイス３００のユーザのアカウントから送信された電子メッセージ３０８ａを含む通信スレッド３０６を提供する。同様に、通信スレッド３０６は、コンピューティング・デバイス３００のユーザのアカウントによって受信された電子メッセージ３０８ｂを含むことができる。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、新たなメッセージが通信スレッド３０６の最下部に追加され、それによって、より古いメッセージが通信スレッド３０６の最上部に表示されるように、通信スレッド３０６を編成する。代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、メッセージ３０８ａ、３０８ｂ間の経時的な関係または他の関係をユーザに対して示し得る任意の手法で、メッセージ３０８ａ、３０８ｂを編成し得る。
【００７１】
ユーザ・インターフェース・マネージャ１０２は、多様な電子通信特性を提供して、ユーザが通信スレッド３０６における電子通信を区別することを助ける。例えば、図３Ａに例示されるように、ユーザ・インターフェース・マネージャ１０２は、コンピューティング・デバイス３００のユーザのアカウントから送信された電子メッセージ３０８ａを、メッセージング・グラフィカル・ユーザ・インターフェース３０４の一方の側（すなわち、右側）を指すように表示する。他方、ユーザ・インターフェース・マネージャ１０２は、通信マネージャ１０８によって受信された電子メッセージ３０８ｂを、メッセージング・グラフィカル・ユーザ・インターフェース３０４の他方の側（すなわち、左側）を指すように表示する。１つまたは複数の実施形態において、電子メッセージ３０８ａ、３０８ｂの位置付けおよび向きは、コンピューティング・デバイス３００のユーザに対して、メッセージング・グラフィカル・ユーザ・インターフェース３０４内に表示される様々な電子通信の発信元の明確な指標を提供する。
【００７２】
ユーザが電子通信を区別することを助ける、ユーザ・インターフェース・マネージャ１０２によって提供される別の特性は、電子通信の色であり得る。例えば、図３Ａに示されるように、ユーザ・インターフェース・マネージャ１０２は、送信された電子メッセージ３０８ａを第１の色で表示し、受信された電子メッセージ３０８ｂを第２の色で表示する。１つまたは複数の実施形態において、第１の色および第２の色は、それぞれ黒色および白色でよく、反転された書体の色を有してもよい。代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、電子メッセージ３０８ａ、３０８ｂを白色の背景および異なる色の輪郭を用いて表示してもよい。
【００７３】
さらに別の代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、電子メッセージ３０８ａ、３０８ｂを、異なるパターンの背景を用いて、異なるフォントで、異なるサイズで、または、送信された電子メッセージ３０８ａと受信された電子メッセージ３０８ｂとを区別し得る任意の他の手法で、表示し得る。例えば、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、送信された電子メッセージ３０８ａを青い背景上に白い書体を用いて表示する。同様に、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、受信された電子メッセージ３０８ｂを灰色の背景上に黒い書体を用いて表示する。
【００７４】
上記のように、ユーザ・インターフェース・マネージャ１０２は、メッセージ入力制御パレットまたはツールバー３１０も提供し得る。図３Ａに例示されるように、ユーザ・インターフェース・マネージャ１０２は、メッセージ入力制御パレットまたはツールバー３１０をメッセージング・グラフィカル・ユーザ・インターフェース３０４の一部として表示する。１つまたは複数の実施形態において、メッセージ入力制御パレットまたはツールバー３１０は、ユーザに様々なメッセージ入力オプションまたは他のオプションを提供する、多様な選択可能なメッセージ入力コントロールを含む。例えば、図３Ａにおいて、メッセージ入力制御パレットまたはツールバー３１０は、テキスト入力コントロール３１２ａと、カメラ・ファインダー入力コントロール３１２ｂと、マルチメディア入力コントロール３１２ｃと、記号入力コントロール３１２ｄと、音声入力コントロール３１２ｅとを含む。１つまたは複数の実施形態において、メッセージ入力制御パレットまたはツールバー３１０は、入力コントロール３１２ａ〜３１２ｅを異なる順序で提供してもよく、図３Ａに表示されていない他の入力コントロールを提供してもよく、または図３Ａに示される入力コントロール３１２ａ〜３１２ｅのうちの１つもしくは複数を省略してもよい。
【００７５】
下記でさらに詳細に説明されるように、ユーザは、異なるタイプの電子通信を構成し、送信するために、入力コントロール３１２ａ〜３１２ｅのうちの任意のものとインタラクションし得る。例えば、ユーザが、テキスト入力コントロール３１２ａとインタラクションする場合、ユーザ・インターフェース・マネージャ１０２は、ユーザがテキスト・メッセージを書き込むために利用し得るタッチ・スクリーン・ディスプレイ・キーボードをメッセージング・グラフィカル・ユーザ・インターフェース３０４の一部分において提供し得る。同様に、ユーザが、マルチメディア入力コントロール３１２ｃとインタラクションする場合、ユーザ・インターフェース・マネージャ１０２は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の一部分内に（例えば、デジタル写真、デジタル・ビデオ等を表示するための）マルチメディア・コンテンツ・アイテム表示領域を提供し得る。さらに、ユーザが、音声入力コントロール３１２ｅとインタラクションする場合、ユーザ・インターフェース・マネージャ１０２は、音声記録コントロールを提供し得、音声記録コントロールを通じて、ユーザは、声または他の音声メッセージを記録することができる。同様に、下記でより詳細に説明されるように、ユーザが、カメラ・ファインダー入力コントロール３１２ｂとインタラクションする場合、ユーザ・インターフェース・マネージャ１０２は、ユーザがデジタル写真またはデジタル・ビデオをキャプチャし、送信し、通信スレッド３０６に対して追加するために利用し得るデジタル・カメラ・インターフェースをメッセージング・グラフィカル・ユーザ・インターフェース３０４の一部分内に提供し得る。
【００７６】
ユーザは、メッセージを書き込み、１人または複数の共同ユーザへ電子メッセージング・システム１００を介して送信するために、メッセージ入力コントロール３１２ａ〜ｅのうちの任意のものとインタラクションし得る。例えば、図３Ｂにおいて、カメラ・ファインダー入力コントロール３１２ｂとインタラクションするユーザの指３１４が示される。１つまたは複数の実施形態において、ユーザ入力検出部１０４は、カメラ・ファインダー入力コントロール３１２ｂに対するユーザの指３１４のインタラクション（例えば、タップ・タッチ・ジェスチャ）を検出することができる。ユーザ・インターフェース・マネージャ１０２は、どの入力コントロール３１２ａ〜３１２ｅが現在アクティブであるかを示すために、入力制御インジケータ３１８を表示し得る。また、図３Ｂに示されるように、ユーザ入力検出部１０４が、カメラ・ファインダー入力コントロール３１２ｂに対するタップ・タッチ・ジェスチャを検出すると、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６を表示し得る。言い換えれば、検出されるユーザ・インタラクション応答して、電子メッセージング・システム１００は、コンピューティング・デバイス３００のカメラを起動し、コンピューティング・デバイス３００のカメラからのデータ（画像／ビデオ）・ストリームをカメラ・ファインダー３１６内に表示することができる。
【００７７】
具体的には、図３Ｂに例示されるように、ユーザ・インターフェース・マネージャ１０２は、メッセージング・ユーザ・インターフェース３０４の第１の部分（すなわち、上方部分）において通信スレッド３０６を提供することができる。ユーザ・インターフェース・マネージャ１０２は、メッセージング・ユーザ・インターフェース３０４の第２の部分（すなわち、下方部分）においてカメラ・ファインダー３１６を提供することができる。従って、ユーザ・インターフェース・マネージャ１０２は、ユーザがマルチメディアを見て、キャプチャすることも可能でありながら、通信スレッド３０６および任意の新たなメッセージを見ることを可能にし得る。代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、通信スレッド３０６とカメラ・ファインダー３１６とを水平に、または垂直配置以外の別の配置に、配置することができる。
【００７８】
１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、コンピューティング・デバイス３００の１つまたは複数のカメラとインターフェースを取って、コンピューティング・デバイス３００の１つまたは複数のカメラに基づいて、カメラ・ファインダー３１６を提供し得る。例えば、１つまたは複数の実施形態において、コンピューティング・デバイス３００は、ユーザとは反対側を向く、後ろ向きのカメラを含み得る。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、後ろ向きのカメラとインターフェースを取り、後ろ向きのカメラによってキャプチャされた画像をカメラ・ファインダー３１６内に提供し得る。１つまたは複数の代替的な実施形態において、コンピューティング・デバイス３００は、正面向きのカメラ（すなわち、ユーザに面するカメラ）だけでなく、後ろ向きのカメラも含み得る。別の実施形態において、マルチメディア・マネージャ１０６は、後ろ向きのカメラまたは正面向きのカメラのいずれかとインターフェースを取り、後ろ向きのカメラまたは正面向きのカメラのいずれかによって見られる同じ画像をカメラ・ファインダー３１６内に提供し得る。
【００７９】
例えば、図３Ｂに示されるように、マルチメディア・マネージャ１０６は、コンピューティング・デバイス３００の正面向きのカメラとインターフェースを取り得る。従って、カメラ・ファインダー３１６は、正面向きのカメラによって見られる同じ画像（すなわち、ユーザの画像）を含む。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、カメラ・ファインダー３１６において表示される画像がカメラによって見られる画像と一致するように、カメラ・ファインダー３１６を連続的に更新し得る。具体的には、マルチメディア・マネージャ１０６は、入力制御インジケータ３１８によって示されるように、カメラ・ファインダー入力コントロール３１２ｂがアクティブである限り、カメラ・ファインダー３１６を連続的に更新し得る。
【００８０】
マルチメディア・マネージャ１０６は、ユーザ・インタラクションに応答して、カメラ・ファインダー３１６を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。例えば、図３Ｃに示されるように、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダーに対する検出されたユーザ・インタラクションに応答して、カメラ・ファインダー３１６を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。１つまたは複数の実施形態において、ユーザ入力検出部１０４は、カメラ・ファインダー３１６に対するユーザの指３１４のタッチ・ジェスチャを検出し得る。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、カメラ・ファインダー３１６に対するユーザの指３１４の検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャしてもよい。１つまたは複数の代替的な実施形態において、マルチメディア・マネージャ１０６は、別のタイプのユーザ・インタラクション、例えば、音声によるコマンド、コンピューティング・デバイス３００の向きの変化（すなわち、縦長から横長へ）、または、この目的に適した別のタイプのユーザ・インタラクションなどに応答して、デジタル写真をキャプチャしてもよい。
【００８１】
１つまたは複数の実施形態において、通信マネージャ１０８は、キャプチャされたマルチメディア・コンテンツ・アイテムを１人または複数の共同ユーザへ直ちに送信し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテムをキャプチャしたら直ちに、マルチメディア・コンテンツ・アイテムを通信マネージャ１０８へ提供し得る。従って、通信マネージャ１０８は、カメラ・ファインダー３１６とインタラクションする検出されたタップ・タッチ・ジェスチャの後に直ちに、キャプチャされたマルチメディア・コンテンツ・アイテムを１人または複数の共同ユーザへ送信し得る。
【００８２】
さらに、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、キャプチャされたマルチメディア・コンテンツ・アイテムを通信スレッド３０６に対して直ちに追加し得る。例えば、図３Ｄに示されるように、ユーザ・インターフェース・マネージャ１０２は、図３Ｃに関して説明された検出されたユーザ・インタラクションに応答して、キャプチャされたマルチメディア・コンテンツ・アイテム３２０を通信スレッド３０６に対して追加することができる。キャプチャされたマルチメディア・コンテンツ・アイテム３２０は、カメラ・ファインダー３１６に対する検出されたタップ・タッチ・ジェスチャ・インタラクションに応答して、マルチメディア・マネージャ１０６によってキャプチャされたデジタル写真であり得る。
【００８３】
従って、電子メッセージング・システム１００は、余分なユーザ・インタラクションを必要とすることなく、ユーザが電子マルチメディアをキャプチャし、送信することを可能にし得る。例えば、電子メッセージング・システムは、マルチメディア３２０をキャプチャすると、キャプチャされたマルチメディア３２０を通信サーバ２０８を介して１人または複数の共同ユーザへ自動的に送信することができる。さらに、電子メッセージング・システム１００は、マルチメディア３２０をキャプチャすると、キャプチャされたマルチメディア３２０を通信スレッド３０６に対して追加することができる。言い換えれば、電子メッセージング・システム１００は、単一のユーザ・インタラクション（すなわち、タップ・ジェスチャ）に応答して、マルチメディア・アイテム３２０をキャプチャし、送信し、通信スレッド３０６に対して追加することができる。従って、１つまたは複数の実施形態は、自発的な通信、迅速な通信、リハーサルなしの通信、または編集された通信を促進することができる。
【００８４】
図３Ｄに示されるように、１人または複数の共同ユーザへ送信される場合、および通信スレッド３０６に対して追加される場合、マルチメディア・コンテンツ・アイテム３２０は、通信スレッド３０６内での表示のために構成されたサイズを有し得る。具体的には、マルチメディア・コンテンツ・アイテム３２０は、垂直方向と水平方向との双方において、通信スレッド３０６の全体未満を占有し得る。通信スレッド３０６の垂直領域全体を占有しないことによって、通信スレッド３０６は、マルチメディア・コンテンツ・アイテム３２０と、図３Ｄによって示されるような１つまたは複数のメッセージとの双方を表示することができる。関連して、通信スレッド３０６の水平領域全体を占有しないことによって、マルチメディア・コンテンツ・アイテム３２０が送信メッセージであったか、または受信メッセージであったかを示すように、マルチメディア・コンテンツ・アイテム３２０は、通信スレッド３０６の一方の側に位置付けられ得る。
【００８５】
１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテム３２０がキャプチャされた後に、カメラ・ファインダー３１６を更新し続け得る。例えば、図３Ｄに示されるように、マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテム３２０の画像とは異なる画像を含むように、カメラ・ファインダー３１６を更新することができる。従って、ユーザは、電子メッセージング・システム１００からの遅延を全く、またはほとんど有しないで、マルチメディア・コンテンツ・アイテムをキャプチャし、送信し続け得る。
【００８６】
上記のように、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテム３２０に対して一定の表示効果を追加するように予め構成され得る。例えば、１つまたは複数の実施形態において、ユーザは、キャプチャされたマルチメディア・コンテンツ・アイテム３２０を白黒で提供するように、マルチメディア・マネージャ１０６を予め構成してもよい。追加的に、または代替的に、マルチメディア・マネージャ１０６は、キャプチャされたマルチメディア・コンテンツ・アイテムを他の表示効果と共に、例えば、強化されたシャープネスおよび鮮明さと共に、境界と共に、一定の配色と共に、一定の画像フィルタと共に、またはマルチメディア・コンテンツ・アイテムに適した任意の他の表示効果などと共に提供し得る。本実施形態に関わらず、マルチメディア・コンテンツ・アイテムのキャプチャと、キャプチャされたマルチメディア・コンテンツ・アイテムの１人または複数の共同ユーザへの送信との間にユーザ・インタラクションが必要とされないように、ユーザは、キャプチャされたマルチメディア・コンテンツ・アイテムに対して１つまたは複数の表示効果を追加するようにマルチメディア・マネージャ１０６を予め構成してもよい。
【００８７】
図３Ｄは、マルチメディア・コンテンツ・アイテム３２０を送信したユーザのデバイス３００上の通信スレッド３０６に対して追加されたマルチメディア・コンテンツ・アイテム３２０を例示する。受信者のコンピューティング・デバイス２０４が、マルチメディア・コンテンツ・アイテム３２０を受信する場合、受信者のコンピューティング・デバイス２０４上の電子メッセージング・システム１００のインスタンスは、マルチメディア・コンテンツ・アイテム３２０を通信スレッド３０６に対して追加することができることが、認識されるであろう。具体的には、受信者のコンピューティング・デバイス２０４上の電子メッセージング・システム１００は、図３Ｄに示される手法と同様の手法で、ただし、通信スレッド３０６の左側においてでも、マルチメディア・コンテンツ・アイテム３２０を通信スレッド３０６に対して追加することができる。マルチメディア・コンテンツ・アイテム３２０を通信スレッド３０６の左側に置くことは、マルチメディア・コンテンツ・アイテム３２０が受信メッセージであることを示し得る。
【００８８】
検出されたユーザ・インタラクションに応答して、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６を別のコントロールに置換し得る。例えば、図３Ｅに例示されるように、ユーザ入力検出部１０４は、メッセージ入力制御パレットまたはツールバー３１０内のテキスト入力コントロール３１２ａに対する、ユーザの手の指３１４のユーザ・インタラクションを検出し得る。１つまたは複数の実施形態において、（入力制御インジケータ３１８によって示されるような）テキスト入力コントロール３１２ａの検出された選択に応答して、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６をタッチ・スクリーン・ディスプレイ・キーボード３２２に置換し得る。１つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、入力コントロール３１２ａ〜３１２ｂのうちのいずれかの検出された選択に応答して、カメラ・ファインダー３１６を他のタイプのコントロールに置換し得る。
【００８９】
図３Ａ〜図３Ｅは、マルチメディア・コンテンツ・アイテムをキャプチャし、送信するための工程を例示しており、図３Ａ〜図３Ｅにおいて、マルチメディア・コンテンツ・アイテムはデジタル写真である。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、デジタル・ビデオであるマルチメディア・コンテンツ・アイテムもキャプチャし、送信し得る。例えば、図４Ａ〜図４Ｇに例示されるように、マルチメディア・マネージャ１０６は、デジタル・ビデオをキャプチャし、このデジタル・ビデオを通信マネージャ１０８とユーザ・インターフェース・マネージャ１０２との双方へ提供し得る。
【００９０】
上記のように、カメラ・ファインダー入力コントロール３１２ｂの検出された選択に応答して、ユーザ・インターフェース・マネージャ１０２は、マルチメディア・マネージャ１０６によって提供されるカメラ・ファインダー３１６を含むように、メッセージング・グラフィカル・ユーザ・インターフェース３０４を更新し得る。１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、メッセージング・グラフィカル・ユーザ・インターフェース３０４がこのユーザ・インターフェース３０４の１つの部分において通信スレッド３０６をなお含むように、メッセージング・グラフィカル・ユーザ・インターフェース３０４をカメラ・ファインダー３１６を含むように更新し得る。上記のように、好適な実施形態において、マルチメディア・マネージャ１０６は、コンピューティング・デバイス３００のカメラによって見られる／キャプチャされる最新の画像を含むように、カメラ・ファインダー３１６を連続的に更新することができる。
【００９１】
検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ１０６は、カメラ・ファインダー３１６を介してマルチメディア・コンテンツ・アイテムをキャプチャし得る。ここで、キャプチャされたマルチメディア・コンテンツ・アイテムは、デジタル・ビデオである。例えば、ユーザ入力検出部１０４は、プレス・アンド・ホールド・タッチ・ジェスチャなどの、カメラ・ファインダー３１６とインタラクションするユーザの指３１４のユーザ・インタラクションを検出し得る。１つまたは複数の代替的な実施形態において、検出されたユーザ・インタラクションは、音声によるコマンド、一定の期間コンピューティング・デバイス３００を動かさずに保持すること、または、この目的に適した任意の他のタイプのユーザ・インタラクションであってもよい。
【００９２】
検出されたプレス・アンド・ホールド・ユーザ・インタラクションに応答して、マルチメディア・マネージャ１０６は、カメラ・ファインダー３１６を介してデジタル・ビデオを記録し得る。１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、記録されたデジタル・ビデオをコンピューティング・デバイス３００上に記憶してもよい。マルチメディア・マネージャ１０６は、検出されたプレス・アンド・ホールド・ユーザ・インタラクションの持続期間中に、カメラ・ファインダー３１６を介してデジタル・ビデオをキャプチャし、記録し続けることができる。
【００９３】
１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、マルチメディア・コンテンツ・アイテム・デジタル・ビデオのキャプチャに関する１つまたは複数の命令を表示し得る。例えば、図４Ｂに示されるように、ユーザ・インターフェース・マネージャ１０２は、「ビデオをキャンセルするには上へスワイプ」と書かれた指示３２４を表示することができる。従って、指示３２４は、ユーザに、どのようにデジタル・ビデオのキャプチャをキャンセルするかを通知する。１つまたは複数の代替的な実施形態において、指示３２４は、他のタイプの情報をユーザに対して与えることができる。例えば、１つの代替的な実施形態において、マルチメディア・マネージャ１０６は、使用可能なデジタル・ビデオをキャプチャするのに十分なほどコンピューティング・デバイス３００が静止していないと判断し得る。従って、この代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、「じっとしていてください」と読めるような指示３２４を生じさせ得る。
【００９４】
また、ユーザ・インターフェース・マネージャ１０２は、デジタル・ビデオのキャプチャ中の任意の時点において、キャプチャされたデジタル・ビデオがどのくらいの長さであるかに関するインジケータを表示し得る。例えば、図４Ｂに例示されるように、ユーザ・インターフェース・マネージャ１０２は、記録時間インジケータ３２６を表示することができる。１つまたは複数の実施形態において、記録時間インジケータ３２８は、マルチメディア・マネージャ１０６によってこれまで記録されたデジタル・ビデオの長さを示すために、メッセージング・グラフィカル・ユーザ・インターフェース３０４の一方の側から伸びるバーであり得る。従って、１つまたは複数の実施形態において、記録時間インジケータ３２６は、記録の長さをリアルタイムで示す。
【００９５】
１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、一定の長さ（例えば、６０秒以下）の記録を可能にするように構成され得る。そのような実施形態において、記録時間インジケータ３２６は、マルチメディア・マネージャ１０６が記録を停止する前に、あとどれだけ長く記録し得るかの指標も提供することができる（すなわち、バーがメッセージング・グラフィカル・ユーザ・インターフェース３０４の他方の側に到達する場合、マルチメディア・マネージャ１０６は記録を停止しなければならない）。１つまたは複数の実施形態において、記録が制限時間に到達しつつある場合、ユーザ・インターフェース・マネージャ１０２は、指示３２４を「残り５秒です！」などの警告に更新し得る。
【００９６】
ユーザは、通信マネージャ１０８がデジタル・ビデオを１人または複数の共同ユーザへ送信する前に、デジタル・ビデオのキャプチャおよび記録をキャンセルすることを望むことがある。例えば、図４Ｂに例示されるように、マルチメディア・マネージャ１０６は、矢印３２８の方向に沿った検出されたユーザ・インタラクションに応答して、デジタル・ビデオのキャプチャおよび記録をキャンセルし得る。例えば、上記のように、マルチメディア・マネージャ１０６は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、カメラ・ファインダー３１６を介してデジタル・ビデオをキャプチャし、記録し得る。１つまたは複数の実施形態において、ユーザ入力検出部１０４は、プレス・アンド・ホールド・タッチ・ジェスチャ中に、ユーザの手の指３１４の上方へのスワイプ・ジェスチャを検出し得、それにより、このスワイプ・ジェスチャの終了が検出されると、ユーザの指３１４は、もはやカメラ・ファインダー３１６とインタラクションしない。この検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ１０６は、デジタル・ビデオのキャプチャおよび記録をキャンセルし得る。そのため、電子メッセージング・システム１００は、そのような実施形態においては、キャプチャされたいかなるビデオも自動的に送信せず、または、キャプチャされたいかなるビデオも通信スレッド３０６に対して追加しない。
【００９７】
また、上記の検出されたユーザ・インタラクションに応答して、マルチメディア・マネージャ１０６は、既に記録されるか、または記憶されたデジタル・ビデオまたは既に記録され、かつ記憶されたデジタル・ビデオの任意の部分を破棄してもよい。従って、１つまたは複数の実施形態において、デジタル・ビデオの記録中の検出されたスワイプ・タッチ・ジェスチャに応答して、マルチメディア・マネージャ１０６は、デジタル・ビデオを削除し得る。１つまたは複数の代替的な実施形態において、マルチメディア・マネージャ１０６は、検出されたスワイプ・ジェスチャの前に記録されたデジタル・ビデオの一部分を、デジタル・ビデオのその部分を通信マネージャ１０８またはユーザ・インターフェース・マネージャ１０２、またはその両方へ提供することなく、保存し、または記憶し得る。
【００９８】
上記のように、いったんマルチメディア・マネージャ１０６がデジタル・ビデオのキャプチャおよび記録をキャンセルすると、ユーザ・インターフェース・マネージャ１０２は、メッセージング・グラフィカル・ユーザ・インターフェース３０４を更新し得る。例えば、図４Ｃに例示されるように、ユーザ・インターフェース・マネージャ１０２は、指示３２４よりもむしろ、メッセージ入力制御パレットまたはツールバー３１０を再び含むように、メッセージング・グラフィカル・ユーザ・インターフェース３０４を更新することができる。また、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、マルチメディア・マネージャ１０６によって提供される通信スレッド３０４およびカメラ・ファインダー３１６を表示し続けてもよい。上記のように、また、図４Ｃに示されるように、入力制御インジケータ３１８は、カメラ・ファインダー入力コントロール３１２ｂがアクティブであることを示し続ける。
【００９９】
マルチメディア・マネージャ１０６は、検出されたユーザ・インタラクションに応答して、カメラ・ファインダー３１６を介してデジタル・ビデオをキャプチャし、記録し得る。例えば、図４Ｄに例示されるように、ユーザ入力検出部１０４は、カメラ・ファインダー３１６を用いて、ユーザの手の指３１４のプレス・アンド・ホールド・タッチ・ジェスチャを検出し得る。検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、マルチメディア・マネージャ１０６は、カメラ・ファインダー３１６を介して、デジタル・ビデオから成るマルチメディア・コンテンツ・アイテムをキャプチャし、記録することができる。また、上記のように、記録時間インジケータ３２６は、記録の長さを示すことができる。
【０１００】
１つまたは複数の実施形態において、通信マネージャ１０８は、プレス・アンド・ホールド・タッチ・ジェスチャの終了が検出されると、キャプチャされたマルチメディア・コンテンツ・アイテム（すなわち、記録されたデジタル・ビデオ）を１人または複数の共同ユーザへ送信し得る。例えば、上記のように、記録されたデジタル・ビデオの持続期間は、カメラ・ファインダー３１６を用いて検出された指３１４のプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じであり得る。特定の実施形態において、プレス・アンド・ホールド・タッチ・ジェスチャの終了が検出されると、マルチメディア・マネージャ１０６は、キャプチャされ、記録されたデジタル・ビデオを通信マネージャ１０８へ提供することができる。１つまたは複数の代替的な実施形態において、マルチメディア・マネージャ１０６は、別のタイプのユーザ・インタラクション、例えば、音声によるコマンド、通信デバイス３００を振ること、または、この目的に適した任意の他のタイプのユーザ・インタラクションなどに応答して、デジタル・ビデオを通信マネージャ１０８へ提供し得る。次いで、通信マネージャ１０８は、記録されたビデオをメッセージとして送信することができる。
【０１０１】
また、１つまたは複数の実施形態において、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、マルチメディア・マネージャ１０６は、マルチメディア・コンテンツ・アイテム（すなわち、記録されたデジタル・ビデオ）をユーザ・インターフェース・マネージャ１０２へ提供し得る。追加的に、または代替的に、マルチメディア・コンテンツ・アイテム３３０をユーザ・インターフェース・マネージャ１０２へ提供する前に、マルチメディア・マネージャ１０６は、まず、マルチメディア・コンテンツをパッケージし得る。
【０１０２】
１つまたは複数の実施形態において、通信スレッド３０６に対して追加される場合、マルチメディア・コンテンツ・アイテム３３０は、再生コントロール３２９を含むことができる。再生コントロール３２９は、検出されたユーザ・インタラクションに応答して、メッセージング・グラフィカル・ユーザ・インターフェース３０４の通信スレッド３０６内でデジタル・ビデオを再生するインタラクティブコントロールを備えることができる。例えば、図４Ｅに例示されるように、ユーザ入力検出部１０４は、再生コントロール３２９を用いて、ユーザの手の指３１４のタップ・タッチ・ジェスチャを検出し得る。１つまたは複数の実施形態において、再生コントロール３２９に対する検出されたタップ・タッチ・ジェスチャに応答して、ユーザ・インターフェース・マネージャ１０２は、記録されたデジタル・ビデオ３３０を通信スレッド３０６内で再生させることができる。１つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、他のタイプのユーザ・インタラクション、例えば、音声によるコマンド、ダブル・タップ、または、この目的に適した任意の他のタイプのユーザ入力などに応答して、デジタル・ビデオを再生し得る。さらなる実施形態において、ユーザ・インターフェース・マネージャ１０２は、通信スレッド３０６においてデジタル・ビデオを自動的に再生することができる。そのような実施形態においては、デジタル・ビデオ３３０は、再生コントロール３２９を含まなくてもよい。
【０１０３】
図４Ｆに例示されるように、また、上記のように、１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、記録されたデジタル・ビデオ３３０が再生される間に、その他の表示要素を表示し続ける。例えば、図４Ｆに示されるように、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６だけでなく、メッセージ入力制御パレットまたはツールバー３１０も表示し続けることができる。
【０１０４】
１つまたは複数の実施形態において、ユーザ・インターフェース・マネージャ１０２は、デジタル・ビデオのどれだけが再生済みで、デジタル・ビデオのどれだけが未再生で残っているのかを示すために、記録されたデジタル・ビデオ３３０に対して関連付けられた再生インジケータを提供し得る。例えば、図４Ｆに例示されるように、ユーザ・インターフェース・マネージャ１０２は、再生インジケータ３３２を表示することができる。図示のように、ユーザ・インターフェース・マネージャ１０２は、デジタル・ビデオ３３０の約３分の１を再生済みである。
【０１０５】
デジタル写真に関して上記で説明されたように、マルチメディア・マネージャ１０６は、キャプチャされたデジタル・ビデオに効果を追加するためのオプションも提供し得る。例えば、１つまたは複数の実施形態において、マルチメディア・マネージャ１０６は、キャプチャされたデジタル・ビデオに対して追加され得る、例えば、色彩効果（すなわち、デジタル・ビデオの色を変更すること）、オーバーレイ効果（すなわち、デジタル・ビデオに境界を追加する）、音声効果（すなわち、デジタル・ビデオにバックグラウンド・トラックを追加する）、または任意の他の適切な効果などの、ただし、これらに限定されない多様な効果を提供し得る。上記のように、マルチメディア・マネージャ１０６は、デジタル・ビデオのキャプチャと、１人または複数の共同ユーザへのデジタル・ビデオの送信との間にユーザ・インタラクションが必要とされないように、１つまたは複数の効果を用いて予め構成され得る。
【０１０６】
検出されたユーザ・インタラクションに応答して、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６を別のコントロールに置換し得る。例えば、図４Ｇに例示されるように、ユーザ入力検出部１０４は、メッセージ入力制御パレットまたはツールバー３１０内のテキスト入力コントロール３１２ａとインタラクションする、ユーザの手の指３１４のユーザ・インタラクションを検出し得る。１つまたは複数の実施形態において、（入力制御インジケータ３１８によって示されるように）テキスト入力コントロール３１２ａの検出された選択に応答して、ユーザ・インターフェース・マネージャ１０２は、カメラ・ファインダー３１６をタッチ・スクリーン・ディスプレイ・キーボード３２２に置換し得る。１つまたは複数の代替的な実施形態において、ユーザ・インターフェース・マネージャ１０２は、入力コントロール３１２ａ〜３１２ｂのうちのいずれかの検出された選択に応答して、カメラ・ファインダー３１６を他のタイプのコントロールに置換し得る。
【０１０７】
図１〜図４Ｇ、その対応するテキスト、および例は、マルチメディア・コンテンツ・アイテムをキャプチャし、通信セッションに含めるための多くの異なるシステムおよびデバイスを提供する。前述のものに加えて、本発明の実施形態は、特定の結果を達成するための方法における動作および工程を含むフローチャートの観点からも説明され得る。例えば、図５および図６は、本発明の１つまたは複数の実施形態に係る例示的な方法のフローチャートを例示する。図５および図６に関連して説明された方法は、より少ない工程／動作もしくはより多くの工程／動作を用いて実行されてもよく、または、工程／動作は、異なる順序で実行されてもよい。また、本明細書において説明される工程／動作は、互いに並行して、または、同じ工程／動作もしくは同様の工程／動作の異なるインスタンスを用いて並行して、繰り返され、または実行されてもよい。
【０１０８】
図５は、マルチメディアをキャプチャし、電子メッセージとして送信する、１つの例示的な方法５００のフローチャートを例示する。方法５００は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作５０２を含む。具体的には、動作５０２は、通信スレッド３０６を含むメッセージング・グラフィカル・ユーザ・インターフェース３０４を提供することを含むことができる。１つまたは複数の実施形態において、通信スレッド３０６は、ユーザと１人または複数の共同ユーザとの間で交換される複数の電子メッセージ３０８ａ、３０８ｂを含み得る。
【０１０９】
方法５００は、カメラ・ファインダー入力コントロールの選択を検出する動作５０４をさらに含む。具体的には、動作５０４は、カメラ・ファインダー入力コントロール３１２ｂとインタラクションするタップ・タッチ・ジェスチャを検出することを含むことができる。１つまたは複数の実施形態において、カメラ・ファインダー入力コントロール３１２ｂの選択を検出することは、１つまたは複数の追加的な入力コントロールのパレット３１０からのカメラ・ファインダー入力コントロール３１２ｂの選択を検出することを含み得る。
【０１１０】
さらに、方法５００は、カメラ・ファインダーを提供する動作５０６を含む。具体的には、動作５０４は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の一部分内にカメラ・ファインダー３１６を提供することを含むことができる。１つまたは複数の実施形態において、メッセージング・グラフィカル・ユーザ・インターフェース３０４は、第１の部分に通信スレッド３０６を含み、第２の部分にカメラ・ファインダー３１６を含み得る。
【０１１１】
方法５００は、カメラ・ファインダーとのインタラクションを検出する動作５０８も含む。具体的には、動作５０８は、カメラ・ファインダー３１６に対する第１のユーザ・インタラクションを検出することを含むことができる。例えば、１つまたは複数の実施形態において、カメラ・ファインダー３１６に対する第１のユーザ・インタラクションを検出することは、カメラ・ファインダー３１６に対するタップ・タッチ・ジェスチャを検出することを含むことができる。方法５００は、カメラ・ファインダー３１６に対する第２のユーザ・インタラクションを検出することをさらに含み得る。例えば、１つまたは複数の実施形態において、カメラ・ファインダー３１６に対する第２のユーザ・インタラクションを検出することは、カメラ・ファインダー３１６に対するプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含むことができる。
【０１１２】
また、方法５００は、マルチメディア・コンテンツ・アイテムをキャプチャする動作５１０を含む。具体的には、動作５１０は、検出された第１のユーザ・インタラクションに応答して、マルチメディア・コンテンツ・アイテム３２０をキャプチャし、キャプチャされたマルチメディア・コンテンツ・アイテム３２０を電子メッセージ３０８ａ、３０８ｂとして送信することを含むことができる。例えば、１つまたは複数の実施形態において、マルチメディア・コンテンツ・アイテム３２０をキャプチャすることは、検出されたタップ・タッチ・ジェスチャに応答して、デジタル写真をキャプチャすることを含む。さらに、１つまたは複数の実施形態において、マルチメディア・コンテンツ・アイテム３２０をキャプチャすることは、検出されたプレス・アンド・ホールド・タッチ・ジェスチャに応答して、デジタル・ビデオをキャプチャすることを含む。１つまたは複数の実施形態において、キャプチャされたデジタル・ビデオの持続期間は、検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間と同じであり得る。
【０１１３】
方法５００は、キャプチャされたマルチメディア・コンテンツ・アイテム３２０を通信スレッド３０６に対して追加することをさらに含み得る。例えば、１つまたは複数の実施形態において、方法５００は、キャプチャされたデジタル写真を通信スレッド３０６に対して追加することを含み得る。また、１つまたは複数の実施形態において、方法５００は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、通信スレッド３０６に対してキャプチャされたデジタル・ビデオに対する再生コントロール３３０を追加することを含み得る。
【０１１４】
図６は、マルチメディアをキャプチャし、電子メッセージとして送信する方法６００のフローチャートを例示する。方法６００は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作６０２を含む。具体的には、動作５０２は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分に通信スレッド３０６を有するメッセージング・グラフィカル・ユーザ・インターフェース３０４を提供することを含むことができる。１つまたは複数の実施形態において、通信スレッド３０６は、ユーザと１人または複数の共同ユーザとの間で交換された複数の電子メッセージ３０８ａ、３０８ｂを含み得る。
【０１１５】
方法６００は、カメラ・ファインダー入力コントロールの選択を検出する動作６０４をさらに含む。具体的には、動作６０４は、カメラ・ファインダー入力コントロール３１２ｂとインタラクションするタップ・タッチ・ジェスチャを検出することを含むことができる。１つまたは複数の実施形態において、カメラ・ファインダー入力コントロール３１２ｂの選択を検出することは、入力コントロールのパレット３１０からのカメラ・ファインダーコントロール３１２ｂの選択を検出することを含み得る。
【０１１６】
方法６００は、カメラ・ファインダーを提供する動作６０６も含む。具体的には、動作６０６は、カメラ・ファインダー入力コントロール３１２ｂの選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分内にカメラ・ファインダー３１６を提供することを含むことができる。１つまたは複数の実施形態において、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分と、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分とは、同時に表示される。
【０１１７】
方法６００は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分内のタップ・タッチ・ジェスチャを検出することをさらに含み得る。例えば、１つまたは複数の実施形態において、タップ・タッチ・ジェスチャは、カメラ・ファインダー３１６とインタラクションし得る。方法６００は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分内の検出されたタップ・タッチ・ジェスチャに応答して、カメラ・ファインダー３１６を介してデジタル写真をキャプチャすることも含み得る。方法６００は、キャプチャされたデジタル写真を送信し、キャプチャされたデジタル写真をメッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分における通信スレッド３０６に対して追加することをさらに含み得る。
【０１１８】
また、方法６００は、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分内のプレス・アンド・ホールド・タッチ・ジェスチャを検出することを含み得る。メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分内の検出されたプレス・アンド・ホールド・タッチ・ジェスチャの持続期間中に、方法６００は、カメラ・ファインダー３１６を介してデジタル・ビデオをキャプチャすることを含み得る。また、方法６００は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを送信することを含み得る。また、方法６００は、プレス・アンド・ホールド・タッチ・ジェスチャの検出された終了に応答して、キャプチャされたデジタル・ビデオを再生することが可能な再生コントロール３３０を、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分における通信フレッド３０６に追加することを含み得る。
【０１１９】
さらに、方法６００は、再生コントロール３３０に対するタップ・タッチ・ジェスチャを検出することを含み得る。例えば、１つまたは複数の実施形態において、再生コントロール３３０に対するタップ・タッチ・ジェスチャを検出することは、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分における通信スレッド３０６における再生コントロール３３０に対するタップ・タッチ・ジェスチャを検出することを含み得る。方法６００は、再生コントロール３３０に対する検出されたタップ・タッチ・ジェスチャに応答して、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第１の部分における通信スレッド３０６において、キャプチャされたデジタル・ビデオを再生することを含み得る。
【０１２０】
方法６００は、メッセージ入力コントロールのパレット３１０からのメッセージ入力コントロール３１２ａ〜ｅの選択を検出することを含み得る。例えば、メッセージ入力コントロール３１２ａ〜ｅの選択を検出することは、メッセージ入力コントロール３１２ａとインタラクションするタップ・タッチ・ジェスチャを検出することを含み得る。方法６００は、検出された選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース３０４の第２の部分からカメラ・ファインダー３１６を除去することをさらに含み得る。
【０１２１】
本開示の実施形態では、以下に詳述する通り、たとえば１つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の範囲内の実施形態には、コンピュータ実行可能な命令および／またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。特に、本明細書に記載のプロセスのうちの１つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、１つまたは複数のコンピューティング・デバイス（たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか）により実行可能な命令として、その少なくとも一部が実装されていてもよい。特に、プロセッサ（たとえば、マイクロプロセッサ）が非一時的コンピュータ可読媒体（たとえば、メモリ等）から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの１つまたは複数等、１つまたは複数のプロセスを実行する。
【０１２２】
コンピュータ可読媒体としては、汎用または専用コンピュータ・システムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体（デバイス）である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体（デバイス）および伝送媒体という少なくとも２つの明確に異なる種類のコンピュータ可読媒体を含み得る。
【０１２３】
非一時的コンピュータ可読記憶媒体（デバイス）としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、固体ドライブ（「ＳＳＤ」）（たとえば、ＲＡＭベース）、フラッシュメモリ、相変化メモリ（「ＰＣＭ」）、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
【０１２４】
「ネットワーク」は、コンピュータ・システムおよび／またはモジュールおよび／または他の電子機器間で電子データを伝送可能な１つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続（有線、無線、または有線もしくは無線の組み合わせ）上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび／またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
【０１２５】
さらに、コンピュータ・システムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体（デバイス）へと自動的に転送可能である（その逆も可能である）。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール（たとえば、「ＮＩＣ」）内のＲＡＭにバッファリングした後、最終的には、コンピュータ・システムＲＡＭおよび／またはコンピュータ・システムにおける低揮発性コンピュータ記憶媒体（デバイス）に転送可能である。したがって、非一時的コンピュータ可読記憶媒体（デバイス）は、伝送媒体も（または、主として）利用するコンピュータ・システムの構成要素に含み得ることが了解されるものとする。
【０１２６】
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および／または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
【０１２７】
当業者であれば、本開示が、パーソナルコンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークＰＣ、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、ＰＤＡ，タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータ・システム構成のネットワークコンピュータ環境において実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて（有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより）リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータ・システムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
【０１２８】
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本明細書において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速にセットアップ可能であるとともに、わずかな管理労力またはサービスプロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
【０１２９】
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア（ＳａａＳ）、サービス型プラットフォーム（ＰａａＳ）、およびサービス型インフラ（ＩａａＳ）等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
【０１３０】
図７は、上記の方法の１つまたは複数を実施するように構成され得る例示的なコンピューティング・デバイス７００のブロック図を示す。コンピューティング・デバイス７００など１つまたは複数のコンピューティング・デバイスは、電子メッセージング・システム１００を実装し得ることは理解されよう。図７によって示されているように、コンピューティング・デバイス７００は、プロセッサ７０２、メモリ７０４、記憶デバイス８０６、Ｉ／Ｏインターフェース７０８、および通信インターフェース７１０を含むことができ、これらは、通信インフラストラクチャ７１２により通信可能に結合され得る。例示的なコンピューティング・デバイス７００が図７に示されているが、図７に示されている構成要素は、限定するものではない。追加または代替の構成要素が他の実施形態で使用されてもよい。さらに、いくつかの実施形態では、コンピューティング・デバイス７００は、図７に示されているものより少ない構成要素を含むことができる。次に、図７に示されているコンピューティング・デバイス７００の構成要素について、追加的な詳細で述べる。
【０１３１】
１つまたは複数の実施形態において、プロセッサ７０２は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ７０２は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ７０４、またはストレージデバイス７０６から命令を取り出す（または、フェッチする）とともに、上記命令を復号化して実行するようにしてもよい。１つまたは複数の実施形態において、プロセッサ７０２は、データ、命令、またはアドレス用の１つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ７０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータキャッシュ、および１つまたは複数のトランスレーション・ルックアサイド・バッファ（ＴＬＢ）を備えてもよい。命令キャッシュ中の命令は、メモリ７０４またはストレージデバイス７０６中の命令のコピーであってもよい。
【０１３２】
メモリ７０４は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ７０４は、ランダムアクセスメモリ（「ＲＡＭ」）、リードオンリーメモリ（「ＲＯＭ」）、固体ディスク（「ＳＳＤ」）、フラッシュ、相変化メモリ（「ＰＣＭ」）、または他の種類のデータ・ストレージ等、揮発性および不揮発性メモリのうちの１つまたは複数を備えていてもよい。また、メモリ７０４は、内部メモリであってもよいし、分散メモリであってもよい。
【０１３３】
ストレージデバイス７０６は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス７０６は、上述の非一時的記憶媒体を備えることができる。ストレージデバイス７０６としては、ハードディスクドライブ（ＨＤＤ）、フロッピー（登録商標）ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス（ＵＳＢ）ドライブ、またはこれらのうちの２つ以上の組み合わせが挙げられる。ストレージデバイス７０６は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外しできない（すなわち、固定）媒体を備えていてもよい。また、ストレージデバイス７０６は、コンピューティング・デバイス７００の内部であってもよいし、外部であってもよい。１つまたは複数の実施形態において、ストレージデバイス７０６は、不揮発性の固体メモリである。別の実施形態において、ストレージデバイス７０６は、リードオンリーメモリ（ＲＯＭ）を含む。必要に応じて、このＲＯＭは、マスクプログラムＲＯＭ、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書き換え可能ＲＯＭ（ＥＡＲＯＭ）、フラッシュメモリ、またはこれらのうちの２つ以上の組み合わせであってもよい。
【０１３４】
Ｉ／Ｏインターフェース７０８は、コンピューティング・デバイス７００に対するユーザの入力付与、コンピューティング・デバイス７００からの出力受容、あるいはコンピューティング・デバイス７００へのデータ転送およびコンピューティング・デバイスからのデータ受信を可能にする。Ｉ／Ｏインターフェース７０８としては、マウス、キーパッドもしくはキーボード、タッチ・スクリーン、カメラ、光学スキャナ、ネットワークインターフェース、モデル、その他既知のＩ／Ｏデバイス、またはこのようなＩ／Ｏインターフェースの組み合わせが挙げられる。Ｉ／Ｏインターフェース７０８は、出力をユーザに提示する１つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ（たとえば、表示画面）、１つまたは複数の出力ドライバ（たとえば、ディスプレイドライバ）、１つまたは複数の音声スピーカ、および１つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、Ｉ／Ｏインターフェース７０８は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る１つもしくは複数のグラフィカル・ユーザ・インターフェースおよび／またはその他任意のグラフィックコンテンツを代表するものであってもよい。
【０１３５】
通信インターフェース７１０は、ハードウェア、ソフトウェア、または両者を含み得る。いずれにしても、通信インターフェース７１０は、コンピューティング・デバイス７００と１つもしくは複数の他のコンピューティング・デバイスまたはネットワークとの間の通信（たとえば、パケットベースの通信等）のための１つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース７１０としては、イーサネット（登録商標）等の有線ネットワークと連通するネットワークインターフェースコントローラ（ＮＩＣ）もしくはネットワークアダプタまたはＷｉ−Ｆｉ等の無線ネットワークと連通する無線ＮＩＣ（ＷＮＩＣ）もしくは無線アダプタが挙げられる。
【０１３６】
付加的に、または代替的に、通信インターフェース７１０は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、インターネットの１つもしくは複数の部分、またはこれらのうちの２つ以上の組み合わせとの通信を円滑にするようになっていてもよい。これらネットワークのうちの１つまたは複数の１つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース７１０は、無線ＰＡＮ（ＷＰＡＮ）（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＷＰＡＮ等）、Ｗｉ−Ｆｉネットワーク、Ｗｉ−ＭＡＸネットワーク、携帯電話ネットワーク（たとえば、汎欧州デジタル移動電話通信（（登録商標））ネットワーク等）、他の適当な無線ネットワーク、またはこれらの組み合わせとの通信を円滑にするようになっていてもよい。
【０１３７】
さらに、通信インターフェース７１０は、様々な通信プロトコルでの通信を円滑にし得る。使用され得る通信プロトコルの例は、それだけには限らないが、データ伝送媒体、通信デバイス、伝送制御プロトコル（ＴＣＰ）、インターネット・プロトコル（ＩＰ）、ファイル転送プロトコル（ＦＴＰ）、テルネット、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ハイパーテキスト転送プロトコル・セキュア（ＨＴＴＰＳ）、セッション開始プロトコル（ＳＩＰ）、シンプル・オブジェクト・アクセス・プロトコル（ＳＯＡＰ）、拡張マークアップ言語（ＸＭＬ）およびその変形形態、簡易メール転送プロトコル（ＳＭＴＰ）、リアルタイム・トランスポート・プロトコル（ＲＴＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、グローバル移動体通信システム（ＧＳＭ）技術、符号分割多元接続（ＣＤＭＡ）技術、時分割多元接続（ＴＤＭＡ）技術、ショート・メッセージ・サービス（ＳＭＳ）、マルチメディア・メッセージ・サービス（ＭＭＳ）、無線周波数（ＲＦ）シグナリング技術、ロング・ターム・エボリューション（ＬＴＥ）技術、ワイヤレス通信技術、帯域内および帯域外シグナリング技術、ならびに他の好適な通信ネットワークおよび技術を含む。
【０１３８】
通信インフラストラクチャ７１２は、コンピューティング・デバイス７００の部品を互いに接続するハードウェア、ソフトウェア、またはその両方を含み得る。非限定的な一例として、通信インフラストラクチャ７１２は、アクセラレイテッドグラフィックスポート（ＡＧＰ）等のグラフィックスバス、拡張業界標準アーキテクチャ（ＥＩＳＡ）バス、フロントサイドバス（ＦＳＢ）、ハイパートランスポート（ＨＴ）相互接続、業界標準アーキテクチャ（ＩＳＡ）バス、インフィニバンド相互接続、ロウピンカウント（ＬＰＣ）バス、メモリバス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、周辺機器相互接続（ＰＣＩ）バス、ＰＣＩエクスプレス（ＰＣＩｅ）バス、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）バス、ビデオエレクトロニクス標準協会ローカル（ＶＬＢ）バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
【０１３９】
上述の通り、ネットワークアプリケーション２０６および通信サーバ２０８のうちの少なくとも一方は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによれば、そのユーザ（人または組織等）は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を円滑に行わせるサービス（たとえば、ウォール投稿、写真共有、イベント統合、メッセージング、ゲーム、または広告）を提供するようにしてもよい。
【０１４０】
ソーシャル・ネットワーキング・システムは、複数のノードおよび上記ノードをつなげる複数のエッジを含むソーシャルグラフにおいて、ユーザおよびユーザ間の関係のレコードを記憶するようにしてもよい。ノードは、複数のユーザノードおよび複数のコンセプトノードを含んでいてもよい。ソーシャルグラフのユーザノードは、ソーシャル・ネットワーキング・システムのユーザに対応していてもよい。ユーザは、個人（人間のユーザ）であってもよいし、団体（たとえば、企業、事業所、またはサードパーティアプリケーション）であってもよいし、グループ（たとえば、個人または団体のグループ）であってもよい。ユーザに対応するユーザノードには、ユーザが提供した情報およびソーシャル・ネットワーキング・システム等のさまざまなシステムが収集した情報を含んでいてもよい。
【０１４１】
たとえば、ユーザは、自身の氏名、プロフィール写真、居住市、連作先情報、誕生日、性別、結婚歴、家族状況、職業、学歴、好み、関心、およびユーザノードに含める他の人口統計学的情報を提供するようにしてもよい。ソーシャルグラフの各ユーザノードは、対応するウェブページ（通常、プロフィールページとして知られている）を有していてもよい。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記ユーザ名に対応したユーザノードにアクセスするとともに、氏名、プロフィール写真、およびユーザに関連付けられている他の情報を含むプロフィールページを構築することができる。第１のユーザのプロフィールページは、第１のユーザによる１つまたは複数のプライバシー設定および第１のユーザと第２のユーザとの間の関係に基づいて、第１のユーザの情報の全部または一部が第２のユーザに表示されるようになっていてもよい。
【０１４２】
コンセプトノードは、ソーシャル・ネットワーキング・システムのコンセプトに対応していてもよい。たとえば、コンセプトは、映画、歌曲、スポーツチーム、有名人、グループ、レストラン、または場所もしくは位置等、現実世界に存在する人や物を表すことができる。コンセプトに対応するコンセプトノードを管理するユーザは、（たとえば、オンラインフォームの記入によって）コンセプトの情報を提供し、上記情報とコンセプトノードとの関連付けをソーシャル・ネットワーキング・システムに行わせることによって、コンセプトノードの作成または更新を行うようにしてもよい。非限定的な一例として、コンセプトに関連付けられている情報としては、名称またはタイトル、１つまたは複数の画像（たとえば、書籍の表紙の画像）、ウェブサイト（たとえば、ＵＲＬアドレス）、または連絡先情報（たとえば、電話番号、電子メールアドレス）が挙げられる。ソーシャルグラフの各コンセプトノードは、ウェブページに対応していてもよい。たとえば、名称を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記名称に対応したコンセプトノードにアクセスするとともに、上記名称およびコンセプトに関連付けられている他の情報を含むウェブページを構築することができる。
【０１４３】
一対のノード間のエッジは、上記ノード対間の関係を表していてもよい。たとえば、２つのユーザノード間のエッジは、２人のユーザ間の友達関係を表すことができる。別の例として、ソーシャル・ネットワーキング・システムは、１つまたは複数の選択可能なボタン（たとえば、「いいね」、「登録」）を組み込んだコンセプトノード（たとえば、レストラン、有名人）のウェブページ（または、構造化文書）を構築するようにしてもよい。ユーザは、ユーザのクライアント・デバイスがホスティングするウェブブラウザを用いて上記ページにアクセスし、選択可能なボタンを選択することによって、ユーザのユーザノードとコンセプトのコンセプトノードとの間に、ユーザとコンセプトとの関係を示すエッジを作成する要求のソーシャル・ネットワーキング・システムへの送信をクライアント・デバイスに行わせることができる（たとえば、ユーザは、レストランを登録するか、または有名人を「いいね」する）。
【０１４４】
一例として、ユーザは、自身の居住市を提供（または変更）することによって、ユーザに対応するユーザノードとユーザが自身の居住市として宣言した市に対応するコンセプトノードとの間のエッジの作成をソーシャル・ネットワーキング・システムに行わせるようにしてもよい。また、任意の２つのノード間の分離度は、一方のノードから他方へとソーシャルグラフを横切るのに必要な最小ホップ数として規定される。２つのノード間の分離度は、ユーザ間またはソーシャルグラフにおいて上記２つのノードが表すコンセプト間の関連性の尺度と考えられる。たとえば、エッジによって直接つながった（すなわち、第１の程度のノードである）ユーザノードを有する２人のユーザは、「つながったユーザ」または「友達」として表すことができる。同様に、別のユーザノードを通じてのみつながった（すなわち、第２の程度のノードである）ユーザノードを有する２人のユーザは、「友達の友達」と表すことができる。
【０１４５】
ソーシャル・ネットワーキング・システムは、写真共有、オンラインカレンダおよびイベント、ゲーム、インスタント・メッセージング、ならびに広告等、多様なアプリケーションに対応していてもよい。たとえば、ソーシャル・ネットワーキング・システムは、メディア共有機能を備えていてもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、自身のプロフィールページへの写真および他のマルチメディア・コンテンツ・アイテムの投稿（通常、「ウォール投稿」または「タイムライン投稿」として知られている）またはフォトアルバムへの投稿が可能であってもよく、いずれもユーザのプライバシー設定に応じて、上記ソーシャル・ネットワーキング・システムの他のユーザがアクセス可能であってもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、イベントを設定可能であってもよい。たとえば、第１のユーザは、イベントに対して、上記イベントの日時、上記イベントの場所、および上記イベントに招待された他のユーザを含む属性を設定するようにしてもよい。招待されたユーザは、上記イベントへの招待を受信し、（招待の受諾または辞退等によって）応答するようにしてもよい。さらに、ソーシャル・ネットワーキング・システムによって、ユーザは、個人用カレンダを維持可能であってもよい。イベントと同様に、カレンダエントリには、時間、日付、場所、および他のユーザの同一性を含んでいてもよい。
【０１４６】
図８は、ソーシャル・ネットワーキング・システムの例示的なネットワーク環境を示している。特定の実施形態において、ソーシャル・ネットワーキング・システム８０２は、１つまたは複数のデータストアを備えていてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム８０２は、上述の通り、ユーザノード、コンセプトノード、およびノード間のエッジを含むソーシャルグラフを記憶していてもよい。各ユーザノードには、ユーザに関連付けられている情報またはユーザを記述した情報に対応する１つまたは複数のデータオブジェクトを含んでいてもよい。各コンセプトノードには、コンセプトに関連付けられている情報に対応する１つまたは複数のデータオブジェクトを含んでいてもよい。一対のノード間の各エッジには、上記ノード対に対応するユーザ間（または、ユーザとコンセプト間もしくはコンセプト間）の関係に関連付けられている情報に対応する１つまたは複数のデータオブジェクトを含んでいてもよい。
【０１４７】
１つまたは複数の実施形態において、ソーシャル・ネットワーキング・システム８０２は、上記ソーシャル・ネットワーキング・システムの動作を対象とした機能をホスティングする１つまたは複数のコンピューティングデバイス（たとえば、サーバ）を備えていてもよい。ソーシャル・ネットワーキング・システム８０２のユーザは、クライアント・デバイス８０６等のクライアント・デバイスを用いて、上記ソーシャル・ネットワーキング・システム８０２にアクセスするようにしてもよい。例えば、クライアント・デバイス８０６は、ネットワーク８０４を通じて、ソーシャル・ネットワーキング・システム８０２と対話してもよい。
【０１４８】
クライアント・デバイス８０６は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、個人用デジタル補助デバイス（ＰＤＡ）、車載もしくは車外ナビゲーションシステム、スマートフォン等の携帯電話、モバイルゲーム機、他のモバイル・デバイス、または他の適当なコンピューティング・デバイスであってもよい。クライアント・デバイス８０６は、ウェブブラウザ（たとえば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ａｐｐｌｅ  Ｓａｆａｒｉ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、Ｏｐｅｒａ等）またはネイティブもしくは専用クライアントアプリケーション（たとえば、ｉＰｈｏｎｅ（登録商標）またはｉＰａｄ（登録商標）用フェイスブック、Ａｎｄｒｏｉｄ（登録商標）用フェイスブック等）といった１つまたは複数のクライアントアプリケーションを実行することにより、ネットワーク８０４を通じてコンテンツにアクセスし、閲覧するようにしてもよい。
【０１４９】
ネットワーク８０４は、クライアント・デバイス８０６がソーシャル・ネットワーキング・システム８０２にアクセス可能なネットワークまたはネットワークのセット（インターネット、企業イントラネット、仮想プライベート・ネットワーク（ＶＰＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、無線ローカル・エリア・ネットワーク（ＷＬＡＮ）、セルラ・ネットワーク、ワイド・エリア・ネットワーク（ＷＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、または２つ以上のこのようなネットワークの組み合わせ等）を表していてもよい。
【０１５０】
これらの方法、システム、およびユーザ・インターフェースでは、公的に入手可能な情報およびソーシャル・ネットワーキング・システムのユーザが提供する情報の両者を利用するが、このような情報の使用はすべて、関ったユーザのすべてのプライバシー設定およびソーシャル・ネットワーキング・システム全体の個人情報保護方針の影響を明示的に受けるものとする。
【０１５１】
上記明細においては、特定の例示的な実施形態を参照して本発明を説明した。種々実施形態および本発明の態様についても、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
【０１５２】
本発明は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。
【図１】
0006266805.tif 000002
【図２】
0006266805.tif 000003
【図３Ａ】
0006266805.tif 000004
【図３Ｂ】
0006266805.tif 000005
【図３Ｃ】
0006266805.tif 000006
【図３Ｄ】
0006266805.tif 000007
【図３Ｅ】
0006266805.tif 000008
【図４Ａ】
0006266805.tif 000009
【図４Ｂ】
0006266805.tif 000010
【図４Ｃ】
0006266805.tif 000011
【図４Ｄ】
0006266805.tif 000012
【図４Ｅ】
0006266805.tif 000013
【図４Ｆ】
0006266805.tif 000014
【図４Ｇ】
0006266805.tif 000015
【図５】
0006266805.tif 000016
【図６】
0006266805.tif 000017
【図７】
0006266805.tif 000018
【図８】
0006266805.tif 000019