首页> 中国专利> 激励用户对社交网络内容做出贡献的UI和设备

激励用户对社交网络内容做出贡献的UI和设备

摘要

提供了用于生成内容的系统和方法。该系统和方法包括以下操作:识别与用于生成内容项的指令相关联的内容项生成模板;由消息传递应用显示内容项生成模板的标识符;由消息传递应用接收选择内容项生成模板的标识符的输入;由消息传递应用取得与内容项生成模板相关联的多个内容项,多个内容项中的每一个内容项先前已经由消息传递应用的多个用户中的相应用户根据与内容项生成模板相关联的指令生成;以及由消息传递应用显示所取得的与内容项生成模板相关联的多个内容项。

著录项

  • 公开/公告号CN113168425A

    专利类型发明专利

  • 公开/公告日2021-07-23

    原文格式PDF

  • 申请/专利权人 斯纳普公司;

    申请/专利号CN201980080431.4

  • 申请日2019-12-05

  • 分类号G06F16/9538(20190101);G06F16/2457(20190101);G06F16/438(20190101);G06F40/186(20200101);G06F3/0481(20130101);G06F16/9035(20190101);H04L29/06(20060101);H04L12/58(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人李永敏;于静

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:55:48

说明书

优先权要求

本申请要求于2018年12月5日提交的申请号为62/775,822的美国临时申请的优先权的权益;以及于2018年12月5日提交的申请号为62/775,829的美国临时申请的优先权的权益,它们的全部内容通过引用合并于此。

技术领域

本公开总体上涉及社交网络的技术领域。特别地,本实施例通常涉及激励社交网络的用户向社交网络提供内容。

背景技术

随着社交网络的普及,社交网络正在扩展其能力。为了提高易用性,社交网络正在集成越来越多的功能,以便用户可以在社交网络自身内完成许多甚至大部分基于计算机的任务。社交网络的一个愿景是:它们最终将成为虚拟操作系统,用户从中很少有机会发现自己需要删除自己。

附图说明

在不一定按比例绘制的附图中,相似的数字可以在不同的视图中描述相似的组件。为了容易地确定对任何特定元素或动作的讨论,参考数字中的一个或多个最高有效数字指的是该元素首次引入的附图号。在附图的各图中,通过示例而非限制的方式示出了一些实施例,其中:

图1是示出了根据示例实施例的用于在网络上交换数据(例如,消息和相关内容)的示例消息传递系统的框图。

图2是示出根据示例实施例的可以存储在消息传递服务器系统的数据库中的数据的示意图。

图3是示出了根据示例实施例的由消息传递客户端应用生成的用于通信的消息结构的示意图。

图4是示出根据示例实施例的示例内容项生成模板系统的框图。

图5是示出根据示例实施例的内容项生成模板系统的示例操作的流程图。

图6是示出根据示例实施例的内容项生成模板系统的示例操作的流程图。

图7A-C是根据示例实施例的内容项生成模板系统的说明性输入和输出。

图8是示出了根据示例实施例的可以与本文所述的各种硬件架构结合使用的代表性软件架构的框图。

图9是示出根据示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的方法中的任何一个或多个的机器的组件的框图。

具体实施方式

以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对各种实施例的理解。然而,对于本领域技术人员显而易见的是,也可以在没有这些具体细节的情况下实践实施例。通常,众所周知的指令实例、协议、结构和技术不必详细示出。

通常,用户在其移动设备上消费媒体内容,特别是视频。用户一直在寻找发现内容的新方法。有时,用户使用预定义的图形或音频内容来生成内容。在某些情况下,用户可能会对查找使用预定义图形或音频内容生成的此类内容感兴趣。为此,用户必须手动搜索并查看其他用户提交的各种内容,并手动确定此类内容是否包含预定义的图形或音频内容。该任务非常繁重且耗时,最终使用户感到沮丧并浪费了设备资源。

所公开的实施例通过提供一种基于用于生成内容的主题来自动组织内容的系统来提高使用电子设备的效率。具体地,所公开的系统允许用户基于是否使用预定义的内容项生成模板来生成内容来浏览此类内容。例如,与用于生成内容项的指令相关联的内容项生成模板被标识,并且消息传递应用显示内容项生成模板的标识符。消息传递应用接收选择内容项生成模板的标识符并取得与内容项生成模板相关联的多个内容项的输入。多个内容项中的每一个先前已经由消息传递应用的多个用户中的相应用户根据与内容项生成模板相关联的指令来生成。消息传递应用显示所取得的与内容项生成模板相关联的多个内容项。

根据示例实施例,提供了一种用于消息传递系统的挑战机制(或运作方式),根据该挑战机制,消息传递系统的用户能够创建并提交内容(例如,用户生成的内容(UGC),例如照片或视频)到消息传递系统,该消息传递系统具有与特定挑战主题(例如,内容项生成模板)相对应的特定注释或补充(例如,图像叠加或完整站点)。这些用户生成的内容集合可与多个不同的事件或主题(例如音乐、社交事件、假日、喜剧、电话等)中的任何一个有关。尽管本文所讨论的示例性实施例是针对音乐主题进行的讨论,但应理解,可以针对多个不同的主题应用挑战(内容项生成模板)。挑战机制试图通过例如促进方便且自动的内容生成(例如,UGC)来推动用户参与消息传递系统,并同样扩展创意表达。在一些实施例中,消息传送系统允许用户查看针对特定主题或根据特定内容项生成模板的指令而生成的UGC。

以这种方式,所公开的实施例通过减少用户在寻找用户感兴趣的某些内容时经历的复杂度以及通过减少用户必须要浏览以查找此类内容的屏幕和界面的数量来提高使用电子设备的效率。这减少了用设备完成任务所需的设备资源(例如,处理器周期、内存和功耗)。

图1是示出了用于在网络106上交换数据(例如消息和相关联内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104和第三方应用105的多个应用。每个消息传递客户端应用104通过网络106(例如因特网)通信地耦接到消息传递客户端应用104、第三方应用105和消息传递服务器系统108的其他实例。

因此,每个消息传递客户端应用104和第三方应用105能够经由网络106与另一个消息传递客户端应用104和(一个或多个)第三方应用105以及与消息传递服务器系统108进行通信并交换数据。在消息传递客户端应用104、第三方应用105和消息传递服务器系统108之间交换的数据包括函数(例如调用函数的命令)以及有效载荷数据(例如文本、音频、视频或其他多媒体数据)。消息传递客户端应用104和(一个或多个)第三方应用105之间的任何公开的通信可以直接从消息传递客户端应用104发送到(一个或多个)第三方应用105和/或间接地(例如,经由一个或多个服务器)从消息传递客户端应用104发送到(一个或多个)第三方应用105。

(一个或多个)第三方应用105和消息传递客户端应用104是包括允许客户端设备102访问内容项生成模板系统124的功能集的应用。第三方应用105是与消息传递客户端应用104分离且不同的应用。(一个或多个)第三方应用105由客户端设备102与消息传递客户端应用104分开下载和安装。在一些实施方式中,(一个或多个)第三方应用105在消息传递客户端应用104被下载和安装之前或之后,由客户端设备102下载和安装。第三方应用105是由与提供消息传递客户端应用104的实体或组织不同的实体或组织提供的应用。第三方应用105是可以由客户端设备102使用与消息传递客户端应用104分离的登录凭证访问的应用。即,第三方应用105可以维护第一用户帐户,而消息传递客户端应用104可以维护第二用户帐户。例如,第三方应用105可以是社交网络应用、约会应用、乘车或汽车共享应用、购物应用、交易应用、游戏应用或成像应用。

在一些实施例中,消息传递客户端应用104向用户提供图形用户界面,该图形用户界面允许用户搜索与特定内容项生成模板相对应的内容和/或提交使用内容项生成模板的指令生成的内容。例如,消息传递客户端应用104可向图形用户界面呈现内容项生成模板的标识符(也称为挑战或镜头挑战)。内容项生成模板可由艺术家或制作人创建,并且可以具有与其相关联的一个或多个增强现实内容(例如,音乐、视频、图形元素、文本等)。内容项生成模板包括指令集,该指令集被呈现给用户以用于根据内容项生成模板的主题来生成内容。

例如,当访问内容项生成模板时,内容项生成模板开始播放歌曲,并允许用户与歌曲的一部分一起或替代歌曲来捕获视频或记录音频。用户可以使用消息传递客户端应用104提供的剪切工具(slice tool)来选择歌曲中包含在内容项生成模板中的一部分,在该部分上记录用户的声音或音频。具体地,内容项生成模板可包括三分钟的歌曲,并且用户可选择歌曲的时间点1:30(分:秒)和1:45(分:秒)之间的片段以用于由用户的个人录音来替代。

作为另一个示例,内容项生成模板可包括代表特定场景的增强现实内容。具体地,内容项生成模板可包括看起来像奥斯卡金像奖的一个或多个图形元素(例如,舞台、颁奖台、屏幕和观众)。内容项生成模板可包括用于用户捕获在奥斯卡金像奖上发表讲话的用户的视频的指令。包括用户面部在内的视频被叠加或与图形元素组合在一起,尤其是在颁奖台后面。这样,用户生成的内容项看起来就像用户在奥斯卡金像奖上发表演讲一样。

作为另一示例,内容项生成模板可包括与一个或多个图形元素组合的音乐作品。图形元素带有时间戳,以便在音乐作品中的不同时间点在屏幕上显示图形元素中的不同图形元素。内容项生成模板可指示用户在演奏音乐作品和呈现图形元素的同时捕获用户的视频。例如,用户可以演唱与音乐作品相对应的歌词,并且图形元素可以与音乐作品的不同部分相对应地叠加在演唱歌词的用户之上。

在用户对用户根据内容项生成模板生成的内容项感到满意之后,消息传递客户端应用104允许用户将生成的内容提交给一个或多个指定的朋友或接收者和/或作为与内容项生成模板相关联的所有内容项的一部分来共享。例如,消息传递客户端应用104向用户提供了与一个或多个朋友共享所生成的内容项的第一选项,并且向用户提供了使消息传递客户端应用104的选择内容项生成模板的标识符的任何用户能够访问所生成的用户生成的内容项的第二选项。即,对第二选项的选择将由用户生成的内容项添加到与给定内容项生成模板相关联的UGC的集合。

在一些实施例中,呈现给用户以生成内容项的内容项生成模板的指令仅在生成内容项时被包括并呈现给用户。在内容项被生成并与其他用户共享后,指令将被删除或不与内容项一起显示。例如,内容项生成模板可将指令叠加在用户正在捕获的视频馈送(feed)上。指令可指示用户执行某些动作(例如,唱歌、以某种方式定位相机、或迈出舞步)。在某些情况下,指令可包括与内容项生成模板相关联的歌曲的歌词文本。在用户根据显示的指示完成视频的捕获后,视频将在不带指令的情况下被存储。即,查看或访问在指令被呈现时由用户创建的视频的另一用户可能会看到该视频而没有看到该指令。例如,内容项生成模板可叠加歌曲的歌词,以供用户在捕获用户的音频或视频的时候唱歌。在音频或视频被捕获后,歌词将从视频中删除和/或不作为视频的一部分被存储。以此方式,另一用户在查看用户演唱歌曲的歌词的视频或音频时看不到被呈现的歌词。

在一些实施例中,消息传递客户端应用104接收选择给定内容项生成模板的标识符的用户输入。具体地,消息传递客户端应用104呈现不同内容项生成模板的列表。该列表可以是垂直取向的或水平取向的。用户可通过向左/向右滑动(对于水平方向的列表)或向上/向下滑动(对于垂直方向的列表)来浏览列表。在用户找到感兴趣的内容项生成模板之后,用户可点击内容项生成模板的标识符。作为响应,消息传递客户端应用104可呈现根据所选内容项生成模板的指令生成的UGC集。

在一些实施例中,可以对与所选内容项生成模板相对应呈现的UGC集进行排名。在一些实施方式中,该UGC集是基于查看该UGC集的用户的属性和创建该UGC的用户的属性集来排名的。例如,可以基于正在查看UGC的用户的地理区域和创建了UGC的用户的地理区域来对UGC进行排名和排序。具体地,如果用户位于加利福尼亚,则消息传递客户端应用104可呈现根据来自加利福尼亚的用户的内容项生成模板的指令而生成的UGC集。在一些实施方式中,基于提交UGC的用户与正在查看UGC的用户之间的关系来对UGC进行排名。例如,由用户的朋友生成的一段UGC在该UGC集中的位置可能比由非朋友的用户生成的另一段UGC的位置更高或更早。在一些实施方式中,基于与内容项生成模板相关联的多个内容项对UGC集进行排名。

在一些实施例中,基于调节器(moderator)输入和参与信号的组合来对UGC集进行排名。例如,基于调节器是将高等级还是低等级分配给给定的一个UGC项,以及以下中的至少一个来对UGC集进行排名:消息传递客户端104的用户已经查看给定内容项的次数、用户花费在查看给定内容项上的时间长度、查看给定内容项的用户的地理位置、或最近一次给定内容项被接收的时间。

消息传递服务器系统108经由网络106向特定的消息传递客户端应用104提供服务器端函数。尽管在本文中将消息传递系统100的某些函数描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些函数在消息传递客户端应用104或消息传递服务器系统108内的位置是设计选择。例如,在技术上优选地是首先在消息传递服务器系统108内部署某些技术和函数,然后将该技术和函数迁移到其中客户端设备102具有足够处理能力的消息传递客户端应用104。

消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加(overlay)、虚拟对象、消息内容持久性条件、社交网络信息、和现场事件信息。消息传递系统100中的数据交换通过经由消息传递客户端应用104的用户界面(UI)可用的函数来调用和控制。

现在具体转到消息传递服务器系统108,API服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,数据库120中存储有与由应用服务器112处理的消息相关联的数据。

特别地处理API服务器110,该API服务器110在客户端设备102和应用服务器112之间接收和发送消息数据(例如命令和消息有效载荷)。具体地,API服务器110提供可被消息传递客户端应用104和第三方应用105调用或查询的一组接口(例如例程和协议),以便调用应用服务器112的函数。API服务器110公开由应用服务器112支持的各种功能,包括:帐户注册;登录功能;经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104或第三方应用105发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如图像或视频),以供另一消息传递客户端应用104或第三方应用105进行可能的访问;媒体数据(例如故事)集合的设置;此类集合的取得;客户端设备102的用户的好友列表的取得;消息和内容的取得;在社交图中添加和删除好友;好友在社交图中的位置;对用户对话数据的访问;对存储在消息传递服务器系统108上的化身信息的访问;以及打开应用事件(例如与消息传递客户端应用104有关)。

应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122、和内容项生成模板系统124。消息传递服务器应用114实现多个消息处理技术和功能,其特别涉及包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如文本和多媒体内容)的聚合和其他处理。如将进一步详细描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如被称为故事或图库(gallery))。然后,消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。考虑到此类处理的硬件要求,消息传递服务器应用114还可以在服务器端对数据进行其他处理器和存储器密集型处理。

