生成具有动画对象的消息流的制作方法

文档序号:18399533发布日期:2019-08-09 23:44阅读:231来源:国知局
生成具有动画对象的消息流的制作方法

本申请要求于2017年1月4日所提交的标题为“生成具有动画对象的消息流”的美国专利申请第15/398,497号的优先权,该美国专利申请通过引用被完全结合在本文中。



背景技术:

当前的消息应用允许贴纸、表情符号、照片、gif和声音形式的非交互式单向对象。然而,这些单向对象可以被认为是稍纵即逝的,因为它们的适用性受限制。例如,第一用户可以向第二用户发送表情符号,第二用户发现该表情符号是有趣的,但是然后完全忘记该表情符号。因此,在已知的消息方法和系统中的用户交互的能力相当有限。

此处所提供的背景技术描述是为了总体呈现本公开的背景。该背景技术部分中所描述的目前署名的发明人的工作,以及在提交时可能没有另外限定为现有技术的描述的方面,对于本公开而言既不应清楚地也不应隐含地被认定为现有技术。



技术实现要素:

实施方式一般涉及生成消息流的计算机实现的方法,其中一个或多个消息在第一用户和第二用户之间被交换。方法可以包括生成消息流,其中一个或多个消息在第一用户和第二用户之间被交换(其中第一用户和第二用户可以在地理上是分离的)。方法还包括从第一用户接收对消息流的动画对象的选择。方法还包括在消息流中提供动画对象。方法还包括从第一用户接收与动画对象有关的第一动作。方法还包括基于第一动作,修改动画对象的显示。方法还包括从第二用户接收与动画对象有关的第二动作。方法还包括基于第二动作,修改动画对象的显示。基于所提出的解决方案,用户经由消息流交换消息以进行交互的能力被增强。提供了允许用户使用远程计算设备,例如,更直观地和/或以更多样的形式彼此进行交互的技术。

在一些实施方式中,不同类型的动作和用户输入可以被接收以修改动画对象的显示。在一些实施方式中,从第一用户接收第一动作包括,检测与计算设备相关联的麦克风附近的气流变化。在一些实施方式中,从第一用户接收第一动作包括,检测手指在触摸屏上的移动或检测到定点设备的移动。在一些实施方式中,从第一用户接收第一动作包括,基于从与计算设备相关联的传感器所接收的信息来检测计算设备的移动。在这方面,方法可以还包括,确定移动方向和/或确定用户设备被移动到的位置,并且基于第一动作修改动画对象的显示包括,基于所确定的移动方向和/或所确定的计算设备被移动到的位置来修改动画对象的显示。例如,当第一或第二用户将计算设备移动到用户的耳朵时,可以从传感器接收指示用户将计算设备移动到了用户的耳朵的信息。在一些示例中,取决于计算设备被如何移动,动画对象发出的噪声不同,例如,如果用户将计算设备移动到用户的左耳,则是尖叫,并且如果用户将计算设备移动到用户的右耳,则是吼叫。在一些实施方式中,从第一用户接收第一动作包括,从第一用户接收消息以及确定来自消息流的上下文,并且基于第一动作修改动画对象的显示包括,基于来自消息流的上下文修改动画对象的显示。在一些实施方式中,第一动作是在第一方向上拉动动画对象,并且第二动作是在第二方向上拉动动画对象。在一些实施方式中,第一用户和第二用户在地理上是分离的,并且在消息流中提供动画对象包括,(a)在第一用户的第一计算设备上的消息流中以及在第二用户的第二计算设备上的消息流中,提供动画对象,以及(b)分别基于与第一用户或第二用户相关联的元数据,修改动画对象,用于在第一计算设备和第二计算设备中的至少一个上显示。元数据可以包括与第一用户的第一计算设备和第二用户的第二计算设备中的至少一个相关联的一天中的时间、位置、时区和用户偏好中的至少一个。在这方面,方法可以例如还包括,基于提供全球定位系统(gps)信息的传感器,确定与第一用户和第二用户中的至少一个的计算设备相关联的位置。在一些实施方式中,方法还包括,在消息流内显示一个或多个消息,同时动画对象在消息流的部分中保持固定。在一些实施方式中,第一用户是聊天机器人,并且动画对象与在第一用户和第二用户之间所交换的一个或多个消息有关。在一些实施方式中,基于一个或多个消息中的词语、语音内容以及消息流的上下文中的至少一个,修改动画对象的显示。在一些实施方式中,方法还包括,基于在其上显示消息流的计算设备的类型,识别对象集以作为选项提供给第一用户,其中动画对象是对象集的部分。在一些实施方式中,方法还包括,对于第一用户对消息流的动画对象的选择,提供动画对象组,其中动画对象组中的动画对象,(a)取决于被用来选择动画对象的计算设备的类型而不同,和/或(b)基于被用来选择动画对象的计算设备,具有不同的属性。

在一些实施方式中,方法包括生成消息流,其中一个或多个消息在第一用户和第二用户之间被交换。方法还包括从第一用户接收对消息流的动画对象的选择。方法还包括基于其上显示动画对象的计算设备的类型,使得动画对象的版本被显示。方法还包括从第二用户接收与动画对象有关的动作。方法还包括响应于接收动作,修改动画对象的显示。

在一些实施方式中,选择是第一选择,并且动画对象是第一动画对象,并且方法还包括,基于动画对象集与第一对象的关系,向第二用户提供动画对象集,接收对来自动画对象集的第二动画对象的第二选择,以及响应于接收第二选择,在消息流中提供第二对象。在一些实施方式中,基于其上显示动画对象的计算设备的类型而显示的动画对象的版本包括,用于台式计算机的复杂版本、用于移动设备的较简单版本、以及用于智能手表的更简单版本。在一些实施方式中,选择是第一选择,动画对象是第一动画对象,来自第二用户的动作包括来自第二用户对消息流的第二动画对象的第二选择,并且修改第一动画对象的显示包括第一动画对象与第二动画对象进行交互。

根据另一方面,描述了一种系统。这样的系统包括用于生成消息流的方式,其中一个或多个消息在第一用户和第二用户之间被交换。系统还包括用于从第一用户接收对消息流的动画对象的选择的方式。系统还包括用于在消息流中提供动画对象的方式。系统还包括用于从第一用户接收与动画对象有关的第一动作的方式。系统还包括用于基于第一动作修改动画对象的显示的方式。系统还包括用于从第二用户接收与动画对象有关的第二动作的方式。系统还包括用于基于第二动作修改动画对象的显示的方式。

