用于短暂群组聊天的系统和方法与流程

文档序号:13081381阅读:182来源:国知局
用于短暂群组聊天的系统和方法与流程

优先权声明

本申请要求于2015年5月6日提交的美国临时申请序列号为62/157,780的优先权,其全部内容通过引用并入本文。

实施例涉及多个装置之间的群组文本通信,以及相关联的数据的通信和用于提高数据安全性的通信的自动删除。



背景技术:

在线聊天是指在用户之间文本消息经由网络的实时传输的通信。这些消息通常很短,以便使参与者能够快速响应,从而产生对话的感觉。这种通信通常是在两个用户之间,并且被构造为点对点通信,但是也可以是多点传播或者被构造为群组通信。在许多聊天系统中,数据不能被安全地存储。

附图说明

附图中的各种图仅仅示出了本公开的示例实施例,并且不应被认为是限制其范围。

图1是示出根据一些示例实施例的网络系统的框图。

图2a-c示出了根据某些示例实施例的短暂群组聊天的方面。

图3示出了根据某些示例实施例的短暂群组聊天和相关联的用户界面的方面。

图4示出了根据某些示例实施例的短暂群组聊天的方面。

图5a-j示出了根据某些示例实施例的短暂群组聊天和相关联的用户界面的方面。

图6示出了根据某些示例实施例的服务器计算机和与作为短暂群组聊天的一部分的用户帐户相关联的客户端装置之间的通信。

图7示出了根据一些示例实施例的用于实现短暂群组聊天的方法。

图8示出了根据一些实施例的实现短暂群组聊天的通信系统的方面。

图9是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。

图10示出了根据一些示例实施例的可以与短暂群组聊天一起使用的示例客户端装置的方面。

图11示出了根据示例实施例的计算机系统形式中的机器的示意表示,在该系统内可以执行一组指令以使机器执行在此讨论的方法中的任何一个或多个。

具体实施方式

在此描述的实施例涉及多个装置之间的群组文本通信,支持文本通信的附加通信,以及群组聊天上下文中的消息(例如,短暂消息)的自动删除。一些实施例可以在社交网络环境的上下文中操作,其中客户端装置可以不仅聊天(例如,发送文本消息),而且还可以将短暂照片和视频剪辑发送给朋友群组。在该上下文中,朋友是与已经通过朋友请求和响应或其它此类关联方法与另一个帐户相关联的一个或多个装置相关联的用户帐户。

示例实施例允许用户在单个群组聊天屏幕中与其朋友(多达阈值数量的朋友)创建群组聊天。用户能够从整体馈送用户界面(ui),诸如已经向用户的装置发起消息的当前群组和用户的列表,或者“发送到”ui(例如,用于向一个或多个其它用户发起消息或内容通信的ui)创建群组。此外,“存在”和“接收”信息允许用户知道他们的朋友何时出现在聊天中并且经由在用户装置处呈现的界面与用户消息进行交互。在一些实施例中,这种存在和接收信息用于确定何时应该为群组聊天的所有成员删除短暂聊天消息。在其它实施例中,用户共享其它信息以确定何时应该为所有用户删除短暂聊天消息。

在一个实施例中,阈值数量的用户帐户可被添加到群组聊天(例如,8个用户、10个用户等)。用户可以单独通过用户的动作或通过初始用户的邀请和来自加入用户的响应而离开或被添加到群组。在其它实施例中,可以使用群组内来自不同阈值数量的用户的投票来添加或删除群组成员。特定用户组可以一次具有针对该用户组的多于一个群组聊天活动(例如,群组聊天可以被复制或重命名)。换句话说,示出每个活动群组聊天的单元的概览界面可以具有针对第一群组和第二单独群组的不同单元,其中第一群组和第二群组的成员相同。在某些实施例中,可以通过复制第一群组并给予第二群组新名称以将其与第一群组区分开,来生成第二群组。

在一些实施例中,一旦群组中的每个人已经在阈值时间量内查看了作为群组聊天的一部分的特定消息,则所有群组成员都清除该消息。在各种实施例中,如下面更详细地描述的,可以使用除所有群组成员满足阈值查看时间以外的各种删除触发。在一些实施例中,使用多个删除触发(例如,采用从发送消息起的总时间加上阈值数量的群组成员查看消息达到阈值查看时间的两个触发)。在其它实施例中,多个删除触发可以针对单个消息,当满足任何多个可能的删除触发的触发条件时删除该消息。

图1是示出根据一些示例实施例的网络系统100的框图。系统100包括客户端装置110、120和130以及服务器系统150和网络140。网络140用于传送客户端装置110、120、130与服务器系统150之间的通信。客户端装置110、130和120可以是任何智能电话、平板计算机、平板电话、笔记本计算机、支持网络的照相机或任何其它此类支持网络的装置。客户端装置110、120、130可以包括用于输入文本信息的键盘或触摸屏,以及用于采集可以是用户或群组成员之间的补充(例如,非文本)通信的一部分的附加内容的摄像装置。客户端装置110、120、130经由网络140连接到服务器系统150。网络140可以包括有线和无线连接的任何组合。这可以包括蜂窝接入网络、到英特网的接入点接口,或任何其它此类网络140或网络元件。例如,客户端装置110可以使用长期演进(lte)蜂窝网络与网络140进行连接,以与服务器系统150通信,而客户端装置120可以使用wi-fi接入点与网络140进行连接并与服务器系统150通信。服务器系统150可以是作为服务或网络计算系统的一部分的一个或多个计算装置。在某些实施例中,特别是具有大量客户端装置110、120、130与来自全球各地广泛不同位置的服务器系统150进行连接的实施例,服务器系统150可以是类似地广泛分布的服务器计算机的分布式网络140,并且其经由网络140彼此通信。在一些实施例中,客户端装置110、120、130以及服务器系统150和网络140的任何元件可以使用图9和图11中描述的软件架构902或机器1100中的元件来实现。

网络系统100然后可以用于在客户端装置110、120、130之间的消息的通信。在下面讨论的实施例中,客户端装置110、120和130各自与不同的用户帐户相关联,并且装置110、120和130中的这些用户帐户中的每一个已经加入了群组。装置经由网络140和系统150向群组发送消息,并且经由同一路径从群组接收消息。如图1所示,客户端装置110将内容消息112通信到服务器系统150,并且客户端装置110从装置120和130接收消息114和116。类似地,装置120发送消息114,并且装置130发送消息116。所有装置与同一群组相关联,并且发送消息112、114和116作为群组聊天,因此服务器系统150指示每个消息,使得群组中的每个成员具有每个消息的副本。

然后,每个装置包括馈送接口(feedinterface),其可以是在相应客户端装置上操作的应用的一部分。当接收到聊天消息时,馈送中会显示通知,并且可以访问群组聊天、个人聊天或其它消息。馈送内的选择可以将用户导向到聊天视图。

图2a-c示出了根据某些示例实施例的短暂群组聊天的方面。图2a-c示出可以用作收发消息(messaging)客户端应用(诸如在客户端装置上操作的收发消息客户端应用804)的一部分的聊天视图202的方面。这包括客户端装置,诸如图1的示例客户端装置110、120和130,以及图10的移动装置1000,其中聊天视图202可以呈现有显示区域1002。图2a的聊天视图202a包括具有聊天标题的页标头210,其旁边为右上箭头212。在一些实施例中,通过点击界面的右上箭头212按钮与聊天视图202所显示的ui交互,返回到上面简要描述的馈送。具有页标头210中标题的图2a的示例实施例示出群组聊天中用户帐号的名称或标识符。可以通过用户帐户控制器或通过单个用户将名称与用户账户相关联(例如,通过指定名称作为朋友列表中的别名)。在其它实施例中,可以在群组聊天视图202的页标头210中使用其它细节。在一些实施例中,如果名称太多,则显示前几个名称,后跟省略号。名称的排序可以由加入群组的顺序或以系统允许的任何其它顺序来规定。在一些实施例中,点击与页标头210相关联的用户界面(ui)的触摸目标来显示ui下拉列表,下面将参考图3更详细地讨论。

