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