下面所描述的各种实施方式提供包括交互式动画对象的消息流。下面所描述的动画对象可以包括多媒体特征,诸如是可以被显示在显示屏上、被投影在虚拟现实环境中、作为音频被回放、经由触觉反馈被回放、或者这样的形态的组合的特征。在各种实施方式中,基于用户同意,动画对象对用户输入、在消息流中所交换的消息、消息上下文、以及这样的因素的组合作出反应。交互式动画对象可以提供多个优点。例如,这样的动画对象可以增强使用实现消息流的消息应用的用户体验,例如,通过使得用户能够以交互方式表达他们自己,而不是被限制于发送文本、图像或者诸如动画gif、贴纸和表情符号的库存项目。此外,在包括多个用户的消息流中提供动画对象的实施方式中,动画对象可以由多个用户同时地或顺序地动作。这样的交互性可以向地理上分离的用户提供协作地修改对象的体验。另一益处是对象的行为可以由用户来定制。

此处所提供的实施方式在消息流中高效地提供交互式动画对象。例如,动画对象可以对于某些行为被预编程,例如,可以被配置为通过根据用户动作或上下文被修改或被显示,来对各种用户动作、消息上下文等作出响应。以这种方式,技术优点是可以通过被预编程的行为的组合,来提供动画对象的大量或甚至无限数量的行为,而无需明确指定每个行为。这可以允许用有限的计算资源来存储和显示复杂的动画对象。动画对象可以根据需要被下载或被访问,例如,仅在动画对象插入消息流时,这减少了存储对象所需的存储空间。如下所述,可以为不同的计算设备提供动画对象的不同版本。因此,具有有限的存储空间、网络访问容量和处理能力的设备仍然可以渲染动画对象的合适版本。因此,下面所描述的实施方式在不同类型的计算设备的消息流中提供动画对象,而无需特定于设备的重新配置。

附图说明

本公开通过示例的方式,而不是通过附图的图中的限制的方式被示出,在附图中相同的附图标记被用来指代类似的元素。

图1示出根据一些实施方式的生成具有动画对象的消息流的示例系统的框图。

图2示出根据一些实施方式的生成具有动画对象的消息流的示例计算设备的框图。

图3a示出根据一些实施方式的包括动画饼干的消息流的示例用户界面。

图3b示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干具有跟随由第一用户所控制的定点设备的眼睛。

图3c示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干可由多个用户查看。

图3d示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干具有跟随由第二用户所控制的光标的眼睛。

图3e示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干对被移动作出反应。

图3f示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干对被放置作出反应。

图3g示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干具有移动以查看被显示在消息流内的文本的眼睛。

图3h示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干停留在消息流内的固定位置。

图3i示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干对消息中的单词作出反应。

图3j示出根据一些实施方式的包括动画饼干的消息流的示例用户界面,该动画饼干继续对消息中的单词作出反应。

图4a示出根据一些实施方式的包括动画熊的消息流的示例用户界面。

图4b示出根据一些实施方式的在用户进行了用户动作之后的包括动画熊的消息流的示例用户界面。

图5a示出根据一些实施方式的包括动画气泡的消息流的示例用户界面。

图5b示出根据一些实施方式的在两个用户进行了用户动作之后的包括动画气泡的消息流的示例用户界面。

图6示出根据一些实施方式的包括动画货币转移对象的消息流的示例用户界面。

图7a示出根据一些实施方式的动画外带盒的示例用户界面。

图7b示出根据一些实施方式的在用户进行了用户动作之后的动画外带盒的示例用户界面。

图8a示出根据一些实施方式的包括动画飞机的消息流的示例用户界面。

图8b示出根据一些实施方式的包括动画夫妇的消息流的示例用户界面,该动画夫妇响应于与动画飞机有关的用户动作而被显示。

图9示出生成包括动画对象的消息流的示例方法的流程图。

具体实施方式

在一些实施方式中,消息应用生成消息流,其中消息在第一用户和第二用户之间被交换。消息应用可以从第一用户接收对消息流的动画对象的选择。例如,第一用户可以选择动画气泡以添加到消息流。消息应用可以将动画对象添加到消息流。例如,第一用户和第二用户可以查看消息流中的动画气泡。

消息应用可以从第一用户接收与动画对象有关的第一动作。例如,第一用户可以吹入用户设备,并且用户设备检测麦克风附近的气流变化。消息应用可以基于第一动作来修改动画对象的显示。例如,消息应用可以基于用户吹入用户设备来将气泡显示为向上移动。消息应用可以从第二用户接收与动画对象有关的第二动作。例如,消息应用可以基于第二用户用手指在用户设备上拉动气泡来接收指示。消息应用可以基于第二动作来修改动画对象的显示。例如,消息应用可以将气泡显示为在与手指的移动相对应的方向上拉伸然后弹出。

示例系统

图1示出生成包括动画对象的消息流的示例系统100的框图。所示出的系统100包括消息服务器101、用户设备115a,115n、第二服务器120和网络105。用户125a,125n可以与相应的用户设备115a,115n相关联。在一些实施方式中,系统100可以包括图1中未被示出的其他服务器或设备。在图1和其余的图中,参考数字之后的字母,例如“115a”,表示对具有该特定参考数字的元素的参考。文本中没有后续字母的参考数字,例如“115”,表示对带有该参考数字的元素的实施方式的一般参考。

消息服务器101可以包括处理器、内存和网络通信能力。在一些实施方式中,消息服务器101是硬件服务器。消息服务器101经由信号线102被通信地耦接到网络105。信号线102可以是有线连接,诸如是以太网、同轴电缆、光纤电缆等,或者无线连接,诸如是或其他无线技术。在一些实施方式中,消息服务器101经由网络105向一个或多个用户设备115a,115n和第二服务器120发送数据并且从一个或多个用户设备115a,115n和第二服务器120接收数据。消息服务器101可以包括消息应用103a和数据库199。

消息应用103a可以是可操作为生成包括动画对象的消息流的代码和例程。在一些实施方式中,可以使用包括现场可编程门阵列(fpga)或专用集成电路(asic)的硬件来实现消息应用103a。在一些实施方式中,可以使用硬件和软件的组合来实现消息应用103a。

数据库199可以存储动画对象、消息流等。例如,数据库199可以存储在第一用户和第二用户之间的消息。数据库199还可以存储与用户125相关联的社交网络数据、用户125的用户偏好等。

用户设备115可以是包括内存和硬件处理器的计算设备。例如,用户设备可以包括台式计算机、移动设备、平板计算机、移动电话、可穿戴设备、头戴式显示器、移动电子邮件设备、便携式游戏机、便携式音乐播放器、阅读器设备或者能够访问网络105的另一电子设备。

在所示出的实施方式中,用户设备115a经由信号线108被耦接到网络105,并且用户设备115n经由信号线110被耦接到网络105。信号线108和110可以是有线连接,诸如是以太网、同轴电缆、光纤电缆等,或者无线连接,诸如是或其他无线技术。用户设备115a,115n分别由用户125a,125n访问。通过示例的方式,图1中的用户设备115a,115n被使用。虽然图1示出两个用户设备115a和115n,但是本公开应用于具有一个或多个用户设备115的系统架构。