应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常关于在消息传递服务器应用114处的消息的有效载荷内接收到的图像或视频来执行各种图像处理操作。图像处理系统116的一部分也可以由内容项生成模板系统124来实现。

社交网络系统122支持各种社交网络功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图。社交网络系统122支持的功能和服务的示例包括识别特定用户与其具有关系或者“正在关注”的消息传递系统100的其他用户,以及还识别特定用户的其他实体和兴趣。此类其他用户可被称为用户的朋友。社交网络系统122可访问与用户的每个朋友相关联的位置信息,以确定他们的住所或当前所处的地理位置。社交网络系统122可为用户的每个朋友维护位置简档,指示该用户的朋友居住的地理位置。

内容项生成模板系统124允许用户查看、浏览、搜索和提交与一个或多个内容项生成模板相关联的内容项。内容项生成模板系统124允许艺术家或制作人创建并提交内容项生成模板。例如,艺术家或制作人可提供包括内容项生成模板的图形表示(例如,封面艺术)的标识符。艺术家或制作人还可输入内容项生成模板的各种参数,包括以下中的一个或多个:从用户收集内容的时间段、用于结束内容收集的一个或多个条件、用户生成的内容集合的名称、当用户查看用户生成的内容集合时将要显示的图像、作为生成内容项的一部分呈现的音乐或视频资产,以及根据指定的时间点修改在内容项的生成期间呈现的一个或多个图形的触发器。