在聊天视图202a中,聊天流214包括两个短暂聊天消息216和218。存在指示符220列出群组成员,并且可以包括指示符,该指示符关于哪些群组成员当前处于与所呈现名称或由存在指示符220所示的用户帐户名称对应的用户帐户相关联的装置上的共享群组聊天的聊天视图202中。在一些实施例中,例如,当聊天系统已经从某些时间范围内与用户账户相关联的用户装置接收到存在信息时,与用户帐户相关联的颜色可以变亮或被显示,以指示用户正在显示聊天视图202或与聊天视图202进行交互。当聊天系统在某些时间范围内未接收到存在通信时,存在指示符220的名称或帐户标识符也可以指示这一点(例如,通过使相关联的名称或帐户标识符变灰)。聊天输入区域222在消息被发送之前显示短暂聊天消息的文本或其它内容。数据输入界面224是用于输入短暂聊天消息的信息的聊天视图202的一部分,诸如图2a所示的软件键盘。在其它实施例中,这可以是语音到文本界面,或用于协助短暂聊天消息的输入的任何其它此类界面。

除了聊天流214内示出的短暂聊天消息之外,还可以显示其它状态或存在消息。这包括接收消息、存在通知、与删除触发或标准相关的信息,或任何其它此类信息。例如,聊天界面同样可以具有通知。作为具有聊天流214的实施例的一部分的这些聊天通知可以包括:

-正在打字

-在[群组名称]中[显示名称]正在打字...

-推送

-“来自[群组名称]中的[显示名称]”

-在应用中

-“<聊天图标>[群组名称]”

-辅助文本:“[显示名称]”

在其它实施例中,可以使用其它聊天通知。

在一些实施例中,同样可以在聊天流214中呈现内容通信(例如,图像和视频通信),并且在一些此类实施例中具有作为这些内容通信的显示界面的一部分的相关通知。该通知的示例包括:

-推送

-“来自[群组名称]中的[显示名称]”

-在应用中

-“<图标>[群组名称]”

-辅助文本:“[显示名称]”

或各种实施例中的任何其它此类通知。

除了用于文本或内容通信的这些通知之外,系统还可以使用其它通知。例如,可以为加入或离开群组的用户提供某些通知。另外,一些实施例可以使用户能够阻止来自另一特定用户或用户群组的通信。可以在用户最初被阻止时提供通知,并且可以在由于用户先前阻止了用户发送当前消息而没有接收到通信时提供通知。这种通知的具体细节可以在不同的实施方式之间变化,并且可以是由不同用户选择和定制的。

除了允许聊天视图202的ui内的群组聊天外,如图2b和2c所示,某些实施例可以实现在同一聊天流内的群组的仅一部分成员之间的聊天。因此,某些实施例包括用户参与群组聊天以与群组中的一个或多个成员进行私人对话而群组的其余成员不知道的系统和方法。这种实施例包括独立于聊天流214的群组对话而显现的私人消息。在某些实施例中,用户可以在聊天流214内独立地在私人对话和群组对话内“滚动”,即使它们二者都在主页面或一者显示。例如,在这种实施例中,如果聊天流214内的私人聊天流超过特定大小、消息数量或行数,则在聊天流214内呈现可滚动界面。如果整个聊天流214类似地大于适合聊天流214内的阈值大小,则用户可以滚动聊天流214内的消息,并且同样可以在仅呈现由私人群组聊天242a代表的私人群组聊天消息的一部分的子区域内滚动。

在图2b所示的实施例中,以左边距开始示出的聊天消息240是与群组的所有成员共享的消息。在群组聊天期间,用户可以选择群组的一个或多个成员以进行私人群组聊天242a消息,并且该私人“密谈”消息将仅被发送到所选择的群组成员。私人群组聊天242a消息作为聊天视图202中的群组消息流的一部分而被显示,但是以缩进示出,从而不与整个群组共享该私人群组聊天242a消息。这种私人群组聊天242密谈消息可以通过例如触摸显示器中接收者的名称以将他们添加到密谈子群组来发起。在一些实施例中,如果子群组之间的消息超过一定长度,则可以在聊天流214内嵌入另一个子流,用于子群组的成员之间的消息。图2b的示例示出了从用户“jack”发送到整个群组的消息,随后是从用户“chamal”发送到整个群组的消息,随后是从与显示界面相关联的标记为“me”的用户并发送到整个群组的消息,随后是从装置用户“me”发送到群组成员“aditya”和“jack”的私人密谈消息。如图所示,作为私人密谈消息的最终消息被缩进地显示在群组消息流中,而上面的群组消息从左边距处显示。

另外,如在此所详细描述的,群组收发消息可以对群组中的每个用户使用颜色分配。在某些实施例中,颜色可以仅针对一部分用户显示。在图2b中,群组成员“will”和“donny”将其名称列为群组成员,但可能不显示相关联的颜色。这可以被实现为使得只有通过发送消息而参与群组的用户的颜色被显示。这同样可以被实现为使得只有当前是界面的一部分的用户名称的颜色被显示。这还可以被实现为使得所有被邀请的群组成员的名称都被显示,但是只有响应于加入群组的邀请的群组成员具有相关联的颜色并被显示为群组界面的一部分。在其它实施例中,可以使用其它颜色关联和用户界面显示。

图2c示出了群组聊天流214区域内的私人群组聊天242b密谈消息的消息流的另一示例。正如上面关于图2b所述,私人群组聊天242b消息被示为从示出群组消息的最左边距处缩进。在图3c的示例中,私人群组聊天242b密谈消息不仅被缩进,而且还示出关于私人消息的接收者的信息的标题或密谈消息页标头。在一些实施例中,低于最近的密谈消息的界面区域允许单次点击输入,以从先前的密谈消息开始向已建立的子群组发出密谈消息。在此之下,“发送聊天”用户界面区域允许单次触摸,从而开始向整个群组输入消息。消息聊天流214可以被构造为按时间示出所有消息,但是具有在同一流中交织的私人密谈消息和群组消息。子群组消息显示区域上的上下滑动输入可以允许用户向上或向下滚动到不同的私人密谈消息以发起私人密谈回复。

另外,在某些实施例中,可以包括用于私人密谈通信的独立滚动区域。例如,在图2c的实施例中,如果用户在“matt&donny”页标头下面和“taptoreply”区域上方的区域中向上或向下滑动,如果在密谈显示区域中存在更多消息,则私人密谈消息历史的消息显示将向上和向下滚动,而群组消息是静止的。在其它实施例中,在私人密谈消息区域下方呈现群组消息的情况下,用户界面滑动区域可以在呈现私人密谈消息的文本的区域中。如果多个不同的私人密谈消息是相同用户界面显示的一部分,则它们可能各自具有单独的密谈显示区域。对于这种实施例,如果在用户界面处接收到滑动输入,则每个单独的区域将滚动到其单独的独立密谈消息的历史处。

因此,如上所述,用户可以具有在同一屏幕上打开的两个或更多个群组聊天或私人对话的组合。具有这种单个屏幕的实施例可以具有多层隐私(例如,与六个人的群组聊天,与六个中的四个的私人对话,以及这四个中的两个之间的另一个私人对话)。

图3示出了根据某些示例实施例的短暂群组聊天的方面,并且示出了用户界面300的示例。进入该状态会显示页标头310左侧的编辑图标314。点击该图标可允许用户设置应用于所有用户的群组名称。如果用户更改页标头310中显示的群组名称,则将其添加到群组聊天ui,并且将样式中与日期文本类似的文本放入聊天中:

“[显示名称]命名群组[新群组名称]”

“你命名群组[新群组名称]”

在一些实施例中,重命名群组允许16个字符的群组名称。下拉列表内是在群组聊天中的用户名称的列表(例如,用户帐户标识符)。在一些实施例中,每个用户名称是不同的群组聊天颜色。点击用户的名称将导向到与该用户的聊天。如果用户具有相关联的符号(例如,表情符号、friendmojis、符号等),则它们被显示在对应的单元的右手部分处。下拉列表的底部处是将用户添加到群组以及离开群组的选项。

