特許第6262362号(P6262362)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フェイスブック,インク.の特許一覧

特許6262362通信スレッド内にメッセージを書き込むこと
<>
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000002
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000003
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000004
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000005
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000006
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000007
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000008
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000009
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000010
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000011
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000012
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000013
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000014
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000015
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000016
  • 特許6262362-通信スレッド内にメッセージを書き込むこと 図000017
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6262362
(24)【登録日】2017年12月22日
(45)【発行日】2018年1月17日
(54)【発明の名称】通信スレッド内にメッセージを書き込むこと
(51)【国際特許分類】
   G06F 3/0481 20130101AFI20180104BHJP
   G06F 3/0488 20130101ALI20180104BHJP
   G06F 13/00 20060101ALI20180104BHJP
【FI】
   G06F3/0481
   G06F3/0488 160
   G06F13/00 650A
【請求項の数】20
【全頁数】38
(21)【出願番号】特願2016-554631(P2016-554631)
(86)(22)【出願日】2014年6月23日
(65)【公表番号】特表2017-521736(P2017-521736A)
(43)【公表日】2017年8月3日
(86)【国際出願番号】US2014043703
(87)【国際公開番号】WO2015167589
(87)【国際公開日】20151105
【審査請求日】2016年8月29日
(31)【優先権主張番号】14/311,758
(32)【優先日】2014年6月23日
(33)【優先権主張国】US
(31)【優先権主張番号】61/985,456
(32)【優先日】2014年4月28日
(33)【優先権主張国】US
(31)【優先権主張番号】EP14173537.3
(32)【優先日】2014年6月23日
(33)【優先権主張国】EP
【早期審査対象出願】
(73)【特許権者】
【識別番号】508178054
【氏名又は名称】フェイスブック,インク.
(74)【代理人】
【識別番号】100105957
【弁理士】
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【弁理士】
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】ラングホルツ、ベンジャミン エス.
【審査官】 星野 裕
(56)【参考文献】
【文献】 米国特許出願公開第2009/0177981(US,A1)
【文献】 特開2014−063342(JP,A)
【文献】 米国特許出願公開第2013/0239031(US,A1)
【文献】 特開2013−161167(JP,A)
【文献】 特開2013−214283(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つのプロセッサと、
命令が記憶された少なくとも1つの非一時的コンピュータ可読記憶媒体であって、該命令は、前記少なくとも1つのプロセッサによって実行されるとき、前記システムに
ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージを含む通信スレッドと、前記通信スレッド内に配置されたメッセージ入力要素とを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供させ、
記メッセージ入力要素の選択を検出させ、
記メッセージ入力要素の前記選択に応答して、タッチ・スクリーン・ディスプレイ・キーボードを提供させ、
前記タッチ・スクリーン・ディスプレイ・キーボードを介してメッセージに対するメッセージ入力を受け取らせ、
前記メッセージ入力に応答して、前記メッセージ入力を受け取っている間に、前記少なくとも1つのプロセッサにより、前記通信スレッド内の該メッセージ入力要素内にメッセージ入力を登録させる、前記少なくとも1つの非一時的コンピュータ可読記憶媒体と
を備えるシステム。
【請求項2】
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、前記メッセージ入力を受け取っている間に、増大したサイズのメッセージを収容するように前記メッセージ入力要素をサイズ変更させる命令をさらに含む、請求項1に記載のシステム。
【請求項3】
前記メッセージ入力要素が、テキスト吹き出しを含む、請求項1に記載のシステム。
【請求項4】
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、前記メッセージ入力要素内に登録された前記メッセージ入力の送信を反映するように、前記メッセージ入力要素の特性を変更させる命令をさらに含み、前記メッセージ入力要素の特性を変更することが、前記メッセージ入力要素の色、位置、サイズ、フォント、または向きのうちの1つまたは複数を変更することを含む、請求項1に記載のシステム。
【請求項5】
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、前記メッセージ入力要素内への前記メッセージ入力の登録を反映するように、前記メッセージ入力要素の前記特性を変更させる命令をさらに含む、請求項4に記載のシステム。
【請求項6】
前記メッセージ入力要素内への前記メッセージ入力の登録を反映するように、前記メッセージ入力要素の前記特性を変更することが、前記メッセージ入力要素を第1の色から第2の色に変更することを含み、
前記メッセージ入力要素内に登録された前記メッセージ入力の送信を反映するように、前記通信スレッド内の前記メッセージ入力要素の前記特性を変更することが、前記メッセージ入力要素を前記第2の色から第3の色に変更することを含む、請求項5に記載のシステム。
【請求項7】
前記メッセージ入力要素の前記特性を変更することが、前記メッセージ入力要素を前記通信スレッド内のメッセージに変換することを含む、請求項4に記載のシステム。
【請求項8】
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、メッセージ入力コントロール・エリアからメッセージ入力コントロールの選択に応答して前記タッチ・スクリーン・ディスプレイ・キーボードを除去させる命令をさらに含む、請求項1に記載のシステム。
【請求項9】
前記少なくとも1つのプロセッサによって実行されるとき、前記システムに、
前記メッセージ入力要素内に登録された前記メッセージ入力の送信の前に、メッセージ入力コントロール・エリアからメッセージ入力コントロールの選択を検出させ、
該メッセージ入力コントロールの該選択に応答して、前記メッセージ入力要素を前記通信スレッドから除去させる命令をさらに含む、請求項1に記載のシステム。
【請求項10】
記メッセージ入力コントロールは、写真入力コントロール、ファイル入力コントロール、記号入力コントロール、または記録入力コントロールのうちの1つまたは複数を含む、請求項9に記載のシステム。
【請求項11】
方法であって、
メッセージング・グラフィカル・ユーザ・インターフェースを提供する工程と、該メッセージング・グラフィカル・ユーザ・インターフェースは、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージを含む通信スレッドと、前記通信スレッド内に配置されたメッセージ入力要素とを含み、
記メッセージ入力要素の選択を検出する工程と、
前記メッセージ入力要素の該選択に応答して、タッチ・スクリーン・ディスプレイ・キーボードを提供する工程と、
前記タッチ・スクリーン・ディスプレイ・キーボードを介してユーザからのメッセージに対するメッセージ入力を受け取る工程と、
前記メッセージ入力に応答して、前記メッセージ入力を受け取っている間に、少なくとも1つのプロセッサが、該通信スレッド内の該メッセージ入力要素内に該メッセージ入力を登録する工程と
を含む方法。
【請求項12】
第1のメッセージ入力コントロールの選択に応答して、前記メッセージング・グラフィカル・ユーザ・インターフェースから前記タッチ・スクリーン・ディスプレイ・キーボードを、前記通信スレッドから前記メッセージ入力要素を除去する工程をさらに含む、請求項11に記載の方法。
【請求項13】
前記タッチ・スクリーン・ディスプレイ・キーボード及び前記メッセージ入力要素を除去した後、第2のメッセージ入力コントロールの選択を検出する工程と、
第2のメッセージ入力コントロールの該選択に応答して、
前記メッセージを含む前記メッセージ入力要素を前記通信スレッド内に提供し、前記タッチ・スクリーン・ディスプレイ・キーボードを前記メッセージング・グラフィカル・ユーザ・インターフェース内に提供する工程と
をさらに含む、請求項12に記載の方法。
【請求項14】
前記第1のメッセージ入力コントロールは、写真入力コントロール、ファイル入力コントロール、記号入力コントロール、または記録入力コントロールのうちの1つまたは複数を含む、請求項13に記載の方法。
【請求項15】
前記メッセージ入力要素が、テキスト吹き出しを含む、請求項12に記載の方法。
【請求項16】
前記メッセージ入力要素内に登録された前記メッセージ入力を送信する工程と、
前記メッセージ入力要素内に登録された前記メッセージ入力の送信を反映するように、前記通信スレッド内の前記メッセージ入力要素の特性を変更する工程と
をさらに含む、請求項11に記載の方法。
【請求項17】
前記メッセージ入力要素内に登録された前記メッセージ入力の送信を反映するように前記メッセージ入力要素の特性を変更する工程が、前記メッセージ入力要素をメッセージに変換することを含み、該メッセージは前記通信スレッド内にある、請求項16に記載の方法。
【請求項18】
コンピュータ実行可能な命令が記憶された非一時的コンピュータ可読記憶媒体であって、該コンピュータ実行可能な命令は、プロセッサによって実行されるとき、コンピュータ・システムに、
ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージを含む通信スレッドと、前記通信スレッド内に配置されたメッセージ入力要素とを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供させ、
メッセージ入力要素の選択を検出させ、
記メッセージ入力要素の前記選択に応答して、タッチ・スクリーン・ディスプレイ・キーボードを提供させ、
前記タッチ・スクリーン・ディスプレイ・キーボードを介してメッセージに対するメッセージ入力を受け取らせ、
前記メッセージ入力に応答して、前記メッセージ入力を受け取っている間に、前記通信スレッド内の該メッセージ入力要素内にメッセージ入力を登録させる、非一時的コンピュータ可読記憶媒体。
【請求項19】
前記プロセッサによって実行されるとき、前記コンピュータ・システムに、
前記メッセージ入力を受け取っている間に、増大したサイズのメッセージを収容するように前記メッセージ入力要素をサイズ変更させ、
前記メッセージ入力要素に登録されたメッセージ入力を送信させ、
前記メッセージ入力の送信に応答して、前記通信スレッドに前記メッセージを加えるために前記メッセージ入力要素の特性を変更させるコンピュータ実行可能な命令をさらに含む、請求項18に記載の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記プロセッサによって実行されるとき、前記コンピュータ・システムに、
メッセージング入力要素を第1の色から第2の色に変更することによって、前記メッセージ入力要素の前記特性を変更させるコンピュータ実行可能な命令をさらに含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
1つまたは複数の実施形態は、一般に電子通信システムおよび方法に関する。より詳細には、1つまたは複数の実施形態は、電子通信システム内の編成および機能を増大させるためのシステムおよび方法に関する。
【背景技術】
【0002】
コンピューティング・デバイス(たとえば、コンピュータ、タブレット、およびスマートフォン)は、人々が互いに接続し通信するための多数の方法を提供する。たとえば、様々な電子通信システムが、電子メッセージを送信および受信するための様々な方法を提供する。たとえば、コンピューティング・デバイスは、テキスト・メッセージング、インスタント・メッセージング、ソーシャル・ネットワーク・ポスティング、および他の形態の電子通信を使用して、ユーザが他のユーザと通信することを可能にすることができる。さらに、電子通信は、テキスト、画像、ビデオ、および他のデータのうちの少なくとも1つを含む様々なコンテンツを含み得る。一般に、電子通信は、人々が互いに接続し通信するための普及した方法になった。
【0003】
人々が電子通信システムを使用して通信することができる多種多様な方法により、電子通信システムに関連付けられたユーザ・インターフェースは煩雑になる傾向がある。たとえば、通信ユーザ・インターフェースは、キーボードおよび通信スレッド・エリアを、他のディスプレイ要素に加えて含むことがある。より小さい画面(すなわち、ハンドヘルド・デバイスのタッチ・スクリーン・ディスプレイ)上に表示されたとき、様々な要素を含むユーザ・インターフェースは、直ちに煩雑になる。
【0004】
さらに、ユーザ・インターフェースがより多くの要素を含むとき、通信スレッドの閲覧可能な部分は、通常、追加の要素を収容するために縮小する。これは、ユーザが通信セッションの状況を理解するために、またどこで通信セッションが終わったか思い出すために、送信および受信された最後のいくつかの通信を見る必要があるか、または見たいと望むので問題である。通信セッションの状況および内容を判定することは、一般に、数行以下のテキストしか通信スレッド内で閲覧可能でない場合、困難である。
【0005】
したがって、電子通信システムのユーザ・インターフェースを編成する現行の方法にはいくつかの欠点がある。
【発明の概要】
【課題を解決するための手段】
【0006】
1つまたは複数の実施形態は、電子通信システムのための向上した特徴および編成を提供する方法およびシステムにおいて、利益をもたらすこと、および当技術分野における前述の、または他の問題の1つまたは複数を解決することのうちの少なくとも一方を提供する。たとえば、本明細書に記載の方法およびシステムは、ユーザが容易かつ直感的に電子通信を送信および受信することを可能にする。さらに、1つまたは複数の実施形態は、電子通信システムのユーザ・インターフェースを煩雑にすることなしに前述の、または他の利益をもたらすことができる。
【0007】
たとえば、1つまたは複数の実施形態のシステムおよび方法は、ユーザがメッセージを通信スレッド内に直接書き込むことを可能にする。メッセージを通信スレッド内に直接書き込むことによって、1つまたは複数の実施形態は、ユーザが通信スレッドのより大きな部分を閲覧することを可能にする。したがって、1つまたは複数の実施形態は、通信セッションの状況および内容を決定するためのより大きな機会をユーザに与える。
【0008】
さらに、1つまたは複数の実施形態のシステムおよび方法は、様々なディスプレイ要素を選択的に提供することによってユーザ・インターフェースの煩雑さを低減する。たとえば、1つまたは複数の実施形態は、適用可能な場合に、いくつかのディスプレイ要素を提供し、適用可能でない場合に、他のディスプレイ要素を除去する。たとえば、1つまたは複数の実施形態は、ユーザがテキストのメッセージを書き込んでいないとき、メッセージ入力要素およびタッチ・スクリーン・ディスプレイ・キーボードを除去することができる。したがって、1つまたは複数の実施形態は、様々なディスプレイ要素を選択的に追加および除去することによってユーザ・インターフェースの煩雑さを低減する。
【0009】
本発明の第1の態様によれば、特にモバイル・デバイスの操作を対象とする方法が提供される。この方法は、特に、モバイル・デバイスのタッチ・スクリーン上で、テキスト入力コントロールと、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージとを含む通信スレッドを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供する工程と、モバイル・デバイスの少なくとも1つのプロセッサが、テキスト入力コントロールに対応するタッチ・スクリーンの一部分とのユーザ・インタラクションを検出する工程と、検出されたテキスト入力コントロールに対応するタッチ・スクリーンの一部分とのユーザ・インタラクションに応答して、モバイル・デバイスのタッチ・スクリーン上に提供されたメッセージング・グラフィカル・ユーザ・インターフェースの通信スレッド内に直接、メッセージ入力要素を提供する工程と、モバイル・デバイスの少なくとも1つのプロセッサが、モバイル・デバイスのタッチ・スクリーン上に提供されたキーボードを介して登録されたメッセージ入力を検出する工程と、特にその後、モバイル・デバイスの少なくとも1つのプロセッサが、通信スレッド内に提供されたメッセージ入力要素内に直接、メッセージ入力を登録する工程と、メッセージ入力要素内に登録されたメッセージ入力を送信する工程と、特に同時に、またはその後、モバイル・デバイスの少なくとも1つのプロセッサが、メッセージ入力要素内に入力されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程とを含む。
【0010】
他の実施形態では、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージと、メッセージ入力要素とを含む通信スレッドを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供する工程と、メッセージ入力をユーザから受け取る工程と、少なくとも1つのプロセッサによって、通信スレッド内のメッセージ入力要素内にメッセージ入力を登録する工程と、メッセージ入力要素内に登録されたメッセージ入力を送信する工程と、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程とからなる方法が特許請求され得る。
【0011】
実施形態では、この方法は、メッセージ入力を収容するようにメッセージ入力要素をサイズ変更する工程を含んでもよい。
実施形態では、メッセージ入力要素は、テキスト吹き出しを含んでもよい。
【0012】
実施形態では、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程は、メッセージ入力要素の色、位置、サイズ、フォント、または向きのうちの1つまたは複数を変更する工程を含んでもよい。
【0013】
実施形態では、この方法は、メッセージ入力要素内へのメッセージ入力の登録を反映するように、メッセージ入力要素の特性を変更する工程を含んでもよい。
実施形態では、この方法は、メッセージ入力要素内へのメッセージ入力の登録を反映するように、メッセージ入力要素の特性を変更する工程が、メッセージ入力要素を第1の色から第2の色に変更する工程を含むこと、およびメッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程が、メッセージ入力要素を第2の色から第3の色に変更する工程を含むことのうちの少なくとも一方を含む。
【0014】
方法の実施形態では、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程は、通信スレッド内のメッセージ入力要素の水平位置を変更する工程を含んでもよい。
【0015】
実施形態では、この方法は、通信スレッド内のメッセージ入力要素の選択に応答してタッチ・スクリーン・ディスプレイ・キーボードを提供する工程をさらに含んでもよい。
実施形態では、この方法は、1つまたは複数のメッセージ入力コントロールのパレットからメッセージ入力コントロールの選択を検出する工程と、メッセージ入力コントロールの選択に応答して、メッセージ入力要素を通信スレッドから除去する工程とをさらに含んでもよい。
【0016】
実施形態では、メッセージ入力コントロールは、写真入力コントロール、ファイル入力コントロール、記号入力コントロール、または記録入力コントロールのうちの1つまたは複数を含んでもよい。
【0017】
他の実施形態では、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージを含む通信スレッドと、1つまたは複数のメッセージ入力コントロールのパレットを含むメッセージ入力コントロール・エリアとを含み得るメッセージング・グラフィカル・ユーザ・インターフェースを提供する工程と、1つまたは複数のメッセージ入力コントロールのパレットから第1のメッセージ入力コントロールの選択を検出する工程と、第1のメッセージ入力コントロールの選択に応答して、通信スレッド内にメッセージ入力要素を提供する工程と、メッセージ入力を受け取る工程と、少なくとも1つのプロセッサによって、通信スレッド内のメッセージ入力要素内にメッセージ入力を登録する工程とからなる方法が特許請求され得る。
【0018】
実施形態では、この方法は、第1のメッセージ入力コントロールの選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース内にタッチ・スクリーン・ディスプレイ・キーボードを提供する工程をさらに含んでもよい。
【0019】
実施形態では、この方法は、第2のメッセージング入力コントロールの選択を検出する工程と、第2のメッセージング入力コントロールの選択に応答して、メッセージ入力要素を通信スレッドから除去し、および/またはタッチ・スクリーン・ディスプレイ・キーボードをメッセージング・グラフィカル・ユーザ・インターフェースから除去する工程とをさらに含んでもよい。
【0020】
実施形態では、第2のメッセージ入力コントロールは、写真入力コントロール、ファイル入力コントロール、記号入力コントロール、または記録入力コントロールのうちの1つまたは複数を含んでもよい。
【0021】
実施形態では、メッセージ入力要素は、テキスト吹き出しを含んでもよく、第1のメッセージ入力コントロールの選択を検出したとき、テキスト吹き出し内にカーソルが提供されてもよい。
【0022】
実施形態では、この方法は、メッセージ入力要素内に登録されたメッセージ入力を送信する工程と、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更する工程とを含んでもよい。
【0023】
この方法の実施形態では、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するようにメッセージ入力要素の特性を変更する工程は、メッセージ入力要素の色、位置、サイズ、フォント、または向きのうちの1つまたは複数を変更する工程を含んでもよい。
【0024】
本発明の第2の態様は、コンピュータ実行可能な命令が記憶された非一時的コンピュータ可読記憶媒体を対象とし、コンピュータ実行可能な命令は、プロセッサによって実行されるとき、コンピュータ・システムに、本発明の第1の態様による任意の実施形態における方法を実行させ、特に、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージと、メッセージ入力要素とを含む通信スレッドを含むメッセージング・グラフィカル・ユーザ・インターフェースを提供させ、通信スレッド内のメッセージ入力要素内にメッセージ入力を登録させ、メッセージ入力要素内に登録されたメッセージ入力を送信させ、メッセージ入力要素内に登録されたメッセージ入力の送信を反映するように、通信スレッド内のメッセージ入力要素の特性を変更させる。
【0025】
非一時的コンピュータ可読記憶媒体の実施形態では、その記憶媒体は、実行されるとき、コンピュータ・システムに、メッセージ入力要素内にメッセージ入力を登録していることを反映するように、メッセージ入力要素の特性を変更させ、登録されたメッセージ入力を収容するようにメッセージ入力要素をサイズ変更させるコンピュータ実行可能な命令を含んでもよい。
【0026】
実施形態では、コンピュータ可読記憶媒体は、実行されるとき、コンピュータ・システムに、メッセージング入力要素を第1の色から第2の色に変更することによって、メッセージ入力要素内にメッセージ入力を登録していることを反映するように、メッセージ入力要素の特性を変更させるコンピュータ実行可能な命令をさらに含んでもよい。
【0027】
本発明の第3の態様では、本発明の第2の態様による非一時的コンピュータ可読記憶媒体を含み得るコンピュータ化システムまたはコンピュータ・システム、特にモバイル・デバイスが提供される。
【0028】
追加の特徴および利点は、以下の説明に記載され、一部には、その説明から明らかになり、そのような例示的な実施形態を実施することによって学習され得る。そのような実施形態の特徴および利点は、特に添付の特許請求の範囲で指摘されている手段(instrument)および組合せにより実現され、得ることができる。これら、および他の特徴は、以下の説明および添付の特許請求の範囲からより十分に明らかになり、または下記のそのような例示的な実施形態を実施することによって学習され得る。
【0029】
上記および他の利点および特徴を得ることができる方法について述べるために、上記で簡単に述べた様々な実施形態のより具体的な説明を、添付の図面に示されているその特定の実施形態を参照することによって行う。それらの図は原寸に比例して示されていないこと、および同様の構造または機能の要素は、それらの図を通して、例示のために、全体的に同様の符号によって表されていることに留意されたい。これらの図面は典型的な実施形態を示すにすぎず、したがって限定するものとみなすべきでないことを理解したうえで、これらの実施形態について、添付の図面の使用を通じて追加の特定性および詳細と共に述べ、説明する。
【図面の簡単な説明】
【0030】
図1】1つまたは複数の実施形態によるユーザ・インターフェース編成システムの概略図。
図2】1つまたは複数の実施形態による図1のシステムを実装するための例示的な環境のブロック図。
図3A】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込むためのユーザ・インターフェースの図。
図3B】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込むためのユーザ・インターフェースの図。
図3C】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込むためのユーザ・インターフェースの図。
図3D】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込むためのユーザ・インターフェースの図。
図4A】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図4B】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図4C】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図4D】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図5A】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図5B】1つまたは複数の追加の実施形態による電子通信を通信スレッド内に直接書き込むための追加のユーザ・インターフェースの図。
図6】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込む方法における一連の動作のフローチャート。
図7】1つまたは複数の実施形態による電子通信を通信スレッド内に直接書き込む別の方法における一連の動作のフローチャート。
図8】1つまたは複数の実施形態による例示的なコンピューティング・デバイスのブロック図。
図9】1つまたは複数の実施形態によるソーシャル・ネットワーキング・システムの例示的なネットワーク環境の図。
【発明を実施するための形態】
【0031】
1つまたは複数の実施形態は、電子メッセージを書き込むとき効率的かつ効果的なユーザ体験をユーザに提供するユーザ・インターフェース編成システムを含む。例示的な実施形態では、ユーザ・インターフェース編成システムは、ユーザ入力をテキストのメッセージとして通信スレッド内に直接登録することができる。たとえば、ユーザがタイプ入力を開始したとき、ユーザ・インターフェース編成システムは、ユーザ入力を通信スレッド内のメッセージ入力要素に追加することができる。ユーザがメッセージを送った後で、ユーザ・インターフェース編成システムは、メッセージが送られたことを合図するために、メッセージ入力要素の外観を変更することができる。メッセージを通信スレッド内に直接書き込むことを可能にすることによって、ユーザ・インターフェース編成システムは、通信セッションの状況および内容を決定するためのより大きな機会をユーザに与えることができる。
【0032】
さらに、ユーザ・インターフェース編成システムは、様々なディスプレイ要素を選択的に提供および除去することによって、ユーザ・インターフェースの煩雑さを低減することができる。たとえば、1つまたは複数の実施形態は、適用可能な場合に、いくつかのディスプレイ要素を提供し、適切可能でない場合に、他のディスプレイ要素を除去する。具体的には、ユーザがメッセージを登録し始めたとき、ユーザ・インターフェース編成システムは、通信スレッド内にメッセージ入力要素を提供することができる。あるいは、通信スレッドは、デフォルトでメッセージ入力要素を含むことが可能である。ユーザが、1つまたは複数のアクションによって、メッセージを登録しないことを示した後で、ユーザ・インターフェース編成システムは、メッセージ入力要素を通信スレッドから除去することができる。
【0033】
したがって、本明細書に記載の1つまたは複数の実施形態は、ユーザが容易かつ直感的に電子通信を書き込み、送信し、受信することを可能にする。具体的には、本明細書に記載のシステムおよび方法は、電子通信セッションの通信スレッドの閲覧可能なエリアが最大化されるか、または他の形で最適化されるように、ユーザが電子メッセージを書き込むことを可能にする。たとえば、1つまたは複数の実施形態によって、電子メッセージを含む通信セッションのより大きな閲覧可能なエリアを介して、通信セッションの状況および内容を決定するためのより大きな機会がユーザに与えられる。
【0034】
図1は、ユーザ・インターフェース編成システム100(または単に「UI編成システム」)の例示的な実施形態を示す。図では、UI編成システム100は、それだけには限らないが、ユーザ・インターフェース・マネージャ102(または単に「UIマネージャ」)、ユーザ入力検出部104、通信マネージャ106、およびデータ・ストレージ108を含み得る。UI編成システム100の構成要素102〜108のそれぞれは、任意の好適な通信技術を使用して互いに通信し得る。本明細書における開示に照らして、構成要素102〜108は、図1に別々に示されているが、構成要素102〜108のそれぞれは、組み合わせて単一の機器またはモジュール等より少ない構成要素にしてもよいか、特定の実施形態としての役割を果たし得るようにより多くの構成要素に分割されてもよいことは理解されよう。さらに、構成要素102〜108は、図8に関連して下記で述べるものなど1つまたは複数のコンピューティング・デバイス上に位置しても、それらによって実装されてもよい。あるいは、UI編成システム100の一部分がコンピューティング・デバイス上に位置することができ、一方、UI編成システム100の他の部分は、図9を参照して下記で述べるものなどソーシャル・ネットワーキング・システム上に位置し、またはその一部を形成する。
【0035】
構成要素102〜108は、ソフトウェア、ハードウェア、またはそれらの両方を含むことができる。たとえば、構成要素102〜108は、コンピュータ可読記憶媒体上に記憶され、1つまたは複数のコンピューティング・デバイスのプロセッサによって実行可能な1つまたは複数の命令を含むことができる。1つまたは複数のプロセッサによって実行されるとき、UI編成システム100のコンピュータ実行可能な命令は、コンピューティング・デバイスに本明細書に記載の方法を実施させることができる。あるいは、構成要素102〜108は、ある機能、または機能のグループを実施するために、専用処理デバイスなどハードウェアを含むことができる。それに加えて、または代替として、構成要素102〜108は、コンピュータ実行可能な命令とハードウェアの組合せを含むことができる。
【0036】
上述のように、また図1に示されているように、UI編成システム100は、ユーザ・インターフェース・マネージャ102を含むことができる。ユーザ・インターフェース・マネージャ102は、ユーザがディスプレイ要素を閲覧し、ディスプレイ要素とインタラクションすることを可能にするグラフィカル・ユーザ・インターフェース(または単に「ユーザ・インターフェース」)を提供、管理、更新、および/または制御する。たとえば、ユーザ・インターフェース・マネージャ102は、1つまたは複数のディスプレイ要素を様々なレイアウトで含む様々なユーザ・インターフェースを識別、表示、更新、または他の形で提供し得る。
【0037】
より具体的には、ユーザ・インターフェース・マネージャ102は、グラフィカル・ユーザ・インターフェース内に様々なディスプレイ要素を提供することができる。たとえば、例示的なディスプレイ要素は、それだけには限らないが、ボタン、テキスト・ボックス、メニュー、サムネイル、スクロール・バー、ハイパーリンクなどを含む。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、ディスプレイ要素を任意の1つの、または様々なレイアウトで表示およびフォーマットすることができる。
【0038】
さらに、ユーザ・インターフェース・マネージャ102は、ユーザ・インタラクションに応答して、ディスプレイ要素を更新、除去、サイズ変更、または位置変更することもできる。たとえば、下記でより詳細に述べるように、UI編成システム100は、様々な方法でユーザ入力を検出し得る。たとえば、1つまたは複数の実施形態では、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ102に、検出された入力に基づいてグラフィカル・ユーザ・インターフェースを更新させ得る。同様に、1つまたは複数の実施形態では、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ102に、1つまたは複数のディスプレイ要素をサイズ変更させ、1つもしくは複数のディスプレイ要素をグラフィカル・ユーザ・インターフェース内で位置変更させ、または他の形で1つもしくは複数のディスプレイ要素をグラフィカル・ユーザ・インターフェース内で変更もしくは除去させ得る。
【0039】
あるいは、ユーザ・インターフェース・マネージャ102は、ユーザ・インタラクションに応答して、ユーザ・インターフェースのいくつかのエリアを選択的に更新することができる。たとえば、1つまたは複数の実施形態では、検出されたユーザ入力によって、ユーザ・インターフェース・マネージャ102に、グラフィカル・ユーザ・インターフェース内の1つのエリア内で更新または変更させ得る。特定の実施形態では、ユーザ・インタラクションを検出したとき、ユーザ・インターフェース・マネージャ102は、ユーザ・インターフェース内の1つのエリアを、1つのタイプのディスプレイから第2のタイプのディスプレイに更新し、一方、ユーザ・インターフェース内の別のエリアを更新なしに引き続き表示してもよい。
【0040】
上述のように、また図1に示されているように、UI編成システム100は、ユーザ入力検出部104をさらに含み得る。ユーザ入力検出部104は、ユーザ入力を任意の好適な方法で検出し、受信し、および/または手助けする。いくつかの例では、ユーザ入力検出部104は、1つまたは複数のユーザ・インタラクションを検出する。本明細書で称するとき、「ユーザ・インタラクション」は、1つまたは複数の入力デバイスによって、または上記のように1つもしくは複数のタッチ・ジェスチャを介してユーザから受け取られる単一の入力、入力の組合せを意味する。ユーザ・インタラクションは、様々な持続時間を有する可能性があり、上記のユーザ・インターフェース・マネージャ102によって管理されるグラフィカル・ユーザ・インターフェース上のどこで行われてもよい。
【0041】
たとえば、ユーザ入力検出部104は、キーボード、マウス、タッチ・スクリーン・ディスプレイ、または任意の他の入力デバイスからのユーザ・インタラクションを検出することができる。タッチ・スクリーン・ディスプレイが使用される場合、ユーザ入力検出部104は、タッチ・スクリーンを介してユーザによって提供されるユーザ・インタラクションを形成する1つまたは複数のタッチ・ジェスチャ(たとえば、タップ・ジェスチャ、スワイプ・ジェスチャ、ピンチ・ジェスチャなど)を検出することができる。いくつかの例では、ユーザ入力検出部104は、タッチ・スクリーン・ディスプレイ上に提示されるグラフィカル・ユーザ・インターフェースの一部として表示される1つまたは複数のディスプレイ要素に関連するタッチ・ジェスチャ、および1つまたは複数のディスプレイ要素を対象とするタッチ・ジェスチャのうちの少なくとも一方を検出することができる。
【0042】
ユーザ入力検出部104は、それに加えて、または代替として、ユーザ・インタラクションを表すデータを受信してもよい。たとえば、ユーザ入力検出部104は、ユーザからの1つまたは複数のユーザ構成可能パラメータ、ユーザからの1つまたは複数のユーザ・コマンド、および任意の他の好適なユーザ入力のうちの少なくとも1つを受け取ってもよい。たとえば、ユーザ入力検出部104は、音声コマンドを受け取るか、または他の形でユーザ入力を検知する、検出する、もしくは受け取ることができる。
【0043】
上述のように、また図1に示されているように、UI編成システム100は、通信マネージャ106をさらに含み得る。通信マネージャ106は、UI編成システム100、またはUI編成システム100が実装されるデバイスからデータを受け取ること、またはそのデバイスにデータを送ることを手助けする。具体的には、通信マネージャ106は、データを送信または受信するために、下記で述べるようにコンピューティング・デバイスの1つまたは複数の通信インターフェースに指示するか、またはそれらをアクティブ化することができる。さらに、通信マネージャ106は、UI編成システム100から送信または受信されることになるコンテンツ・アイテムを、図8を参照して下記でさらに述べるように1つまたは複数の通信チャネルを通じて、また適切な通信プロトコルを使用して送信されることが可能な任意の必要形態にパッケージまたはフォーマットすることができる。
【0044】
上記で論じたように、UI編成システム100は、図1に示されているようにデータ・ストレージ108を含むことができる。データ・ストレージ108は、どのようにユーザ・インターフェース・マネージャ102がユーザ・インターフェースを編成するかに関連付けられたデータを表すUI編成データ110を維持し得る。たとえば、UI編成データ110は、現在および以前のユーザ・インターフェース編成、ユーザ・インターフェース・レイアウト、ディスプレイ要素配置および構成、ならびにUI編成システム100が通信システムのユーザ・インターフェースを編成することに関連して使用し得る他の同様のタイプのデータを含むことができる。
【0045】
図2は、UI編成システム100の1つまたは複数の実施形態を実装することができる例示的なシステム200を示す概略図である。図2に示されているように、システム200は、コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208を含むことができる。コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、図2に示されているように通信可能に結合され得る。図2は、コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208の特定の構成を示すが、様々な追加の構成が可能である。たとえば、コンピューティング・デバイス202、204は、通信サーバ208と直接通信しても、ネットワーク206をバイパスしても、または互いに直接通信してもよい。
【0046】
コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、データおよび通信信号のうちの少なくとも一方を移送するのに適した任意の通信プラットフォームおよび技術を使用して通信し得る。たとえば、コンピューティング・デバイス202、204、ネットワーク206、および通信サーバ208は、遠隔データ通信をサポートする任意の知られている通信技術、デバイス、媒体、およびプロトコルを介して通信してよく、それらの例については、図8に関して下記でより詳細に述べる。さらに、いくつかの実施形態では、コンピューティング・デバイス202、204、および通信サーバ208は、図9に関して下記でさらに詳細に述べるように1つまたは複数のソーシャル・ネットワークを含み得るネットワーク206を介して通信してもよい。
【0047】
通信サーバ208は、電子通信データを生成、記憶、受信、および送信し得る。たとえば、通信サーバ208は、コンピューティング・デバイス202から電子通信を受信し、受信された電子通信をコンピューティング・デバイス204に送信してもよい。具体的には、通信サーバ208は、システム200の1人または複数のユーザ間で電子メッセージを送信することができる。通信サーバ208は、それだけには限らないが、テキスト・メッセージ、インスタント・メッセージ、ソーシャルネットワーキング・メッセージ、ソーシャルネットワーキング・ポスト、電子メール、および任意の他の形態の電子通信を含めて、広範なタイプの電子通信を受信することができる。通信サーバ208に関する追加の詳細について、図9に関して下記で論じる。
【0048】
ネットワーク206は、ネットワーク、またはネットワークの集まり(インターネット、企業イントラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレス・ローカル・エリア・ネットワーク(WLAN)、セルラー・ネットワーク、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、または2つ以上のそのようなネットワークの組合せ等)を表し得る。したがって、ネットワーク206は、コンピューティング・デバイス202が通信サーバ208およびコンピューティング・デバイス204のうちの少なくとも一方にアクセスし得る、または逆も同様である、任意の好適なネットワークであってよい。ネットワーク206については、図8および図9に関して下記でより詳細に論じる。
【0049】
システム200のシステムおよびネットワーク要素に加えて、図2は、ユーザ210をコンピューティング・デバイス202に関連付けることができること、およびユーザ212をコンピューティング・デバイス204に関連付けることができることを示す。図2は2人のユーザ210、212を示すが、システム200は、多数のユーザを含むことができ、それらのユーザの各自が、対応する数のコンピューティング・デバイスを通じてシステム200とインタラクションする。たとえば、ユーザ210は、電子通信を書き込むためにユーザ入力検出部104を介して、また電子通信を送るために通信マネージャ106を介してコンピューティング・デバイス202とインタラクションすることができる。ユーザ210は、ユーザ・インターフェース・マネージャ102によって管理される、コンピューティング・デバイス202上のユーザ・インターフェースによりコンピューティング・デバイス202とインタラクションしてもよい。たとえば、ユーザ210は、ユーザ・インターフェースを使用して、コンピューティング・デバイス202に電子通信を書き込ませ、システム200の複数のユーザの1人または複数へ送らせることができる。
【0050】
1つまたは複数の実施形態では、図1に関して述べた構成要素102〜108は、コンピューティング・デバイス202、204、および通信サーバ208のうちの1つまたは複数上で実装されてもよい。たとえば、コンピューティング・デバイス202、204、および通信サーバ208は、UI編成システム100の通信マネージャ106を介してネットワーク206を通して通信してもよい。1つまたは複数の実施形態では、コンピューティング・デバイス202、204は、ユーザ入力検出部104を介してユーザ入力を受け取ってもよい。同様に、1つまたは複数の実施形態では、コンピューティング・デバイス202、204は、ユーザ・インターフェース・マネージャ102を介してグラフィカル・ユーザ・インターフェースを提供し得る。
【0051】
下記でより詳細に述べるように、図1および図2に関して述べたUI編成システム100の構成要素100〜108のそれぞれは、単独で、およびUI編成システム100の他の構成要素との組合せのうちの少なくとも一方で、1つまたは複数のグラフィカル・ユーザ・インターフェースを提供することができる。具体的には、構成要素102〜108によって、ユーザがディスプレイ要素の集合と、様々な目的でインタラクションすることができる。具体的には、図3A図4Eおよび以下の説明は、上記の一般的な原理によるユーザ・インターフェースおよび特徴の様々な例示的な実施形態を示す。
【0052】
いくつかの例では、コンピューティング・デバイス(すなわち、図2のコンピューティング・デバイス202、204)は、UI編成システム100の一部または全部を実装することができる。たとえば、図3Aは、UI編成システム100の構成要素102〜108の1つまたは複数を実装し得るコンピューティング・デバイス300を示す。図3Aに示されているように、コンピューティング・デバイス300は、モバイル電話デバイス(たとえば、スマートフォン)などハンドヘルド・デバイスである。本明細書で使用されるとき、「ハンドヘルド・デバイス」という用語は、ユーザの片手の中で保持/操作されるようにサイズ設定および構成されたデバイスを指す。しかし、追加の、または代替の例では、それだけには限らないが、タブレット・デバイス、ハンドヘルド・デバイス、より大型のワイヤレス・デバイス、ラップトップもしくはデスクトップ・コンピュータ、携帯情報端末、および任意の他の好適なコンピューティング・デバイスのうちの少なくとも1つ等、任意の他の好適なコンピューティング・デバイスが、本明細書に記載の方法および/または動作の1つまたは複数を実施することができる。
【0053】
コンピューティング・デバイス300は、図8のコンピューティング・デバイス800を参照して下記で述べる特徴および構成要素のいずれかを含むことができる。図3Aに示されているように、コンピューティング・デバイス300は、ユーザ・インターフェースを表示または提供することができる、またユーザ・インターフェースを介してユーザ入力を受け取ること、および検出することのうちの少なくとも一方を行うことができるタッチ・スクリーン・ディスプレイ301を含む。本明細書で使用されるとき、「タッチ・スクリーン・ディスプレイ」は、タッチ・スクリーン・デバイスのディスプレイを指す。1つまたは複数の実施形態では、タッチ・スクリーン・デバイスは、ユーザ210、212がその上でタッチ・ジェスチャを実施し得る少なくとも1つの表面を備えるコンピューティング・デバイス202、204であってもよい。それに加えて、または代替として、コンピューティング・デバイス300は、タッチ・パッドまたは図8を参照して下記で述べるものなど任意の他の好適な入力デバイスを含んでもよい。
【0054】
図3Aは、グラフィカル・ユーザ・インターフェースの一実施形態、特にメッセージング・グラフィカル・ユーザ・インターフェース302を表示するコンピューティング・デバイス300のタッチ・スクリーン・ディスプレイ301を示す。たとえば、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302の一部として様々なディスプレイ・エリアおよびディスプレイ要素を提供する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、通信スレッド304、ならびにメッセージ入力コントロール・パレット310を提供する。
【0055】
上記のように、UI編成システム100の通信マネージャ106は、データを受信および送信するのを円滑にすることができる。1つまたは複数の実施形態では、通信マネージャ106は、コンピューティング・デバイス202、204間で電子通信を受信および送信するのを円滑にすることができる。また、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、通信マネージャ106を介して送信および受信された電子通信を表示する。特定の実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302内の通信スレッド304内で、通信マネージャ106を介して送信および受信された電子通信を表示することができる。
【0056】
たとえば、図3Aに示されているように、ユーザ・インターフェース・マネージャ102は、通信マネージャ106によって送信および受信された電子通信306a、306bを含む通信スレッド304を提供する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、最も古いメッセージがスレッドの上部に表示された状態で最も新しいメッセージがスレッドの下部に追加されるように通信スレッド304を編成する。代替の実施形態では、ユーザ・インターフェース・マネージャ102は、表示されたメッセージ間の経時的な関係をユーザに示すことができる任意の方法で編成されてよい。図では、電子通信306aは、通信マネージャ106によって送信されたメッセージであり、電子通信306bは、通信マネージャ106によって受信されたメッセージである。1つまたは複数の実施形態では、電子通信306aは、コンピューティング・デバイス300上でユーザによって書き込まれ、通信マネージャ106によって1人または複数の共同ユーザに送信され、一方、通信マネージャ106は、コンピューティング・デバイス300でその1人または複数の共同ユーザから電子通信306bを受信する。
【0057】
ユーザ・インターフェース・マネージャ102は、ユーザが通信スレッド304内の電子通信間を区別する助けとなるように様々な電子通信特性を提供する。たとえば、図3Aに示されているように、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302の片側に向かって指し示された、通信マネージャ106から送信された電子通信306aを表示する。一方、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302の反対側に向かって指し示された、通信マネージャ106によって受信された電子通信306bを表示する。1つまたは複数の実施形態では、電子通信306a、306bのこの配置および向きは、メッセージング・グラフィカル・ユーザ・インターフェース302内に表示される様々な電子通信の発信元をコンピューティング・デバイス300のユーザに明確に示す。
【0058】
ユーザが電子通信を区別する助けとなる、ユーザ・インターフェース・マネージャ102によって提供される別の電子通信特性は、電子通信の色とすることができる。たとえば、図3Aに示されているように、ユーザ・インターフェース・マネージャ102は、通信マネージャ106によって送信された電子通信306aを第1の色で表示し、通信マネージャ106によって受信された電子通信306bを第2の色で表示する。1つまたは複数の実施形態では、第1の色および第2の色は、それぞれ逆の字体色を有する黒および白であっても、任意の他の色であってもよい。代替の実施形態では、ユーザ・インターフェース・マネージャ102は、白い背景および異なる色の輪郭を有する電子通信306a、306bを表示してもよい。
【0059】
他の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、異なるパターンの背景と共に、異なるフォントで、異なるサイズで、または電子通信306aを電子通信306bから区別することができる任意の方法で電子通信306a、306bを表示してもよい。たとえば、特定の実施形態では、ユーザ・インターフェース・マネージャ102は、青い背景上に白い字体で電子通信306aを表示する。同様に、特定の実施形態では、ユーザ・インターフェース・マネージャ102は、灰色の背景上に黒い字体で電子通信306aを表示する。
【0060】
上述のように、ユーザ・インターフェース・マネージャ102は、メッセージ入力コントロール・パレット310をも提供し得る。図3Aに示されているように、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302の一部としてメッセージ入力コントロール・パレット310を表示する。1つまたは複数の実施形態では、メッセージ入力コントロール・パレット310は、ユーザに様々なメッセージ入力オプションまたは他のオプションを提供する様々な選択可能なメッセージ入力コントロールを含む。たとえば、図3Aでは、メッセージ入力コントロール・パレット310は、テキスト入力コントロール312a、写真入力コントロール312b、ファイル入力コントロール312c、記号入力コントロール312d、および記録入力コントロール312eを含む。1つまたは複数の代替の実施形態では、メッセージ入力コントロール・パレット310は、入力コントロール312a〜312eを異なる順序で提供してもよく、図3Aに表示されていない他の入力コントロールを提供してもよい。
【0061】
下記でより詳細に述べるように、ユーザは、異なるタイプの電子通信を通信スレッド304に追加するために、入力コントロール312a〜312eのいずれかとインタラクションすることができる。たとえば、1つまたは複数の実施形態では、ユーザがテキスト入力コントロール312aとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、ユーザがテキストのメッセージを書き込むために使用することができるタッチ・スクリーン・ディスプレイ・キーボードをメッセージング・グラフィカル・ユーザ・インターフェース302の一部分内に提供してもよい。同様に、1つまたは複数の実施形態では、ユーザが写真入力コントロール312bとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、ユーザが写真を通信スレッド304に追加するために使用することができるデジタル・カメラ・インターフェースをメッセージング・グラフィカル・ユーザ・インターフェース302の一部分内に提供してもよい。同様に、1つまたは複数の実施形態では、ユーザがファイル入力コントロール312cとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、マルチメディア・ファイル(たとえば、デジタル写真、デジタル・ビデオ)のギャラリをメッセージング・グラフィカル・ユーザ・インターフェース302の一部分内に提供して、ユーザが通信スレッド304内に含めるためにマルチメディア・ファイルをギャラリから選択することができるようにしてもよい。さらに、1つまたは複数の実施形態では、ユーザが記号入力コントロール312dとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、記号(たとえば、エモティコン、ステッカ、アイコン)のギャラリをメッセージング・グラフィカル・ユーザ・インターフェース302の一部分内に提供して、ユーザが通信スレッド304内に含めるために記号をギャラリから選択することができるようにしてもよい。また、ユーザが記録入力コントロール312eとインタラクションする場合、ユーザ・インターフェース・マネージャ102は、記録コントロールを提供して、ユーザが通信スレッド304内に含めるためにメッセージを記録コントロールにより記録することができるようにしてもよい。
【0062】
メッセージ入力コントロール・パレット310は、送信要素314をも含み得る。たとえば、図3Aでは、メッセージ入力コントロール・パレット310は、入力コントロール312a〜312eと共に送信要素314を含む。1つまたは複数の実施形態では、通信マネージャ106は、検出された送信要素314とのユーザ・インタラクションに応答して、電子通信を1人または複数の共同ユーザに送信し得る。同様に、ユーザ・インターフェース・マネージャ102は、検出された送信要素314とのユーザ・インタラクションに応答して、電子通信を通信スレッド304に追加してもよい。たとえば、特定の実施形態では、ユーザ入力検出部104は、送信要素314に関連して実施されたユーザ・タッチ・ジェスチャを検出し得る。ユーザ入力検出部104は、検出されたタッチ・ジェスチャを通信マネージャ106にレポートしてもよく、通信マネージャ106は、サーバを介して1人または複数の共同ユーザに電子メッセージを送信することができる。同様に、ユーザ入力検出部104は、検出されたタッチ・ジェスチャをユーザ・インターフェース・マネージャ102にレポートしてもよく、ユーザ・インターフェース・マネージャ102は、電子メッセージを通信スレッド304に追加することができる。
【0063】
ユーザ・インターフェース・マネージャ102は、メッセージ入力要素をも提供し得る。たとえば、図3Aでは、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302の通信スレッド304内にメッセージ入力要素308を提供する。1つまたは複数の実施形態では、メッセージ入力要素308は、ユーザによってインタラクションされ得るディスプレイ要素である。たとえば、1つまたは複数の実施形態では、メッセージ入力要素308は、選択可能であってもよい。さらに、下記でより詳細に述べるように、1つまたは複数の実施形態では、ユーザは、メッセージ入力309をメッセージ入力要素308内に直接書き込んでもよい。
【0064】
ユーザがメッセージ入力309をメッセージ入力要素308内に直接書き込むことを可能にすることは、いくつかの理由で有利である。まず、メッセージング・グラフィカル・ユーザ・インターフェース内で煩雑さが増し、かつ空間を占めることとなる、大部分の通信システムに共通のテキスト入力ボックスの必要がなくなる。また、より直感的にユーザがメッセージ入力309を直接通信スレッド304内に書き込むことができる。特に、本明細書に記載の方法およびシステムを使用して、ユーザは、メッセージ入力309が、1人または複数の共同ユーザに送信された後で、どのように通信スレッド304内に現れることになるか正確に知ることができる。
【0065】
図3Aに示されている実施形態では、メッセージ入力要素308は、デフォルトで「メッセージを入力してください...」というメッセージ入力309を表示する。1つまたは複数の実施形態では、メッセージ入力要素308は、別のデフォルトのメッセージ入力309を表示してもよい。本明細書で使用されるとき、「メッセージ入力」は、デフォルトでメッセージ入力要素308内に表示されるか、またはユーザによってメッセージ入力要素308内に書き込まれるテキストのメッセージである。特定の実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308とのユーザ・インタラクションを検出したときメッセージ入力309をクリアし、ユーザがメッセージ入力要素308内にカスタムのメッセージ入力を書き込むことを可能にする。1つまたは複数の代替の実施形態では、メッセージ入力要素308はまた、ユーザがメッセージをタイプ入力している可能性があることを示すカーソル319を含んでもよい。
【0066】
図3Aに示されているように、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308が電子通信306a、306bとは異なる1つまたは複数の特性を有するようにメッセージ入力要素308を表示してもよい。たとえば、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308を電子通信306a、306bとは異なる形状で提供してもよい。あるいは、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308を、電子通信306a、306bより太い境界線と共に、異なる色で、または異なる背景と共に提供してもよい。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102はまた、メッセージ入力要素308を、電子通信306a、306bのテキストとは異なる色、フォント、またはサイズで表示してもよい。さらに、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308を、「メッセージ吹き出し」に一般に関連付けられる側部ノッチ付きで、または図3Aに示されているように側部ノッチ無しで表示してもよい。
【0067】
次に、メッセージ入力309をメッセージ入力要素308内に書き込むための方法について、図3A図3Dを参照して述べる。図3Aに示されているように、メッセージング・グラフィカル・ユーザ・インターフェース302を初期化したとき、ユーザ・インターフェース・マネージャ102は、電子通信306a、306b、メッセージ入力要素308を含む通信スレッド304を表示する。ユーザは、メッセージ入力要素308とインタラクションすることによってメッセージを書き込み始めることができる。たとえば、図3Bに示されているように、ユーザの手の指318が、タッチ・ジェスチャを介してなどメッセージ入力要素308とインタラクションすることができる。代替の実施形態では、指318は、メッセージ入力要素308とインタラクションするために、それだけには限らないが、プレスアンドホールド・ジェスチャ、ダブルタップ・ジェスチャ、またはこの目的に適した任意の他のタッチ・ジェスチャなど、他のタイプのタッチ・ジェスチャを実施してもよい。いずれにしても、ユーザ入力検出部104は、メッセージ入力要素308とのユーザ・インタラクションを検出することができる。
【0068】
図3Bに示されているように、検出されたタッチ・ジェスチャに応答して、ユーザ・インターフェース・マネージャ102は、タッチ・スクリーン・ディスプレイ・キーボード316をメッセージング・グラフィカル・ユーザ・インターフェース302の一部分内に提供する。1つまたは複数の実施形態では、ユーザ入力検出部104は、通信スレッド304内に表示されたメッセージ入力要素308に関連して指318によって実施されたタッチ・ジェスチャを検出し、検出されたタッチ・ジェスチャをユーザ・インターフェース・マネージャ102にレポートする。特定の実施形態では、ユーザ・インターフェース・マネージャ102は、検出されたタッチ・ジェスチャに応答して、タッチ・スクリーン・ディスプレイ・キーボード316を提供する。代替の実施形態では、ユーザ・インターフェース・マネージャ102は、口頭コマンド、またはコンピューティング・デバイス300の向きの変化(すなわち、縦長から横長)など、他のタイプの検出されたユーザ入力に応答してタッチ・スクリーン・ディスプレイ・キーボード316を提供してもよい。
【0069】
ユーザ・インターフェース・マネージャ102がメッセージング・グラフィカル・ユーザ・インターフェース302を、タッチ・スクリーン・ディスプレイ・キーボード316を含むように更新した後で、ユーザは、メッセージ入力を書き込み始めることができる。たとえば、図3Cに示されているように、ユーザの手の指318は、タッチ・スクリーン・ディスプレイ・キーボード316を使用してメッセージ入力をタイプ入力してもよい。あるいは、ユーザは、ボイス・ツー・テキスト・オプションを使用し、メッセージを登録し始めることができる。
【0070】
1つまたは複数の実施形態では、ユーザ入力検出部104は、検出されたユーザ入力をユーザ・インターフェース・マネージャ102にレポートする。特定の実施形態では、ユーザ・インターフェース・マネージャ102は、ユーザ入力検出部104がユーザ入力を検出したか、または受け取ったときメッセージ入力309の各文字を表示するようにメッセージ入力要素308を更新する。したがって、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、ユーザによって入力されたメッセージ入力309の新しい各文字を収容するようにメッセージ入力要素308が絶えずサイズ変更するように、メッセージ入力要素308を連続的に更新することができる。さらに、ユーザ・インターフェース・マネージャ102は、より長いメッセージのためにテキストの2以上の行を含むようにメッセージ入力要素308が拡張されるように、メッセージ入力要素308を連続的に更新することができる。
【0071】
図3Cに示されているように、メッセージ入力要素308は、部分的なメッセージ入力309を含む。たとえば、メッセージ入力要素308は、「それは無理も」と読めるメッセージ入力309とほぼ同程度の幅である。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、指318がメッセージ入力309に追加するために別の文字をタイプ入力するにつれてメッセージ入力要素308を拡張してもよい。このようにして、メッセージ入力要素308は、メッセージ入力309を収容するように連続的に拡張される。代替の実施形態では、メッセージ入力要素308は、拡張されない固定された幅を有しても、非西洋の筆記フォーマットに対処するように垂直に拡張されてもよい。
【0072】
ユーザ・インターフェース・マネージャ102は、テキストのメッセージが書き込まれる最中であることを示すためにメッセージ入力要素308の1つまたは複数の特性を変更してもよい。たとえば、図3Cに示されているように、ユーザ・インターフェース・マネージャ102は、図3A図3Bに表示されているものとは異なる背景と共にメッセージ入力要素308を表示する。1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力要素308内にテキストのメッセージを書き込んでいる間、メッセージ入力要素308の境界線を変更してもよい。他の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、それだけには限らないが、メッセージ入力要素308内に表示されるメッセージ入力309の色を変更すること、メッセージ入力309が書き込まれている間、音を再生すること、またはこの目的に適した任意の他の特性変更など、メッセージ入力要素308の別の特性を変更してもよい。たとえば、特定の実施形態では、ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力要素308内にテキストのメッセージを書き込んでいる間、メッセージ入力309の字体色、フォント、またはテキスト・サイズを変更してもよい。
【0073】
ユーザがメッセージ入力要素308内にメッセージ入力309を書き込み終えた後で、UI編成システム100は、メッセージ入力309を1人または複数の共同ユーザに送信することができる。たとえば、図3Dに示されているように、ユーザは、指318を使用し、送信要素314とインタラクションすることによって、メッセージ入力309の送信を開始する。1つまたは複数の実施形態では、ユーザ入力検出部104が送信要素314とのインタラクションを検出した後で、通信マネージャ106は、メッセージ入力要素308内に書き込まれたメッセージ入力309(図3Cに示されている)を1人または複数の共同ユーザに送信することができる。代替の実施形態では、ユーザは、メッセージ入力309の送信を様々な方法で開始することができる。たとえば、代替の実施形態では、ユーザは、口頭コマンドを与えることによって、「戻る」キーもしくは「エンター」キーをタップすることによって、コンピューティング・デバイス300を振る、もしくは傾けることによって、または送信イベントを開始するのに適したものとなり得る任意の他の方法によって、メッセージ入力309の送信を開始することができる。
【0074】
図3Dに示されているように、指318を介して送信要素314に関連するタップ・ジェスチャを検出したとき、ユーザ・インターフェース・マネージャ102は、メッセージ入力がメッセージとして送信されたことを反映するように通信スレッド304内のメッセージ入力要素308のいくつかの特性を変更することができる。たとえば、図3Dに示されているように、メッセージ入力309は、図3Cに表示されている「それは無理も」ではなく「それは無理もないね」と読める。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308の位置、メッセージ入力要素308の境界線幅、メッセージ入力要素308の背景色、メッセージ入力要素308内のメッセージ入力309のサイズおよびフォント、またはこの目的に適したメッセージ入力要素308の任意の他の特性を変更してもよい。たとえば、図3Dでは、送信要素314とのインタラクションが検出された後で、ユーザ・インターフェース・マネージャ102は、図3Cにおいてメッセージ入力要素308周りに示されている太い境界線を除去し、メッセージ入力要素308を通信スレッド304内の電子通信306bに近づけ、メッセージ入力要素308の背景を図3Cにおける斑点から黒に変更し、メッセージ入力309のテキスト色を図3Cにおける黒から白に変更し、電子通信306bと同じ方向に指し示された尾をメッセージ入力要素308に追加する。代替の実施形態では、ユーザ・インターフェース・マネージャ102はまた、送信要素314との検出されたインタラクションに応答して、メッセージ入力要素308がもはや選択可能でないように、またメッセージ入力309がもはや編集するのに使用可能でないように、メッセージ入力要素308を更新してもよい。
【0075】
ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308およびメッセージ入力309のソースを示すために、メッセージ入力要素308およびメッセージ入力309の様々な特性を変更してもよい。たとえば、図3Dに示されているように、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308およびメッセージ入力309を、電子通信306aと同じ色、向き、および形状になるように更新する。上記で論じたように、電子通信306aは、通信マネージャ106によって送信された電子通信である。換言すれば、電子通信306aは、UI編成システム100を介してコンピューティング・デバイス300上で書き込まれ、コンピューティング・デバイス300から送信された電子通信である。したがって、ユーザは、通信スレッド304内の最後のメッセージがコンピューティング・デバイス300から送信されたメッセージであると一目でわかる。
【0076】
1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、単一のソーシャル・ネットワーキング・アカウントを示すために、メッセージ入力要素308およびメッセージ入力309の様々な特性を変更してもよい。たとえば、ユーザは、1つまたは複数のコンピューティング・デバイスを介してソーシャル・ネットワーキング・アカウントにアクセスすることができる。1つまたは複数の実施形態では、ユーザは、ソーシャル・ネットワーキング・アカウントにログ・オンしたモバイル電話からの通信セッション内で第1のセットの電子メッセージを書き込み、送信することができ、ラップトップ・コンピュータからの同じ通信セッション内で電子メッセージの第2のセットを書き込み、送信することができる。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、電子通信306aがあるコンピューティング・デバイスから送信された可能性があり、メッセージ入力要素308およびメッセージ入力309が異なるコンピューティング・デバイスから送信された可能性があるにもかかわらず、メッセージ入力要素308、メッセージ入力309、および電子通信306aを同じディスプレイ特性と共に表示してもよい。
【0077】
1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102が上記のようにメッセージ入力要素308およびメッセージ入力309の様々なディスプレイ特性を変更した後で、ユーザ・インターフェース・マネージャ102は、デフォルトのメッセージ入力を有する別のメッセージ入力要素(図3Dには図示せず)を、図3Aに示されているように通信スレッド304の下部に提供してもよい。たとえば、ユーザ・インターフェース・マネージャ102は、ユーザが新しいメッセージ入力を書き込み始めてもよいことを示すために、デフォルトのメッセージ入力(すなわち、「メッセージを入力してください...」)を有するメッセージ入力要素を提供してもよい。また、1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、通信マネージャ106が以前のメッセージ入力を1人または複数の共同ユーザに送信することに成功したことを示すために、デフォルトのメッセージ入力を有するメッセージ入力要素を提供してもよい。
【0078】
UI編成システム100は、本明細書に記載のシステムおよび方法の代替の実施形態で実装されてもよい。たとえば、図4A図4Eは、単純にユーザがタイプ入力したときユーザ・インターフェース・マネージャ102がメッセージ入力要素を通信スレッドに追加する代替の実施形態を示す。たとえば、図4Aに示されているように、ユーザ・インターフェース・マネージャ102は、コンピューティング・デバイス300のタッチ・スクリーン・ディスプレイ301上に表示されたメッセージング・グラフィカル・ユーザ・インターフェース302内に通信スレッド304およびメッセージ入力コントロール・パレット310を表示する。図3Aとは異なり、本実施形態では、ユーザ・インターフェース・マネージャ102は、最初に通信スレッド304内にメッセージ入力要素を提供しない。
【0079】
上記のように、ユーザ・インターフェース・マネージャ102は、メッセージ入力コントロール・パレット310内でメッセージ入力コントロールとのユーザ・インタラクションを検出したときタッチ・スクリーン・ディスプレイ・キーボードを提供し得る。たとえば、図4Bに示されているように、ユーザの指318が、メッセージ入力コントロール・パレット310内のテキスト入力コントロール312aに関連してタッチ・ジェスチャ(すなわち、タップ・タッチ・ジェスチャ)を実施する。1つまたは複数の実施形態では、ユーザ入力検出部104は、タッチ・ジェスチャを検出することができ、ユーザ・インターフェース・マネージャ102は、検出されたタッチ・ジェスチャに応答してタッチ・スクリーン・ディスプレイ・キーボード316を提供することができる。代替の実施形態では、ユーザ・インターフェース・マネージャ102は、他のタイプの検出されたタッチ・ジェスチャに応答してタッチ・スクリーン・ディスプレイ・キーボード316を提供してもよい。たとえば、1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、口頭コマンド、コンピューティング・デバイス300の向きの変化(たとえば、縦長から横長)、メッセージング・グラフィカル・ユーザ・インターフェース302の下部からのスワイプアップ・タッチ・ジェスチャ、またはこの目的に適したものとなり得る任意の他の方法に応答して、タッチ・スクリーン・ディスプレイ・キーボード316を提供してもよい。
【0080】
メッセージ入力要素308は、ユーザがメッセージ入力をタイプ入力し始めてすぐに通信スレッド304内で選択的に提供されてもよい。たとえば、図3Aでは、ユーザ・インターフェース・マネージャ102は、ユーザ入力検出部104がテキスト入力コントロール312aの選択を検出する前に、メッセージ入力要素308を通信スレッド304内に提供する。しかし、他の実施形態では、また図4A図4Dに示されているように、ユーザ・インターフェース・マネージャ102は、タッチ・スクリーン・ディスプレイ・キーボード316を介して検出されたユーザ入力に応答して、メッセージ入力要素308を選択的に提供してもよい。換言すれば、ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力をタイプ入力したことに応答して、メッセージ入力要素308を選択的に提供してもよい。よって、ユーザ・インターフェース編成システム100は、ユーザ・インターフェースの煩雑さを低減し、より多くの電子通信306a、306bが通信スレッド304内で確実に閲覧可能になるようにすることを手助けする。
【0081】
たとえば、図4Cに示されているように、ユーザ入力検出部104は、ユーザの指318がタッチ・スクリーン・ディスプレイ・キーボード316上でタイプ入力したことを検出し、ユーザ・インターフェース・マネージャ102は、検出されたタイプ入力に応答してメッセージ入力要素308を表示する。1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、指318がタイプ入力したときメッセージ入力要素308内にメッセージ入力のあらゆる文字を直ちに表示する。このようにして、ユーザは、メッセージ入力309を直接通信スレッド304内に書き込むことができる。図4Cに示されているように、ユーザは、「それは無理も」と読める部分的なメッセージ入力309をタイプ入力した。1つまたは複数の代替の実施形態では、ユーザ・インターフェース編成システム100は、音声認識機能をも含み得る。特定の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、ユーザによって発話されたメッセージ入力要素308内のメッセージ入力309の単語を表示してもよい。
【0082】
ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力309を書き込んでいることを示すために、またメッセージ入力要素308を送信および受信された電子通信306a、306bからさらに区別するために、メッセージング・グラフィカル・ユーザ・インターフェース302内の様々な位置でメッセージ入力要素308を表示し得る。たとえば、図4Cでは、ユーザ・インターフェース・マネージャ102は、通信スレッド304の下部中程にメッセージ入力要素308を表示する。代替の実施形態では、図3Cに示されているように、ユーザ・インターフェース・マネージャ102は、通信スレッド304の下部隅部にメッセージ入力要素308を表示してもよい。1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、他の様々な場所にメッセージ入力要素308を表示してもよい。たとえば、代替の実施形態では、ユーザ・インターフェース・マネージャ102は、通信スレッド304の上方に浮いているように見えるように、メッセージング・グラフィカル・ユーザ・インターフェース302の上に重ねられたメッセージ入力要素308を表示してもよい。
【0083】
図3A図3Dに関して述べたように、ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力309を書き込んでいるときに、メッセージ入力309を収容するようにメッセージ入力要素308を連続的にサイズ変更してもよい。同様に、図3A図3Dに関して述べたように、ユーザ・インターフェース・マネージャ102は、ユーザがメッセージ入力309を書き込んでいる間、電子通信306a、306bとは異なる特性をメッセージ入力要素308に提供してもよい。たとえば、図4Cに示されているように、ユーザ・インターフェース・マネージャ102は、より広い境界線、および電子通信306a、306bのものとは異なる背景特性を有するメッセージ入力要素308を表示する。このようにして、ユーザは、メッセージ入力要素308を電子通信306a、306bから容易に区別することができる。
【0084】
図3C図3Dに関して述べたように、通信マネージャ106は、検出された送信要素314とのユーザ・インタラクションに応答して、メッセージ入力要素308内に書き込まれたメッセージ入力309を1人または複数の共同ユーザに送信することができる。それに加えて、または代替として、通信マネージャ106は、メッセージ入力要素308内に書き込まれたメッセージ入力309を通信サーバ208に送信することができ、通信サーバ208は、メッセージ入力309を、1人または複数の共同ユーザに関連付けられた1つまたは複数のコンピューティング・デバイスに送信する。また、図3C図3Dに関して述べたように、ユーザ・インターフェース・マネージャ102は、検出された送信要素314とのユーザ・インタラクションに応答して、メッセージ入力要素308およびメッセージ入力309の様々なディスプレイ特性を変更することができる。たとえば、図4Dに示されているように、ユーザ入力検出部104は、送信要素314に関連して指318によって実施されたタッチ・ジェスチャ(すなわち、タップ・タッチ・ジェスチャ)を検出し、検出されたタッチ・ジェスチャを通信マネージャ106およびユーザ・インターフェース・マネージャ102にレポートする。
【0085】
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、検出されたユーザ・インタラクション、およびメッセージ入力309がメッセージとして送信されたことに応答して、メッセージ入力要素308のディスプレイ位置を変更してもよい。たとえば、図4Cおよび4Dに示されているように、ユーザ・インターフェース・マネージャ102は、図4Cにおけるメッセージ入力要素308を通信スレッド304の下部中程に提供し、次いで、図4Dにおいてメッセージ入力要素308の位置を通信スレッド304の側部に変更する。したがって、ユーザ・インターフェース・マネージャ102は、メッセージが送信されたことをユーザに明確に示す。
【0086】
また、図3C図3Dに関して述べたように、ユーザ・インターフェース・マネージャ102は、メッセージ入力309がメッセージとして送信されたことを示すためにメッセージ入力要素308およびメッセージ入力309の他のディスプレイ位置を変更してもよい。たとえば、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308およびメッセージ入力309の色、フォント、または形状を変更してもよい。さらに、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308を、もはや選択可能でも編集可能でもないように更新してもよい。
【0087】
上記で論じたように、ユーザ・インターフェース・マネージャ102は、図5Aおよび図5Bに関して示すように、ディスプレイ要素を選択的に除去してもよい。たとえば、図5Aでは、ユーザ・インターフェース・マネージャ102は、「それは無理もないね」というメッセージが送信された後、メッセージング・グラフィカル・ユーザ・インターフェース302を表示する。したがって、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、やはり通信スレッド304内に「メッセージを入力してください...」という勧誘と共にメッセージ入力要素308を表示してもよい。したがって、ユーザ・インターフェース・マネージャ102がメッセージング・グラフィカル・ユーザ・インターフェース302をこの状態で表示している間、ユーザは、タッチ・スクリーン・ディスプレイ・キーボード316を介して別のメッセージを入力することができる。
【0088】
あるいは、ユーザは、別のメッセージを書き込むのではなく、通信スレッド304の最大化された部分を閲覧したいと望むことがある。たとえば、図5Bに示されているように、ユーザ・インターフェース・マネージャ102は、検出されたタッチ・ジェスチャに応答して、メッセージ入力要素308およびタッチ・スクリーン・ディスプレイ・キーボード316(図5Aに示されている)を除去する。1つまたは複数の実施形態では、ユーザ入力検出部104は、メッセージ入力コントロール・パレット310内に表示されたメッセージ入力コントロールに関連してユーザの指318によって実施されたタッチ・ジェスチャを検出し得る。特定の実施形態では、ユーザ・インターフェース・マネージャ102は、検出されたタッチ・ジェスチャに応答して、テキスト入力コントロール312aを含めて、メッセージ入力要素308およびタッチ・スクリーン・ディスプレイ・キーボード316を除去してもよい。
【0089】
1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102は、検出されたテキスト入力を必要としない別のメッセージ入力コントロール(すなわち、記録されたメッセージ)とのタッチ・ジェスチャに応答して、メッセージ入力要素308およびタッチ・スクリーン・ディスプレイ・キーボード316を除去してもよい。1つまたは複数の代替の実施形態では、ユーザ・インターフェース・マネージャ102は、検出されたタッチ・ジェスチャに応答して、タッチ・スクリーン・キーボードを別のメッセージ入力コントロールと(たとえば、カメラ・ビューファインダ、記録コントロール、ファイル選択ギャラリなど)置き換えてもよい。したがって、ユーザ・インターフェース・マネージャ102は、メッセージング・グラフィカル・ユーザ・インターフェース302内で最適な編成を維持するために、様々なメッセージ入力コントロールを選択的に除去し置き換えてもよい。
【0090】
ユーザ・インターフェース・マネージャ102が検出されたユーザ・インタラクションに従ってディスプレイ要素を選択的に除去すること、および置き換えることのうちの少なくとも一方を行うことを可能にすることは、多数の理由で有利である。まず、ユーザ・インターフェース・マネージャ102は、メッセージ入力要素308およびタッチ・スクリーン・ディスプレイ・キーボード316など未使用のディスプレイ要素が除去されたとき、通信スレッド304の最大部分がユーザによって閲覧されることを可能にする。したがって、1つまたは複数の実施形態では、ユーザ・インターフェース・マネージャ102が未使用のディスプレイ要素を除去したとき、ユーザは、通信セッションの状況、ならびにどこで通信セッションが終わったか、より容易に見分けることができる。さらに有利なのは、ユーザ・インターフェース・マネージャ102が、実際に使用されているディスプレイ要素を提供することによってメッセージング・グラフィカル・ユーザ・インターフェース302の最適な編成を維持することである。
【0091】
図1図5Bでは、対応するテキストおよび例が、通信システムのグラフィカル・ユーザ・インターフェースを編成するためのいくつかの異なるシステムおよびデバイスを提供している。前述に加えて、実施形態について、特定の結果を達成するための方法における動作および工程を含むフローチャートで表して述べることもできる。たとえば、図6図7は、1つまたは複数の実施形態による例示的な方法のフローチャートを示す。図6図7に関して述べられている方法は、より少ない、もしくはより多い工程/動作で実施されてもよく、または工程/動作は、異なる順序で実施されてもよい。さらに、本明細書に記載の工程/動作は、互いに平行して、または同じもしくは同様の工程/動作の異なる例に平行して反復または実施されてもよい。
【0092】
図6は、電子通信を直接通信スレッド304内に書き込む1つの例示的な方法600のフローチャートを示す。方法600は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作602を含む。具体的には、動作602は、通信スレッド304を含むメッセージング・グラフィカル・ユーザ・インターフェース302を提供する工程を含むことができる。通信スレッドは、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージ306a、306bと、メッセージ入力要素308とを含むことができる。1つまたは複数の実施形態では、メッセージ入力要素308を提供する動作602は、メッセージ入力要素308をテキスト吹き出しとして提供することを含むことができる。
【0093】
方法600は、メッセージをユーザから受け取る動作604をさらに含む。具体的には、動作604は、メッセージ入力をユーザから受け取る工程を含むことができる(たとえば、図3Dおよび図4Dにおける「それは無理もないね」)。たとえば、メッセージ入力309をユーザから受け取る動作604は、タッチ・スクリーン・ディスプレイ・キーボード316を介してメッセージ入力309を受け取る工程を含み得る。1つまたは複数の代替の実施形態では、メッセージ入力309をユーザから受け取る動作604は、上記で論じたように、キーボード、マウス、マイクロフォン、カメラ、トラック・パッドを介して、または様々な他の方法を介してメッセージ入力309を受け取る工程を含み得る。
【0094】
さらに、方法600は、メッセージ入力要素内にメッセージ入力を登録する動作606をさらに含む。具体的には、動作606は、通信スレッド304内のメッセージ入力要素308内にメッセージ入力309を登録する工程を含むことができる。たとえば、メッセージ入力要素308内にメッセージ入力309を登録する動作606は、タッチ・スクリーン・ディスプレイ・キーボード316を介してユーザによってタイプ入力された各キャラクタ、単語、および文のうちの少なくとも1つを、タイプ入力されたままメッセージ入力要素308内に同時に登録する工程を含むことができる。1つまたは複数の実施形態では、方法600は、通信スレッド304内のメッセージ入力要素308の選択に応答してタッチ・スクリーン・ディスプレイ・キーボード316を提供する工程をさらに含み得る。さらに、1つまたは複数の実施形態では、方法600は、タッチ・スクリーン・ディスプレイ・キーボード316を介してメッセージ入力309を収容するためにメッセージ入力要素308をサイズ変更する工程をも含み得る。
【0095】
方法600は、メッセージを送信する動作608をも含む。具体的には、動作608は、メッセージ入力要素308内に登録されたメッセージ入力309を送信する工程を含むことができる。たとえば、1つまたは複数の実施形態では、メッセージを送信する動作608は、メッセージ入力要素308内に登録されたメッセージ入力309を通信システムの1人または複数の共同ユーザに送信する工程を含み得る。
【0096】
方法600は、メッセージの送信を反映するようにメッセージ入力要素の特性を変更する動作610をさらに含む。具体的には、メッセージ入力要素308内に登録されたメッセージ入力309の送信を反映するように、通信スレッド304内のメッセージ入力要素308の特性を変更する工程を含むことができる。1つまたは複数の実施形態では、メッセージ入力要素308内に登録されたメッセージ入力309の送信を反映するように、通信スレッド304内のメッセージ入力要素308の特性を変更する動作610は、メッセージ入力要素308の色、位置、サイズ、フォント、または向きのうちの1つまたは複数を変更する工程を含むことができる。それに加えて、または代替として、メッセージ入力要素308内に登録されたメッセージ入力の送信を反映するように、通信スレッド304内のメッセージ入力要素308の特性を変更する動作610は、通信スレッド304内のメッセージ入力要素308の水平位置を変更する工程をさらに含むことができる。
【0097】
さらに、方法600は、メッセージ入力要素308内へのメッセージ入力309の登録を反映するように、メッセージ入力要素308の特性を変更する工程をさらに含み得る。たとえば、メッセージ入力要素308内へのメッセージ入力309の登録を反映するように、メッセージ入力要素308の特性を変更する工程を含む方法600は、ユーザがタッチ・スクリーン・ディスプレイ・キーボード316を使用してメッセージ入力309をタイプ入力している間、メッセージ入力要素308およびメッセージ入力309のうちの少なくとも一方の色、位置、サイズ、フォント、または向きを変更する工程を含み得る。より具体的には、方法600は、メッセージ入力要素308を第1の色から第2の色に変更することによって、メッセージ入力要素308内へのメッセージ入力309の登録を反映するように、メッセージ入力要素308の特性を変更する工程を含み得る。さらに、方法600は、メッセージ入力要素308を第2の色から第3の色に変更することによって、メッセージ入力要素308内に登録されたメッセージ入力309の送信を反映するように、通信スレッド304内のメッセージ入力要素308の特性を変更する工程をも含み得る。
【0098】
方法600は、1つまたは複数のメッセージ入力コントロールのパレット310からメッセージ入力コントロール312a〜312eの選択を検出する工程をさらに含み得る。次いで、方法600は、メッセージ入力コントロールの選択に応答して、メッセージ入力要素308を通信スレッド304から除去する工程を含むことができる。たとえば、方法600は、テキストのメッセージ入力を示さないメッセージ入力コントロール(すなわち、テキスト入力コントロール312aでない)の選択を検出する工程、およびメッセージ入力要素308を通信スレッド304から除去する工程を含むことができる。1つまたは複数の実施形態では、メッセージ入力コントロールの選択を検出する方法600は、写真入力コントロール312b、ファイル入力コントロール312c、記号入力コントロール312d、または記録入力コントロール312eを検出する工程を含むことができる。
【0099】
図7は、電子通信を直接通信スレッド内に書き込む方法700のフローチャートを示す。方法700は、メッセージング・グラフィカル・ユーザ・インターフェースを提供する動作702を含む。具体的には、動作702は、通信スレッド304を含むメッセージング・グラフィカル・ユーザ・インターフェース302を提供する工程を含むことができる。通信スレッド304は、ユーザと1人または複数の共同ユーザとの間で交換された複数の電子メッセージ306a、306bを含むことができる。メッセージング・グラフィカル・ユーザ・インターフェース302は、1つまたは複数のメッセージ入力コントロール312a〜312eのパレット310を含むメッセージ入力コントロール・エリアをさらに含む。
【0100】
方法700は、メッセージ入力コントロールの選択を検出する動作704をさらに含む。具体的には、動作704は、1つまたは複数のメッセージ入力コントロール312a〜312eのパレット310から第1のメッセージ入力コントロール312aの選択を検出する工程を含むことができる。1つまたは複数の実施形態では、方法700は、第1のメッセージ入力コントロール312aの選択に応答して、メッセージング・グラフィカル・ユーザ・インターフェース302内にタッチ・スクリーン・ディスプレイ・キーボード316を提供する工程をさらに含むことができる。たとえば、1つまたは複数の実施形態では、第1のメッセージ入力コントロールの選択を検出する動作704は、テキスト入力コントロール312aの選択を検出する工程を含み得る。
【0101】
さらに、方法700は、通信スレッド内にメッセージ入力要素を提供する動作706をさらに含む。具体的には、動作706は、第1のメッセージ入力コントロール312aの選択に応答して、通信スレッド304内にメッセージ入力要素308を提供する工程を含むことができる。1つまたは複数の実施形態では、通信スレッド304内にメッセージ入力要素308を提供する動作706は、通信スレッド304内にテキスト吹き出しを提供する工程、およびテキスト吹き出し内にカーソル319を提供する工程を含むことができる。
【0102】
方法700は、メッセージを受け取る動作708をさらに含む。具体的には、動作708は、メッセージ入力309を受け取る工程を含むことができる。たとえば、動作708は、タッチ・スクリーン・ディスプレイ・キーボード316を介してユーザによってタイプ入力されたメッセージ入力309を受け取る工程を含むことができる。1つまたは複数の代替の実施形態では、動作708は、音声入力を介して、ファイル選択を介して、またはカメラ入力を介してメッセージ入力309を受け取る工程を含むことができる。
【0103】
方法700は、メッセージをメッセージ入力要素内に登録する動作710をさらに含む。具体的には、動作710は、通信スレッド304内のメッセージ入力要素308内にメッセージ入力309を登録する工程を含むことができる。たとえば、動作708は、ユーザがタッチ・スクリーン・ディスプレイ・キーボード316を介してメッセージをタイプ入力したときメッセージ入力要素308内にメッセージ入力309を登録する工程を含むことができる。
【0104】
方法700は、第2のメッセージング入力コントロールの選択を検出する工程をさらに含み得る。第2のメッセージング入力コントロールの選択に応答して、方法700は、通信スレッド304からメッセージ入力要素308を除去する工程、およびメッセージング・グラフィカル・ユーザ・インターフェース302からタッチ・スクリーン・ディスプレイ・キーボード318を除去する工程をも含み得る。1つまたは複数の実施形態では、第2のメッセージング入力の選択を検出する工程は、写真入力コントロール312b、ファイル入力コントロール312c、記号入力コントロール312d、または記録入力コントロール312eのうちの1つまたは複数の選択を検出する工程を含むことができる。さらに、通信スレッド304からメッセージ入力要素308を除去する工程は、通信スレッド304からテキスト吹き出しを除去する工程を含み得る。
【0105】
方法700はまた、メッセージ入力要素308内に登録されたメッセージ入力309を送信する工程、およびメッセージ入力要素308内に登録されたメッセージ入力309の送信を反映するように、通信スレッド304内のメッセージ入力要素308の特性を変更する工程をさらに含み得る。1つまたは複数の実施形態では、メッセージ入力要素308内に登録されたメッセージ入力309の送信を反映するように、メッセージ入力要素308の特性を変更する工程は、メッセージ入力要素308の色、位置、サイズ、フォント、または向きのうちの1つまたは複数を変更する工程を含むことができる。さらに、1つまたは複数の実施形態では、メッセージ入力要素308内に登録されたメッセージ入力309を送信する工程は、メッセージ入力309を通信システムの1人または複数の共同ユーザに送信する工程を含み得る。
【0106】
本開示の実施形態では、以下に詳述する通り、たとえば1つまたは複数のプロセッサおよびシステムメモリ等のコンピュータハードウェアを備えた専用または汎用コンピュータを備えるか、または利用するようにしてもよい。また、本開示の範囲内の実施形態には、コンピュータ実行可能な命令および/またはデータ構造を搬送または記憶する物理的なコンピュータ可読媒体および他のコンピュータ可読媒体を含む。特に、本明細書に記載のプロセスのうちの1つまたは複数は、非一時的コンピュータ可読媒体にて具現化され、1つまたは複数のコンピューティング・デバイス(たとえば、本明細書に記載のメディアコンテンツアクセスデバイスのいずれか)により実行可能な命令として、その少なくとも一部が実装されていてもよい。特に、プロセッサ(たとえば、マイクロプロセッサ)が非一時的コンピュータ可読媒体(たとえば、メモリ等)から命令を受け取り、これらの命令を実行することによって、本明細書に記載のプロセスのうちの1つまたは複数等、1つまたは複数のプロセスを実行する。
【0107】
コンピュータ可読媒体としては、汎用または専用コンピュータ・システムによりアクセス可能な任意の利用可能な媒体が可能である。コンピュータ実行可能な命令を記憶するコンピュータ可読媒体は、非一時的コンピュータ可読記憶媒体(デバイス)である。コンピュータ実行可能な命令を搬送するコンピュータ可読媒体は、伝送媒体である。このように、非限定的な一例として、本開示の実施形態には、非一時的コンピュータ可読記憶媒体(デバイス)および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
【0108】
非一時的コンピュータ可読記憶媒体(デバイス)としては、RAM、ROM、EEPROM、CD−ROM、固体ドライブ(「SSD」)(たとえば、RAMベース)、フラッシュメモリ、相変化メモリ(「PCM」)、他の種類のメモリ、他の光ディスクストレージ、磁気ディスクストレージ等の磁気ストレージデバイス、またはコンピュータ実行可能な命令もしくはデータ構造の形態の所望のプログラムコード手段の記憶に使用可能であるとともに、汎用もしくは専用コンピュータによりアクセス可能なその他任意の媒体が挙げられる。
【0109】
「ネットワーク」は、コンピュータ・システムおよび/またはモジュールおよび/または他の電子機器間で電子データを伝送可能な1つまたは複数のデータリンクとして定義されている。情報がネットワークまたは別の通信接続(有線、無線、または有線もしくは無線の組み合わせ)上でコンピュータに転送または提供される場合、上記コンピュータは、その接続を厳密に伝送媒体と見なす。伝送媒体としては、コンピュータ実行可能な命令またはデータ構造の形態の所望のプログラムコード手段の搬送に使用可能であるとともに、汎用または専用コンピュータによりアクセス可能なネットワークおよび/またはデータリンクが挙げられる。また、上記の組み合わせについても、コンピュータ可読媒体の範囲に含まれるものとする。
【0110】
さらに、コンピュータ・システムのさまざまな構成要素に到達した際に、コンピュータ実行可能な命令またはデータ構造の形態のプログラムコード手段は、伝送媒体から非一時的コンピュータ可読記憶媒体(デバイス)へと自動的に転送可能である(その逆も可能である)。たとえば、ネットワークまたはデータリンク上で受信されたコンピュータ実行可能な命令またはデータ構造は、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAMにバッファリングした後、最終的には、コンピュータ・システムRAMおよび/またはコンピュータ・システムにおける低揮発性コンピュータ記憶媒体(デバイス)に転送可能である。したがって、非一時的コンピュータ可読記憶媒体(デバイス)は、伝送媒体も(または、主として)利用するコンピュータ・システムの構成要素に含み得ることが了解されるものとする。
【0111】
コンピュータ実行可能な命令としては、たとえばプロセッサで実行された場合に、特定の機能または機能群を汎用コンピュータ、専用コンピュータ、または専用処理デバイスに実行させる命令およびデータが挙げられる。いくつかの実施形態においては、コンピュータ実行可能な命令が汎用コンピュータ上で実行されることにより、上記汎用コンピュータは、本開示の要素を実装した専用コンピュータへと変化する。コンピュータ実行可能な命令は、たとえばバイナリ、アセンブリ言語等の中間フォーマット命令、あるいはソースコードであってもよい。以上、構造的特徴および/または方法論的行為に固有の表現で主題を説明したが、添付の特許請求の範囲に規定の主題は、必ずしも上述の特徴または行為に限定されないことが了解されるものとする。むしろ、上記特徴および行為は、特許請求の範囲を実施する例示的な形態として開示している。
【0112】
当業者であれば、本開示が、パーソナルコンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、メッセージプロセッサ、携帯機器、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラム可能な家庭用電化製品、ネットワークPC、マイクロコンピュータ、メインフレームコンピュータ、携帯電話、PDA,タブレット、ポケベル、ルータ、スイッチ等、さまざまな種類のコンピュータ・システム構成のネットワークコンピュータ環境において実現されるようになっていてもよいことが認識されよう。また、本開示は、ネットワークを通じて(有線データリンク、無線データリンク、または有線および無線データリンクの組み合わせにより)リンクしたローカルメモリストレージデバイスおよび遠隔コンピュータ・システムがともにタスクを実行する分散システム環境において実現されるようになっていてもよい。分散システム環境においては、ローカルメモリストレージデバイスおよび遠隔メモリストレージデバイスの両者にプログラムモジュールが配置されていてもよい。
【0113】
また、本開示の実施形態は、クラウドコンピュータ環境において実装可能である。本明細書において、「クラウドコンピューティング」は、設定可能なコンピュータリソースの共有プールに対するオンデマンドネットワークアクセスを可能とするモデルとして定義されている。たとえば、クラウドコンピューティングは、設定可能なコンピュータリソースの共有プールに対するユビキタスかつ便利なオンデマンドアクセスを提供する市場で採用可能である。設定可能なコンピュータリソースの共有プールは、仮想化によって迅速にセットアップ可能であるとともに、わずかな管理労力またはサービスプロバイダ対話で解放可能であるため、これに応じてスケーリング可能である。
【0114】
クラウドコンピューティングモデルは、たとえばオンデマンドセルフサービス、ブロードネットワークアクセス、リソースプーリング、ラピッドエラスティシティ、メジャードサービス等のさまざまな特性で構成可能である。また、クラウドコンピューティングモデルは、たとえばサービス型ソフトウェア(SaaS)、サービス型プラットフォーム(PaaS)、およびサービス型インフラ(IaaS)等のさまざまなサービスモデルを提供可能である。また、クラウドコンピューティングモデルは、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等のさまざまな展開モデルを用いて展開可能である。本明細書および特許請求の範囲において、「クラウドコンピュータ環境」は、クラウドコンピューティングを採用する環境である。
【0115】
図8は、上記の方法の1つまたは複数を実施するように構成され得る例示的なコンピューティング・デバイス800のブロック図を示す。UI編成システム100は、コンピューティング・デバイス800など1つまたは複数のコンピューティング・デバイスによって実装され得ることは理解されよう。たとえば、図2に示されているコンピューティング・デバイス202、204および図3A図5Bに示されているコンピューティング・デバイス300のいずれかが、コンピューティング・デバイス800であってよい。図8によって示されているように、コンピューティング・デバイス800は、プロセッサ802、メモリ804、ストレージデバイス806、I/Oインターフェース808、および通信インターフェース810を含むことができ、これらは、通信インフラストラクチャ812により通信可能に結合され得る。例示的なコンピューティング・デバイス800が図8に示されているが、図8に示されている構成要素は、限定するものではない。追加または代替の構成要素が他の実施形態で使用されてもよい。さらに、いくつかの実施形態では、コンピューティング・デバイス800は、図8に示されているものより少ない構成要素を含むことができる。次に、図8に示されているコンピューティング・デバイス800の構成要素について、追加的な詳細で述べる。
【0116】
特定の実施形態において、プロセッサ802は、コンピュータプログラムを構成する命令等を実行するハードウェアを備えてもよい。非限定的な一例として、プロセッサ802は、命令を実行するため、内部レジスタ、内部キャッシュ、メモリ804、またはストレージデバイス806から命令を取り出す(または、フェッチする)とともに、上記命令を復号化して実行するようにしてもよい。特定の実施形態において、プロセッサ802は、データ、命令、またはアドレス用の1つまたは複数の内部キャッシュを備えてもよい。非限定的な一例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータキャッシュ、および1つまたは複数のトランスレーション・ルックアサイド・バッファ(TLB)を備えてもよい。命令キャッシュ中の命令は、メモリ804またはストレージデバイス806中の命令のコピーであってもよい。
【0117】
メモリ804は、データ、メタデータ、およびプロセッサが実行するプログラムの記憶に使用してもよい。メモリ804は、ランダムアクセスメモリ(「RAM」)、リードオンリーメモリ(「ROM」)、固体ディスク(「SSD」)、フラッシュ、相変化メモリ(「PCM」)、または他の種類のデータ・ストレージ等、揮発性および不揮発性メモリのうちの1つまたは複数を備えていてもよい。また、メモリ804は、内部メモリであってもよいし、分散メモリであってもよい。
【0118】
ストレージデバイス806は、データまたは命令を記憶するストレージを備える。非限定的な一例として、ストレージデバイス806は、上述の非一時的記憶媒体を備えることができる。ストレージデバイス806としては、ハードディスクドライブ(HDD)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、ユニバーサルシリアルバス(USB)ドライブ、またはこれらのうちの2つ以上の組み合わせが挙げられる。ストレージデバイス806は、必要に応じて、取り外し可能媒体を備えていてもよいし、取り外しできない(すなわち、固定)媒体を備えていてもよい。また、ストレージデバイス806は、コンピューティング・デバイス800の内部であってもよいし、外部であってもよい。特定の実施形態において、ストレージデバイス806は、不揮発性の固体メモリである。別の実施形態において、ストレージデバイス806は、リードオンリーメモリ(ROM)を含む。必要に応じて、このROMは、マスクプログラムROM、プログラム可能ROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、フラッシュメモリ、またはこれらのうちの2つ以上の組み合わせであってもよい。
【0119】
I/Oインターフェース808は、コンピューティング・デバイス800に対するユーザの入力付与、コンピューティング・デバイス800からの出力受容、あるいはコンピューティング・デバイス800へのデータ転送およびコンピューティング・デバイスからのデータ受信を可能にする。I/Oインターフェース808としては、マウス、キーパッドもしくはキーボード、タッチ・スクリーン、カメラ、光学スキャナ、ネットワークインターフェース、モデル、その他既知のI/Oデバイス、またはこのようなI/Oインターフェースの組み合わせが挙げられる。
【0120】
I/Oインターフェース808は、出力をユーザに提示する1つまたは複数の機器を備えていてもよく、グラフィックスエンジン、ディスプレイ(たとえば、表示画面)、1つまたは複数の出力ドライバ(たとえば、ディスプレイドライバ)、1つまたは複数の音声スピーカ、および1つまたは複数の音声ドライバが挙げられるが、これらに限定されない。特定の実施形態において、I/Oインターフェース808は、グラフィックデータをディスプレイに提供して、ユーザに提示するように構成されている。グラフィックデータは、特定の実施態様に役立ち得る1つもしくは複数のグラフィカル・ユーザ・インターフェースおよび/またはその他任意のグラフィックコンテンツを代表するものであってもよい。
【0121】
通信インターフェース810は、ハードウェア、ソフトウェア、または両者を含み得る。いずれにしても、通信インターフェース810は、コンピューティング・デバイス800と1つもしくは複数の他のコンピューティング・デバイスまたはネットワークとの間の通信(たとえば、パケットベースの通信等)のための1つまたは複数のインターフェースを提供可能である。非限定的な一例として、通信インターフェース810としては、イーサネット(登録商標)等の有線ネットワークと連通するネットワークインターフェースコントローラ(NIC)もしくはネットワークアダプタまたはWi−Fi等の無線ネットワークと連通する無線NIC(WNIC)もしくは無線アダプタが挙げられる。
【0122】
付加的に、または代替的に、通信インターフェース810は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの1つもしくは複数の部分、またはこれらのうちの2つ以上の組み合わせとの通信を円滑にするようになっていてもよい。これらネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線であってもよいし、無線であってもよい。一例として、通信インターフェース810は、無線PAN(WPAN)(たとえば、Bluetooth(登録商標)WPAN等)、Wi−Fiネットワーク、Wi−MAXネットワーク、携帯電話ネットワーク(たとえば、汎欧州デジタル移動電話通信((登録商標))ネットワーク等)、他の適当な無線ネットワーク、またはこれらの組み合わせとの通信を円滑にするようになっていてもよい。
【0123】
さらに、通信インターフェース810は、様々な通信プロトコルでの通信を円滑にし得る。使用され得る通信プロトコルの例は、それだけには限らないが、データ伝送媒体、通信デバイス、伝送制御プロトコル(TCP)、インターネット・プロトコル(IP)、ファイル転送プロトコル(FTP)、テルネット、ハイパーテキスト転送プロトコル(HTTP)、ハイパーテキスト転送プロトコル・セキュア(HTTPS)、セッション開始プロトコル(SIP)、シンプル・オブジェクト・アクセス・プロトコル(SOAP)、拡張マークアップ言語(XML)およびその変形形態、簡易メール転送プロトコル(SMTP)、リアルタイム・トランスポート・プロトコル(RTP)、ユーザ・データグラム・プロトコル(UDP)、グローバル移動体通信システム(GSM)技術、符号分割多元接続(CDMA)技術、時分割多元接続(TDMA)技術、ショート・メッセージ・サービス(SMS)、マルチメディア・メッセージ・サービス(MMS)、無線周波数(RF)シグナリング技術、ロング・ターム・エボリューション(LTE)技術、ワイヤレス通信技術、帯域内および帯域外シグナリング技術、ならびに他の好適な通信ネットワークおよび技術を含む。
【0124】
通信インフラストラクチャ812は、コンピューティング・デバイス800の部品を互いに接続するハードウェア、ソフトウェア、またはその両方を含み得る。非限定的な一例として、通信インフラストラクチャ812は、アクセラレイテッドグラフィックスポート(AGP)等のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、ロウピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(PCI)バス、PCIエクスプレス(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス標準協会ローカル(VLB)バス、その他適当なバス、またはこれらの組み合わせを含んでいてもよい。
【0125】
上述の通り、ネットワークアプリケーション206および通信サーバ208のうちの少なくとも一方は、ソーシャル・ネットワーキング・システムを含み得る。ソーシャル・ネットワーキング・システムによれば、そのユーザ(人または組織等)は、システムと、および互いに対話が可能である。ソーシャル・ネットワーキング・システムは、ユーザからの入力により、ユーザに関連付けられているユーザプロフィールを作成して上記ソーシャル・ネットワーキング・システムに記憶するようにしてもよい。ユーザプロフィールには、人口統計学的情報、通信チャンネル情報、およびユーザの個人的関心に関する情報を含んでいてもよい。また、ソーシャル・ネットワーキング・システムは、ユーザからの入力により、上記ユーザのソーシャル・ネットワーキング・システムの他ユーザとの関係のレコードを作成して記憶するとともに、ユーザ間の社会的対話を円滑に行わせるサービス(たとえば、ウォール投稿、写真共有、イベント統合、メッセージング、ゲーム、または広告)を提供するようにしてもよい。
【0126】
ソーシャル・ネットワーキング・システムは、複数のノードおよび上記ノードをつなげる複数のエッジを含むソーシャルグラフにおいて、ユーザおよびユーザ間の関係のレコードを記憶するようにしてもよい。ノードは、複数のユーザノードおよび複数のコンセプトノードを含んでいてもよい。ソーシャルグラフのユーザノードは、ソーシャル・ネットワーキング・システムのユーザに対応していてもよい。ユーザは、個人(人間のユーザ)であってもよいし、団体(たとえば、企業、事業所、またはサードパーティアプリケーション)であってもよいし、グループ(たとえば、個人または団体のグループ)であってもよい。ユーザに対応するユーザノードには、ユーザが提供した情報およびソーシャル・ネットワーキング・システム等のさまざまなシステムが収集した情報を含んでいてもよい。
【0127】
たとえば、ユーザは、自身の氏名、プロフィール写真、居住市、連作先情報、誕生日、性別、結婚歴、家族状況、職業、学歴、好み、関心、およびユーザノードに含める他の人口統計学的情報を提供するようにしてもよい。ソーシャルグラフの各ユーザノードは、対応するウェブページ(通常、プロフィールページとして知られている)を有していてもよい。ユーザ名を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記ユーザ名に対応したユーザノードにアクセスするとともに、氏名、プロフィール写真、およびユーザに関連付けられている他の情報を含むプロフィールページを構築することができる。第1のユーザのプロフィールページは、第1のユーザによる1つまたは複数のプライバシー設定および第1のユーザと第2のユーザとの間の関係に基づいて、第1のユーザの情報の全部または一部が第2のユーザに表示されるようになっていてもよい。
【0128】
コンセプトノードは、ソーシャル・ネットワーキング・システムのコンセプトに対応していてもよい。たとえば、コンセプトは、映画、歌曲、スポーツチーム、有名人、グループ、レストラン、または場所もしくは位置等、現実世界に存在する人や物を表すことができる。コンセプトに対応するコンセプトノードを管理するユーザは、(たとえば、オンラインフォームの記入によって)コンセプトの情報を提供し、上記情報とコンセプトノードとの関連付けをソーシャル・ネットワーキング・システムに行わせることによって、コンセプトノードの作成または更新を行うようにしてもよい。非限定的な一例として、コンセプトに関連付けられている情報としては、名称またはタイトル、1つまたは複数の画像(たとえば、書籍の表紙の画像)、ウェブサイト(たとえば、URLアドレス)、または連絡先情報(たとえば、電話番号、電子メールアドレス)が挙げられる。ソーシャルグラフの各コンセプトノードは、ウェブページに対応していてもよい。たとえば、名称を含む要求に応答して、ソーシャル・ネットワーキング・システムは、上記名称に対応したコンセプトノードにアクセスするとともに、上記名称およびコンセプトに関連付けられている他の情報を含むウェブページを構築することができる。
【0129】
一対のノード間のエッジは、上記ノード対間の関係を表していてもよい。たとえば、2つのユーザノード間のエッジは、2人のユーザ間の友達関係を表すことができる。別の例として、ソーシャル・ネットワーキング・システムは、1つまたは複数の選択可能なボタン(たとえば、「いいね」、「登録」)を組み込んだコンセプトノード(たとえば、レストラン、有名人)のウェブページ(または、構造化文書)を構築するようにしてもよい。ユーザは、ユーザのクライアント・デバイスがホスティングするウェブブラウザを用いて上記ページにアクセスし、選択可能なボタンを選択することによって、ユーザのユーザノードとコンセプトのコンセプトノードとの間に、ユーザとコンセプトとの関係を示すエッジを作成する要求のソーシャル・ネットワーキング・システムへの送信をクライアント・デバイスに行わせることができる(たとえば、ユーザは、レストランを登録するか、または有名人を「いいね」する)。
【0130】
一例として、ユーザは、自身の居住市を提供(または変更)することによって、ユーザに対応するユーザノードとユーザが自身の居住市として宣言した市に対応するコンセプトノードとの間のエッジの作成をソーシャル・ネットワーキング・システムに行わせるようにしてもよい。また、任意の2つのノード間の分離度は、一方のノードから他方へとソーシャルグラフを横切るのに必要な最小ホップ数として規定される。2つのノード間の分離度は、ユーザ間またはソーシャルグラフにおいて上記2つのノードが表すコンセプト間の関連性の尺度と考えられる。たとえば、エッジによって直接つながった(すなわち、第1の程度のノードである)ユーザノードを有する2人のユーザは、「つながったユーザ」または「友達」として表すことができる。同様に、別のユーザノードを通じてのみつながった(すなわち、第2の程度のノードである)ユーザノードを有する2人のユーザは、「友達の友達」と表すことができる。
【0131】
ソーシャル・ネットワーキング・システムは、写真共有、オンラインカレンダおよびイベント、ゲーム、インスタント・メッセージング、ならびに広告等、多様なアプリケーションに対応していてもよい。たとえば、ソーシャル・ネットワーキング・システムは、メディア共有機能を備えていてもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、自身のプロフィールページへの写真および他のマルチメディア・ファイルの投稿(通常、「ウォール投稿」または「タイムライン投稿」として知られている)またはフォトアルバムへの投稿が可能であってもよく、いずれもユーザのプライバシー設定に応じて、上記ソーシャル・ネットワーキング・システムの他のユーザがアクセス可能であってもよい。また、ソーシャル・ネットワーキング・システムによって、ユーザは、イベントを設定可能であってもよい。たとえば、第1のユーザは、イベントに対して、上記イベントの日時、上記イベントの場所、および上記イベントに招待された他のユーザを含む属性を設定するようにしてもよい。招待されたユーザは、上記イベントへの招待を受信し、(招待の受諾または辞退等によって)応答するようにしてもよい。さらに、ソーシャル・ネットワーキング・システムによって、ユーザは、個人用カレンダを維持可能であってもよい。イベントと同様に、カレンダエントリには、時間、日付、場所、および他のユーザの同一性を含んでいてもよい。
【0132】
図9は、ソーシャル・ネットワーキング・システムの例示的なネットワーク環境を示している。特定の実施形態において、ソーシャル・ネットワーキング・システム902は、1つまたは複数のデータストアを備えていてもよい。特定の実施形態において、ソーシャル・ネットワーキング・システム902は、上述の通り、ユーザノード、コンセプトノード、およびノード間のエッジを含むソーシャルグラフを記憶していてもよい。各ユーザノードには、ユーザに関連付けられている情報またはユーザを記述した情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。各コンセプトノードには、コンセプトに関連付けられている情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。一対のノード間の各エッジには、上記ノード対に対応するユーザ間(または、ユーザとコンセプト間もしくはコンセプト間)の関係に関連付けられている情報に対応する1つまたは複数のデータオブジェクトを含んでいてもよい。
【0133】
特定の実施形態において、ソーシャル・ネットワーキング・システム902は、上記ソーシャル・ネットワーキング・システムの動作を対象とした機能をホスティングする1つまたは複数のコンピューティングデバイス(たとえば、サーバ)を備えていてもよい。ソーシャル・ネットワーキング・システム902のユーザは、クライアント・デバイス906等のクライアント・デバイスを用いて、上記ソーシャル・ネットワーキング・システム902にアクセスするようにしてもよい。特定の実施形態において、クライアント・デバイス906は、ネットワーク904を通じて、ソーシャル・ネットワーキング・システム902と対話してもよい。
【0134】
クライアント・デバイス906は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレットコンピュータ、個人用デジタル補助デバイス(PDA)、車載もしくは車外ナビゲーションシステム、スマートフォン等の携帯電話、モバイルゲーム機、他のモバイル・デバイス、または他の適当なコンピューティング・デバイスであってもよい。クライアント・デバイス906は、ウェブブラウザ(たとえば、Microsoft Windows(登録商標)Internet Explorer、Mozilla Firefox、Apple Safari、Google Chrome、Opera等)またはネイティブもしくは専用クライアントアプリケーション(たとえば、iPhone(登録商標)またはiPad(登録商標)用フェイスブック、Android(登録商標)用フェイスブック等)といった1つまたは複数のクライアントアプリケーションを実行することにより、ネットワーク904を通じてコンテンツにアクセスし、閲覧するようにしてもよい。
【0135】
ネットワーク904は、クライアント・デバイス906がソーシャル・ネットワーキング・システム902にアクセス可能なネットワークまたはネットワークのセット(インターネット、企業イントラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、無線ローカル・エリア・ネットワーク(WLAN)、セルラー・ネットワーク、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、または2つ以上のこのようなネットワークの組み合わせ等)を表していてもよい。
【0136】
これらの方法、システム、およびユーザ・インターフェースでは、公的に入手可能な情報およびソーシャル・ネットワーキング・システムのユーザが提供する情報の両者を利用するが、このような情報の使用はすべて、関ったユーザのすべてのプライバシー設定およびソーシャル・ネットワーキング・システム全体の個人情報保護方針の影響を明示的に受けるものとする。
【0137】
種々実施形態および態様についても、本明細書に記載の詳細を参照して記述され、添付の図面は、これら種々の実施形態を示している。上記説明および図面は、本発明の一例に過ぎず、本発明を制限するものと解釈されるべきではない。多くの具体的詳細の記述によって、本発明の種々の実施形態の十分な理解が得られる。
【0138】
本発明は、その主旨または本質的特性から逸脱することなく、他の特定の形態で具現化されるようになっていてもよい。上記実施形態は、あらゆる点において一例に過ぎず、何ら限定的なものではないと解釈されるべきである。したがって、本発明の範囲は、上記説明ではなく、添付の特許請求の範囲によって指定される。特許請求の範囲と同等の意味および範囲に含まれるすべての変更は、上記請求の範囲に包含されるものとする。
【0139】
方法のすべての実施形態および特徴は、システム請求項において同等に請求可能であり、その逆も可能である。
本明細書に記載または図示の実施形態および特徴のいずれかは、別個の請求項での請求および/または本明細書に記載もしくは図示の任意の実施形態もしくは特徴との任意の組み合わせもしくは添付の特許請求の範囲の特徴のいずれかとの任意の組み合わせでの請求が可能である。請求可能な主題には、添付の特許請求の範囲に示すような特徴の組み合わせのみならず、特許請求の範囲の特徴のその他任意の組み合わせも含み、特許請求の範囲に記載の各特徴は、特許請求の範囲におけるその他任意の特徴または特徴の組み合わせと組み合わせることができる。
図1
図2
図3A
図3B
図3C
図3D
図4A
図4B
図4C
図4D
図5A
図5B
図6
図7
図8
図9