内容项生成模板系统124在从艺术家或制片人接收到内容项生成模板之后,将所接收的标识符添加到呈现给消息传递客户端应用104的用户的内容项生成模板的列表中。内容项生成模板系统124可允许用户加入内容项生成模板或向内容项生成模板提交内容,和/或查看先前为内容项生成模板提交的内容。内容项生成模板系统124根据一个或多个标准自动对为给定内容项生成模板提交的内容项进行排名。

应用服务器112通信地耦接到数据库服务器118,数据库服务器118促进对数据库120的访问,在数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。数据库120可以是第三方数据库。例如,应用服务器112可与第一实体相关联,并且数据库120或数据库120的一部分可与第二不同实体相关联并且由第二不同实体托管。在一些实施方式中,数据库120存储第一实体收集的关于由第一实体提供的服务的各个用户的用户数据。例如,用户数据包括:用户名、密码、地址、朋友、活动信息、首选项、视频、或用户消费的内容等。

图2是示出根据某些示例实施例的可存储在消息传递服务器系统108的数据库120中的数据的示意图200。尽管数据库120的内容被示出为包括多个表,但是应当理解,数据可以以其他类型的数据结构(例如作为面向对象的数据库)来存储。

数据库120包括存储在消息表214中的消息数据。实体表202存储包括实体图204的实体数据。在实体表202中为其维护记录的实体可包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,消息传递服务器系统108所存储的数据有关的任何实体都可以是公认的实体。每个实体具有唯一的标识符以及实体类型标识符(未示出)。

实体图204存储关于实体之间的关系和关联的信息。仅作为示例,此类关系可以是社交的、专业的(例如在同一家公司或组织中工作)、基于兴趣的或基于活动的。

消息表214可存储用户与一个或多个朋友或实体之间的对话的集合。消息表214可包括每个对话的各种属性,例如参与者列表、对话的大小(例如,用户数和/或消息数)、对话的聊天颜色、对话的唯一标识符、以及任何其他与对话相关的特征。

数据库120还以滤镜的示例形式将注释数据存储在注释表212中。数据库120还将所接收的被注释的内容存储在注释表212中。针对其数据被存储在注释表212中的滤镜与视频(针对其数据被存储在视频表210中)和/或图像(针对其数据被存储在图像表208中)相关联并且被应用于该视频和/或图像。在一个示例中,滤镜是在向接收方用户呈现的过程中被显示为叠加在图像或视频上的叠加。滤镜可以是各种类型的,包括当发送方用户正在编写消息时,来自由消息传递客户端应用104向发送方用户呈现的滤镜库中的用户选择的滤镜。其他类型的滤镜包括可基于地理位置呈现给发送方用户的地理位置滤镜(也称为地理滤镜)。例如,基于由客户端设备102的全球定位系统(GPS)单元所确定的地理位置信息,消息传递客户端应用104可在UI内呈现特定于邻居或特定位置的地理位置滤镜。另一类型的滤镜是数据滤镜,它可基于在消息创建过程期间由客户端设备102收集的其他输入或信息,由消息传递客户端应用104选择性地将其呈现给发送方用户。数据滤镜的示例包括特定位置处的当前温度、发送方用户正在行进的当前速度、客户端设备102的电池寿命或当前时间。

可存储在图像表208内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可添加到图像或视频中的实时的特殊效果和声音。

如上所述,视频表210存储视频数据,在一个实施例中,该视频数据与在消息表214内为其维护记录的消息相关联。类似地,图像表208存储与消息相关联的图像数据,其中,在实体表202内为该消息存储消息数据。实体表202可将来自注释表212的各种注释与存储在图像表208和视频表210中的各种图像和视频相关联。

内容项生成模板207存储一个或多个内容项生成模板。每个内容项生成模板207与特定主题相关联。即,每个内容项生成模板207包括不同的指令集和/或增强现实内容,其被呈现以帮助用户生成与内容项生成模板207的主题相对应的内容。作为示例,基于音乐主题的内容项生成模板207可向用户呈现音乐作品和/或与该音乐作品相对应的歌词。基于音乐主题的内容项生成模板207可指示用户演唱所呈现的歌词中的一个或多个,并且自动记录用户演唱歌词的视频。在某些情况下,基于音乐主题的内容项生成模板207可呈现音乐作品和歌手的音频,并呈现剪切工具,该工具允许用户指定一个或多个部分,针对该部分用用户的声音来替代歌手的声音。

故事表206存储与消息以及相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成一个集合(例如故事或图库)。特定集合的创建可以由特定用户(例如在实体表202中为其维护记录的每个用户)发起。用户可以以该用户已经创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息传递客户端应用104的UI可包括用户可选择的图标,以使发送方用户能够将特定内容添加到他或她的个人故事中。

集合还可构成“现场故事”,它是来自多个用户的内容的集合,该内容的集合是手动、自动或使用手动和自动技术的组合创建的。例如,“现场故事”可从各种位置和事件组成用户提交的内容的策展流。例如,可以经由消息传递客户端应用104的UI向其客户端设备102启用了位置服务并且在特定时间处在共同位置事件的用户呈现选项,以向特定的现场故事贡献内容。现场故事可由消息传递客户端应用104基于他或她的位置识别给用户。最终的结果是从社区角度讲的“现场故事”。

另一类型的内容集合被称为“位置故事”,其使得其客户端设备102位于特定地理位置内(例如在学院或大学校园内)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可能需要二级认证,以验证最终用户属于特定组织或其他实体(例如是大学校园中的学生)。

图3是示出根据一些实施例的消息300的结构的示意图,该消息300由消息传递客户端应用104生成以用于与另一消息传递客户端应用104或消息传递服务器应用114进行通信。特定消息300的内容被用于填充消息传递服务器应用114可访问的、存储在数据库120中的消息表214。类似地,消息300的内容被存储在存储器中,作为客户端设备102或应用服务器112的“传输中(in-transit)”或“运行中(in-flight)”数据。消息300被示为包括以下成分:

·消息标识符302:识别消息300的唯一标识符。

·消息文本有效载荷304:将由用户通过客户端设备102的用户界面生成的并被包括在消息300中的文本。

·消息图像有效载荷306:由客户端设备102的相机组件采集或从客户端设备102的存储器中取得的并被包括在消息300中的图像数据。

·消息视频有效载荷308:由相机组件采集的或从客户端设备102的存储器组件中取得的并被包括在消息300中的视频数据。

·消息音频有效载荷310:由麦克风采集的或从客户端设备102的存储器组件中取得的并被包括在消息300中的音频数据。

·消息注释312:表示要应用于消息300的消息图像有效载荷306、消息视频有效载荷308或消息音频有效载荷310的注释的注释数据(例如滤镜、贴纸(sticker)或其他增强功能)。

·消息持续时间参数314:以秒为单位指示消息的内容(例如消息图像有效载荷306、消息视频有效载荷308,消息音频有效载荷310)要经由消息传递客户端应用104呈现给用户或使用户可以访问的时间量的参数值。