为了将用户添加到群组,可以在不同的实施方式中使用各种动作。选择ui的添加用户区域将用户带到不在群组聊天中的朋友的列表。这可以是客户端装置和服务器系统之间的通信和响应(例如,将朋友列表从服务器发送到客户端装置),或者可以使用存储在客户端装置中的朋友列表。当显示朋友列表时,用户可以从朋友列表中点击多个名称,以将其添加到群组。在一些实施例中,可以实现最大群组大小。

用户同样可以使用ui来离开群组。当离开群组时,用户的保存项目不被保存(并删除)。用户接收到的未查看的快照(snap)和聊天被标记为已读。用户发送的未查看的快照保留在聊天中,直到该快照被该群组的每个成员查看,并且然后聊天消息从每个用户的客户端装置中消失。换句话说,用户发送的未查看的聊天保持在聊天中,直到其被查看,从而使得在群组成员离开群组之后正常的清除逻辑适用于其它用户。

最初在客户端装置处输入消息,并且在用户输入发送消息的命令之后,将消息发送到与作为群组聊天的一部分的每个用户帐户相关联的装置。然后,服务器系统将消息发送到适当的客户端装置。然后,装置保持消息,并且在每个用户查看聊天后对所有用户删除该消息。在一些实施例中,即使没有查看消息,也可以删除消息(例如,在删除时间段之后)。当消息已经在屏幕上呈现一定时间段时,当用户已经核实消息已被查看时,或者基于与客户端装置的用户的消息的呈现相关联的任何其它此类系统标准,消息可以被认为已查看。如果一个以上的客户端装置与单个用户帐户相关联,则显示消息的客户端装置可以向服务器系统发送指示该消息被查看的消息,并且服务器系统可以发送指示该消息在群组聊天的所有成员查看之后的适当时间将被删除的消息。

在某些实施例中,任何用户都可以将聊天消息或所有聊天消息保存在群组聊天中。可以在客户端装置上提供视觉指示符,指示用户已经保存了一个或多个消息,或者群组中的另一个成员已经保存了群组聊天中的一个或多个消息。一种此类指示符可以是在所呈现的ui中用户id周围的颜色条中的颜色的变化。另一种指示符可以是呈现的用户界面(ui)中用户标识符(id)周围的线的粗细。在某些实施例中,对ui的滚动输入将对已保存内容的所有用户显示具有相同颜色的彩色点的时间戳。

在某些实施例中,如果用户进行屏幕截图,则将样式中与日期文本类似的文本放入聊天中,其中消息“[名称]对聊天进行屏幕截图!”以及“你对聊天进行屏幕截图!”可以呈现在对聊天进行屏幕截图的用户的客户端装置的显示器上。可以针对在群组聊天期间进行的屏幕截图以及在一对一聊天中进行的屏幕截图,呈现这种消息。在该实施例中,收发消息客户端应用可以向服务器计算机发送具有识别出进行屏幕采集的存在信息的消息,并且该信息被发送到群组聊天中的所有成员以在聊天流内显示为更新。类似地,在各种实施例中,这种收发消息客户端应用采集关于用户与用户界面的交互和聊天消息的显示的各种信息,并且向服务器计算机发送聊天监测信息。服务器计算机可以使用该信息来确定聊天消息何时被删除,以及各种更新和存在消息何时经由装置的屏幕显示。

在具有如上所述的馈送或流界面的各种实施例中,先前已经被用户查看的消息或内容显示在与用户帐户相关联的所有装置的ui中的折叠(fold)之上。当在客户端装置处接收到作为聊天的一部分的内容通信(例如,图像或视频剪辑),并且该内容通信作为聊天流的一部分被呈现时,接收用户只能查看内容一次。如果接收者对内容进行屏幕截图,则将样式中与日期文本类似的文本放入发送者的聊天中,如在对群组聊天中的每个用户所呈现的内容的右下方,以指示特定观看者已经对其屏幕截图。该屏幕截图消息仅对内容的发送者可见。

除了向内容通信发送者的屏幕截图通知之外,发送者还可以另外接收指示内容被传送的收据,以及指示内容被打开/查看的收据。对于视频剪辑,通知可能指示是否只有部分视频剪辑被查看。对于具有查看时间限制的图像,收据可以指示已使用多少查看时间。在用户从较高等级ui界面滑动到聊天流中并查看相关联的收据之后,针对单个用户的接收/打开收据的内容和可能的屏幕截图通知消失。

在一些实施例中,直到群组聊天中的所有人都查看了发送的内容,发送者在聊天流中看到已发送的收据。当一个或多个其它接收用户查看了内容时,发送的收据提供“已打开”通知。在某些实施例中,发送者可以通过在触摸屏ui上从右拉到左的方式查看谁看过该内容,以示出群组中所有其它用户的内容读取收据的列表。在一个示例实施方式中,这种内容读取收据由彩色点指示,其中颜色与已经查看内容的用户的颜色对应。在所有用户查看了内容之后,读取的收据仍然保留,直到发送者已经看到所有接收者已经查看内容的状态的聊天视图。当所有其它群组成员查看内容时,发送者进入聊天之后,收据将被释放。

在一个示例实施例中,发送者可以直接在内容收据下经由与日期文本样式类似的文本(例如,“今天”),看到谁进行了屏幕截图。例如:

“[名字]进行屏幕截图!”

或者如果多人进行屏幕截图:

“[名字]、[名字]、[名字]和[名字]进行屏幕截屏!”

屏幕截图文本与内容_发送_打开的图标一起被释放。当用户进入或离开聊天群组时,指示符消息以与图2和图5中所示的日期标题(例如“今天”)相同的样式显示。示例指示符消息包括:

[名称]已经离开

以及

由[添加者的名字]添加[名字]。

在这种实施例中,指示符消息文本遵循聊天读取逻辑,以从聊天流和客户端装置被释放和移除。

当用户离开聊天时,例如通过选择离开聊天界面320,与该用户帐户相关联的装置上的聊天消息是未保存的(例如,在可能的情况下,针对所有相关联的用户装置进行删除,诸如在开机之后服务器计算机连接之后,或在先前已经接收到短暂聊天消息的装置上运行收发消息客户端应用之后)。在一些实施例中,这种离开聊天界面320包括在用户帐户离开群组聊天之后无法访问聊天消息但可其它用户仍可使用的附加警告。离开的用户收到的未查看的快照和聊天被标记为读取,用于与离开的用户帐户相关联的任何删除触发。用户发送的未查看的聊天消息保持在其它用户装置的聊天流中,直到它们满足删除标准,然后从所有用户的聊天流中消失。在一些实施例中,用户帐户可以类似地通过选择添加朋友界面318被添加到群组聊天。

图4示出了根据某些示例实施例的短暂群组聊天的附加方面。图4示出了用于将朋友添加到聊天群组的示例ui,被示为显示400。如果用户在图3中所示的下拉列表中选择添加朋友界面318,则用户被带到先前为用户建立的我的朋友的列表中。用户可以点击ui中的多个名称以将其添加到群组中。在各种实施例中,该交互与单个内容消息通信的发送页面相同。在按“完成”之后,所选的朋友将被添加到群组。如果群组的最大大小由系统阈值定义,则用户无法对群组添加更多朋友。

在一些实施例中,如果群组在“添加朋友”页面中添加朋友时达到最大限制阈值,则复选框消失,并且名称变暗至50%不透明度。如果用户取消选中已选择的朋友中的一个,则复选框重现。

当用户加入聊天时,例如通过选择添加朋友界面318,不同的实施例可以以不同的方式管理加入用户对聊天消息的可用性。在一些实施例中,已经被删除并且发送给所有先前的群组成员的聊天消息对于加入用户是可用的,并且相关联的删除触发被修改以将加入用户添加到与所有群组成员相关联的任何删除标准(例如,在所有群组成员查看聊天消息10秒之后删除)。然而,在一些实施例中,新添加的成员不会接收到任何先前发送的聊天消息。在该实施例中,先前发送的聊天消息可以在先前成员的聊天流中保持相同的呈现,或者先前的消息可以在诸如上述(例如私人群组聊天242)的子聊天界面内呈现,其中在主聊天流中向所有群组成员呈现整个群组的后续消息。