在一些实施方式中,用户设备115可以是被包括在由用户125所穿戴的可穿戴设备中的用户设备。例如,用户设备115作为带扣(例如,手环)的部分、珠宝的部分、或一副眼镜的部分包含在内。在另一示例中,用户设备115可以是智能手表。用户125可以在由用户125所穿戴的设备的显示器上查看来自消息应用103的动画对象。例如,用户125可以在智能手表或智能手环的显示器上查看动画对象。

在一些实施方式中,消息应用103b可以被存储在用户设备115a上。消息应用103可以包括被存储在用户设备115a上的瘦客户端消息应用103b和被存储在消息服务器101上的消息应用103a。例如,被存储在用户设备115a上的消息应用103b可以显示包括动画对象的消息流。用户设备115a可以识别来自第一用户的用户动作,诸如摇动用户设备115a以使雪落在雪人的动画对象上。用户设备115a可以向被存储在消息服务器101上的消息应用103a传送关于消息流和用户动作的信息,消息应用103a将该信息提供给从台式计算机访问消息应用103a的第二用户。

第二服务器120可以包括处理器、内存和网络通信能力。第二服务器120可以经由信号线109访问网络105。第二服务器120可以从消息应用103接收关于消息流的信息,并且向消息应用103提供信息。例如,第二服务器120可以与银行相关联,并且第二服务器120可以与消息应用103进行通信以使用银行信息来支付账单。用户125可以通过点击一袋钱的动画对象来指示消息应用103授权第二服务器120支付账单。一旦交易完成,第二服务器120可以向消息应用103发送交易完成的通知。消息应用103可以修改动画对象以显示钱从钱袋移动到与第二服务器120相关联的银行。在另一示例中,第二服务器120可以包括为用户125进行功能的机器人,该功能诸如是订购食物、安排预约、进行预订、预订航班等。在又一示例中,第二服务器120可以包括向消息应用103提供信息的单独的应用,诸如是在用户同意时发送关于用户会议的信息的日历应用。

在所示出的实施方式中,系统100的实体经由网络105被通信地耦接。网络105可以是传统类型,有线或无线,并且可以具有许多不同的配置,包括星形配置、令牌环配置或其他配置。此外,网络105可以包括局域网(lan)、广域网(wan)(例如,因特网)、和/或多个设备可以通过其进行通信的其他互连的数据路径。在一些实施方式中,网络105可以是对等网络。网络105还可以被耦接到或者包括电信网络的部分,用于以各种不同的通信协议发送数据。在一些实施方式中,网络105包括用于发送和接收数据的通信网络、或者蜂窝通信网络,包括经由短消息服务(sms)、多媒体消息服务(mms)、超文本传输协议(http)、直接数据连接、电子邮件等。尽管图1示出被耦接到用户设备115和消息服务器101的一个网络105,但是实际上一个或多个网络105可以被耦接到这些实体。

在此处所讨论的系统和方法可以收集或使用关于用户的个人信息(例如,用户数据、关于用户的社交网络的信息、用户的位置、用户的生物计量信息、用户的活动和人口统计信息、消息服务器存储和分析视频)的情况下,向用户提供机会以控制是否收集信息,是否存储个人信息,是否使用个人信息,是否分析视频,以及如何收集、存储和使用关于用户的信息。也就是说,仅当从相关用户接收到明确授权收集、存储和/或使用用户个人信息时,此处所讨论的系统和方法才收集、存储和/或使用用户个人信息。例如,向用户提供对程序或特征是否收集与该特定用户或与程序或特征相关的其他用户有关的用户信息的控制。向被收集个人信息的每个用户呈现一个或多个选项以允许对与该用户相关的信息收集的控制,以提供关于是否收集信息以及关于要收集信息的哪些部分的许可或授权。例如,可以通过通信网络向用户提供一个或多个这样的控制选项。此外,一些数据在其被存储或被使用之前可以以一种或多种方式被处理,使得个人可识别信息被移除。作为一示例,用户的身份信息可以被处理,例如被匿名,使得没有个人可识别信息可以从视频中被确定。作为另一示例,用户的地理位置可以被归纳到较大的区域,使得用户的特定位置不能被确定。

示例计算设备

图2示出生成合成图像的示例计算设备200的框图。计算设备200可以是消息服务器101或用户设备115。计算设备200可以包括处理器235、内存237、通信单元239、显示器241、扬声器243、传感器245和存储设备247。取决于计算设备200的类型,可以存在附加组件,或者可以省略一些先前组件。例如,如果计算设备200是消息服务器101,则计算设备200可以不包括显示器241、扬声器243或传感器245。消息应用103可以被存储在内存237中。在计算设备200是可穿戴设备的实施方式中,计算设备200可以不包括存储设备247。在一些实施方式中,计算设备200可以包括此处未被列出的其他组件,诸如电池等。计算设备200的组件可以通过总线220被通信地耦接。

处理器235包括算术逻辑单元、微处理器、通用控制器或者一些其他处理器阵列,以进行计算并且向显示设备提供指令。处理器235处理数据并且可以包括各种计算架构,该计算架构包括复杂指令集计算机(cisc)架构、精简指令集计算机(risc)架构、或者实现指令集组合的架构。尽管图2包括单个处理器235,但是多个处理器235也可以被包括。其他处理器、操作系统、传感器、显示器和物理配置可以是计算设备200的部分。处理器235经由信号线222被耦接到总线220,用于与其他组件进行通信。

内存237存储可以由处理器235执行的指令和/或数据。指令可以包括用于进行此处所描述的技术的代码。内存237可以是动态随机存取存储器(dram)设备、静态ram、或者一些其他内存设备。在一些实施方式中,内存237还包括诸如(sram)设备或闪存的非易失性存储器,或者包括硬盘驱动器、光盘只读存储器(cd-rom)设备、dvd-rom设备、dvd-ram设备、dvd-rw设备、闪存设备的类似的永久存储设备和介质,或者用于更永久地存储信息的一些其他大容量存储设备。内存237包括可操作为执行消息应用103的代码和例程,这将在下面被更详细地描述。内存237经由信号线224被耦接到总线220,用于与其他组件进行通信。

取决于消息应用103可以被存储的位置,通信单元239向用户设备115和消息服务器101中的至少一个传送数据,并且从用户设备115和消息服务器101中的至少一个接收数据。在一些实施方式中,通信单元239包括用于直接物理连接到网络105或者到另一通信通道的端口。例如,取决于消息应用103可以被存储的位置,通信单元239包括通用串行总线(usb)、安全数字(sd)、5类电缆(cat-5)、或者用于与用户设备115或消息服务器101进行有线通信的类似端口。在一些实施方式中,通信单元239包括用于使用一种或多种无线通信方法与用户设备115、消息服务器101或其他通信通道交换数据的无线收发器,无线通信方法包括ieee802.11、ieee802.16、或另一合适的无线通信方法。通信单元239经由信号线226被耦接到总线220,用于与其他组件进行通信。