·消息地理位置参数316:与消息的内容有效载荷相关联的地理位置数据(例如纬度和经度坐标)。多个消息地理位置参数316值可被包括在有效载荷中,这些参数值中的每一个都与内容中包括的相应的内容项相关联(例如消息图像有效载荷306内的特定图像、或消息视频有效载荷308中的特定视频)。

·消息故事标识符318:标识符值,该值标识与消息300的消息图像有效载荷306中的特定内容项相关联的一个或多个内容集合(例如“故事”)。例如,消息图像有效载荷306内的多个图像可各自使用标识符值与多个内容集合相关联。

·消息标记320:每个消息300可被标记有多个标记,每个标记指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷306中包括的特定图像描绘了动物(例如狮子)的情况下,可以在消息标记320内包括指示相关动物的标记值。标记值可基于用户输入手动生成,或者可使用例如图像识别自动生成。

·消息发送方标识符322:指示在其上生成消息300并且从其发送消息300的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址,或设备标识符)。

·消息接收方标识符324:指示消息300被寻址到的客户端设备102的用户的标识符(例如消息传递系统标识符、电子邮件地址、或设备标识符)。在多个用户之间的对话的情况下,标识符可识别对话中所涉及的每个用户。

消息300的各个成分的内容(例如值)可以是指向在存储内容数据值的表中的位置的指针。例如,消息图像有效载荷306中的图像值可以是指向图像表208中的位置的指针(或地址)。类似地,消息视频有效载荷308中的值可指向视频表210中存储的数据,消息注释312中存储的值可指向注释表212中存储的数据,消息故事标识符318中存储的值可指向故事表206中存储的数据,以及消息发送方标识符322和消息接收方标识符324中存储的值可指向实体表202中存储的用户记录。

图4是示出根据示例实施例的示例内容项生成模板系统124的框图。内容项生成模板系统124包括:内容项模板生成模块412、内容项模板生成标识模块414、内容项生成模块416、和内容项排名模块418。

内容项模板生成模块412允许艺术家或制作人创建和/或提交内容项生成模板124。艺术家或制作人登录到内容项生成模板系统124中,以使用艺术家或制作人的认证证书来建立第一认证会话。在一些实施方式中,第一认证会话包括对与认证证书相关联的艺术家或制作人提交的内容项生成模板的管理特权。内容项模板生成模块412在第一认证会话中显示配置用户界面,该配置用户界面允许艺术家或制作人提供用于定义与艺术家或制作人提交的内容项生成模板相关联的指令的输入参数。

例如,内容项模板生成模块412呈现图形用户界面,该图形用户界面允许艺术家或制作人上传内容项生成模板的图形表示以及以下中的一个或多个:从用户收集内容的时间段、用于结束内容收集的一个或多个条件、用户生成的内容集合的名称、当用户查看用户生成的内容集合时将要显示的图像、作为生成内容项的一部分呈现的音乐或视频资产项、以及根据指定的时间点修改在内容项的生成期间呈现的一个或多个图形的触发器。具体地,艺术家或制作人可上传用于内容项生成模板的歌曲和该歌曲的歌词。作为另一示例,艺术家或制作人可上传具有指令的歌曲,以供用户在用户设备上播放歌曲时在歌曲的一个或多个部分期间执行一个或多个动作。

在某些情况下,艺术家或制作人可仅允许在一段时间(例如,在开始时间和结束时间之间)内生成内容并将其提交给与内容项生成模板相关联的集合。当在该段时间之前或之后呈现内容项生成模板的标识符时,对标识符的选择可通知用户与模板相关联的指令的细节,但是可能不允许用户使用该模板来激活和生成内容。当在该段时间内向用户呈现内容项生成模板的标识符时,用户可以选择加入或提交将要与模板相关联的内容的选项。响应于对选项的选择,内容项生成模板与用户设备的相机馈送一起被激活和启动。用户可以查看模板的指令,并使用将要与其他用户共享的相机馈送来创建内容。在一些实施例中,当在该段时间内向用户呈现内容项生成模板的标识符时,用户可以选择标识符以查看其他用户使用该模板提交的内容。

在某些情况下,艺术家或制作人可仅在满足条件时才允许生成内容并将其提交给集合。例如,条件可指定将要创建的内容项的最大数量。在达到最大数量之后,对标识符的选择可向用户通知与模板相关联的指令的细节,但是可能不允许用户使用模板来激活和生成内容。在达到最大值之前,用户可以选择加入或提交将要与模板相关联的内容的选项。

在艺术家或制作人完成创建和提交内容项生成模板之后,内容项模板生成模块412将内容项生成模板存储为内容项生成模板207的一部分。

内容项模板生成标识模块414向消息传递客户端应用104的用户呈现存储在内容项生成模板207中的内容项生成模板。在一些实施例中,内容项模板生成标识模块414基于受欢迎程度、模板的年龄、大小、向给定模板提交的内容项的数量、或其他合适的标准对列表中向用户呈现的模板进行排序。例如,内容项模板生成标识模块414可确定第一内容项生成模板与用户先前使用第一内容项生成模板生成的50个内容项相关联。内容项模板生成标识模块414可确定第二内容项生成模板与用户先前使用第一内容项生成模板生成的80个内容项相关联。在这样的情况下,内容项模板生成标识模块414可将第二内容项生成模板定位在列表中比第一内容项生成模板更早的位置。

在某些情况下,内容项模板生成标识模块414可使用加权属性对模板进行排名。例如,受欢迎属性可与比内容项数属性更高的权重相关联。在这种情况下,即使第二内容项生成模板与比第一内容项生成模板更多数量的内容项相关联,可比第二内容项生成模板更受欢迎的第一内容项生成模板可在列表中比第二内容项生成模板排名更高或定位更早。

内容项模板生成标识模块414将内容项生成模板的列表呈现给消息传递客户端应用104的用户。内容项生成模板的列表可以呈现在显示器的专用部分中,而按照其他标准组织的其他内容项可以呈现在显示器的其他部分中。每个内容项生成模板在列表中由标识符表示,该标识符指示模板的主题、模板的艺术家或制作人,并且包括用于向模板提交内容的选项。例如,给定的内容项生成模板可包括在其他用户先前没有使用内容项生成模板创建和提交足够数量的内容项(例如,小于阈值的内容项)(或没有内容项)时加入模板的选项。用户可选择加入选项以激活内容项生成模板和用户设备的相机馈送从而使用该模板来创建内容。在一些实施例中,如果内容项生成模板的受欢迎度低于阈值,或者如果内容项生成模板达到一定年限,则可在任何时候移除列表中包括的任何内容项生成模板。

在其他情况下,当阈值数量的内容项先前已经由其他用户使用内容项生成模板创建并提交时,标识符可包括与模板相关联的内容项的数量的表示。对数量的选择可向用户呈现由其他用户使用模板生成的先前生成的内容的列表。当用户浏览或查看列表时,用户可以点击相机图标以自动启动并激活模板,从而使用内容项生成模板来生成内容。

响应于接收到用户对内容项生成模板的标识符的选择,内容项模板生成标识模块414从(一个或多个)内容项生成模板207取得模板的指令。指令可包括与模板相关联的任何增强现实内容。内容项模板生成标识模块414将指令和所标识的模板提供给内容项生成模块416。内容项生成模块416启动并激活模板,并激活用户设备的相机馈送以允许用户生成与所选择的内容项生成模板相对应的内容项。