在某些实施例中,系统以不同的方式选择在聊天消息中使用的用户标识符。在一些实施例中,系统使用从注册信息识别的用户的名字。假定名字是在帐号名称数据的名称字段中的第一空格之前的字符串。在其它实施例中,可以以其它方式导出或发现名字。如果群组中有多个具有相同名字的用户,则系统将使用姓氏(例如,最后一个空格之后的字符串)的首字母,并将使用其它字符,直到呈现该群组的唯一标识符。在一些实施例中,如果与使用最后一个首字母存在冲突,则系统可以使用整个姓氏,并且如果存在附加冲突,则系统可以生成唯一的字符或数字。

如果一者名字是bobsmith,并且在群组中存在bobjones,则bobsmith将bobjones看作bob,并且bobjones将bobsmith看作bob。群组中的所有其他人都将看到bobs和bobj。

除了短暂消息的管理之外,在一些实施例中,系统界面同样可以指示存在信息,其向群组成员提供关于用户当前或最近(例如,在阈值时间段内)已经访问群组聊天流的信息或来自群组聊天的消息。该存在信息由视觉启示(visualaffordance)来提供,以指示群组中存在谁,其名字在他们的群组聊天颜色的未填充的气泡中。这些气泡出现,从聊天输入栏上方的左侧上开始,并且随着用户进入群组,出现在上一条消息的下方和右侧上。

如上所述,随着用户进入群组聊天,每个用户将具有分配给它们的不同颜色。这些颜色可以自动被分配为默认系统设置的一部分。在一些实施例中,可以基于用户偏好或不同的可选颜色模板来调节颜色。

在一个实施例中,可以如下实现颜色机制:

用户自己的颜色是红色

通过加入群组的顺序给出其它颜色

1-群组聊天红色

2-浅蓝色

3-浅绿色

4-橙色

5-粉红色

6-深蓝色

7-深绿色

8-紫色

如果用户被同时添加,则连结断路器按显示名称按字母顺序排列。在人们离开群组时颜色不更新,而是一旦分配颜色则在群组的存在持续期间该颜色被保持。当用户离开时,它们的颜色按用户离开的顺序分配给加入用户。在其它实施例中,可以以其它方式分配颜色或重新分配颜色。

总体馈送是在客户端装置处传入的消息的高等级组织。在一个实施例中,每个群组聊天都具有馈送中的单元。在一些实施例中,选择流内的单元将呈现聊天视图,诸如对于特定群组的聊天视图202。在流的一些实施例中,个体内容消息和一对一聊天同样可以具有馈送中的单元。在高等级流中的群组聊天单元中,可以示出辅助文本。在一些实施例中,如果对于特定群组存在未读内容通信或聊天,则在流内示出用于群组聊天的辅助文本。辅助文本示出群组中有助于未读内容的人员的名称。名称将按照发送内容时的顺序示出,其中最近发送的最后示出。在ui中点击或触摸单元可示出消息的时间戳。

如果群组在阈值时间量(例如1个月、31天、60天等)中没有任何最近的活动,则群组脱离高等级馈送。不具有保存内容的群组(例如,所有消息都满足与传送给群组的消息相关联的删除触发的删除标准的群组)将从系统中删除。如果群组已经保存了内容(例如,没有满足相关联删除标准的内容),则它将会“脱离馈送”,但是可以通过滚动到馈送的底部并点击“示出较早的对话”ui空间而访问。具有保存内容的群组同样可以通过搜索以及诸如一对一聊天的任何其它可搜索的文本消息而访问。

在一些实施例中,搜索行为如下所示。用户可以搜索群组。如果用户将“bobby”键入搜索字段,则用户将看到任何与具有id“bobby”的用户一对一的聊天,以及用户与具有id“bobby”的其它用户所处的任何群组。如果存在多个用户(例如bobbys.、bobbyjones、bobbyjohnson),则可示出具有姓氏或最后一个首字母的多个用户。

搜索匹配该群组中的显示名称或成员(显示名称或用户名)。如果群组已经脱离馈送,则用户可以通过点击“显示较早的对话”ui界面,看到它出现在搜索结果中。如果用户按已经更改的群组名称进行搜索,则该群组将仍采用新名称示出在搜索结果中。如果群组名称在阈值时间内未更改,则旧的群组名称将从系统中删除,且不再可搜索。

可以以多种不同的方式生成聊天群组。在示出现有群组、内容消息和一对一聊天的通信单元的高等级馈送接口中,用户可以点击馈送的右上角中的“新聊天”图标。用户可以选择新聊天视图中的多人进入群组中。当用户已经选择了多个用户id以添加到群组时,用户可以点击ui的页标头区域来设置群组的名称。默认群组名称将是用户的名字,用逗号分隔。群组仅在始发用户发送文本消息或内容通信之后被创建。如果已经存在具有这些成员的群组,则用户同样将看到所选名称上方的现有群组。

图5a-5j示出了根据一个示例实施例的包括发送界面(send-tointerface)500的示例实施方式的短暂群组聊天的方面。发送界面500包括多个视图,示为视图502-512。这种发送界面500可以用于向通信系统内的任何数量的其它用户账户发送消息。当用户选择多个其它用户帐户作为发送界面500内的消息的接收者时,用户看到出现允许用户创建所选择的其它用户的群组的创建群组界面592,并使聊天流594对群组可用。视图502、504、506、508和510示出了用于选择用于群组聊天的个人的发送界面500的视图。视图510示出具有所选两个的用户的视图,一个经由选择框,并且一个通过搜索输入。在一些实施例中,当用户选择创建群组界面592时,将用户转到聊天流594,并且群组由视图512所示自动创建。在一些实施例中,当用户点击创建群组界面592时,用户被带到具有所选名称的确认页面,诸如视图518的确认页面。在确认页面上,用户可以取消选择名称并命名群组。用户可以点击键盘上方的确认按钮以提交更改,并且如果不存在群组时生成群组。如果存在同一组用户存在的现有群组聊天线程,则用户在所选群组的正上方的确认页面中看到该群组。如果用户点击预先存在的群组,则该用户将被带回到具有所选的该群组的发送页面。在一些实施例中,除非用户向新群组发送内容通信或文本消息,否则不从该流创建新群组。

在一些实施例中,如图5j所示,用户也可以从发送界面500选择其它群组和用户,使得可以向多个群组发送单个内容通信。图5j的视图520示出了群组598以及用户帐户596的列表。作为发送界面500的一部分,用户可以选择多个群组来向其发送消息。如果不同的群组具有不同的短暂触发,则可以基于特定群组的特定删除触发和标准,从不同群组独立地删除该消息。

在一些实施例中,如果用户已经创建了具有所选用户的群组,则不会阻止用户再次选择这些用户来向他们单独地发送内容通信,或者创建具有这些用户的另一群组。如果用户已经创建了群组,则再次访问发送界面500并选择两个或更多个用户将再次使创建群组界面按钮示出。点击创建群组按钮将为所选用户创建新群组。如果用户尝试创建具有与刚刚用于创建新群组的用户相同的用户的新群组,则不会创建附加群组,而是该用户被定向到先前创建的群组。

在一些实施例中,用户可以另外搜索另一用户。如果用户在发送页面中搜索名称,则包含这些名称的群组将出现在“群组”页标头下方的匹配用户的名称下方。这种实施例可以生成具有单个用户和群组的列表的视图,包括诸如视图520、502-510和514-516的任何视图。

图6示出了根据某些示例实施例的服务器计算机和与作为短暂群组聊天的一部分的用户帐户相关联的客户端装置之间的通信。图6示出了经由服务器系统650与彼此通信并且与服务器系统650进行交互以实现短暂群组聊天的客户端装置610、620和630。

在图6的实施例中,客户端装置610和服务器系统650之间的通信654使得能够生成作为短暂群组聊天的一部分的至少三个用户帐户(例如,群组)之间的关联。第一客户端装置610可以在操作652中接收选择用户帐户的用户输入或与用户帐户相关联的标识符,并且可以将该列表通信到服务器系统650。服务器系统650处理来自第一客户端装置610的选择,并且生成作为短暂群组聊天的关联。在一些实施例中,通信654包括在操作656中在账户之间的关联被存储在服务器系统650处之前在服务器系统650处接收的第一短暂聊天消息。