在一些实施方式中,通信单元239包括用于通过蜂窝通信网络发送和接收数据的蜂窝通信收发器,包括经由短消息服务(sms)、多媒体消息服务(mms)、超文本传输协议(http)、直接数据连接、电子邮件或另一合适类型的电子通信。在一些实施方式中,通信单元239包括有线端口和无线收发器。通信单元239还提供到网络105的其他常规连接,用于使用标准网络协议分发文件和/或媒体对象,标准网络协议包括但不限于用户数据报协议(udp)、tcp/ip、http、http安全(https)、简单邮件传输协议(smtp)、spdy、快速udp互联网连接(quic)等。

显示器241可以包括可操作为显示从消息应用103所接收的图形数据的硬件。例如,显示器241可以渲染图形以显示叠加层和得到的合成图像。显示器241经由信号线228被耦接到总线220,用于与其他组件进行通信。

扬声器243可以包括可操作为发出噪声的硬件。例如,响应于用户进行动作,动作模块206可以指示扬声器243发出声音。扬声器经由信号线230被耦接到总线220,用于与其他组件进行通信。

传感器245可以包括可操作为检测用户设备115的变化的硬件。例如,传感器245可以包括测量计算设备200的移动的运动传感器。例如,传感器245可以包括检测沿x、y和z轴的加速力和旋转力的加速度计和陀螺仪。传感器245还可以包括测量用户设备115的物理位置的位置传感器,诸如是方位传感器和磁力计。传感器245还可以包括检测声音和/或压力变化的硬件,诸如是当用户在计算设备200上吹气时检测气流变化的麦克风。传感器245经由信号线232被耦接到总线220,用于与其他组件进行通信。传感器245可以检测计算设备200的触摸屏上的接触。例如,传感器245可以检测用户的手指触摸触摸屏和用户的手指的移动。

存储设备247可以是存储提供此处所描述的功能的数据的非暂时性计算机可读存储介质。在计算设备200是消息服务器101的实施方式中,存储设备247可以包括图1中的数据库199。存储设备247可以是dram设备、sram设备、闪存或者一些其他存储设备。在一些实施方式中,存储设备247还包括非易失性存储器,或者包括硬盘驱动器、cd-rom设备、dvd-rom设备、dvd-ram设备、dvd-rw设备、闪存设备的类似的永久存储设备和介质,或者用于永久地存储信息的一些其他大容量存储设备。存储设备247经由信号线234被耦接到总线220,用于与其他组件进行通信。

消息应用103可以包括消息模块202、动画模块204、动作模块206和用户界面模块208。

消息模块202生成消息流。在一些实施方式中,消息模块202包括可由处理器235执行以生成消息流的一组指令。在一些实施方式中,消息模块202被存储在计算设备200的内存237中,并且可以由处理器235访问和执行。

在一些实施方式中,例如,通过向用户设备115、消息服务器101和/或第二服务器120发送数据,消息模块202生成消息流,该消息流包括向用户和聊天机器人发送的数据以及从用户和聊天机器人接收的数据。消息流可以包括一个或多个消息,其中消息具有某些特征,诸如是发送方;接收方;以及包括文本、动画对象、图像、视频和消息元数据的消息内容。消息元数据可以包括时间戳、原始设备标识符、到期时间、保留时间、所应用的各种格式和效果等。在一些实施方式中,消息流包括被显示的消息流,被显示的消息流包括在用户界面内按时间顺序被显示的具有所应用的各种格式和效果的消息。

消息流可以被用作不同消息平台的部分,诸如是即时消息应用、短消息服务(sms)、电子邮件应用、增强消息服务(ems)、多媒体消息服务(mms)、推送消息(例如,

hdml、wap推送等)、应用到应用消息等的部分。消息可以在有限的时间内可用,并且时间不确定地被存档等。消息可以被加密。在一些实施方式中,消息模块202生成独立于动画对象并且动画对象不可访问的消息。在一些实施方式中,例如,当动画对象看起来对消息中的内容作出反应时,消息可用于动画对象并且被用来修改动画对象的显示。

在一些实施方式中,消息模块202指示用户界面模块208生成包括消息流的用户界面。用户界面可以包括用于输入文本、视频、图像、表情符号等的字段。消息模块202接收用户之间的消息,并且指示用户界面模块208在消息流中显示消息。例如,用户125a经由用户界面输入文本“嘿,卡尔!”用户设备115a上的消息模块202向用户125n传送消息,并且消息被显示在用户设备115n上。在一些实施方式中,消息从用户设备115a被传送到消息服务器101,消息服务器101向用户设备115n传送消息。

动画模块204生成动画对象。在一些实施方式中,动画模块204包括可由处理器235执行以生成动画对象的一组指令。在一些实施方式中,动画模块204被存储在计算设备200的内存237中,并且可以由处理器235访问和执行。

在一些实施方式中,动画模块204生成动画对象组。动画对象可以包括卡通画;人(名人、化身、仿制人等)、动物(例如,熊)、无生命对象(例如,饼干)的漫画;抽象的移动对象(例如,具有眼睛和嘴巴的旋转图案);等等。

动画模块204可以指示用户界面模块208在用户界面中提供动画组。动画模块204可以根据类型来组织动画对象组,并且指示用户界面模块208显示被组织的动画对象组,用户可以从被组织的动画对象组中选择动画对象。

在一些实施方式中,动画模块204可以指示用户界面模块208显示用于定制动画对象的选项。例如,用户界面可以包括用于选择动画对象的颜色或尺寸的选项。在一些实施方式中,用于定制动画对象的选项可以特定于动画对象的类型。例如,用户界面可以包括为具有眼睛的动画对象选择眼睛颜色的选项。在一些实施方式中,用户界面可以包括用于限制动画对象可用的信息量和/或动作的选项。例如,用户界面可以包括用于禁用诸如点头或产生声音的某些行为的选项。在另一示例中,用户界面可以包括用于基于隐私问题禁用某些类型的动作的选项,诸如是禁用基于消息中的词语作出反应的基于上下文的动画,同时保留响应于诸如用户摇动计算设备200的明确的用户输入的动画。

在一些实施方式中,动画模块204可以指示用户界面模块208提供动画对象组,该动画对象组取决于被用来选择动画对象的计算设备200的类型而不同。例如,在计算设备200是智能手表的情况下,该组可以包括可以适合于智能手表上的显示的动画对象的子集。在一些实施方式中,动画对象组可以包括用于不同设备的不同版本。动画对象可以包括用于台式计算机的复杂版本、用于移动设备的较简单版本、以及用于智能手表的更简单版本。例如,台式计算机上的动画对象可以包括具有背景场景的男人的卡通画,移动设备上的动画对象可以包括男人的卡通画,并且智能手表上的动画对象可以包括男人的脸的卡通画。