在一些实施例中,在内容项生成模块416激活模板和相机馈送之后,与模板和指令相关联的增强现实内容被自动呈现和启动。例如,内容项生成模块416可自动开始呈现由用户设备的前置或后置摄像头捕获的视频馈送。模板的指令可指示应该激活用户设备的前置摄像头还是后置摄像头。内容项生成模块416可开始播放与模板相关联的音乐作品或曲目,并且可根据歌词和音乐曲目的时间戳来呈现歌词。内容项生成模块416还可自动开始存储正在被捕获的视频馈送。在音乐作品结束之后,内容项生成模块416可停止存储视频馈送,并向用户呈现选项以修改所捕获的视频和/或与被设计的接收者共享所捕获的视频和/或将视频与所选内容项生成模板相关联。

在一些实施例中,内容项生成模块416可开始呈现来自用户设备的前置或后置摄像头的视频馈送,并且可呈现被激活的模板的标识符。内容项生成模块416可在开始呈现与内容项生成模板相关联的指令和/或增强现实内容之前等待用户确认。例如,在用户选择屏幕上的开始选项之后,内容项生成模块416可开始播放与模板相关联的音乐作品或曲目,并且可根据歌词和音乐曲目的时间戳来呈现歌词。内容项生成模块416还可开始存储正在被捕获的视频馈送。在音乐作品结束之后,内容项生成模块416可停止存储视频馈送,并向用户呈现选项以修改所捕获的视频和/或与被设计的接收者共享所捕获的视频和/或将视频与所选内容项生成模板相关联。

在一些实施例中,根据模板指令,内容项生成模块416可在给定的时间间隔内的不同时间点呈现一个或多个图形元素。例如,内容项生成模块416可在第一时间点呈现第一图形元素,并且在第二时间点呈现第二图形元素。内容项生成模块416可捕获从前置或后置摄像头接收的视频馈送,并将所捕获的馈送与所呈现的图形元素进行组合。内容项生成模块416可在呈现图形元素的同时、之前或之后显示供用户执行一个或多个动作的指令。动作可由相机馈送捕获,并且在时间间隔结束时,内容项生成模块416可呈现选项以供用户共享被捕获的视频。在一些实施例中,指令仅在捕获视频时被包括并显示给用户,并且不被包括在被捕获并与其他用户共享的视频中。即,用户可在视频正在被捕获的时候看到用于执行一系列动作的指令正被显示在屏幕上,但是在视频被捕获并存储之后,执行该动作的用户的视频被与其他用户共享,而不向其他用户显示指令。

在一些实施例中,内容项排名模块418接收使用给定内容项生成模板生成的视频。内容项排名模块418将视频呈现给调节器。调节器提供确认视频与模板的主题相匹配,并描述与模板的指令相对应的内容的输入。然后,调节器将手动等级(例如,高等级或低等级)分配给视频,并将视频添加到与给定内容项生成模板相关联的内容项的集合。

内容项排序模块418分析与给定内容项生成模板相关联的集合中的每个内容项的各种参与因子。内容项排名模块418将参与因子与每个内容项的手动分配的排名相结合,以生成每个内容项的排名。内容项排名模块418根据所分配的排名对与给定内容项生成模板相关联的集合中的内容项进行排序。在某些情况下,参与因子取决于请求查看给定集合的用户。在这种情况下,与呈现给第二用户的内容项的相同集合相比,呈现给第一用户的内容项的集合可被不同地排名和排序。例如,与第二地理区域中的第二用户相比,第一地理区域中的第一用户可看到以不同的顺序排列和排序的内容项的集合。

作为另一示例,内容项排序模块418向用户的朋友提交的内容项分配比消息传递客户端应用104的其他用户提交的内容项更高的排名和权重。这样,给定用户看到使用给定用户的朋友所提交的给定内容项生成模板生成的内容项在其他用户提交的内容项之前。在一些实施方式中,在与给定内容项生成模板相关联的内容项的集合中,来自受欢迎用户帐户的最受欢迎内容项的阈值数量(例如10)被呈现在所有其他内容项上并且比所有其他内容项排名更高。具体地,内容项排名模块418取得向给与内容项生成模板相关联的内容项的集合提交给定内容项的每个用户的标识符。内容项排名模块418通过查看用户在消息传递客户端应用104上的活跃度、用户具有的关注者数量和/或用户的朋友数量来确定提交内容项的用户的受欢迎程度。内容项排名模块418使得具有超过给定阈值的受欢迎等级的用户的内容项的排名高于具有更低受欢迎等级的其他用户的内容项的排名。另外,内容项排名模块418呈现这种用户的表示(例如,名称或化身),这种用户已经被确定为受欢迎并且已经将内容项提交给针对内容项生成模板的集合。

图5是示出根据示例实施例的在执行过程500中内容项生成模板系统124的示例操作的流程图。过程500可被体现在计算机可读指令中,以由一个或多个处理器执行,以使得过程500的操作可以部分地或全部地由消息传递服务器系统108和/或第三方应用105的功能组件来执行;因此,下面通过参考其示例来描述过程500。然而,在其他实施例中,过程500的至少一些操作可以被部署在各种其他硬件配置上。因此,过程500并不旨在限于消息传递服务器系统108,而是可以全部或部分地由任何其他组件来实现。过程500的一些或全部操作可以是并行的,次序颠倒的,或完全省略的。

在操作501,内容项生成模板系统124标识与用于生成内容项的指令相关联的内容项生成模板。

在操作502,内容项生成模板系统124显示内容项生成模板的标识符。

在操作503,内容项生成模板系统124接收输入,该输入选择内容项生成模板的标识符。

在操作504,内容项生成模板系统124取得与内容项生成模板相关联的多个内容项,该多个内容项中的每一个先前已由该消息传递应用的多个用户中的相应用户根据与内容项生成模板相关联的指令生成。

在操作505,内容项生成模板系统124显示与内容项生成模板相关联的所取得的多个内容项。

图6是示出根据示例实施例的在执行过程600中内容项生成模板系统124的示例操作的流程图。过程600可被体现在计算机可读指令中,以由一个或多个处理器执行,以使得过程600的操作可以部分地或全部地由消息传递服务器系统108和/或第三方应用105的功能组件来执行;因此,下面参考其示例来描述过程600。然而,在其他实施例中,过程600的至少一些操作可以被部署在各种其他硬件配置上。因此,过程600并不旨在限于消息传递服务器系统108,而是可以全部或部分地由任何其他组件来实现。过程600的一些或全部操作可以是并行的,次序颠倒的或完全省略的。

在操作601,内容项生成模板系统124与内容项生成模板相关联地存储多个内容项,该多个内容项中的每一个先前已由该消息传递应用的多个用户中的相应用户根据与内容项生成模板相关联的指令生成。

在操作602,内容项生成模板系统124对与内容项生成模板相关联的多个内容项进行排名。

在操作603,内容项生成模板系统124接收输入,该输入选择内容项生成模板的标识符。

在操作604,响应于接收到输入,内容项生成模板系统124将被排名的多个内容项显示给消息传递应用的给定用户。

图7A-C包括根据示例实施例的内容项生成模板系统124的说明性输入和输出。内容项生成模板系统124可在消息传递客户端应用104上呈现图形用户界面710。图形用户界面710可包括专用于呈现内容项生成模板的标识符列表的第一区域711。图形用户界面710可包括专用于呈现与不同类别相对应的内容项的一个或多个附加区域。

第一区域711可呈现不同内容项生成模板的标识符的水平列表。用户可以向左/向右滑动以浏览内容项生成模板的列表。第一内容项生成模板716可图形化地表示与第一内容项生成模板716相关联的主题。第一内容项生成模板716可显示提供或生成第一内容项生成模板716的艺术家的专辑封面或其他标识符。第一区域711中的每个模板标识符可包括符号712,其具体指示该模板是内容项生成模板。该符号帮助用户区分内容项生成模板与用户可用来生成内容的其他类型的增强现实内容。