第一短暂聊天消息与一个或多个删除触发相关联。在一些实施例中,通过操作652中第一客户端装置610提供的偏好来选择这些删除触发。在一些实施例中,通过作为通信系统的固定实施方式的一部分的系统操作员来选择删除触发。在其它实施例中,使用默认删除触发和删除触发的用户可选择选项的组合。

在一些实施例中,删除触发是基于每个用户帐户与在对应帐户相关联的装置上第一短暂消息的显示相关联或者跟踪该显示达到阈值时间量。在图6的实施例中,这将涉及到第三客户端装置630和第二客户端装置620,其各自独立地验证第一短暂消息的显示达阈值时间量,以满足删除触发。下面针对操作666和668来为此进行描述。

在其它实施例中,删除触发包括在与每个用户帐户对应的任何装置上第一短暂聊天消息的显示达阈值时间量。在另外的实施例中,删除触发包括从服务器系统650发送第一短暂消息起的阈值时间。在另外的实施例中,删除触发包括从与至少三个用户帐户相关联的阈值数量的装置接收删除消息的收据,其中接收删除消息以响应于在与至少三个用户帐户相关联的装置的对应用户界面处接收的消息删除输入。在另外的实施例中,删除触发包括由服务器系统接收聊天监测信息,该聊天监测信息指示与群组聊天相关联的客户端装置的至少一部分已经查看聊天消息达阈值时间量,以及自从消息已经被发送起经过的阈值时间。在另外的实施例中,可以使用在此所述的附加删除触发或删除触发的组合。在一些实施例中,删除触发可以取决于随后的聊天消息,使得在一定时间内接收到响应的消息可以对触发做修改,或者可以与在阈值时间内没有接收到响应的消息不同的触发相关联。

在帐户之间的关联发生并且在服务器系统650处接收到第一短暂消息之后,则在操作658中,服务器系统管理在短暂聊天通信660a和660b中第一短暂聊天消息到客户端装置620和630的通信,其包括第一短暂聊天消息的副本。通过与由通信654和操作652和/或656识别的对应用户帐户的关联来识别第二客户端装置620和第三客户端装置630。

在第二客户端装置620在操作662中处理第一短暂消息之后,第二客户端装置620则在操作666中监测与群组聊天相关联的活动和第一短暂消息,并且在通信667中发送聊天监测信息,通信667可以是单一通信或随时间推移重复的通信。该信息的至少一部分包括与删除触发相关联的信息。

类似地,第三客户端装置630在操作664中处理第一短暂消息,然后在操作668中与群组聊天相关联的活动和第一短暂消息,以及可以在通信669中发送聊天监测信息,通信669可以是单一通信或随时间推移重复的通信。在一些实施例中,在删除触发不需要来自所有用户帐户的信息的情况下,只有一个装置可以向服务器系统650发送删除触发信息。

在操作670中,服务器系统650(例如,网络服务器计算机系统)处理从与来自群组聊天的用户帐户相关联的装置(例如,由操作656相关联的帐户和装置)接收的聊天监测信息。该处理过程可监测来自装置的任何数量的聊天监测通信,直到接收到用于识别该删除标准的删除触发信息,或第一短暂聊天消息已经满足删除触发状态。当删除触发信息识别出删除触发已被激活时,则在操作672中,服务器系统650发起与实现删除的聊天群组中的装置的通信。对于第二客户端装置620和第三客户端装置630,在操作676和678中,通信675和677是删除与第一短暂聊天消息相关联的数据(包括任何相关联的内容)的命令。对于发送第一短暂聊天消息的第一客户端装置610,通信673可以是删除第一短暂聊天消息的命令,或者可以是指示删除触发已经满足或删除已经从与短暂群组聊天相关联的一些或所有装置成功报告的状态通信。响应于通信673,操作674在第一客户端装置610处接收并采取任何适当的动作。

因此,如在此所述,一些实施例涉及数据隐私、安全性和数据清理的技术问题。一些实施例可以被认为是与要从网络系统或社交网络中移除或忘记的数据的权利相关联的技术问题的解决方案。同样可期望包括特定的删除触发和通信信令以同步数据删除并且当数据从系统中移除时通知和确认发送和/或接收装置的有限的技术解决方案,作为各种实施例中上述问题的技术解决方案。

在各种实施例中,作为群组聊天关联的一部分的任何数量的客户端装置可以发送和接收短暂聊天消息,使得对于由多个装置发送并由其它装置接收的聊天消息,诸如图6中所描述的操作可能同时发生。例如,第二客户端装置620可以向整个群组发送两个消息,并且将一个消息作为群组内的私人密谈消息,流向第一客户端装置610。第三客户端装置630可以向所有群组成员发送消息。第一客户端装置可以响应来自第二客户端装置的私人密谈消息。这些消息中的每一个可以与分离的删除触发相关联,并且从删除触发中删除定时,其中定时至少部分地基于与消息相关联的时间戳。

图7示出了根据一些示例实施例的用于实现短暂群组聊天的方法。方法700由服务器计算机或服务器系统执行,诸如本文描述的任何服务器计算机或服务器系统(包括服务器系统150或服务器系统650),其可以使用本文所述的任何机器来实现。在一些实施例中,方法700被实现为计算机可读介质上的指令,当由机器的一个或多个处理器执行时,该指令使机器执行方法700。

方法700从操作710开始,涉及在社交网络通信系统的服务器计算机处生成至少三个用户帐户之间的关联,作为第一短暂群组聊天的一部分。这可以包括与一个或多个客户端装置的通信,诸如图6的通信654。在相关实施例中,可以操作在客户端装置处的对应操作以提供用户帐户的列表。

然后,操作720涉及从与至少三个用户帐户的第一用户帐户相关联的第一客户端装置接收与一个或多个删除触发相关联的第一短暂聊天消息。在各种实施例中,这可以是与提供生成群组聊天关联的信息的装置相同的装置或不同的装置。

然后,服务器计算机向与至少三个用户帐户的第二用户帐户相关联的第二客户端装置以及与至少三个用户帐户的第三用户账户相关联的第三客户端装置发送第一短暂消息,作为操作730的一部分。

在发送短暂消息之后,服务器计算机在操作740开始接收包括第一删除触发信息的聊天监测信息。聊天监测信息可以包括用于生成与短暂群组聊天相关联的装置的通信的状态和存在信息。在从服务器计算机处执行的客户端装置的聊天监测信息的监测的某个时刻,服务器接收删除触发信息。在操作750的可选实施例中,服务器计算机从每个用户帐户接收删除触发信息。在一些实施例中,这包括来自与单个帐户相关联的多个装置的信息。这发生在帐户的第一装置访问短暂消息时,并且然后同样在第二帐户上访问短暂消息。对于基于查看时间的删除触发,与单个帐户相关联的多个装置处的非同时显示用于确定是否满足删除触发。在其它实施例中,每个装置的监测器分别显示时间,并且当一个装置满足删除阈值时,仅满足该帐户的删除触发的部分。

在操作760中,服务器计算机验证满足删除触发的所有部分(例如,对于具有来自不同用户帐户的多个装置满足的标准的删除触发)。在该验证之后,服务器计算机在操作770中为相关联的短暂聊天消息发送删除命令,或以其它方式管理与客户端装置的交互,以验证短暂消息是否如预期被删除。在一些实施例中,这进一步包括跟踪来自短暂聊天消息的内容的屏幕采集,并且向发送用户帐户或所有用户帐户通信“内容的非短暂副本被生成”。

方法700描述了用于实现短暂群组聊天的一种特定方法。应当理解,附加实施例可以使用具有以不同方式排列的中间步骤或操作的类似操作。类似地,全文中描述了客户端装置执行的对应操作,并且由客户端装置执行的各种实施例(补充由服务器计算机执行的方法(诸如方法700))被认作为实施例。

图8示出了根据一些实施例的实现短暂群组聊天的通信系统的方面。图8是示出用于通过网络交换数据(例如,消息和相关联内容)的示例收发消息系统800的框图。收发消息系统800包括多个客户端装置802,其中客户端装置802中的每一个主管多个应用,该应用包括收发消息客户端应用804。每个收发消息客户端应用804经由网络806(例如,因特网)可通信地耦接到收发消息客户端应用804和收发消息服务器系统808的其它实例。