在一些实施方式中,动画模块204可以基于计算设备200的类型来指示计算设备200提供动画对象的不同属性。例如,对于单个动画对象,动画模块204可以指示与智能手表相对应的计算设备200提供振动和/或声音、指示与移动设备相对应的计算设备200提供视觉显示、指示与虚拟现实护目镜相对应的计算设备200提供用户界面的三维再现。三维再现可以包括将动画对象以不同深度放置在用户界面中。

动画模块204从用户接收对动画对象的选择。动画模块204生成动画对象,并且指示用户界面模块208在消息流中显示动画对象。用户界面模块208可以在消息流的不同部分中显示动画对象。例如,用户界面模块208可以在用户界面的顶部、用户界面的底部、或者用户界面的中间显示动画对象。在另一示例中,用户界面模块208可以在消息流内显示一个或多个消息,同时动画对象在消息流的部分中保持固定。在又一示例中,用户界面模块208可以根据第一用户选择动画对象的时间来显示动画对象,使得动画对象位于动画对象被选择之前所提供的内容之后以及动画对象被选择之后所提供的内容之前。在又一示例中,用户界面模块208可以在随机位置显示动画对象。如下面被更详细地描述的,用户界面模块208还可以基于由用户所进行的动作来改变动画对象的位置。

用户界面模块208为查看相同消息流的每个人在用户界面内显示动画对象。例如,消息流可以由为他自己做笔记的单个用户查看,消息流可以由第一用户和第二用户查看,或者消息流可以由一组用户查看。在一些实施方式中,用户界面模块208基于与不同用户相关联的特征,将动画对象放置在不同位置。例如,第一用户可以提供第一用户更喜欢在屏幕的右下方部分看见动画对象的用户输入。在另一示例中,对于来自与动画对象进行交互的组中的用户,动画对象可以位于消息流的中心,并且对于未与动画对象进行交互的用户,动画对象可以位于消息流的左上方。在一些实施方式中,取决于动画对象在消息流中的位置和/或动画对象已经被显示的时间和/或从与动画对象相关联的用户动作发生后多久,动画对象被不同地显示。

在一些实施方式中,对于查看相同消息流的多个用户,动画对象可以基于与每个用户相关联的元数据而看起来不同。元数元数据可以包括与用户设备相关联的一天中的时间、与用户设备相关联的位置、与用户设备相关联的时区、与用户相关联的用户偏好等。动画模块204可以从传感器245获得信息以从元数据确定信息。例如,如果用户已经同意由动画模块204进行这样的确定,则动画模块204可以基于提供全球定位系统(gps)信息的传感器245来确定用户的位置。动画模块204可以基于元数据修改动画对象。例如,在动画对象是人的动画的情况下,如果用户位于具有温暖天气的区域,则该人可以穿短裤,如果用户位于具有寒冷天气的区域,则可以穿夹克等。动画模块204可以基于用户的一天中的时间来显示具有不同服装或不同行为的人的动画。例如,如果用户的一天中的时间是晚上,则动画模块204可以显示穿睡衣的人的动画,并且动画可以入睡。在一些实施方式中,在用户同意的情况下,动画模块204可以基于用户数据修改动画对象。例如,当用户已经在计算设备200上设置了闹钟时,动画模块204可以指示用户界面模块208显示具有响起的闹钟的动画对象,动画对象可以显示与用户在计算设备200上设置的计时器相关联的倒计时,动画对象可以基于与第二服务器120相关联的信息、基于日历条目显示即将到来的日历事件等。

在一些实施方式中,动画模块204基于动画对象集与第一动画对象的关系,指示用户界面模块208向第二用户提供该动画对象集。例如,在第一动画对象传达诸如“我将很快回家”的消息的情况下,动画对象集可以包括对消息的响应。用户界面模块208可以用第二动画对象替换第一动画对象,或者第二动画对象可以被显示在与第一动画对象相同的消息流中。在一些实施方式中,第一动画对象和第二动画对象彼此进行交互。

动作模块206基于用户动作来修改动画对象。在一些实施方式中,动作模块206包括可由处理器235执行以修改动画对象的一组指令。例如,动作模块206可以对动画对象(例如,动画对象可以包括被存储的代码或者被预先记录的动画)进行编程,以对用户动作作出反应。在一些实施方式中,动作模块206被存储在计算设备200的内存237中,并且可以由处理器235访问和执行。

动作模块206从第一用户接收与动画对象有关的第一动作。动作模块206确定发生的动作的类型,并且指示用户界面模块208基于该动作修改动画对象的显示。例如,当第一用户点击动画对象时,动作模块206指示用户界面模块208显示离开动画对象的心。在一些实施方式中,查看相同消息流的用户将看见离开动画对象的心。动作模块206从第二用户接收与动画对象有关的第二动作。例如,第二用户进行滑动动作,动作模块206检测到该动作。动作模块206指示用户界面模块208基于第二动作修改显示。继续上面的示例,动作模块206指示用户界面模块208将动画对象显示为用动画对象的嘴巴抓住心。下面的图3a-3j提供不同的用户动作的示例,不同的用户动作使得动作模块206确定动作并且用户界面模块208基于该动作而修改动画对象的显示。

动作可以包括轻击、滑动、制造噪声、改变压力、移动定点设备(例如,移动箭头的鼠标)、移动计算设备200、捕捉图像、提供具有上下文的消息、提供具有消息中的词语的消息、提供语音内容、选择由用户界面所提供的选项、选择另一动画对象等。

转到图3a,示出根据一些实施方式的包括动画饼干的消息流的示例用户界面300。在该示例中,消息流可以包括参加消息流的用户的列表301。第一用户可以与消息流中的第一用户图标302相关联。第一用户可以选择动画饼干303作为动画对象,并且用户界面模块208可以在词语气泡304内显示动画饼干303。

图3b示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面310,该动画饼干303具有跟随光标311的眼睛,该光标311由第一用户所控制的定点设备所控制。在该在该示例中,用户界面模块208用圆圈示出光标311;然而,其他变化是可能的,诸如是箭头、矩形等。动作模块206确定定点设备被移动到用户界面中的动画饼干303的位置的上方。这在图3b中被示出为光标311位于动画饼干303的上方。动作模块206指示用户界面模块208修改动画饼干303的显示。例如,动画饼干303被更新为显示动画眼睛,当光标311在动画饼干303的上方移动时,该动画眼睛移动并且跟踪光标311的移动。

动画饼干303可以以与光标311相同的移动速度来跟随光标311的位置。例如,如果光标311快速地上下移动,则动画饼干303可以包括以与光标311一样快速地上下看的动画眼睛。在一些实施方式中,以特定的速度移动光标311可以使得动画对象作出反应。在该示例中,例如,通过描绘漂浮在动画饼干303周围的星星,多次围绕动画饼干303移动光标311可以使得动画饼干303看起来头晕。

图3c示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面320,该动画饼干303可由多个用户查看。在该示例中,第二用户与消息流中的第二用户图标321相关联。动画饼干303保持在相同的位置,因为动画饼干303是词语气泡304的部分。