内容项生成模板系统124可在第一内容项生成模板716中呈现立即加入选项714,以允许用户根据第一内容项生成模板716的指令来提交内容或生成内容。在实施例中,仅当内容项生成模板系统124确定用户已经针对第一内容项生成模板716提交并创建了少于阈值数量的内容项时,立即加入选项714才被呈现。内容项生成模板系统124可计算与第一内容项生成模板716相关联的内容项的数量,并且可取得与第一内容项生成模板716相关联的阈值数量。如果与第一内容项生成模板716相关联的内容项的数量小于所取得的阈值数量,则内容项生成模板系统124呈现立即加入选项714。如果与第一内容项生成模板716相关联的内容项的数量大于或等于所取得的阈值数量,则内容项生成模板系统124在图形用户界面730中显示内容项的数量731(图7B)。

在一些实施例中,内容项的数量731的形式和格式可取决于内容项的总量。例如,如果内容项的数量在999-99999之间,则用逗号表示完整的数字(例如,将26368表示为26,368)。如果内容项的数量在100000-999999之间,则针对千位显示一个小数点,并添加K(例如,782345表示为782.3K)。如果内容项的数量大于1000000,则针对十万显示两位数,并添加M(例如,4568097表示为4.57M)。

用户可点击第一内容项生成模板716的所显示的标识符内的任何位置,但是不能点击立即加入选项714,以查看关于模板的附加细节。例如,如果用户点击其中显示了第一内容项生成模板716的标题的区域,则内容项生成模板系统124呈现图形用户界面720。图形用户界面720提供了与第一内容项生成模板716相关联的指令的详细描述或概述。图形用户界面720包括加入选项,以允许用户根据第一内容项生成模板716的指令来提交内容或生成内容。

在某些情况下,对加入选项的选择可能会自动激活用户设备的模板和相机馈送。在模板被激活之后,模板的指令被呈现给用户(例如,歌曲的歌词),然后相机馈送开始被捕获和存储。在一些实施方式中,对加入选项的选择启动相机馈送和所选择的内容项生成模板的概述。用户可选择启动或开始选项,以查看对模板的说明和/或根据模板的增强现实内容开始捕获视频。

在一些实施例中,内容项生成模板系统124可确定先前已经根据第一内容项生成模板716生成了少于阈值数量的内容项。在这种情况下,内容项生成模板系统124可向用户呈现警报或提示或消息,向用户指示该用户可以是根据第一内容项生成模板716生成内容的第一个人。提示或消息可包括加入选项,以允许用户根据第一内容项生成模板716的指令来提交内容或生成内容。

在图形用户界面730中,如果用户点击或选择在第一内容项生成模板716的标识符中示出的内容项731的数量,则内容项生成模板系统124向用户呈现图形用户界面740。图形用户界面740包括区域741,在该区域741中呈现与第一内容项生成模板716相关联的内容项的标识符的集或集合。在一些实施例中,内容项的标识符中的给定标识符包括提交或生成与标识符相关联的给定内容项的用户的表示743。表示743可以是用户的化身或图片。在一些情况下,图形用户界面730可仅向已经由内容项排名模块418确定为受欢迎的用户呈现表示743。例如,内容项排名模块418通过查看用户在消息传递客户端应用104上的活跃度、用户具有的关注者数量和/或用户的朋友数量来确定提交内容项的用户的受欢迎程度。内容项排名模块418使得具有超过给定阈值的受欢迎等级的用户的内容项的排名高于具有更低受欢迎等级的其他用户的内容项的排名。结果,将受欢迎用户的内容项呈现在图形用户界面730中的内容项集合的顶部。此外,对于受欢迎的用户提交的内容项的标识符,已经被确定为受欢迎的和向内容项生成模板的集合提交了内容项的此类用户的表示743(例如,姓名或化身)被包括,但是对于不受欢迎的用户提交的内容项,表示743不被包括。

用户可以选择内容项的任何标识符来查看或播放与使用第一内容项生成模板716生成的所选标识符相关联的内容项。在一些实施例中,在选择与第一内容项生成模板716相关联的内容项的第一标识符之后,内容项生成模板系统124呈现与所选择的第一标识符相关联的视频。当视频的播放完成时,内容项生成模板系统124自动取得并播放与标识符的集或集合中的下一个标识符相关联的下一个视频。在一些情况下,当视频的播放完成时,内容项生成模板系统124使得用户返回图形用户界面730,在图形用户界面730中,呈现与第一内容项生成模板716相关联的内容项的标识符的集合或集。

在一些实施例中,根据一个或多个因素对与第一内容项生成模板716相关联的内容项的标识符的集或集合进行排名。例如,基于由内容项排名模块418确定的顺序来对与第一内容项生成模板716相关联的内容项的标识符的集或集合进行排名。

图形用户界面740包括相机选项742。相机选项742被覆盖在与第一内容项生成模板716相关联的内容项的标识符的集或集合的一部分的顶部上。响应于接收到用户对相机选项742的选择,内容项生成模板系统124取得与第一内容项生成模板716相对应的指令并激活该模板。具体地,响应于接收到用户对相机选项742的选择,内容项生成模板系统124在图形用户界面屏幕750中向用户呈现相机馈送和/或呈现与第一内容项生成模板716相对应的指令,针对该指令,在图形用户界面740中呈现内容项。相机选项742允许用户使用第一内容项生成模板716加入或生成内容,以提交给集合和/或与一个或多个指定的接收者共享。

在一些实施方式中,第一内容项生成模板716包括音乐曲目。在这种情况下,响应于接收到用户对相机选项742的选择,内容项生成模板系统124呈现图形用户界面屏幕750。图形用户界面屏幕750呈现创建模板的艺术家的图像和歌曲。在这种情况下,内容项生成模板系统124不启动相机馈送或激活相机。内容项生成模板系统124开始播放与第一内容项生成模板716相关联的音乐曲目。音乐曲目包括人声部分和器乐部分。内容项生成模板系统124呈现剪切工具752,以允许用户选择音乐曲目的特定部分。然后,用户可以用用户语音的音频记录替换音乐曲目的所选部分中的人声部分,而不是乐器部分。在用户完成了在音乐曲目上的录制之后,向用户显示选项,允许用户与一个或多个指定接收者共享内容项和/或将内容项添加到与第一内容项生成模板716相关联的内容项的集合中。在一些情况下,响应于用户在音乐曲目的一部分上记录而生成提供了艺术家的属性的图标754。该图标754可在屏幕周围移动并且放置在用户捕获的其他内容项(例如,图像或视频)上,但是可以不被移除。在一些实现方式中,用户可以将其他图形元素或内容项添加到用户使用音乐曲目创建的内容项。

在一些实施例中,在用户使用内容项生成模板创建内容项之后,内容项生成模板系统124呈现图形用户界面屏幕760。图形用户界面屏幕760包括一个或多个选项,用于允许用户与消息传递客户端应用104的其他用户共享内容项。例如,图形用户界面屏幕760包括代表第一内容项生成模板716的第一选项761。第一选项761可描述第一内容项生成模板716,并且包括模板的标题和/或图形图像。用户可以选中或取消选中(选择或取消选择)第一选项761,以将内容项的提交添加到或排除出与第一内容项生成模板716相关联的内容项的集合中。在一些实施例中,如果内容项被添加在第一内容项生成模板716中,则消息传递客户端应用104的任何用户都被允许并且可以访问该内容项。用户还可以在图形用户界面屏幕760中选择一个或多个要向其发送内容项的朋友。在用户选择或取消选择第一选项761和/或在图形用户界面屏幕760中指定一个或多个朋友之后,用户可以选择发送选项762。响应于接收到用户对发送选项762的选择,内容项生成模板系统124自动并同时将内容项发送给用户选择的一个或多个朋友和/或将内容项添加到与第一内容项生成模板716相关联的内容项的集合中(如果第一选项761被选中)。

