(57)【要約】  第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する方法は、第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する工程を備える。方法は、メッセージングストリームに対するアニメートされたオブジェクトの選択を、第１ユーザから受信する工程をさらに含む。方法は、アニメートされたオブジェクトをメッセージングストリームにおいて提供する工程をさらに含む。方法は、アニメートされたオブジェクトに関連する第１ユーザからの第１アクションを受信する工程をさらに含む。方法は、アニメートされたオブジェクトの表示を、第１アクションに基づき変更する工程をさらに含む。方法は、アニメートされたオブジェクトに関連する第２ユーザからの第２アクションを受信する工程をさらに含む。方法は、アニメートされたオブジェクトの表示を、第２アクションに基づき変更する工程をさらに含む。
2019537117.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、前記方法は、
第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する工程と、
前記メッセージングストリームに対するアニメートされたオブジェクトの選択を、前記第１ユーザから受信する工程と、
前記アニメートされたオブジェクトを前記メッセージングストリームにおいて提供する、提供工程と、
前記アニメートされたオブジェクトに関連する前記第１ユーザからの第１アクションを受信する、第１アクション受信工程と、
前記アニメートされたオブジェクトの表示を、前記第１アクションに基づき変更する、第１アクション基準オブジェクト表示変更工程と、
前記アニメートされたオブジェクトに関連する前記第２ユーザからの第２アクションを受信する、第２アクション受信工程と、
前記アニメートされたオブジェクトの前記表示を、前記第２アクションに基づき変更する工程と、を備える方法。
【請求項２】
前記第１アクション受信工程は、コンピューティング装置に関連付けられたマイク付近の気流の変化を検出することを含む請求項１に記載の方法。
【請求項３】
前記第１アクション受信工程は、タッチスクリーン上の指の移動を検出することまたはポインティングデバイスの移動を検出することを含む請求項１に記載の方法。
【請求項４】
前記第１アクション受信工程は、コンピューティング装置の移動を、前記コンピューティング装置に関連付けられたセンサから受信された情報に基づき検出することを含む請求項１に記載の方法。
【請求項５】
移動の方向を判定する工程と前記ユーズ装置が移動した場所を判定する工程とのうちの少なくとも一方をさらに備え、前記第１アクション基準オブジェクト表示変更工程は、前記アニメートされたオブジェクトの前記表示を、判定された移動の方向と前記コンピューティング装置が移動したと判定された場所とのうちの少なくとも一方に基づき、変更することを含む請求項４に記載の方法。
【請求項６】
前記第１アクション受信工程は、第１ユーザからメッセージを受信し、前記メッセージングストリームからコンテクストを判定することを含み、
前記第１アクション基準オブジェクト表示変更工程は、前記アニメートされたオブジェクトの前記表示を、前記メッセージングストリームからの前記コンテクストに基づき、変更することを含む請求項１に記載の方法。
【請求項７】
前記第１アクションは、前記アニメートされたオブジェクトを第１方向に引くことであり、前記第２アクションは、前記アニメートされたオブジェクトを第２方向に引くことである請求項１に記載の方法。
【請求項８】
前記第１ユーザおよび前記第２ユーザは地理的に離れており、前記提供工程は、（ａ）前記アニメートされたオブジェクトを、前記第１ユーザの第１コンピューティング装置上の前記メッセージングストリームにおいて、および前記第２ユーザの第２コンピューティング装置上の前記メッセージングストリームにおいて、提供することと、（ｂ）前記第１コンピューティング装置および前記第２コンピューティング装置のうちの１つ以上において、アニメートされたオブジェクトを表示のために、前記第１ユーザまたは前記第２ユーザのそれぞれに関連付けられたメタデータに基づき変更することと、を含む請求項１に記載の方法。
【請求項９】
前記メタデータは、前記第１ユーザの前記第１コンピューティング装置および前記第２ユーザの前記第２コンピューティング装置のうちの１つ以上に関連付けられた時刻、位置、時間帯、ユーザ嗜好のうちの１つ以上を含む請求項８に記載の方法。
【請求項１０】
前記第１ユーザおよび前記第２ユーザのうちの１人以上の前記コンピューティング装置に関連付けられた位置を、全地球測位システム情報を提供するセンサに基づき判定する工程をさらに備える請求項９に記載の方法。
【請求項１１】
前記アニメートされたオブジェクトが前記メッセージングストリームのうちの部分に固定されたままで、前記１つまたは複数のメッセージを前記メッセージングストリーム内に表示する工程をさらに備える請求項１に記載の方法。
【請求項１２】
前記第１ユーザはチャットボットであり、前記アニメートされたオブジェクトは、前記第１ユーザと前記第２ユーザとの間で交換される前記１つまたは複数のメッセージに関連する請求項１に記載の方法。
【請求項１３】
前記アニメートされたオブジェクトの前記表示は、前記１つまたは複数のメッセージ中の単語、音声コンテンツ、および前記メッセージングストリームのコンテクストのうちの１つ以上に基づき変更される請求項１に記載の方法。
【請求項１４】
前記第１ユーザにオプションとして提供するオブジェクトのセットを、前記メッセージングストリームが表示されるコンピューティング装置の種類に基づき識別する工程であって、前記アニメートされたオブジェクトは前記オブジェクトのセットの一部である工程をさらに備える請求項１に記載の方法。
【請求項１５】
前記第１ユーザが前記アニメートされたオブジェクトを前記メッセージングストリームに対して選択するために、アニメートされたオブジェクトのグループを提供する工程をさらに備え、前記アニメートされたオブジェクトのグループのうちの前記アニメートされたオブジェクトが、（ａ）前記アニメートされたオブジェクトを選択するために使用されるコンピューティング装置の種類によって異なることと、（ｂ）前記アニメートされたオブジェクトを選択するために使用されるコンピューティング装置に基づき異なる属性を有することと、のうちの１つ以上を含む請求項１に記載の方法。
【請求項１６】
１つまたは複数のコンピュータによって実行されると、前記１つまたは複数のコンピュータに処理を実行させる命令が記憶された非一時的なコンピュータ可読媒体であって、前記処理は、
第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する工程と、
前記メッセージングストリームに対するアニメートされたオブジェクトの選択を、前記第１ユーザから受信する工程と、
前記アニメートされたオブジェクトのバージョンを、前記アニメートされたオブジェクトが表示されるコンピューティング装置の種類に基づき表示させる工程と、
前記アニメートされたオブジェクトに関連する前記第２ユーザからのアクションを受信する、第２ユーザアクション受信工程と、
前記アクションを受信することに応じて、前記アニメートされたオブジェクトの前記表示を変更する工程と、を備える非一時的なコンピュータ可読媒体。
【請求項１７】
前記選択は第１選択であり、前記アニメートされたオブジェクトはアニメートされた第１オブジェクトであり、
前記第２ユーザにアニメートされたオブジェクトのセットを、前記第１オブジェクトとの関係に基づき提供する工程と、
前記アニメートされたオブジェクトのセットから、アニメートされた第２オブジェクトの第２選択を受信する工程と、
前記第２選択の前記受信に応じて、前記第２オブジェクトを前記メッセージングストリームにおいて提供する工程と、をさらに備える請求項１６に記載のコンピュータ記憶媒体。
【請求項１８】
前記アニメートされたオブジェクトが表示される前記コンピューティング装置の種類に基づき表示される、前記アニメートされたオブジェクトの前記バージョンは、デスクトップコンピュータ用の複雑なバージョン、モバイル装置用の簡易バージョン、およびスマートウォッチ用のより簡易なバージョンを含む請求項１６に記載のコンピュータ記憶媒体。
【請求項１９】
前記第２ユーザアクション受信工程は、コンピューティング装置に関連付けられたマイク付近の気流の変化を検出することを含む請求項１６に記載のコンピュータ記憶媒体。
【請求項２０】
システムであって、前記システムは、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによって実行される命令を記憶するメモリと、を備え、前記命令は、
第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成することと、
前記メッセージングストリームに対するアニメートされたオブジェクトの選択を、前記第１ユーザから受信することと、
前記アニメートされたオブジェクトを前記メッセージングストリームにおいて提供することと、
前記アニメートされたオブジェクトに関連する前記第１ユーザからの第１アクションを受信することと、
前記アニメートされたオブジェクトの表示を、前記第１アクションに基づき変更することと、
前記アニメートされたオブジェクトに関連する前記第２ユーザからの第２アクションを受信することと、
前記アニメートされたオブジェクトの前記表示を、前記第２アクションに基づき変更することと、を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、アニメートされたオブジェクトを有するメッセージングストリームの生成に関する。
【背景技術】
【０００２】
現在のメッセージングアプリケーションは、ステッカー、絵文字、写真、ＧＩＦ、および音声の形式での非対話型の、一方向のオブジェクトを可能にする。しかしながら、これらの一方向のオブジェクトは、適用が制限されるため、一過性であると考えられ得る。例えば、第１ユーザが絵文字を第２ユーザに送信する場合があり、ユーザは絵文字を面白いと思うが、その後は絵文字のことを完全に忘れてしまう。したがって、周知のメッセージング方法およびシステムにおけるユーザ対話の可能性はかなり限定されている。
【０００３】
本明細書に述べられる背景技術の記載は、本開示の背景を一般的に提示するためのものである。ここに指定された発明者の研究は、出願時に別段、従来技術とされない記載の態様と同様に、この背景技術の欄に記載されている範囲では、明示的にも暗示的にも本開示に対する従来技術であるとは認められない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本願は、アニメートされたオブジェクトを有するメッセージングストリームの生成に関する。
【課題を解決するための手段】
【０００５】
実装は、一般的には、第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成するためのコンピュータが実行する方法に関する。方法は、第１ユーザと第２ユーザ（第１ユーザと第２ユーザは地理的に離れてよい）との間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する工程を含んでよい。方法は、メッセージングストリームに対するアニメートされたオブジェクトの選択を、第１ユーザから受信する工程をさらに含む。方法は、アニメートされたオブジェクトをメッセージングストリームにおいて提供する、提供工程をさらに含む。方法は、アニメートされたオブジェクトに関連する第１ユーザから第１アクションを受信する、第１アクション受信工程をさらに含む。方法は、アニメートされたオブジェクトの表示を、第１アクションに基づき変更する、第１アクション基準オブジェクト表示変更工程をさらに含む。方法は、アニメートされたオブジェクトに関連する第２ユーザから第２アクションを受信する、第２アクション受信工程をさらに含む。方法は、アニメートされたオブジェクトの表示を、第２アクションに基づき変更する工程をさらに含む。提案された解決に基づき、ユーザが対話をするためにメッセージングストリームを介してメッセージを交換する機能が強化される。ユーザが、別個のコンピューティング装置を使用して、例えばより直感的および／またはより変化のある形式で互いに対話することを可能にする技術が提供される。
【０００６】
いくつかの実装では、異なる種類のアクションおよびユーザ入力が受信され、アニメートされたオブジェクトの表示を変更してよい。いくつかの実装では、第１アクション受信工程は、コンピューティング装置に関連付けられたマイク付近の気流の変化を検出することを含む。いくつかの実装では、第１アクション受信工程は、タッチスクリーン上の指の移動を検出することまたはポインティングデバイスの移動を検出することを含む。いくつかの実装では、第１アクション受信工程は、コンピューティング装置の移動を、コンピューティング装置に関連付けられたセンサから受信された情報に基づき検出することを含む。これに関して、方法は、移動の方向を判定および／またはユーザ（ｕｓｅ）装置が移動した場所を判定する工程をさらに備えてよく、第１アクション基準オブジェクト表示変更工程は、アニメートされたオブジェクトの表示を、判定された移動の方向および／またはコンピューティング装置が移動したと判定された場所に基づき、変更することを含む。例えば、第１ユーザまたは第２ユーザがコンピューティング装置をユーザの耳元に移動させた場合、ユーザがコンピューティング装置をユーザの耳元に移動させたことを示すセンサからの情報を受信してよい。いくつかの例では、アニメートされたオブジェクトは、ユーザがコンピューティング装置をユーザの左耳に移動した場合の甲高い鳴き声、ユーザがコンピューティング装置をユーザの右耳に移動した場合の吠える声等、どのようにコンピューティング装置が移動したかによって、異なる音を出す。いくつかの実装では、第１アクション受信工程は、第１ユーザからメッセージを受信し、メッセージングストリームからコンテクストを判定することを含み、第１アクション基準オブジェクト表示変更工程は、アニメートされたオブジェクトの表示を、メッセージングストリームからのコンテクストに基づき、変更することを含む。いくつかの実装では、第１アクションは、アニメートされたオブジェクトを第１方向に引くことであり、第２アクションは、アニメートされたオブジェクトを第２方向に引くことである。いくつかの実装では、第１ユーザおよび第２ユーザは地理的に離れており、提供工程は、（ａ）アニメートされたオブジェクトを、第１ユーザの第１コンピューティング装置上のメッセージングストリームにおいて、および第２ユーザの第２コンピューティング装置上のメッセージングストリームにおいて、提供することと、（ｂ）第１コンピューティング装置および第２コンピューティング装置のうちの１つ以上の上で、アニメートされたオブジェクトを表示のために、第１ユーザまたは第２ユーザのそれぞれに関連付けられたメタデータに基づき変更することと、を含む。メタデータは、第１ユーザの第１コンピューティング装置および第２ユーザの第２コンピューティング装置のうちの１つ以上に関連付けられた時刻、位置、時間帯、ユーザ嗜好のうちの１つ以上を含んでよい。これに関して、方法は、例えば、第１ユーザおよび第２ユーザのうちの１人以上のコンピューティング装置に関連付けられた位置を、ＧＰＳ（全地球測位システム）情報を提供するセンサに基づき判定する工程をさらに備えてよい。いくつかの実装では、方法は、アニメートされたオブジェクトがメッセージングストリームの部分に固定されたままで、１つまたは複数のメッセージをメッセージングストリーム内に表示する工程をさらに備える。いくつかの実装では、第１ユーザはチャットボットであり、アニメートされたオブジェクトは、第１ユーザと第２ユーザとの間で交換される１つまたは複数のメッセージに関連する。いくつかの実装では、アニメートされたオブジェクトの表示は、１つまたは複数のメッセージ中の単語、音声コンテンツ、およびメッセージングストリームのコンテクストのうちの１つ以上に基づき変更される。いくつかの実装では、方法は、第１ユーザにオプションとして提供するオブジェクトのセットを、メッセージングストリームが表示されるコンピューティング装置の種類に基づき識別する工程であって、アニメートされたオブジェクトはオブジェクトのセットの一部である工程をさらに備える。いくつかの実装では、方法は、第１ユーザがアニメートされたオブジェクトをメッセージングストリームに対して選択するために、アニメートされたオブジェクトのグループを提供する工程をさらに備え、アニメートされたオブジェクトのグループのアニメートされたオブジェクトは、（ａ）アニメートされたオブジェクトを選択するために使用されるコンピューティング装置の種類によって異なり、および／または（ｂ）アニメートされたオブジェクトを選択するために使用されるコンピューティング装置に基づき異なる属性を有する。
【０００７】
いくつかの実装では、方法は、第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する工程を含む。方法は、メッセージングストリームに対するアニメートされたオブジェクトの選択を、第１ユーザから受信する工程をさらに含む。方法は、アニメートされたオブジェクトのバージョンを、アニメートされたオブジェクトが表示されるコンピューティング装置の種類に基づき表示させる工程をさらに含む。方法は、アニメートされたオブジェクトに関連する第２ユーザからアクションを受信する、第２ユーザアクション受信工程をさらに含む。方法は、アクションを受信することに応じて、アニメートされたオブジェクトの表示を変更する工程をさらに含む。
【０００８】
いくつかの実装では、選択は第１選択であり、アニメートされたオブジェクトは第１のアニメートされたオブジェクトであり、方法は、第２ユーザにアニメートされたオブジェクトのセットを、第１オブジェクトとの関係に基づき提供する工程と、アニメートされたオブジェクトのセットから、第２のアニメートされたオブジェクトの第２選択を受信する工程と、第２選択の受信に応じて、第２オブジェクトをメッセージングストリームにおいて提供する工程と、をさらに備える。いくつかの実装では、アニメートされたオブジェクトが表示されるコンピューティング装置の種類に基づき表示される、アニメートされたオブジェクトのバージョンは、デスクトップコンピュータ用の複雑なバージョン、モバイル装置用の簡易バージョン、およびスマートウォッチ用のより簡易なバージョンを含む。いくつかの実装では、選択は第１選択であり、アニメートされたオブジェクトは、第１のアニメートされたオブジェクトであり、第２ユーザからのアクションは、メッセージングストリームに対する第２ユーザからの第２のアニメートされたオブジェクトの第２選択を含み、第１のアニメートされたオブジェクトの表示を変更する工程は、第２のアニメートされたオブジェクトと対話する第１のアニメートされたオブジェクトを含む。
【０００９】
別の態様によれば、システムが記載される。そのようなシステムは、第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームを生成する手段を含む。システムは、メッセージングストリームに対するアニメートされたオブジェクトの選択を、第１ユーザから受信する手段をさらに含む。システムは、アニメートされたオブジェクトをメッセージングストリームにおいて提供する手段をさらに含む。システムは、アニメートされたオブジェクトに関連する第１ユーザから第１アクションを受信する手段をさらに含む。システムは、アニメートされたオブジェクトの表示を、第１アクションに基づき変更する手段をさらに含む。システムは、アニメートされたオブジェクトに関連する第２ユーザから第２アクションを受信する手段をさらに含む。システムは、アニメートされたオブジェクトの表示を、第２アクションに基づき変更する手段をさらに含む。
【００１０】
下記の様々な実装は、対話型のアニメートされたオブジェクトを含むメッセージングストリームを提供する。下記のアニメートされたオブジェクトは、ディスプレイ画面上に表示され得る、仮想現実環境において投影され得る、オーディとしてオ再生され得る、触覚フィードバックを介して再生され得る、またはそのような様式の組み合わせのフィーチャ等のマルチメディアの特徴を含んでよい。様々な実装において、ユーザの同意に基づき、アニメートされたオブジェクトはユーザ入力、メッセージングストリームにおいて交換されるメッセージ、メッセージングコンテクスト、およびそのような要素の組み合わせに反応する。対話型のアニメートされたオブジェクトは複数の利点を提供してよい。例えば、そのようなアニメートされたオブジェクトは、テキスト、画像、アニメートされたＧＩＦ、ステッカー、および絵文字等の所有するアイテムの送信に制限されるのではなく、例えばユーザが対話的方法で自身を表現することを可能にすることで、メッセージングストリームを実装するメッセージングアプリケーションを使用するユーザエクスペリエンスを向上させ得る。さらに、複数のユーザを含むメッセージングストリームにおいてアニメートされたオブジェクトを提供する実装において、アニメートされたオブジェクトは、複数のユーザによって、同時にまたは連続的に動かされてよい。そのような対話性は、地理的に離れたユーザに対して、オブジェクトを共同して変更する体験を提供してよい。さらなる利点は、オブジェクトの動作がユーザによってカスタマイズされ得るということである。
【００１１】
本明細書で提供される実装は、対話型のアニメートされたオブジェクトを、メッセージングストリームにおいて効率的に提供する。例えば、アニメートされたオブジェクトは、ある行動について前もってプログラムされてよい。例えば、アニメートされたオブジェクトは、ユーザアクションまたはコンテクストに従って変更または表示されることによって、様々なユーザアクション、メッセージングコンテクスト等に反応するよう構成されてよい。このように、技術的な利点は、アニメートされたオブジェクトの複数または更には無数の行動が、各行動を明示的に指定する必要なく、前もってプログラムされた行動の組み合わせによって提供され得るということである。これは、複雑なアニメートされたオブジェクトが、限定的な計算リソースで記憶および表示されることを可能にする。アニメートされたオブジェクトは、例えば、アニメートされたオブジェクトをメッセージングストリームに挿入するだけで、ダウンロードまたは要求に応じてアクセスされてよい。これにより、オブジェクトを記憶するために必要な記憶スペースを削減する。アニメートされたオブジェクトの異なるバージョンは、異なるコンピューティング装置に対して下記のように提供されてよい。従って、限定された記憶スペース、ネットワークアクセス容量、および処理能力を有する装置であっても、アニメートされたオブジェクトの適切なバージョンを描画することが可能である。従って、下記の実装は、アニメートされたオブジェクトを、装置固有の構成を必要とせずに、異なる種類のコンピューティング装置に対するメッセージングストリームにおいて提供する。
【００１２】
本開示は、例として説明されており、類似の要素を参照するために同様な参照番号を用いる添付された図の形状における限定としては説明されていない。
【図面の簡単な説明】
【００１３】
【図１】いくつかの実装による、アニメートされたオブジェクトを有するメッセージングストリームを生成する例示的なシステムのブロック図。
【図２】いくつかの実装による、アニメートされたオブジェクトを有するメッセージングストリームを生成する例示的なコンピューティング装置のブロック図。
【図３Ａ】いくつかの実装による、アニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｂ】いくつかの実装による、第１ユーザによって制御されたポインティングデバイスを追う目を持つ、アニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｃ】いくつかの実装による、複数のユーザに閲覧可能なアニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｄ】いくつかの実装による、第２ユーザによって制御されたカーソルを追う目を持つ、アニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｅ】いくつかの実装による、移動されることに反応するアニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｆ】いくつかの実装による、配置されることに反応するアニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｇ】いくつかの実装による、メッセージングストリーム内に表示されたテキストを閲覧するように動く目を持つ、アニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｈ】いくつかの実装による、メッセージングストリーム内の固定位置に留まる、アニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｉ】いくつかの実装による、メッセージ中の単語に反応するアニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図３Ｊ】いくつかの実装による、メッセージ中の単語に反応し続けるアニメートされたクッキーを含むメッセージングストリームの例示的なユーザインタフェース。
【図４Ａ】いくつかの実装による、アニメートされた熊を含むメッセージングストリームの例示的なユーザインタフェース。
【図４Ｂ】いくつかの実装による、ユーザがユーザアクションを行った後の、アニメートされた熊を含むメッセージングストリームの例示的なユーザインタフェース。
【図５Ａ】いくつかの実装による、アニメートされた泡を含むメッセージングストリームの例示的なユーザインタフェース。
【図５Ｂ】いくつかの実装による、２人のユーザがユーザアクションを行った後の、アニメートされた泡を含むメッセージングストリームの例示的なユーザインタフェース。
【図６】いくつかの実装による、アニメートされた送金オブジェクトを含むメッセージングストリームの例示的なユーザインタフェース。
【図７Ａ】いくつかの実装による、アニメートされたテイクアウトボックスの例示的なユーザインタフェース。
【図７Ｂ】いくつかの実装による、ユーザがユーザアクションを行った後の、アニメートされたテイクアウトボックスの例示的なユーザインタフェース。
【図８Ａ】いくつかの実装による、アニメートされた飛行機を含むメッセージングストリームの例示的なユーザインタフェース。
【図８Ｂ】いくつかの実装による、アニメートされた飛行機に関連するユーザアクションに応じて表示される、アニメートされたカップルを含むメッセージングストリームの例示的なユーザインタフェース。
【図９】アニメートされたオブジェクトを含むメッセージングストリームを生成する例示的な方法のフローチャート。
【発明を実施するための形態】
【００１４】
いくつかの実装において、メッセージングアプリケーションは、第１ユーザと第２ユーザとの間でメッセージが交換されるメッセージングストリームを生成する。メッセージングアプリケーションは、アニメートされたオブジェクトの選択を第１ユーザからメッセージングストリーム用に受信してよい。例えば、第１ユーザは、メッセージングストリームに追加するアニメートされた泡を選択してよい。メッセージングアプリケーションは、アニメートされたオブジェクトをメッセージングストリームに追加してよい。例えば、第１ユーザおよび第２ユーザは、メッセージングストリームにおいてアニメートされた泡を閲覧してよい。
【００１５】
メッセージングアプリケーションは、アニメートされたオブジェクトに関連する第１ユーザから、第１アクションを受信してよい。例えば、第１ユーザはユーザ装置に息を吹きかけてよく、ユーザ装置はマイク付近の気流の変化を検出する。メッセージングアプリケーションは、第１アクションに基づき、アニメートされたオブジェクトの表示を変更してよい。例えば、メッセージングアプリケーションは、泡をユーザがユーザ装置に息を吹きかけることに基づき上昇するように表示してよい。メッセージングアプリケーションは、アニメートされたオブジェクトに関連する第２ユーザから、第２アクションを受信してよい。例えば、メッセージングアプリケーションは、第２ユーザがユーザ装置上で指を使って泡を引くことに基づく指示を受信してよい。メッセージングアプリケーションは、第２アクションに基づき、アニメートされたオブジェクトの表示を変更してよい。例えば、メッセージングアプリケーションは、泡を指の動きに対応する方向に引き伸ばされ、その後に破裂するように表示してよい。
例示的なシステム
図１は、アニメートされたオブジェクトを含むメッセージングストリームを生成する例示的なシステム１００のブロック図を示す。システム１００は、メッセージングサーバ１０１、ユーザ装置１１５ａ、１１５ｎ、第２サーバ１２０、およびネットワーク１０５を含む。ユーザ１２５ａ、１２５ｎは、各々のユーザ装置１１５ａ、１１５ｎに関連付けられてよい。いくつかの実装では、システム１００は、図１に示されない他のサーバまたは装置を含んでよい。図１および残りの図において、例えば「１１５ａ」のような参照番号の後の文字は、その特定の参照番号を有する要素に対する参照を表す。本明細書において、例えば「１１５」のように続きの文字を持たない参照番号は、その参照番号を有する要素の実装に対する一般的な参照を表す。
【００１６】
メッセージングサーバ１０１は、プロセッサ、メモリ、およびネットワーク通信機能を含んでよい。いくつかの実装では、メッセージングサーバ１０１は、ハードウェアサーバである。メッセージングサーバ１０１は、信号線１０２を介してネットワーク１０５に通信可能に接続されている。信号線１０２は、イーサネット（登録商標）、同軸ケーブル、光ファイバーケーブル等の有線接続、またはＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または他の無線技術等の無線接続であってよい。いくつかの実装では、メッセージングサーバ１０１は、ネットワーク１０５を介して１つまたは複数のユーザ装置１１５ａ、１１５ｎおよび第２サーバ１２０にデータを送信および受信する。メッセージングサーバ１０１はメッセージングアプリケーション１０３ａおよびデータベース１９９を含んでよい。
【００１７】
メッセージングアプリケーション１０３ａは、アニメートされたオブジェクトを含むメッセージングストリームを生成するよう動作可能なコードおよびルーチンであってよい。いくつかの実装では、メッセージングアプリケーション１０３ａは、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）またはＡＳＩＣ（特定用途向け集積回路）を含むハードウェアを使用して実装されてよい。いくつかの実装では、メッセージングアプリケーション１０３ａは、ハードウェアおよびソフトウェアの組み合わせを使用して実装されてよい。
【００１８】
データベース１９９は、アニメートされたオブジェクト、メッセージングストリーム等を記憶してよい。例えば、データベース１９９は、第１ユーザと第２ユーザとの間のメッセージを記憶してよい。データベース１９９はまた、ユーザ１２５に関連するソーシャルネットワークデータ、ユーザ１２５についてのユーザ嗜好等を記憶してよい。
【００１９】
ユーザ装置１１５は、メモリおよびハードウェアプロセッサを含むコンピューティング装置であってよい。例えば、ユーザ装置は、ネットワーク１０５にアクセスすることが可能なデスクトップコンピュータ、モバイル装置、タブレットコンピュータ、モバイル電話、ウェアラブル装置、ヘッドマウントディスプレイ、モバイルｅメール装置、携帯ゲーム装置、携帯音楽プレーヤ、リーダ装置、または別の電子装置を含んでよい。
【００２０】
図示された実装では、ユーザ装置１１５ａは、信号線１０８を介してネットワーク１０５に接続されており、ユーザ装置１１５ｎは、信号線１１０を介してネットワーク１０５に接続されている。信号線１０８および１１０は、イーサネット（登録商標）、同軸ケーブル、光ファイバーケーブル等の有線接続、またはＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、もしくは他の無線技術等の無線接続であってよい。ユーザ装置１１５ａ、１１５ｎは、それぞれユーザ１２５ａ、１２５ｎによってアクセスされる。図１のユーザ装置１１５ａ、１１５ｎは、例として用いられている。図１は２つのユーザ装置１１５ａ、１１５ｎを図示しているが、本開示は、１つまたは複数のユーザ装置１１５を有するシステム構成に適用される。
【００２１】
いくつかの実装では、ユーザ装置１１５は、ユーザ１２５によって着用されるウェアラブル装置に含まれるユーザ装置であってよい。例えば、ユーザ装置１１５は、クリップ（例えばリストバンド）の一部、装身具の一部、または眼鏡の一部として含まれる。別の例では、ユーザ装置１１５は、スマートウォッチであってよい。ユーザ１２５は、アニメートされたオブジェクトを、ユーザ１２５が着用する装置のディスプレイ上のメッセージングアプリケーション１０３から閲覧することができる。例えば、ユーザ１２５は、アニメートされたオブジェクトを、スマートウォッチまたはスマートリストバンドのディスプレイ上で閲覧してよい。
【００２２】
いくつかの実装では、メッセージングアプリケーション１０３ｂは、ユーザ装置１１５ａに記憶されてよい。メッセージングアプリケーション１０３は、ユーザ装置１１５ａに記憶されたシンクライアント・メッセージングアプリケーション１０３ｂ、およびメッセージングサーバ１０１に記憶されたメッセージングアプリケーション１０３ａを含んでよい。例えば、ユーザ装置１１５ａに記憶されたメッセージングアプリケーション１０３ｂは、アニメートされたオブジェクトを含むメッセージングストリームを表示してよい。ユーザ装置１１５ａは、雪だるまを表すアニメートされたオブジェクト上に雪を降らせるためにユーザ装置１１５ａを振る等の、第１ユーザからのユーザアクションを識別してよい。ユーザ装置１１５ａは、メッセージングストリームおよびユーザアクションに関する情報を、メッセージングサーバ１０１に記憶されたメッセージングアプリケーション１０３ａに送信してよく、メッセージングサーバ１０１は、デスクトップコンピュータからメッセージングアプリケーション１０３ａにアクセスする第２ユーザに対して、該情報を提供する。
【００２３】
第２サーバ１２０は、プロセッサ、メモリ、およびネットワーク通信機能を含んでよい。第２サーバ１２０は、信号線１０９を介してネットワーク１０５にアクセスしてよい。第２サーバ１２０は、メッセージングストリームに関する情報を、メッセージングアプリケーション１０３から受信し、またメッセージングアプリケーション１０３に提供してよい。例えば、第２サーバ１２０は、銀行に関連付けられてよく、また第２サーバ１２０は、銀行情報を使用して支払いをするために、メッセージングアプリケーション１０３と通信を行ってよい。ユーザ１２５は、現金の袋を表すアニメートされたオブジェクトをクリックすることにより、メッセージングアプリケーション１０３に指示をして、支払いをするよう第２サーバ１２０を認可してよい。取引が完了すると、第２サーバ１２０は、メッセージングアプリケーション１０３に対して、取引が完了した旨の通知を送信してよい。メッセージングアプリケーション１０３は、アニメートされたオブジェクトを変更して、現金が現金袋から第２サーバ１２０に関連付けられた銀行に移動する様子を示してよい。別の例では、第２サーバ１２０は、例えば料理の注文、面会のスケジューリング、予約、航空券の予約等の機能をユーザ１２５に対して果たすボットを含んでよい。さらに別の例では、第２サーバ１２０は、例えば、ユーザのミーティングに関する情報をユーザの同意に基づき送信するカレンダーアプリケーション等の、メッセージングアプリケーション１０３に対して情報を提供する別個のアプリケーションを含んでよい。
【００２４】
図示された実装では、システム１００の要素は、ネットワーク１０５を介して通信可能に接続されている。ネットワーク１０５は、従来型、有線または無線でよく、また星形構成、トークンリング構成、または他の構成を含む複数の異なる構成を有してよい。さらに、ネットワーク１０５は、ＬＡＮ（ローカルエリアネットワーク）、ＷＡＮ（ワイドエリアネットワーク、例えばインターネット）、および／または他の、複数の装置が通信可能な相互接続されたデータ経路を含んでよい。いくつかの実装では、ネットワーク１０５は、ピアツーピアネットワークでよい。ネットワーク１０５はまた、複数の異なる通信プロトコルでデータを送信する遠距離通信ネットワークに接続されるか、該遠距離通信ネットワークの一部を含んでよい。いくつかの実装では、ネットワーク１０５は、ＳＭＳ（ショートメッセージングサービス）、ＭＭＳ（マルチメディアメッセージングサービス）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、直接データ接続、ｅメール等を介すことを含むデータを送受信するＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク、Ｗｉ−Ｆｉ（登録商標）、またはセルラ通信ネットワークを含む。図１はユーザ装置１１５およびメッセージングサーバ１０１に接続された単一のネットワーク１０５を示しているが、実際には１つまたは複数のネットワーク１０５がこれらの要素に接続されてよい。
【００２５】
本明細書で検討されるシステムおよび方法がユーザに関する個人情報（例えば、ユーザデータ、ユーザのソーシャルネットワークに関する情報、ユーザの位置、ユーザの生体情報、ユーザの活動および人口統計的情報、メッセージングサーバはビデオを記憶および分析する）を収集または使用し得る状況では、ユーザには、情報が収集されてよいかどうか、個人情報が記憶されてよいかどうか、個人情報が使用されてよいかどうか、ビデオが分析されてよいかどうか、およびユーザに関する情報がどのように収集、記憶、使用されるか、を制御する機会が与えられる。つまり、本明細書で検討されるシステムおよび方法は、ユーザの個人情報を、該当するユーザのからの明示的な認可を受信したときのみ、収集、記憶、および／または使用する。例えば、ユーザには、プログラムまたはフィーチャが、その特定のユーザまたはプログラムもしくはフィーチャに関連する他のユーザに関するユーザ情報を収集してよいかを制御する権限が与えられる。個人情報が収集される各ユーザには、そのユーザに関連した情報収集の制御を可能にする１つまたは複数のオプションが提供され、それにより、情報が収集されてよいかどうか、およびその情報のどの部分が収集されるかに関する許可または認可を与える。例えば、ユーザには、１つまたは複数のそのような制御オプションが、通信ネットワークを通じて提供されてよい。加えて、あるデータは、個人を特定可能な情報が削除されるように、記憶または使用される前に１つまたは複数の方法で扱われてよい。一例として、ユーザの識別情報は、例えば匿名化される等で、扱われてよいため、個人を特定可能な情報はビデオから判定できない。別の例としては、ユーザの地理的位置は、ユーザの特定の位置が判定できないように、より大きな地域に一般化されてよい。
例示的なコンピューティング装置
図２は、合成画像を生成する例示的なコンピューティング装置２００のブロック図を示している。コンピューティング装置２００は、メッセージングサーバ１０１またはユーザ装置１１５であってよい。コンピューティング装置２００は、プロセッサ２３５、メモリ２３７、通信ユニット２３９、ディスプレイ２４１、スピーカ２４３、センサ２４５、および記憶装置２４７を含んでよい。追加的な要素が存在してよく、またはコンピューティング装置２００の種類によってはいくつかの上記の要素が省略されてよい。例えば、コンピューティング装置２００がメッセージングサーバ１０１の場合、コンピューティング装置２００は、ディスプレイ２４１、スピーカ２４３、およびセンサ２４５を含まなくてよい。メッセージングアプリケーション１０３は、メモリ２３７に記憶されてよい。コンピューティング装置２００がウェアラブル装置である実装では、コンピューティング装置２００は、記憶装置２４７を含まなくてよい。いくつかの実装では、コンピューティング装置２００は、バッテリ等の本明細書に挙げられていない他の要素を含んでよい。コンピューティング装置２００の要素は、バス２２０によって通信可能に接続されてよい。
【００２６】
プロセッサ２３５は、演算論理ユニット、マイクロプロセッサ、演算を行いディスプレイ装置に命令を提供する汎用コントローラまたは別のプロセッサアレイを含む。プロセッサ２３５はデータを処理し、またＣＩＳＣ（複合命令セットコンピュータ）アーキテクチャ、ＲＩＳＣ（縮小命令セットコンピュータ）アーキテクチャ、または命令セットの組み合わせを実装するアーキテクチャを含む様々なコンピューティングアーキテクチャを含んでよい。図２は単一のプロセッサ２３５を含むが、複数のプロセッサ２３５が含まれてよい。他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ、および物理的な構成はコンピューティング装置２００の一部であってよい。プロセッサ２３５は、他の要素と通信をするバス２２０に信号線２２２を介して接続されている。
【００２７】
メモリ２３７は、プロセッサ２３５および／またはデータによって実行され得る命令を記憶する。命令は、本明細書に記載される技術を実行するコードを含んでよい。メモリ２３７は、ＤＲＡＭ（ダイナミックランダムアクセスメモリ）装置、スタティックＲＡＭ，または別のメモリ装置であってよい。いくつかの実装では、メモリ２３７はまた、ＳＲＡＭ装置またはフラッシュメモリ等の不揮発性メモリ、または同様の、ハードディスクドライブ、ＣＤ−ＲＯＭ（コンパクトディスクリードオンリーメモリ）装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置を含む永久記憶装置および媒体、またはより永続的に情報を記憶する別の大容量記憶装置を含む。メモリ２３７は、以下により詳細に記載されるメッセージングアプリケーション１０３を実行するよう動作可能なコードおよびルーチンを含む。メモリ２３７は、他の要素と通信をするバス２２０に信号線２２４を介して接続されている。
【００２８】
通信ユニット２３９は、メッセージングアプリケーション１０３が記憶され得る場所に応じて、ユーザ装置１１５およびメッセージングサーバ１０１のうちの１つ以上とデータを送受信する。いくつかの実装では、通信ユニット２３９は、ネットワーク１０５または別の通信チャンネルへの直接的な物理接続用のポートを含む。例えば、通信ユニット２３９は、ＵＳＢ（ユニバーサルシリアルバス）、ＳＤ（セキュアデジタル）、ＣＡＴ−５（カテゴリー５ケーブル）、または、メッセージングアプリケーション１０３が記憶され得る場所に応じて、ユーザ装置１１５またはメッセージングサーバ１０１との有線通信用の同様のポートを含む。いくつかの実装では、通信ユニット２３９は、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６、Ｂｌｕｅｔｏｏｔｈ（登録商標）、または別の適切な無線通信方法を含む１つまたは複数の無線通信方法を使用して、ユーザ装置１１５、メッセージングサーバ１０１、または他の通信チャンネルとデータを交換する無線送受信機を含む。通信ユニット２３９は、他の要素と通信をするバス２２０に信号線２２６を介して接続されている。
【００２９】
いくつかの実装では、通信ユニット２３９は、ＳＭＳ（ショートメッセージングサービス）、ＭＭＳ（マルチメディアメッセージングサービス）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、直接データ接続、ｅメール、または別の適切な種類の電子通信を介すことを含むセルラ通信ネットワークを通じてデータを送受信するセルラ通信送受信機を含む。いくつかの実装では、通信ユニット２３９は、有線ポートおよび無線送受信機を含む。通信ユニット２３９はまた、ＵＤＰ（ユーザデータグラムプロトコル）、ＴＣＰ／ＩＰ、ＨＴＴＰ、ＨＴＴＰＳ（ＨＴＴＰセキュア）、ＳＭＴＰ（簡易メール転送プロトコル）、ＳＰＤＹ、ＱＵＩＣ（ｑｕｉｃｋ  ＵＤＰ  ｉｎｔｅｒｎｅｔ  ｃｏｎｎｅｃｔｉｏｎｓ）等を含むがこれらに限定されない標準ネットワークプロトコルを使用する、ファイルおよび／またはメディアオブジェクトを配信するためのネットワーク１０５に対する他の従来の接続を提供する。
【００３０】
ディスプレイ２４１は、メッセージングアプリケーション１０３から受信したグラフィカルデータを表示するよう動作可能なハードウェアを含んでよい。例えば、ディスプレイ２４１は、オーバーレイおよび結果の合成画像を表示するグラフィックスを描画してよい。ディスプレイ２４１は、他の要素と通信をするバス２２０に信号線２２８を介して接続される。
【００３１】
スピーカ２４３は、音を出すよう動作可能なハードウェアを含んでよい。例えば、ユーザがアクションを実行することに応じて、アクションモジュール２０６は、スピーカ２４３に指示をして音を出させてよい。スピーカは、他の要素と通信をするバス２２０に信号線２３０を介して接続される。
【００３２】
センサ２４５は、ユーザ装置１１５の変化を検出するよう動作可能なハードウェアを含んでよい。例えば、センサ２４５は、コンピューティング装置２００の動きを測定するモーションセンサを含んでよい。例えば、センサ２４５は、ｘ、ｙ、およびｚ軸に沿って加速力および回転力を検出する加速度計およびジャイロスコープを含んでよい。センサ２４５はまた、ユーザ装置１１５の物理的な位置を測定する方位センサおよび磁力計等の位置検出器を含んでよい。センサ２４５はまた、ユーザがコンピューティング装置２００に息を吹きかけた場合に気流の変化を検出するマイク等の、音および／または圧力の変化を検出するハードウェアを含んでよい。センサ２４５は、他の要素と通信をするバス２２０に信号線２３２を介して接続される。センサ２４５は、コンピューティング装置２００のタッチスクリーン上の接触を検出してよい。例えば、センサ２４５は、タッチスクリーンをタッチしているユーザの指およびユーザの指の動きを検出してよい。
【００３３】
記憶装置２４７は、本明細書に記載される機能を提供するデータを記憶する非一時的なコンピュータ可読記憶媒体でよい。コンピューティング装置２００がメッセージングサーバ１０１である実装では、記憶装置２４７は、図１のデータベース１９９を含んでよい。記憶装置２４７は、ＤＲＡＭ装置、ＳＲＡＭ装置、フラッシュメモリ、または別のメモリ装置であってよい。いくつかの実装では、記憶装置２４７はまた、不揮発性メモリ、または同様の、ハードディスクドライブ、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置を含む永久記憶装置および媒体、または永続的に情報を記憶する別の大容量記憶装置を含む。記憶装置２４７は、他の要素と通信をするバス２２０に信号線２３４を介して接続される。
【００３４】
メッセージングアプリケーション１０３は、メッセージングモジュール２０２、アニメーションモジュール２０４、アクションモジュール２０６、およびユーザインタフェースモジュール２０８を含んでよい。
【００３５】
メッセージングモジュール２０２は、メッセージングストリームを生成する。いくつかの実装では、メッセージングモジュール２０２は、メッセージングストリームを生成するためにプロセッサ２３５によって実行可能な命令のセットを含む。いくつかの実装では、メッセージングモジュール２０２は、コンピューティング装置２００のメモリ２３７に記憶されており、プロセッサ２３５によってアクセス可能かつ実行可能であってよい。
【００３６】
いくつかの実装では、メッセージングモジュール２０２は、データをユーザ装置１１５、メッセージングサーバ１０１、および／または第２サーバ１２０に送信することによって、例えばユーザおよびチャットボットから送受信されたデータを含むメッセージングストリームを生成する。メッセージングストリームは、１つまたは複数のメッセージを含んでよく、該メッセージは、送信者、受信者、ならびにテキスト、アニメートされたオブジェクト、画像、ビデオ、およびメッセージメタデータを含むメッセージ内容等の一定の特性を有する。メッセージメタデータは、タイムスタンプ、発信装置の識別子、有効期限、保持期間、適用される様々なフォーマットおよびエフェクト等を含んでよい。いくつかの実装では、メッセージングストリームは、適用された様々なフォーマットおよびエフェクトを有するユーザインタフェース内に時系列順で表示されるメッセージを含む表示されたメッセージングストリーム含む。
【００３７】
メッセージングストリームは、例えば、インスタントメッセージングアプリケーション、ＳＭＳ（ショートメッセージサービス）、ｅメールアプリケーション、ＥＭＳ（拡張メッセージサービス）、ＭＭＳ（マルチメディアメッセージサービス）、プッシュメッセージング（例えばＨＤＭＬ、ＷＡＰプッシュ等）、アプリケーション対アプリケーションのメッセージング等の一部の、異なるメッセージングプラットフォームの一部として使用されてよい。メッセージは限定された期間だけ利用可能、期間を定めず保管される等であってよい。メッセージは暗号化されてよい。いくつかの実装では、メッセージングモジュール２０２は、アニメートされたオブジェクトから独立しかつアニメートされたオブジェクトにアクセスできないメッセージを生成する。いくつかの実装では、メッセージは、アニメートされたオブジェクトに利用可能であり、例えばアニメートされたオブジェクトがメッセージ中の内容に反応するために現れる場合など、アニメートされたオブジェクトの表示を変更するために使用される。
【００３８】
いくつかの実装では、メッセージングモジュール２０２は、ユーザインタフェースモジュール２０８に指示し、メッセージングストリームを含むユーザインタフェースを生成させる。ユーザインタフェースは、テキスト、ビデオ、画像、絵文字等を入力するためのフィールドを含んでよい。メッセージングモジュール２０２は、ユーザ間のメッセージを受信してユーザインタフェースモジュール２０８に指示し、メッセージングストリームにおいてメッセージを表示させる。例えば、ユーザ１２５ａは、ユーザインタフェースを介して「おいカール！」というテキストを入力する。ユーザ装置１１５ａのメッセージングモジュール２０２は、このメッセージをユーザ１２５ｎに送信し、メッセージはユーザ装置１１５ｎ上に表示される。いくつかの実装では、メッセージは、ユーザ装置１１５ａからメッセージングサーバ１０１に送信され、メッセージングサーバ１０１はそのメッセージをユーザ装置１１５ｎに送信する。
【００３９】
アニメーションモジュール２０４は、アニメートされたオブジェクトを生成する。いくつかの実装では、アニメーションモジュール２０４は、アニメートされたオブジェクトを生成するためにプロセッサ２３５によって実行可能な命令のセットを含む。いくつかの実装では、アニメーションモジュール２０４は、コンピューティング装置２００のメモリ２３７に記憶されており、プロセッサ２３５によってアクセス可能かつ実行可能であってよい。
【００４０】
いくつかの実装では、アニメーションモジュール２０４は、アニメートされたオブジェクトのグループを生成する。アニメートされたオブジェクトは、カートゥーン、人（有名人、アバター、一般人等）、動物（例えば熊）、無生物オブジェクト（例えばクッキー）のカリカチュア、抽象的な動くオブジェクト（例えば目と口を有する渦巻き模様）等を含んでよい。
【００４１】
アニメーションモジュール２０４は、ユーザインタフェースモジュール２０８に指示し、アニメートされたグループをユーザインタフェースにおいて提供させてよい。アニメーションモジュール２０４は、アニメートされたオブジェクトのグループを種類によって編成して、ユーザインタフェースモジュール２０８に指示し、ユーザがアニメートされたオブジェクトを選択し得る、編成済みのアニメートされたオブジェクトのグループを表示させてよい。
【００４２】
いくつかの実装では、アニメーションモジュール２０４は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトをカスタマイズするオプションを表示させてよい。例えば、ユーザインタフェースは、アニメートされたオブジェクトの色または大きさを選択するオプションを含んでよい。いくつかの実装では、アニメートされたオブジェクトをカスタマイズするオプションは、アニメートされたオブジェクトの種類に特有であってよい。例えば、ユーザインタフェースは、目を有するアニメートされたオブジェクトの目の色を選択するオプションを含んでよい。いくつかの実装では、ユーザインタフェースは、情報の量および／またはアニメートされたオブジェクトに利用可能なアクションを制限するオプションを含んでよい。例えば、ユーザインタフェースは、頷きまたは発声等のある動作を無効にするオプションを含んでよい。別の例では、ユーザインタフェースは、ユーザがコンピューティング装置２００を振る等の明示的なユーザ入力に応じるアニメーションを維持する一方、プライバシーに関する懸念に基づき、メッセージ中の単語に基づき反応するコンテキストベースのアニメーションを無効にする等のある種のアクションを無効にするオプションを含んでよい。
【００４３】
いくつかの実装では、アニメーションモジュール２０４は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトの選択に使用されるコンピューティング装置２００の種類によって異なる、アニメートされたオブジェクトのグループを提供させてよい。例えば、コンピューティング装置２００がスマートウォッチの場合、グループは、スマートウォッチ上の表示に適切であり得るアニメートされたオブジェクトの一部を含んでよい。いくつかの実装では、アニメートされたオブジェクトのグループは、異なる装置に使用される異なるバージョンを含んでよい。アニメートされたオブジェクトは、デスクトップコンピュータ用の複雑なバージョン、モバイル装置用の簡易バージョン、およびスマートウォッチ用のより簡易なバージョンを含んでよい。例えば、デスクトップ上のアニメートされたオブジェクトは、背景シーンを有する人のカートゥーンを含んでよく、モバイル装置上のアニメートされたオブジェクトは、人のカートゥーンを含んでよく、およびスマートウォッチ上のアニメートされたオブジェクトは、人の顔のカートゥーンを含んでよい。
【００４４】
いくつかの実装では、アニメーションモジュール２０４は、コンピューティング装置２００に指示し、コンピューティング装置２００の種類に基づき、アニメートされたオブジェクトの異なる属性を提供させてよい。例えば、単一のアニメートされたオブジェクトに関して、アニメーションモジュール２０４は、スマートウォッチに対応するコンピューティング装置２００に指示し、バイブレーションおよび／または音を提供させてよく、モバイル装置に対応するコンピューティング装置２００に指示し、視覚表示を提供させてよく、およびバーチャルリアリティゴーグルに対応するコンピューティング装置２００に指示し、三次元描画のユーザインタフェースを提供させてよい。三次元描画は、アニメートされたオブジェクトを異なる深度でユーザインタフェースに配置することを含んでよい。
【００４５】
アニメーションモジュール２０４は、アニメートされたオブジェクトの選択をユーザから受信する。アニメーションモジュール２０４は、アニメートされたオブジェクトを生成し、ユーザインタフェースモジュール２０８に指示し、そのアニメートされたオブジェクトをメッセージングストリームにおいて表示させる。ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトをメッセージングストリームの異なる部分に表示してよい。例えば、ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトをユーザインタフェースの上部、ユーザインタフェースの下部、またはユーザインタフェースの中間に表示してよい。別の例では、アニメートされたオブジェクトがメッセージングストリームの部分に固定されたままで、ユーザインタフェースモジュール２０８は、１つまたは複数のメッセージをメッセージングストリーム内に表示してよい。さらに別の例では、アニメートされたオブジェクトが選択される前に提供されたコンテンツの後かつアニメートされたオブジェクトが選択された後に提供されたコンテンツの前に、アニメートされたオブジェクトが位置付けられるように、ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトを、第１ユーザがアニメートされたオブジェクトを選択した時間に従って表示してよい。さらに別の例では、ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトをランダムな位置に表示してよい。ユーザインタフェースモジュール２０８はまた、アニメートされたオブジェクトの位置を、以下に詳細に記載されるようにユーザによって行われたアクションに基づき変更してよい。
【００４６】
ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトを、同一のメッセージングストリームを閲覧している各人用のユーザインタフェース内に表示する。例えば、メッセージングストリームは、自身のためにノートを取る単一のユーザに閲覧されてよく、メッセージングストリームは、第１ユーザおよび第２ユーザに閲覧されてよく、またはメッセージングストリームは、ユーザのグループに閲覧されてもよい。いくつかの実装では、ユーザインタフェースモジュール２０８は、異なるユーザに関連付けられた特性に基づき、アニメートされたオブジェクトを異なる位置に配置する。例えば、第１ユーザは、第１ユーザがアニメートされたオブジェクトをスクリーンの右下で見たいと希望するユーザ入力を提供してよい。別の例では、アニメートされたオブジェクトは、アニメートされたオブジェクトと対話をするグループのユーザに対しては、メッセージングストリームの中心に位置付けられてよく、およびアニメートされたオブジェクトと対話をしてこなかったユーザに対しては、メッセージングストリームの左上に位置付けられてよい。いくつかの実装では、メッセージングストリームにおけるアニメートされたオブジェクトの位置、および／またはアニメートされたオブジェクトが表示されていた時間、および／またはアニメートされたオブジェクトに関連付けられたユーザアクションが行われてからどのくらいの期間かによって、アニメートされたオブジェクトは異なって表示される。
【００４７】
いくつかの実装では、アニメートされたオブジェクトは、各ユーザに関連付けられたメタデータに基づき、同一のメッセージングストリームを閲覧している複数のユーザに対して異なって見えてよい。メタデータは、ユーザ装置に関連付けられた時刻、ユーザ装置に関連付けられた位置、ユーザ装置に関連付けられた時間帯、ユーザに関連付けられたユーザ嗜好等を含んでよい。アニメーションモジュール２０４は、センサ２４５から情報を取得して、メタデータからの情報を判定してよい。例えば、アニメーションモジュール２０４は、ユーザがアニメーションモジュール２０４によるそのような判定に同意（ｃｏｎｔｅｎｔｅｄ）している場合、ＧＰＳ（全地球測位システム）情報を提供するセンサ２４５に基づき、ユーザの位置を判定してよい。アニメーションモジュール２０４は、アニメートされたオブジェクトをメタデータに基づき変更してよい。例えば、アニメートされたオブジェクトが人物のアニメーションであって、ユーザが温暖な天気の地域に位置している場合、その人物は半ズボンをはいてよく、ユーザが寒い天気の地域に位置している場合、その人物は上着を着てよい。アニメーションモジュール２０４は、ユーザの時刻に基づき人物のアニメーションを異なる服装または異なる動作と共に表示してよい。例えば、アニメーションモジュール２０４は、パジャマ姿の人物のアニメーションを表示してよく、ユーザの時刻が夜の場合、アニメーションは眠りについてよい。いくつかの実装では、ユーザの同意を得て、アニメーションモジュール２０４は、アニメートされたオブジェクトをユーザデータに基づき変更してよい。例えば、アニメーションモジュール２０４は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトを、ユーザがコンピューティング装置２００にアラームを設定した場合に鳴るアラームと共に表示させてよい。アニメートされたオブジェクトは、ユーザがコンピューティング装置２００に設定したタイマに関連付けられたカウントダウンを表示してよい。アニメートされたオブジェクトは、第２サーバ１２０に関連付けられた情報に基づくカレンダー入力に基づき、今後のカレンダーイベントを表示してよい。
【００４８】
いくつかの実装では、アニメーションモジュール２０４は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトのセットを、第１のアニメートされたオブジェクトとの関係に基づき第２ユーザに対して提供させる。例えば、第１のアニメートされたオブジェクトが「もうすぐ帰るよ」等のメッセージを伝える場合、アニメートされたオブジェクトのセットは、メッセージに対する応答を含んでよい。ユーザインタフェースモジュール２０８は、第１のアニメートされたオブジェクトを、第２のアニメートされたオブジェクトに置き換えてよく、または第２のアニメートされたオブジェクトは、第１のアニメートされたオブジェクトと同一のメッセージングストリームに表示されてよい。いくつかの実装では、第１のアニメートされたオブジェクトおよび第２のアニメートされたオブジェクトは、互いに対話してよい。
【００４９】
アクションモジュール２０６は、アニメートされたオブジェクトをユーザアクションに基づき変更する。いくつかの実装では、アクションモジュール２０６は、アニメートされたオブジェクトを変更するためにプロセッサ２３５によって実行可能な命令のセットを含む。例えば、アクションモジュール２０６は、アニメートされたオブジェクトを、ユーザアクションに反応するようプログラムしてよい（例えば、アニメートされたオブジェクトは、記憶されたコードまたは記録済みのアニメーションを含んでよい）。いくつかの実装では、アクションモジュール２０６は、コンピューティング装置２００のメモリ２３７に記憶されており、プロセッサ２３５によってアクセス可能かつ実行可能であってよい。
【００５０】
アクションモジュール２０６は、アニメートされたオブジェクトに関連する第１ユーザから、第１アクションを受信する。アクションモジュール２０６は、行われたアクションの種類を判定し、またユーザインタフェースモジュール２０８に指示をして、アニメートされたオブジェクトの表示をアクションに基づき変更させる。例えば、第１ユーザがアニメートされたオブジェクトをタップした場合、アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトから出現するハートを表示させる。いくつかの実装では、同一のメッセージングストリームを閲覧するユーザは、アニメートされたオブジェクトから出現するハートを見る。アクションモジュール２０６は、アニメートされたオブジェクトに関連する第２ユーザから、第２アクションを受信する。例えば、第２ユーザは、スワイプ動作を行い、アクションモジュール２０６は該動作を検出する。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、第２アクションに基づき表示を変更させる。上記の例に続いて、アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトを、アニメートされたオブジェクトの口でハートを捉えるものとして表示させる。以下の図３Ａ乃至３Ｊは、アクションモジュール２０６にアクションを判定させ、およびユーザインタフェースモジュール２０８にアニメートされたオブジェクトの表示をアクションに基づき変更させる異なるユーザアクションの例を提示する。
【００５１】
アクションは、タップ、スワイプ、音の発生、圧力の変更、ポインティングデバイス（例えば矢印を動かすマウス）の移動、コンピューティング装置２００の移動、画像のキャプチャ、コンテクストを有するメッセージの提供、メッセージ中に単語を有するメッセージの提供、音声コンテンツの提供、ユーザインタフェースによって提供されたオプションの選択、別のアニメートされたオブジェクトの選択等を含んでよい。
【００５２】
図３Ａを参照すると、例示的なユーザインタフェース３００は、いくつかの実装による、アニメートされたクッキーを含むメッセージングストリームとして図示される。この例では、メッセージングストリームは、メッセージングストリームに参加しているユーザのリスト３０１を含んでよい。第１ユーザは、メッセージングストリームにおける第１ユーザアイコン３０２に関連付けられてよい。第１ユーザは、アニメートされたクッキー３０３を、アニメートされたオブジェクトとして選択してよい。ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３を吹き出し３０４内に表示してよい。
【００５３】
図３Ｂは、いくつかの実装による、第１ユーザによって制御されたポインティングデバイスによって制御されたカーソル３１１を追う目を持つ、アニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３１０を図示する。この例では、ユーザインタフェースモジュール２０８は、カーソル３１１を円で図示するが、例えば矢印、長方形等、他の変形例が可能である。アクションモジュール２０６は、ユーザインタフェースにおいてアニメートされたクッキー３０３の位置の上方でポインティングデバイスが移動したことを判定する。このことは、図３Ｂではアニメートされたクッキー３０３の上方のカーソル３１１で図示されている。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたクッキー３０３の表示を変更させる。例えば、アニメートされたクッキー３０３は、カーソル３１１がアニメートされたクッキー３０３の上方を移動するのに従って、動いてカーソル３１１の移動に追随するアニメートされた目を表示するよう更新される。
【００５４】
アニメートされたクッキー３０３は、カーソル３１１と同じ移動速度でカーソル３１１の位置を追ってよい。例えば、カーソル３１１が素早く上下に移動する場合、アニメートされたクッキー３０３は、カーソル３１１と同様に素早く見上げ、見下ろすアニメートされた目を含んでよい。いくつかの実装では、カーソル３１１を特定の速度で移動させることにより、アニメートされたオブジェクトを反応させることが可能である。この例では、カーソル３１１をアニメートされたクッキー３０３の周りで複数回移動させることにより、アニメートされたクッキー３０３を、例えば、アニメートされたクッキー３０３の周囲に漂う星を描画することによって、目が回ったように見せてよい。
【００５５】
図３Ｃは、いくつかの実装による、複数のユーザに閲覧可能なアニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３２０を図示する。この例では、第２ユーザは、メッセージングストリームにおける第２ユーザアイコン３２１に関連付けられている。アニメートされたクッキー３０３は吹き出し３０４の一部のため、同じ位置に留まる。
【００５６】
図３Ｄは、いくつかの実装による、第２ユーザによって制御されたポインティングデバイス３３１を追う目を持つ、アニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３３０を図示する。この例では、アクションモジュール２０６は、カーソル３１１の位置を判定し、ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３の表示を、カーソル３１１が位置している左上を見るよう変更する。
【００５７】
第２ユーザは、アニメートされたクッキー移動するため、カーソル３１１をアニメートされたクッキー３０３に移動する。この例では、ユーザインタフェースモジュール２０８はまた、第２ユーザがアニメートされたクッキー３０３を移動していることをユーザに対して通知するための説明テキストを、第２ユーザアイコン３２１の下方に含む。
【００５８】
図３Ｅは、いくつかの実装による、移動されることに反応するアニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３４０を図示する。この例では、第２ユーザがアニメートされたクッキー３０３を移動するのに従って、ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３を、くしゃっとした目とすぼんだ笑みを浮かべた口を持つよう変更することによって、あたかもカーソル３１１がアニメートされたクッキー３０３をくすぐっているように見えるよう、アニメートされたクッキー３０３の表示を変更する。第２ユーザは、アニメートされたクッキー３０３を、第１ユーザに関連付けられた吹き出しの外に移動させたため、ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３をアクティブステッカーとして呼び出すことで、第１ユーザに関連付けられ、第１ユーザがアニメートされたクッキーを作成したことを示す第３アイコン３４１を作成する。第２ユーザは、アニメートされたクッキー３０３をメッセージングストリーム内のどこにでも移動させてよい。いくつかの実装では、アニメートされたクッキーは、ユーザが配置するどの場所であっても固定のまま留まる。
【００５９】
図３Ｆは、いくつかの実装による、配置されることに反応するアニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３５０を図示する。ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３を、あたかもポインティングデバイスによってくすぐられているように笑い続けているものとして表示する。ユーザインタフェースモジュール２０８はまた、第２ユーザアイコン３２１の下方のテキストを変更し、第２ユーザがアニメートされたクッキー３０３を配置したことを他のユーザに対して通知する。
【００６０】
図３Ｇは、いくつかの実装による、メッセージングストリーム内に表示されたテキストを閲覧するように動く目を持つ、アニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３６０を図示する。アクションモジュール２０６は、第１ユーザがメッセージングストリーム内にテキストを入力したことを判定する。ユーザインタフェースモジュール２０８は、アニメートされたクッキー３０３を、あたかもアニメートされたクッキー３０３がテキストを読んでいるかのように下方を見るために目を動かすよう変更する。いくつかの実装では、アニメートされたクッキー３０３は、テキストの内容にアクセスしなくてよいが、代わりに単にテキストの外観に反応する。いくつかの実装では、アニメートされたクッキー３０３は、ユーザの同意に基づきテキストへのアクセスを有する。このフィーチャは、例えば、ユーザがアクションモジュール２０６に許可を与えず、ユーザによるテキスト入力またはメッセージの受信を検出させない場合に無効にされてよい。
【００６１】
図３Ｈは、いくつかの実装による、メッセージングストリーム内の固定位置に留まる、アニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３７０を図示する。より多くのメッセージがメッセージングストリーム内に追加されるに従って、メッセージは上方にスクロールする。アニメートされたクッキー３０３は固定位置に配置されているため、アニメートされたクッキー３０３はメッセージングストリームの中心部内に留まる。
【００６２】
図３Ｉは、いくつかの実装による、メッセージングストリームに参加しているユーザが、メッセージングストリームにおいて交換されるメッセージにアクセスすることに関して同意を与える場合に、メッセージ３８１中の単語に反応するアニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３８０を図示する。この例では、第１ユーザは、「ああ！もう行かなきゃ。。。後でチャットしよう」と述べるメッセージを投稿する。メッセージへのアクセスに関するユーザの同意に基づき、アクションモジュール２０６は、「もう行かなきゃ。。。後でチャットしよう」という言葉が、第１ユーザがチャットを終了しようとしていることを示していると判定する。アクションモジュール２０６は、機械学習を使用すること、メッセージ中の単語を互いに異なるコンテクストに関連付けられた単語のリストと比較すること等により、アニメートされたクッキー３０３の反応をメッセージ３８１に基づき決定してよい。例えば、そのような決定は、１つまたは複数の単語を、例えば事前のトレーニングデータ、以前のメッセージの蓄積等に基づき、チャットの終了に関連していると知られる単語と比較することによりなされてよい。ユーザインタフェースモジュール２０８は、第１ユーザのメッセージに基づき眠り始めるよう（例えば下がった目を描画することにより）、アニメートされたクッキー３０３の表示を変更する。
【００６３】
図３Ｊは、いくつかの実装による、メッセージ内の単語に反応し続けるアニメートされたクッキー３０３を含むメッセージングストリームの例示的なユーザインタフェース３９０を図示する。アクションモジュール２０６は、メッセージングストリームにおけるメッセージにアクセスすることに関する同意が第２ユーザによって与えられている場合に、第２ユーザに関連付けられた「分かった！じゃあね」と述べる言葉に基づき、第２ユーザもまたメッセージングストリームを去ろうとしていると判定する。単語の意味を判定するアクションモジュール２０６に基づき、ユーザインタフェースモジュール２０８は、眠りにつくよう（例えば「ｚｚｚ」と言うアニメートされたクッキー３０３を表示することにより）、アニメートされたクッキー３０３の表示を変更する。
【００６４】
いくつかの実装では、ユーザからのアクションは、ユーザがコンピューティング装置２００に息を吹きかけることを含む。例えば、ユーザはモバイル装置に息を吹きかける、またはヘッドセットを装着中に息を吹いてよい。センサ２４５は、気流の変化を検出して気流の変化に関する情報をアクションモジュール２０６に送るマイクを含んでよい。アクションモジュール２０６は、気流の変化の度合いを判定してよい。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトを気流の変化の度合いに基づき移動させる。例えば、アニメートされたオブジェクトがティッシュの箱であってよく、コンピューティング装置２００に息を吹きかけることにより、ティッシュをティッシュの箱から出てこさせる。ユーザがコンピューティング装置２００に軽く息を吹きかけた場合、ティッシュの箱のティッシュのうちの少数を箱から出させる。ユーザがコンピューティング装置２００に強く息を吹きかけた場合、ティッシュの箱のティッシュのうちのいくつかを箱から出させる。別の例では、アニメートされたオブジェクトはカートゥーン狐等のキャラクタであり、コンピューティング装置２００に息を吹きかけることにより、狐にメッセージングストリームのウィンドウの側面にしがみつき、持ちこたえさせる。さらに別の例では、アニメートされたオブジェクトは泡であり、コンピューティング装置２００に息を吹きかけることにより、第１ユーザがコンピューティング装置２００に息を吹きかける程度に応じて、泡に大きさを増加させる。
【００６５】
いくつかの実装では、ユーザからのアクションは、コンピューティング装置２００を移動することを含む。アクションモジュール２０６は、センサ２４５（例えば加速度計またはジャイロスコープ）からの情報を受信し、移動の度合いを判定してよい。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトを追加的な変化と共に描画させてよい。例えば、ユーザがユーザのスマートウォッチまたは他のモバイル装置を振ることにより、アクションモジュール２０６にユーザインタフェースモジュール２０８を指示させ、空から雪が降る、ナットとボルトが緩む、キャラクタの髪が乱れる、キャラクタがユーザに向かって握りこぶしを作る等、アイテムが動くよう描画させる。別の例では、ユーザがコンピューティング装置２００をユーザの耳元に移動させた場合、アクションモジュール２０６は、ユーザがコンピューティング装置２００をユーザの耳元に移動させたことを示すセンサ２４５からの情報を受信して、スピーカ２４３に音を出させるよう指示してよい。いくつかの例では、アニメートされたオブジェクトは、ユーザがコンピューティング装置２００をユーザの左耳に移動した場合の甲高い鳴き声、ユーザがコンピューティング装置２００をユーザの右耳に移動した場合の吠える声等、どのようにコンピューティング装置２００が移動したかによって、異なる音を出す。
【００６６】
図４Ａを参照すると、いくつかの実装による、アニメートされた熊４０５を含むメッセージングストリームのユーザインタフェース４００が図示される。第１ユーザはアニメートされた熊４０５を選択し、アニメートされた熊４０５をメッセージ下方のメッセージングストリームの中心部に配置してよい。ユーザの同意に基づき、アクションモジュール２０６は、「あのピクニックの場所には熊がいるかもね」と述べるメッセージをスティーブが投稿したことを識別してよい。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされた熊４０５の目を、アニメートされた熊４０５がテキストを読んでいる様子を与えるために前後に動くようアニメートすることによって、熊の表示を変更させてよい。
【００６７】
図４Ｂは、いくつかの実装による、ユーザがユーザアクションを行った後の、アニメートされた熊４３０を含むメッセージングストリームの例示的なユーザインタフェース４２５を図示する。例えば、第２ユーザはユーザ装置１１５の上下を逆さにしてよい。アクションモジュール２０６は、センサ２４５からの情報を受信し、ユーザ装置１１５の移動の角度が１８０度であることを判定する。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされた熊４３０を上下が逆になったものとして示すようアニメートされた熊４３０の表示を変更させる。
【００６８】
別の例では、ユーザの同意に基づき、アクションモジュール２０６は、カレンがスティーブに「戦って追い払うぞ！」と応答したことを識別してよい。アクションモジュール２０６は、戦いはアニメートされた熊４３０に関連付けられた指示であると判定し、ユーザインタフェースモジュール２０６に指示し、初めのうちは戦うがその後に上下逆さにひっくり返るアニメートされた熊４３０を示すようアニメートされた熊４３０の表示を変更させる。
【００６９】
いくつかの実装では、ユーザからのアクションは、メッセージングストリーム内の移動を含む。移動は、ユーザがモバイル装置のタッチスクリーンにタッチすること、またはマウス等のポインティングデバイスの移動であってよい。アニメートされたオブジェクトは、目を持つキャラクタ（例えばスマイリーフェイス）であってよい。アクションモジュール２０６は、センサ２４５（例えばタッチスクリーン）から移動に関する情報を受信し、移動の方向を判定してよい。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトの目を第１ユーザからの移動の方向に対応するように動かす。別の例では、移動はアニメートされたオブジェクトを引き伸ばしてよい。
【００７０】
図５Ａを参照すると、いくつかの実装による、アニメートされた泡を含むメッセージングストリームの例示的なユーザインタフェース５００が図示される。第１ユーザは、コンピューティング装置２００に関連付けられたポインティングデバイスを使用し、第１の矢５０２を第１方向に引く。第２ユーザは、別のコンピューティング装置２００に関連付けられたポインティングデバイスを使用し、第２の矢５０３を第２方向に引く。第１の矢５０２および第２の矢５０３の両方が、泡５０１を異なる方向に引く。アクションモジュール２０６は、第１アクションおよび第２アクションを、綱引きにおいて反対方向に引くことにより泡５０１を引くものとして識別する。
【００７１】
図５Ｂは、いくつかの実装による、２人のユーザがユーザアクションを行った後の、アニメートされた泡を含むメッセージングストリームの例示的なユーザインタフェース５２５を図示する。アクションモジュール２０６は、各ユーザが第１の矢５０２および第２の矢５０３を用いてどのくらい泡を引くかを判定する。いくつかの実装では、アクションモジュール２０６は、アニメーションルールを適用し、第１ユーザまたは第２ユーザがユーザインタフェースにおいて最初に泡を閾値画素数だけ引いたかを判定することによって、綱引きの勝者を判定する。どちらのユーザが泡を境界の外に閾値画素距離だけ引き伸ばしたかを判定すること等、他の方法により勝者を判定することも可能である。
【００７２】
いくつかの実装では、メッセージングストリームにおける参加ユーザがメッセージのこのような使用に同意した場合に、アクションモジュール２０６は、メッセージ中の単語またはメッセージングストリームのコンテクストを識別する。アクションモジュール２０６は、メッセージ中の単語を、異なる感情（例えば、嬉しい、悲しい、腹立たしい等）、異なる状態（例えば、チャットを終了しようとしている）等の異なる意味に関連付けられた単語のリストと比較してよい。アクションモジュール２０６は、ユーザに関連付けられた意味をメッセージに基づき予測するために、機械学習を使用してよく、該機械学習は、アクションモジュール２０６に利用可能な全てのメッセージ、またはユーザの同意を条件に、特定のユーザに関連付けられたメッセージに基づいてよい。メッセージングストリームのコンテクストは、ユーザパターン、時刻、コンピューティング装置２００の位置等に基づいてよく、またこのようなデータへのアクセスに関する特定のユーザの同意に基づく場合のみ、判定される。例えば、ユーザが通常は平日の終わりにメッセージングストリームを終了する場合である。その結果、アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトの表示をコンテクストに基づき変更させてよい。
【００７３】
いくつかの実装では、アクションモジュール２０６は、ユーザの同意に応じて、ユーザからの音声コンテンツを識別してよい。アクションモジュール２０６は、音声をテキストに変換して、音声コンテンツのインデントを識別してよい。例えば、アクションモジュール２０６は、抽象的なアニメートされたオブジェクトに対する「飛び回れ」を含む口頭での指示を与えるユーザを識別してよい。口頭のコンテンツに基づき、アクションモジュール２０６はユーザインタフェースに指示し、上下に動くように示すよう、抽象的なアニメートされたオブジェクトの表示を変更させる。
【００７４】
いくつかの実装では、第１ユーザは、ユーザにサービスを提供するチャットボット（例えば自動化されたチャットプログラム）でよい。アニメートされたオブジェクトは、チャットボットとユーザとの間で交換される１つまたは複数のメッセージに関連してよい。例えば、ユーザは、メッセージを入力することでチャットボットに指示し、予約、購入等をさせてよい。アクションモジュール２０６は、ユーザの同意に基づき、ユーザインタフェースモジュール２０８に指示し、アニメートされたオブジェクトをメッセージに基づき変更させてよい。例えば、ユーザがチャットボットに指示をして予約をさせる場合、アニメートされたオブジェクトは、予約をすることに関連付けられたグラフィックスを含む。
【００７５】
図６を参照すると、いくつかの実装による、アニメートされた送金オブジェクト６０１を含むメッセージングストリームの例示的なユーザインタフェース６００が図示される。この例では、ユーザであるサラは、クレジットカード請求書の支払いをするようバンクボットに指示をすることで、彼女のためにアクションを行うチャットボットの使用に同意する。ユーザは、「＠バンクボット  私のクレジットカード請求書の支払いをして」と述べるメッセージ６０２を投稿する。バンクボットは、「確認。支払いを計上。」と述べるメッセージ６０３で応答をする。アクションモジュール２０６がユーザのメッセージにアクセスすることに関するユーザの同意に基づき、アクションモジュール２０６は、ユーザの口座からクレジットカード会社に送金するようユーザがチャットボットに指示をしたことを判定する。アクションモジュール２０６は、ユーザインタフェースモジュール２０８に指示し、現金が現金袋からクレジットカードに移動する様子を示すアニメートされた送金オブジェクト６０１を表示させる。
【００７６】
いくつかの実装では、上記の様々な例が組み合わされてよい。例えば、メッセージングストリームは、複数のユーザおよびチャットボットを含んでよい。アクションモジュール２０６は、コンピューティング装置２００上でユーザの移動を検出し、ユーザインタフェースモジュール２０８に指示して、アニメートされたオブジェクトの表示を、チャットボットに関連するメッセージおよびユーザの移動に基づき変更してよい。
【００７７】
図７Ａを参照すると、いくつかの実装による、アニメートされたテイクアウトボックスの例示的なユーザインタフェース７００が図示される。この例では、キラとサムが、テイスティータイから料理の配達を注文することについて、メッセージ７０１を交換する。ユーザはまた、チャットボットがメッセージにアクセスしてユーザを手助けすることに同意する。料理の注文をするチャットボットは、注文をして、料理は４０分で到着することをユーザに通知する。第１ユーザは、テイクアウトボックスとしてアニメートされたオブジェクト７０２を選択して、ユーザインタフェースモジュール２０８は、そのテイクアウトボックスとしてアニメートされたオブジェクト７０２をメッセージングストリームにおいて表示する。第２ユーザは、テイクアウトボックスとしてアニメートされたオブジェクト７０２に指７０３でタッチする。アクションモジュール２０６は、アニメートされたオブジェクトにタッチする第２ユーザの指７０３の移動を検出する。
【００７８】
図７Ｂは、いくつかの実装による、ユーザがユーザアクションを行った後の、アニメートされたテイクアウトボックスの例示的なユーザインタフェース７２５を図示する。図７Ａにおいてテイクアウトボックスとしてアニメートされたオブジェクト７０２に第２ユーザがタッチしたことに基づき、アクションモジュール２０６は起こったアクションの種類を判定し、ユーザインタフェースモジュール２０８に指示して、開いたテイクアウトボックスとしてアニメートされたオブジェクト７２６を表示するために、テイクアウトボックスとしてアニメートされたオブジェクトを変更させる。
【００７９】
いくつかの実装では、アクションは、第２ユーザが第２のアニメートされたオブジェクトを選択することを含んでよい。第２のアニメートされたオブジェクトは、第１のアニメートされたオブジェクトとの関係に基づく、アニメートされたオブジェクトの一部であってよい。第２のアニメートされたオブジェクトは、全てのアニメートされたオブジェクトのグループから選択されてよい。いくつかの実装では、ユーザインタフェースモジュール２０８は、第２のアニメートされたオブジェクトと対話する第１のアニメートされたオブジェクトを示すことで表示を変更する。例えば、第１のアニメートされたオブジェクトは、ボクシンググローブを付けた狐であり、第２のアニメートされたオブジェクトは、ボクシンググローブを付けたカンガルーでよい。ユーザインタフェースモジュール２０８は、戦い合う２つのアニメートされたオブジェクトを表示してよい。いくつかの実装では、第１ユーザおよび第２ユーザが２つのアニメートされたオブジェクトを使用してボクシングの試合を行えるよう、第１ユーザは第１のアニメートされたオブジェクトを制御してよく、また第２ユーザは第２のアニメートされたオブジェクトを制御してよい。
【００８０】
複数のアニメートされたオブジェクトがメッセージングストリームにおいて表示されるいくつかの実装では、アニメートされたオブジェクトは、メッセージングストリームにどのように追加されたかに従って、異なる反応をする。２つのアニメートされたオブジェクトは、互いまで近いアニメートされたオブジェクトが、互いまで遠いアニメートされたオブジェクトよりも多く互いに応答し合うように、互いまでの近さおよび時間の長さに従って、異なる反応をしてよい。例えば、２人のアニメートされた人物が隣同士にいる場合は、お互いに見つめ合い、触れ合う。２人のアニメートされた人物が、メッセージングストリームの両側にいる場合は、２分毎に手を振り合うが、それ以外では対話しない。
【００８１】
ユーザインタフェースモジュール２０８は、ユーザインタフェースを生成する。いくつかの実装では、ユーザインタフェースモジュール２０８は、ユーザインタフェースを生成するためにプロセッサ２３５によって実行可能な命令のセットを含む。いくつかの実装では、ユーザインタフェースモジュール２０８は、コンピューティング装置２００のメモリ２３７に記憶され、プロセッサ２３５によってアクセス可能かつ実行可能であってよい。
【００８２】
いくつかの実装では、ユーザインタフェースモジュール２０８は、アニメーションモジュール２０４から指示を受信し、メッセージングストリームを含むユーザインタフェースを生成する。ユーザインタフェースは、第１ユーザがそこから選択するアニメートされたオブジェクトのグループを含んでよい。ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトのうちの１つの選択を第１ユーザから受信してよい。ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトをメッセージングストリームにおいて表示する。
【００８３】
ユーザインタフェースモジュール２０８は、アクションモジュール２０６から指示を受信し、アニメートされたオブジェクトの表示を、第１ユーザからの第１アクションに基づき変更する。例えば、ユーザインタフェースモジュール２０８は、ビー玉を表すアニメートされたオブジェクトを変更する指示を受信し、第１ユーザに関連付けられたコンピューティング装置の移動に基づき、メッセージングストリームの周囲を転がるビー玉を示す。ユーザインタフェースモジュール２０８は、アクションモジュール２０６から指示を受信し、アニメートされたオブジェクトの表示を、第２ユーザからの第２アクションに基づき変更する。例えば、ユーザインタフェースモジュール２０８は、第２ユーザに関連付けられたコンピューティング装置２００を第２ユーザがタッチすることに基づきビー玉がメッセージングストリームにおいて弾むように示す指示を受信して、ビー玉がメッセージングストリーム内で弾むことをシミュレートする。
【００８４】
いくつかの実装では、ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトの外観を変更する対話型のフィーチャを含むユーザインタフェースを提供する。例えば、ユーザインタフェースモジュール２０８は、作図用のスクラッチパッドを与えるユーザインタフェースを提供する。スクラッチパッドは、鉛筆、ペイントブラシ、カラーオプション等様々な作図用のツールを有するツールキットを含んでよい。別の例では、ユーザインタフェースモジュール２０８は、音楽、ビープ音、トーン音等を作成用の対話型キーボードを含むユーザインタフェースを提供する。ユーザがキーボード上のキーにタッチすると、アクションモジュール２０６は、そのタッチを検出し、スピーカ２４３に指示して、ビープ音、トーン音等を出させる。さらに別の例では、ユーザインタフェースモジュール２０８は、ユーザが対話型のグラフィックスの外観を変更するオプションを有する、チャート、タイムライン等の対話型グラフィックスを含むユーザインタフェースを提供する。
【００８５】
図８Ａは、いくつかの実装による、アニメートされた飛行機を含むメッセージングストリームの例示的なユーザインタフェース８００を図示する。この例では、第１ユーザは、飛行機８０１を表すアニメートされたオブジェクトを選択し、そのオブジェクト、第１ユーザが飛行機に乗ろうとしているというメッセージを第２ユーザに対して表す。第１ユーザは、スマートウォッチのスクリーンを横切ってスワイプして、ユーザインタフェースモジュール２０８に、スクリーン内を横切る飛行機８０１を示すよう飛行機８０１の表示を変更させる。アニメーションモジュール２０４は、アニメートされたオブジェクトのセットを、飛行機８０１との関係に基づき第２ユーザに対して提供する。例えば、アニメートされたオブジェクトのセットは、手を振ること、親指を立てるいいね！のサイン、およびキスをしている２人の人物であってよい。第２ユーザは、キスをしている２人の人物を表すアニメートされたオブジェクトを選択する。
【００８６】
図８Ｂは、いくつかの実装による、アニメートされた飛行機に関連するユーザアクションに応じて表示される、アニメートされたカップル８２６を含むメッセージングストリームの例示的なユーザインタフェース８２５を図示する。この例では、ユーザアクションは、第２ユーザによる、キスをしている２人の人物を表すアニメートされたオブジェクトの選択である。
例示的な方法
図９は、アニメートされたオブジェクトを含むメッセージングストリームを生成する例示的な方法９００のフローチャートを図示する。方法９００は、メッセージングアプリケーション１０３によって実行される。メッセージングアプリケーション１０３は、ユーザ装置１１５、メッセージングサーバ１０１、またはユーザ装置１１５の一部およびメッセージングサーバ１０１の一部等のコンピューティング装置２００に記憶されている。
【００８７】
ブロック９０２で、第１ユーザと第２ユーザとの間で１つまたは複数のメッセージが交換されるメッセージングストリームが生成される。例えば、第１ユーザおよび第２ユーザは、インスタントメッセージングプラットフォームを使用して、テキスト、ＳＭＳ等を介し、メッセージをお互いに対して送信し合う。ブロック９０４で、メッセージングストリームに対するアニメートされたオブジェクトの選択が第１ユーザから受信される。例えば、第１ユーザは、第１ユーザの装置に表示されるアニメートされたオブジェクトのグループから、アニメートされたオブジェクトを選択する。例えば、アニメートされたオブジェクトは、アニメートされたバージョンのフラミンゴである。ユーザは、アニメートされたオブジェクトを、アニメートされたオブジェクトの色、アニメートされたオブジェクトの目付き等を選択することにより、カスタマイズしてよい。ブロック９０６で、アニメートされたオブジェクトはメッセージングストリームにおいて提供される。例えば、ユーザインタフェースモジュール２０８は、アニメートされたオブジェクトを、ユーザインタフェースの中心部等のデフォルト位置に表示する。
【００８８】
ブロック９０８で、アニメートされたオブジェクトに関連する第１ユーザから第１アクションが受信される。例えば、アクションモジュール２０６は、コンピューティング装置２００のマイク等のセンサ２４５に息を吹き込む第１ユーザを検出する。ブロック９１０で、アニメートされたオブジェクトの表示は第１アクションに基づき変更される。例えば、第１ユーザがコンピューティング装置２００に息を吹き込むことに基づき、ユーザインタフェースモジュール２０８は、フラミンゴが風に吹かれて羽が飛び散っている様子を示すように、アニメートされたオブジェクトの表示を変更する。
【００８９】
ブロック９１２で、アニメートされたオブジェクトに関連する第２ユーザから第２アクションが受信される。例えば、第２ユーザは、第２ユーザのコンピューティング装置２００を振る。ブロック９１４で、アニメートされたオブジェクトの表示は第２アクションに基づき変更される。例えば、第２ユーザのコンピューティング装置２００が振られることに対応した動きでフラミンゴが上下に弾む様子を示すよう表示が変更される。
【００９０】
上記の記載で、説明の目的で、本明細書についての完全な理解を与えるために複数の特定の詳細が提示された。しかしながら、これらの特定の詳細無しで開示が実施可能であることは、当業者にとって明らかである。いくつかの例では、記載が不明瞭になることを避けるため、構成および装置がブロック図形式で示されている。例えば、実装は、ユーザインタフェースおよび特定のハードウェアを主に参照して上記に記載され得る。しかしながら、実装は、データおよびコマンドを受信可能な任意の種類のコンピューティング装置と、サービスを提供する任意の周辺機器とに適用可能である。
【００９１】
本明細書における「いくつかの実装」または「いくつかの例」への参照は、実装または例に関連して記載された特定のフィーチャ、構造、特徴が、記載の１つ以上の実装に含まれて得ることを意味する。本明細書における様々な箇所での「いくつかの実装」の句の出現は、必ずしも全て同一の実装に言及しているものではない。
【００９２】
上記の詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムおよびのシンボル的表現の点で、提供される。これらのアルゴリズム的な記載および表現は、データ処理技術の当業者によって、最も効果的にその研究の実体を他の当業者に伝えるよう使用される手段である。本明細書において、アルゴリズムは、一般に、所望する結果に至る自己矛盾のない一連のステップとして考慮されている。このステップは、物理量の物理的な操作を必要とするものである。通常、必ずしも必要とはされないが、これらの物理量は、記憶、転送、組み合わせ、比較、および別の方法で操作可能な電気的または磁気的データの形式を取る。これらのデータを、主に一般的な使用のためにビット、値、要素、シンボル、キャラクタ、用語、数等と称することが、しばしば便利であるとされてきた。
【００９３】
しかしながら、これら全ておよび類似の用語は、適切な物理量に関連付けられ、これらの物理量に適用される単に好都合なラベルであると理解するべきである。以下の検討から明らかなように、具体的に別の方法で述べられていない限り、記載を通じて、「処理」、「コンピューティング」、「計算」、「決定」、または「表示」等を含む用語を利用する検討は、コンピュータシステムのレジスタおよびメモリ内で物理的（電子的）な量として提示されるデータを操作し、およびそのデータをコンピュータシステムのメモリもしくはレジスタ、または他のそのような情報記憶装置、情報送信装置、または情報表示装置内で物理量として同様に提示される他のデータに変更する、コンピュータシステムまたは類似の電子コンピューティング装置の動作および処理を指すことが理解されるべきである。
【００９４】
本明細書の実施はまた、上記の方法の１つまたは複数のステップを実行するプロセッサに関してよい。該プロセッサは、コンピュータに記憶されたコンピュータプログラムによって選択的に作動または再構成される専用のプロセッサであってよい。そのようなコンピュータプログラムは、光学ディスク、ＲＯＭ、ＣＤ−ＲＯＭ、磁気ディスク、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気もしくは光学カード、不揮発性メモリを有するＵＳＢキーを含むフラッシュメモリ、または電子命令を記憶するのに適切な任意の種類の媒体であって、各々がコンピュータシステムバスに結合した任意の種類の媒体を含む任意の種類のディスクを含むがこれに限定されない、非一時的なコンピュータ可読記憶媒体に記憶されてよい。
【００９５】
本明細書は、複数の完全にハードウェアの実装、複数の完全にソフトウェアの実装、またはハードウェアとソフトウェア要素の両方を含む複数の実装の形式を取ってよい。いくつかの実装では、本明細書は、ファームウェア、常駐するソフトウェア、マイクロコード等を含むがこれに限定されないソフトウェアに実装される。
【００９６】
さらに、記載は、コンピュータによるまたはコンピュータに関連する使用のためのプログラムコードを提供するコンピュータ使用可能媒体またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品、または任意の命令実行システムの形式を取ってよい。この記載のため、コンピュータ使用可能媒体またはコンピュータ可読媒体は、命令実行システム、装置、または機器によるまたはそれに関連する使用のためのプログラムを含み、記憶し、伝送し、または搬送し得る任意の装置であってよい。
【００９７】
プログラムコードを記憶または実行するのに適切なデータ処理システムは、システムバスを通じてメモリ要素に直接的または間接的に接続された１つ以上のプロセッサを含み得る。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、バルクストレージ、および実行中にコードがバルクストレージから取得されなければならない回数を減少させるために少なくとも一部のプログラムコードの一時的な記憶を提供するキャッシュメモリを含んでよい。
【００９８】
上記で検討されたシステムが個人情報を収集または使用する状況では、システムはユーザに対して、プログラムまたはフィーチャがユーザ情報（例えば、ユーザのソーシャルネットワークに関する情報、ソーシャルアクションもしくはアクティビティ、職業、ユーザの嗜好、またはユーザの現在位置）を収集するかどうかに関して、またはユーザにより関連し得るサーバからコンテンツを受信するかおよび／もしくはどのように受信するかどうかに関して制御する機会を提供する。加えて、あるデータは、記憶または使用される前に１つまたは複数の方法で処理されて、個人を特定可能な情報が取り除かれてもよい。例えば、ユーザに対して個人を特定可能な情報が確定されないようにユーザの識別情報は処理されてもよく、または位置情報が取得されるユーザの地理的位置は、一般化がされて（都市、郵便番号、または州レベル等）、ユーザの特有の位置が決定できなくてもよい。したがって、ユーザは、ユーザに関して情報がどのように収集され、サーバによって使用されるかについての制御を有してよい。
【図１】
2019537117.tif 000003
【図２】
2019537117.tif 000004
【図３Ａ】
2019537117.tif 000005
【図３Ｂ】
2019537117.tif 000006
【図３Ｃ】
2019537117.tif 000007
【図３Ｄ】
2019537117.tif 000008
【図３Ｅ】
2019537117.tif 000009
【図３Ｆ】
2019537117.tif 000010
【図３Ｇ】
2019537117.tif 000011
【図３Ｈ】
2019537117.tif 000012
【図３Ｉ】
2019537117.tif 000013
【図３Ｊ】
2019537117.tif 000014
【図４Ａ】
2019537117.tif 000015
【図４Ｂ】
2019537117.tif 000016
【図５Ａ】
2019537117.tif 000017
【図５Ｂ】
2019537117.tif 000018
【図６】
2019537117.tif 000019
【図７Ａ】
2019537117.tif 000020
【図７Ｂ】
2019537117.tif 000021
【図８Ａ】
2019537117.tif 000022
【図８Ｂ】
2019537117.tif 000023
【図９】
2019537117.tif 000024
【国際調査報告】
2019537117.tif 000025
2019537117.tif 000026