因此,每个收发消息客户端应用804能够经由网络806与另一收发消息客户端应用804进行通信和交换数据,以及与收发消息服务器系统808进行通信和交换数据。在收发消息客户端应用804之间交换的数据,以及在收发消息客户端应用804和收发消息服务器系统808之间交换的数据,包括功能(例如,调用功能的命令)以及有效载荷(payload)数据(例如,文本、音频、视频或其它多媒体数据)。

收发消息服务器系统808经由网络806向特定的收发消息客户端应用804提供服务器端功能。尽管收发消息系统800的某些功能在此被描述为由收发消息客户端应用804或由收发消息服务器系统808执行,但是应当理解,收发消息客户端应用804或收发消息服务器系统808内的某些功能的位置是设计选择。例如,在收发消息服务器系统808内最初部署某些技术和功能可能在技术上是优选的,但是稍后将该技术和功能迁移到收发消息客户端应用804,其中客户端装置802具有足够的处理能力。

收发消息服务器系统808支持提供给收发消息客户端应用804的各种服务和操作。这种操作包括向收发消息客户端应用804发送数据,从收发消息客户端应用804接收数据,并且处理由收发消息客户端应用804生成的数据。作为示例,该数据可以包括消息内容、客户端装置信息、地理位置信息、媒体注释和叠加、消息内容持久性条件、社交网络信息和直播事件信息。通过经由收发消息客户端应用804的ui可用的功能,来调用和控制收发消息系统800内的数据交换。

现在具体转到收发消息服务器系统808,应用程序接口(api)服务器810被耦接到应用服务器812,并且向应用服务器812提供编程接口。应用服务器812通信地耦接到数据库服务器818,这有助于访问数据库820,在数据库820中存储与由应用服务器812处理的消息相关联的数据。

采用api服务器810专门地处理,该服务器在客户端装置802和应用服务器812之间接收并发送消息数据(例如,命令和消息有效载荷)。具体地,api服务器810提供可由收发消息客户端应用804调用或查询以便调用应用服务器812的功能的一组界面(例如,例程和协议)。api服务器810公开由应用服务器812支持的各种功能,包括帐号注册、登录功能、经由应用服务器812将消息从特定收发消息客户端应用804发送到另一收发消息客户端应用804,媒体文件(例如,图像或视频)从收发消息客户端应用804发送到收发消息服务器应用814,以及对于另一收发消息客户端应用804的可能访问,媒体数据(例如,故事)的集合设置,客户端装置802的用户的朋友列表的检索,这种集合的检索,消息和内容的检索,社交图中的朋友的添加和删除,社交图中的朋友的位置,以及应用事件(例如,与收发消息客户端应用804相关)的打开。

应用服务器812主管多个应用和子系统,包括收发消息服务器应用814、图像处理系统816和社交网络系统822。收发消息服务器应用814实现了多个消息处理技术和功能,特别是与从收发消息客户端应用804的多个实例接收的消息中包含的内容(例如,文本和多媒体内容)的聚合和其它处理相关。如将更详细地描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如,被称为故事或图库)。这些集合然后由收发消息服务器应用814提供给收发消息客户端应用804。鉴于用于这种处理的硬件要求,数据的其它处理器和存储器密集处理同样可由收发消息服务器应用814在服务器端执行。

应用服务器812同样包括图像处理系统816,该图像处理系统816专用于执行各种图像处理操作,典型地关于在收发消息服务器应用814处的消息有效载荷内接收的图像或视频。

社交网络系统822支持各种社交网络功能和服务,并使这些功能和服务可用于收发消息服务器应用814。为此,社交网络系统822维护并访问数据库820内的实体图304。由社交网络系统822支持的功能和服务的示例包括消息系统800的其他用户的识别(其中特定用户与该其他用户具有关系或者是特定用户“跟随”该其他用户),以及还有其它实体和特定用户的兴趣的识别。

应用服务器812通信地耦接到数据库服务器818,该数据库服务器818有助于对数据库820的访问,在该数据库820中存储与由收发消息服务器应用814处理的消息相关联的数据,

图9是示出可以安装在上述任何一个或多个装置上的软件902的架构的框图900。例如,在各种实施例中,客户端装置110、120、130和服务器系统150可以使用软件902的一些或所有元件来实现,以启用短暂群组聊天和相关联的内容通信。图9仅仅是软件架构的非限制性示例,并且应当理解,可以实现许多其它架构以便于在此描述的功能。在各种实施例中,软件902由诸如图11的机器1100的硬件实现,该机器1100包括处理器1110、存储器1130和输入/输出(i/o)组件1150。在该示例架构中,软件902可以被概念化为层的栈(stack),其中每个层可以提供特定功能。例如,软件902包括诸如操作系统904、库906、框架908和应用910的层。在操作上,应用910通过软件栈调用api调用(calls)912,并响应于api调用912接收消息914,与一些实施例一致。

在各种实施方式中,操作系统904管理硬件资源并提供公共服务。操作系统904包括例如内核920、服务922和驱动器924。与一些实施例一致,内核920用作在硬件和其它软件层之间的抽象层。例如,内核920提供存储器管理、处理器管理(例如,调度)、组件管理、网络连接和安全设置,以及其它功能。服务922可以为其它软件层提供其它公共服务。根据一些实施例,驱动器924负责控制底层硬件或与底层硬件接口连接。例如,驱动器924可以包括显示驱动器、相机驱动器、低能量驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等。

在一些实施例中,库906提供由应用910利用的低等级公共基础架构。库906可以包括提供函数的系统库930(例如,c标准库),函数诸如存储器分配函数、字符串操作函数、数学函数等。此外,库906可以包括api库932,诸如媒体库(例如,支持各种媒体格式的呈现和操纵的库,诸如运动图像专家组-4(mpeg4)、高级视频编码(h.264或avc)、运动图像专家组-3(mp3)、高级音频编码(aac)、自适应多速率(amr)音频编解码器、联合图像专家组(jpeg或jpg)或便携式网络图形(png))、图形库(例如,用于在显示器上的图形内容中呈现二维(2d)和三维(3d)的opengl框架)、数据库库(例如,提供各种关系数据库函数的sqlite)、网库(例如,提供网页浏览功能的webkit)等。库906同样可以包括各种其它库934,以向应用910提供许多其它api。

根据一些实施例,框架908提供可由应用910利用的高等级公共架构。例如,框架908提供各种图形用户界面(gui)功能、高等级资源管理、高等级位置服务等。框架908可以提供可由应用910利用的其它api的广泛范围,其中的一些可以专用于特定操作系统904或平台。

在示例实施例中,应用910包括家庭应用950、联系人应用952、浏览器应用954、书籍阅读器应用956、位置应用958、媒体应用960、收发消息应用962、游戏应用964以及各种各样的其它应用,诸如第三方应用966。根据一些实施例,应用910是执行程序中限定的功能的程序。可以利用各种编程语言来创建以各种方式构造的一个或多个应用910,诸如面向对象的编程语言(例如,objective-c、java或c++)或过程编程语言(例如,c或汇编语言)。在具体示例中,第三方应用966(例如,由特定平台的供应商之外的实体使用androidtm或iostm软件开发工具包(sdk)开发的应用)可以是在移动操作系统上运行的移动软件,诸如iostm、androidtmphone或其它移动操作系统。在该示例中,第三方应用966可以调用由操作系统904提供的api调用912,以便于在此描述的功能。

一些实施例可以特别地包括聊天应用967。在某些实施例中,这可以是操作以管理与诸如服务器系统150的服务器系统的通信的独立应用。聊天应用967可以包括用于多个用户界面的实施方式,包括提供用于不同群组聊天和内容通信的单元的顶层流界面,以及系统设置、单独群组聊天消息流或任何其它界面材料,诸如图2-6中呈现的示例界面。聊天应用967同样可以管理如上述短暂通信的系统操作所限定的聊天消息和其它内容消息信息的自动删除,其中在所有群组用户查看后群组聊天中的文本消息被自动删除。在其它实施例中,该功能可以与另一应用集成,诸如社交媒体应用960或另一此类应用。在一些实施例中,聊天应用967可以使用机器1100的相机装置来管理内容的收集,经由i/o组件1150与服务器系统进行通信,以及存储器1130中接收到的消息的接收和存储,作为内容消息的通信的一部分。消息和相关联内容的呈现可以由聊天应用967使用不同的框架908、库906元件或在机器1100上操作的操作系统904元件进行管理。