在一些实施例中,内容项生成模板系统124响应于接收到访问用户的简档的用户请求而呈现图形用户界面屏幕770。图形用户界面屏幕770包括用户已与其他用户共享的内容项的列表。图形用户界面屏幕770包括专用部分771,专用部分771呈现与特定内容项生成模板相关联的内容项的集合。专用部分771仅呈现与用户先前已经向其添加内容项的内容项生成模板相关联的内容项的集合。例如,内容项生成模板系统124可包括第一和第二内容项生成模板。内容项生成模板系统124可确定用户先前已经选择了第一内容项生成模板716的标识符,使用第一内容项生成模板716生成了内容项,并且将内容项添加到第一内容项生成模板716中(例如,通过选择第一选项761)。作为响应,内容项生成模板系统124可将第一内容项生成模板716信息添加到专用部分771。响应于确定用户未选择内容项或未将内容项添加到第二内容项生成模板,内容项生成模板系统124可从专用部分771中排除第二内容项生成模板信息。

在一些实施例中,用户可将特定内容项生成模板添加到收藏夹列表,而无需将内容项添加到与特定内容项生成模板相关联的集合。在这种情况下,已经添加到收藏夹列表中的特定内容项生成模板也被包括在专用部分771中。在一些实施例中,在专用部分771中列出的每个内容项生成模板包括在与相应内容项生成模板相关联的集合中的内容项的标识符的列表。标识符的列表是可选择的,从而可以选择任何给定标识符以查看或访问集合中的对应内容项。列表中的每个标识符可包括对应内容项的查看次数的指示。专用部分771可包括内容项生成模板的总计查看次数。专用部分771可包括针对专用部分771中包括的每个内容项生成模板的添加选项。响应于接收到用户对添加选项的选择,内容项生成模板系统124激活对应的内容项生成模板,以允许用户使用模板来生成内容项。

在一些实施例中,专用部分771可在与第二内容项生成模板相关联的第二内容项集合上方显示与第一内容项生成模板716相关联的第一内容项集合。每个集合可通过对应模板的标题来标识。用户可以通过向上/向下滑动来浏览模板。用户可以通过向左/向右滑动来浏览给定模板的内容项集合中的内容项标识符。

图8是示出示例软件架构806的框图,该示例软件架构806可以与本文所述的各种硬件架构结合使用。图8仅是软件架构的非限制性示例,并且将理解,可以实现多个其他架构以促进本文描述的功能。软件架构806可以在诸如图9的机器900的硬件上执行,机器900尤其包括处理器904、存储器914和输入/输出(I/O)组件918等。代表性硬件层852被示出并且可以表示例如图9的机器900。代表性硬件层852包括具有相关联的可执行指令804的一个或多个处理单元854。可执行指令804表示软件架构806的可执行指令,包括在此描述的方法、组件等的实现。硬件层852还包括也具有可执行指令804的存储器和/或存储模块856。硬件层852还可包括其他硬件858。

在图8的示例架构中,软件架构806可以被概念化为层的堆叠,其中每个层提供特定的功能。例如,软件架构806可包括诸如操作系统802、库820、框架/中间件818、应用816、和呈现层814的层。在操作上,这些层内的应用816或其他组件可通过软件堆栈来调用API调用808,并且响应于API调用808,接收消息812。所示出的层本质上是代表性的,并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可能不提供框架/中间件818,而其他操作系统可提供此类层。其他软件架构可包括附加的或不同的层。

操作系统802可管理硬件资源并提供公共服务。操作系统802可包括例如内核822、服务824和驱动器826。内核822可以充当硬件和其他软件层之间的抽象层。例如,内核822可负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设置等。服务824可为其他软件层提供其他公共服务。驱动器826负责控制底层硬件或与底层硬件接口连接。例如,驱动器826包括显示驱动器、相机驱动器、

库820可提供可被应用816和/或其他组件和/或层使用的公共基础结构。库820通常提供如下功能:允许其他软件组件以比通过直接与基础操作系统802功能(例如内核822、服务824和/或驱动器826)接口连接更容易的方式执行任务。库820可包括系统库844(例如C标准库),该系统库844可提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库820可包括诸如媒体库的API库846(例如,用于支持各种媒体格式(例如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现二维和三维图形内容的OpenGL框架)、数据库库(例如,可提供各种关系数据库功能的SQLite)、网络库(例如,可提供网络浏览功能的WebKit),等。库820还可包括各种各样的其他库848,以向应用816和其他软件组件/模块提供多个其他API。

框架/中间件818(有时也称为中间件)提供可由应用816和/或其他软件组件/模块使用的高级通用基础设施。例如,框架/中间件818可提供各种图形用户界面功能、高级资源管理、高级位置服务等。框架/中间件818可提供可被应用816和/或其他软件组件/模块使用的广泛的其他API,其中一些可能是特定于特定操作系统802或平台的。

应用816包括内置应用838和/或第三方应用840。代表性内置应用838的示例可包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用,和/或游戏应用。第三方应用840可包括由特定平台的卖方以外的实体使用Android

应用816可利用内置的操作系统功能(例如内核822、服务824和/或驱动器826)、库820和框架/中间件818来创建UI以与系统的用户进行交互。替代地或附加地,在一些系统中,与用户的交互可通过诸如呈现层814的呈现层发生。在这些系统中,可将应用/组件“逻辑”与跟用户交互的应用/组件的各方面分开。

图9示出了根据一些示例实施例的机器900的组件的框图,该组件能够从机器可读介质(例如,机器可读存储介质)读取指令,并执行本文所讨论的方法中的任何一个或多个。具体地,图9示出了具有计算机系统的示例形式的机器900的图解表示,在其中可以执行用于使机器900执行本文讨论的任何一种或多种方法的指令910(例如软件、程序、应用、小应用、应用程序或其他可执行代码)。这样,指令910可用于实现本文描述的模块或组件。指令910将通用的、未编程的机器900转换为被编程为以所描述的方式执行所描述和示出的功能的特定机器900。在替代实施例中,机器900作为独立设备运行,或者可耦接(例如联网)到其他机器。在网络部署中,机器900可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器900可包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能电器)、其他智能设备、网络家电、网络路由器、网络交换机、网桥,或能够依次或以其他方式执行指令910的任何机器,这些指令指定了机器900要采取的动作。此外,尽管仅示出了单个机器900,但术语“机器”还应认为为包括单独地或共同地执行指令910以执行本文讨论的方法中的任何一个或多个方法的机器的集合。

机器900可包括处理器904、存储器/存储装置906和I/O组件918,它们可以被配置为例如经由总线902彼此通信。在示例实施例中,处理器904(例如中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器,或其任何合适的组合)可包括例如可执行指令910的处理器908和处理器912。术语“处理器”旨在包括可包括两个或更多个可同时执行指令的独立处理器(有时称为“核”)的多核处理器904。虽然图9示出了多个处理器904,机器900可包括具有单个核的单个处理器908、具有多个核的单个处理器908(例如多核处理器)、具有单个核的多个处理器908、912、具有多个核的多个处理器908、912或其任何组合。

存储器/存储装置906可包括存储器914,(诸如,主存储器,或其它存储器存储装置)和存储单元916,它们都可以诸如经由总线902被处理器904访问。存储单元916和存储器914存储体现本文所述方法或功能中的任何一个或多个的指令910。在由机器900执行期间,指令910还可全部或部分地驻留在存储器914内、存储单元916内、处理器904中的至少一个处理器内(例如在处理器的高速缓冲存储器内)或其任何组合。因此,存储器914,存储单元916和处理器904的存储器是机器可读介质的示例。

