CN107624239A - 在电子通信线程中提供增强消息元素 - Google Patents

在电子通信线程中提供增强消息元素 Download PDF

Info

Publication number
CN107624239A
CN107624239A CN201580079750.5A CN201580079750A CN107624239A CN 107624239 A CN107624239 A CN 107624239A CN 201580079750 A CN201580079750 A CN 201580079750A CN 107624239 A CN107624239 A CN 107624239A
Authority
CN
China
Prior art keywords
message element
user
message
communication thread
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201580079750.5A
Other languages
English (en)
Inventor
卡梅伦·詹姆斯·皮克特
帕特里克·安德鲁·拉森
罗素·威廉·安德鲁斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of CN107624239A publication Critical patent/CN107624239A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开涉及用于在电子通信线程中提供消息元素的系统和方法。例如,本文描述的系统和方法识别电子通信线程中的消息元素,并且将消息元素之间的交互添加到电子通信线程。

Description

在电子通信线程中提供增强消息元素
技术领域
本公开的一个或多个实施例总体涉及电子通信。更具体地,本公开的一个或多个实施例涉及在电子通信中智能地增强消息元素。
背景技术
计算装置(例如,计算机、平板电脑和智能电话)为人们提供了彼此连接和通信的多种方式。例如,计算装置可以执行提供发送和接收电子消息的各种方法的电子通信应用。传统的电子通信应用通常允许用户通过文本消息、即时消息、社交网帖子和其他形式的电子通信与其他用户通信。此外,电子通信可以包括各种内容,例如,文本、图像、视频和/或其他数据。一般来说,电子通信已经成为人们彼此连接和通信的流行方式。
由于人们可以使用电子通信进行通信的各种方式以及电子装置的便利性和移动性,用户经常面临每天接收和发送大量电子消息。为了提高发送和接收电子消息的效率,许多传统的电子通信应用允许用户在电子消息内包括表情符号、贴画、图像等,作为通信的快捷形式。表情符号、贴画、图像等可以表示通信的一种快捷形式,因为与输入传达由表情符号使用传统的文本提供的思想的消息相比较,可能需要较少的用户输入(例如,较少键入)来将表情符号包含在电子通信中。因此,在电子消息中包括表情符号、贴画、图像等,可以允许用户减少输入几个字或甚至句子的需要。
表情符号是受欢迎的,因为允许用户传达使用文本难以传达的感觉和情感。使用表情符号、贴画等可以帮助用户进行电子对话,这更好地允许非语言提示的通信。因此,表情符号、贴画等可以帮助用户以面对面通信容易传达的方式表达自己,但是单独使用文本难以表达。
使用表情符号、贴画等可以提高发送和接收电子信息的效率。尽管如此,在常规使用表情符号、贴画等方面存在若干缺点。例如,使用表情符号、贴画等,不允许在面对面交谈中常见的非言语交流的交互和相互作用。具体地,在第一用户向第二用户发送表情符号之后,第一用户没有指示是否以及如何接收表情符号。换言之,第一用户通常不知道第二用户是否接收到表情符号,第二用户是否实际看到表情符号,或者第二用户是否在发送表情符号时理解第一用户的意思。
此外,通常在电子通信中使用的消息元素不稳固。例如,典型的表情符号是电子通信应用程序仅仅添加到两个用户之间的通信线程的静态图像。在某些情况下,表情符号可能具有允许初步动画的格式。但甚至动画表情符号一般限于重复和非交互运动的几个独立框架。因此,在电子通信中使用符号的现有方法通常不能向两个或更多个用户之间的电子通信添加任何表达或交互层。
因此,在电子通信中利用符号的当前方法存在若干缺点。
发明内容
本文所描述的一个或多个实施例利用用于在电子通信中提供增强消息元素的系统和方法提供了益处和/或解决本领域中的一个或多个前述或其他问题。本文描述的一个或多个实施例包括用于检测通信线程中的相应消息元素的系统和方法。在检测到对应的消息元素之后,系统和方法可以促使在相应消息元素之间出现交互,用替代的消息元素替换对应的消息元素,或者在通信线程中提供增强消息元素。例如,在一个实施例中,本文所述的系统和方法可以识别由通信线程中的第一用户提交的消息元素以及由通信线程中的第二用户提交的相应消息元素。响应于识别两个消息元素,本文描述的系统和方法可以显示在通信线程内的消息元素之间的交互。因此,本文描述的系统和方法提供了鲁棒且交互的通信特征,其将另一层表达式添加到电子通信中。
将在下面的描述中阐述本公开的额外特征和优点,并且部分地通过描述显而易见,或者可以通过这种示例性实施例的实践来了解。这种实施例的特征和优点可以通过在所附权利要求中特别指出的仪器和组合来实现和获得。这些和其他特征将从以下描述和所附权利要求中变得更加完全显而易见,或者可以通过下文阐述的这种示例性实施例的实践来了解。
在所附权利要求中特别公开根据本发明的实施例,涉及一种方法、存储介质、系统和计算机程序产品,其中,在一个权利要求类别(例如,方法)中提到的任何特征也可以在另一权利要求类别(例如,系统)中被要求。所附权利要求中的依赖或引用仅为了正式原因而选择。然而,也可以要求对故意引用到任何先前的权利要求(特别是多个依赖性)所造成的任何主题,从而公开并且可以要求权利要求及其特征的任何组合,而不管所附权利要求中选择的依赖性。可以要求保护的主题不仅包括在所附权利要求中阐述的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提到的每个特征可以与权利要求中的任何其他特征或其他特征的组合相结合。此外,可以在单独的权利要求中和/或与本文所描述或描绘的任何实施例或特征的或与所附权利要求的任何特征的任何组合中要求保护本文所描述或描绘的任何实施例和特征。
在根据本发明的实施例中,一种方法包括:识别由第一用户在通信线程中提交的第一消息元素;识别由第二用户在通信线程中提交的第二消息元素;由一个或多个处理器确定在阈值时间内提交第一消息元素和第二消息元素;响应于确定在阈值时间内提交第一消息元素和第二消息元素,识别对应于第一消息元素和第二消息元素的第三消息元素;并且在通信线程中用第三消息元素替换第一消息元素和第二消息元素。
在根据本发明的实施例中,一种计算机实现的方法包括:在第一计算装置,特别是在移动装置处,识别由通信线程中的第一用户或用户装置提交的第一内容项,特别是消息元素,特别用于传输到第二用户或用户装置;在第一计算装置处,识别由通信线程中的第二用户或用户装置提交并由第一用户或用户装置接收的第二内容项,特别是消息元素;由所述第一计算装置的一个或多个处理器确定在预定的、特别是用户定义的阈值时间内提交第一内容项和第二内容项;响应于确定在阈值时间内提交第一内容项和第二内容项,识别和/或生成对应于第一内容项和第二内容项的第三内容项,特别是消息元素;并且在通信线程中用第三内容项替换第一内容项和第二内容项,和/或提供用于显示第三内容项,作为第一内容项和第二内容项的替换,特别用于增强通信线程的可读性。
识别对应于第一消息元素和第二消息元素的第三消息元素可以包括访问查找表并从所述查找表识别所述第一消息元素和所述第二消息元素的组合表示第三消息元素。
在通信线程中用第三消息元素替换第一消息元素和第二消息元素可以包括:从所述通信线程去除包含所述第一消息元素的第一单元;从所述通信线程去除包含所述第二消息元素的第二单元;并且在通信线程中提供包含第三消息元素的新单元。
在通信线程中提供包含第三消息元素的新单元可以包括将所述通信线程中的新单元定位在所述第一单元和第二单元先前占据的位置。
在通信线程中用第三消息元素替换第一消息元素和第二消息元素可以包括在将所述新单元定位在所述通信线程中之后重新渲染所述通信线程,从而去除第一消息元素和第二消息元素并渲染第三消息元素。
在根据本发明的实施例中,一种方法可以包括在预定时间段之后:从通信线程去除包含第三消息元素的新单元;在通信线程中提供包含第一消息元素的第一单元;在通信线程中提供包含第二消息元素的第二单元;并且重新渲染通信线程,从而去除第三消息元素并渲染第一消息元素和第二消息元素。
在根据本发明的实施例中,一种方法可以包括访问与所述第三消息元素相关联的元数据,以识别所述预定时间段。
在根据本发明的实施例中,其中:所述第一消息元素包括第一贴画;所述第二消息元素包括第二贴画;并且所述第三消息元素包括第三贴画。
在根据本发明的实施例中,其中:所述第一贴画包括第一图示;所述第二贴画包括第二图示;并且所述第三贴画包括包含第一图示和第二图示的动画。
在根据本发明的实施例中,其中:所述第一消息元素包括第一图像;所述第二消息元素包括第二图像;并且所述第三消息元素包括包含第一图像和第二图像的拼贴。
确定在阈值时间内提交第一消息元素和第二消息元素可以包括:访问与第一消息元素相关联的元数据,以识别第一消息元素的提交时间;访问与第二消息元素相关联的元数据,以识别第二消息元素的提交时间;并且将第一消息元素的提交时间与第二消息元素的提交时间之间的差异与阈值时间进行比较。
在根据本发明的实施例中,一种方法包括:识别由第一用户在通信线程中提交的第一消息元素;识别由第二用户在通信线程中提交的第二消息元素;由一个或多个处理器确定在阈值时间内提交第一消息元素和第二消息元素;响应于确定在阈值时间内提交第一消息元素和第二消息元素,识别对应于第一消息元素和第二消息元素的第三消息元素;并且在通信线程中用第三消息元素替换第一消息元素和第二消息元素。
在根据本发明的实施例中,一种移动装置包括:至少一个处理器;以及至少一个非暂时性计算机可读存储介质,其上存储有指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:识别由第一用户在通信线程中提交的第一消息元素;识别由第二用户在通信线程中提交的第二消息元素;确定在阈值时间内提交第一消息元素和第二消息元素;响应于确定在阈值时间内提交第一消息元素和第二消息元素,识别对应于第一消息元素和第二消息元素的第三消息元素;并且在通信线程中用第三消息元素替换第一消息元素和第二消息元素。
在根据本发明的实施例中,在移动装置中:所述第一消息元素包括第一图示;所述第二消息元素包括第二图示;并且所述第三消息元素包括动画。
在根据本发明的实施例中,一种移动装置可以包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置在打开与所述通信线程相关联的消息应用时:解析通信线程的至少一部分,以识别通信线程中包括的任何消息元素;识别在阈值时间内发送的相应的消息元素对;在通信线程中,用对应的增强消息元素替换在阈值时间内发送的相应的消息元素对;并且渲染包括在通信线程中的消息元素。
在根据本发明的实施例中,一种移动装置可以包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:访问与第一消息元素相关联的元数据,以识别第一消息元素的提交时间;访问与第二消息元素相关联的元数据,以识别第二消息元素的提交时间;并且将第一消息元素的提交时间与第二消息元素的提交时间之间的差异与阈值时间进行比较。
促使所述移动装置在所述通信线程中用第三消息元素替换第一消息元素和第二消息元素的指令可以促使所述移动装置:从通信线程去除包含第一消息元素的第一单元;从通信线程去除包含第二消息元素的第二单元;在通信线程中提供包含第三消息元素的新单元;并且在通信线程中提供新单元之后重新渲染通信线程,从而去除第一消息元素和第二消息元素并渲染第三消息元素。
促使所述移动装置在通信线程中提供包含所述第三消息元素的新单元的指令可以促使所述移动装置配置所述新单元的大小,以对应于第一单元和第二单元的组合尺寸。
在根据本发明的实施例中,一种移动装置可以包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:在通过移动装置接收到指令以将第一消息元素发送到与第二用户相关联的客户端移动装置时,在通信线程中渲染第一消息元素;在所述阈值时间内,接收从所述客户端装置发送的指示从所述第二用户发送了所述第二消息元素的消息;在通信线程中渲染第二消息元素;并且在用第三消息元素在通信线程中替换第一消息元素和第二消息元素之后,重新渲染通信线程。
在根据本发明的实施例中,一种非暂时性计算机可读介质可以在其上存储有指令,当由至少一个处理器执行时,所述指令可以促使所述至少一个处理器执行以下步骤,包括:识别由第一用户在通信线程中提交的第一消息元素;识别由第二用户在通信线程中提交的第二消息元素;确定在阈值时间内提交第一消息元素和第二消息元素;响应于确定在阈值时间内提交第一消息元素和第二消息元素,识别对应于第一消息元素和第二消息元素的第三消息元素;并且在通信线程中用第三消息元素替换第一消息元素和第二消息元素。
在根据本发明的实施例中,一种非暂时性计算机可读介质可以包括指令,当由至少一个处理器执行时,所述指令促使所述至少一个处理器执行以下步骤,包括:识别通信线程中的第四消息元素;确定在第二阈值时间内提交第四消息元素、第二消息元素和第一消息元素;响应于确定在第二阈值时间内提交第四消息元素、第二消息元素和第一消息元素,识别与第一消息元素、第二消息元素以及第四消息元素对应的第五消息元素;并且在通信线程中用第五消息元素替换第一消息元素、第二消息元素和第四消息元素。
在根据本发明的另一实施例中,一种或多种计算机可读非暂时性存储介质体现软件,所述软件在执行时能操作,以执行根据本发明或上述任何实施例的方法。
在根据本发明的另一实施例中,一种系统包括:一个或多个处理器;以及至少一个存储器,其耦合到所述处理器并且包括能由所述处理器执行的指令,所述处理器在执行所述指令时能操作,以执行根据本发明或上述任何实施例的方法。
在根据本发明的另一实施例中,一种计算机程序产品优选地包括计算机可读非暂时性存储介质,所述计算机程序产品在数据处理系统上执行时能操作,以执行根据本发明或上述任何实施例的方法。
附图说明
为了描述可以获得上述和其他优点和特征的方式,将通过参考附图中所示的具体实施例来渲染上面简要描述的一个或多个实施例的方面的更具体描述。应当注意,附图不是按比例绘制的,并且在整个附图中,为了说明的目的,类似结构或功能的元件通常由相同的附图标记表示。理解这些附图仅描绘了典型的实施例,因此不被认为是限制范围,将通过使用附图以额外的特征和细节来描述和解释本公开的一个或多个实施例,其中:
图1示出了根据一个或多个实施例的电子通信系统的详细示意图;
图2示出了根据一个或多个实施例的用于实现电子通信系统的环境的方框图;
图3A-3F示出了根据一个或多个实施例的用于便于在电子通信线程中显示消息元素的一系列用户界面;
图4A-4D示出了根据一个或多个实施例的用于便于在电子通信线程中显示消息元素的一系列用户界面;
图5示出了根据一个或多个实施例的在电子通信线程中管理消息元素的方法中的一系列活动的流程图;
图6示出了根据一个或多个实施例的在电子通信线程中管理消息元素的方法中的一系列活动的流程图;
图7示出了根据一个或多个实施例的示例性计算装置的方框图;
图8是根据一个或多个实施例的社交网系统的示例性网络环境;以及
图9示出了根据一个或多个实施例的社交图。
具体实施方式
本文描述的一个或多个实施例包括利用消息元素的电子通信系统。例如,本文描述的一个或多个实施例的电子通信系统识别通信线程中的参与者发送的两个或多个相应的消息元素。然后,电子通信系统用增强消息元素替换或修改相应的消息元素。
在一个或多个实施例中,电子通信系统可以在通信线程中搜索一个或多个消息元素。如果电子通信系统识别从一个通信参与者发送的第一消息元素,则电子通信系统可以在通信线程中搜索从不同通信参与者发送的第二对应消息元素。电子通信系统可以用增强消息元素替换通信线程中的相应消息元素。在至少一个实施例中,增强消息元素可以显示电子通信系统已经取代的所识别的相应消息元素之间的交互。
电子通信系统可以关联几对或多个消息元素,以创建相应的消息元素。具体地,电子通信系统可以关联相关的消息元素。例如,电子通信系统可以关联两个翘起拇指(thumbs-up)贴画。电子通信系统然后可以将一个或多个额外或替代的消息元素与每组对应的消息元素相关联。例如,参考前面的示例,电子消息系统可以将顶拳(bump)动画和两个翘起拇指贴画相关联。因此,当第二用户响应于由第一用户发送的翘起拇指贴画发送翘起拇指贴画时,电子通信系统可以用顶拳动画代替两个翘起拇指贴画。因此,电子通信系统可以允许用户向交换电子通信添加另一层表达和通信。
电子通信系统可以响应于一个或多个触发而替换通信线程中的相应消息元素。例如,在一个实施例中,当电子通信系统确定在阈值时间段内发送的相应的消息元素时,电子通信系统可以用增强消息元素替换相应的消息元素。或者,电子通信系统可以在确定在阈值时间段内连续地或连续地发送相应的消息元素时用增强消息元素替换相应的消息元素。在另外的实施例中,用户可以提供触发替换对应的消息元素的输入。
如本文所使用的,电子消息元素(或简称为“消息元素”)是指表示用户消息、情绪、音调、气质或思想的电子通信的任何部分。在一个或多个实施例中,消息元素不包括常规文本。例如,消息元素可以包括一个或多个贴画、符号、图标、表情符号、图像、图示、动画、声音、视频剪辑、音频剪辑、可以经由电子通信发送的其他内容或其组合。例如,消息元素可以包括符号。然而,在另一示例中,单个消息元素可以包括图标、动画或声音。另外,在一个或多个实施例中,尽管消息元素不包括常规文本,但电子通信可以包括常规的书面语言(例如,即时消息可以包含消息:“祝一天愉快!”)。或者,电子通信可以仅包括消息元素(例如,即时消息可以包含消息:)。多个消息元素以及不同类型的消息元素可以包括在单个电子通信中。此外,在一个或多个实施例中,消息元素可以由常规文本组成。
消息元素可以包括系统生成的消息元素和用户生成的消息元素。通过示例,用户可以周期性地将包含各种消息元素的消息元素文件(例如,“贴画包”)下载到客户端计算装置(例如,移动电话、平板电脑、膝上型计算机等)。例如,在一个实施例中,消息元素文件可以包含大量的消息元素(例如,图示、图像和/或动画)。或者,用户可以创建诸如图像、音频或视频文件、图示、文本等消息元素。
每个消息元素或消息元素的类型可以包括标识符。电子通信系统可以将几对或几组组标识符与一个或多个增强或替代消息元素的标识符相关联。该关联可以允许电子通信系统用增强的或替代的消息元素替换对应的消息元素。
响应于识别通信线程中的两个相关联的消息元素,电子通信系统可以利用与第一和第二消息元素相关联的元数据来识别第三消息元素。电子通信系统然后可以用所识别的第三消息元素替换通信线程中的第一和第二相关联的消息元素。在一个或多个实施例中,第三消息元素是示出第一和第二消息元素的图示之间的交互的动画。
在一个或多个实施例中,并且从用户的角度来看,电子通信系统呈现无缝显示器,其显示彼此交互的来自第一用户的消息元素和来自第二用户的消息元素。消息元素之间的这种增加的交互向以前由简单地发送图像的用户组成的内容添加优雅和牢固的一层表达。电子通信系统可以促进一个或多个消息元素文件的发展和分发给用户,以用于电子通信。
如本文所使用的,“电子通信”是指从用户发送到一个或多个共同用户的电子消息。“社交网系统帖子”是指通过社交网系统从一个用户发送到与用户相关联的一个或多个共同用户的电子通信。在一个实施例中,社交网系统帖子是社交网系统发布到与用户的每个朋友相关联的新闻馈送(即,“墙”)的来自用户的电子通信。另外或替代地,社交网系统帖子可以是社交网系统添加到与社交网系统用户的特定群组或社区相关联的新闻馈送的来自用户的电子通信。
在一个或多个实施例中,“电子消息”是指发送者和接收者之间的消息。如上所述,社交网系统不是将电子消息发布到新闻馈送,而是可以将电子消息传递到与接收者相关联的私人收件箱。另外或替代地,电子消息可以是仅发送者和一组接收者之间的私人消息。在这种情况下,社交网系统可以将私人消息的副本传递到与这组收件人中的每个成员相关联的收件箱。电子消息的其他示例包括文本消息、即时消息或任何其他电子消息。
在一个或多个实施例中,电子通信与结构化数据相关联。如本文所使用的,“结构化数据”可以包括被构造成特定组、字段或类别和/或与电子消息的特定方面相关联的任何数据。结构化数据可以包括与社交网系统帖子相关的节点和边线信息相关联的元数据、与电子消息相关的信息、与社交网系统帖子或电子消息的作者相关的信息、以及与社交网系统中内的社交网系统帖子或电子消息相关的交互信息。为了说明,社交网系统帖子的结构化数据可以包括社交网系统帖子的文本、与社交网系统帖子的作者相关的信息、与社交网系统帖子相关的交互数据,包括由其他社交网系统用户添加到社交网系统帖子的评论、包括在社交网系统帖子中的图像(例如,数字照片)、视频、音频等。
与电子消息相关联的元数据可以包括对电子通信进行分类并指示电子通信的来源的信息。电子通信系统可以使用包括在元数据中的分类信息来组织和/或检索特定的电子通信。同样,电子通信系统可以使用包含在元数据中的源信息来识别与提交特定电子通信的社交网系统用户有关的信息。
在一个或多个实施例中,电子通信系统可以将用户之间的电子消息组织成通信线程。如本文所使用的,“通信线程”是在两个或更多个用户之间/之中来回发送的一组电子通信(即,电子消息)。在一个或多个实施例中,用户可以具有与共同用户的多个通信线程。因此,电子通信系统可以根据包括在每个通信线程中的共同用户来组织用户的通信线程。
图1示出了示出电子通信系统100(或简称为“系统100”)的示例性实施例的示意图。如图1所示,系统100可以包括用于执行本文所描述的过程和特征的各种部件。例如,如图1所示,系统100可以包括但不限于一个或多个服务器装置101、主机系统102,电子通信管理器104和客户端计算装置106a和106b。电子通信管理器104可以包括但不限于通信管理器122、消息元件引导器124和数据存储器126,该数据存储器包括用户数据128和通信数据130。客户端计算装置108a和108b可以包括包含显示管理器110a和110b的消息应用108a和108b、用户输入检测器112a和112b、消息元素管理器114a和114b、以及包括用户数据118a和118b以及消息元素数据120a和120b的应用数据存储器116a和116b。
主机系统102、电子通信管理器104的每个部件122-126、以及通过消息应用108a、108b的116a、116b的每个部件110a、110b可以使用计算机装置实现,该计算机装置包括至少一个处理器,该处理器执行使系统100执行本文所述的过程的指令。在一些实施例中,部件102-126可以由单个服务器装置101或在多个服务器装置101上实现。另外或替代地,一个或多个服务器装置和一个或多个客户端装置的组合可以实现部件102-126。此外,在一个实施例中,部件102-126可以包括硬件,例如,用于执行某个功能的专用处理装置。另外或替代地,部件102-126可以包括计算机可执行指令和硬件的组合。
在一个或多个实施例中,主机系统可以包括允许在用户帐户或客户端计算装置106a、106b之间交换电子消息的消息主机。另外或替代地,主机系统102可以包括允许消息收发的社交网系统。在这种情况下,主机系统102可以包括社交图132,如下面更详细描述的。
在一个或多个实施例中,消息应用108a、108b可以是安装在客户端计算装置106a、106b上的本地应用。例如,消息应用108a、108b可以是在诸如智能电话或平板电脑等移动装置上安装和运行的移动应用。或者,消息应用108a、108b可以是桌面应用程序、小部件或其他形式的本机计算机程序。或者,消息应用108a、108b可以是由客户端计算装置106a、106b访问的远程应用。例如,消息应用108a、108b可以是在客户端计算装置106a、106b的网络浏览器内执行的网络应用。
如上所述,如图1所示,消息应用108a、108b可以包括显示管理器110a、110b。显示管理器110a、110b可以提供、管理和/或控制允许用户撰写、查看和提交电子消息的图形用户界面(或简称为“用户界面”)。例如,显示管理器110a、110b可以提供便于显示电子消息的一个或多个通信线程的用户界面。同样,在一个或多个实施例中,显示管理器110a、110b可以提供便于显示社交网系统用户的新闻馈送或墙的用户界面。
更具体地,显示管理器110a、110b可以便于显示用户界面(例如,通过与客户端计算装置106a、106b相关联的显示装置)。例如,显示管理器110a、110b可以提供允许用户撰写、发送和接收电子消息的多个图形部件、对象和/或元件的用户界面。更具体地,显示管理器110a、110b可指示客户端计算装置106a、106b显示使用户能够查看电子消息的一组图形部件、对象和/或元件。
此外,显示管理器110a、110b可以指示客户端计算装置106a、106b显示便于用户输入以构成、发送和/或提交电子消息的一个或多个图形对象、控件或元件。为了说明,显示管理器110a、110b可以提供允许用户向消息应用108a、108b提供用户输入的用户界面。例如,显示管理器110a、110b可以提供允许用户将一种或多种类型的内容输入到电子消息内的一个或多个用户界面。如本文所使用的,“内容”是指作为电子消息的一部分包括的任何数据或信息。例如,术语“内容”在本文用于一般地描述文本、消息元素、图像、数字媒体、文件、位置信息或可以作为电子消息的一部分包括的任何其他数据。
显示管理器110a、110b还可以便于输入包括在电子消息中的文本或其他数据。例如,显示管理器110a、110b可以提供包括触摸屏键盘的用户界面。用户可以使用一个或多个触摸手势与触摸屏键盘交互,以输入文本,作为电子消息的一部分。例如,用户可以使用触摸屏键盘输入电子消息的文本。除了文本之外,包括触摸屏键盘的用户界面可以便于输入各种其他字符、贴画、符号、图标、表情符号或其他信息。
此外,显示管理器110a、110b可以在两个或多个图形用户界面之间提供和转换。例如,在一个实施例中,显示管理器110a、110b可以向社交网系统用户提供新闻馈送,包含通过社交网系统与用户相关联的来自共同用户的一个或多个社交网系统帖子。之后,响应于来自用户或电子通信管理器104的检测到的输入,显示管理器110a、110b可以转换到包括包含用户的各种通信线程的列表的第二图形用户界面。
如图1进一步所示,消息应用108a、108b可以包括用户输入检测器112a、112b。在一个或多个实施例中,用户输入检测器112a、112b可以以任何合适的方式检测、接收和/或方便用户输入。在一些示例中,用户输入检测器112a、112b可以相对于用户界面检测一个或多个用户交互。如本文所述,“用户交互”是指通过一个或多个输入装置从用户接收的单个交互或交互的组合。
例如,用户输入检测器112a、112b可以检测来自键盘、鼠标、触摸板、触摸屏和/或任何其他输入装置的用户交互。在客户端计算装置106a、106b包括触摸屏的情况下,用户输入检测器112a、112b可以从形成用户交互的用户检测到一个或多个触摸手势(例如,滑动手势、点击手势、缩小手势或放大手势)。在一些示例中,用户可以提供与用户界面的一个或多个图形对象或图形元素相关和/或指向用户界面的一个或多个图形对象或图形元素的触摸手势。
用户输入检测器112a、112b可另外或替代地接收表示用户交互的数据。例如,用户输入检测器112a、112b可以从用户接收一个或多个用户可配置参数、来自用户的一个或多个用户命令和/或任何其他合适的用户输入。用户输入检测器112a、112b可以从主机系统102的一个或多个部件或一个或多个远程位置接收输入数据。
响应于用户输入检测器112a、112b检测用户输入和/或接收其他数据,消息应用108a、108b可以执行一个或多个功能。通常,用户可以通过提供用户输入检测器112a、112b可以检测到的一个或多个输入来控制、导航和使用消息应用108a、108b。例如,响应于用户输入检测器112a、112b检测用户输入,消息应用108a、108b的一个或多个部件允许用户选择电子消息的接收者,组成电子消息,选择包括在电子消息内的内容,和/或向接收者发送电子消息。此外,响应于用户输入检测器112a、112b检测用户输入,消息应用108a、108b的一个或多个部件允许用户通过一个或多个用户界面导航,以评论接收到的电子消息、社交网系统帖子等。
还如图1所示,消息应用108a、108b可以包括消息元素管理器114a、114b。在一个或多个实施例中,消息元素管理器114a、114b可以识别通信线程中的消息元素。例如,如上所述,通信线程可以包括在两个或更多个用户之间来回发送的多个电子消息和消息元素。为了说明,第一用户可以向第二用户发送具有翘起拇指的贴画,第一用户和第二用户然后可以将其看作是第一用户和第二用户之间的通信线程的一部分。然后,第二用户可以向第一用户发送另一翘起拇指贴画。此时,消息元素管理器114a、114b可以识别与第一用户和第二用户相关联的通信线程中的两个翘起拇指贴画。
此外,消息元素管理器114a、114b可以分析与标识的消息元素相关联的元数据。例如,如上所述,消息元素可以与包括消息元素可以被分类的信息的元数据相关联。该信息可以包括与消息元素相关联的类别以及与消息元素相关联的描述和唯一标识符。元数据还可以包括标识其他相应的消息元素的信息以及与提交用于包含在通信线程中的消息元素的用户有关的信息。另外,与消息元素相关联的元数据可以包括消息元素提交给通信线程的日期和时间。
基于在与消息元素相关联的元数据中发现的信息以及通信线程中的其他信息,消息元素管理器114a、114b可以确定触发器是否存在或真实,表示是否应该替换所标识的消息元素。如上所述,如果消息元素管理器114a、114b确定在阈值时间内将第一消息元素和第二消息元素发送或添加到通信线程,则消息元素管理器114a、114b可以用第三消息元素替换第一和第二消息元素。在一个或多个实施例中,用户可以指定阈值的时间。或者,消息元素管理器114a、114b可以使用默认的时间(例如,30秒等)作为阈值时间。消息元素管理器114a、114b可以基于在提交两个消息元素的日期和时间确定在阈值时间内是否提交第一消息元素和第二消息元素。
消息元素管理器114a、114b可以根据基于文本的消息的内容来识别其他类型的触发。例如,消息元素管理器114a、114b可以利用自然语言处理来确定在两个或多个基于文本的消息之间是否存在触发。为了说明,消息元素管理器114a、114b可以确定在来自第一用户的消息(例如,“should we meet for lunch at that new place?(我们应该在新地点吃午饭吗?)”)与来自第二用户的消息(包括“Yes!That place on 1st Street!(是!在第一街的那个地方!)”)之间存在适当的触发器。在这种情况下,消息元素管理器114a、114b可以生成包括在消息线程中包括的地图显示的交互。
响应于确定在阈值时间内是否提交了第一和第二消息元素,消息元素管理器114a、114b可以识别第三消息元素。例如,如上所述,用户可以将包括第一消息元素和第二消息元素的消息元素文件下载到客户端计算装置106a、106b。消息元素文件可以包括消息元素的集合以及与每个消息元素相关联的标识符。在一个或多个实施例中,消息元素文件可以基于其中的消息元素的类别、描述或甚至唯一标识符被组织,使得相应的消息元素被分组在一起。在额外或替代实施例中,当通信线程中通信的用户之间的关系系数高于预定阈值(例如,基于与用户相关联的社交网系统活动数据)时,消息元素管理器114a、114b可以被限制为仅识别第三消息元素。
因此,在一个或多个实施例中并且为了识别对应于第一和第二消息元素的第三消息元素,消息元素管理器114a、114b可以利用与第一和第二消息元素相关联的元数据。例如,在一个实施例中,消息元素管理器114a、114b可以基于与第一和第二消息元素相关联的标识符(例如,标识号、关键字、标题等)来识别第三消息元素。在另一实施例中,消息元素管理器114a、114b可以基于与第一和第二消息元素相关联的描述来识别第三消息元素。
因此,在一个或多个实施例中,消息元素管理器114a、114b还可以管理一个或多个消息元素文件。例如,当用户最初在客户端计算装置106a、106b上下载和安装消息元素文件时,消息元素管理器114a、114b可以存储消息元素文件并且对包含在其中的消息元素进行编目。在至少一个实施例中,消息元素管理器114a、114b还可以联系电子通信管理器104,以周期性地检查对一个或多个消息元素文件的更新。
消息元素文件可以具有各种结构中的一个。例如,消息元素文件可以被格式化为查找表,其中,消息元素及其相关联的元数据存储在行和列的交叉点处。在这种情况下,可以基于唯一标识符和关键字来存储消息元素。或者,消息元素文件可以被格式化为链接列表、散列表、或者适合于存储消息元素的任何其他类型的存储结构。
在一个或多个实施例中,客户端计算装置106a、106b的用户可以利用不是来自消息元素文件的消息元素。例如,用户可以将存储在客户端计算装置106a上的数字照片发送给客户端计算装置106b的用户。在这种情况下,消息元素管理器114a、114b可以将数字照片消息元素添加到两个用户之间的通信线程。响应于客户端计算装置106b的用户将另一数字照片发送回客户端计算装置106a的用户,消息元素管理器114a、114b可以识别这两个数字照片消息元素,并确定在阈值时间内发送这两个数字照片消息元素。
此时,在一个或多个实施例中,消息元素管理器114a、114b不是从消息元素文件识别第三消息元素,而是可以基于与第一和第二消息元素相关联的类型识别模板。消息元素可以与诸如但不限于数字照片文件、数字视频文件、数字音频文件、剪贴画文件或图像文件的类型相关联。例如,如果由消息元素管理器114a、114b识别的消息元素的类型是数字照片文件,则消息元素管理器114a、114b可以识别与数字照片文件相关联的模板。
一旦消息元素管理器114a、114b识别出适当的模板,则消息元素管理器114a、114b可以基于通信线程中的模板和所识别的第一和第二消息元素来生成第三消息元素。例如,在第一和第二消息元素具有数字照片文件的类型的实施例中,消息元素管理器114a、114b可以识别作为两个数字照片文件的布局的模板。因此,为了生成第三消息元素,消息元素管理器114a、114b可以将第一和第二消息元素定位在所标识的模板内,以产生拼贴或幻灯片效果。在额外或替代实施例中,消息元素管理器114a、114b可以在通信线程内基于不止两个识别的消息元素生成第三消息元素,只要所标识的消息元素全部在阈值时间内提交。此外,在其他替代实施例中,消息元素管理器114a、114b可以通过分层数字视频文件或数字音频文件而不是使用模板来生成第三消息元素。
在消息元素管理器114a、114b基于与第一和第二消息元素相关联的元数据来识别或生成第三消息元素之后,消息元素管理器114a、114b可以使通信线程的显示改变。例如,如上所述,电子通信系统100可以用第三消息元素替换通信线程中的第一和第二消息元素。在一个或多个实施例中,为了用第三消息元素替换第一消息元素和第二消息元素,消息元素管理器114a、114b可以重新渲染没有第一和第二消息元素的通信线程。例如,重新渲染没有第一和第二消息元素的通信线程可以涉及去除或隐藏通信线程中的包含第一和第二消息元素的单元。
在去除第一和第二消息元素之后,消息元素管理器114a、114b可以将第三消息元素添加到通信线程。在一个或多个实施例中,为了将第三消息元素添加到通信线程,消息元素管理器114a、114b可以通过包含第三消息元素的新单元渲染通信线程。在至少一个实施例中,消息元素管理器114a、114b可以将第三消息元素居中在新单元中,使得第三消息元素在通信线程内居中。
如上所述,在一些实施例中,第三消息元素是第一消息元素和第二消息元素之间的交互的动画。例如,如果第一消息元素是“翘起拇指”贴画(例如,翘起拇指的图示),并且第二消息元素也是“翘起拇指”贴画,则第三消息元素可以是在通信线程的中心形成拳头和“顶拳”的两个图示的动画。在至少一个实施例中,一旦第三消息元素显示的动画完成,消息元素管理器114a、114b可以用第一和第二消息元素替换第三消息元素,使得通信线程看起来不变,并且消息元素简单地显得“活跃起来”。
在一个或多个实施例中,消息元素管理器114a、114b可以识别与第三消息元素相关联的元数据,以确定何时用第一和第二消息元素替换第三消息元素。例如,在上述“顶拳”第三消息元素中,动画可能需要五秒钟才能完成。在至少一个实施例中,与第三消息元素相关联的元数据可以包括第三消息元素“播放”或完成的时间。消息元素管理器114a、114b可以确定在用第三消息元素替换第一和第二消息元素之后经过这段时间的时间。
在经过适当的时间之后,消息元素管理器114a、114b可以用第一和第二消息元素替换第三消息元素。例如,在一个或多个实施例中,为了用第一和第二消息元素替换第三消息元素,消息元素管理器114a、114b可以通过去除或隐藏通信线程中的包含第三消息元素的单元来再次重新渲染没有第三消息元素的通信线程。接下来,消息元素管理器114a、114b可以通过用包含第一消息元素的新单元以及包含第二消息元素的新单元渲染通信线程来将第一和第二消息元素添加回通信线程。在一个或多个实施例中,消息元素管理器114a、114b可以渲染包括第一和第二消息元素的通信线程,使得第一和第二消息元素返回到其原始位置。因此,从用户的观点来看,消息元素管理器114a、114b可以以这种方式去除和添加消息元素,使得用户不知道重新渲染通信线程,而是仅看到第一和第二消息元素之间的交互。
即使消息元素管理器114a、114b的活动被描述为在客户端计算装置106a、106b上发生,在额外或替换实施例中,这些相同的活动可以在服务器级进行。例如,在一个实施例中,消息元素管理器114、114b的功能位于电子通信管理器104内。在这种情况下,电子通信管理器可以拦截跨越主机系统102移动的电子通信,并根据需要识别消息元素。
如上所述,并且如图1所示,消息应用108a、108b还可以包括应用数据存储器116a、116b。如图所示,应用数据存储器116a、116b可以包括用户数据118a、118b和消息元素数据120a、120b。在一个或多个实施例中,用户数据118a、118b可以包括表示用户信息的数据,例如,本文所描述的。同样,在一个或多个实施例中,消息元素数据120a、120b可以包括表示消息元素信息的数据,如本文所述。
如图1所示,主机系统102可以包括电子通信管理器104。在一个或多个实施例中,电子通信管理器104可以管理与主机系统102的用户之间发送的电子通信相结合的所有活动。例如,如上所述,用户可以向主机系统102的一个或多个共同用户发送电子消息。
在至少一个实施例中,如图1所示,电子通信管理器104可以包括通信管理器122。通信管理器122可以便于从主机系统102接收以及向主机系统102发送数据。具体地,通信管理器122可以便于发送和接收电子通信。例如,通信管理器122可以将要包括在电子通信中的内容打包并且以能够通过一个或多个通信信道发送的任何必要形式并且使用适当的通信协议格式化电子通信,如本文所述。
此外,通信管理器122可以促进从主机系统102之外的源请求内容。为了说明,在一种情况下,第三方(例如,商业实体或作者)可以向主机提交包括多个消息元素的消息元素文件系统102,用于分发给用户。在这种情况下,通信管理器122可以与第三方进行通信,以便接收消息元素文件。同样,通信管理器122可以与额外的第三方进行通信,以便接收对先前接收到的消息元素文件的更新或替换。
另外,如图1所示,元素通信管理器104可以包括消息元素引导器124。在一个或多个实施例中,消息元素引导器124可以管理、组织和分发消息元素文件以及消息元素文件的更新。例如,如上所述,为了在电子通信中包括消息元素,用户通常必须将消息元素文件下载到客户端计算装置106a、106b。为了下载消息元素文件,消息应用108a、108b可以联系消息元素引导器124,来获得所请求的文件。在至少一个实施例中,响应于来自消息应用108a、108b的下载请求,消息元素引导器124然后可以提供所请求的消息元素文件。
在向消息应用108a、108b提供消息元素文件之后,消息元素引导器124可以保持已经提供给与消息应用108a、108b相关联的社交网系统用户的消息元素文件的记录。然后,在一个或多个实施例中并且响应于从特定消息元素文件的源或作者接收到更新,消息元素引导器124可以将更新推送到先前已经下载特定消息元素文件的消息应用108a、108b。
此外,在至少一个实施例中,消息元素引导器124可以提示电子通信的接收者下载所需的消息元素文件。例如,在一个实施例中,电子通信的发送者可以具有包含在发送者的客户端计算装置106a上下载的特定消息元素的特定消息元素文件。响应于发送者将包含特定消息元素的电子通信发送到接收者,消息元素引导器124可以拦截电子通信并且确定电子通信的预期接收者是否已经将包含特定消息元素的特定消息元素文件下载到客户端计算装置106b。如果消息元素引导器124确定接收者没有下载特定消息元素文件,则消息元素引导器124可以提示接收者请求适当的下载。
此外,如上所述,并且如图1所示,电子通信管理器104还可以包括数据存储器126。如图所示,数据存储器126可以包括用户数据128和通信和消息元素数据130。在一个或多个实施例中,用户数据128可以包括表示用户信息的数据,如本文所述。同样,在一个或多个实施例中,通信和消息元素数据130也可以包括通信和多媒体信息,也如本文所述。
在主机系统102包括社交网系统的一个或多个实施例中,主机系统102可以包括用于表示和分析多个用户和概念的社交图132。社交图132的节点信息134可以存储包括用户节点、概念节点、事务节点和项目节点的节点信息。社交图132的边线信息136可以存储包括在社交网系统内发生的节点和/或活动之间的关系的边线信息。将在下面参照图8和9给出关于社交网系统、社交图、边线和节点的进一步细节。
图2示出了电子通信系统100的示例性示意图。如图2所示,电子通信系统100可以包括通过网络202通信地耦合的客户端计算装置106a和106b和消息应用108a、108b以及服务器装置101和主机系统102。还如图2所示,用户204a和204b可以分别与客户端计算装置106a和106b交互,以便访问主机系统102上的内容和/或服务。客户端计算装置106a和106b中的每一个可以经由消息应用108a、108b访问主机系统102,如上所述。
客户端计算装置106a和106b和主机系统102可以经由网络202进行通信,网络202可以包括一个或多个网络并且可以使用适合于发送数据和/或通信信号的一个或多个通信平台或技术。在一个或多个实施例中,网络202可以包括互联网或万维网。然而,网络202可以包括使用各种通信技术和协议的各种其他类型的网络,例如,公司内部网、虚拟专用网(VPN)、局域网(LAN)、无线局域网(WLAN)、蜂窝网络、广域网(WAN)、城域网(MAN)、或两个或更多个这种网络的组合。尽管图2示出了客户端计算装置106a和106b、主机系统102和网络202的特定设置,但是各种额外设置是可能的。例如,客户端计算装置106a和106b可以直接与主机系统102进行通信,绕过网络202。下面参照图8说明与网络202相关的额外细节。
如图2所示,用户204a/204b可以使用电子通信系统100发送包括消息元素的电子消息。如上所述,用户204a和204b可以是个体(即,人类用户)、企业、组或其他实体。尽管图2示出了两个用户204a和204b,但是应当理解,电子通信系统100可以允许多个用户交换电子消息,多个用户中的每个用户通过相应的多个客户端计算装置与电子通信系统100交互。
参考本文描述的电子通信系统100,任何用户204a、204b可以是电子消息的发送者,并且任何用户204a、204b可以是电子消息的接收者。在某些实施例中,在可以在彼此之间发送和接收电子通信之前,主机系统102可以经由主机系统102确保“朋友”。在额外或替代实施例中,主机系统102可以简单地确保发送所述接收电子通信的用户仅仅是主机系统102的主动用户。
客户端计算装置106a、106b可以包括各种类型的计算装置。例如,客户端计算装置106a、106b可以包括诸如移动电话、智能电话、PDA、平板电脑、膝上型计算机等移动装置、或诸如台式电脑、服务器或另一种类型的计算装置等非移动装置。此外,客户端计算装置106a、106b可以运行与主机系统102相关联的专用社交网应用(例如,如上面关于图1所述的社交网应用108a、108b),以访问与电子通信系统100相关联的社交网内容(例如,帖子、消息、销售列表、简档等)。将在下面参考图7讨论关于客户端计算装置106a、106b的额外细节。
如将在下面更详细地描述的,如图1和2所述的电子通信系统100的部件可以沿着和/或与其他部件相结合提供一个或多个图形用户界面(“GUI”)。具体地,部件可以允许用户为了各种目的与显示元件的集合交互。具体地,图3A-4D和下面的描述示出了根据如上所述的一般原理的GUI和特征的各种示例实施例。
例如,图3A-4D示出了通过消息应用108a、108b在客户端计算装置106a、106b处提供的GUI的各种视图。如上所述,在一些实施例中,客户端计算装置(即,客户端计算装置106a、106b)可以实现和/或提供来自电子通信系统100的特征。例如,图3A示出了可以实现电子通信管理器104的一个或多个部件或特征的用户(例如,用户204a)的客户端计算装置300。如图所示,客户端计算装置300是手持式装置,例如,移动电话装置(例如,智能电话)。如本文所使用的,术语“手持式装置”是指具有在用户的单手中保持/操作的尺寸和配置的装置。然而,在额外或替代示例中,任何其他合适的计算装置,例如但不限于平板装置、更大的无线装置、膝上型计算机或台式计算机、个人数字助理装置和/或任何其他合适的计算装置,可以执行本文所述的一个或多个处理和/或操作。
如图3A所示,客户端计算装置300包括触摸屏显示器302,该触摸屏显示器可以显示用户界面,并且可以通过触摸屏显示器,接收和/或检测用户输入。如本文所使用的,“触摸屏显示器”是指触摸屏装置的显示器。在一个或多个实施例中,触摸屏装置可以是具有至少一个表面的客户端计算装置106a、106b,用户可以在该表面上执行触摸手势(例如,膝上型计算机、平板计算机、个人数字助理、媒体播放器、手机等)。另外或替代地,客户端计算装置300可以包括任何其他合适的输入装置,例如,触摸板或下面参照图7描述的那些。
在图3A中,客户端计算装置300的触摸屏显示器302显示由安装在其上的显示管理器110a、110b提供的通信线程GUI 304。在一个或多个实施例中,显示管理器110a、110b提供通信线程GUI 304,以便显示在两个社交网系统用户之间来回发送的一系列电子消息。例如,由通信线程GUI304显示的通信线程306包括在客户端计算装置300的用户(例如,用户204a)和另一用户(例如,用户204b)之间发送的电子消息308a-308d。通信线程306可以按照时间顺序显示电子消息308a-308d,最旧的电子消息308a位于通信线程306的顶部,并且最新的电子消息308d位于通信线程306底部。在一个或多个替代实施例中,通信线程306中的电子消息的流程可以相反,或者在适用于特定实现方式的任何其他方向。
通信线程GUI 304还可以包括用于组成和发送一个或多个电子消息的额外控制。例如,如图3A所示,通信线程GUI 304可以包括输入控件312的集合。通过利用除了触摸屏键盘之外的输入控件312的集合,客户端计算装置300的用户可以组成并发送包含文本、消息元素等的电子消息。
还如图3A所示,通信线程306显示电子消息308a-308d,以便指示每个电子消息的发送者。例如,通信线程306将电子消息308a和308c以及消息元素310a对准通信线程GUI304的一侧,以便指示“Michael”(例如,用户204b)是电子消息308a和308c的发送者。同样,通信线程306将电子消息308b和308d对准通信线程GUI 304的相对侧,以便指示客户端计算装置300(例如,用户204a)的用户是电子消息308b和308d的发送者。在一个或多个实施例中,通信线程306还可以包括额外信息,例如,用户名和简档图片,以便指示通信线程306中的每个电子消息的发送者。
在一个或多个实施例中,安装在客户端计算装置300(例如,客户端计算装置106a)上的消息应用108a的显示管理器110a通过包括均包含至少一个电子消息或消息元素的单独单元来渲染通信线程306。例如,在至少一个实施例中,图3A所示的通信线程306由多个单元组成,每个单元包括一个电子消息或一个消息元素。即使其中包含的电子消息和/或多媒体是可见的,显示管理器110a可以渲染每个单元,使得该单元对客户端计算装置300的用户不可见。
如上所述,消息元素管理器114a可以识别通信线程中的消息元素。更具体地,当消息元素310a包括贴画时,用户204b可以从输入控件312中选择一个控件来打开一个贴画集合。用户204b然后可以从贴画的集合中选择所需的贴画。或者,输入控件312可以包括期望的贴画(例如,如图3A所示的翘起拇指贴画)。在一个或多个实施例中,当选择期望的贴画310a时,消息应用108a可以使得客户端计算装置将贴画310a的标识符发送到主机系统102,主机系统102然后可以将该标识符转发到用户204a的客户端计算装置300。然后,在客户端计算装置300上运行的消息应用108a可以使用标识符来检索和渲染贴画310a。具体地,消息应用108a可以在客户端计算装置106a上的应用数据存储器116a中从消息元素数据120a中检索消息元素(即,翘起拇指的图示)。
如图3B所示,客户端计算装置300的用户(例如,用户204a)可以通过向Michael(例如,用户204b)发送相应的消息元素310b来响应于消息元素310a。在一个或多个实施例中,响应于添加新的电子通信,除了消息元素310a之外,消息元素管理器114a可以再次分析通信线程306中的第二消息元素。当消息元素管理器114a识别第二消息元素310b时,消息元素管理器114a可以确定相对于消息元素310a和消息元素310b是否存在触发。例如,消息元素管理器114a可以确定是否连续(即,不存在中间消息或消息元素)和/或在阈值时间内提交消息元素310a、310b。如上所述,消息元素管理器114a可以基于与消息元素310a和310b相关联的元数据进行该确定。
在额外或替代实施例中,如果消息元素管理器114a确定在阈值时间内未提交第一消息元素310a和第二消息元素310b,则消息元素管理器114a可以确定是否在辅助时间帧内提交第一消息元素310a和第二消息元素310b。例如,如果在辅助时间帧内提交第一消息元素310a和第二消息元素310b,则消息元素管理器114a可以识别与已经被选择的消息元素不同的第三消息元素,如果在阈值时间内提交第一消息元素310a和第二消息元素310b。例如,如果第一消息元素310a是翘起拇指贴画,并且第二消息元素310b也是翘起拇指贴画,则响应于确定在阈值时间内未提交但是在辅助时间帧内提交第一消息元素310a和第二消息元素310b,消息元素管理器114a可以识别包含错过的“举手击掌(high-five)”的动画的第三消息元素。
响应于确定在阈值时间内提交消息元素310a和310b,消息元素管理器114a可以识别第三消息元素,并且用通信线程306中的第三消息元素替换消息元素310a和310b。在一个或多个实施例中,为了识别第三消息元素,消息元素管理器114a可以访问包含消息元素310a和310b的客户端计算装置106a上的消息元素文件。例如,在至少一个实施例中,消息元素310a和310b与包括识别每个消息元素310a、310b的来源(例如,消息元素文件、作者、到网站的超链接等)的信息的元数据相关联。因此,消息元素管理器114a可以访问由与消息元素310a和310b相关联的元数据指示的消息元素文件。
一旦消息元素管理器114访问适当的消息元素文件,消息元素管理器114可进一步利用与消息元素310a和310b相关联的元数据来识别第三消息元素。例如,在一个或多个实施例中,与消息元素310a和310b相关联的元数据可以包括指示消息元素310a和310b之间的关联性的信息(例如,基于元数据中包括的关键字、描述、标识符等)。该相同的信息也可以指示消息元素310a、310b和第三消息元素之间的关联。通过示例,消息元素310a和310b可以与指示与消息元素310a和消息元素310b对应的第三消息元素的元数据相关联。例如,在一个实施例中,对应于消息元素310a和消息元素310b的第三多媒体媒体元素是消息元素310a与消息元素310b交互的动画。
因此,一旦消息元素管理器114a识别与消息元素310a和消息元素310b相对应的第三消息元素,则消息元素管理器114a可以重新渲染通信线程306,以便去除消息元素310a和消息元件310b。如上所述,消息元素管理器114a可以通过删除包含消息元素310a和310b的通信线程306中的单元311a、311b来去除消息元素310a和310b。在替代实施例中,消息元素管理器114a可以通过简单地隐藏通信线程306中的包含消息元素310a和310b的单元311a、311b来去除消息元素310a和310b。
接下来,消息元素管理器114a可以将第三消息元素添加到通信线程306。如图3C所示,消息元素管理器114a可以在客户端计算装置300的触摸屏显示器302上的通信线程GUI304内将消息元素310c添加到通信线程306。在一个或多个实施例中,消息元素管理器114a可以通过渲染包含消息元素306的通信线程306中的新单元311c来添加消息元素306。在至少一个实施例中,消息元素管理器114a可以将包含消息元素310c的新单元311c居中在通信线程306中。消息元素管理器114a可以使消息元素310c进一步居中在新单元311c中。
在一个或多个实施例中,新单元311c可以大于第一单元311a或第二单元311b。例如,新单元311c可以具有等于第一和第二单元311a、311b的组合大小的大小。较大的新单元311c可以允许更大或更复杂的消息元素。
如上所述,一旦消息元素管理器114a已经用消息元素310c替换了消息元素310a和310b,则消息元素管理器114a可以无限期地将消息元素310c留在通信线程306中。或者,消息元素管理器114a可以在预定时间之后去除消息元素310c,并将消息元素310a和310b在其原始位置添加回到通信线程306。消息元素管理器114a可以基于与消息元素310c相关联的元数据和/或与消息应用108a相关联的用户配置的设置来确定是否无限期地留下消息元素310c或者在预定时间之后去除消息元素310c。
响应于确定消息元素310c不应无限期地留在通信线程306中,消息元素管理器114a可以在更换消息元素310c之前确定正确的等待时间。例如,如图3C-3E所示,消息元素管理器114a可以包括在通信线程306内执行“顶拳”的消息元素310a和310b的图示的动画。即,在图3C中,消息元素310c示出了面向彼此的两个翘起拇指图示,两个拳头的拇指沿着方向箭头闭合。接下来,在图3D中,消息元素310c示出了形成拳头的两个翘起拇指图示。然后,在图3E中,消息元素310c示出沿着方向箭头在通信线程306的中心一起进入的两个拳头,以执行“顶拳”。
因此,与消息元素310c相关联的元数据可以包括详细描述动画完成所需时间的信息(即,当图3E中结束“顶拳”动画时)。另外或替代地,消息元素310c可以简单地检测动画完成的时间,而不是识别与消息元素310c相关联的元数据中的时间。例如,当动画返回到其初始起始位置(例如,如图3C所示)时,消息元素310c可以检测动画完成。
在一个或多个实施例中,一旦所需的时间到期或消息元素管理器114a检测到动画完成,则多媒体管理器114a可以去除消息元素310c并重新渲染通信线程306。例如,多媒体管理器114a可以渲染通信线程306,以便去除包含消息元素310c的单元311c。接下来,消息元素管理器114a可以重新渲染通信线程306,以包括包含消息元素310a和310b的单元311a、311b。此外,如图3F所示,消息元素管理器114a可以将包含消息元素310a和310b的单元沿着方向箭头添加回到通信线程306中,使其处于其原始位置,如图3B所示。
用消息元素310c替换消息元素310a和310b以仅仅稍后将消息元素310a和310b交换回来的效果为用户204a产生错觉,使得看起来像消息元素310a和310b实际上交互。换言之,在一个或多个实施例中,用户204a不知道消息元素管理器114a执行的渲染和重新渲染。相反,渲染和重新渲染是无缝的,并且对于用户204a实际上是不可见的。
尽管图3A-3F被描述为从一个用户的角度出发,但是参与通信线程306的所有用户可以潜在地看到上述消息元素交互。例如,根据用户是否已经将适当的多媒体文件下载到他或她的客户端计算装置,上述多媒体交互对于与通信线程306相关联的每个用户可以是相同的。如果用户没有下载适当的多媒体文件,则通信线程306将不包括描述的多媒体交互。
因此,使用增强消息元素可以提供具有另一表达水平的消息对话。图3A-3F示出原始两个消息元素310a、310b是静态图示(例如,贴画),并且增强图示310c是包括来自前两个消息元素310a、310b的图示的动画。根据本文的公开内容将会理解,电子通信系统100可以允许在消息元素的组合中具有各种变化。例如,前两个消息元素可以包括动画,而增强或第三消息元素是静态图像或不同的动画。此外,增强或第三消息元素不需要包括来自被增强消息元素替换的相应消息元素的任何图示。
图3A-3F示出了在阈值时间内由两个不同用户连续使用相同的消息元素(例如,翘起拇指贴画)可以触发电子通信系统用增强消息元素(例如,顶拳动画)替换连续的消息元素。因此,相应的消息元素可以包括相同的消息元素。或者,相应的消息元素可以包括不同的消息元素。例如,女舞者的贴画和男舞者的贴画可以触发女人和男人跳舞的动画。
此外,相同的消息元素可以具有与不同的增强消息元素相关联的各种不同的相应消息元素。因此,在第一用户发送第一消息元素时,第二用户可以用第二消息元素进行响应,以触发第一增强消息元素。然而,如果第二用户用第三消息元素进行响应,则电子消息系统可以提供第二增强消息元素,而不是第一增强消息元素。
如上所述,增强消息元素可以包括各种不同的元素。例如,如上面参考图3A-3F所述,增强消息元素310c可以包括动画。在替代实施例中,增强消息元素310c可以包括一个或两个对应的消息元素,其触发增强消息元素以及一个或多个额外特征。例如,增强消息元素可以将声音或视频添加到一个或多个对应的消息元素。此外,增强消息元素可以改变一个或多个对应的消息元素的大小、颜色、数量、取向或其他特征。
除了上述之外,在一个或多个实施例中,增强消息元素可以包括单个用户不可用的消息元素。因此,为了调用增强消息元素,两个用户可能需要以触发(例如,连续地和/或在给定的阈值时间段内提供相应的消息元素)电子通信系统用增强消息元素替换消息元素的方式来提供消息元素。
电子通信系统还可以向用户提供帮助,以通知他们触发增强消息元素的活动。例如,电子通信系统可以向用户呈现相关的辅助信息,而不会中断用户对消息应用108a的自然体验。例如,可用于用户的各种活动可以具有相应的新用户辅助信息,以帮助用户完成活动。可以以允许用户容易地并快速地学习如何执行相应活动的方式向用户呈现新的用户辅助信息,而不会不适当地中断消息应用108a的用户体验。
例如,一旦已经将消息元素发送或以其他方式输入到具有相应消息元素的通信线程中,则电子通信系统可以呈现用户辅助信息,其指示用户可以发送哪些消息元素来调用增强消息元素。此外,用户辅助信息可以向用户提供关于用于触发增强消息元素(时间段、消息元素的顺序等)的一个或多个条件的信息。
如本文所使用的,术语“用户辅助信息”通常可以指代用于帮助应用程序的用户熟悉应用程序的一个或多个特征的任何信息和/或内容。在一些实施例中,用户辅助信息的示例可以包括音频和/或图形内容(例如,文本、图像、动画、视频、声音、音乐和语音),其提供与图形用户界面内可用的活动有关的信息。例如,呈现用于特定活动的用户辅助信息可以包括呈现用于执行活动的指令和活动的视觉演示。
在一些实施例中,用户204a和204b不是利用来自下载的消息元素文件的消息元素,而是可以从存储在其客户端计算装置106a、106b上的文件创建其自己的消息元素。例如,如图4A所示,客户端计算装置300(例如,客户端计算装置106a)的用户204a可以基于存储在客户端计算装置300上的文件(例如,数字图片文件)来创建消息元素310d。如图所示,消息元素管理器114a已经将消息元素310d添加到在电子消息308e之后的客户端计算装置300的触摸屏显示器302上所示的通信线程GUI 304中的通信线程306(即,“Check out thispicture I took today!(看看今天我拍的这张照片!)”)。客户端计算装置300的用户(例如,用户204a)可以通过利用输入控件312的集合中的一个控件来选择从其创建消息元素310d的文件。
接下来,与客户端计算装置300的用户正在通信的用户(例如,用户204b)可以用电子消息308f(例如,“That’s awesome!Take a look at these(这太棒了!看看这些)”)和额外的消息元素310e和310f回复。如图4B所示,额外消息元素310e和310f还可以包括来自与客户端计算装置300的用户正在通信的用户(例如,用户204b)相关联的客户端计算装置的文件。如图4B所示,客户端计算装置300的用户将必须展开通信线程306,以便查看可以对于用户来说麻烦的所有消息元素310d-310f。
此时,如上所述,消息元素管理器114a可以识别消息元素310d-310f,并且可以在阈值时间内或根据另一触发器来确定消息元素310d-310f被添加到通信线程306。因此,由于在阈值时间内提交消息元素310d-310f,所以消息元素管理器114a可以识别与消息元素310d-310f对应的第三消息元素。然而,如上所述,消息元素310d-310f不是来自下载的消息元素文件。因此,不是如图3A-3E所讨论的从消息元素文件识别第三消息元素,消息元素管理器114a可以从存储在客户端计算装置300上的先前存在的模板集合中识别模板,并且基于所识别的模板生成第三消息元素。在一个或多个实施例中,消息元素管理器114a可以基于与消息元素310d-310f相关联的类型来识别模板(例如,如果消息元素310d-310f的类型是数字照片,则消息元素管理器114a可以识别三个数字照片的模板)。
例如,如图4C所示,消息元素管理器114a可以用消息元素310g替换消息元素310d-310f。在一个或多个实施例中,消息元素管理器114a可以基于所识别的模板和消息元素310d-310f生成消息元素310g。换言之,消息元素管理器114a可以通过根据所标识的模板的布局改变消息元素310d-310f的大小并定位消息元素310d-310f来生成消息元素310g。
为了用通信线程306中的消息元素310g替换消息元素310d-310f,消息元素管理器114a可以首先去除或隐藏通信线程306中的包含消息元素310d-310f的单元。之后,如图4C所示,消息元素管理器114a可以重新分配电子消息308e、308f,以消除去除消息元素310d-310f留下的空白。然后,消息元素管理器114a可以重新渲染通信线程306,以包括包含消息元素310g的新单元。如图4C所示,消息元素管理器114a可以定位新单元,使得其在通信线程306中居中。同样,消息元素管理器114a可以定位消息元素310g,使得其在新单元中居中。
在一个或多个实施例中,消息元素管理器114a可以向消息元素310g提供额外的功能,以便使消息元素310g交互。例如,如图4D所示,消息元素管理器114a可以提供与通信线程306中的消息元素310g相关联的消息元素控件314a和314b。在至少一个实施例中,响应于客户端计算装置300的用户点击消息元素控件314a,消息元素管理器114a可以经由电子通信管理器104将消息元素310g提交给主机系统102,以包含在与客户端计算装置300的用户相关联的社交网系统用户的一个或多个新闻馈送中。此外,响应于客户端计算装置300的用户点击消息元素控件314b,消息元素管理器114a可以将多媒体媒体元素310g作为单独的文件保存到客户端计算装置300。
在图1-4D中,相应的文本和示例提供了用于管理电子通信线程中的消息元素的许多不同方法、系统和装置。除了上述之外,还可以根据包括用于实现特定结果的方法中的活动和步骤的流程图描述实施例。例如,可以用更少或更多的步骤/活动来执行图5-6,或者可以以不同的顺序执行步骤/活动。另外,本文描述的步骤/活动可以彼此并行地或与相同或类似的步骤/活动的不同示例并行地重复或执行。
图5示出了管理电子通信线程中的消息元素的一个示例性方法500的流程图。方法500包括识别第一消息元素的活动510。具体地,活动510可以涉及识别通信线程(例如,通信线程306)中的第一用户(例如,用户204a)提交的第一消息元素(例如,消息元素310a)。在至少一个实施例中,在打开与通信线程相关联的消息应用程序时,方法500包括以下活动:解析通信线程的至少一部分,以识别通信线程中包括的任何消息元素;识别在阈值时间内发送的相应的几对的消息元素;在所述通信线程中,用相应的增强消息元素替换在阈值时间内发送的相应几对的消息元素;并且渲染包括在通信线程中的消息元素。
另外,方法500包括识别第二消息元素的活动520。具体地,活动520可以涉及识别由通信线程中的第二用户(例如,用户204b)提交的第二消息元素(例如,消息元素310b)。在一个或多个实施例中,第一和/或第二消息元素可以包括符号、贴画、数字照片、表情符号、视频剪辑、音频剪辑等。
方法500还包括确定在阈值时间内是否提交消息元素的活动530。具体地,活动530可以涉及确定在阈值时间内提交第一消息元素和第二消息元素。例如,在一个或多个实施例中,确定是否在阈值时间内提交第一消息元素和第二消息元素包括访问与第一消息元素相关联的元数据,以识别第一消息元素的提交时间,访问与第二消息元素相关联的元数据,以识别第二消息元素的提交时间,并且将第一消息元素的提交时间与第二消息元素的提交时间之间的差异与阈值时间进行比较。
此外,方法500包括识别第三消息元素的活动540。具体地,活动540可以涉及响应于确定在阈值时间内提交第一消息元素和第二消息元素来识别对应于第一消息元素和第二消息元素的第三消息元素(例如,消息元素310c)。在一个或多个实施例中,识别对应于第一消息元素和第二消息元素的第三消息元素包括访问查找表,并从查找表识别第一消息元素和第二消息元素的组合表示第三消息元素,无需人为干预。
方法500还包括用第三消息元素替换第一和第二消息元素的活动550。具体地,活动550可以涉及在通信线程中用第三消息元素来替换第一消息元素和第二消息元素。例如,在通信线程中用第三消息元素替换第一消息元素和第二消息元素可以包括从通信线程去除包含第一消息元素的第一单元,从通信线程中去除包含第二消息元素的第二单元,并且在通信线程中提供包含第三消息元素的新单元,无需人为干预。在至少一个实施例中,在通信线程中提供包含第三消息元素的新单元包括将通信线程中的新单元定位在先前由第一单元和第二单元占据的位置。在至少一个实施例中,在通信线程中提供包含第三消息元素的新单元包括配置新单元的大小,以对应于第一单元和第二单元的组合大小。另外或替代地,在至少一个实施例中,在通信线程中用第三消息元素替换第一消息元素和第二消息元素包括在将新单元定位在通信线程中之后重新渲染通信线程,从而去除第一消息元素和第二消息元素并渲染第三消息元素。
方法500还可以包括,在预定时间段之后:从通信线程去除包含第三消息元素的新单元;在通信线程中提供包含第一消息元素的第一单元;在通信线程中提供包含第二消息元素的第二单元;并且重新渲染通信线程,从而去除第三消息元素并渲染第一消息元素和第二消息元素。在一个或多个实施例中,该方法还包括访问与第三消息元素相关联的元数据,以识别预定时间段。在替代实施例中,预定时间段基于用户配置的设置。
另外或替代地,方法500可以包括在经由移动装置接收到将第一消息元素发送到与第二用户相关联的客户端移动装置的指令时,在通信线程中渲染第一消息元素。此外,方法500可以包括在阈值的时间内接收指示从第二用户发送第二消息元素的从客户端装置发送的消息,并且在通信线程中渲染第二消息元素。在这种情况下,方法500还可以包括在通信线程中用第三消息元素替换第一消息元素和第二消息元素之后重新渲染通信线程。
在一个或多个实施例中,第一消息元素包括第一贴画,第二消息元素包括第二贴画,并且第三消息元素包括第三贴画。例如,在一个实施例中,第一贴画包括第一图示,第二贴画包括第二图示,并且第三贴画包括包含第一图示和第二图示的动画。或者,在另一实施例中,第一消息元素包括第一图像,第二消息元素包括第二图像,并且第三消息元素包括包含第一图像和第二图像的拼贴。在另一替代实施例中,第一消息元素包括第一图示,第二消息元素包括第二图示,并且第三消息元素包括动画。
图6示出了管理电子通信线程中的消息元素的一个示例方法600的流程图。方法600包括识别第一消息元素的活动610。具体地,活动610可以涉及在第一用户的通信线程(例如,通信线程306)中识别由第一用户(例如,用户204a)提交的第一消息元素(例如,消息元素310d)。
另外,方法600包括识别第二消息元素的活动620。具体地,活动620可以涉及在第一用户的通信线程中识别由第二用户(例如,用户204b)提交的第二消息元素(例如,消息元素310e)。在一个或多个实施例中,第一和/或第二消息元素可以包括符号、数字照片、表情符号、视频剪辑、音频剪辑等。
方法600还包括确定是否在特定时间帧内提交消息元素的活动630。具体地,活动630可以涉及确定在阈值时间内是否提交第一消息元素和第二消息元素。例如,在一个或多个实施例中,确定是否在阈值时间内提交第一消息元素和第二消息元素包括确定与提交第一消息元素相关联的日期和时间以及与提交第二消息元素相关联的日期和时间在阈值时间内。在一个或多个实施例中,方法600还可以包括识别与第一消息元素和第二消息元素相关联的提交信息的活动,其中,提交信息包括与第一用户相关联的信息、与第二用户相关联的信息、与提交第一消息元素相关联的日期和时间以及与提交第二消息元素相关联的日期和时间。
方法600还可以包括在没有人为干预的情况下识别与第一消息元素相关联的类型以及与第二消息元素相关联的类型的活动。在一个或多个实施例中,与第一消息元素相关联的类型和与第二消息元素相关联的类型是数字照片文件、数字视频文件、数字音频文件、剪贴画文件或图像文件中的一个。例如,识别与第一消息元素相关联的类型以及与第二消息元素相关联的类型可以基于与第一消息元素和第二消息元素相关联的元数据。
另外,方法600包括生成第三消息元素的活动640。具体地,活动640可以涉及基于确定来生成包括第一消息元素和第二消息元素的第三消息元素(例如,消息元素310g)。例如,生成包括第一消息元素和第二消息元素的第三消息元素可以包括基于与第一消息元素相关联的类型和与第二消息元素相关联的类型执行对模板的表查找,并且通过在没有人为干预的情况下将第一消息元素和第二消息元素拟合到模板中,来生成第三消息元素。
此外,方法600包括用第三消息元素替换第一和第二消息元素的活动650。具体地,活动650可以涉及在通信线程中用第三消息元素替换第一消息元素和第二消息元素。例如,在通信线程中用第三消息元素替换第一消息元素和第二消息元素可以包括重新渲染通信线程,以去除与第一消息元素相关联的单元以及与第二消息元素相关联的单元,并且在通信线程中渲染包含第三消息元素的新单元。在一个或多个实施例中,在通信线程中渲染包含第三消息元素的新单元包括在没有人为干预的情况下将第三消息元素居中在新单元中。另外,在至少一个实施例中,方法600可以包括在没有人为干预的情况下呈现下载第三消息元素的选项。
本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,例如,一个或多个处理器和系统存储器,如下面更详细地讨论的。在本公开的范围内的实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的一个或多个过程可以至少部分地作为在非暂时性计算机可读介质中体现的并且能由一个或多个计算装置(例如,本文描述的任何媒体内容访问装置)执行的指令来实现。通常,处理器(例如,微处理器)从非暂时性计算机可读介质(例如,存储器等)接收指令,并执行这些指令,从而执行一个或多个过程,包括本文所述的一个或多个过程。
计算机可读介质可以是能由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(装置)。携带计算机可执行指令的计算机可读介质是传输介质。因此,通过示例而非限制的方式,本公开的实施例可以包括至少两种明显不同类型的计算机可读介质:非暂时性计算机可读存储介质(装置)和传输介质。
非暂时性计算机可读存储介质(装置)包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储装置、或可用于以计算机可执行指令或数据结构的形式存储期望的程序代码并且可以由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子装置之间传送电子数据的一个或多个数据链路。当通过网络或另一种通信连接(硬连线、无线、或硬连线和无线的组合)将信息传送或提供给计算机时,计算机将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,其可以用于以计算机可执行指令或数据结构的形式携带期望的程序代码装置并且可以由通用或专用计算机访问。以上的组合也应包括在计算机可读介质的范围内。
此外,在到达各种计算机系统部件时,可以将计算机可执行指令或数据结构的形式的程序代码装置从传输介质自动传送到非暂时性计算机可读存储介质(装置)(反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以在网络接口模块(例如,“NIC”)内的RAM中缓冲,然后,最终传送到计算机系统RAM和/或计算机系统中的更少易失性计算机存储介质(装置)。因此,应当理解,在也(甚至主要地)利用传输介质的计算机系统部件中,可以包括非暂时性计算机可读存储介质(装置)。
计算机可执行指令包括例如当在处理器处执行时使通用计算机、专用计算机或专用处理装置执行某一功能或某组功能的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令,以将通用计算机转换成专用计算机,实现本公开的元素。计算机可执行指令可以是例如二进制文件、诸如汇编语言等中间格式指令,甚至是源代码。尽管已经用结构特征和/或方法活动特有的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上面描述的特征或活动。相反,所描述的特征和活动被公开为实现权利要求的示例形式。
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式装置、多处理器系统、基于微处理器的或可编程的消费电子、网络PC、小型计算机、大型计算机、移动电话、PDA、平板电脑、寻呼机、路由器、交换机等。还可以在分布式系统环境中实践本公开,其中,通过网络链接(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可能位于本地和远程存储装置中。
本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为用于启用对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中使用云计算,为可配置计算资源的共享池提供无处不在和方便的按需访问。可以通过虚拟化快速提供可配置计算资源的共享池,并以低管理工作量或服务提供商交互发布,然后进行相应的缩放。
云计算模型可以由各种特征组成,例如,按需自助服务、广泛的网络访问、资源池、快速弹性、测量服务等。云计算模型还可以公开各种服务模型,例如,软件即服务(SaaS)、平台即服务(PaaS)以及基础架构即服务(“IaaS”)。还可以使用不同的部署模型(例如,私有云、社区云、公共云、混合云等)来部署云计算模型。在本说明书和权利要求书中,“云计算环境”是采用云计算的环境。
图7示出了可以被配置为执行上述一个或多个过程的示例性计算装置700的方框图。将会理解,诸如计算装置700等一个或多个计算装置可以实现系统100。如图7所示,计算装置700可以包括可以通过通信基础设施712通信地耦合的处理器702、存储器704、存储装置706、I/O接口708和通信接口710。虽然示例性计算装置700在图7中示出,但是在图7中示出的部件并非旨在限制。在其他实施例中可以使用额外或替代的部件。此外,在某些实施例中,计算装置700可以包括比图7所示的部件更少的部件。现在将更详细地描述图7所示的计算装置700的部件。
在一个或多个实施例中,处理器702包括用于执行指令的硬件,例如,构成计算机程序的指令。作为示例而非限制性地,为了执行指令,处理器702可以从内部寄存器、内部高速缓存、存储器704或存储装置706检索(或获取)指令并对其进行解码和执行。在一个或多个实施例中,处理器702可以包括用于数据、指令或地址的一个或多个内部高速缓存。作为示例而非限制性地,处理器702可以包括一个或多个指令高速缓存、一个或多个数据高速缓存以及一个或多个转换后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器704或存储装置706中的指令的副本。
存储器704可以用于存储由处理器执行的数据、元数据和程序。存储器704可以包括易失性和非易失性存储器中的一个或多个,例如,随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变内存(“PCM”)或其他类型的数据存储器。存储器704可以是内部或分布式存储器。
存储装置706包括用于存储数据或指令的存储器。作为示例而非限制性地,存储装置706可以包括上述非暂时性存储介质。存储装置706可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或其中的两者或更多个的组合。在适当的情况下,存储装置706可以包括可移动或不可移动(或固定)的介质。存储装置706可以在计算装置700的内部或外部。在一个或多个实施例中,存储装置706是非易失性固态存储器。在其他实施例中,存储装置706包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可更改ROM(EAROM)、或闪存、或其中的两个或更多个的组合。
I/O接口708允许用户向计算装置700提供输入,从其中接收输出和向其传输数据和从其中接收数据。I/O接口708可以包括鼠标、小键盘或键盘、触摸屏幕、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O装置或这种I/O接口的组合。I/O接口708可以包括用于向用户呈现输出的一个或多个装置,包括但不限于图形引擎、显示器(例如,显示屏幕)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,I/O接口708被配置为向显示器提供图形数据,以呈现给用户。图形数据可以代表一个或多个图形用户界面和/或可以服务于特定实现方式的任何其他图形内容。
通信接口710可以包括硬件、软件或两者。无论如何,通信接口710可以在计算装置700和一个或多个其他计算装置或网络之间提供用于通信(例如,基于分组的通信)的一个或多个接口。作为示例而非限制性地,通信接口710可以包括用于与以太网或其他有线网络通信的网络接口控制器(NIC)或网络适配器、或用于与无线网络(例如,WI-FI)通信的无线NIC(WNIC)或无线适配器。
另外或替代地,通信接口710可以促进与自组织网络、个人区域网络(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或多个部分、或其中的两个或更多个的组合通信。这些网络中的一个或多个的一个或多个部分可以是有线的或无线的。作为示例,通信接口710可以促进与无线PAN(WPAN)(例如,BLUETOOTH WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或其组合通信。
另外,通信接口710可以促进各种通信协议的通信。可以使用的通信协议的示例包括但不限于数据传输介质、通信装置、传输控制协议(“TCP”)、互联网协议(“IP”)、文件传输协议(“FTP”)、远程登录、超文本传输协议(“HTTP”)、安全超文本传输协议(“HTTPS”)、会话发起协议(“SIP”)、简单对象访问协议(“SOAP”)、可扩展标记语言(“XML”)及其变体、简单邮件传输协议(“SMTP”)、实时传输协议(“RTP”)、用户数据报协议(“UDP”)、全球移动通信系统(“GSM”)技术、码分多址“CDMA”)技术、时分多址(“TDMA”)技术、短消息服务(“SMS”)、多媒体消息服务(“MMS”)、射频(“RF”)信令技术、长期演进(“LTE”)技术、无线通信技术、带内和带外信令技术以及其他合适的通信网络和技术。
通信基础设施712可以包括将计算装置700的部件彼此耦合的硬件、软件或这两者。作为示例而非限制性地,通信基础设施712可以包括加速图形端口(AGP)或其他图形总线、增强型行业标准体系结构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、本地视频电子标准协会(VLB)总线或其他合适的总线或其组合。
如上所述,系统100可以包括社交网系统。社交网系统可以使其用户(例如,个人或组织)与系统交互并且彼此交互。社交网系统可以利用用户的输入在社交网系统中创建和存储与用户相关联的用户简档。用户简档可以包括人口统计信息、通信信道信息和关于用户的个人兴趣的信息。社交网系统还可以利用用户的输入来创建和存储用户与社交网系统的其他用户的关系的记录以及提供服务(例如,帖子、照片共享、活动组织、消息传递、游戏或广告),以促进用户之间或之中的社会互动。
社交网系统可以在包括多个节点和连接节点的多个边线的社交图中存储用户的记录和用户之间的关系。节点可以包括多个用户节点和多个概念节点。社交图的用户节点可以对应于社交网系统的用户。用户可以是个人(人类用户)、实体(例如,企业、商业或第三方应用)、或群组(例如,个人或实体)。与用户对应的用户节点可以包括由用户提供的信息和由各种系统收集的信息,包括社交网系统。
例如,用户可以提供包括在用户节点内的他或她的姓名、简档图片、居住城市、联系信息、出生日期、性别、婚姻状况、家庭状况、就业、教育背景、偏好、兴趣和其他人口信息。社交图的每个用户节点可以具有相应的网页(通常称为简档页)。响应于包括用户名的请求,社交网系统可以访问对应于用户名的用户节点,并且构建包括姓名、简档图片和与用户相关联的其他信息的简档页面。第一用户的简档页面可以基于第一用户的一个或多个隐私设置以及第一用户与第二用户之间的关系向第二用户显示第一用户信息的全部或一部分。
概念节点可以对应于社交网系统的概念。例如,概念可以不是真实世界实体,例如,电影、歌曲、运动队、名人、群组、餐厅、或地点或位置。对应于概念的概念节点的管理用户可以通过提供概念的信息(例如,通过填写在线表单)来创建或更新概念节点,促使社交网系统将该信息与概念节点相关联。例如而非限制性地,与概念相关联的信息可以包括名称或标题、一个或多个图像(例如,书的封面的图像)、网站(例如,URL地址)或联系人信息(例如,电话号码、电子邮件地址)。社交图的每个概念节点可以对应于网页。例如,响应于包括姓名的请求,社交网系统可以访问对应于该名称的概念节点,并且构建包括名称和与该概念相关联的其他信息的网页。
一对节点之间的边线可以表示该对节点之间的关系。例如,两个用户节点之间的边线可以表示两个用户之间的友谊。对于另一示例,社交网系统可以构建概念节点(例如,餐厅、名人)的网页(或结构化文档),在网页中包括一个或多个可选择的选项或可选择的元素(例如,“喜欢”、“登录”)。用户可以使用由用户的客户端装置托管的网页浏览器来访问页面,并且选择可选择的选项或可选元素,使得客户端装置向社交网系统发送在用户的用户节点和概念的概念节点之间创建边线的请求,指示用户和概念之间的关系(例如,用户进入餐厅,或者用户“喜欢”某个名人)。
作为示例,用户可以提供(或更改)他或她的居住城市,导致社交网系统在对应于用户的用户节点和对应于用户声明是他或她的居住城市的城市的概念节点之间创建边线。此外,任何两个节点之间的分离度被定义为从一个节点到另一节点遍历社交图所需的最小跳数。两个节点之间的分离度可以被认为是社会图中两个节点所表示的用户或概念之间的相关性的度量。例如,具有通过边线直接连接的用户节点(即,一级节点)的两个用户可以被描述为“连接的用户”或“朋友”。同样,具有仅通过另一用户节点连接的用户节点的两个用户(即,二级节点)可以被描述为“朋友的朋友”。
社交网系统可以支持各种应用,例如,照片共享、在线日历和活动、游戏、即时消息和广告。例如,社交网系统还可以包括媒体共享功能。此外,社交网系统可以允许用户将照片和其他多媒体内容项张贴到用户的简档页面(通常称为“涂鸦墙”或“时间线帖子”)或相册中,社交网系统的其他用户根据用户配置的隐私设置可以访问这两者。社交网系统还可以允许用户配置活动。例如,第一用户可以配置具有属性的活动,包括活动的时间和日期、活动的位置和被邀请到活动的其他用户。被邀请的用户可以接收到该活动的邀请并进行回复(例如,通过接受或拒绝邀请)。此外,社交网系统可以允许用户维护个人日历。与活动类似,日历条目可以包括其他用户的时间、日期、位置和身份。
图8示出了社交网络系统的一个示例网络环境800。网络环境800包括客户端系统806、社交网络系统802以及通过网络804彼此连接的第三方系统808。虽然图8示出了客户端系统806、社交网络系统802、第三方系统808以及网络804的特定设置,但是本公开预计客户端系统806、社交网络系统802、第三方系统808以及网络804具有任何合适的设置。作为一个示例,并非通过限制的方式,客户端系统806、社交网络系统802以及第三方系统808中的两个或多个彼此直接连接,绕过网络804。作为另一示例,客户端系统806、社交网络系统802以及第三方系统808中的两个或多个在物理上或逻辑上彼此完全或部分共同定位。而且,虽然图8示出了特定数量的客户端系统806、社交网络系统802、第三方系统808以及网络804,但是本公开预计客户端系统806、社交网络系统802、第三方系统808以及网络804具有任何合适的数量。作为一个示例,并非通过限制的方式,网络环境800可以包括多个客户端系统806、社交网络系统802、第三方系统808以及网络804。
本公开预计任何合适的网络804。作为一个示例,并非通过限制的方式,网络804的一个或多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、一部分互联网、一部分公共交换电话网(PSTN)、蜂窝电话网络、或其中的两个或多个的组合。网络804可以包括一个或多个网络804。
链路可以使客户端系统806、社交网络系统802以及第三方系统808与通信网络804或者彼此连接。本公开预计任何合适的链路。在具体实施例中,一个或多个链路包括一个或多个有线(例如,数字用户线路(DSL)或电缆数据服务接口规范(DOCSIS))、无线(例如,Wi-Fi或全球微波接入互操作性(WiMAX))、或光学(例如,同步光纤网络(SONET)或同步数字系列(SDH))链路。在具体实施例中,一个或多个链路均包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、一部分互联网、一部分PSTN、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路或两个或多个这种链路的组合。在整个网络设备800中,链路不必相同。一个或多个第一链路可以在一个或多个方面与一个或多个第二链路不同。
在具体实施例中,客户端系统806可以是电子装置,其包括硬件、软件或嵌入式逻辑元件或两个或多个这种元件的组合,并且能够执行由客户端系统806实现或支持的合适功能。作为一个示例,并非通过限制的方式,客户端系统806可以包括计算机系统,例如,台式电脑、笔记本或膝上型电脑、笔记本、平板电脑、电子阅读器、GPS装置、照相机、个人数字助理(PDA)、手持式电子装置、蜂窝电话、智能电话、其他合适的电子装置、或其任何合适的组合。本公开预计任何合适的客户端系统806。客户端系统806可以使在客户端系统806上的网络用户访问网络804。客户端系统806可以使其用户与在其他客户端系统806上的其他用户通信。
在具体实施例中,客户端系统806可以包括网页浏览器,例如,MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX,并且可以具有一个或多个额外部件、插件或其他延伸部分,例如,TOOLBAR或YAHOO TOOLBAR。在客户端系统806上的用户可以输入统一资源定位符(URL)或其他地址,将网页浏览器引向特定用户(例如,服务器或与第三方系统808相关联的服务器),并且网页浏览器可以生成超文本传输协议(HTTP)请求,并且将HTTP请求传送给服务器。服务器可以接受HTTP请求并且将响应于HTTP请求的一个或多个超文本标记语言(HTML)文件传送给客户端系统806。客户端系统806可以基于来自服务器的HTML文件渲染网页,用于呈现给用户。本公开预计任何合适的网页文件。作为一个示例,并非通过限制的方式,网页可以根据特定的需要从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件中渲染。这种页面还可以执行脚本,例如,例如并且没有限制地,通过JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT、标记语言和脚本(例如,AJAX(异步JAVASCRIPT和XML)的组合等编写的脚本。在本文中,在适当的情况下,网页的引用包括一个或多个相应的网页文件(浏览器可以用于渲染网页的文件),反之亦然。
在具体实施例中,社交网络系统802可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统802可以生成、储存、接收并且发送社交网络数据,例如,用户配置文件数据、概念配置文件数据、社交图信息、或与在线社交网络相关的其他合适数据。社交网络系统802可以由网络环境800的其他元件直接或者通过网络804访问。在具体实施例中,社交网络系统802可以包括一个或多个服务器。每个服务器可以是单一式服务器或分布式服务器,其跨过多个计算机或多个数据中心。服务器可以是各种类型,例如,例如并且没有限制地,网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用程序服务器、交换服务器、数据库服务器、代理服务器、适合于执行在本文中描述的功能或处理的另一服务器、或其任何组合。在具体实施例中,每个服务器可以包括硬件、软件或嵌入式逻辑元件或两个或多个这种元件的组合,用于执行由服务器实现或支持的合适功能。在具体实施例中,社交网络系统802可以包括一个或多个数据存储器。数据存储器可以用于储存各种类型的信息。在具体实施例中,可以根据特定的数据结构,组织储存在数据存储器内的信息。在具体实施例中,每个数据存储器可以是关系、列、相关性或其他合适的数据库。虽然本公开描述或示出了特定类型的数据库,但是本公开预期任何合适类型的数据库。具体实施例可以提供接口,所述接口使客户端系统806、社交网络系统802或者第三方系统808能够管理、检索、增加或删除储存在数据存储器内的信息。
在具体实施例中,社交网络系统802可以在一个或多个数据存储器内储存一个或多个社交图。在具体实施例中,社交图可以包括多个节点-其可以包括多个用户节点(每个节点与特定的用户对应)或多个概念节点(每个节点与特定的概念对应)-以及连接所述节点的多个边线。社交网络系统802可以给在线社交网络的用户提供与其他用户通信和互动的能力。在具体实施例中,用户可以通过社交网络系统802加入在线社交网络,然后,增加与用户希望联系的社交网络系统802的多个其他用户的联系(例如,关系)。在本文中,项“朋友”可以表示用户通过社交网络系统802与其形成联系、关联性或关系的社交网络系统802的任何其他用户。
在具体实施例中,社交网络系统802可以给用户提供对由社交网络系统802支持的各种类型的物品或对象采取行动的能力。作为一个示例,并非通过限制的方式,物品和对象可以包括社交网络系统802的用户所属的群组或社交网络、用户可能感兴趣的活动或日历项、用户可以使用的基于计算机的应用程序、允许用户通过服务购买或销售的物品的交易、与用户可以执行的广告的互动、或其他合适的物品或对象。用户可以与能够在社交网络系统802内或者由第三方系统808的外部系统表示的任何物体互动,该外部系统与社交网络系统802分开并且通过网络804耦合至社交网络系统802。
在具体实施例中,社交网络系统802能够连接各种实体。作为一个示例,并非通过限制的方式,社交网络系统802可以使用户能够彼此互动并且接收来自第三方系统808或其他实体的内容,或者允许用户通过应用程序编程接口(API)或其他通信信道与这些实体互动。
在具体实施例中,第三方系统808可以包括一种或多种类型的服务器、一个或多个数据储存、一个或多个接口(包括但不限于API)、一个或多个网络服务、一个或多个内容源、一个或多个网络、或(例如)可以与服务器通信的任何其他合适的元件。第三方系统808可以由与操作社交网络系统802的实体不同的实体操作。在具体实施例中,然而,社交网络系统802和第三方系统808可以彼此相结合地操作,以给社交网络系统802或第三方系统808的用户提供社交网络服务。在这个意义上,社交网络系统802可以提供平台或支柱,其他系统(例如,第三方系统808)可以使用该平台或支柱来通过互联网给用户提供社交网络服务和功能。
在具体实施例中,第三方系统808可以包括第三方内容对象提供商。第三方内容对象提供商可以包括可以传送给客户端系统806的内容对象的一个或多个来源。作为一个示例,并非通过限制的方式,内容对象可以包括关于用户感兴趣的东西或活动的信息,例如,电影放映时间、电影评论、餐厅评论、餐厅菜单、产品信息和评论、或其他合适的信息。作为一个示例,并非通过限制的方式,内容对象可以包括激励内容对象,例如,优惠券、折扣票、礼品券或其他合适的激励对象。
在具体实施例中,社交网络系统802还包括用户生成的内容对象,所述内容对象可以增强用户与社交网络系统802的互动。用户生成的内容可以包括用户可以增加、上传、发送或“张贴”到社交网络系统802中的任何物体。作为一个示例,并非通过限制的方式,用户将帖子从客户端系统806中传送给社交网络系统802。帖子可以包括状态更新或其他文本数据等数据、位置信息、照片、视频、链接、音乐或其他相似的数据或介质。还可以由第三方系统808通过“通信信道”(例如,新闻推送或流)增加到社交网络系统802中。
在具体实施例中,社交网络系统802可以包括各种服务器、子系统、程序、模块、记录以及数据储存。在具体实施例中,社交网络系统802可以包括以下中的一个或多个:网络服务器、活动记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、活动记录、第三方内容对象曝光记录、推理模块、授权/隐私服务器、搜索模块、广告目标模块、用户接口模块、用户配置文件储存、连接储存、第三方内容储存或位置储存。社交网络系统802还可以包括合适的元件,例如,网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的元件、或其任何合适的组合。在具体实施例中,社交网络系统802可以包括一个或多个用户配置文件储存,用于储存用户配置文件。用户配置文件可以包括(例如)传记信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息,例如,工作经验、学历、爱好或偏好、兴趣、亲和度或位置。兴趣信息可以包括与一个或多个类别相关联的兴趣。类别可以是一般或特定类别。作为一个示例,并非通过限制的方式,如果用户“喜欢”关于某个品牌的鞋的物品,那么类别可以是该品牌或者一般类别的“鞋子”或“衣服”。连接储存可以用于储存关于用户的连接信息。连接信息可以表示具有相似或共同工作经历、群组关系、爱好、学历的或者通过任何方式相关的或者分享共同属性的用户。连接信息还可以包括在不同用户与内容(内部和外部)之间的用户定义的连接。网络服务器可以用于通过网络804连接社交网络系统802和一个或多个客户端系统806或者一个或多个第三方系统808。网络服务器可以包括邮件服务器或其他消息传递功能,用于在社交网络系统802与一个或多个客户端系统806之间接收和理由消息。API请求服务器可以允许第三方系统808通过调用一个或多个API来访问来自社交网络系统802的信息。活动记录器可以用于从网络服务器中接收关于用户在社交网络系统802上或者远离社交网络系统802的活动的通信。与活动记录相结合,第三方内容对象记录可以保持用户曝光到第三方内容对象中。通知控制器可以给客户端系统806提供关于内容对象的信息。可以将信息作为通知推向客户端系统806,或者可以响应于从客户端系统806中接收的请求,从客户端系统806中拉动信息。授权服务器可以用于实施社交网络系统802的用户的一个或多个隐私设置。用户的隐私设置确定可以分享与用户相关联的特定信息的方式。授权服务器可以允许用户决定加入或退出由社交网络系统802记录的或者与其他系统(例如,第三方系统808)分享的活动,例如,通过设置合适的隐私设置。第三方内容对象储存可以用于储存从第三方接收的内容对象,例如,第三方系统808。位置储存可以用于储存从与用户相关联的客户端系统806中接收的位置信息。广告定价模块可以合并社会信息、当前时间、位置信息或其他合适的信息,以通过通知的形式向用户提供相关广告。
图9示出了示例社交图900。在具体实施例中,社交网络系统802可以在一个或多个数据储存中储存一个或多个社交图900。在具体实施例中,社交图900可以包括多个节点-其可以包括多个用户节点902或多个概念节点904以及连接所述节点的多个边线906。为了教示的目的,在二维视觉图表示中显示了在图9中示出的示例社交图900。在具体实施例中,社交网络系统802、客户端系统806或第三方系统808可以访问用于合适的应用程序的社交图900和相关的社交图信息。社交图900的节点和边线可以作为数据对象(例如)储存在数据储存(例如,社交图数据库)内。这种数据储存可以包括社交图900的节点和边线的一个或多个可搜索或可查询的索引。
在具体实施例中,用户节点902可以与社交网络系统802的用户对应。作为一个示例,并非通过限制的方式,用户可以是个人(个人用户)、实体(例如,企业、商业或第三方应用程序)、或与或者通过社交网络系统802互动或通信的群组(例如,个人或实体)。在具体实施例中,在第一用户通过社交网络系统802注册账号时,社交网络系统802可以创建与用户对应的第一用户节点902,并且在一个或多个数据储存内储存用户节点902。在适当的情况下,在本文中描述的用户和用户节点902表示注册的用户以及与注册的用户相关联的用户节点902。此外或者作为替换物,在适当的情况下,在本文中描述的用户和用户节点902表示没有通过社交网络系统802注册的用户。在具体实施例中,用户节点902可以与由用户提供的信息或者由各种系统聚集的信息相关联,包括社交网络系统802。作为一个示例,并非通过限制的方式,用户可以提供其名称、大头贴、联系信息、生日、性别、婚姻状况、家庭状况、职业、教育背景、爱好、兴趣或其他人口统计信息。在具体实施例中,用户节点902可以与一个或多个数据对象相关联,所述数据对象与和用户相关联的信息对应。在具体实施例中,用户节点902可以与一个或多个网页对应。
在具体实施例中,概念节点904可以与概念对应。作为一个示例,并非通过限制的方式,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统802相关联的网站或者与网络应用程序服务器相关联的第三方网站);实体(例如,个人、企业、群组、体育队或名流);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用程序),其可以位于社交网络系统802内或外部服务器上,,例如,网络应用程序服务器;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、理念、照片、或书面工作);游戏;活动;理念或理论;另一种合适的概念;或两个或多个这种概念。概念节点904可以与由用户提供的概念的信息或者由各种系统聚集的信息相关联,包括社交网络系统802。作为一个示例,并非通过限制的方式,概念的信息可以包括名字或称号;一个或多个图像(例如,书的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系方式(例如,电话号码或电子邮件地址);其他合适的概念信息;或这种信息的任何合适的组合。在具体实施例中,概念节点904可以与一个或多个数据对象相关联,所述数据对象与和概念节点904相关联的信息对应。在具体实施例中,概念节点904可以与一个或多个网页对应。
在具体实施例中,在社交图900内的节点可以表示网页(可以称为“配置文件页面”)或者由该网页表示。配置文件页面可以由社交网络系统802托管或者可存取。配置文件页面还可以在与第三方系统908相关联的第三方网站上托管。作为一个示例,并非通过限制的方式,与特定的外部网页对应的配置文件页面可以是特定的外部网页,并且配置文件页面可以与特定的概念节点904对应。配置文件页面可以由所有或者所选择的子集的其他用户可查看。作为一个示例,并非通过限制的方式,用户节点902可以具有对应的用户配置文件页面,在该配置文件页面中,相应的用户可以添加内容,发表声明,或者另外表达自己的意见。作为另一示例,并非通过限制的方式,概念节点904可以具有相应概念的配置文件页面,在该配置文件页面中,一个或多个用户可以添加内容,发表声明,或者表达自己的意见,尤其关于与概念节点904对应的概念。
在具体实施例中,概念节点904可以表示由第三方系统808托管的第三方网页或资源。在其他部件之中,第三方网页或资源可以包括内容、可选择的或其他图标、或者表示活动或行动的其他可互动的对象(例如,可以在JavaScript、AJAX或PHP代码内实现)。作为一个示例,并非通过限制的方式,第三方网页可以包括可选择的图标,例如,“喜欢”、“登记”、“吃”、“推荐”、或另一合适的活动或行动。通过选择一个图标(例如,“吃”),查看第三方网页的用户可以执行活动,促使客户端系统806给社交网络系统802传输表示用户的活动的消息。响应于该消息,社交网络系统802可以在与用户对应的用户节点902与和第三方网页或资源对应的概念节点904之间创建边线(例如,“吃”边线),并且在一个或多个数据储存内储存边线906。
在具体实施例中,在社交图900内的一对节点可以通过一个或多个边线906彼此连接。连接一对节点的边线906可以表示在这对节点之间的关系。在具体实施例中,边线906可以包括或表示与在一对节点之间的关系对应的一个或多个数据对象或属性。作为一个示例,并非通过限制的方式,第一用户可以表示第二用户是第一用户的“朋友”。响应于这个指示,社交网络系统802可以给第二用户传输“朋友请求”。如果第二用户确认“朋友请求”,那么社交网络系统802可以在社交图900内创建连接第一用户的用户节点902和第二用户的用户节点902的边线906,并且在一个或多个数据存储器内储存边线906,作为社交图信息。在图9的示例中,社交图900包括表示在用户“A”和用户“B”的用户节点902之间的朋友关系的边线906以及表示在用户“C”和用户“B”的用户节点902之间的朋友关系的边线。虽然本公开描述或显示了连接特定的用户节点902的具有特定属性的特定边线906,但是本公开预计连接用户节点902的具有任何合适的属性的任何合适的边线906。作为一个示例,并非通过限制的方式,边线906可以表示友谊、家庭关系、业务或雇佣关系、粉丝关系、追随者关系、访客关系、用户关系、上级/下级关系、互惠关系、非互惠的关系、另一种合适类型的关系、或两个或更多这种关系。而且,虽然本公开总体上描述正在连接的节点,但是本公开还描述了正在连接的用户或概念。在本文中,在合适的地方,正在连接的用户或概念的引用可以表示与由一个或多个边线906在社交图900内连接的那些用户或概念对应的节点。
在具体实施例中,在用户节点902与概念节点904之间的边线906可以表示由与用户节点902相关联的用户朝着与概念节点904相关联的概念执行的特定活动或行动。作为一个示例,并非通过限制的方式,如图9中所示,用户可以“喜欢”、“参加”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中的每个均与边线类型或子类型对应。与概念节点904对应的概念配置文件页面可以包括(例如)可选择的“登记”图标(例如,可点击的“登记”图标)或可选择的“添加到收藏夹”图标。同样,在用户点击这些图标之后,社交网络系统802可以响应于与相应的活动对应的用户活动创建“收藏夹”边线或“登记”边线。作为一个示例,并非通过限制的方式,用户(用户“C”)可以使用特定的应用程序(例如,SPOTIFY,这是在线音乐应用程序)收听特定的歌曲(“Imagine”)。在这种情况下,社交网络系统802可以在与用户对应的用户节点902与和歌曲和应用程序对应的概念节点904之间创建“收听”的边线906和“使用”的边线(如图9中所示),以表示用户收听歌曲和使用应用程序。而且,社交网络系统802可以在与歌曲和应用程序对应的概念节点904之间创建“收听”的边线906(如图9中所示),以表示由特定的应用程序播放特定的歌曲。在这种情况下,“收听”的边线906与由外部应用程序(SPOTIFY)在外部音频文件(歌曲“Imagine”)上执行的活动对应。虽然本公开描述了连接用户节点902和概念节点904的具有特定属性的特定边线906,但是本公开预计连接用户节点902和概念节点904的具有任何合适的属性的任何合适的边线906。而且,虽然本公开描述了表示单个关系的在用户节点902和概念节点904之间的边线,但是本公开预计表示一个或多个关系的在用户节点902和概念节点904之间的边线。作为一个示例,并非通过限制的方式,边线906可以表示用户喜欢并且使用的特定概念。交替地,另一边线906可以表示在用户节点902和概念节点904之间(如图9中所示,在用户“E”的用户节点902和“SPOTIFY”的概念节点904之间)的每种类型的关系(或单个关系的倍数)。
在具体实施例中,社交网络系统802可以在用户节点902和概念节点904之间创建边线906。作为一个示例,并非通过限制的方式,查看概念配置文件页面的用户(例如,通过使用由用户的客户端系统806托管的网络浏览器或专用应用程序)可以通过点击或选择“喜欢”图标来指示该用户喜欢由概念节点904表示的概念,这可以促使用户的客户端系统806给社交网络系统802传输表示用户喜欢与概念配置文件页面相关联的概念的消息。响应于该消息,社交网络系统802可以在与用户相关联的用户节点902和概念节点904之间创建边线906,如“喜欢”在用户和概念节点904之间的边线906所示。在具体实施例中,社交网络系统802可以在一个或多个数据储存内储存边线906。在具体实施例中,可以由社交网络系统802响应于特定的用户活动自动形成边线906。作为一个示例,并非通过限制的方式,如果第一用户上传图片,看电影,或者收听歌曲,那么可以在与第一用户对应的用户节点902和与那些概念对应的概念节点904之间形成边线906。虽然本公开描述了通过特定的方式形成特定的边线906,但是本公开预计通过任何合适的方式形成任何合适的边线906。
在具体实施例中,广告可以是文本(其可以是HTML链接的)、一个或多个图像(其可以是HTML链接的)、一个或多个视频、音频、一个或多个ADOBE FLASH文件、这些的合适的组合、或在一个或多个网页上、在一个或多个电子邮件中或与用户请求的搜索结果相结合呈现的任何合适的数字格式的任何其他合适的广告。另外或作为替代,广告可以是一个或多个赞助故事(例如,社交网系统802上的新闻馈送或报价项目)。赞助的故事可能是广告商促进的用户的社会活动(例如“喜欢”页面、页面上的帖子上的“喜欢”或评论、与页面相关联的活动的RSVPing、对页面上发布的问题进行投票、到达某个场所、使用应用程序或玩游戏、或“喜欢”或共享网站),例如,通过在用户的简档页面或其他页面的预定区域内呈现的、用与广告商相关联的额外信息呈现的、在其他用户的新闻馈送或报价内提升或突出显示的、或以其他方式促进的社会活动。广告商可以支付促进的社会活动。作为示例而非限制性地,广告可以被包括在搜索结果页面的搜索结果中,其中,在非赞助内容上促进赞助的内容。
在具体实施例中,可以请求广告,以在社交网系统网页、第三方网页或其他页面中显示。广告可以在页面的专用部分中显示,例如,在页面的顶部的横幅区域、在页面侧的列中、在页面的GUI中、在弹出窗口中、在下拉菜单中、在页面的输入字段中、超出页面内容的顶部、或相对于页面的其他位置。另外或作为替代,可以在应用程序内显示广告。广告可以在专用页面中显示,要求用户在用户访问页面或利用应用程序之前与用户进行交互或观看广告。用户可以例如通过网络浏览器来查看广告。
用户可以以任何合适的方式与广告进行交互。用户可以点击或以其他方式选择广告。通过选择广告,可以将用户定向到(或用户使用的浏览器或其他应用)与广告相关联的页面。在与广告相关联的页面上,用户可以采取额外措施,例如,购买与广告相关联的产品或服务,接收与广告相关联的信息,或订阅与广告相关联的简报。具有音频或视频的广告可以通过选择广告的部件(例如,“播放按钮”)来播放。或者,通过选择广告,社交网系统802可以执行或修改用户的特定活动。
广告还可以包括用户可以与之交互的社交网系统功能。作为示例而非限制性地,广告可以使得用户可以通过选择与认可相关联的图标或链接来“喜欢”或以其他方式认可广告。作为另一示例而非限制性地,广告可以使得用户能够搜索(例如,通过执行查询)用于与广告商相关的内容。同样,用户可以与另一用户(例如,通过社交网系统802)或RSVP(例如,通过社交网系统802)共享与广告相关联的活动的广告。另外或作为替代,广告可以包括指向用户的社交网系统上下文。作为示例而非限制性地,广告可以在已经采取与广告的主题相关联的措施的社交网系统802内显示关于用户的朋友的信息。
在具体实施例中,社交网络系统802可以确定彼此的各种社交图实体的社交图亲和度(在本文中可以称为“亲和度”)。亲和度可以表示在与在线社交网络相关联的特定对象(例如,用户、概念、内容、活动、广告、与在线社交网络相关联的其他对象或其任何合适的组合)之间的兴趣关系或水平的强度。还可以相对于与第三方系统808或其他合适的系统相关联的对象确定亲和度。还可以确定每个用户的社交图的整体亲和度、主题、或内容的类型。整体亲和度可以基于继续监控与社交图实体相关联的活动或关系改变。虽然本公开描述了通过特定的方式确定特定的亲和度,但是本公开预计通过任何合适的方式确定任何合适的亲和度。
在具体实施例中,社交网络系统802可以使用亲和度系数(在本文中可以称为“系数”)测量或量化社交图亲和度。系数可以表示或量化在与在线社交网络相关联的特定用户之间的关系的强度。系数还可以表示概率或功能,其根据用户对活动的兴趣测量用户执行特定的活动的预测概率。通过这种方式,可以根据用户的先前活动,预测用户的未来活动,其中,至少部分根据用户的活动历史,计算系数。系数可以用于预测在在线社交网络内或外面的多个活动。作为一个示例,并非通过限制的方式,这些活动可以包括各种类型的通信,例如,发送消息、张贴内容或者对内容评论;各种类型的观察活动;例如,访问或查看配置文件页面、介质或其他合适的内容;关于两个或多个社交图实体的各种类型的重合信息,例如,在相同的群组内,标记在相同的照片内,在相同的位置登记,或者参加相同的活动;或其他合适的活动。虽然本公开描述了通过特定的方式测量亲和度,但是本公开预计通过任何合适的方式测量亲和度。
在具体实施例中,社交网络系统802可以使用各种因子,来计算系数。这些因子可以包括(例如)用户活动、在对象之间的关系的类型、位置信息、其他合适的因子或其任何组合。在具体实施例中,在计算系数时,不同的因子可以不同地加权。每个因子的权重可以是静态的,或者权重可以根据(例如)用户、关系的类型、活动的类型、用户的位置等改变。这些因子的评级可以根据其权重组合,以确定用户的整体系数。作为一个示例,并非通过限制的方式,可以给特定的用户活动分配评级和权重,同时给与特定的用户活动相关联的关系分配评级和相关联的权重(例如,因此,总权重是100%)。为了朝着特定对象计算用户的系数,给用户活动分配的评级可以包括(例如)整体系数的60%,而在用户与对象之间的关系可以包括整体系数的40%。在具体实施例中,在确定用于计算系数的各种因子的权重时,社交网络系统802可以考虑各种变量,例如,访问信息的时间、衰减因子、访问频率、与信息的关系、关于访问哪个信息的与对象的关系、与连接至对象的社交图实体的关系、用户活动的短期或长期平均数、用户反馈、其他合适的变量或其任何组合。作为一个示例,并非通过限制的方式,系数可以包括衰减因子,其促使由特定的活动提供的信号的强度随着时间衰减,以便在计算系数时,最近活动更相关。可以基于继续跟踪系数所基于的活动,来继续更新评级和权重。任何类型的处理或算法可以用于对每个因子的评级以及分配给因子的权重进行分配、合并、平均化等。在具体实施例中,社交网络系统802可以使用在历史活动和过去的用户响应上培训的机器学习算法确定系数或者通过对着各种选择和测量响应曝光这些系数来由用户形成的数据。虽然本公开描述了通过特定的方式计算系数,但是本公开预计通过任何合适的方式计算系数。
在具体实施例中,社交网络系统802可以基于用户的活动计算系数。社交网络系统802可以在在线社交网络上、在第三方系统808上、在其他合适的系统上或其任何组合上,监控这种活动。可以跟踪或监控任何合适类型的用户活动。典型的用户活动包括查看配置文件页面、创建或张贴内容、与内容互动、加入群组、列出和确认参加活动,登记位置,喜欢特定的页面、创建页面,并且执行促进社会活动的其他任务。在具体实施例中,社交网络系统802可以基于具有特定类型的内容的用户活动,计算系数。该内容可以与在线社交网络、第三方系统808或另一合适的系统相关联。该内容可以包括用户、配置文件页面、帖子、新闻故事、头条、聊天室谈话、电子邮件、广告、图片、引用、其他合适的对象或其任何组合。社交网络系统802可以分析用户的活动,以确定一个或多个活动是否表示主题、内容、其他用户等的亲和度。作为一个示例,并非通过限制的方式,如果用户可以使频繁张贴的内容与“咖啡”或其他变体相关,那么社交网络系统802可以确定用户相对于概念“咖啡”具有高系数。可以给特定的活动或特定类型的活动分配比其他活动更高的权重和/或评级,这可以影响整体计算系数。作为一个示例,并非通过限制的方式,如果第一用户给第二用户发送电子邮件,那么与如果第一用户仅仅查看第二用户的用户配置文件相比,该活动的加权或评级可以更高。
在具体实施例中,社交网络系统802可以基于在特定对象之间的关系的类型计算系数。参照社交图900,社交网络系统802可以在计算系数时分析连接特定的用户节点902和概念节点904的边线906的数量和/或类型。作为一个示例,并非通过限制的方式,可以给由配偶型边线(表示两个用户是夫妻)连接的用户节点902分配比由朋友型边线连接的用户节点902更高的系数。换言之,根据分配给活动的权重以及特定用户的关系,可以确定关于用户的配偶的内容的整体亲和度比关于用户的朋友的内容更高。在具体实施例中,用户与另一对象具有的关系可以影响用户相对于计算该对象的系数的活动的权重和/或评级。作为一个示例,并非通过限制的方式,如果用户在第一张照片中标记,但是仅仅喜欢第二张照片,那么社交网络系统802可以确定用户相对于第一张照片具有比第二张照片更高的系数,这是因为与具有与内容的喜欢型关系相比,具有与内容的标记型关系,可以分配更高的权重和/或评级。在具体实施例中,社交网络系统802可以基于一个或多个第二用户与特定对象具有的关系,给第一用户计算系数。换言之,其他用户与对象具有的连接和系数可以影响第一用户用于该对象的系数。作为一个示例,并非通过限制的方式,如果第一用户连接至一个或多个第二用户或者对一个或多个第二用户具有高系数,并且那些第二用户连接至特定的对象或者对特定的对象具有高系数,那么社交网络系统802可以确定第一用户也应对该特定的对象具有较高的系数。在具体实施例中,系数可以基于在特定对象之间的分离程度。更低的系数可以表示第一用户在社交图900中分享对与第一用户间接连接的用户的内容对象的兴趣的可能性降低。作为一个示例,并非通过限制的方式,在社交图900中更接近的社交图实体(即,更小的分离程度)可以具有比在社交图900中相隔更远的实体更高的系数。
在具体实施例中,社交网络系统802可以基于在位置信息计算系数。在地理上彼此更接近的对象可以被视为比更远的对象彼此更相关或更感兴趣。在具体实施例中,用户朝着特定对象的兴趣可以基于对象的位置与和用户相关联的当前位置(或用户的客户端系统806的位置)的接近度。第一用户可以对更接近第一用户的其他用户或概念更感兴趣。作为一个示例,并非通过限制的方式,如果用户与机场相距1英里并且与加油站相距2英里,那么社交网络系统802可以基于机场与用户的接近度确定用户对机场具有比加油站更高的系数。
在具体实施例中,社交网络系统802可以基于系数信息,相对于用户执行特定的活动。系数可以用于根据用户对活动的兴趣,预测用户是否执行特定的活动。在生成或向用户显示任何类型的对象时,可以使用系数,例如,广告、搜索结果、新闻故事、介质、消息、通知或其他合适的对象。系数还可以用于将这种对象酌情排名和排序。通过这种方式,社交网络系统802可以提供与用户的兴趣和当前环境相关的信息,提高了找出这种兴趣信息的可能性。在具体实施例中,社交网络系统802可以基于系数信息,生成内容。可以基于用户特有的系数,提供或选择内容对象。作为一个示例,并非通过限制的方式,系数可以用于给用户生成介质,其中,可以给用户显示用户相对于介质对象具有高整体系数的介质。作为另一示例,并非通过限制的方式,系数可以用于给用户生成广告,其中,可以给用户显示用户相对于广告对象具有高整体系数的广告。在具体实施例中,社交网络系统802可以基于系数信息,生成搜索结果。可以相对于查询用户,基于与搜索结果相关联的系数,给特定用户的搜索结果评分或排名。作为一个示例,并非通过限制的方式,与和具有更低系数的对象对应的结果相比,与具有更高系数的对象对应的搜索结果可以在搜索结果页面上排名更高。
在具体实施例中,社交网络系统802可以响应于特定系统或处理的系数的请求,计算系数。为了预测用户可以在规定的情况下采取(或者可以作为其主体)的可能措施,任何处理可以请求用户的计算系数。该请求还可以包括用于各种因子的一组权重,这些因子用于计算系数。这个请求可以来自在线社交网络上运行的处理、来自第三方系统808(例如,通过API或其他通信信道)或者来自另一合适的系统。响应于该请求,社交网络系统802可以计算系数(或者如果预先计算和储存了,那么访问系数信息)。在具体实施例中,社交网络系统802可以计算相对于特定处理的亲和度。不同的处理(位于在线社交网络的内部和外部)可以请求一个特定对象或一组特定对象的系数。社交网络系统802可以提供与请求亲和度的测度的特定处理相关的亲和度的测度。通过这种方式,每个处理接收专用于不同背景的亲和度的测度,在该背景下,该处理使用亲和度的测度。
与社交图亲和度和亲和度系数相结合,具体实施例可以使用在于2006年8月11日提交的美国专利申请号11/503093、于2010年12月22日提交的美国专利申请号12/977027、于2010年12月23日提交的美国专利申请号12/978265以及于2012年10月1日提交的美国专利申请号13/632869中公开的一个或多个系统、元件、部件、功能、方法、操作或步骤,每个申请通过引证结合于此。
在具体实施例中,在线社交网的一个或多个内容对象可以与隐私设置相关联。可以以任何适当的方式(例如,与对象相关联地)、以另一种适当的方式或其任何组合,将对象的隐私设置(或“访问设置”)储存在授权服务器上的索引中。对象的隐私设置可以指定可以如何使用在线社交网来访问(例如,查看或共享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,该对象可以被描述为相对于该用户“可见”。作为示例而非限制性地,在线社交网的用户可以指定用户简档页面的隐私设置,以识别可以访问用户简档页面上的工作体验信息的一组用户,从而排除其他用户访问信息。在具体实施例中,隐私设置可以指定不应被允许访问与对象相关联的某些信息的用户的“黑名单”。换言之,黑名单可以指定对象不可见的一个或多个用户或实体。作为示例而非限制性地,用户可以指定可能不访问与用户相关联的相册的一组用户,从而排除那些用户访问相册(同时也可能允许不在该组用户内的某些用户访问相册)。在具体实施例中,隐私设置可以与特定社交图元素相关联。诸如节点或边线等社交图元素的隐私设置可以指定如何可以使用在线社交网访问社交图元素、与社交图元素相关联的信息或与社交图元素相关联的内容对象。作为示例而非限制性地,对应于特定照片的特定概念节点904可以具有隐私设置,其指定照片可以仅由照片中标记的用户及其朋友访问。在具体实施例中,隐私设置可以允许用户决定具有或决定不具有由社交网系统802记录的或与其他系统(例如,第三方系统808)共享的活动。在具体实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问任何合适的粒度。作为示例而非限制性地,可以为特定用户(例如,只有我、我的室友和我的老板)、特定分离度内的用户(例如,朋友或朋友)、用户组(例如,游戏俱乐部、我的家人)、用户网络(例如,特定老板的特定雇员、特定大学的学生或校友)、所有用户(“公众”)、没有用户(“私人”)、第三方系统808的用户、特定应用(例如,第三方应用、外部网站)、其他合适的用户或实体或其任何组合指定访问或拒绝访问。虽然本公开描述以特定方式使用特定的隐私设置,但本公开预期以任何合适的方式使用任何合适的隐私设置。
在具体实施例中,一个或多个服务器可以是用于执行隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)对于存储在数据存储器中的特定对象的请求,社交网系统802可以向对象的数据存储器发送请求。如果授权服务器基于与该对象相关联的隐私设置来确定授权该用户访问该对象,则该请求可以识别与请求相关联的用户,并且可以仅发送给用户(或该用户的客户端系统806)。如果请求用户没有被授权访问对象,则授权服务器可以防止从数据存储器检索所请求的对象,或者可以防止所请求的对象发送给用户。在搜索查询上下文中,如果授权查询用户访问对象,则只能生成对象,作为搜索结果。换言之,对象必须具有查询用户可见的可见性。如果对象具有用户不可见的可见性,则可能会从搜索结果中排除该对象。虽然本公开描述以特定方式实施隐私设置,但是本公开预期以任何合适的方式实施隐私设置。
参考其具体示例性实施例,描述以上说明书。参考本文所讨论的细节,描述本公开的各种实施例和方面,并且附图示出了各种实施例。上面的描述和附图是说明性的,不应被解释为限制性的。描述了许多具体细节,以提供对各种实施例的透彻理解。
在不脱离其精神或基本特征的情况下,额外或替代实施例可以以其他具体形式体现。所描述的实施例仅在所有方面被认为是说明性的而不是限制性的。因此,本公开的范围由所附权利要求而不是前面的描述来指示。在权利要求的等同的含义和范围内的所有变化将被包括在其范围内。

Claims (33)

1.一种方法,包括:
识别由第一用户在通信线程中提交的第一消息元素;
识别由第二用户在所述通信线程中提交的第二消息元素;
由一个或多个处理器确定在阈值时间内提交所述第一消息元素和所述第二消息元素;
响应于确定在阈值时间内提交所述第一消息元素和所述第二消息元素,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素;并且
在通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素。
2.根据权利要求1所述的方法,其中,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素包括访问查找表并从所述查找表识别所述第一消息元素和所述第二消息元素的组合表示所述第三消息元素。
3.根据权利要求1所述的方法,其中,在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素包括:
从所述通信线程去除包含所述第一消息元素的第一单元;
从所述通信线程去除包含所述第二消息元素的第二单元;并且
在所述通信线程中提供包含所述第三消息元素的新单元。
4.根据权利要求3所述的方法,其中,在所述通信线程中提供包含所述第三消息元素的新单元包括将所述通信线程中的新单元定位在所述第一单元和所述第二单元先前占据的位置。
5.根据权利要求4所述的方法,其中,在通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素包括在将所述新单元定位在所述通信线程中之后重新渲染所述通信线程,从而去除所述第一消息元素和所述第二消息元素并渲染所述第三消息元素。
6.根据权利要求5所述的方法,还包括,在预定时间段之后:
从所述通信线程去除包含第三消息元素的所述新单元;
在所述通信线程中提供包含所述第一消息元素的所述第一单元;
在所述通信线程中提供包含所述第二消息元素的所述第二单元;并且
重新渲染所述通信线程,从而去除所述第三消息元素并渲染所述第一消息元素和所述第二消息元素。
7.根据权利要求6所述的方法,还包括访问与所述第三消息元素相关联的元数据,以识别所述预定时间段。
8.根据权利要求1所述的方法,其中:
所述第一消息元素包括第一贴画;
所述第二消息元素包括第二贴画;并且
所述第三消息元素包括第三贴画。
9.根据权利要求8所述的方法,其中:
所述第一贴画包括第一图示;
所述第二贴画包括第二图示;并且
所述第三贴画包括包含所述第一图示和所述第二图示的动画。
10.根据权利要求1所述的方法,其中:
所述第一消息元素包括第一图像;
所述第二消息元素包括第二图像;并且
所述第三消息元素包括包含所述第一图像和所述第二图像的拼贴。
11.根据权利要求1所述的方法,其中,确定在阈值时间内提交第一消息元素和第二消息元素包括:
访问与所述第一消息元素相关联的元数据,以识别所述第一消息元素的提交时间;
访问与所述第二消息元素相关联的元数据,以识别所述第二消息元素的提交时间;并且
将所述第一消息元素的提交时间与所述第二消息元素的提交时间之间的差异与阈值时间进行比较。
12.一种移动装置,包括:
至少一个处理器;以及
至少一个非暂时性计算机可读存储介质,其上存储有指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:
识别由第一用户在通信线程中提交的第一消息元素;
识别由第二用户在所述通信线程中提交的第二消息元素;
确定在阈值时间内提交所述第一消息元素和所述第二消息元素;
响应于确定在阈值时间内提交所述第一消息元素和所述第二消息元素,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素;并且
在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素。
13.根据权利要求12所述的移动装置,其中:
所述第一消息元素包括第一图示;
所述第二消息元素包括第二图示;并且
所述第三消息元素包括动画。
14.根据权利要求12所述的移动装置,还包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置在打开与所述通信线程相关联的消息应用时:
解析所述通信线程的至少一部分,以识别所述通信线程中包括的任何消息元素;
识别在阈值时间内发送的相应的消息元素对;
在所述通信线程中,用对应的增强消息元素替换在阈值时间内发送的相应的消息元素对;并且
渲染包括在所述通信线程中的消息元素。
15.根据权利要求12所述的移动装置,还包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:
访问与所述第一消息元素相关联的元数据,以识别所述第一消息元素的提交时间;
访问与所述第二消息元素相关联的元数据,以识别所述第二消息元素的提交时间;并且
将所述第一消息元素的提交时间与所述第二消息元素的提交时间之间的差异与阈值时间进行比较。
16.根据权利要求12所述的移动装置,其中,促使所述移动装置在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素的指令进一步促使所述移动装置:
从所述通信线程去除包含所述第一消息元素的第一单元;
从所述通信线程去除包含所述第二消息元素的第二单元;
在所述通信线程中提供包含所述第三消息元素的新单元;并且
在所述通信线程中提供新单元之后重新渲染所述通信线程,从而去除所述第一消息元素和所述第二消息元素并渲染所述第三消息元素。
17.根据权利要求16所述的移动装置,其中,促使所述移动装置在所述通信线程中提供包含所述第三消息元素的新单元的指令进一步促使所述移动装置配置所述新单元的大小,以对应于所述第一单元和所述第二单元的组合尺寸。
18.根据权利要求12所述的移动装置,还包括指令,当由所述至少一个处理器执行时,所述指令促使所述移动装置:
在通过所述移动装置接收到指令以将所述第一消息元素发送到与第二用户相关联的客户端移动装置时,在通信线程中渲染所述第一消息元素;
在所述阈值时间内,接收从客户端装置发送的指示从所述第二用户发送了所述第二消息元素的消息;
在所述通信线程中渲染所述第二消息元素;并且
在用所述第三消息元素在所述通信线程中替换所述第一消息元素和所述第二消息元素之后,重新渲染通信线程。
19.一种非暂时性计算机可读介质,其上存储有指令,当由至少一个处理器执行时,所述指令促使所述至少一个处理器执行以下步骤,包括:
识别由第一用户在通信线程中提交的第一消息元素;
识别由第二用户在所述通信线程中提交的第二消息元素;
确定在阈值时间内提交所述第一消息元素和所述第二消息元素;
响应于确定在阈值时间内提交所述第一消息元素和所述第二消息元素,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素;并且
在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素。
20.根据权利要求19所述的非暂时性计算机可读介质,还包括指令,当由至少一个处理器执行时,所述指令促使所述至少一个处理器执行以下步骤,包括:
识别所述通信线程中的第四消息元素;
确定在第二阈值时间内提交所述第四消息元素、所述第二消息元素和所述第一消息元素;
响应于确定在第二阈值时间内提交所述第四消息元素、所述第二消息元素和所述第一消息元素,识别与所述第一消息元素、所述第二消息元素以及所述第四消息元素对应的第五消息元素;并且
在所述通信线程中用第五消息元素替换所述第一消息元素、所述第二消息元素和所述第四消息元素。
21.一种方法,包括:
识别由第一用户在通信线程中提交的第一消息元素;
识别由第二用户在所述通信线程中提交的第二消息元素;
由一个或多个处理器确定在阈值时间内提交所述第一消息元素和所述第二消息元素;
响应于确定在阈值时间内提交所述第一消息元素和所述第二消息元素,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素;并且
在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素。
22.根据权利要求21所述的方法,其中,识别对应于所述第一消息元素和所述第二消息元素的第三消息元素包括访问查找表并从所述查找表识别所述第一消息元素和所述第二消息元素的组合表示第三消息元素。
23.根据权利要求21或22所述的方法,其中,在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素包括:
从所述通信线程去除包含所述第一消息元素的第一单元;
从所述通信线程去除包含所述第二消息元素的第二单元;并且
在所述通信线程中提供包含所述第三消息元素的新单元。
24.根据权利要求23所述的方法,其中,在所述通信线程中提供包含所述第三消息元素的新单元包括将所述通信线程中的新单元定位在所述第一单元和所述第二单元先前占据的位置。
25.根据权利要求24所述的方法,其中,在所述通信线程中用所述第三消息元素替换所述第一消息元素和所述第二消息元素包括在将所述新单元定位在所述通信线程中之后重新渲染所述通信线程,从而去除所述第一消息元素和所述第二消息元素并渲染所述第三消息元素。
26.根据权利要求25所述的方法,还包括,在预定时间段之后:
从所述通信线程去除包含所述第三消息元素的新单元;
在所述通信线程中提供包含所述第一消息元素的所述第一单元;
在所述通信线程中提供包含所述第二消息元素的所述第二单元;并且
重新渲染所述通信线程,从而去除所述第三消息元素并渲染所述第一消息元素和所述第二消息元素;
优选地还包括访问与所述第三消息元素相关联的元数据,以识别所述预定时间段。
27.根据权利要求21至26中任一项所述的方法,其中:
所述第一消息元素包括第一贴画;
所述第二消息元素包括第二贴画;并且
所述第三消息元素包括第三贴画。
28.根据权利要求27所述的方法,其中:
所述第一贴画包括第一图示;
所述第二贴画包括第二图示;并且
所述第三贴画包括包含所述第一图示和所述第二图示的动画。
29.根据权利要求21至28中任一项所述的方法,其中:
所述第一消息元素包括第一图像;
所述第二消息元素包括第二图像;并且
所述第三消息元素包括包含所述第一图像和所述第二图像的拼贴。
30.根据权利要求21至29中任一项所述的方法,其中,确定在阈值时间内提交所述第一消息元素和所述第二消息元素包括:
访问与所述第一消息元素相关联的元数据,以识别所述第一消息元素的提交时间;
访问与所述第二消息元素相关联的元数据,以识别所述第二消息元素的提交时间;并且
将所述第一消息元素的提交时间与所述第二消息元素的提交时间之间的差异与阈值时间进行比较。
31.一种或多种计算机可读非暂时性存储介质,包含软件,所述软件在执行时能操作,以执行根据权利要求21至30中任一项所述的方法。
32.一种系统,包括:一个或多个处理器;以及至少一个存储器,其耦合到所述处理器并且包括能由所述处理器执行的指令,所述处理器在执行所述指令时能操作,以执行根据权利要求21至30中任一项所述的方法。
33.一种计算机程序产品,优选地包括计算机可读非暂时性存储介质,所述计算机程序产品在数据处理系统上执行时能操作,以执行根据权利要求21至30中任一项所述的方法。
CN201580079750.5A 2015-06-01 2015-06-02 在电子通信线程中提供增强消息元素 Pending CN107624239A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/727,452 2015-06-01
US14/727,452 US10225220B2 (en) 2015-06-01 2015-06-01 Providing augmented message elements in electronic communication threads
PCT/US2015/033784 WO2016195666A1 (en) 2015-06-01 2015-06-02 Providing augmented message elements in electronic communication threads

Publications (1)

Publication Number Publication Date
CN107624239A true CN107624239A (zh) 2018-01-23

Family

ID=57399359

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580079750.5A Pending CN107624239A (zh) 2015-06-01 2015-06-02 在电子通信线程中提供增强消息元素

Country Status (10)

Country Link
US (3) US10225220B2 (zh)
JP (1) JP6539856B2 (zh)
KR (1) KR102003014B1 (zh)
CN (1) CN107624239A (zh)
AU (1) AU2015397197B2 (zh)
BR (1) BR112017025902A2 (zh)
CA (1) CA2982315C (zh)
IL (1) IL255089A0 (zh)
MX (1) MX2017015597A (zh)
WO (1) WO2016195666A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610694A (zh) * 2016-01-11 2016-05-25 珠海城建节能科技有限公司 沟通信息管理方法及管理装置
US12086918B2 (en) 2021-05-21 2024-09-10 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus and computer-readable storage medium

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
US10225220B2 (en) 2015-06-01 2019-03-05 Facebook, Inc. Providing augmented message elements in electronic communication threads
US10277539B2 (en) * 2015-07-31 2019-04-30 International Business Machines Corporation Intelligent messaging reply system and method
WO2017179859A1 (ko) * 2016-04-10 2017-10-19 엘지전자 주식회사 무선 통신 시스템에서 상향링크 참조 신호를 전송하는 방법 및 장치
US10621581B2 (en) 2016-06-11 2020-04-14 Apple Inc. User interface for transactions
CN109313759B (zh) 2016-06-11 2022-04-26 苹果公司 用于交易的用户界面
US9794202B1 (en) * 2016-08-25 2017-10-17 Amojee, Inc. Messaging including standard and custom characters
US20180068313A1 (en) 2016-09-06 2018-03-08 Apple Inc. User interfaces for stored-value accounts
US10298522B2 (en) 2017-04-10 2019-05-21 Amojee, Inc. Messaging including custom characters with tags localized to language of user receiving message
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
JP6304847B1 (ja) * 2017-04-28 2018-04-04 株式会社コナミデジタルエンタテインメント サーバ装置、及びそれに用いられるコンピュータプログラム
US11221744B2 (en) 2017-05-16 2022-01-11 Apple Inc. User interfaces for peer-to-peer transfers
KR102243500B1 (ko) 2017-05-16 2021-04-22 애플 인크. 피어 투 피어 전송들을 위한 사용자 인터페이스들
US10852945B2 (en) * 2017-08-03 2020-12-01 Facebook, Inc. Generating social media communications based on low-data messages
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US11645321B2 (en) * 2017-11-03 2023-05-09 Salesforce, Inc. Calculating relationship strength using an activity-based distributed graph
US10601937B2 (en) * 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US10957020B2 (en) * 2017-12-04 2021-03-23 Nvidia Corporation Systems and methods for frame time smoothing based on modified animation advancement and use of post render queues
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US11057332B2 (en) 2018-03-15 2021-07-06 International Business Machines Corporation Augmented expression sticker control and management
CN112561537A (zh) 2018-06-03 2021-03-26 苹果公司 用于转账账户的用户界面
US11100498B2 (en) 2018-06-03 2021-08-24 Apple Inc. User interfaces for transfer accounts
CN108989183A (zh) * 2018-06-22 2018-12-11 周士志 一种信息交流系统与方法
US10917372B2 (en) * 2018-09-21 2021-02-09 Blackberry Limited Method and system for integration of shared photo albums with messaging applications
JP7302154B2 (ja) * 2018-09-25 2023-07-04 富士フイルムビジネスイノベーション株式会社 制御装置、制御システム、及び制御プログラム
JP7167592B2 (ja) * 2018-09-25 2022-11-09 富士フイルムビジネスイノベーション株式会社 制御装置、及び制御プログラム
JP7230397B2 (ja) * 2018-09-25 2023-03-01 富士フイルムビジネスイノベーション株式会社 制御装置、制御システム、及び制御プログラム
US10764224B2 (en) * 2018-10-05 2020-09-01 International Business Machines Corporation Conveying electronic messages according to representation of emotion
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
JP7136656B2 (ja) * 2018-10-16 2022-09-13 東京瓦斯株式会社 情報処理システムおよびプログラム
JP7234711B2 (ja) * 2019-03-14 2023-03-08 富士フイルムビジネスイノベーション株式会社 メッセージ通知装置、コンテンツ管理システム及びプログラム
US11328352B2 (en) 2019-03-24 2022-05-10 Apple Inc. User interfaces for managing an account
US20200364806A1 (en) * 2019-05-15 2020-11-19 Facebook, Inc. Systems and methods for initiating conversations within an online dating service
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
US20210027104A1 (en) * 2019-07-25 2021-01-28 Microsoft Technology Licensing, Llc Eyes-off annotated data collection framework for electronic messaging platforms
CN112399005B (zh) * 2019-08-16 2022-05-27 腾讯科技(深圳)有限公司 一种会话数据处理方法、装置以及计算机可读存储介质
US11539647B1 (en) * 2020-06-17 2022-12-27 Meta Platforms, Inc. Message thread media gallery
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
US11983702B2 (en) 2021-02-01 2024-05-14 Apple Inc. Displaying a representation of a card with a layered structure
US11921992B2 (en) 2021-05-14 2024-03-05 Apple Inc. User interfaces related to time
US11784956B2 (en) 2021-09-20 2023-10-10 Apple Inc. Requests to add assets to an asset account

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150038235A1 (en) * 2013-07-30 2015-02-05 Gree, Inc. Program, method, and system of transmitting or receiving message

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5880731A (en) * 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US7685237B1 (en) * 2002-05-31 2010-03-23 Aol Inc. Multiple personalities in chat communications
US7636755B2 (en) * 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US20070168863A1 (en) * 2003-03-03 2007-07-19 Aol Llc Interacting avatars in an instant messaging communication session
JP2006520053A (ja) 2003-03-03 2006-08-31 アメリカ オンライン インコーポレイテッド 通信するためにアバターを使用する方法
US7913176B1 (en) * 2003-03-03 2011-03-22 Aol Inc. Applying access controls to communications with avatars
US7484176B2 (en) * 2003-03-03 2009-01-27 Aol Llc, A Delaware Limited Liability Company Reactive avatars
US7290895B2 (en) * 2003-08-08 2007-11-06 Production Resource Group, L.L.C. File system for a stage lighting array system
JP2005135169A (ja) * 2003-10-30 2005-05-26 Nec Corp 携帯端末およびデータ処理方法
EP1714465A1 (de) * 2004-01-30 2006-10-25 Combots Product GmbH & Co.KG Verfahren und system zur telekommunikation mit virtuellen stellvertretern
US7487441B2 (en) * 2004-03-11 2009-02-03 Yahoo!Inc. Method and system of enhanced messaging
US20060041848A1 (en) * 2004-08-23 2006-02-23 Luigi Lira Overlaid display of messages in the user interface of instant messaging and other digital communication services
KR100785067B1 (ko) * 2005-12-06 2007-12-12 삼성전자주식회사 휴대단말기의 화면 표시장치 및 방법
US7640304B1 (en) * 2006-06-14 2009-12-29 Yes International Ag System and method for detecting and measuring emotional indicia
US8504926B2 (en) * 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
US7756536B2 (en) * 2007-01-31 2010-07-13 Sony Ericsson Mobile Communications Ab Device and method for providing and displaying animated SMS messages
GB0712880D0 (en) * 2007-07-03 2007-08-08 Skype Ltd Instant messaging communication system and method
US20090128567A1 (en) * 2007-11-15 2009-05-21 Brian Mark Shuster Multi-instance, multi-user animation with coordinated chat
CN101562682A (zh) 2008-04-14 2009-10-21 鸿富锦精密工业(深圳)有限公司 视频图像处理系统及其服务器、用户端和视频图像处理方法
US8352873B2 (en) 2008-06-06 2013-01-08 Apple Inc. Media content and chat integration
US8532637B2 (en) * 2008-07-02 2013-09-10 T-Mobile Usa, Inc. System and method for interactive messaging
US8086275B2 (en) * 2008-10-23 2011-12-27 Microsoft Corporation Alternative inputs of a mobile communications device
US9665563B2 (en) * 2009-05-28 2017-05-30 Samsung Electronics Co., Ltd. Animation system and methods for generating animation based on text-based data and user information
US20120069028A1 (en) * 2010-09-20 2012-03-22 Yahoo! Inc. Real-time animations of emoticons using facial recognition during a video chat
US8874665B2 (en) * 2010-12-13 2014-10-28 At&T Mobility Ii Llc Systems, apparatus and methods for facilitating display and management of information for communication devices
US8989786B2 (en) * 2011-04-21 2015-03-24 Walking Thumbs, Llc System and method for graphical expression during text messaging communications
US9870552B2 (en) * 2011-10-19 2018-01-16 Excalibur Ip, Llc Dynamically updating emoticon pool based on user targeting
US9639861B2 (en) * 2011-12-12 2017-05-02 Textsoft, Inc Messaging with greeting card and gift option
CN103309872A (zh) * 2012-03-09 2013-09-18 腾讯科技(深圳)有限公司 一种动态表情处理方法及装置
US9247306B2 (en) 2012-05-21 2016-01-26 Intellectual Ventures Fund 83 Llc Forming a multimedia product using video chat
US9911222B2 (en) * 2012-07-06 2018-03-06 Tangome, Inc. Animation in threaded conversations
US10116598B2 (en) * 2012-08-15 2018-10-30 Imvu, Inc. System and method for increasing clarity and expressiveness in network communications
US8971639B2 (en) 2012-09-27 2015-03-03 Hewlett-Packard Development Company, L.P. Semantic theme based shape collage representation for an image collection
US9948589B2 (en) * 2012-11-14 2018-04-17 invi Labs, Inc. System for and method of organizing contacts for chat sessions on an electronic device
US10410180B2 (en) * 2012-11-19 2019-09-10 Oath Inc. System and method for touch-based communications
US10824297B2 (en) * 2012-11-26 2020-11-03 Google Llc System for and method of accessing and selecting emoticons, content, and mood messages during chat sessions
US20140215360A1 (en) * 2013-01-28 2014-07-31 Quadmanage Ltd. Systems and methods for animated clip generation
KR20140098009A (ko) 2013-01-30 2014-08-07 삼성전자주식회사 컨텍스트 기반 카메라 콜라주를 생성하는 방법 및 시스템
US9259648B2 (en) * 2013-02-15 2016-02-16 Disney Enterprises, Inc. Initiate events through hidden interactions
EP2963555A4 (en) * 2013-02-28 2016-02-24 Gree Inc SERVER, CONTROL PROCEDURE FOR THE SERVER AND PROGRAM
WO2014138346A1 (en) * 2013-03-07 2014-09-12 Calhoun Jeff Digital notification enhancement system
EP3008932A4 (en) * 2013-06-12 2017-02-22 Walking Thumbs PTE, LTD. System and method for action-based input text messaging communication
US20160154959A1 (en) * 2013-07-23 2016-06-02 Banff Cyber Technologies Pte. Ltd. A method and system for monitoring website defacements
KR20150020740A (ko) * 2013-08-14 2015-02-27 삼성전자주식회사 메시지 기반의 대화 기능 실행 방법 및 이를 지원하는 전자장치
US9706040B2 (en) * 2013-10-31 2017-07-11 Udayakumar Kadirvel System and method for facilitating communication via interaction with an avatar
US9454840B2 (en) * 2013-12-13 2016-09-27 Blake Caldwell System and method for interactive animations for enhanced and personalized video communications
WO2015122993A1 (en) * 2014-02-12 2015-08-20 Young Mark H Methods and apparatuses for animated messaging between messaging participants represented by avatar
GB201405651D0 (en) * 2014-03-28 2014-05-14 Microsoft Corp Delivering an action
AU2015242255B2 (en) * 2014-04-02 2016-05-12 Fabtale Productions Pty Ltd Enhanced messaging stickers
US10482163B2 (en) * 2014-04-23 2019-11-19 Klickafy, Llc Clickable emoji
WO2015175240A1 (en) * 2014-05-15 2015-11-19 Narvii Inc. Systems and methods implementing user interface objects
US9628416B2 (en) * 2014-05-30 2017-04-18 Cisco Technology, Inc. Photo avatars
US20160006679A1 (en) * 2014-07-07 2016-01-07 Kitri Software Llc System and method for recommending multimedia for plain-text messages
US9497150B2 (en) * 2014-07-08 2016-11-15 Tuul, Inc. System and method for managing electronic conversations
US9779532B2 (en) * 2014-07-31 2017-10-03 Emonster, Inc. Customizable animations for text messages
WO2016045015A1 (en) * 2014-09-24 2016-03-31 Intel Corporation Avatar audio communication systems and techniques
KR20160105321A (ko) * 2015-02-27 2016-09-06 임머숀 코퍼레이션 사용자의 무드에 기초하는 액션 생성
KR101620050B1 (ko) * 2015-03-03 2016-05-12 주식회사 카카오 인스턴트 메시지 서비스를 통한 시나리오 이모티콘 표시 방법 및 이를 위한 사용자 단말
US10225220B2 (en) 2015-06-01 2019-03-05 Facebook, Inc. Providing augmented message elements in electronic communication threads
US10445425B2 (en) * 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US20170131870A1 (en) * 2015-10-30 2017-05-11 Loji, Llc Interactive icons with embedded functionality used in text messages
US20180043269A1 (en) * 2016-08-15 2018-02-15 Yio-Chian Tao Systems and methods for interactive graphics game and application objects in an instant messaging session

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150038235A1 (en) * 2013-07-30 2015-02-05 Gree, Inc. Program, method, and system of transmitting or receiving message

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610694A (zh) * 2016-01-11 2016-05-25 珠海城建节能科技有限公司 沟通信息管理方法及管理装置
CN105610694B (zh) * 2016-01-11 2019-01-25 广东城智科技有限公司 沟通信息管理方法及管理装置
US12086918B2 (en) 2021-05-21 2024-09-10 Tencent Technology (Shenzhen) Company Limited Image processing method and apparatus and computer-readable storage medium

Also Published As

Publication number Publication date
CA2982315C (en) 2019-12-24
US10791081B2 (en) 2020-09-29
WO2016195666A1 (en) 2016-12-08
AU2015397197A1 (en) 2017-11-09
US11233762B2 (en) 2022-01-25
JP6539856B2 (ja) 2019-07-10
AU2015397197B2 (en) 2020-02-27
KR102003014B1 (ko) 2019-07-24
KR20180015621A (ko) 2018-02-13
US20160352667A1 (en) 2016-12-01
IL255089A0 (en) 2017-12-31
US10225220B2 (en) 2019-03-05
US20190215287A1 (en) 2019-07-11
CA2982315A1 (en) 2016-12-08
MX2017015597A (es) 2018-03-27
BR112017025902A2 (pt) 2018-08-07
JP2018524679A (ja) 2018-08-30
US20210014185A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US11233762B2 (en) Providing augmented message elements in electronic communication threads
US11257170B2 (en) Using three-dimensional virtual object models to guide users in virtual environments
CN110710232B (zh) 在相机取景器显示内容中用增强现实元素来促使网络系统通信的方法、系统以及计算机可读存储介质
CN105830065B (zh) 在在线社交网络上生成推荐的搜索查询
US20180129723A1 (en) Generating offline content
US10645460B2 (en) Real-time script for live broadcast
US20170270079A1 (en) Creating Customized Documents
US20170147202A1 (en) Augmenting text messages with emotion information
US10476937B2 (en) Animation for image elements in a display layout
US10467238B2 (en) Search perceived performance
US20180158100A1 (en) Identifying and customizing discovery of offers based on social networking system information
CN107766479A (zh) 用于在线社交网络的客户端搜索模板
US10831981B2 (en) Updating documents based on user input
US20160110901A1 (en) Animation for Image Elements in a Display Layout
CN109964490A (zh) 增强实况视频
US20170149881A1 (en) Managing commerce groups and posts in a social networking system
US11062362B2 (en) Generating dynamic communication threads based on user interaction with sponsored digital content
EP3101845B1 (en) Providing augmented message elements in electronic communication threads
US20170199897A1 (en) Inferring qualities of a place
CN117076148A (zh) 生成和呈现特定于消息传递线程且基于内容的效果
AU2014321520A1 (en) Generating offline content

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180123