图3d示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面330,该动画饼干303具有跟随由第二用户所控制的定点设备331的眼睛。在该示例中,动作模块206确定光标311的位置,并且用户界面模块208修改动画饼干303的显示为看向光标311所在位置的上方和左侧。

第二用户将光标311移动到动画饼干303以便移动动画饼干。在该示例中,用户界面模块208还包括在第二图标321的下方的信息文本,以通知用户该第二用户正在移动动画饼干303。

图3e示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面340,该动画饼干303对被移动作出反应。在该示例中,当第二用户移动动画饼干303时,通过修改动画饼干303为具有揉成一团的眼睛和噘起的微笑的嘴巴,用户界面模块208将动画饼干303的显示修改为看起来好像光标311正在给动画饼干303挠痒。因为第二用户将动画饼干303移动到与第一用户相关联的词语气泡之外,所以用户界面模块208创建与第一用户相关联的第三图标341,第三图标341指示第一用户通过将动画饼干303调用为活动贴纸来创建动画饼干。第二用户可以将动画饼干303移动到消息流内的任何地方。在一些实施方式中,动画饼干在用户放置它的任何地方保持固定。

图3f示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面350,该动画饼干303对被放置作出反应。用户界面模块208示出动画饼干303继续笑,好像他被定点设备挠痒一样。用户界面模块208还修改第二图标321下方的文本,以通知其他用户该第二用户放置了动画饼干303。

图3g示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面360,该动画饼干303具有移动以查看被显示在消息流内的文本的眼睛。动作模块206确定第一用户在消息流内输入了文本。用户界面模块208修改动画饼干303以移动眼睛向下看,好像动画饼干303正在阅读文本一样。在一些实施方式中,动画饼干303可以不访问文本的内容,而是仅仅对文本的出现作出反应。在一些实施方式中,在用户同意的情况下,动画饼干303可以访问文本。例如,如果用户拒绝许可动作模块206检测用户输入了文本或者接收了消息,则该特征可以被禁用。

图3h示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面370,该动画饼干303停留在消息流内的固定位置。随着更多的消息被添加到消息流内,消息向上滚动。因为动画饼干303被放置在固定位置,所以它停留在消息流的中心内。

图3i示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面380,如果参加消息流的用户同意访问消息流中所交换的消息,则该动画饼干303对消息381中的词语作出反应。在该示例中,第一用户提供陈述“哦!我得去……以后再聊”的消息。基于用户同意访问消息,动作模块206确定词语“我得去……以后再聊”指示第一用户即将结束聊天。动作模块206可以通过使用机器学习、将消息中的词语和与不同的上下文相关联的词语列表进行比较等,基于消息381确定动画饼干303的反应。例如,例如,可以基于先前训练数据,基于先前消息的聚类等,通过将一个或多个词语与已知的与结束聊天相关联的词语进行比较来进行这样的确定。用户界面模块208基于第一用户的消息,将动画饼干303的显示修改为开始入睡(例如,通过示出下垂的眼睛)。

图3j示出根据一些实施方式的包括动画饼干303的消息流的示例用户界面390,该动画饼干303继续对消息内的词语作出反应。当第二用户提供对消息流中的消息的访问的同意时,动作模块206基于与第二用户陈述“好的!再见”相关联的词语而确定第二用户也将离开消息流。基于动作模块206确定词语的含义,用户界面模块208将动画饼干303的显示修改为入睡(例如,通过显示说“zzz”的动画饼干303)。

在一些实施方式中,来自用户的动作包括用户在计算设备200上吹气。例如,用户可以在移动设备上吹气或者当穿戴耳机时吹气。传感器245可以包括麦克风,该麦克风检测气流变化,并且向动作模块206传送关于气流变化的信息。动作模块206可以确定气流变化的程度,并且动作模块206指示用户界面模块208基于气流变化的程度来移动动画对象。例如,动画对象可以是一盒纸巾,并且在计算设备200上吹气使得纸巾移出纸巾盒。如果用户在计算设备200上轻微地吹气,则使得来自纸巾盒的少数纸巾从盒子中出来。如果用户在计算设备200上猛烈地吹气,则使得来自纸巾盒的多数纸巾从盒子中出来。在另一示例中,动画对象是诸如卡通狐狸的角色,并且在计算设备200上吹气使得狐狸挂在消息流窗口的一侧并且保持。在又一示例中,动画对象是气泡,并且在计算设备200上吹气使得气泡的尺寸与第一用户在计算设备200上吹气的程度相对应地增加。

在一些实施方式中,来自用户的动作包括移动计算设备200。动作模块206可以从传感器245(例如,加速计或陀螺仪)接收信息并且确定移动的程度。动作模块206可以指示用户界面模块208示出具有附加改变的动画对象。例如,用户摇动用户的智能手表或者其他移动设备,使得动作模块206指示用户界面模块208示出项目移动,诸如是雪从天空落下、螺母和螺栓即将松动、角色的头发变得杂乱、角色向用户挥拳等。在另一示例中,当用户将计算设备200移动到用户的耳朵时,动作模块206可以从传感器245接收指示用户将计算设备200移动到了用户的耳朵的信息,并且指示扬声器243发出噪声。在一些示例中,取决于计算设备200被如何移动,动画对象发出不同的噪声,例如,如果用户将计算设备200移动到用户的左耳,则是尖叫,并且如果用户将计算设备200移动到用户的右耳,则是吼叫。

转到图4a,示出根据一些实施方式的包括动画熊405的消息流的示例用户界面400。第一用户可以选择动画熊405,并且将动画熊405放置在消息下方的消息流的中心。在用户同意的情况下,动作模块206可以识别出史蒂夫提供了陈述“在该野餐地点可能有熊”的消息。通过使得动画熊405的眼睛动起来前后移动,动作模块206可以指示用户界面模块208修改熊的显示,以给出动画熊405正在阅读文本的外观。

图4b示出根据一些实施方式的在用户进行了用户动作之后的包括动画熊430的消息流的示例用户界面425。例如,第二用户可以将用户设备115上下颠倒。动作模块206从传感器245接收信息,并且确定用户设备115的移动的度数是180度。动作模块206指示用户界面模块208修改显示,以将动画熊430显示为上下颠倒。

在另一示例中,在用户同意的情况下,动作模块206可以识别出凯伦对史蒂夫的响应是“我们将击退它们!”动作模块206确定战斗是与动画熊430相关联的指令,并且指示用户界面模块206修改动画熊430的显示,以显示最初战斗然后上下颠倒的动画熊430。

在一些实施方式中,来自用户的动作包括消息流内的移动。移动可以是用户触摸移动设备的触摸屏或者诸如鼠标的定点设备的移动。动画对象可以是具有眼睛的角色(例如,笑脸)。动作模块206可以从传感器245(例如,触摸屏)接收关于移动的信息,并且确定移动的方向。动作模块206指示用户界面模块208移动动画对象的眼睛,以与来自第一用户的移动的方向相对应。在另一示例中,移动可以拉伸动画对象。

