(57)【特許請求の範囲】
【請求項１】
メッセージを生成するためにグラフィカル・インターフェースを提示することをクライアント・デバイスにリクエストする入力を受信するステップと、
第一のセットの要素を備える前記グラフィカル・インターフェースを前記クライアント・デバイスでユーザに表示するステップと、
前記クライアント・デバイスで前記グラフィカル・インターフェースが提示されつつある間に、前記ユーザに現在表示されているビデオ・コンテンツを前記クライアント・デバイスで識別するステップとを、
備え、
前記第一のセットの要素が、前記ビデオ・コンテンツについての情報を見ている間またはそれにアクセスしている間に、セットのフレーズが、前記クライアント・デバイス以外の複数のデバイスのユーザによって以前に生成されたメッセージにおいて、今までに識別されたことを示すデータの１つに少なくとも部分的に基づいて、今までに選択されたセットのフレーズであり、
前記ユーザから第一の入力を前記クライアント・デバイスで受信するステップであって、前記第一の入力が、前記メッセージに挿入するために、前記第一のセットの要素内の第一の要素を選択する、ステップと、
前記ユーザから１つ以上の付加される入力を前記クライアント・デバイスで受信するステップであって、前記１つ以上の付加される入力が、前記メッセージの１つ以上の付加される要素を特定するステップと、
前記クライアント・デバイスが、第一のフレーズと前記１つ以上の付加される要素とを少なくとも組み合わせることに基づいてメッセージを生成するステップと
を備える方法。
【請求項２】
前記１つ以上の付加される要素が、前記ビデオ・コンテンツに関連しているメタデータに少なくとも部分的に基づいて、今までに選択されている、請求項１に記載の方法。
【請求項３】
前記方法が、モバイル・デバイスによって実行され、前記ビデオ・コンテンツが、現在デジタル・ビデオ・レコーダで前記ユーザに表示されていて、かつ前記モバイル・デバイスが、ブルートゥースまたはWiFi接続の１つにより前記ビデオ・コンテンツを識別する情報を受信する、
請求項１に記載の方法。
【請求項４】
前記複数のデバイスのユーザによる使用の頻度に少なくとも部分的に基づいて、前記第一のセットの要素が順位付けされている、請求項１〜３の何れか１項に記載の方法。
【請求項５】
前記第一のセットの要素が、特定のコンテクスト内でのそれらの使用頻度に少なくとも部分的に基づいて順位付けされていて、前記特定のコンテクストが、前記ビデオ・コンテンツに関連している、請求項１〜４の何れか１項に記載の方法。
【請求項６】
前記１つ以上の付加される要素が、前記第一のセットの要素からの少なくとも１つの要素も含む、請求項１〜５の何れか１項に記載の方法。
【請求項７】
前記クライアント・デバイスが、前記第一のセットの要素をサーバから受信することを、更に、備える、請求項１〜６の何れか１項に記載の方法。
【請求項８】
サーバが、メッセージング・インターフェースの要素として使用する複数のフレーズを複数のクライアントに送信するステップと、
当該複数のクライアントの特定クライアントで、少なくとも一人の受信者にアドレスされているメッセージを、ユーザから受信するステップと、
前記メッセージを、前記少なくとも一人の受信者に送信させるステップと、
前記メッセージの分析に基づいて、前記サーバが、前記複数のフレーズに存在していなかった前記メッセージ内のフレーズを識別するステップと、
前記メッセージが生成されていた間または前記メッセージが生成されつつある直前に、前記ユーザが参加していた1つ以上の活動の態様を示すコンテクスト・データを、前記特定クライアントから受信するステップと、
少なくとも前記１つ以上の活動に基づいて前記特定クライアントに対する第一のコンテクストを識別するステップと、
前記サーバが、前記フレーズに対する使用履歴を更新するステップであって、前記使用履歴が、前記第一のコンテクスト内で前記フレーズが今までに使用された回数を示す、ステップと、
前記サーバが、前記複数のクライアント内で前記第一のコンテクストにも関連するサブセットのクライアントを識別するステップと、
前記メッセージング・インターフェースの要素として使用するために、前記サーバが、前記フレーズに対する前記使用履歴に基づいて、更に、前記サブセットのクライアントを識別することに基づいて、前記ユーザまたは前記少なくとも一人の受信者により作動されるクライアント以外の少なくとも１つのクライアントを含む前記サブセットのクライアントに前記フレーズを送信するステップと、
を備える方法。
【請求項９】
前記メッセージの前記分析に基づいて、前記サーバが、更に、前記複数のフレーズに対する人気度データを更新するステップと、
前記更新された人気度データに基づいて、前記サーバが、
前記複数のクライアントに前記更新された人気度データを送信するステップ、または、
前記複数のクライアントに改定された複数のフレーズを送信するステップであって、前記改定された複数のフレーズが、前記更新された人気度データに基づいて選択されまたは順序付けされていた、ステップ
の１つ以上を実行するステップと
を、更に、備える、請求項８に記載の方法。
【請求項１０】
更に、前記人気度データが、第二のコンテクストではなく、前記第一のコンテクストに関係している、請求項９に記載の方法。
【請求項１１】
１つ以上のプロセッサと、
メッセージを送信するように構成されているネットワーク・インターフェースと、
入力メカニズムから入力を受信するように構成されている入力インターフェースと、
を備える装置であって、
前記１つ以上のプロセッサが、前記装置に結合されている表示メカニズムに、ビデオ・コンテンツまたは当該ビデオ・コンテンツに関する情報をユーザに提示させるように構成されていて、
前記入力インターフェースが、メッセージを生成するためのグラフィック・インターフェースを提示することを前記装置にリクエストする入力を受信するように構成されていて、
前記１つ以上のプロセッサが、前記表示メカニズムに前記グラフィック・インターフェースを提示させるように構成されていて、前記グラフィック・インターフェースが、第一のセットの要素を備え、
前記第一のセットの要素が、当該ビデオ・コンテンツに関する情報を見ているまたはそれにアクセスしている間に、セットのフレーズが、前記装置以外のデバイスの複数のユーザによって以前に生成されたメッセージにおいて、今までに識別されたことを示すデータに少なくとも部分的に基づいて、今までに選択されたセットのフレーズであり、
前記入力インターフェースが、前記入力メカニズムを介して前記ユーザからの第一の入力を受信するように構成されていて、前記第一の入力が、メッセージに挿入するための前記第一のセットの要素内の第一の要素を選択し、
前記入力インターフェースが、更に、前記入力メカニズムを介して前記ユーザから１つ以上の付加される入力を受信するように構成されていて、前記１つ以上の付加される入力が、前記メッセージの１つ以上の付加される要素を特定し、
前記１つ以上のプロセッサが、更に、第一のフレーズと前記１つ以上の付加される要素とを少なくとも結合することに基づいて、前記メッセージを生成するように構成されていて、
前記ネットワーク・インターフェースが、前記メッセージを送信するように構成されている、
装置。
【請求項１２】
１つ以上のコンピューティング・デバイスによって実行されるときに、請求項１〜１０に記載の前記方法の何れか１つを実行させる命令を格納している１つ以上のコンピュータ可読媒体。
【請求項１３】
請求項１〜１０に記載の前記方法の何れか１つを実行するコンピューティング・デバイスの使用。
【請求項１４】
請求項１〜１０に記載の前記方法の何れか１つを実行するためのコンピュータ・プログラム製品。
【請求項１５】
請求項１〜１０に記載の前記方法の何れか１つを実行するように構成されている装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願明細書において記述される本発明の実施態様は、一般には、通信システム、より詳しくは、フレーズに基づくユーザ・インターフェースの技術に関する。
【背景技術】
【０００２】
このセクションにおいて記述されるアプローチは、追求する可能性があったアプローチではあるが、必ずしも、以前に考えられまたは追求されたアプローチではない。従って、特に明記しない限り、このセクションにおいて記述されるどのアプローチも、単にこのセクションにそれらが含まれていると言う理由のみでこれらを従来技術とみなすべきではない。
【０００３】
インスタント・メッセージング・クライアント、テキスト・メッセージ、電子メールおよびソーシャル・ネットワーキング・サイトのような通信ツールと通信リソースの激増は、利用可能な如何なる時間でも、利用可能な如何なるデバイスからも、利用可能な如何なる主題についても、メッセージを交換することが可能となるという要求をもたらした。残念なことに、利用可能な入力メカニズムとインターフェースに制限があることが、この要求の実現を困難にしている。例えば、多くのユーザが、コンピュータのキーボード、モバイル・フォンのテンキーおよびタッチ画面の入力手段により、メッセージを作成することには非常に熟達しているが、これらの入力メカニズムは、娯楽コンソール、メディア・センタおよびゲーム・コンソールのようなデバイスには利用できない、または望ましくない場合すらある。
【０００４】
キーボードが無いデバイスでメッセージを提供する１つの技術は、キーボードの各キーが、スクリーン上のコントロールとして設定されている、インターフェースをスクリーン上に提供することである。スクリーン上のインターフェースのコントロールは、例えば、矢印ボタンの入力と「エンタ」ボタンの入力の組合せのような、遠隔コントロール（以下、「リモコン」と呼ぶ）またはゲーム・パッドによるユーザ入力により選択することができる。メッセージング・インターフェースを提供する別の技術は、モバイル・フォンのテンキーを使用してテキスト・メッセージを作成する方法に類似する、「T9モード」でリモコンの数字ボタンを使用することである。これらの技術は、両方とも、ユーザ入力ワードとして「予測テキスト」の短いメニューをユーザに提供することによって、更に、改良することができる（これにより、ユーザは、ワードの数文字さえ入力すれば良い）。
【０００５】
さらに別の技術は、スクリーン上のキーボード・インターフェースと共に、限られた数の「定型メッセージ」を備えるメニューを、ユーザに提供することである。これらのメッセージのテキストは、製造業者があらかじめ規定しておいても良いし、ユーザがカスタマイズしても良い。したがって、ユーザが、「すぐに戻る」と言うようなメッセージを非常に頻繁に送信することが予測される場合には、このユーザは、「すぐに戻る」に対応する定型メッセージを規定することができる。インターフェースは、これにより、このメニュから、「すぐに戻る」フレーズおよび規定された他のフレーズを選択し、かつ如何なるメッセージにもこれらを挿入することが可能になるように、定型メッセージのメニューを特徴付けることができる。
【０００６】
残念なことに、ユーザは、しばしば、このような技術を扱いにくいまたは限定的なものと見る。事実、ビデオ・コンテンツのゲームをしている間、またはビデオ・コンテンツを見ている間のように、ユーザが、メッセージを作成することに限られた注意しか払いたくない状況においては、ユーザは、キーボードを、極めて煩雑なものとさえ感じる。したがって、ユーザは、しばしば、提供されるまたは提供することができるメッセージ・サービスを利用しようとはしない。
【０００７】
本発明は、同様な参照番号が類似の要素を指す添付の図面により、具体例によってかつ限定する意図無く、示されている。
【図面の簡単な説明】
【０００８】
【図１】本願明細書において記述される技術を実施することができるシステム100のブロック図である。
【図２】メッセージング・インターフェースを介してメッセージを作成する処理の具体例を示すフロー図２00である。
【図３Ａ】メッセージング・インターフェース300の具体例のサンプル図である。
【図３Ｂ】メッセージング・インターフェース300の具体例の別のサンプル図である。
【図３Ｃ】メッセージング・インターフェース300の具体例の別のサンプル図である。
【図４】番組ガイドが集積されたメッセージ作成インターフェース400の具体例である。
【図５】本発明の実施態様を実行することができるコンピュータ・システムのブロック図である。
【発明を実施するための形態】
【０００９】
以下の説明では、本発明の説明のために、多数の具体的な詳細が、本発明を完全に理解できるように記載されている。しかしながら、本発明が、これらの具体的な詳細なしに実施することができることは、明らかであろう。本発明を不必要に不明瞭にすることを避けるために、周知の構成及びデバイスは、ブロック図で示してある。
【００１０】
実施態様は、本願明細書において、以下の概略に従って記述される：
１．０  全体の概観
２．０  構成の概観
３．０  機能の概要
４．０  インターフェースの具体例
４．１  ワードに基づく要素およびアイコンに基づく要素を有するインターフェースの具体例
４．２  インターフェース・コントロールのスクローリング・モード／入力モードのスイッチング
４．３  コントロールを選択するための技術の具体例
４．４  メッセージ表示フィールドの具体例
４．５  フレーズに基づく要素を有するインターフェースの具体例
４．６  メタデータに基づく要素を有するインターフェースの具体例
４．７  番組ガイドが集積されたインターフェースの具体例
５．０  実施の詳細の具体例
５．１  コンテクストの認識
５．２  メッセージからのフレーズ・データの収集
５．３  フレーズに基づく要素として包含するためのフレーズの選択
５．４  コンテクストに依存するメタデータ
５．５  次に予測される要素に基づく動的なインターフェース・レイアウト
５．６  メッセージ作成インターフェース内のユーザによる活動の選択
５．７  集中化されていない環境における実行
６．０  実施メカニズム−ハードウェアの概観
７．０  拡張および変形例
【００１１】
１．０  全体の概観
フレーズの選択を可能にする動的メッセージング・インターフェースをユーザに提供する、フレーズに基づく通信システムのアプローチ、技術およびメカニズムが、開示される。一実施態様によれば、フレーズは、特定のユーザおよび／またはユーザがメッセージを作成しつつあるコンテクストに有用である可能性が高いフレーズを識別するアルゴリズムを使用して、選択される。このようにして、ユーザは、新鮮でなくなってかつ固定された定型メッセージに限定されること無く、即座に役立つメッセージを作成することが出来る。
【００１２】
一実施態様では、メッセージング・インターフェースのフレーズは、他のユーザが以前に送信したメッセージから学習される。例えば、中央サーバ・システムは、前述した技術に従って作成されたメッセージをリレーすることができる。中央サーバ・システムは、広く使用されるフレーズを検出するためにメッセージが送信される際に、メッセージを分析することができる。中央サーバ・システムは、次で、これらの広く使用されるフレーズをメッセージング・インターフェースに提供することができる。メッセージング・インターフェースは、次で、これらの広く使用されるフレーズを選択可能なフレーズのリスト内に提示して、インターフェースのユーザが、所望のフレーズを選択するのみで、これらの広く使用されるフレーズの何れかをメッセージに挿入することを可能にすることができる。広く使用されるフレーズは、中央サーバ・システムの全てのユーザに対して、またはユーザの個々の地域に関連させて、選択させることができる。広く使用されるフレーズは、更に、年日時またはメッセージング・インターフェースのユーザが参加している活動のような、コンテクストとの関係で、選択することもできる。
【００１３】
一実施態様では、メッセージング・インターフェースのためのフレーズは、ユーザがメッセージを作成しつつある間にユーザが関与している活動によって示されるユーザの現在のコンテクストに関連しているメタデータから選択される。例えば、この活動は、視聴可能なコンテンツについての情報を見る、および／またはその情報にアクセスすることとすることができ、かつこのメタデータは、そのコンテンツについての情報とすることができる。例えば、ユーザがデバイスにより特定のビデオを見ている間に、メッセージング・インターフェースを開始することもできる。または、ユーザは、メッセージング・インターフェースを利用してメッセージを作成する間に、メディア・ガイドをナビゲートしかつその中の特定の番組の情報のリストを選択することができる。何れの具体例においても、メッセージング・インターフェースに、特定のビデオまたは番組のためのメタデータを配置することができる。このメタデータは、例えば、題名、エピソード名、男優または女優の名前、放送日等を含むことができる。メタデータそのものは、これらに限定されるものではなく、コンテンツ・プロバイダ、サービス・プロバイダ、イベント主催者、ディストリビュータ、批評家および／または他のユーザを含む、様々なソースから収集することができる。一実施態様では、メタデータは、ユーザおよび／または一群の他のユーザが送信したメッセージ内において、どのメタデータが最も広く使用されているかに、少なくとも部分的に基づいて、フィルタリングされまたは選別される。
【００１４】
一実施態様では、システムは、さらにまたはこれに代えて、広告または市場の調査のような目的のために、メッセージング・インターフェースに含ませる要素を選択することができる。一実施態様では、メッセージング・インターフェースは、ユーザが、画像、音楽、ビデオ、リンク、アニメーション、カレンダ・アイテム等の、フレーズ以外の要素を選択しかつ挿入することを可能にする。これらの要素のいくつかまたは全ては、上述した技術を使用して選択することができる。したがって、本願明細書で「フレーズ」についてのステップおよびプロセスが論ぜられるときには、ステップおよびプロセスは、ほとんどまたは全く修正せずに、他の様々な要素にも適用することができることを、理解すべきである。
【００１５】
一実施態様では、メッセージング・インターフェースは、中央サーバに接続されているデジタル・ビデオ・レコーダによって実行される。ビデオ番組またはテレビジョン番組を見る間、またはビデオ番組またはテレビジョン番組に関する情報をリストしている番組ガイドをナビゲートする間に、ユーザは、デジタル・ビデオ・レコーダにメッセージング・インターフェースを提供するようにリクエストすることができる。例えば、ユーザは、リモコンのボタンをクリックして、電子メール、テキスト・メッセージ、インスタント・メッセージまたはソーシャル・ネットワーキング・サービス・ステータス・メッセージを、作成することが出来る。このリクエストに応答して、デジタル・ビデオ・レコーダは、中央サーバと通信して、ビデオ番組またはテレビジョン番組に基づいて、広く使用されるフレーズおよびメタデータの１つ以上のリストを取得する。デジタル・ビデオ・レコーダは、デジタル・ビデオ・レコーダに接続されているディスプレイ上にメッセージング・インターフェースを表示する。デジタル・ビデオ・レコーダは、ASCII文字、アイコン、定型メッセージおよび友人リストのようなコントロールを使用してインターフェースを作成する。デジタル・ビデオ・レコーダは、更に、中央サーバによって選択されたメタデータと広く使用されるフレーズとに対応するコントロールをインターフェースに含める。ユーザは、インターフェースをナビゲートして、メッセージに挿入する要素を選択し、かつ一人以上の予定受信者を選択する。ユーザがメッセーの作成を終了すると、デジタル・ビデオ・レコーダは、配布のためにメッセージを中央サーバに送信する。中央サーバは、メッセージをその１つ以上の意図された目的地に送る。中央サーバは、また、将来のメッセージング・インターフェース用に、フレーズ・データとメタデータを収集する目的で、メッセージを分析する。
【００１６】
他の実施態様として、本発明は、前述のステップを実行するように構成されているコンピュータ装置およびコンピュータ可読媒体を含む。
【００１７】
２．０  構成の概観
図１は、本願明細書において記述される技術を実行することができるシステム100のブロック図である。
【００１８】
システム100は、ネットワーク120を介して中央サーバ・システム130に接続されているクライアント・デバイス110を備える。ユーザ105は、とりわけ、入力メカニズム112によりクライアント・デバイス110を作動させ、メッセージを作成し、かつそれを受信者106に送信する。入力メカニズム112は、例えば、入力をクライアント・デバイス110に送信することができる、リモコン、ゲーム・パッド、タッチパッド、タッチ・スクリーン、キーボード、ポインティング・デバイス、モバイル・フォンまたは他の任意の適切な入力デバイスである。
【００１９】
メッセージの作成を容易にするために、クライアント・デバイス110は、ユーザ105のためにグラフィカル・ユーザ・インターフェース（GUI）114を実行する。クライアント・デバイス110は、出力メカニズム116にGUI 114を表示する。出力メカニズム116は、例えば、GUI 114をユーザ105に表示することによりクライアント・デバイス110からの命令に応答することができる、テレビジョン、モニタ、タッチパッド、タブレット・コンピューティング・デバイス、タッチ・スクリーン・ディスプレイを有するリモコン、ブルートゥース通信が可能なパーソナル携帯情報機器、無線が可能なスマートフォン、スマートフォン、または他の任意のデバイスである。出力メカニズム116は、有線または無線とし、 かつ、さらに、直接リンクとし、または１つ以上のネットワーク化されたスイッチまたはルータとすることができる通信リンク117を介して、GUI 114から命令を受信する。一実施態様では、出力メカニズム116およびクライアント・デバイス110は、一般的なデバイス（例えば、タブレット・コンピューティング・デバイス、スマートフォン等）に収容することができる。
【００２０】
中央サーバ・システム130は、ネットワーク120によりクライアント・デバイス110と通信することができる１つ以上のサーバ・デバイス132を備えることができる。中央サーバ・システム130は、一当事者から他の当事者へメッセージをリレーすることができるいかなるシステムとすることができる。ネットワーク120は、インターネット、電話回線および／または無線接続を含む通信リンクの任意の適切な組合せにより実行することができる。一実施態様では、中央サーバ・システム130は、メタデータ190のプロバイダ（例えば、TiVo社のような電子番組ガイドのプロバイダ）によって作動させることもできる。しかしながら、他の実施例では、クライアント・デバイス110は、このような情報を中央サーバ・システム130以外のソースから取得することができるので、中央サーバ・システム130は、メタデータ190を提供しない。
【００２１】
一実施態様では、ユーザ105は、活動に参加する間、クライアント・デバイス110を利用する。活動の具体例は、テレビジョン・エピソード、映画、曲、オンライン・ビデオ、ウェブサイト、コンサート等のようなコンテンツを視聴するまたはこれに関する情報にアクセスすることを含むが、これらに限定されるものではない。活動の具体例は、更に、ビデオゲームを行うこと、および他のライブ・イベントに参加するまたはそれに関する情報にアクセスすることを含むが、これらに限定されるものではない。テレビジョンの生放送を見ること、ダウンロードされた曲を聞くこと、ブログをすること、ヴィログをすること、そしてソーシャル・イベントに参加することは、全て、本願明細書の記載の意味の範囲内でユーザが関与することができる活動である。
【００２２】
一実施態様では、ユーザ105は、クライアント・デバイス110を利用してこの活動に参加する。例えば、クライアント・デバイス110は、マルチメディア・コンテンツを体験するために使用される、テレビジョン、メディア・センタ、セット・トップ・ボックス、ゲーム・デバイス、ハンドヘルド・デバイス、タブレット・コンピューティング・デバイス、デジタル・ビデオ・レコーダ等とすることができる。ユーザ105は、マルチメディア・コンテンツを体験する間、いつでもGUI 114をトリガすることができる。また、別の具体例では、ユーザ105は、番組ガイド内のマルチメディア情報を閲覧しかつクライアント・デバイス110を使用する間に、GUI 114をトリガすることができる。クライアント・デバイス110は、出力デバイス116で、または１つ以上の他の出力デバイスで、このようなマルチメディア・コンテンツまたは情報を提示することができる。一実施態様では、クライアント・デバイス110がGUI 114を提示する間、マルチメディア・コンテンツまたは情報は、目にみえる状態または目に見えない状態でバックグラウンドに残存するので、ユーザ105がGUI 114との対話を終えると、ユーザ105は、マルチメディア・コンテンツまたは情報に戻る。
【００２３】
活動への参加を容易にするために、クライアント・デバイス110は、１つ以上のコンテンツ・プロバイダ140および／または中央サーバ・システム130と対話することができる。例えば、コンテンツ・プロバイダ140は、テレビジョン放送局、ケーブル・プロバイダ、衛星ビデオ・プロバイダ、音楽プロバイダ、インターネット・コンテンツ・プロバイダ等を含むことができる。コンテンツ・プロバイダ140は、様々な送信手段の何れかにより、様々なコンテンツ180およびコンテンツ180についてのメタデータ190を、クライアント・デバイス110に送信することができる。別の具体例では、中央サーバ・システム130は、例えば、電子番組ガイドによりコンテンツ180についてのメタデータ190を、クライアント・デバイスに提供することができる。一実施態様では、中央サーバ・システム130とコンテンツ・プロバイダ140は、同じエンティティである。
【００２４】
GUI 114により、クライアント・デバイス110は、選択可能なインターフェース・コントロール118の１つ以上の組をユーザ105に提示する。インターフェース・コントロール118の各々は、クライアント・デバイス110によって作成されるメッセージ160に挿入することができる１つ以上の要素を表す。要素は、文字、フレーズ、画像またはマルチメディア・オブジェクトを含むことが出来るが、これらに限定されるものではない。特定のコントロールを選択することによって、ユーザ105は、特定のコントロールによって表される要素をメッセージ160に挿入することができる。上述したように、コントロール118のいくつかは、スクリーン上のキーボード・インターフェースを実行するために用いることができる。すなわち、コントロール118のいくつかは、典型的なコンピュータ・キーボードに見出されるであろうASCII文字を表す。ユーザ105は、入力メカニズム112での一定ボタン（例えば、スクロール・ボタン）を選択する、またはGUI 114内の指定された一定コントロールを選択することによって、個々のコントロール118とコントロール118の組をGUI 114で交換することができる。したがって、何時でも、GUI 114により利用可能となるコントロール118は、一部しか、ユーザ105には表示されない。
【００２５】
コントロール118の少なくともいくつかによって表される要素は、中央サーバ・システム130によって動的に選択される。例えば、中央サーバ・システム130は、メッセージ160を作成する際にユーザにとって有用となる可能性が高い要素を識別する様々なデータに基づいて、様々なアルゴリズムを用いることができる。このようにして、システム100は、ユーザ105が、新鮮でなくかつ固定された定型メッセージに限定されずに、役立つメッセージを瞬時に作成することを可能にする。中央サーバ・システム130は、さらに、またはこれに代えて、広告または市場の試験のような目的のために、要素を選択することもできる。
【００２６】
中央サーバ・システム130は、１つ以上のデータ・リポジトリ134を含む。データ・リポジトリ134は、ファイル、データベース等を含むデータのいかなるソースとすることもできる。一実施態様では、データ・リポジトリ134は、一群のユーザ106（これらも中央サーバ・システム130に接続されている）の内のユーザによって送信されたメッセージ170から収集されたフレーズを示すデータを含む。データ・リポジトリ134は、更に、これらのフレーズの使用傾向を示すデータを含むこともできる。少なくともこのデータに基づいて、中央サーバ・システム130は、GUI 114がコントロール118を提示すべき、フレーズに基づく要素175を識別する。ユーザ105は、次で、コントロール118を使用して、フレーズに基づく要素175のいくつか又は全部をメッセージ160に挿入することができる。
【００２７】
一実施態様では、データ・リポジトリ134は、活動に関連付けることが可能なメタデータ190を含む。メタデータの具体例は、セクション５．４に記述されている。中央サーバ・システム130は、このメタデータを利用して、コンテクストに基づくメタデータ要素を識別し、GUI 114に追加する。この目的のために、中央サーバ・システム130は、クライアント・デバイス110または他の任意の適切なソースからコンテクスト・データを受信する。コンテクスト・データは、ユーザ105が現在参加している活動の少なくとも幾つかの態様を示す。中央サーバ・システム130は、次で、適切なコンテクストに関連するメタデータ190を読出すことができる。例えば、活動が、イベントまたはコンテンツを見ることに関係している場合、クライアント・デバイス110は、イベント識別子またはコンテンツ識別子を中央サーバ・システムと共有することができる。このイベント識別子またはコンテンツ識別子に基づいて、中央サーバ・システム130は、イベントまたはコンテンツに対するメタデータを読出すことができる。中央サーバ・システム130は、次で、読出されたメタデータの一部もしくは全部を、（GUI 114が、コントロール118を提示すべき）メタデータに基づく要素190と、識別する。ユーザ105は、次いで、コントロール118を使用して、メタデータに基づく一定要素190をメッセージ160に挿入することができる。
【００２８】
メッセージ160は、作成されると、多様な手段により、ユーザ105によって指定された１つ以上の他のユーザ106にリレーさせることができる。例えば、図示されるように、クライアント・デバイス110は中央サーバ・システム130にメッセージ160を転送する。そして、それはその次に指定された一人以上の他のユーザ106にメッセージ160を転送する。一実施態様では、中央サーバ・システム130は、更に、ユーザ105によって選択されたフレーズに対し更新された人気度データまたはコンテクストのデータを含む、データ・リポジトリ134に含める付加情報に対するメッセージ160、およびユーザ105および／または他のユーザ106によって、続くメッセージ作成インターフェース内の要素として使用される新規なフレーズ165を取り出すことができる。
【００２９】
図１は、本願明細書において記述される技術を実施することができるシステムの一具体例である。本願明細書において記述される技術を実施することができる他のシステムは、構成が異なるより多くのまたはより少い構成要素を含むことができる。代替構成の具体例は、本明細書全体にわたって論じられている。また、構成要素間への作業の分担は、実施態様ごとに異ならせることができる。例えば、中央サーバ・システム130とコンテンツ・プロバイダ140によって実行されるものとして記述されている機能の一部もしくは全部は、データ・リポジトリ134のローカル・バージョンに基づいてクライアント・デバイス110によって実行させることもできる。単純化のために、本願明細書全体にわたって挙げられる多くの具体例は、ユーザが、コンテンツ・プロバイダ140からのビデオ・コンテンツについての、中央サーバ・システム130によって提供される情報にアクセスする娯楽デバイスとして、少なくとも部分的に機能する、クライアント・デバイス100によって提供されるGUI 114のような、メッセージング・インターフェースについて記述されるであろう。しかしながら、このような条件の下で記述される技術は、いかなるクライアント・デバイスによって提供されるいかなるメッセージング・インターフェースにも、等しく適用することができる。
【００３０】
３．０  機能の概要
図２は、メッセージング・インターフェースによりメッセージを作成するためのプロセスの具体例を示すフロー図200である。
【００３１】
ブロック210で、クライアント・デバイス110のようなクライアント・デバイスが、メッセージを作成すると言うユーザによるリクエストを示す入力を受信する。入力は、例えば、入力メカニズム112のような入力メカニズムのボタンにより、受信させることができる。また、別の具体例では、入力は、ユーザが、スクリーン上のインターフェースをナビゲートしかつメッセージの作成に関連するインターフェース・コントロールを選択することにより、受信させることもできる。このようなボタンまたはコントロールは、例えば、封筒アイコン、インスタント・メッセージング・アイコン、「TXT」、「IM」、「Twitter」、「フェイスブック」、「電子メール」等によりテキストをラベル付けすることができる。
【００３２】
ブロック220で、クライアント・デバイスは、中央サーバ・システム130のようなサーバから、広く使用されるフレーズをリストアップするデータを受信する。広く使用されるフレーズのリストは、他のユーザによって以前にサーバに送信されたメッセージを少なくとも部分的に使用することに基づいて、作成することができる。広く使用されるフレーズのリストを作成する技術の具体例は、以下のセクション５．３と本明細書の他のセクションにおいて論じられる。一実施態様では、リストは、ブロック210の入力に応答して読出される。
【００３３】
一実施態様では、クライアント・デバイスは、メッセージを作成すると言うユーザによる一定リクエストのみに応答して、リストを読出す。例えば、ユーザがメッセージを作成する10回目のリクエストごとに、またはユーザが最後にメッセージを作成してから一定時間が経過した場合にのみ、クライアント・デバイスは、新規なリストを読出すことができる。一実施態様では、クライアント・デバイスは、周期的に（例えば、毎時または毎日）、新規なリストを読出しまたは受信する。クライアント・デバイスがブロック210の入力に応答して新規なリストを読出さない場合には、クライアント・デバイスは、以前に読出されたリストを再使用する。しかしながら、クライアントは、クライアント・デバイスに知られているコンテクスト・データと使用傾向に基づいて、再使用されたリストを再順序付けしまたはフィルタリングすることができる。
【００３４】
一実施態様では、クライアント・デバイスは、受信された各リストを、広く使用されるフレーズのローカル・データ・リポジトリに追加する。クライアント・デバイスは、更に、このステップの一部として、クライアントが、ローカル・リポジトリからのフレーズを選択し、フィルタリングし、かつ並び替えることに基づいて、更新された使用履歴データを受信することもできる。
【００３５】
ブロック230で、クライアント・デバイスは、中央サーバ・システム130に属するサーバのようなサーバ、コンテンツ・プロバイダ140、イベント主催者、コンテンツ・プロデューサおよび／またはコンテンツ・ディストリビュータから、１つ以上の活動に関連する、コンテクストに依存するメタデータを受信する。これらの１つ以上の活動は、ユーザが現在関与している１つ以上の活動、またはユーザが、メッセージ作成インターフェースを使用している間またはメッセージ作成インターフェースを使用する直前に、情報にアクセスしようとしている１つ以上の活動である。クライアント・デバイスによって受信されたメタデータは、例えば、以下のセクション５．４においておよび本願明細書全体に記載されているメタデータを含むことができる。
【００３６】
一実施態様では、メタデータは、ブロック210の入力に応答して受信される。クライアント・デバイスは、コンテクスト情報を、１つ以上の活動の（イベントまたはコンテンツ識別子のような）１つ以上の態様を示すサーバに送信する。クライアント・デバイスは、後述のセクション５．１と本明細書の他のセクションにおいて論じられているような様々な手段によって、これらの活動を知ることができる。一実施態様では、クライアント・デバイスは、ユーザが参加しているいかなる活動も、全く知らなくても良い。この場合、サーバは、本願明細書において記述されているような技術に基づいて、適切なコンテクストを知るまたは学習することができる。このような実施態様では、クライアント・デバイスは、すでにサーバが知っている１つ以上の活動に対するメタデータを提供することをサーバにリクエストするのみで良い。
【００３７】
一実施態様では、クライアント・デバイスは、ブロック210の入力の前の、電子番組ガイドのような１つ以上の活動に関連させることができるメタデータを受信する。クライアント・デバイスは、次で、１つ以上のメタデータ・リポジトリにメタデータをローカルに格納する。クライアント・デバイスは、次で、ブロック210の入力に応答して、適切ないかなるコンテクストに対するメタデータについてもローカル格納デバイスから読出すことができる。クライアント・デバイスは、更に、使用尤度によってメタデータを順序付けるために、メタデータの一部もしくは全部に関連する人気度データを受信することができる。
【００３８】
ブロック240で、クライアント・デバイスは、GUI 114のようなメッセージ作成インターフェースを、出力デバイス116のような表示デバイスに生成する。メッセージ作成インターフェースは、コントロール118のような、ユーザが選択可能な複数のコントロールを備え、各コントロールは、メッセージに挿入することができる種々の要素または「構成ブロック」に対応している。コントロールの少なくともいくつかは、広く使用されるフレーズ、および／またはブロック230および240で受信されるメタデータに対応する。他のコントロールは、標準のASCII文字と、定型メッセージとアイコンを含む、ユーザまたは製造業者によって選択された予め設定された要素とに対応させることができる。コントロールは、いかなる形状、サイズおよび／または配置とすることができ、かつ、更に、コントロールが対応する要素を示すテキスト・ラベルまたはグラフィック・ラベルを備えることができる。コントロールとインターフェースのいくつかの具体例は、以下のセクション４．０に記載されている。
【００３９】
ブロック250で、クライアント・デバイスは、メッセージに追加することができる要素に対応するコントロールをユーザが選択したことを示す入力を受信する。この入力に応答して、クライアント・デバイスは、選択されたコントロールに対応する要素を、作成されつつあるメッセージに追加する。ユーザは、ユーザが利用できる入力メカニズムに基づいて、様々な手段を使用してコントロールを選択することができる。例えば、ある入力メカニズムは、ユーザが、通常の「ポイント&クリック」またはタッチ・スクリーン技術を使用してコントロールを選択することを可能にする。別の具体例では、入力メカニズムが従来のリモコンである場合には、クライアント・デバイスは、あるコントロールが関心の対象であることを示すためにそのコントロールを強調表示することができる。ユーザは、矢印ボタンまたは数字ボタンのようなリモコンでのボタンを利用して、関心の対象であるコントロールを変更することによってインターフェースをナビゲートすることができる。所望のコントロールが関心の対象になると、ユーザは、「エンタ」ボタンまたは「OK」ボタンのようなリモコンの予め規定されているボタンを押して、所望のコントロールの選択を示すクライアント・デバイスに入力を送信することができる。
【００４０】
ブロック260で、クライアント・デバイスは、ユーザがメッセージの一人以上の受信者を選択したことを示す入力を受信する。このような入力は、例えば、受信者アドレスに対応するメッセージング・インターフェース内の１つ以上のコントロールを選択することを備えることができる。例えば、クライアント・デバイスは、ユーザが通常メッセージを送信する受信者のアドレス、ユーザの「友人」リストのユーザのアドレス、および／またはユーザが属するソーシャル・ネットワークのユーザのアドレスに対応するメッセージング・インターフェース・コントロールを含むことができる。クライアント・デバイスは、事前に、ユーザからこれらのアドレスを収集しておくことができ、および／または中央サーバ・システム130またはユーザが属するソーシャル・ネットワークのサーバのようなサーバから、これらのアドレスをダウンロードしておくこともできる。
【００４１】
ブロック260の入力は、これに加えてまたはこれに代えて、前述したような手段を使用して、"To"コントロールを選択し、次に、受信者のアドレスの英数字に対応するコントロールを選択することを備えることができる。インターフェースは、「to」コントロールの選択に応答して、ツイッタ、フェイスブック、Gメール等のような種々のメッセージ・サービスのリストをユーザに提示することにより、受信者のアドレスを生成するプロセスを合理化する「ウィザード」を含むことができる。これにより、ユーザは、ユーザ名を入力しかつ適切なサービスを選択することによって、受信者のアドレスを作成することができる。
【００４２】
一実施態様では、メッセージ作成インターフェースは、クライアント・デバイスが、このようにして作成されたメッセージと予定受信者の１つまたは両方を表示する、１つまたは複数のフィールドを含む。このようにして、ブロック250および260が実行されると、クライアント・デバイスは、選択された要素と受信者を含むようにフィールドを更新することができる。しかしながら、メッセージング・インターフェースは、必ずしもこのようなフィールドを表示する必要はない。
【００４３】
ブロック250および260を何度も繰返すことにより、ユーザが、複数の要素を備えるメッセージを作成することを可能にすることもできる。ブロック250および260の繰返しは、ブロック270が発生するまで、いつでも行うことができる。ブロック270で、クライアント・デバイスは、ユーザがメッセージを終了させたことを示す端末入力を受信する。この入力は、更に、クライアント・デバイスが、メッセージを識別された受信者に送信することをリクエストする。この入力は、例えば、メッセージ作成インターフェース内の「OK」コントロールの選択、または入力メカニズムの「送信」ボタンの選択のような多くの形態をとることができる。
【００４４】
ブロック280で、クライアント・デバイスは、作成されたメッセージを指定された受信者に送信させる。クライアント・デバイスは、メッセージと受信者のリストをブロック220のサーバにリレーすること、および予定受信者の各々にメッセージを直接送信することを含む、数多くの方法でこのステップを実行することができる。
【００４５】
ブロック290で、ブロック220のサーバは、フレーズに対して送信されたメッセージを利用して、新規なフレーズを見いだし、そのフレーズ・リポジトリにそれを追加し、そしてすでにそのリポジトリ（単数および複数）に存在するフレーズとメタデータに対する人気度スコアを調整する。送信されたメッセージがサーバにリレーされなかった実施態様では、クライアント・デバイスは、送信されたメッセージをサーバに報告することができる。
【００４６】
フロー200は、本願明細書において記述される技術の実施態様の一具体例を示す。他の実施態様は、種々の順序で、より多くのまたはより少いステップを含むことができる。例えば、クライアント・デバイスは、ブロック220またはブロック230を省略して、広く使用されるフレーズまたは活動に関連しているメタデータのみを含むインターフェースを提供することができる。別の具体例では、ブロック220および／または230は、ブロック210の入力の前、またはステップ250または260の入力の後に、実行することができる。別の具体例では、ブロック260は、ブロック220-250に関連させていつでも実行することができる。
【００４７】
４．０  インターフェースの具体例
４．１  ワードに基づく要素およびアイコンに基づく要素を有するインターフェースの具体例
図３Ａは、一実施態様のメッセージング・インターフェース300の一具体例のサンプル図である。メッセージング・インターフェース300は、クライアント・デバイス110が、メッセージ160を作成するためにGUI 114を実行することができる多くの可能な技術の１つを示す。他のメッセージング・インターフェースは、様々な配置で構成されているより多くのまたはより少ないコントロールとフィールドを含むことができる。
【００４８】
メッセージング・インターフェース300は、複数の選択可能なコントロール311-314、318-319、321-324、328-329、331-334、338-339、341-344、348-349、379、381、382および391-394を備える。ユーザは、タッチ・スクリーンによる入力、ポイント&クリックによる入力、指定されたコントロールに既にマップされているボタンによる入力等を含む、様々な選択技術の何れかを使用して、これらのコントロールを選択することができるが、選択はこれらに限定されるものではない。このような技術の１つは、以下のセクション４．３に記述されている。
【００４９】
メッセージング・インターフェース300は、更に、メッセージを作成するための構成ブロック・フォーム301を備える。構成ブロック・フォーム301は、各々が、メッセージに追加することができる種々の要素を表すコントロール311-314、321-324および331-334を備える。構成ブロック・フォーム301のコントロールの各々は、例えば、テキストまたはそれに対応する要素の映像を視覚的に示すことにより表示される。例えば、コントロール313には、「今夜」と言うテキストがラベル付けされていて、これによって、コントロール313が「今夜」と言うワードを表すことが示される。 別の具体例では、コントロール331には、ハートに似ているグラフィックがラベル付けされている。したがって、コントロール331は、例えば、ハート・アイコン、ロマンチック・スマイリまたは「愛」のような語さえ表すことができる。
【００５０】
コントロール311-314、321-324および331-334は、3つの異なるコントロール群310、320および330にグループ分けされる。各コントロール群は、メッセージに挿入することができる種々のタイプの要素を表す。コントロール群310は、「名詞」要素の代表的なコントロールを含む。コントロール群320は、「動詞」要素の代表的なコントロールを含む。コントロール群330は、「アイコン」要素の代表的なコントロールを含む。
【００５１】
一実施態様では、コントロール311-314、321-324および331-334は、クライアント・デバイス110の１つ以上のデータ・ソースにローカルに格納されている要素を表す。各要素は、その要素のタイプを示すデータと共に格納されている。コントロール311-314、321-324および331-334は、事前に定義された要素および／またはユーザが定義した要素を表すことができる。一実施態様では、これに代えて、コントロール311-314、321-324および331-334のいくつか又は全部は、本願明細書において記述される技術を使用して既に収集されているフレーズおよび／またはメタデータのリポジトリから選択される。
【００５２】
ユーザがコントロール311-314、321-324および331-334の内の特定の１つを選択すると、ユーザは、この特定のコントロールに対応する要素を彼または彼女が選択したことを示す。この選択に基づいて、対応する要素を、作成されつつあるメッセージに追加することができる。
【００５３】
メッセージング・インターフェース300は、更に、それが作成されつつある際にユーザにメッセージのコンテンツを示すためのメッセージ表示フィールド370を備える。ユーザがコントロール311-314、321-324および331-334を選択すると、これに対応する、表された要素が、メッセージ表示フィールド370に追加される。メッセージ表示フィールド370は、更に、以下のセクション4.4において記述される。
【００５４】
メッセージング・インターフェース300は、さらに、受信者ブロック・フォーム340と受信者表示フィールド380とを備えている。受信者ブロック・フォーム340は、それぞれが、種々の潜在的な受信者または受信者のグループを表すコントロール341-344を備える。潜在的な受信者または表されている受信者のグループは、コンタクト・データベースから選択することができる。このコンタクト・データベースは、クライアント・デバイス110にローカルにまたは他のいかなる適切な位置にも格納することができる。コンタクト・データベースは、ユーザによる直接入力、ユーザが送信した以前のメッセージからの受信者の収集および／または電子メール・サービスまたはソーシャル・ネットワークからのインポートのような、様々な手段の何れかを使用して、編集することができる。ユーザは、いつでも、１つ以上のコントロール341-344を選択することができる。応答において、選択されたコントロールによって表された受信者は、予定受信者のリストに追加される。予定受信者のこのリストは、受信者表示フィールド380を介してユーザに表示される。
【００５５】
一実施態様では、ユーザは、受信者表示フィールド380を選択することができる。この選択に応答して、ユーザには、受信者を削除するおよび／または受信者のアドレスを手動で入力するためのメカニズムを提供することができる。
【００５６】
ユーザがメッセージを完了させると、ユーザは、このメッセージが完全であることを示す送信コントロール382を選択することができる。送信コントロール382の選択を示す入力を受信すると、即座に、クライアント・デバイス110は、作成されたメッセージを選択された受信者に送信させるいかなる適切なアクションもとることができる。これに代えて、ユーザが、作成されたメッセージを送信しないと決定した場合には、ユーザは、取消コントロール381を選択することができる。
【００５７】
４．２  インターフェース・コントロールのスクローリング・モード／入力モードのスイッチング
一実施態様では、何時でも、表示されたインターフェースで利用可能なコントロールの内、一部しか表示デバイスでは見えないであろう。例えば、図３Ａに示されるように、インターフェース300は、限定された数の構成ブロック・コントロール311-314、321-324及び331-334並びに受信者ブロック・コントロール341-344しか、ユーザに表示しない。しかしながら、より多くの要素または受信者を、選択のために利用することが可能である。インターフェースの簡略化のために、インターフェース300は、何時でも、利用可能なメッセージ要素と受信者の一部に対してしかコントロールを表示していない。残りの要素と受信者のためのコントロールは、表示されていない。
【００５８】
従って、インターフェース300は、隠れたコントロールを動的に循環表示するように構成されている。例えば、コントロール318-319、328-329、338-339および348-349を、それぞれ、スクローリングして、コントロール群310、コントロール群320、コントロール群330および受信者ブロック・フォーム340に対し、新規なコントロールを循環表示させることができる。コントロールは、使用頻度、ランダム状態および予測された有用性に基づく順序を含む任意の順序に従って、循環表示させることができる。インターフェース300内で最初に表示されるコントロールは、これらおよび他のファクタに基づいて選択することもできるし、または、当初のコントロールを、インターフェース300の直前のインスタンス作成の間、最後に表示されたコントロールに対応させることもできる。
【００５９】
さらに、インターフェース300は、コントロール391-394を順番に備えるモード・スイッチング・フォーム390を備える。コントロール391-394は、各々、インターフェース300に対する種々の入力モードを表す。各入力モードに対し、インターフェース300は、種々のタイプ、配置および／またはコントロールの数を提示する。例えば、コントロール391は、インターフェース300が、作成されたメッセージを選択しかつ作成されたメッセージへの挿入のためのキーボードのようなコントロールを提供する英数字入力モードを表す。現在の入力モードを表すコントロールは、強調表示することができる。したがって、図３Ａに図示されているように、インターフェース300は、そのモードがコントロール392によって強調表示されている「ワード（単語）」モードで作動している。
【００６０】
便宜のために、インターフェース300とのユーザ対話処理によって、インターフェース300内に表示させることができるいかなるコントロールも、（例え、そのコントロールが、ユーザに必ずしも表示されていなくても）、本願明細書においては、インターフェース300の一部分であり、またはインターフェース300に含まれているものとされる。コントロールを表示させる適切なユーザ対話処理は、上述したような、スクローリング、モード・スイッチングまたはこれらと同様なコントロールの選択を含む、いかなる適切なユーザ入力も含むことができる。
【００６１】
４．３  コントロールを選択するための技術の具体例
一実施態様によれば、ユーザは、コントロールを関心の対象にし、その後、現在関心の対象となっているコントロールの選択を示す入力が続くナビゲーション入力により、インターフェース300内のコントロールの一部もしくは全部を選択することができる。何時でも、選択可能な複数のコントロールの１つが、強調表示される、つまり「関心の対象」にされる。例えば、図３Ａに図示されるように、コントロール313が、関心の対象になっている。一実施態様では、関心の対象になっているコントロールは、他のコントロールとは異なる態様で表示することができ、これにより、このコントロールが関心の対象になっていることがユーザに示される。例えば、コントロール313は、ボールドの文字とボールドの境界線によって表示されている。しかしながら、他の実施態様では、色の変化、形状の変化および／または発光効果のような、任意の適切な視覚的効果を使用して、コントロールが、関心の対象であることを示すことができる。
【００６２】
特定のコントロールが関心の対象である間に、ユーザは、指定された入力を提出することによって、強調表示されたコントロールを選択したことを示すことができる。例えば、ユーザは、「エンタ」、「OK」またはこれらと同様なボタンを押すことができる。この入力に応答して、強調表示されたコントロールによって表される要素が、メッセージに追加される。
【００６３】
４．４  メッセージ表示フィールドの具体例
図３Ａにおいて表されるように、メッセージ表示フィールド370は、それぞれが、既に追加されているまたはメッセージに追加することができる要素に対応するブロック371-375に再分割される。しかしながら、メッセージ表示フィールド370は、必ずしも、再分割する必要はない。一実施態様では、メッセージ表示フィールド370のブロックの数は、予め固定されている。一実施態様では、ユーザが、メッセージに追加する要素を選択する時はいつでも、新規なブロックが、メッセージ表示フィールド370に追加される。一実施態様では、ブロックは、コントロール379の選択により、動的にメッセージ表示フィールド370に追加することができる。一実施態様では、次に選択される要素が挿入されるべきブロックは、「関心の対象」として表示される。例えば、ブロック374は、関心の対象であることを示すために強調表示されている。一実施態様では、任意の適切なコントロール選択の技術を使用して異なるブロックを選択することによって、ユーザは、どのブロックが関心の対象であるかを変化させることができる。このようにして、現在割り当てられた要素を有するブロックを、上書きすることができる。
【００６４】
メッセージが、メッセージ表示フィールド370に対し大き過ぎる場合には、ある要素は、フィールド370から隠すことができる。一実施態様では、インターフェース300は、ユーザが隠れた要素を見ることを可能にするコントロールを更に含むことができる。一実施態様では、隠された要素は、メッセージ表示フィールド370が関心の対象である間に、ユーザによって提出されたナビゲーション入力に応答する、またはティカ効果を与えるような一定時間の経過に応答するの何れかにより、自動的に、見えるようにすることができる。
【００６５】
４．５  フレーズに基づく要素を有するインターフェースの具体例
図３Ｂは、一実施態様による、メッセージング・インターフェース300の具体例の別のサンプル図である。図３Ｂは、ほとんど、図３Ａと類似しているが、インターフェース300が、強調表示された入力モードコントロール393によって示される「フレーズ」入力モードで作動する点が相違している。
【００６６】
図３Ｂに表されるように、インターフェース300の構成ブロック・フォーム301は、「フレーズ」要素のタイプに対応するコントロール群350を備える。コントロール群350は、それぞれが、作成されつつあるメッセージに挿入することができる種々のフレーズ要素を表す、コントロール351-357を備える。コントロール353は、関心の対象となっている。コントロール351-357は、以下の要素、1）予め規定された定型フレーズ、2）ユーザ定義の定型フレーズ、3）コンテクストに依存するメタデータから導出されたフレーズ、および4）以前のメッセージから学習されたフレーズ、のいずれの組合せも表すことができる。これらの要素の各々は、ローカルなデータ・リポジトリまたは中央サーバ・システムから読出すことができる。
【００６７】
コントロール351-355および357には、それらのそれぞれに表されているフレーズの全テキストがラベル付けされている。しかしながら、コントロール356によって表されているように長いフレーズに対しては、コントロールには、フレーズのテキストの一部しかラベル付けされていない。一実施態様では、コントロール356のテキスト・ラベルは、経時的な自動スクロールにより、ユーザが全フレーズを読むことを可能にする。自動スクローリングは、常に、発生させることもできるが、コントロール356が関心の対象になった場合のみ、発生させることもできる。
【００６８】
コントロール群350は、更に、フィルタリング・コントロール306-309を備えるフィルタリング・フォーム305を備える。フィルタリング・フォーム305は、ユーザが、構成ブロック・フォーム301内に含まれるフレーズの種々のカテゴリを選択することを可能にする。フィルタリング・コントロール306が選択されていると、例えば、構成ブロック・フォーム301は、ユーザが送信するメッセージ、またはユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリング・コントロール307が選択されていると、構成ブロック・フォーム301は、ユーザの「友人」であると既に識別されているユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリング・コントロール308が選択されていると、構成ブロック・フォーム301は、ユーザが現在関与している活動の「ファン」またはユーザが現在視聴しているコンテンツの「ファン」であると既に識別されているユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。フィルタリング・コントロール309が選択されていると、構成ブロック・フォーム301は、ユーザがメッセージをリレイする中央サーバ・システムの全てのユーザが送信するメッセージ、またはそのようなユーザに送信されるメッセージから収集されるフレーズを表すコントロールを含むことができる。
【００６９】
一実施態様では、上記のフィルタリング条件の一部または全部は、更に、ユーザが現在関与している一定活動のコンテクストに、フレーズを限定させる、またはフレーズの優先順位をそのコンテクストに関係付けることができる。例えば、ユーザは、あるテレビ番組を見続けることができる。他のユーザが、このテレビ番組を見ていた間に、このテレビ番組から有名な引用を含んだメッセージをすでに送信していたとする。これらの引用は、それらのメッセージから自動的に収集することができ、そしてインターフェース300内の要素として利用することができる。これらの引用には、活動のコンテクスト以外で使用されるフレーズから収集された他のフレーズに対し、優先度を与えることができるし、また、これらの引用を排他的に選択することさえできる。このようなコンテクストに基づく限定または優先順位は、暗黙的にすることができ、または１つ以上の付加されたコントロールにより選択することができることに注意されたい。
【００７０】
いくつかの実施態様では、フィルタリング・フォーム305は、より多くのまたはより少ないフィルタリング・コントロールを備えているが、他の実施態様では、フィルタリング・フォーム305がインターフェース300には全く存在しない。
【００７１】
コントロール群350は、更に、隠れているコントロールをスクローリングするための（上述したセクション４．２において論じられたスクローリング・コントロールのような）コントロール358-359 を備えている。
【００７２】
図３Ａと図３Ｂが更に相違する点は、ブロック374が、もはや強調表示されていないが、テキスト「必見(Must See…)」を含む点と、ブロック375が、強調表示されている点である。これらの変化は、例えば、ブロック374が強調表示されている間に、ユーザがコントロール353を選択する結果により生じる。この選択に応答して、クライアント・デバイス110は、ブロック374の位置のメッセージにフレーズ要素「必見  必見  必見！」（"Must See Must See Must See!"）を追加することができる。ブロック374内に表示されるテキストは、サイズが制限されているために略記されていることが、注記される。一実施態様では、このテキストは、要素のテキスト全体を現すために、周期的にスクロールさせることができる。更に、ブロック374が強調表示されている間にコントロール353が選択されると、クライアント・デバイスは、自動的に、メッセージ表示フィールド390の関心の対象を次の空のブロック（この場合ブロック375）にシフトすることができる。
【００７３】
４．６  メタデータに基づく要素を有するインターフェースの具体例
図３Ｃは、一実施態様による、メッセージング・インターフェース300の具体例の別のサンプル図である。図３Ｃは、大部分、図３Ａと類似している。しかしながら、インターフェース300は、強調表示された入力モードコントロール394によって示されるように、「メタデータ」入力モードで作動するように描かれている。
【００７４】
図３Ｃに図示されているように、インターフェース300の構成ブロック・フォーム301は、「メタデータ」要素タイプに対応するコントロール群360を備える。コントロール群360は、選択可能なコントロール361-367を備え、各コントロールは、作成されつつあるメッセージに挿入することができる種々のメタデータ要素を表す。現在、コントロール363が、関心の対象になっている。
【００７５】
コントロール361-367は、ユーザが現在関与している活動に関連しているいかなるメタデータ要素も表すことができる。メタデータは、活動のいかなる態様にも関係させることができる。例えば、図３Ｃの活動は、あるテレビ番組の一エピソードに関係するものである。メタデータ要素の他の具体例は、セクション５．４に記述されている。
【００７６】
一実施態様では、メタデータ要素の一部もしくは全部は、コンテンツまたはメタデータ・プロバイダによって提供される情報を収容するローカルなデータ・リポジトリから選択される。例えば、クライアント・デバイス110は、コンテンツ・プロバイダおよび／または（システム130のような）中央サーバ・システムによって提供されるデータが取込まれている電子番組ガイドから、メタデータ要素を選択することができる。一実施態様では、活動に参加している間に、ユーザがインターフェース300を開始すると、クライアント・デバイス110は、この活動に関連するメタデータ要素の一部もしくは全部を、コンテンツ・プロバイダまたはメタデータ・プロバイダに自動的にリクエストする。
【００７７】
図３Ａおよび３Ｂと同様に、インターフェース300は、少数の利用できるメタデータ要素のコントロールしか表示しない。コントロール368および369は、他のメタデータ要素のためのコントロールのスクロールに使用することができる。
【００７８】
一実施態様では、インターフェース300は、（コントロール366および367のような）非テキスト要素を表すコントロールを、多くの技術を使用して、拡張することができる。例えば、ユーザが、（コントロール366のような）画像を表すコントロールを関心の対象にすると、インターフェース300は、一時的に画像を拡大することができる。または、コントロール366に画像のトリミングされたバージョンがラベル付けされている場合には、インターフェース300は、ユーザがコントロール366を関心の対象にすると、拡大形式の全画像を表示することができる。別の具体例では、ユーザが、（コントロール367のような）オーディオまたはビデオ要素を表すコントロールを関心の対象にすると、インターフェース300は、オーディオまたはビデオ要素を再生することができる。例えば、コントロール367は、ユーザがコントロール367を強調表示すると、インターフェース300が再生することができる、テレビジョン・エピソードのビデオ・プレビューまたは要約を表すことができる。
【００７９】
図３Ｂと図３Ｃの更なる相違点は、受信者ブロック340のコントロール341-343の代わりに、新規なコントロール345-347が含まれている点である。コントロール345は、"FAMILY"とラベル付けされている受信者のユーザ定義のグループに対応する要素を表す。コントロール346は、"Twitter"とラベル付けされている一群の受信者に対応する要素を表す。例えば、このコントロールの選択は、ユーザが、作成されたメッセージを彼または彼女のTwitterアカウント（登録した受信者のグループがこのアカウントにアクセスすることができる）に送信することを望むことを示すことができる。コントロール347は、"FANS"とラベル付けされている一群の受信者に対応する要素を表す。例えば、このコントロールの選択は、ユーザが、作成されたメッセージを、読出されたメタデータ要素が記述するテレビ番組のファンであることを既に示している他のユーザに、送信したいことを示すことができる。
【００８０】
４．７  番組ガイドが集積されたインターフェースの具体例
図４は、一実施態様による、番組ガイドが集積されたメッセージ作成インターフェース400の一具体例である。メッセージング・インターフェース400は、クライアント・デバイス110がメッセージ160を作成するためのGUI 114を実行することができる多くの可能な技術の１つを示す。他のメッセージング・インターフェースは、様々な配置で編成されるより多くのまたはより少ないコントロールとフィールドを含むことができる。
【００８１】
メッセージング・インターフェース400は、ユーザがメッセージを作成することを援助するために、情報パネル460を備える。情報パネル460は、イベント（この場合、テレビジョン・シリーズのエピソード） に関する情報を表示する。ユーザは、即座に、この情報の何れかを指定しかつ作成されたメッセージにそれを追加することができる。一実施態様では、情報パネル460は、インターフェース400内に常に現れている。一実施態様では、情報パネル460は、デフォルトでは、この開示全体にわたって記述される他のコントロールのためのスペースを作るために、インターフェース400から隠されている。しかしながら、このような実施態様でも、情報パネル460は、例えば、インターフェース400内のインターフェース・コントロールまたは入力メカニズム112の「ガイド」ボタンを選択することにより、いつでも、出現させることができる
【００８２】
情報パネル460は、多くのコントロールとフィールド461-469を備えている。コントロール461は、テレビジョン・シリーズの名前に対応するメタデータ要素を表す。コントロール462は、エピソードの題名に対応するメタデータ要素を表す。コントロール463aおよび463bは、テレビジョン・シリーズの出演者に対応するメタデータ要素を表す。コントロール464は、エピソードの放送日と時間に対応するメタデータ要素を表す。コントロール465は、エピソードが放送されるであろうチャンネル番号に対応するメタデータ要素を表す。コントロール466は、エピソードが放送されであろう放送局ネットワークの名前に対応するメタデータ要素を表す。ユーザが、コントロール461、462、463a、463b、464、465および466の内の何れかを選択すると、インターフェース400は、それぞれに表されている要素を作成されたメッセージに追加する。
【００８３】
フィールド467は、エピソードの記述を含む。この記述のさまざまな要素には、下線が引かれ、下線が引かれた部分それ自体が、選択可能なコントロールであることが示される。例えば、ユーザは、この記述から"Jim"、"Pam"、"Michael"、"kayaking lessons"、"Dwight"、"revolt"、"Scranton Branch"または"foiled"の要素の何れかをメッセージに選択することができる。クライアント・デバイス110は、フィールド467内のこれらの要素を様々な理由から選択可能となるように決めておくこともできる。例えば、メタデータ自体は、この記述内で上に列挙された要素が、強調表示されなければならないことを示すマークアップを含むことができる。別の具体例では、クライアント・デバイス110または中央サーバ・システム130は、テキストの記述において強調表示されなければならない用語の、１つ以上のグローバルなまたはコンテクストに依存するデータベースを含むことができる。このようなデータベースは、静的とすることもできるし、またはユーザによって送信されるメッセージの分析に基づいて時間と共に変化させることもできる。さらにもう１つの具体例では、クライアント・デバイス110は、重要なマーカを識別するために、テキストの記述を文法的、意味論的、および／または構文的に分析するロジックを含むことができる。いくつかの実施態様では、フィールド467は、それ自体が選択可能なコントロールである。このような実施態様では、フィールド467の選択に応答して、記述の全てを、メッセージに挿入することができる。
【００８４】
コントロール463cおよび467aは、それぞれ、ユーザが、追加の出演者と記述のテキストをスクロールすることを可能にする。コントロール469は、ユーザが、同じチャンネルで隣接する時間帯の別のテレビ番組を探すことを可能にする。コントロール468は、ユーザが、他のチャンネルで同じ時間帯の別のテレビ番組を探すことを可能にする。情報パネル460は、他のイベントを探すためにより多くのまたはより少ないコントロールを含むことができる。さらに、図４において表される情報とコントロールのタイプは、単に、多くの情報のタイプと、情報パネル460に含むことができる選択可能な多くのコントロールのタイプとを、例示的に図示したものに過ぎない。一実施態様では、例えば、情報パネル460は、示された番組を見ている間に、他のユーザによって広く使用されるフレーズを表すコントロールを含むことができる。
【００８５】
インターフェース400は、英数字のコントロール・フォーム410を備え、これによりユーザは、メッセージに挿入する英数字の文字を選択することができる。一実施態様では、各英数字の文字は、メッセージの別々の要素とみなされる。一実施態様では、逐次的に選択された英数字の文字は、メッセージから収集されかつその後フレーズに基づくコントロールの根拠として利用することができる１つの要素として、グループ化される。
【００８６】
インターフェース400は、更に、（図３Ａ〜３Ｃのモード・スイッチング・フォーム390と類似の）モード・スイッチング・フォーム490を備えている。モード・スイッチング・フォームは、それぞれが、インターフェース400に対し種々の入力モードを表すコントロール491-494を備える。各入力モードに対し、インターフェース400は、コントロールの種々のタイプ、配置および／または数を提示する。例えば、強調表示されたコントロール491は、インターフェース400が、キーボードのような英数字コントロール・フォーム410を提示する英数字入力モードを表す。他のコントロール492-494に対応する他のモードでは、英数字コントロール・フォーム410が、それぞれ、メッセージにアイコンを挿入するためのフォーム、他のユーザから収集されたスラングのフレーズを挿入するためのフォーム、および受信者を選択するためのフォームによって、置換される。モードは、付加することも可能である。
【００８７】
インターフェース400は、更に、受信者表示フィールド380と類似の受信者表示フィールド480、送信コントロール382に類似の送信コントロール482、キャンセル・コントロール381に類似のキャンセル・コントロール481、および図３Ａ〜３Cのメッセージ表示フィールド370と類似のメッセージ表示フィールド470を、備える。メッセージ表示フィールド470は、また、メッセージに挿入するためにユーザによって選択された要素に対応するブロック471-476を備える。
【００８８】
５．０  実施の詳細の具体例
５．１  コンテクストの認識
一実施態様では、クライアント・デバイス110と中央サーバ・システム130の一方または両方は、様々な技術の何れかを用いて、メッセージング・インターフェース114が使用されつつあるコンテクストを識別する。このコンテクストに基づいて、インターフェースをカスタマイズして、インタフェースが、コンテクストに基づくメタデータ要素に対するコントロールを含むようにすることができる。さらに、またはこれに代えて、コントロールを、コンテクストに基づいて順位付けし、これによりコンテクスト内で最も役立つと思われるフレーズが、最小のスクローリングによって（またはスクローリングなしに）現れるようにすることができる。
【００８９】
一実施態様では、コンテクストは、ユーザがインターフェースへのアクセスをリクエストした時にユーザが参加している１つ以上の活動を決定することによって、識別される。前述したように、これらの活動が既に決定されていると、これらの活動の様々な態様の何れも、インターフェース制御のためのメタデータを生成することができる。加えて、またはこれに代えて、活動の様々な態様の何れを記述するデータも、広く使用されるフレーズに対して収集された使用履歴データと、比較させて、どのフレーズが、現在のコンテクストに最も関連しているかを決定することができる。
【００９０】
一実施態様では、中央サーバ・システム130のコンテクスト認識は、クライアント・デバイス110でのコンテクスト認識によって容易になる。クライアント・デバイス110が、その活動において有用であると言う理由のみで、クライアント・デバイス110は、ユーザが参加している活動の少なくともいくつかの態様を認識している。例えば、クライアント・デバイスが媒体デバイスまたは娯楽デバイスである場合には、この活動は、一定コンテンツに関する情報をクライアント・デバイス110それ自体により見ることまたはそれにアクセスすることに、関係付けることができる。クライアント・デバイス110は、そのコンテンツを識別する情報を、中央サーバ・システム130にリレーすることができる。中央サーバ・システム130は、次で、このコンテンツを識別する情報を使用して、適切なメタデータを検索し、および／またはクライアント・デバイス110に戻すためにフレーズを順位付けすることができる。
【００９１】
同じトークンによって、クライアント・デバイス110が、コンテンツを識別する情報をすでに認識している場合には、クライアント・デバイス110は、それ自体で、その情報を利用して、ローカル・データ・リポジトリ内で適切なメタデータを検索しおよび／またはフレーズを順位付けすることができる。クライアント・デバイス110は、コンテンツ・プロバイダ140または中央サーバ・システム130から周期的に受信されるメタデータおよび／またはフレーズを、このローカル・データ・リポジトリに格納しておくことができる。さらにまた、メタデータおよび／またはフレーズのローカル・データ・リポジトリへの各エントリは、コンテンツ識別子または活動識別子のようなコンテクスト・データに関連させて、格納させておくこともできる。フレーズの場合、例えば、コンテクスト・データにより、各フレーズの使用頻度を複数のコンテクスト識別子の各々に関連付けることができる。クライアント・デバイス110は、この格納されたコンテクスト・データを使用して、メタデータとフレーズの選択と順位付けを容易にすることができる。
【００９２】
一実施態様では、ユーザ105が、クライアント・デバイス110を明示的に使用して活動に参加するまたは活動に関する情報にアクセスすることなく、クライアント・デバイス110は、活動を簡単に認識する。例えば、クライアント・デバイス110は、タッチ・スクリーン・コントロール・パネルまたはスマートフォンとすることができる。クライアント・デバイス110は、ブルートゥース、WiFiまたは類似の技術により、デジタル・ビデオ・レコーダのような別のデバイスから現在の活動を示す情報を読出すことができる。または、別の具体例では、クライアント・デバイス110は、ユーザ入力、カレンダ・アイテム、センサおよび／または位置サービスからのデータを使用して、データベース内で適切な活動を検索することができる。
【００９３】
これに代えて、クライアント・デバイス110は、中央サーバ・システム130に依存して、それ自身についての活動を決定することができる。例えば、中央サーバ・システム130は、オーディオ・ストリームまたはビデオ・ストリームをクライアント・デバイス110に送信し続けることができるので、そのストリーム内で共有されているコンテンツを認識することができる。このような一実施態様では、中央サーバ・システム130は、クライアント・デバイス110からの情報を必要とせずに、メタデータを選択しまたは当該コンテンツに基づいてフレーズを順位付けすることが可能である。実際、このような実施態様では、中央サーバ・システム130は、クライアント・デバイス110がコンテクスト認識タスクを遂行するために必要であるコンテンツ識別子を、クライアント・デバイス110と共有する必要がある。または、中央サーバ・システム130には知られている情報を識別するコンテクストを、クライアント・デバイス110が完全に認識しない状態にすることもできる。中央サーバ・システム130は、前述のデータ、とりわけ、ユーザ入力、カレンダ・アイテム、センサおよび／または位置サービスから、コンテクストを決定することもできる。
【００９４】
５．２  メッセージからのフレーズ・データの収集
一実施態様では、メッセージを送信し、受信しまたはリレーするいかなるデバイスも、フレーズに対するそれらのメッセージを収集し、それらをフレーズ・リポジトリに追加することができる。フレーズは、メッセージ全体の長さの一部とすることも、メッセージ全体の長さとすることもできる。デバイスは、文法の、意味論の、統語論の、または他の任意の適切な手掛かりを使用して、フレーズを識別するように構成することができる。例えば、デバイスは、各ワードを別々のフレーズとして識別することができる。別の具体例では、デバイスは、あらゆる文節をフレーズと識別することができる。デバイスは、更に、メッセージの同じ部分を、いくつかのフレーズの一部であると識別することができる。例えば、「あなたは、それを信じるためには、それを見なければならない（"You have to see it to believe it,"）」というフレーズから、デバイスは、とりわけ、以下のフレーズの一部もしくは全部、"you have to," "see it," "believe it," "see it to believe it," "you have to see it," そして"You have to see it to believe it."を識別することができる。デバイスは、関連するフレーズ・リポジトリにはまだ存在していないと識別された各フレーズについては、この識別されたフレーズをこのリポジトリに加える。
【００９５】
一実施態様では、メッセージ内で特定された各フレーズに対し、デバイスは、更に、このフレーズが、フレーズのリポジトリに対し新規であるか否かにかかわらず、フレーズのリポジトリに関連する使用履歴を更新することができる。例えば、デバイスは、各フレーズの今までの使用回数を示す使用履歴を保持することができる。一実施態様では、デバイスは、これに加えまたはこれに代えて、フレーズのより最近の使用が、フレーズのより古い使用よりもスコアが高くなるように、回数で重み付けされる人気度スコアを維持することもできる。使用履歴は、更に、上述した技術によって識別される、１つ以上のコンテクスト内での各フレーズの今までの使用回数を示すデータを含むこともできる。これに代えて、別々のフレーズ・リポジトリを、各コンテクストごとに維持することもできる。
【００９６】
一実施態様では、上で記述されるように、フレーズ・データを集めるいかなるデバイスも、そのデータのいくつか又はすべてを、メッセージ・ネットワーク内の他のデバイスと共有して、これらのデバイスが、それら自身のデータ・リポジトリを構築して、メッセージング・インターフェースを生成することを容易にすることができる。例えば、中央サーバ・システム130は、クライアント・デバイス110での格納のために、更新されたフレーズ・データを周期的に送信することができる。別の具体例では、クライアント・デバイス110は、更新されたフレーズ・データを、周期的に、中央サーバ・システム130および／または他のユーザによって作動されている他のクライアント・デバイスと共有することができる。
【００９７】
５．３  フレーズに基づく要素として包含するためのフレーズの選択
クライアント・デバイス110または中央サーバ132のようなデバイスが、メッセージング・インターフェース内のフレーズに基づく要素としての使用に対して、広く使用されるフレーズのリストを生成する場合には、このデバイスは、ユーザに最も関連すると思われるフレーズが、インターフェース内でより容易に（例えば、最小のスクローリングによって）アクセス可能となることを確実にするために、フレーズをフィルタリングまたは順位付けすることができる。したがって、ある実施態様では、中央サーバ132は、データ・リポジトリ134から全てのフレーズを読出すことによって、広く使用されるフレーズのリストを生成するのに対し、他の実施態様では、中央サーバ132は、その使用履歴が一定基準とマッチするフレーズしか選択しない。例えば、選択は、一定人気度スコア以上のスコアを有するフレーズのみに限定することができる。別の具体例では、選択は、一定コンテクストにおいて今までに使用されたフレーズのみに限定することができる。多数のデータ・リポジトリを備え、複数のコンテクストの各コンテクスト毎に種々のフレーズ・リポジトリを有する実施態様では、選択は、現在のコンテクストに関連するリポジトリに現れるフレーズのみに、限定することができる。一実施態様では、選択されたフレーズは、人気度またはコンテクスト・データに少なくとも部分的に基づいて順序付けられる。
【００９８】
例えば、一群のユーザは、「戦術"Warcraft"」と言う名のビデオゲームをプレイする間、フレーズ"BwrDrgn!"を備えるメッセージを頻繁に交換するが、このフレーズを他で使用することはまれである。中央サーバ・システム130は、上術した技術を使用してこのフレーズを収集し、かつ更にこのフレーズの使用履歴をコンパイルすることができる。ユーザAが、ニュース放送を見る間にメッセージング・インターフェースを開始しようとする場合、中央サーバ・システム130は、このフレーズの順位付けを非常に低くするか、またはこのフレーズを全く選択しないであろう。したがって、例えこのフレーズを探そうとしても、ユーザAには、多くのスクローリングをした後しか、フレーズ"BwrDrgn!"に対応する選択可能なコントロールは提示されないであろう。これに対して、ユーザBが、「戦術」またはこれに類似のビデオゲームをプレイする間に、メッセージング・インターフェースを開始しようとする場合には、中央サーバ・システム130は、このフレーズの順位付けを高くするであろう。したがって、ユーザBには、僅かなスクローリングの後で、このフレーズに対応する選択可能なコントロールが提示されるであろう。
【００９９】
５．４  コンテクストに依存するメタデータ
本明細書で記載されるメタデータが、活動のいかなる態様も記述または示すデータまたは他のタイプの情報である場合、メタデータは、活動に関係しているものとして記述することが出来る。活動の態様は、イベント、活動に関係する視聴可能なコンテンツ、時間、日付、参加者、位置、スポンサ、料金等を含むことができるが、これらに限定されるものではない。メタデータの要素は、英数字の文字、シンボル、語、フレーズ、画像、ビデオ、オーディオおよび／またはカレンダのオブジェクトという形態をとることができる。
【０１００】
例えば、テレビ番組の活動を見る活動に関連したメタデータの要素は、テレビ番組に対するメタデータから導出することができる。このメタデータは、シリーズ名（例えば、コントロール361）、エピソード名（例えば、コントロール364）、エピソード番号、放送日および／または時間（例えば、コントロール365）、最初の放送日、文字名（例えば、コントロール362および363）、画像（例えば、コントロール366）、音声またはビデオ・クリップ（例えば、コントロール367）、男優、女優、脚本家、ディレクタおよび／またはプロデューサの名前等を含むが、これらに限定されるものではない。類似のメタデータ要素を、映画を見ることまたは音楽を聞くことに関係させてもよい。
【０１０１】
５．５  次に予測される要素に基づく動的なインターフェース・レイアウト
一実施態様では、構文規則および／または使用パターンのようなフィルタに基づいて、ある要素がメッセージに挿入された後には、クライアント・デバイスは、メッセージ送信インターフェースのレイアウトを自動的に変えることができる。規則またはフィルタは、どの要素またはどの要素のタイプが、以前にエントリされた要素の１つ以上の後に続く可能性が高いかを予測するために、用いることができる。したがって、インターフェースは、各要素が選択された後に、カスタマイズすることができ、その結果、次に来ると予測される要素のタイプの選択が、より容易にアクセス可能となる。
【０１０２】
単純な具体例では、最後に選択されたコントロールは、このコントロールが、続けて二回選択されることはないであろうとの仮定に基づいて、インターフェース300のビューから自動的にスクロールさせることができる。別の例では、名詞の後には動詞が選択される可能性が高いであろうという仮定に基づいて、ユーザが、インターフェース300のコントロール群310から「名詞」コントロールを選択した後には、コントロール群320（動詞の代表）を、コントロール群310の場所に循環表示させることができる。実際、一実施態様では、何時でも、１つのコントロール群しか示されないが、このコントロール群は、前述の予測に基づいてインターフェースに回転される。予測が誤っている場合に所望のコントロールを循環表示するために、コントロール391-394に類似するモード・スイッチング・コントロールを用いることもできる。
【０１０３】
一実施態様では、メッセージ送信インターフェースの実際のレイアウトを同じもののままにしておくことはできるが、関心の対象となっているコントロールを、種々のコントロール群に自動的に変更させることもできる。一実施態様では、以前の一個以上の要素の後に、対応する各要素が発生する可能性を予測するスコアまたは規則に基づいて、コントロールを、各選択の後に、再順序付けすることができる。この再順序付は、しばしば、完全に新規な組のコントロールが循環表示される結果をもたらす。
【０１０４】
いくつかの実施態様では、各メッセージは、一個以上のメッセージ・テンプレートの1つに従って作成される。例えば、あるメッセージ・テンプレートは、要素のどのタイプが、メッセージのどの位置に挿入することができるかを決めることができる。1つのテンプレートは、例えば、代名詞−動詞−主語の単純なパターンを決めることができる。他の多くのテンプレートも、可能である。このような実施態様では、レイアウトは、テンプレートで要素の次のタイプを表すこれらのコントロールに優先順位をつけるように1つの要素を挿入した後、変更することができる。一実施態様では、メッセージを書く間、ユーザは、いつでも多数のテンプレートから１つを選択することができる。
【０１０５】
５．６  メッセージ作成インターフェース内のユーザによる活動の選択
一実施態様では、クライアントがメッセージ作成インターフェースを表示した後に受信された入力に応答して、クライアント・デバイスは、コンテクストに依存するメタデータに基づく要素を読出す。このような実施例では、ユーザは、メッセージング・インターフェースを開始した後に、コンテクストを識別することができる。例えば、インターフェース400の情報パネル460は、ユーザが、メッセージング・インターフェースの中から種々のコンテクスト（例えば、種々のテレビジョン番組）を選択することを可能にする。別の具体例では、メッセージング・インターフェースは、ユーザがカレンダの日付を選択することを可能にすることができる。カレンダ日付の選択に応答して、その日付に関連するメタデータを表すコントロールを、インターフェースに挿入することができる。ユーザが、新規なコンテクストを選択する時にはいつでも、新規なメタデータを追加しかつフレーズに基づく要素をフィルタリングまたは順序付けして、インターフェースを、更新することができる。
【０１０６】
５．７  集中化されていない環境における実行
いくつかの実施態様では、中央サーバ・システム130によって実行される本願明細書において記述される機能の一部または全部は、メッセージを送信することおよびフレーズを収集することを含め、中央サーバ・システム130によってではなくクライアント・デバイス110によって実行させることができる。例えば、クライアント・デバイス110は、クライアント・デバイス110が他のユーザから以前に受信したメッセージに少なくとも部分的に基づいて、それ自身のフレーズ・リポジトリと使用履歴を構築することができる。クライアント・デバイス110は、更に、コンテクストに依存するメタデータ（このメタデータは、コンテンツ・プロバイダ140から受信されたデータに基づいて周期的に更新されまたは更新されない）をそれ自身のリポジトリに含むことができる。従って、クライアント・デバイス110は、これらのリポジトリのフレーズとメタデータに基づいて、本願明細書において記述される要素を選択しかつ順序付けする技術の一部もしくは全部を、完全に実行することができる。
【０１０７】
このような実施態様では、ローカルに格納されたフレーズ・リポジトリと使用履歴の有用性は、各クライアント・デバイスが、そのフレーズ・リポジトリ（単数または複数）と使用履歴（単数または複数）を他のクライアント・デバイスと共有することにより、更に、改善させることができる。この共有は、様々な同期技術または分散された共有技術によって達成することができる。
【０１０８】
６．０  実行メカニズム−ハードウェアの概観
一実施態様によれば、本願明細書において記述される技術は、１つ以上の特別目的計算デバイスによって実行される。特別目的計算デバイスは、これらの技術を実行するように配線することもでき、またはこれらの技術を実行するように持続的にプログラムされている１つ以上の特定用途向け集積回路（ASIC）またはフィールド・プログラマブル・ゲート・アレイ（FPGA）のようなデジタル電子デバイスを含むことができ、またはファームウェア、メモリ、他の格納デバイスまたはこれらの組合せ内のプログラム命令に従ってこれらの技術を実行するようにプログラムされている１つ以上の汎用ハードウェア・プロセッサを含むこともできる。このような特別目的計算デバイスは、これらの技術を達成するために、カスタム・ハードワイヤード・ロジック、ASICまたはFPGAをカスタムメイドのプログラミングに結合することもできる。特別目的計算デバイスは、デスクトップ・コンピュータ・システム、携帯コンピュータ・システム、ハンドヘルド・デバイス、ネットワーキング・デバイスまたはこれらの技術を実行するためにハードワイヤードおよび／またはプログラム・ロジックを組み込んだ他のいかなるデバイスとすることもできる。
【０１０９】
例えば、図５は、本発明の一実施態様を実行することができるコンピュータ・システム500を示すブロック図である。コンピュータ・システム500は、情報を通信するためのバス502または他の通信メカニズム、およびバス502に結合されている情報処理のためのハードウェア・プロセッサ504を含む。ハードウェア・プロセッサ504は、例えば、汎用マイクロ・プロセッサとすることができる。
【０１１０】
コンピュータ・システム500は、ランダム・アクセス・メモリ（RAM）または（プロセッサ504によって実行されるべき情報および命令を格納するためのバス502に結合されている）他の動的格納デバイスのようなメイン・メモリ506も含む。メイン・メモリ506は、プロセッサ504が命令を実行している間に一時変数または他の中間情報を格納するために使用することもできる。このような命令は、プロセッサ504にアクセス可能な固定格納媒体に格納されると、コンピュータ・システム500を、命令で指定されたオペレーションを実行するようにカスタマイズされている特別目的マシンに、変えることができる。
【０１１１】
コンピュータ・システム500は、更に、プロセッサ504のために静的情報および命令を格納するための、バス502に結合されている読出し専用メモリ（ROM） 508または他の静的格納デバイスを含む。磁気ディスクまたは光学ディスクのような格納デバイス510が、情報および命令を格納するために、設けられかつバス502に結合されている。
【０１１２】
コンピュータ・システム500は、コンピュータ・ユーザに対し情報を表示するために、バス502を介して陰極線管（CRT）のようなディスプレイ512に結合することができる。英数字キーおよび他のキーを含む入力デバイス514は、プロセッサ504と情報を通信しかつコマンドを選択するために、バス502に結合されている。別のタイプのユーザ入力デバイスは、プロセッサ504と方向情報とコマンド選択を通信しかつディスプレイ512上のカーソル移動をコントロールするためのマウス、トラックボールまたはカーソル方向キーのようなカーソル・コントロール516である。この入力デバイスは、典型的には、デバイスが面内の位置を指定することを可能にする、第一の軸（例えば、x軸）と第二の軸（例えば、y軸）からなる2本の軸に2つの自由度を有する。
【０１１３】
コンピュータ・システム500は、カスタマイズされたハードワイヤード・ロジック、１つ以上のASICまたはFPGA、コンピュータ・システムと協働して、コンピュータ・システム500を特別目的マシンにするファームウェアおよび／またはプログラム・ロジックを使用して、本願明細書において記述される技術を実行することができる。一実施態様によれば、プロセッサ504が、メイン・メモリ506に含まれる１つ以上の命令の１つ以上のシーケンスを実行することに応答して、コンピュータ・システム500は、本願明細書における技術を実行する。このような命令は、格納デバイス510のような別の格納媒体からメイン・メモリ506に読み込ませることができる。メイン・メモリ506に含まれる命令のシーケンスの実行は、プロセッサ504に、本願明細書において記述されるプロセスのステップを実行させる。別の実施態様では、ハードワイヤード回路を、ソフトウェア命令の代わりにまたはそれと組合わせて使用することができる。
【０１１４】
本願明細書において使用される「格納媒体」という用語は、マシンに特定な動作をさせるデータおよび／または命令を格納する任意の固定媒体を意味する。このような格納媒体は、不揮発性媒体および／または揮発性媒体を備えることができる。不揮発性媒体は、例えば、格納デバイス510のような光学ディスクまたは磁気ディスクを含む。揮発性媒体は、メイン・メモリ506のような、動的メモリを含む。格納媒体の一般のフォームは、例えば、フロッピ・ディスク、フレキシブル・ディスク、ハード・ディスクは、ソリッド・ステート・ドライブ、磁気テープ、または任意の他の磁気データ格納媒体、CD-ROM、他の任意の光学データ格納媒体も、穴のパターンを有する任意の物理媒体、RAM、PROMおよびEPROM、フラッシュEPROM、NVRAM、他の任意のメモリ・チップまたはカートリッジを含む。
【０１１５】
格納媒体は、転送媒体とは異なるが、転送媒体と共に使用することもできる。転送媒体は、格納媒体間に情報を転送するものである。例えば、転送媒体は、バス502を備えるワイヤを含む、同軸ケーブル、銅線および光ファイバを含む。転送媒体は、電波通信および赤外データ通信の間に生成されるもののような、電波または光波の形態をとることも可能である。
【０１１６】
媒体の様々な形態は、プロセッサ504の実行のために、１つ以上の命令の１つ以上のシーケンスを担持することに関係させることができる。例えば、命令は、最初、リモート・コンピュータの磁気ディスクまたはソリッド・ステート・ドライブに担持させることができる。リモート・コンピュータは、命令をその動的メモリにロードし、そしてモデムを使用して電話回線により命令を送信することができる。コンピュータ・システム500にローカルに接続されているモデムは、電話回線上のデータを受信し、かつ赤外送信器を使用してデータを赤外信号に変換することが可能である。赤外検出器は、赤外信号に担持されているデータを受信し、かつ適切な回路が、データをバス502に配置することが出来る。バス502は、メイン・メモリ506へのデータを担持し、プロセッサ504は、メイン・メモリ506から命令を読出しかつ命令を実行する。メイン・メモリ506によって受信された命令は、オプションとして、プロセッサ504による実行の前または後に格納デバイス510に格納することもできる。
【０１１７】
コンピュータ・システム500は、バス502に結合されている通信インターフェース518も含む。通信インターフェース518は、ローカル・ネットワーク522に接続されているネットワーク・リンク520に結合されている双方向データ通信を提供する。例えば、通信インターフェース518は、総合サービス・デジタル・ネットワーク（ISDN）カード、ケーブル・モデム、衛星モデム、または電話回線に対応するタイプへのデータ通信接続を提供するモデムとすることができる。別の具体例では、通信インターフェース518は、互換のLANへのデータ通信接続を提供するローカル・エリア・ネットワーク（LAN）カードとすることができる。無線リンクを、実行することもできる。この種の実行の何れにおいても、通信インターフェース518は、様々なタイプの情報を表すデジタル・データ・ストリームを担持する電気信号、電磁信号または光学信号を送信しかつ受信する。
【０１１８】
ネットワーク・リンク520は、典型的には、１つ以上のネットワークを介して他のデータ・デバイスにデータ通信を提供する。例えば、ネットワーク・リンク520は、ホスト・コンピュータ524またはインターネット・サービス・プロバイダ（ISP）526によって作動されるデータ機器に、ローカル・ネットワーク522を介して、接続を提供することができる。ISP 526は、今や広く「インターネット」528と呼ばれるワールド・ワイド・パケット・データ通信ネットワークによりデータ通信サービスを提供する。ローカル・ネットワーク522およびインターネット528は、両者とも、デジタル・データ・ストリームを担持する、電気信号、電磁信号または光学信号を使用する。転送媒体の形態の具体例は、さまざまなネットワークを介する信号及びネットワーク・リンク520上の信号並びにコンピュータ・システム500への／からのデジタルデータを担持する通信インターフェース518を介する信号である。
【０１１９】
コンピュータ・システム500は、ネットワーク、ネットワーク・リンク520および通信インターフェース518を介して、メッセージを送信し、かつプログラムコードを含むデータを受信することが出来る。インターネットの具体例では、サーバ530は、インターネット528、ISP 526、ローカル・ネットワーク522および通信インターフェース518を介して、アプリケーション・プログラムに対してリクエストされたコードを送信するかもしれない。
【０１２０】
プロセッサ504は、受信コードを、それが受信されると同時に実行し、および／または後の実行のために、格納デバイス510または他の不揮発性格納デバイスに格納することができる。
【０１２１】
７．０  拡張および変形例
前述の明細書において、本発明の実施態様は、実行ごとに異なる多数の具体的な詳細を参照して記述されて来た。したがって、何が本発明であるのか、かつ何が本出願人が意図する発明であるのかを示す唯一のものは、後における如何なる訂正をも含む、本出願から発行される請求項の組である。このような請求項に含まれる用語に対する本願明細書において明確に記載されている定義が、請求項において用いられているそのような用語の意味を決めるべきである。それ故、請求項において明白に詳述されていない限定、要素、属性、特長、利点または属性は、いかなる形であれこのような請求項の範囲を限定してはならない。したがって、明細書および図面は、限定するものではなく、例示的なものであるとみなすべきである。
【図１】
0005927290.tif 000002
【図２】
0005927290.tif 000003
【図３Ａ】
0005927290.tif 000004
【図３Ｂ】
0005927290.tif 000005
【図３Ｃ】
0005927290.tif 000006
【図４】
0005927290.tif 000007
【図５】
0005927290.tif 000008