I/O组件918可以包括各种各样的组件,以接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等。包括在特定机器900中的特定I/O组件918将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他此类输入机构,而无头(headless)服务器机器将可能不包括此类触摸输入设备。应当理解,I/O组件918可包括在图9中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对I/O组件918进行分组,并且分组绝不是限制性的。在各种示例实施例中,I/O组件918可包括输出组件926和输入组件928。输出组件926可包括视觉组件(例如显示器,诸如,等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪,或阴极射线管(CRT))、声学组件(例如扬声器)、触觉组件(例如振动马达、电阻机构)、其他信号发生器等。输入组件928可包括字母数字输入组件(例如键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触知输入组件(例如物理按钮、提供触摸的位置和/或力或触摸手势的触摸屏,或其他触知输入组件)、音频输入组件(例如麦克风)等。

在进一步的示例实施例中,I/O组件918可包括各种各样的其他组件中的生物特征组件939、运动组件934、环境组件936或位置组件938。例如,生物特征组件939可包括用于检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如血压、心率、体温、汗水或脑波)、识别人(例如语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件934可包括加速度传感器组件(例如加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件936可包括例如照明传感器组件(例如光度计)、温度传感器组件(例如检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测有害气体的浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。位置组件938可包括位置传感器组件(例如GPS接收器组件)、高度传感器组件(例如检测可从哪个高度获得该空气压力的高度计或气压计)、取向传感器组件(例如磁力计)等。

可使用多种技术来实现通信。I/O组件918可包括通信组件940,该通信组件940可操作以分别经由耦接(coupling)924和耦接922将机器900耦接到网络937或设备929。例如,通信组件940可包括网络接口组件或与网络937接口连接的其它合适的设备。在进一步的示例中,通信组件940可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、

此外,通信组件940可检测标识符或包括可操作以检测标识符的组件。例如,通信组件940可包括射频识别(RFID)标签读取器组件、NFC智能标记检测组件、光学读取器组件(例如用于检测诸如通用产品代码(UPC)条形码的一维条形码、多维条形码(例如快速响应(QR)码、Aztec码、数据矩阵、数字图形、最大码、PDF417、超码、UCC RSS-2D条形码)和其他光学码的光学传感器),或声学检测组件(例如用于识别所标记的音频信号的麦克风)。另外,可以经由通信组件940来获得各种信息,例如经由互联网协议(IP)地理位置来获得位置、经由

词汇表

在本文中,“载波信号”是指能够存储、编码或携带暂态或非暂态指令910以由机器900执行的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这种指令910的通信。指令910可使用暂态或非暂态传输介质通过网络接口设备以及使用多个众所周知的传输协议中的任何一个在网络106上发送或接收。

在本上下文中,“客户端设备”是指与通信网络106接口连接以从一个或多个服务器系统或其他客户端设备102获取资源的任何机器900。客户端设备102可以是但不限于:移动电话、台式计算机、笔记本电脑、PDA、智能电话、平板电脑、超级本、上网本、笔记本电脑、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏机、机顶盒或用户可用来接入网络106的任何其他通信设备。

在此上下文中,“通信网络”是指网络106的一个或多个部分,其可以是自组网、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、广域网(WAN)、无线广域网(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共电话交换网(PSTN)的一部分、老式电话服务(POTS)网络、蜂窝电话网络、无线网络、

在本上下文中,“短暂消息”是指在时间限制的持续时间内可访问的消息300。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可由消息发送器设置。替代地,访问时间可以是默认设置,也可以是接收方指定的设置。不管设置技术如何,消息300都是暂时的。

在本上下文中,“机器可读介质”是指能够临时或永久存储指令910和数据的组件、设备或其他有形介质,并且可包括但不限于:随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存、其他类型的存储设备(例如可擦除可编程只读存储器(EPROM))和/或其任何合适的组合。术语“机器可读介质”应被认为包括能够存储指令910的单个介质或多个介质(例如集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被理解为包括能够存储由机器执行的指令910(例如代码)使得指令910在由机器900的一个或多个处理器904执行时使得机器900执行本文描述的任何一种或多种方法的任何介质或多种介质的组合。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”自身不包括信号。

在本上下文中,“组件”是指具有边界的设备、物理实体或逻辑,该边界由提供对特定处理或控制功能的分区或模块化的函数或子例程调用、分支点、API或其他技术来定义。组件可通过它们与其他组件的接口进行组合以执行机器过程。组件可以是被设计为与其他组件以及通常执行相关功能的特定功能的程序的一部分一起使用的经封装的功能硬件单元。组件可构成软件组件(例如体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式被配置或设置。在各种示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统,或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如处理器或一组处理器)可以由软件(例如应用或应用部分)配置为操作以执行本文所述的某些操作的硬件组件。

硬件组件也可机械地、电子地或其任何合适的组合来实现。例如,硬件组件可包括被永久性地配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件组件还可包括可编程逻辑或电路,其由软件临时配置为执行某些操作。例如,硬件组件可包括由通用处理器908或其他可编程处理器执行的软件。在由此类软件进行配置之后,硬件组件变成专门被定制以执行配置的功能的特定机器(或机器900的特定组件),并且不再是通用处理器908。可以理解,机械地在专用和永久配置的电路中或者在临时配置的电路中(例如由软件配置的)实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现的组件”)应理解为包括有形实体,其是物理构造的、永久配置的(例如硬连线的)或临时配置的(例如编程的),以某种方式操作或执行本文所述的某些操作的实体。考虑到其中硬件组件被临时配置(例如编程)的实施例,每个硬件组件不需要在任何时刻被配置或实例化。例如,在硬件组件包括由软件配置为成为专用处理器的通用处理器908的情况下,通用处理器908可在不同时间被分别配置为不同的专用处理器(例如包括不同的硬件组件)。因此,软件对应地配置特定处理器908或处理器904,例如以在一个时刻构成一个特定硬件组件,而在另一个不同时刻构成另一个不同硬件组件。

硬件组件可向其他硬件组件提供信息并从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间的信号传输(例如通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和取得信息来实现此类硬件组件之间的通信。例如,一个硬件组件可执行操作并将该操作的输出存储在其通信耦接到的存储器设备中。然后,另一硬件组件可以在稍后的时间访问该存储器设备以取得和处理所存储的输出。

硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如信息的集合)上进行操作。本文所述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器904执行。无论是临时配置还是永久配置,此类处理器904都可以构成处理器实现的组件,该组件操作以执行本文所述的一个或多个操作或功能。如本文中所使用的,“处理器实现的组件”是指使用一个或多个处理器904实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的处理器908或处理器904是硬件的示例。例如,一种方法的操作中的至少一些操作可以由一个或多个处理器904或处理器实现的组件执行。此外,一个或多个处理器904还可操作以在“云计算”环境中或作为“软件即服务”(SaaS)来支持相关操作的执行。例如,操作中的至少一些操作可由一组计算机来执行(作为包括处理器904的机器900的示例),其中这些操作可以经由网络106(例如互联网)以及经由一个或多个适当的接口(例如API)来访问。某些操作的执行可分布在处理器之间,不仅驻留在单个机器900内,而且跨多个机器部署。在一些示例实施例中,处理器904或处理器实现的组件可位于单个地理位置中(例如在家庭环境、办公室环境,或服务器场中)。在其他示例实施例中,处理器904或处理器实现的组件可分布在多个地理位置上。

在此上下文中,“处理器”是指根据控制信号(例如“命令”、“操作码”、“机器码”等)操纵数据值并产生适用于操作机器900的对应输出信号的任何电路或虚拟电路(由在实际处理器908上执行的逻辑来仿真的物理电路)。处理器908可以例如是中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、ASIC、射频集成电路(RFIC)或其任意组合。处理器908可进一步是具有可同时执行指令910的两个或更多个独立处理器904(有时称为“核”)的多核处理器。

在本上下文中,“时间戳”是指一系列的字符或编码信息,其识别何时发生特定事件,例如给出日期和时间,有时精确到几分之一秒。

在不脱离本公开的范围的情况下,可以对所公开的实施例进行改变和修改。如所附权利要求所表达的,这些和其他改变或修改旨在被包括在本公开的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号