转到图5a,示出根据一些实施方式的包括动画气泡的消息流的示例用户界面500。第一用户使用与计算设备200相关联的定点设备,在第一方向上拉动第一箭头502。第二用户使用与另一计算设备200相关联的定点设备,在第二方向上拉动第二箭头503。第一箭头502和第二箭头503都在不同的方向上拉动气泡501。动作模块206将第一动作和第二动作识别为在拔河比赛中通过在相反的方向上拉动来拉动气泡501。

图5b示出根据一些实施方式的在两个用户进行了用户动作之后的包括动画气泡的消息流的示例用户界面525。动作模块206确定每个用户用第一箭头502和第二箭头503拉动气泡多少。在一些实施方式中,通过确定是第一用户还是第二用户首先在用户界面中拉动气泡阈值数量的像素,动作模块206应用动画规则来确定拔河比赛的胜利者。确定胜利者的其他方式是可能的,诸如是确定哪个用户将气泡拉伸到边界之外的阈值像素距离。

在一些实施方式中,当消息流中的参加者用户同意这样的消息使用时,动作模块206识别消息中的词语或者消息流的上下文。动作模块206可以将消息中的词语和与不同的含义相关联的词语列表进行比较,不同的含义诸如是不同的情绪(例如,快乐、悲伤、愤怒等)、不同的状态(例如,即将结束聊天)等。动作模块206可以使用机器学习,基于消息来预测与用户相关联的含义,其中机器学习可以是基于动作模块206可用的所有消息,或者根据用户内容、与特定的用户相关联的消息。消息流的上下文可以基于用户模式、一天中的时间、计算设备200的位置等,并且仅在特定用户同意访问这样的数据时被确定。例如,用户通常在工作日结束时结束消息流。结果,动作模块206可以基于上下文指示用户界面模块208修改动画对象的显示。

在一些实施方式中,动作模块206可以响应于用户内容,识别来自用户的语音内容。动作模块206可以将语音转换为文本,并且识别语音内容的缩进。例如,动作模块206可以识别用户提供包括“在四周跳”的抽象动画对象的口头指令。基于口头内容,动作模块206指示用户界面将抽象动画对象的显示修改为显示其上下移动。

在一些实施方式中,第一用户可以是向用户提供服务的聊天机器人(例如,自动的聊天程序)。动画对象可以与聊天机器人和用户之间的一个或多个消息交换有关。例如,用户可以通过输入消息来指示聊天机器人进行预订、购买等。在用户同意的情况下,动作模块206可以指示用户界面模块208基于消息修改动画对象。例如,如果用户指示聊天机器人进行预订,则动画对象包括与进行预订相关联的图形。

转到图6,示出根据一些实施方式的包括动画货币转移对象601的消息流的示例用户界面600。在该示例中,通过指示银行机器人支付信用卡账单,用户萨拉同意使用聊天机器人为她进行操作。用户提供陈述:“@银行机器人支付我的信用卡账单”的消息602。银行机器人响应陈述:“确认。付款已发布”的消息603。在用户同意动作模块206访问用户的消息的情况下,动作模块206确定用户指示聊天机器人将钱从用户的账户转移到信用卡公司。动作模块206指示用户界面模块208显示动画货币转移对象601,动画货币转移对象601显示钱从钱袋移动到信用卡。

在一些实施方式中,上面所描述的各种示例可以被组合。例如,消息流可以包括多个用户和聊天机器人。动作模块206可以检测用户在计算设备200上的移动,并且基于与聊天机器人和用户的移动有关的消息指示用户界面模块208修改动画对象的显示。

转到图7a,示出根据一些实施方式的动画外带盒的示例用户界面700。在该示例中,基拉和萨姆交换关于从tastythai订购送餐的消息701。用户还同意聊天机器人访问他们的消息以帮助用户。食物订购聊天机器人下订单并且通知用户食物将在40分钟内到达。第一用户选择外带盒动画对象702,用户界面模块208在消息流中显示该外带盒动画对象702。第二用户用手指703触摸外带盒动画对象702。动作模块206检测第二用户的手指703触摸动画对象的移动。

图7b示出根据一些实施方式的在用户进行了用户动作之后的动画外带盒的示例用户界面725。基于第二用户触摸图7a中的外带盒动画对象702,动作模块206确定发生的动作的类型,并且指示用户界面模块208将外带盒动画对象修改为显示打开的外带盒动画对象726。

在一些实施方式中,动作可以包括第二用户选择第二动画对象。第二动画对象可以基于其与第一动画对象的关系而来自动画对象的子集。第二动画对象可以从一组所有动画对象中被选择。在一些实施方式中,用户界面模块208通过显示与第二动画对象进行交互的第一动画对象来修改显示。例如,第一动画对象可以是戴拳击手套的狐狸,并且第二动画对象可以是戴拳击手套的袋鼠。用户界面模块208可以显示彼此战斗的两个动画对象。在一些实施方式中,第一用户可以控制第一动画对象,并且第二用户可以控制第二动画对象,使得第一和第二用户使用两个动画对象来参加拳击比赛。

在一些实施方式中,其中多个动画对象被显示在消息流中,动画对象取决于它们被如何添加到消息流而作出不同的反应。两个动画对象可以取决于它们彼此的接近度和时间的长度而作出不同的反应,使得彼此接近的动画对象彼此之间作出的反应比彼此远离的动画对象更多。例如,当两个动画人彼此相邻时,他们互相看着对方并且互相接触。当两个动画人在消息流的相对侧时,他们每两分钟挥动一次,否则不进行交互。

用户界面模块208生成用户界面。在一些实施方式中,用户界面模块208包括可由处理器235执行以生成用户界面的一组指令。在一些实施方式中,用户界面模块208被存储在计算设备200的内存237中,并且可以由处理器235访问和执行。

在一些实施方式中,用户界面模块208从动画模块204接收指令以生成包括消息流的用户界面。用户界面可以包括动画对象组,用于第一用户从动画对象组中选择。用户界面模块208可以从第一用户接收对动画对象中的一个的选择。用户界面模块208在消息流中显示动画对象。

用户界面模块208从动作模块206接收指令,以基于来自第一用户的第一动作来修改动画对象的显示。例如,用户界面模块208接收指令,以将弹珠的动画对象修改为,基于与第一用户相关联的计算设备的移动来显示它们围绕消息流滚动。用户界面模块208从动作模块206接收指令,以基于来自第二用户的第二动作来修改动画对象的显示。例如,用户界面模块208接收指令,以基于第二用户触摸与第二用户相关联的计算设备200在消息流中显示跳动的弹珠,以模拟在消息流内跳动的弹珠。