图10示出了与一些实施例一致的执行移动操作系统(例如iostm、androidtmphone或其它移动操作系统)的示例移动装置1000。移动装置1000可以在某些实施例中实现软件架构902。在一个实施例中,移动装置1000包括可操作以从用户接收触觉数据的触摸屏。图10示出了可以用于群组聊天、文本消息和其它此类内容的显示区域1002。用户可以物理地触摸移动装置1000,并且响应于触摸,移动装置1000可以确定诸如触摸位置、触摸力或手势运动的触觉数据。在各种示例实施例中,移动装置1000显示可操作以启动应用910的主屏幕,或以其它方式管理移动装置1000的各个方面。在一些示例实施例中,主屏幕提供诸如电池寿命、连接性或其它硬件状态的状态信息。用户可以通过触摸相应的用户界面元素所占据的区域来激活用户界面元素。以该方式,用户与移动装置1000的应用910进行交互。例如,触摸包含在主屏幕中的特定图标所占据的区域,以使得启动与特定图标对应的应用910。

在某些实施例中,可以在作为客户端装置110、120操作的移动装置1000的触摸屏内呈现内容,并且触摸输入可用于发起与服务器系统150的通信,作为群组聊天的一部分。

许多种类的应用910(也称为“应用app”)可以在移动装置1000上执行,诸如本地应用(例如,以iostm上运行的objective-c、swift或另一适用语言编程的应用,或者以androidtm上运行的java编程的应用910),移动web应用(例如,以超文本标记语言-5(html5)编写的应用910)或混合应用(例如,启动html5会话的本地壳应用910)。例如,移动装置1000包括收发消息应用、录音应用、相机应用、书籍阅读器应用、媒体应用、健身应用、文件管理应用、位置应用、浏览器应用、设置应用、联系人应用、电话呼叫应用或其它应用(例如游戏应用、社交网络应用、生物计量监测应用)。在另一示例中,移动装置1000包括诸如的社交收发消息应用,其与一些实施例一致,允许用户将公共内容发送到服务器系统550,并且从服务器系统550接收消息。该snapchat应用910可以另外实现除了在此描述的群组聊天消息之外的各种短暂图像和/或视频内容消息的交换。

图11是示出根据一些实施例能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此讨论的任何一种或多种方法的机器1100的组件的框图。具体地,图11示出了以计算机系统的示例形式的机器1100的示意图,在该计算机系统内可以执行用于使机器1100执行在此讨论的任何一种或多种方法的指令1116(例如,软件、程序、应用910、小程序、应用或其它可执行代码)。在替代实施例中,机器1100作为独立装置操作或者可以被耦接(例如,联网)到其它机器。在网络部署中,机器1100可以在服务器-客户端网络环境中以服务器机器550或客户端装置110、120的能力(capacity)操作,或者作为对等(或分布式)网络环境中的对等(peer)机器。机器1100可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、笔记本计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动装置1000、可穿戴装置(例如,智能手表)、智能家居装置(例如,智能家电)、其它智能装置、网络装置、网络路由器、网络交换机、网络桥接器、或者依次或以其它方式指定机器1100将采取的动作的能够执行指令1116的任何机器。此外,虽然只示出单个机器1100,但是术语“机器”同样应被认为包括单独地或联合地执行指令1116以执行在此所讨论的任何一种或多种方法的机器1100的集合。

在各种实施例中,机器1100包括处理器1110、存储器1130以及i/o组件1150,其可被配置成经由总线102与彼此通信。在示例实施例中,处理器1110(例如,中央处理单元(cpu)、简化指令集计算(risc)处理器、复合指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)、另一处理器或其任何合适的组合)包括例如可以执行指令1116的处理器1112和处理器1114。术语“处理器”旨在包括多核处理器1110,该多核处理器1110可以包括可同时执行指令1116的两个或更多个独立处理器1112、1114(同样称为“核”)。尽管图11示出了多个处理器1110,但是机器1100还可以包括具有单核的单个处理器1110、具有多核的单个处理器1110(例如,多核处理器1110)、具有单核的多个处理器1112、1114、具有多核的多个处理器1110、1112或其任何组合。

根据一些实施例,存储器1130包括主存储器1132、静态存储器1134和经由总线1102可被处理器1110访问的存储单元1136。存储单元1136可以包括机器可读介质1138,在该机器可读介质1138上存储了体现在此所述的任何一种或多种方法或功能的指令1116。在由机器1100的其执行期间,指令1116同样可以完全或至少部分地驻留在主存储器1132内、静态存储器1134内、至少一个处理器1110内(例如,在处理器的高速缓冲存储器内),或者任何合适的组合。因此,在各种实施例中,认为主存储器1132、静态存储器1134和处理器1110是机器可读介质1138。

如在此所使用的,术语“存储器”是指能够临时或永久地存储数据的机器可读介质1138,并且可以认为其包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪速存储器和高速缓冲存储器。虽然在示例实施例中机器可读介质1138被示为单个介质,但应当认为术语“机器可读介质”包括能够存储指令1116的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。同样应将术语“机器可读介质”视为包括能够存储用于由机器(例如,机器1100)执行的指令(例如,指令1116)的任何介质或多个介质的组合,使得在由机器1100的一个或多个处理器(例如,处理器1110)执行指令1116时使机器1100执行在此描述的任何一个或多个的方法。因此,“机器可读介质”是指单个存储设备或装置,以及包括多个存储设备或装置的“基于云”的存储系统或存储网络。因此,术语“机器可读介质”应被视为包括但不限于以固态存储器(例如,闪速存储器)、光学介质、磁性介质、其它非易失性存储器(例如,可擦除可编程只读存储器(eprom))或其任何合适的组合的形式的一个或多个数据存储库。术语“机器可读介质”特别排除非法定信号本身。

i/o组件1150包括用于接收输入、提供输出、产生输出、发送信息、交换信息、采集测量等的各种组件。通常,应当理解,i/o组件1150可以包括图11中未示出的许多其它组件。仅为简化后面讨论,根据功能对i/o组件1150分组,并且分组不是限制性的。在各种示例实施例中,i/o组件1150包括输出组件1152和输入组件1154。输出组件1152包括视觉组件(例如,诸如等离子体显示面板(pdp)的显示器、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学组件(例如,扬声器)、触觉组件(例如,振动电机)、其它信号发生器等。输入组件1154包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指示仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏或其它触觉输入组件)、音频输入组件(例如,麦克风)等。

在一些另外的示例实施例中,i/o组件1150包括各种其它组件中的生物计量组件1156、运动组件1158、环境组件1160或位置组件1162。例如,生物计量组件1156包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1158包括加速度传感器组件(例如,加速度计)、重力传感器组件、转动传感器组件(例如陀螺仪)等。环境组件1160包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、近距离传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,机器嗅觉检测传感器、气体检测传感器,以便为了安全而检测危险气体浓度或测量大气中的污染物),或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。位置组件1162包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高程传感器组件(例如,高度计或气压计,其可以检测可能从哪个高程导出的空气压力)、定向传感器组件(例如,磁力计)等。

可以使用各种技术来实现通信。i/o组件1150可以包括通信组件1164,其可操作以分别经由耦接器1182和耦接器1172将机器1100耦接到网络1180或装置1170。例如,通信组件1164包括网络接口组件或与网络1180接口连接的另一合适装置。在其它示例中,通信组件1164包含有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,低能量)、组件和经由其它模式提供通信的其它通信组件。装置1170可以是另一机器1100,或各种外围装置(例如,经由usb耦接的外围装置)中的任何一个。