在一些实施方式中,用户界面模块208提供包括交互式特征的用户界面以改变动画对象的外观。例如,用户界面模块208提供用户界面,该用户界面提供用于绘图的暂存器。暂存器可以包括具有用于绘图的诸如铅笔、画笔、颜色选项等的各种工具的工具箱。在另一示例中,用户界面模块208提供用户界面,该用户界面包括用于产生音乐、哔哔声、音调等的交互式键盘。当用户触摸键盘上的键时,动作模块206检测到触摸,并且指示扬声器243发出哔哔声、音调等。在又一示例中,用户界面模块208提供包括诸如图表、时间线等的交互式图形的用户界面,其中用户具有用于改变交互式图形的外观的选项。

图8a示出根据一些实施方式的包括动画飞机的消息流的示例用户界面800。在该示例中,第一用户选择飞机801的动画对象,飞机801的动画对象向第二用户表示第一用户即将乘坐飞机的消息。第一用户在智能手表的屏幕上滑动,以使得用户界面模块208将飞机801的显示修改为显示飞机801在屏幕上移动。动画模块204基于动画对象集与飞机801的关系,向第二用户提供动画对象集。例如,动画对象集可以是挥手、竖起大拇指、以及两个人接吻。第二用户选择两个人接吻的动画对象。

图8b示出根据一些实施方式的包括动画夫妇826的消息流的示例用户界面825,该动画夫妇826响应于与动画飞机有关的用户动作而被显示。在该示例中,用户动作是第二用户选择两个人接吻的动画对象。

示例方法

图9示出生成包括动画对象的消息流的示例方法900的流程图。方法900由被存储在计算设备200上的消息应用103进行,计算设备200诸如是用户设备115、消息服务器101、或者部分是用户设备115并且部分是消息服务器101。

在框902,消息流被生成,其中一个或多个消息在第一用户和第二用户之间被交换。例如,第一用户和第二用户使用即时消息平台,经由文本,经由sms等彼此发送消息。在框904,从第一用户接收对消息流的动画对象的选择。例如,第一用户从为第一用户的设备所显示的动画对象组中选择动画对象。例如,动画对象是动画版本的火烈鸟。用户可以通过选择动画对象的颜色、动画对象的眼睛的样式等来定制动画对象。在框906,在消息流中提供动画对象。例如,用户界面模块208将动画对象显示在诸如用户界面的中心的默认位置。

在框908,从第一用户接收与动画对象有关的第一动作。例如,动作模块206检测第一用户吹入计算设备200的诸如麦克风的传感器245。在框910,基于第一动作修改动画对象的显示。例如,基于第一用户吹入计算设备200,用户界面模块208将动画对象的显示修改为显示火烈鸟在风中吹着,它的羽毛飞舞。

在框912,从第二用户接收与动画对象有关的第二动作。例如,第二用户摇动第二用户的计算设备200。在框914,基于第二动作修改动画对象的显示。例如,显示被修改为显示火烈鸟随着与第二用户的计算设备200的摇动相对应的移动而上下跳动。

在上面的描述中,为了解释的目的,众多具体细节被阐述以便提供对说明书的全面理解。然而,对于本领域技术人员来说显而易见的是,本公开可以在没有这些具体细节的情况下被实践。在一些实例中,结构和设备以框图形式被示出,以便避免模糊描述。例如,上面的实施方式可以主要参考用户界面和特定硬件被描述。然而,实施方式可以应用于可以接收数据和命令的任何类型的计算设备,以及提供服务的任何外围设备。

说明书中对“一些实施方式”或“一些实例”的参考意味着结合实施方式或实例被描述的特定特征、结构或特性可以被包括在说明书的至少一个实施方式中。在说明书中的各个地方出现的短语“在一些实施方式中”不一定都指的是相同的实施方式。

上面的详细描述的一些部分是根据对计算机内存内的数据位的操作的算法和符号表示被呈现的。这些算法描述和表示是由数据处理领域的技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。算法在此处,并且通常被认为是导致期望结果的自相一致的步骤序列。步骤是那些需要物理操纵物理量的步骤。通常,尽管不是必须的,这些量采用能够被存储、转移、组合、比较和以其他方式被操纵的电或磁数据的形式。有时,主要出于通用的原因,已经证明将这些数据称为比特、值、元素、符号、字符、术语、数字等是方便的。

然而,应该记住的是,所有这些和类似术语都与适当的物理量相关联,并且仅仅是被应用于这些量的方便标签。除非特别指出,否则从下面讨论显而易见的是,应该理解,在整个说明书中,利用包括“处理”或“计算”或“算”或“确定”或“显示”等的术语的讨论,指的是计算机系统或类似电子计算设备的动作和处理,该动作和处理将被表示为计算机系统的寄存器和内存内的物理(电子)量的数据,操纵和变换为类似地被表示为计算机系统内存或寄存器或其他这样的信息存储、传输或显示设备内的物理量的其他数据。

说明书的实施方式还可以涉及用于进行上面所描述的方法的一个或多个步骤的处理器。处理器可以是由被存储在计算机中的计算机程序选择性地激活或重新配置的专用处理器。这样的计算机程序可以被存储在非暂时性计算机可读存储介质中,包括但不限于,包括光盘的任何类型的盘、rom、cd-rom、磁盘、ram、eprom、eeprom、磁性或光学卡、包括具有非易失性存储器的usb密钥的闪存、或适用于存储电子指令的任何类型的介质,各自被耦接到计算机系统总线。

说明书可以采取一些完全硬件实施方式、一些完全软件实施方式或者包含硬件和软件元素的一些实施方式的形式。在一些实施方式中,说明书以软件被实现,软件包括但不限于固件、驻留软件、微代码等。

此外,描述可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,计算机可用或计算机可读介质提供由计算机或任何指令执行系统所使用或者与计算机或任何指令执行系统结合所使用的程序代码。为了该描述的目的,计算机可用或计算机可读介质可以是能够包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备所使用或者与指令执行系统、装置或设备结合所使用的任何装置。

适用于存储或执行程序代码的数据处理系统将包括至少一个通过系统总线被直接地或间接地耦接到存储器元件的处理器。存储器元件可以包括在程序代码的实际执行期间所采用的本地存储器、大容量存储器和缓存存储器,缓存存储器提供至少一些程序代码的临时存储,以便减少在执行期间必须从大容量存储器检索代码的次数。

在上面所讨论的系统收集或使用个人信息的情况下,系统为用户提供机会以控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户偏好、或者用户的当前位置的信息),或者控制是否和/或如何从服务器接收可能与用户更相关的内容。此外,一些数据在其被存储或被使用之前可以以一种或多种方式被处理,使得个人可识别信息被移除。例如,用户的身份可以被处理,使得无法为用户确定个人可识别信息,或者获得位置信息的用户的地理位置可以被归纳(诸如被归纳到城市、邮政编码或州级),使得用户的具体位置无法被确定。因此,用户可以控制如何收集关于用户的信息,以及如何由服务器使用信息。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1