此外,在一些实施例中,通信组件1164检测标识符,或包括可操作以检测标识符的组件。例如,通信组件1164包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(upc)条形码的一维条形码、诸如快速响应(qr)代码、aztec代码、数据矩阵、dataglyph、maxicode、pdf417、超码、统一商业代码缩减空格符号(uccrss)-2d条形码和其它光学代码的多维条形码)、声学检测组件(例如,用于识别标记的音频信号的麦克风)、或其任何合适的组合。此外,可以经由通信组件1164来导出各种信息,诸如经由因特网协议(ip)地理位置的位置、经由信号三角度的位置、经由检测可指示特定位置的或nfc信标信号的位置等。

传输介质

在各种示例实施例中,网络1180的一个或多个部分可以是自组织网络、内联网、外部网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个或更多个此类网络的组合。例如,网络1180或网络1180的一部分可以包括无线或蜂窝网络,并且耦接器1182可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或另一种类型的蜂窝或无线耦接。在该示例中,耦接器1182可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线业务(gprs)技术、gsm演进增强型数据速率(edge)无线电通信技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织限定的其它标准、其它远程协议或其它数据传输技术。

在示例实施例中,使用传输介质经由网络接口装置(例如,在通信组件1164中包括的网络接口组件),并且利用多个众所周知的传输协议(例如,超文本传输协议(http))中的任何一个,通过网络1180发送或接收指令1116。类似地,在其它示例实施例中,使用传输介质经由耦接器1172(例如,对等耦接)向装置1170发送或接收指令1116。术语“传输介质”应被视为包括能够存储、编码或携带由机器1100执行的指令1116的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于这种软件的通信。

此外,机器可读介质1138是非暂态的(换句话说,不具有任何短暂信号),因为它不包含传播信号。然而,将机器可读介质1138标记为“非暂态”不应被解释为意味着介质不能移动,应该认为介质1138可从一个物理位置传送到另一物理位置。另外,由于机器可读介质1138是有形的,因此可以认为介质1138是机器可读装置。

本上下文中的“客户端装置”是指与通信网络接口连接以从一个或多个服务器系统或其它客户端装置获得资源的任何机器。客户端装置可以是(但不限于)移动电话、台式计算机、笔记本计算机、pda、智能电话、平板计算机、超书籍、上网本、笔记本计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏机、机顶盒或用户可能用于访问网络的任何其它通信装置。

本上下文中的“通信网络”是指网络的一个或多个部分,该网络可以是自组织网络、内联网、外部网、vpn、lan、wlan、wan、wwan、man、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个或更多个此类网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦接可以是cdma连接、gsm连接或其它类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何一种,诸如ixrtt、evdo技术、gprs技术、edge技术、包括3g的3gpp、4g网络、umts、hspa、wimax、lte标准、由各种标准制定组织限定的其它标准、其它远程协议或其它数据传输技术。

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

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

本上下文中的“组件”是指具有由功能或子例程调用、分支点、api或提供特定处理或控制功能的分区或模块化的其它技术定义的边界的装置、物理实体或逻辑。组件可以经由它们的接口与其它组件相结合,以执行机器过程。组件可以是被设计为与其它组件一起使用的组装的功能硬件单元和通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,在机器可读介质上实现的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以一定的物理方式配置或排列。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或处理器组)可以由软件(例如,应用或应用部分)配置为操作为执行如在此所述的某些操作的硬件组件。硬件组件同样可以被机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括被永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件同样可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其它可编程处理器执行的软件。一旦由这种软件配置,则硬件组件就成为专门定制为执行所配置的功能的特定机器(或机器的特定组件),并且不再是通用处理器。应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现组件”)应理解为包括有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)以某些方式操作或执行在此所述的某些操作的实体。考虑到其中硬件组件被临时配置(例如,编程)的实施例,硬件组件中的每一个不需要在任何一个时刻中被配置或实例化。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以被配置为在不同时间分别为不同的专用处理器(例如,包括不同的硬件组件)。因此,软件相应地配置特定的处理器或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。硬件组件可以向其它硬件组件提供信息以及从其它硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在多个硬件组件同时存在的情况下,可以通过在两个或更多个硬件组件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过存储和检索存储器结构(其中多个硬件组件具有访问权限)中的信息来实现这种硬件组件之间的通信。例如,一个硬件组件可以执行操作并将该操作的输出存储在其通信耦接到的存储器装置中。然后,在稍后的时间,另外的硬件组件可以访问存储器装置以检索和处理所存储的输出。硬件组件同样可以发起与输入或输出装置的通信,并且可以对资源(例如,信息集合)进行操作。至少部分地由一个或多个处理器(其被临时配置(例如通过软件)或永久地配置为执行相关操作)执行在此描述的示例方法的各种操作。无论是临时还是永久配置,这种处理器可以构成以便执行在此所述的一个或多个操作或功能而操作的由处理器实现的组件。如在此所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,在此描述的方法可以至少部分地由处理器实现,其中特定处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或由处理器实现的组件执行。此外,一个或多个处理器同样可以操作以支持在“云计算”环境中或作为“软件即服务”(saas)的相关操作的性能。例如,可以由一组计算机(作为包括处理器的机器的示例)来执行至少一些操作,其中这些操作可经由网络(例如,因特网)以及经由一个或多个适当的接口(例如,api)访问。可以在处理器之间分配某些操作的性能,处理器不仅能够驻留在单个机器内,而且可横跨多个机器部署。在一些示例实施例中,处理器或由处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器场内)。在其它示例实施例中,处理器或由处理器实现的组件可以被分配为横跨多个地理位置。

本上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作代码”、“机器代码”等)操纵数据值并产生应用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑仿真的物理电路)。处理器可以例如是中央处理单元(cpu)、精简指令集计算(risc)处理器、复合指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、asic、射频集成电路(rfic)或其任何组合。处理器可以进一步是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。

本上下文中的“时间戳”是指识别某些事件何时发生的字符序列或编码信息(例如,给出日期和时间,有时准确到一秒的小部分)。在一些实施例中,时间戳可以被用作删除标准的一部分或者作为删除触发来确定自生成或发送消息起的时间长度,并且其用于短暂消息的删除(例如,来自通信系统或通信系统中的客户端装置的短暂消息的内容删除)。

“删除触发”和“删除标准”是指当由装置或系统的方面识别时发起短暂内容(例如,文本、图像、视频、元数据等)的删除的规则或状态。在一些实施例中,来自短暂消息(例如,聊天消息)的一段短暂内容的删除与在多个不同装置处发生的多个标准或一个标准相关联。类似地,在一些实施例中,短暂内容与多个独立的删除触发或标准相关联,使得即使在没有满足与删除相关联的另一状态的情况下,针对删除的任何可能的独立基础,确定与删除相关联的状态发生可用于删除短暂内容。在一些实施例中,不同的短暂内容可以与不同组的删除触发(例如删除标准)相关联。例如,第一短暂消息可以与删除触发a相关联,第二短暂消息可以与删除触发b相关联,该删除触发b与删除触发a不同,第三短暂消息可以与删除触发(a和b)相关联,并且第四短暂消息可以与两个删除触发相关联,使得a或b将触发删除。

该专利文献的公开的一部分包含受版权保护的材料。版权所有者不反对任何专利文献或专利公开的传真复制,如专利商标局专利文件或记录中所示,但除此之外保留所有版权。以下通知适用于以下描述的软件和数据,以及构成该文档的一部分的图:版权2016,snapchat公司,保留所有权利。

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

在整个说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然示出一个或多个方法的单独操作并将其描述为单独的操作,但可以并行地执行单独操作中的一个或多个,并且不需要以所示的顺序执行操作。作为示例配置中的单独组件呈现的结构和功能可以被实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其它变化、修改、添加和改进落入本文主题的范围内。

如在此所使用的,术语“或”可以以包括或排除的方式来解释。此外,可以为在此所述的资源、操作或结构提供多个实例作为单个实例。此外,各种资源、操作、模块、发电机和数据存储之间的边界是一定程度任意的,并且在特定说明性配置的上下文中示出了特定的操作。可以设想功能的其它分配,并且其可以落入本公开的各种实施例的范围内。通常,作为示例配置中的单独资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为单独的资源。这些和其它变化、修改、添加和改进落入由所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。

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