CN115777194B - 包括外部资源停靠栏和抽屉的消息收发系统 - Google Patents

包括外部资源停靠栏和抽屉的消息收发系统 Download PDF

Info

Publication number
CN115777194B
CN115777194B CN202180048954.8A CN202180048954A CN115777194B CN 115777194 B CN115777194 B CN 115777194B CN 202180048954 A CN202180048954 A CN 202180048954A CN 115777194 B CN115777194 B CN 115777194B
Authority
CN
China
Prior art keywords
external resource
interface
external
user
conversation
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.)
Active
Application number
CN202180048954.8A
Other languages
English (en)
Other versions
CN115777194A (zh
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.)
Snap Inc
Original Assignee
Snap 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 Snap Inc filed Critical Snap Inc
Publication of CN115777194A publication Critical patent/CN115777194A/zh
Application granted granted Critical
Publication of CN115777194B publication Critical patent/CN115777194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/81Notifying aspects, e.g. notifications or displays to the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

显示消息收发应用中的对话界面,该对话界面被呈现给正在该消息收发应用上进行的对话中的参与者。通过确定至少两个外部资源的状态来构造对话界面,这样的外部资源已由对话参与者中的一个或更多个对话参与者在消息收发应用的上下文内启动。在对话界面中显示外部资源通知界面(或“停靠栏”),外部资源通知界面包括与至少两个外部资源对应的图标。在用户选择外部资源通知界面时,显示包括与至少两个外部资源对应的用户可选择单元格的列表界面(或“抽屉”)。

Description

包括外部资源停靠栏和抽屉的消息收发系统
相关申请的交叉引用
本申请要求于2020年6月10日提交的美国临时专利申请第63/037,460号以及于2020年9月17日提交的美国专利申请序列第16/948,429号的权益,以上美国临时专利申请和美国专利申请中的每一个的内容通过引用整体并入本文中,如同具体阐述的那样。
背景技术
用户在消息收发和社交网络应用上与其他用户交互的流行度持续增长。随着这些应用持续变得更加复杂,用户可以交互的方式也显著增加。例如,用户既可以使用消息收发应用与他们的朋友通信,并且可以与朋友和其他用户在线玩多玩家游戏。然而,在用户使用消息收发应用与之通信的人与用户与之玩多玩家游戏的人之间仍然存在断开连接。例如,用户可能必须离开用户正在玩的游戏来通过消息收发应用发送消息以告诉他们的朋友他们正在玩游戏,并且用户可能必须离开用户正在进行的对话以加入朋友玩游戏。
附图说明
在附图(不一定按比例绘制)中,相似的附图标记可以在不同的视图中描述类似的部件。为了容易识别对任何特别元素或行动的讨论,附图标记中的一个或多个最高位数字是指首次引入该元素的图号。在附图的图中以示例而非限制的方式示出了一些实施方式,在附图中:
图1是根据一些示例的其中可以部署本公开内容的联网环境的图解表示。
图2是根据一些示例的具有客户端侧功能和服务器端侧功能两者的消息收发系统的图解表示。
图3是根据一些示例的在数据库中维护的数据结构的图解表示。
图4是根据一些示例的消息的图解表示。
图5示出了根据一些示例的消息收发应用的说明性用户界面。
图6示出了来自图5中所示的用户界面之一的停靠栏(dock)、活动单元格和不活动单元格。
图7示出了用于本文所公开的用户界面的示例实现方式的表。
图8示出了根据一些另外的实施方式的消息收发应用的用户界面。
图9示出了根据一些实施方式的图8的停靠栏的三个不同的呈现。
图10更详细地示出了图8中示出的抽屉(drawer)。
图11是可以在本文所描述的用户界面元素的实现方式中使用的流程图的示例。
图12是根据一些示例的呈计算机系统形式的机器的图解表示,在该机器内可以执行一组指令以使该机器执行本文中所讨论的方法中任何一种或更多种。
图13是示出可以在其中实现示例的软件架构的框图。
具体实施方式
随着消息收发应用变得更复杂,除了使用消息收发应用与他们的朋友聊天之外,消息收发应用还支持越来越多的附加功能。例如,消息收发应用的用户可以玩与消息收发应用集成的若干单玩家或多玩家游戏中的任何一个。可以通过使消息收发应用呈现安装在客户端设备上的另一个应用(例如,“本地应用”)或应用的小规模版本(例如,“小程序”)的用户界面来提供附加功能,其中应用的小规模版本被托管在客户端设备上或远程地在第三方服务器上。这样的外部资源例如可以是其他现有应用例如食品订购或音乐流应用或游戏的精简版本。替选地,外部资源可以是本地应用,并且消息收发应用可以呈现本地应用的用户界面的精简版本。通过在消息收发应用内提供与小程序或另一应用对应的用户界面,消息收发应用的用户可以在不离开消息收发应用的情况下访问与现有“全尺寸”应用对应的功能中的至少一些。
小程序也可以提供其他功能,并且可经由消息收发应用的用户界面访问的小程序和应用两者可以由消息收发应用的提供者提供,或者它们可以由第三方提供。该实例中的第三方是指相对于消息收发应用的提供者的第三方。
随着可以在消息收发应用上执行的的活动(包括经由消息收发应用的用户界面与小程序和应用交互)的范围增加,有益的会是,向用户的朋友通知以及由用户的朋友向用户通知在这样的小程序和应用中发生的活动。所公开的实施方式通过向消息收发应用中的对话中的参与者提供与朋友群组中的一个或更多个成员当前或新近使用外部资源(例如,小程序或应用)有关的通知,改进了消息收发应用软件和系统的功能。还公开的是,与一个或更多个朋友一起加入活动的外部资源或启动新近使用但当前(在朋友群组中)不活动的外部资源的无缝方式。所公开的实施方式通过为用户提供用于从两个或更多个当前活动或新近使用的外部资源的列表中选择外部资源的独特的用户界面,来改进消息收发应用软件和系统的功能。
具体地,所公开的实施方式提供了改进的GUI,其使得用户能够与他们正在与之聊天的相同朋友一起快速地访问活动的外部资源。此外,通过提供其中在聊天界面中方便地示出跨群组的新近使用的外部资源的GUI,促成发现群组内的共享兴趣。
所公开的实施方式通过在由用户正在使用的设备上显示包括外部资源列表的UI格式以及允许用户在用户正在使用与朋友聊天的同一GUI内从列表中选择和启动外部资源,简化了用户与朋友加入外部资源的过程。一旦在消息收发程序的上下文内启动外部资源,则用户与其正在进行对话的所有朋友都能够迅速地与用户一起加入外部资源,这避免了如许多常规系统中那样迫使用户搜索朋友并单独邀请朋友来玩。这改善了用户体验,减少了画面上的空白量,减少了用户为选择和访问外部资源而不得不执行的步骤数量。例如,所公开的实施方式减少了用户为访问、启动或到达给定外部资源而必须浏览的画面数量。
在一个示例中,公开了一种在计算设备上的消息收发应用中提供对话界面的方法,该对话界面被呈现给正在消息收发应用上进行的对话中的参与者。该方法包括:确定由参与者中的一个或更多个参与者从消息收发应用的上下文内访问的至少两个外部资源的状态;在对话界面中显示外部资源通知界面,该外部资源通知界面包括与该至少两个外部资源对应的图标;接收对该外部资源通知界面的用户选择;以及显示包括与该至少两个外部资源对应的用户可选择单元格的列表界面。
列表界面中的用户可选择单元格可以首先按照当前活动的外部资源排序,并且然后按照新近活动的外部资源排序。对话界面可以包括文本输入区域、在文本输入区域上方的呈现区域,该呈现区域示出与群组对话中的参与者对应的视觉标识符,并且外部资源通知界面可以与呈现区域相邻地或交叠地定位。
该方法还可以包括:接收特定参与者对特定外部资源的用户选择;为特定参与者访问特定外部资源;以及根据特定外部资源的新活动状态,为其他参与者更新外部资源通知界面和列表界面。可以将列表界面中的与特定外部资源对应的用户可选择单元格更新为包括特定参与者的名称。
列表界面中的与特定外部资源对应的用户可选择单元格可以包括动作召唤按钮,动作召唤按钮用于由对话中的在特定外部资源中不活动的其他参与者来加入特定外部资源。
该方法还可以包括:通过在外部资源通知界面的第一位置显示与特定外部资源对应的图标来更新外部资源通知界面。该方法还可以包括:利用状态指示器更新外部资源通知界面,状态指示器指示与外部资源通知界面中的图标对应的外部资源中的至少一个外部资源对于对话中的至少一个参与者是活动的。该方法还可以包括:接收与从列表界面中撤销选择的不活动外部资源有关的用户输入,以及从列表界面中移除与选择的不活动外部资源对应的用户可选择单元格。
还提供了一种系统,该系统包括摄像装置、显示器、机器的一个或更多个处理器和存储用于在消息收发应用中提供对话界面的指令的存储器。该对话界面被呈现给正在消息收发应用上进行的对话中的参与者。指令在由至少一个处理器执行时,使机器执行包括以下的操作:确定至少两个外部资源的状态,所述至少两个外部资源已经由参与者中的一个或更多个从消息收发应用的上下文内访问;在对话界面中显示外部资源通知界面,该外部资源通知界面包括与至少两个外部资源对应的图标;接收对外部资源通知界面的用户选择;以及显示包括与至少两个外部资源对应的用户可选择单元格的列表界面。
系统操作还可以包括:接收特定参与者对特定外部资源的用户选择;为特定参与者访问特定外部资源;以及根据特定外部资源的新活动状态,为其他参与者更新外部资源通知界面和列表界面。可以将列表界面中的与特定外部资源对应的用户可选择单元格更新为包括特定参与者的名称。列表界面中的与特定外部资源对应的用户可选择单元格可以能够由对话中的在特定外部资源中不活动的其他参与者选择,以加入特定外部资源。
系统操作还可以包括:利用状态通知更新外部资源通知界面,状态通知指示与外部资源通知界面中的图标对应的外部资源中的至少一个外部资源对于对话中的至少一个参与者是活动的。更进一步,操作可以包括:接收与从列表界面中撤销选择的不活动外部资源有关的用户输入;以及从列表界面中移除与选择的不活动外部资源对应的用户可选择单元格。
还提供了一种包含指令的非暂态机器可读存储介质,指令用于在消息收发应用中提供对话界面,该对话界面被呈现给正在消息收发应用上进行的对话中的参与者。该指令在由包括显示器的设备执行时,使该设备执行包括以下的操作:确定至少两个外部资源的状态,所述至少两个外部资源已经由参与者中的一个或更多个从消息收发应用的上下文内访问;在对话界面中显示外部资源通知界面,该外部资源通知界面包括与至少两个外部资源对应的图标;接收对外部资源通知界面的用户选择;以及显示包括与至少两个外部资源对应的用户可选择单元格的列表界面。
由指令定义的对话界面可以包括文本输入区域、文本输入区域上方的呈现区域,该呈现区域示出与群组对话中的参与者对应的视觉标识符,并且外部资源通知界面可以与呈现区域相邻地或交叠地定位。该操作还可以包括:接收特定参与者对特定外部资源的用户选择;为特定参与者访问特定外部资源;以及根据特定外部资源的新活动状态,为其他参与者更新外部资源通知界面和列表界面。
该指令可以定义还包括以下的操作:通过在外部资源通知界面中的第一位置中显示与特定外部资源对应的图标来更新外部资源通知界面。这样的操作还可以包括:利用状态通知更新外部资源通知界面,状态通知指示与外部资源通知界面中的图标对应的外部资源中的至少一个外部资源对于对话中的至少一个参与者是活动的。
联网计算环境
图1是示出用于通过网络来交换数据(例如,消息和相关联的内容)的示例消息收发系统100的框图。消息收发系统100包括客户端设备102的多个实例,多个实例中的每一个托管包括消息收发客户端104和其他应用106的若干应用。每个消息收发客户端104经由网络112(例如,因特网)通信地耦接至消息收发客户端104的其他实例(例如,托管在相应的其他客户端设备102上)、消息收发服务器系统108和第三方服务器110。消息收发客户端104还可以使用应用程序接口(API)与本地托管的应用106通信。
消息收发客户端104能够经由网络112与其他消息收发客户端104和消息收发服务器系统108通信并交换数据。在消息收发客户端104之间以及消息收发客户端104与消息收发服务器系统108之间交换的数据包括功能(例如,激活功能的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息收发服务器系统108能够经由网络112向特定消息收发客户端104提供服务器端功能。虽然消息收发系统100的某些功能在本文中被描述为由消息收发客户端104或由消息收发服务器系统108执行,但是某些功能的在消息收发客户端104或消息收发服务器系统108内的定位可以是设计选择。例如,在技术上优选的可能是:最初将某些技术和功能部署在消息收发服务器系统108内,但是后面将该技术和功能迁移至客户端设备102具有足够处理能力的消息收发客户端104。
消息收发服务器系统108支持向消息收发客户端104提供的各种服务和操作。这样的操作包括向消息收发客户端104发送数据、从消息收发客户端104接收数据以及对由消息收发客户端104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理定位信息、媒体增强和覆盖、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息收发客户端104的用户界面(UI)可用的功能来激活和控制消息收发系统100内的数据交换。
现在具体地转至消息收发服务器系统108,应用程序接口(API)服务器116耦接至应用服务器114并向应用服务器114提供编程接口。应用服务器114通信地耦接至数据库服务器120,数据库服务器120促进访问数据库126,该数据库126存储与通过应用服务器114处理的消息相关联的数据。类似地,web服务器128耦接至应用服务器114,并且向应用服务器114提供基于web的接口。为此,web服务器128通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。
应用程序接口(API)服务器116在客户端设备102与应用服务器114之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器116提供一组接口(例如,例程和协议),消息收发客户端104可以调用或查询该组接口以激活应用服务器114的功能。应用程序接口(API)服务器116显露由应用服务器114支持的各种功能,包括:帐户注册;登录功能;经由应用服务器114将消息从特定消息收发客户端104发送至另一消息收发客户端104;将媒体文件(例如,图像或视频)从消息收发客户端104发送至消息收发服务器118并用于另一消息收发客户端104的可能访问;设置媒体数据集合(例如,故事);检索客户端设备102的用户的朋友列表;检索这样的集合;检索消息和内容;在实体图(例如社交图)中添加和删除实体(例如朋友);在社交图中定位朋友;以及打开应用事件(例如,与消息收发客户端104有关)。
应用服务器114托管若干服务器应用和子系统,包括例如消息收发服务器118、图像处理服务器122以及社交网络服务器124。消息收发服务器118实现了若干消息处理技术和功能,特别是与从消息收发客户端104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)的聚合和其他处理有关的消息处理技术和功能。如将进一步详细地描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如,被称为故事(story)或图库(gallery))。然后,使这些集合对消息收发客户端104可用。鉴于对这样的处理的硬件要求,也可以由消息收发服务器118在服务器端执行数据的其他处理器和存储器密集型处理。
应用服务器114还包括图像处理服务器122,该图像处理服务器122专用于执行各种图像处理操作,通常相对于在从消息收发服务器118发送或者在消息收发服务器118处接收的消息的有效载荷内的图像或视频,执行各种图像处理操作。
社交网络服务器124支持各种社交联网功能和服务并使这些功能和服务可用于消息收发服务器118。为此,社交网络服务器124维护和访问数据库126内的实体图308(如图3所示)。由社交网络服务器124支持的功能和服务的示例包括识别特定用户与之有关系或“跟随”的消息收发系统100的其他用户,以及识别特定用户的兴趣和其他实体。
返回到消息收发客户端104,外部资源(例如,应用106或小程序)的特征和功能经由消息收发客户端104的接口对用户可用。在该上下文中,“外部”指的是应用106或小程序在消息收发客户端104外部的事实。外部资源通常由第三方提供,但也可以由消息收发客户端104的创建者或提供者提供。消息收发客户端104接收对用于启动或访问这样的外部资源的特征的选项的用户选择。外部资源可以是安装在客户端设备102上的应用106(例如,“本地app”),或者托管在客户端设备102上或者远离客户端设备102(例如,在第三方服务器110上)的应用的小规模版本(例如,“小程序”)。应用的小规模版本包括应用(例如,应用的完整规模、本地版本)的特征和功能的子集,并且使用标记语言文档来实现。在一个示例中,应用的小规模版本(例如,“小程序”)是应用的基于web的标记语言版本,并且被嵌入在消息收发客户端104中。除了使用标记语言文档(例如,.*ml文件)以外,小程序可以并入脚本语言(例如,.*js文件或.json文件)和样式表(例如,.*ss文件)。
响应于接收到对用于启动或访问外部资源的特征的选项的用户选择,消息收发客户端104确定所选择的外部资源是基于web的外部资源还是本地安装的应用106。在一些情况下,可以例如通过在客户端设备102的主页画面上选择与应用106对应的图标而独立于消息收发客户端104并且与消息收发客户端104分开地启动本地安装在客户端设备102上的应用106。这样的应用的小规模版本可以经由消息收发客户端104启动或访问,并且在一些示例中,小规模应用中没有部分或有限的部分可以在消息收发客户端104之外被访问。可以由消息收发客户端104例如从第三方服务器110接收与小规模应用相关联的标记语言文档并处理这样的文档来启动小规模应用。
响应于确定外部资源是本地安装的应用106,消息收发客户端104通过执行与外部资源对应的本地存储的代码来指示客户端设备102启动外部资源。响应于确定外部资源是基于web的资源,消息收发客户端104与(例如)第三方服务器110通信以获得与所选择的外部资源对应的标记语言文档。然后,消息收发客户端104处理获得的标记语言文档以在消息收发客户端104的用户界面内呈现基于web的外部资源。
消息收发客户端104可以向客户端设备102的用户或与这样的用户相关的其他用户(例如,“朋友”)通知在一个或更多个外部资源中发生的活动。例如,消息收发客户端104可以向消息收发客户端104中的对话(例如,聊天会话)中的参与者提供与用户群组中的一个或更多个成员对外部资源的当前或新近使用有关的通知。可以邀请一个或更多个用户加入活动的外部资源或者启动(在朋友群组中)新近使用过但当前不活动的外部资源。外部资源在被访问时可以基于外部资源的当前上下文在响应中选择性地包括不同的媒体项。
消息收发客户端104可以向用户呈现可用外部资源(例如,应用106或小程序)的列表以启动或访问给定的外部资源。该列表可以被呈现在上下文敏感菜单中。例如,表示不同的外部应用106(或小程序)的图标可以基于用户如何启动菜单(例如,从对话界面或从非对话界面)而变化。
系统架构
图2是示出根据一些示例的关于消息收发系统100的进一步细节的框图。具体地,消息收发系统100被显示为包括消息收发客户端104和应用服务器114。消息收发系统100包含若干子系统,这些子系统在客户端由消息收发客户端104支持并且在服务器端由应用服务器114支持。这些子系统包括例如短暂定时器系统202、集合管理系统204、增强系统208、地图系统210、游戏系统212和外部资源系统214。
短暂定时器系统202负责强制由消息收发客户端104和消息收发服务器118对内容进行临时或限时访问。短暂定时器系统202包含若干个定时器,这些定时器基于与消息或消息集合(例如,故事)相关联的持续时间和显示参数,选择性地实现经由消息收发客户端104访问(例如,用于呈现和显示)消息和相关联的内容。下面提供关于短暂定时器系统202的操作的另外的细节。
集合管理系统204负责管理媒体的组或集合(例如,文本、图像、视频和音频数据的集合)。可以将内容(例如,消息,包括图像、视频、文本和音频)的集合组织成“事件图库”或“事件故事”。这样的集合可以在指定的时间段内(例如,与内容有关的事件的持续时间)可用。例如,可以在音乐会的持续时间内使与音乐会相关的内容作为“故事”可用。集合管理系统204还可以负责向消息收发客户端104的用户界面发布提供特定集合存在的通知的图标。
此外,集合管理系统204还包括策展接口206,策展接口206使得集合管理者能够管理和策展特定内容集合。例如,策展接口206使得事件组织者能够策展与特定事件有关的内容集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些示例中,可以为将用户生成的内容包括到集合中向用户支付补偿。在这样的情况下,集合管理系统204进行操作以自动地为使用用户的内容向这样的用户进行支付。
增强系统208提供使用户能够增强(例如,注释或以其他方式修改或编辑)与消息相关联的媒体内容的各种功能。例如,增强系统208提供与生成和发布用于由消息收发系统100处理的消息的媒体覆盖有关的功能。增强系统208基于客户端设备102的地理定位可操作地向消息收发客户端104提供媒体覆盖或增强(例如,图像过滤器)。在另一示例中,增强系统208基于诸如客户端设备102的用户的社交网络信息的其他信息可操作地向消息收发客户端104供应媒体覆盖。媒体覆盖可以包括音频和视觉内容和视觉效果。音频和视觉内容的示例包括图片、文本、标志、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项目(例如,照片)。例如,媒体覆盖可以包括可以覆盖在由客户端设备102拍摄的照片之上的文本或图像。在另一示例中,媒体覆盖包括定位标识(例如,威尼斯海滩)覆盖、实况事件的名称或商家名称(例如,海滩咖啡馆)覆盖。在另一示例中,增强系统208使用客户端设备102的地理定位来标识包括客户端设备102的地理定位处的商家的名称的媒体覆盖。媒体覆盖可以包括与商家相关联的其他标记。媒体覆盖可以被存储在数据库126中并通过数据库服务器120访问。
在一些示例中,增强系统208提供基于用户的发布平台,该基于用户的发布平台使得用户能够选择地图上的地理定位并上传与所选择的地理定位相关联的内容。用户还可以指定应当向其他用户提供特定媒体覆盖的环境。增强系统208生成媒体覆盖,该媒体覆盖包括所上传的内容并将所上传的内容与所选择的地理定位相关联。
在其他示例中,增强系统208提供基于商家的发布平台,该平台使商家能够选择经由投标过程与地理定位相关联的特定媒体覆盖。例如,增强系统208使最高出价商家的媒体覆盖与相应地理定位相关联达预定义时间量。
地图系统210提供各种地理定位功能,并且支持由消息收发客户端104呈现基于地图的媒体内容和消息。例如,地图系统210能够在地图上显示(例如,存储在配置文件数据316中的)用户图标或化身,以指示用户的“朋友”的当前或过去位置,以及由这些朋友在地图的上下文内生成的媒体内容(例如,包括照片和视频的消息的集合)。例如,在消息收发客户端104的地图界面上,可以将用户从特定地理定位发布到消息收发系统100的消息在地图的该特定位置的上下文内显示给特定用户的“朋友”。用户还可以经由消息收发客户端104与消息收发系统100的其他用户(例如,使用适当的状况化身)共享他的或她的定位和状况信息,该定位和状况信息在消息收发客户端104的地图界面的上下文内被显示给所选择的用户。
游戏系统212在消息收发客户端104的上下文内提供各种游戏功能。消息收发客户端104提供游戏界面,该游戏界面提供可用游戏的列表,该游戏可以由用户在消息收发客户端104的上下文中启动并与消息收发系统100的其他用户一起玩。消息收发系统100还使特定用户能够通过从消息收发客户端104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。消息收发客户端104还支持游戏上下文内的语音消息收发和文本消息收发两者(例如,聊天),为游戏提供排行榜,并且还支持提供游戏内奖励(例如,钱币和物品)。
外部资源系统214提供用于由消息收发客户端104与远程服务器(例如,第三方服务器110)进行通信以启动或访问外部资源即应用或小程序的接口。每个第三方服务器110托管例如基于标记语言(例如,HTML5)的应用或应用(例如,游戏、实用程序、支付或乘车共享应用)的小规模版本。消息收发客户端104可以通过从与基于web的资源相关联的第三方服务器110访问HTML5文件来启动基于web的资源(例如,应用)。在某些示例中,由第三方服务器110托管的应用利用由消息收发服务器118提供的软件开发工具包(SDK)以JavaScript编程。SDK包括应用编程接口(API),API具有可以由基于web的应用调用或激活的功能。在某些示例中,消息收发服务器118包括JavaScript库,该库向给定的外部资源提供对消息收发客户端104的某些用户数据的访问。HTML5被用作对游戏进行编程的示例技术,但是可以使用基于其他技术编程的应用和资源。
为了将SDK的功能集成到基于web的资源中,SDK由第三方服务器110从消息收发服务器118下载或者由第三方服务器110以其他方式接收。一旦被下载或接收,SDK将被包括作为基于web的外部资源的应用代码的一部分。然后,基于web的资源的代码可以调用或激活SDK的某些功能以将消息收发客户端104的特征集成到基于web的资源中。
存储在消息收发服务器118上的SDK有效地提供了外部资源(例如,应用106或小程序)与消息收发客户端104之间的桥接。这为用户提供了在消息收发客户端104上与其他用户通信的无缝体验,同时还保留了消息收发客户端104的外观和感觉。为了桥接外部资源与消息收发客户端104之间的通信,在某些示例中,SDK促进第三方服务器110与消息收发客户端104之间的通信。在某些示例中,在客户端设备102上运行的WebViewJavaScriptBridge在外部资源与消息收发客户端104之间建立两个单向通信通道。消息经由这些通信通道在外部资源与消息收发客户端104之间异步发送。每个SDK功能激活都作为消息和回调被发送。每个SDK功能都是通过构造唯一的回调标识符并发送具有该回调标识符的消息来实现的。
通过使用SDK,并非来自消息收发客户端104的所有信息都与第三方服务器110共享。SDK基于外部资源的需要来限制共享哪些信息。在某些示例中,每个第三方服务器110将与基于web的外部资源对应的HTML5文件提供给消息收发服务器118。消息收发服务器118可以在消息收发客户端104中添加基于web的外部资源的视觉表示(例如,框子艺术(box art)或其他图形)。一旦用户通过消息收发客户端104的GUI选择视觉表示或指示消息收发客户端104访问基于web的外部资源的特征,消息收发客户端104就获得HTML5文件并且使访问基于web的外部资源的特征所需的资源实例化。
消息收发客户端104呈现用于外部资源的图形用户界面(例如,登录页面或标题画面)。在呈现登录页面或标题画面期间、之前或之后,消息收发客户端104确定所启动的外部资源是否先前已被授权访问消息收发客户端104的用户数据。响应于确定所启动的外部资源先前已被授权访问消息收发客户端104的用户数据,消息收发客户端104呈现外部资源的另一图形用户界面,该界面包括外部资源的功能和特征。响应于确定所启动的外部资源先前未被授权访问消息收发客户端104的用户数据,在显示外部资源的登录页面或标题画面的阈值时间段(例如,3秒)之后,消息收发客户端104向上滑动用于授权外部资源访问用户数据的菜单(例如,将菜单动画化为从屏幕底部浮现到屏幕的中间或其他部分)。该菜单标识了外部资源将被授权使用的用户数据的类型。响应于接收到对接受选项的用户选择,消息收发客户端104将外部资源添加到授权的外部资源的列表中,并且允许外部资源从消息收发客户端104访问用户数据。在一些示例中,外部资源由消息收发客户端104根据OAuth2框架授权访问用户数据。
消息收发客户端104基于被授权的外部资源的类型来控制与外部资源共享的用户数据的类型。例如,包括完整规模的应用(例如,应用106)的外部资源被提供有对第一类型的用户数据(例如,仅用户的具有或不具有不同化身特征的二维化身)的访问权限。作为另一示例,包括应用的小规模版本(例如,应用的基于web的版本)的外部资源被提供有对第二类型的用户数据(例如,支付信息、用户的二维化身、用户的三维化身、以及具有各种化身特征的化身)的访问权限。化身特征包括定制化身的外观和感觉(例如不同的姿势、面部特征、服装等)的不同方式。
除了提供下面更详细描述的方法和界面之外,消息收发客户端104还提供以下界面:该界面提供可用外部资源的列表,这些外部资源可以由用户在消息收发客户端104的上下文内启动,并与消息收发系统100的其他用户同时玩或使用。消息收发系统100还使得特定用户能够通过从消息收发客户端104向其他用户发出邀请来邀请这样的其他用户参与特定外部资源。消息收发客户端104还支持在玩游戏或其他并发的外部资源使用的上下文内的语音和文本消息收发(例如,聊天),包括例如提供游戏的排行榜、游戏中的奖励(例如,钱币和物品)等。
数据架构
图3是示出根据某些示例的可以存储在消息收发服务器系统108的数据库126中的数据结构300的示意图。虽然数据库126的内容被示为包括若干表,但是应当理解的是,数据可以存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
数据库126包括存储在消息表302内的消息数据。对于任何特定的一条消息,该消息数据包括至少消息发送者数据、消息接收方(或接收者)数据和有效载荷。下面参照图4描述关于可以被包括在消息中并且被包括在存储在消息表302中的消息数据中的信息的另外的细节。
实体表306存储实体数据,并且(例如,参考地)链接到实体图308和配置文件数据316。在实体表306内为其维持记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管实体类型如何,消息收发服务器系统108存储关于其的数据的任何实体可以是识别的实体。为每个实体提供唯一的标识符以及实体类型标识符(未示出)。
实体图308存储关于实体之间的关系和关联的信息。仅作为示例,这样的关系可以是基于兴趣或基于活动的职业关系(例如,在共同的公司或组织工作)、社交关系。
配置文件数据316存储关于特定实体的多种类型的配置文件数据。基于由特定实体指定的隐私设置,配置文件数据316可以被选择性地使用并呈现给消息收发系统100的其他用户。在实体是个人的情况下,配置文件数据316包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置),以及用户选择的化身表示(或这种化身表示的集合)。然后,特定用户可以将这些化身表示中的一个或更多个选择性地包括在经由消息收发系统100传送的消息的内容中以及在由消息收发客户端104向其他用户显示的地图界面上。化身表示的集合可以包括“状态化身”,其呈现用户可以选择在特定时间进行通信的状态或活动的图解表示。
在实体是群组的情况下,除了群组名称、成员和相关群组的各种设置(例如,通知)之外,群组的配置文件数据316还可以类似地包括与群组相关联的一个或更多个化身表示。
数据库126还在增强表310中存储例如叠加或过滤器的增强数据。增强数据与视频(视频数据被存储在视频表304中)和图像(图像数据被存储在图像表312)相关联并且应用于视频和图像。
在一个示例中,过滤器是在向接收方用户呈现期间被显示为覆盖在图像或视频上的覆盖。过滤器可以是各种类型的,包括当发送方用户正在编写消息时由消息收发客户端104呈现给发送用户的一组过滤器中用户选择的过滤器。其他类型的过滤器包括地理定位过滤器(也称为地理过滤器),其可以基于地理定位被呈现给发送用户。例如,可以基于由客户端设备102的全球定位系统(GPS)单元确定的地理定位信息,由消息收发客户端104在用户界面内呈现特定于附近或特殊定位的地理定位过滤器
另一种类型的过滤器是数据过滤器,其可以由消息收发客户端104基于在消息创建处理期间由客户端设备102收集的其他输入或信息选择性地呈现给发送用户。数据过滤器的示例包括特定定位处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以存储在图像表312内的其他增强数据包括增强现实内容项(例如,对应于应用镜头(Lenses)或增强现实体验)。增强现实内容项可以是可以添加至图像或视频的实时特殊效果和声音。
如上所述,增强数据包括增强现实内容项、覆盖、图像变换、AR图像以及涉及可以应用于图像数据(例如,视频或图像)的修改的类似术语。这包括实时修改,其在使用客户端设备102的设备传感器(例如,一个或更多个摄像装置)捕获图像时对图像进行修改并且然后在具有修改的情况下在客户端设备102的屏幕上显示图像。这还包括对所存储的内容的修改,例如对可以被修改的图库中的视频片段的修改。例如,在可以访问多个增强现实内容项的客户端设备102中,用户可以使用具有多个增强现实内容项的单个视频片段来查看不同的增强现实内容项将如何修改存储的片段。例如,通过为内容选择不同的增强现实内容项,可以将应用不同伪随机运动模型的多个增强现实内容项应用于相同的内容。类似地,实时视频捕获可以与示出的修改一起使用,以显示当前由客户端设备102的传感器捕获的视频图像将如何修改捕获的数据。这样的数据可以简单地显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在有或没有修改(或两者)的情况下记录并存储在存储器中。在某些系统中,预览功能可以同时显示不同的增强现实内容项在显示器的不同窗口中将看起来如何。例如,这可以使得具有不同伪随机动画的多个窗口能够同时在显示器上被查看。
因此,使用增强现实内容项的数据和各种系统或使用该数据修改内容的其他此类变换系统可以涉及视频帧中对象(例如,脸、手、身体、猫、狗、表面、对象等)的检测,在这些对象离开视场、进入视场以及在视场四处移动时对这些对象的跟踪,以及在跟踪这些对象时对其进行的修改或变换。在各种示例中,可以使用用于实现这种变换的不同方法。一些示例可以涉及生成一个或更多个对象的3维网格模型,以及在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以使用对象上的点的跟踪将图像或纹理(可以是二维或三维的)放置在所跟踪的位置处。在更进一步的示例中,可以使用视频帧的神经网络分析将图像、模型或纹理放置在内容(例如,图像或视频帧)中。因此,增强现实内容项既指代用于在内容中创建变换的图像、模型和纹理,也指代通过对象检测、跟踪和布置实现这样的变换所需的附加建模和分析信息。
可以用保存在任何类型的计算机化系统的存储器中的任何类型的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。另外,任何对象例如人面部和人体的部位、动物、或者诸如椅子、汽车的非生物、或者其他对象都可以使用计算机动画模型进行处理。
在一些示例中,当与要变换的内容一起选择特定修改时,要变换的元素由计算设备识别,然后如果要变换的元素存在于视频的帧中,则要变换的元素被检测和跟踪。根据修改请求修改对象的元素,因此变换视频流的帧。对于不同种类的变换,可以通过不同的方法对视频流的帧进行变换。例如,对于主要涉及改变对象元素形式的帧转换,计算对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每一个生成基于特征点的网格。该网格用于跟踪视频流中对象的元素的下一阶段。在跟踪处理中,将所提及的每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一点的第一集合,并且基于第一点的集合和修改请求针对每个元素生成第二点的集合。然后,可以通过根据第一点的集合和第二点的集合以及网格而修改对象的元素来变换视频流的帧。在这种方法中,也可以通过跟踪和修改背景来使所修改对象的背景改变或变形。
在一些示例中,使用对象的元素改变对象的一些区域的变换可以通过计算对象的每个元素的特征点并基于计算的特征点生成网格来执行。在网格上生成点,然后生成基于这些点的各种区域。然后通过将每个元素的区域与至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可以根据修改请求来修改区域的属性,从而变换视频流的帧。根据具体的修改请求,可以以不同的方式变换所提及的区域的属性。这种修改可以涉及:改变区域的颜色;从视频流的帧中移除区域的至少一些部分;将一个或更多个新对象包括在基于修改请求的区域中;以及将区域或对象的元素进行修改或变形。在各种示例中,可以使用这样的修改或其他类似修改的任何组合。对于某些要动画的模型,可以选择一些特征点作为控制点,以用于确定模型动画的选项的整个状态空间。
在使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
可以使用适合于面部检测的其他方法和算法。例如,在一些示例中,使用界标来定位特征,该界标表示存在于所考虑的大多数图像中的可区分点。例如,对于面部标记点,可以使用左眼瞳孔的定位。如果初始界标不可识别(例如,如果人有眼罩),则可以使用次级界标。这样的界标识别程序可以用于任何这样的对象。在一些示例中,一组界标形成形状。可以使用形状中的点的坐标将形状表示为矢量。一个形状通过相似变换(允许平移、缩放和旋转)与另一形状对准,该相似变换使形状点之间的平均欧几里得距离最小化。平均形状是对准的训练形状的平均值。
在一些示例中,从与由全局面部检测器确定的面部的位置和大小对准的平均形状开始搜索界标。然后,这样的搜索重复以下步骤:通过经由每个点周围的图像纹理的模板匹配而调整形状点的位置来建议暂定形状,然后使暂定形状符合全局形状模型,直至发生收敛为止。在某些系统中,个别的模板匹配是不可靠的,形状模型将弱模板匹配的结果进行池化,以形成更强的整体分类器。整个搜索在图像金字塔的每个级别上重复,从粗分辨率到细分辨率。
变换系统可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并在客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状变化、情绪转换(例如,将面部从皱眉变为微笑)、状态转换(例如,使对象变老、减少表观年龄、改变性别)、风格转换、图形元素应用,以及由已经被配置成在客户端设备102上高效执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例实施方式中,用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍),该神经网络操作为在客户端设备102上操作的消息收发客户端104的一部分。在消息收发客户端104内操作的变换系统确定图像或视频流中的面部的存在并且提供与计算机动画模型相关联的修改图标以变换图像数据,或者计算机动画模型可以被呈现为与本文中描述的接口相关联。修改图标包括以下变化,该变化可以是作为修改操作的一部分的修改图像或视频流中的用户面部的基础。一旦选择了修改图标,则变换系统发起将用户的图像转换以反映所选择的修改图标(例如,在用户上生成笑脸)的处理。一旦图像或视频流被捕获并且指定的修改被选择,则修改的图像或视频流就可以呈现在客户端设备102上显示的图形用户界面中。变换系统可以在图像或视频流的一部分上实施复杂的卷积神经网络,以生成和应用选定的修改。也就是说,一旦选择了修改图标,用户就可以捕获图像或视频流并且实时或近乎实时地呈现修改结果。此外,当正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换。机器学习的神经网络可以用于实现这样的修改。
呈现由变换系统执行的修改的图形用户界面可以为用户提供附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的接口(例如,从内容创建者用户界面发起)。在各种示例中,修改可以在修改图标的初始选择之后持续存在。用户可以通过轻击或以其他方式选择正由变换系统修改的面部来打开或关闭修改,并将其存储以供以后查看或浏览到成像应用的其他区域。在由转换系统修改多个面部的情况下,用户可以通过敲击或选择在图形用户界面内修改和显示的单个面部来全局打开或关闭修改。在一些示例中,可以单独修改一组多个面部中的各个面部,或者可以通过轻击或选择图形用户界面内显示的各个面部或一系列各个面部来单独切换这种修改。
故事表314存储与消息和相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成集合(例如,故事或库)。特定集合的创建可以由特定用户(例如,在实体表306中维护其记录的每个用户)发起。用户可以以已经由该用户创建和发送/广播的内容集合的形式创建“个人故事”。为此,消息收发客户端104的用户界面可以包括用户可选择的图标,以使得发送用户能够将特定内容添加到他或她的个人故事。
集合还可以构成作为来自多个用户的内容集合的“实况故事”,该内容集合是手动地、自动地或者使用手动技术和自动技术的组合创建的。例如,“实况故事”可以构成来自各种定位和事件的用户提交内容的策展流。其客户端设备启用了定位服务并且在特定时间处于共同定位事件处的用户可以例如经由消息收发客户端104的用户界面被呈现有将内容贡献给特定实况故事的选项。可以由消息收发客户端104基于用户的定位向他或她标识实况故事。最终结果是从群体角度讲述的“实况故事”。
另外类型的内容集合被称为“定位故事”,其使得其客户端设备102位于特定地理定位(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些示例中,对定位故事的贡献可能需要二级认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
如上面提到的,视频表304存储视频数据,在一个示例中,该视频数据与其记录保存在消息表302内的消息相关联。类似地,图像表312存储与消息数据被存储在实体表306中的消息相关联的图像数据。实体表306可以使来自增强表310的各种增强与存储在图像表312和视频表304中的各种图像和视频相关联。
数据通信架构
图4是示出根据一些示例的消息400的结构的示意图,消息400由消息收发客户端104生成,以用于传送至另外的消息收发客户端104或消息收发服务器118。特定消息400的内容用于填充存储在数据库126中的消息表302,该消息表302可由消息收发服务器118访问。类似地,消息400的内容被存储在存储器中作为客户端设备102或应用服务器114的“传输中”或“飞行中”的数据。消息400被示为包括以下示例组成部分:
·消息标识符402:识别消息400的唯一标识符。
·消息文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在消息400中的文本。
·消息图像有效载荷406:由客户端设备102的摄像装置部件捕获的或从客户端设备102的存储器检索到的、并且包括在消息400中的图像数据。用于发送或接收的消息400的图像数据可以被存储在图像表312中。
·消息视频有效载荷408:由摄像装置部件捕获的或从客户端设备102的存储器部件检索到的、并且包括在消息400中的视频数据。用于发送或接收的消息400的视频数据可以被存储在视频表304中。
·消息音频有效载荷410:由麦克风捕获的或从客户端设备102的存储器部件检索到的、并且包括在消息400中的音频数据。
·消息增强数据412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的增强的增强数据(例如,过滤器、标贴或其他注解或增强)。发送或接收的消息400的增强数据可以存储在增强表310中。
·消息持续时间参数414:参数值,其指示消息的内容(例如,消息图像有效载荷406、消息视频有效载荷408、消息音频有效载荷410)将经由消息收发客户端104被呈现给用户或使其对于用户可访问的以秒为单位的时间量。
·消息地理定位参数416:与消息的内容有效载荷相关联的地理定位数据(例如,纬度和经度坐标)。多个消息地理定位参数416值可以被包括在有效载荷中,这些参数值中的每个参数值与内容中所包括的内容项(例如,消息图像有效载荷406内的特定图像或消息视频有效载荷408中的特定视频)相关联。
·消息故事标识符418:标识一个或更多个内容集合(例如,在故事表314中标识的“故事”)的标识符值,其中消息400的消息图像有效载荷406中的特定内容项与一个或更多个内容集合相关联。例如,可以使用标识符值将消息图像有效载荷406内的多个图像各自与多个内容集合相关联。
·消息标签420:每个消息400可以用多个标签来标记,这些标签中的每个标签都指示消息有效载荷中包括的内容的主题。例如,在消息图像有效载荷406中包括的特定图像描绘动物(例如狮子)的情况下,标签指可以包括在指示相关动物的消息标签420中。标签值可以基于用户输入手动地生成,或可以使用例如图像识别自动地生成。
·消息发送者标识符422:指示在其上生成消息400以及从其发送消息400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·消息接收者标识符424:指示消息400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
消息400的各个组成部分的内容(例如,值)可以是指向在其中存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表312内的位置的指针(或地址)。类似地,消息视频有效载荷408内的值可以指向存储在视频表304内的数据,存储在消息增强412内的值可以指向存储在增强表310中的数据,存储在消息故事标识符418内的值可以指向存储在故事表314中的数据,以及存储在消息发送者标识符422和消息接收者标识符424内的值可以指向存储在实体表306内的用户记录。
尽管所描述的流程图可以将操作示出为顺序过程,但是操作中的许多操作可以并行或同时执行。此外,可以重新安排操作的顺序。当其操作完成时,过程终止。过程可以对应于方法、程序、算法等。方法的操作可以全部或部分执行,可以与其他方法中的一些或所有操作结合执行,并且可以通过任何数量的不同系统例如本文描述的系统或者其任何部分例如包括在任何系统中的处理器执行。
图5示出了根据一些实施方式的在客户端设备的显示器上呈现给设备的用户的消息收发应用的说明性用户界面。例如,图5中所示的消息收发应用的用户界面表示作为名为“好朋友”的群组的一部分的五个参与者之间的对话界面502。对话界面502包括呈现区域504,该呈现区域504呈现群组对话中的参与者的视觉标识符。呈现区域504中的视觉标识符可以包括与每个活动的参与者相关联的化身和每个参与者的名字。在呈现区域504的下方(或附近),消息收发应用呈现多个对话选项和键盘。对话选项包括文本输入框,在该文本输入框中参与者可以使用键盘键入消息,并且消息在发送时被呈现为在呈现区域504上方的聊天气泡。其他对话选项包括允许用户拍摄图片或视频以作为聊天气泡中的消息提交给对话界面的摄像装置选项,以及用于访问游戏的火箭图标。
对话界面502还包括在图中示出为停靠栏(dock)506的外部资源通知界面,该界面包括对于对话的成员而言是活动的或新近由对话的一个或更多个成员使用的两个或更多个外部资源图标。外部资源有资格被包括在停靠栏506的时间段是设计偏好的问题,但在一个示例中可能是80小时。停靠栏506是对话内的共享UI组件。如果对话的所有成员在其版本的对话界面502中查看消息收发客户端104,则对话的所有成员可以同时看到停靠栏506中的同一组图标。如从图中可以看到的,在该示例中,停靠栏506与呈现区域504相邻地或交叠地定位。
由停靠栏506包括的是状态指示器526,该状态指示器526指示在停靠栏506中示出的一个或更多个外部资源是否为活动的。在一个示例中,状态指示器526是特定颜色例如蓝色的圆,其可以存在以指示可能感兴趣的外部资源的情况,并且其在不存在这样的情况时不存在。例如,状态指示器526依据其存在的情况可以是停靠栏506中的一个或更多个外部资源的活动状态、针对当前在停靠栏506或抽屉(drawer)510中的外部资源(或外部资源中的可用新特征或级别)的更新、或由对话的成员以某种其他方式与特定外部资源的交互、或不是对话参与者的朋友的激活。
消息收发客户端104检索、监测或被提供有包括在停靠栏506中的每个外部资源的元数据(或更新的元数据)。在存在可能需要更新状态指示符526的元数据的变化的情况下,消息收发客户端104将更新的元数据与现有的元数据和一组条件进行比较,以确定是否需要更新状态指示符526。例如,可以存在状态项的优先级(例如,对话参与者在外部资源中处于活动状态可能比外部资源中的先前采取但值得注意的动作更重要,后者可能比在外部资源中的更新或新级别更重要)。此外,该优先级可以随着时间而变化,例如,新的级别或更新可以优先于外部资源中的相对陈旧的先前采取的但值得注意的动作。
替选地,或者此外,还可以根据停靠栏506的状态,使用其他视觉指示器。例如,如果存在停靠栏506中示出的仅一个、当前活动的外部资源,则状态指示器526可以包括指示对话中的多少成员参与活动的外部资源的数字,来代替所图示的状态指示器526。在另一示例中,可以仅提供视觉指示以指示外部资源中的一个或更多个外部资源是活动的。例如,当在停靠栏506中存在活动的外部资源时,停靠栏506可以被彩色或“彩虹”阴影608包围(参见图6)。与状态指示器526相比,这提供了对外部资源处于活动状态的更具体的指示,而状态指示器526可以在存在除了以上讨论的外部资源活动状态之外的情况时被示出。在图6中更详细地示出了停靠栏506。
轻击停靠栏506致使显示对话界面508,在该对话界面508中消息收发应用利用呈列表界面形式的抽屉510代替对话界面502中示出的键盘和聊天窗口的显示,其中列表界面包括与至少两个外部资源对应的用户可选择单元格。在所示的示例中,抽屉510包括活动单元格512和若干不活动单元格514、516和518。在这方面,活动和不活动指的是由包括对话参与者的群组内的单元格表示的外部资源的当前状态。对话界面508中的所有单元格本身在与每个单元格进行用户交互是可能的意义上都是“活动”的。在图6中更详细示出活动单元格和不活动单元格。
抽屉510中的单元格基于它们多久以前被访问从上到下排序,其中活动单元格总是排在不活动单元格之上。如果存在多于一个的活动单元格,则可以基于若干因素按照从上到下的顺序示出活动单元格,所述若干因素是例如对应的外部资源新近多久被激活或使新的参与者加入、对话中的参加外部资源的参与者的数量、或对话中的参加外部资源的用户的总数量。此外,可以基于活动或不活动的单元格是新增加的或由外部资源的开发者进行了付费而将该活动或不活动的单元格的位置提升到活动或不活动单元格的群组中的更高位置。最后,如果存在外部资源的新的或更新的内容,则这可能被用来将该外部资源推进到其群组(例如,在活动外部资源的活动单元格群组中或不活动外部资源的不活动单元格群组中)的顶部。
应当注意的是,停靠栏506中的图标的数量不一定与抽屉510中的单元格的数量相同。在一个实现方式中,停靠栏506中的图标的数量为最多三个,而抽屉510中的单元格的数量可以与考虑到客户端设备102的参数和附加设计考虑(例如期望呈现附加或替选信息)而可以舒适地容纳的数量一样多。如果在停靠栏506中示出图标,则它的单元格将在抽屉510中排名高于未被分配至停靠栏506的外部资源。也就是说,抽屉510中的前三个单元格可以对应于停靠栏506中的三个图标。
抽屉510中还示出了单元格520和单元格522,该单元格520例如可以是推广项,该单元格522例如可以是特定事件或游戏的有新闻价值的更新(例如,可用的新级别)或其他外部资源的有新闻价值的更新。在图示的实施方式中,单元格520和单元格522不满足本身包括在抽屉510的新近度要求(recency requirement),但可以基于一个或更多个其他参数被包括以填充抽屉下的空间。
消息收发客户端104检索、监测或被提供有用于包括在停靠栏506和抽屉510中的每个外部资源以及用于用户或其他相关活动的元数据(或更新的元数据),例如,由对话参与者对不在停靠栏或抽屉中的外部资源的访问、外部资源或事件的提升等。在存在可能需要对停靠栏506或抽屉510或者图标或单元格的外观的更新的元数据的变化的情况下,消息收发客户端104将更新的元数据与现有元数据进行比较,以确定是否需要更新抽屉510或停靠栏506。如果需要更新抽屉510或停靠栏506,则如在本文中更详细讨论的那样,消息收发客户端104然后例如通过添加/移除图标或单元格,对图标或单元重新排序等,对抽屉510或停靠栏506进行适当的更新。
还包括的是过滤器单元格524,其具有将抽屉510中的视图设置为“全部”项或仅“游戏”或仅“迷你应用(Minis)”(即,非游戏小程序)的用户可选择的选项。对“游戏”或“迷你应用”的选择将在抽屉510中显示的项限制至所选择的类别。还可以提供指示器528(例如,“迷你应用”右上方的蓝点),以发信号通知用户可能感兴趣的该类别中的状态,例如更新的外部资源、活动的外部资源等。
响应于接收到对从单元格512到单元格522的单元格之一的用户选择,消息收发应用检索与所选择的单元格相关联的外部资源的HTML5文件(或其他代码)并实例化各种资源,以启动或访问对应的外部资源。然后,将由已启动的特定外部资源确定消息收发应用的特定行为。外部资源在停靠栏506和抽屉510中的状态在这些项被呈现给对话参与者的实例中将被更新,以反映外部资源的新状态为活动的。
无论抽屉510被呈现给对话中的哪个参与者,抽屉510都是相同的。即,一个用户与抽屉510的交互影响同一对话中的另一用户看到抽屉510的方式。
图6更详细地示出了停靠栏506、活动单元格512和不活动单元格518。如可以看到,停靠栏包括图标602、604和606、状态指示器526和阴影608。如以上所讨论的,阴影608的存在指示与图标602、604或606对应的一个或更多个外部资源是活动的,而处于其“活动”视图的状态指示器526的存在也示出该活动状态,但是如果存在如以上所讨论的与抽屉510中的项有关的附加情况,也将示出处于其“活动”视图的状态指示器526的存在。在所示的示例中,停靠栏506示出最少一个图标和最多三个图标,但是当然,这可以根据设计选择而变化。
基于对应的外部资源新近多久被访问将停靠栏506中的图标从右到左排序,其中在该示例中,将最新近被访问的图标示出在右侧。如果停靠栏506中的外部资源超时而没有被再次访问,则该外部资源将从停靠栏506脱离,并且停靠栏506的尺寸将缩小到较小的尺寸,或者该外部资源的位置将被当前在抽屉510中的第四外部资源(如果有的话)所取代,只要第四外部资源满足包括在停靠栏506中的要求(例如,新近度)即可。
如果不同的外部资源现在被对话的成员访问,则它的图标将出现在停靠栏506的最右边的位置,并且其他图标将向左移。如果在访问新的外部资源时已经有三个图标存在,则最左边的图标将从停靠栏506脱离。
为了引起对停靠栏506的状态变化的注意,有益的会是提供新图标“弹跳”到最右边位置的动画。例如,在其他图标开始向左移动时,新图标可以示出为从一半尺寸缩放到大于正常的尺寸,并且然后恢复回到正常尺寸。可以类似地以这种方式将状态指示器526的外观动画化,以突出显示致使状态指示器526出现的情况变化。
在一个示例中,来自抽屉510的活动单元格512被示出为包括与外部资源对应的图标610、外部资源的标题612、示出外部资源当前处于活动状态的指示器614、当前正在玩游戏或以其他方式与外部资源交互的对话参与者的名称列表616以及鼓励抽屉510的查看者加入活动的外部资源的“动作召唤”或CTA按钮618。如果用户按下CTA按钮618,则他们将作为由特定外部资源或CTA按钮定义的参与者加入外部资源。由于外部资源已经为活动的,因此在这种情况下没有必要为对话参与者更新状态指示器526或阴影608,但是与外部资源对应的图标将很可能被移动到停靠栏506中的最右边位置,并且如果活动单元格512还不在抽屉510的顶部,则活动单元格512会移动到抽屉510的顶部。为了提供另一视觉指示,即,存在状态的至少部分变化,状态指示器526或阴影608也可以是跳动的(pulsed)。
在一个示例中,来自抽屉510的不活动单元格518被示出为包括与外部资源对应的图标620、外部资源的标题622、示出外部资源新近被打开的文本指示器624以及可以用于从抽屉510中撤销不活动单元格518的撤销按钮626。如果不活动单元格518被撤销,则将为对话中的所有参与者,从停靠栏506中移除不活动单元格518,并且如果在停靠栏506中存在对应的图标,则也将为对话的所有参与者,也从停靠栏506移除对应的图标。
如果用户轻击不活动单元格518中的任何地方,则将访问或启动对应的外部资源。此外,单元格的外观将改变以模拟活动单元格512的外观,并且对于对话中的所有参与者,该新的活动单元格将被置于抽屉510的顶部处。此外,将通过图标620出现在停靠栏506的最右边的位置来更新停靠栏506,并且如果状态指示器526和阴影608尚未存在,则状态指示器526和阴影608将出现。如果状态指示器526和阴影608已经存在,则它们可以是跳动的,以向其他对话参与者提供关于停靠栏506的状态已经变化的另一视觉指示。
图7示出了一个示例实现方式中的具有用户在与停靠栏506和抽屉510交互时可以采取的关键动作的摘要的表。列A指示用户动作,并且行1指示聊天停靠栏中的外部资源的状态。例如,如果存在在指定的保留时间窗口中活动的两个不活动的外部资源(列D),并且用户轻击停靠栏506(行2),则如列D和行2的交叉处的单元格D2所示,打开抽屉510。
如从表中可以看到,主要的差异涉及是否存在处于停靠栏506中的多于一个外部资源(在表中都被称为“app”),以及这些外部资源是活动的还是不活动的。如行2中所示,如果在停靠栏中仅存在一个外部资源图标,则轻击停靠栏506打开对应的外部资源。在停靠栏506中有多于一个图标的情况下,打开抽屉。如行3中所示,只有存在单个不活动的外部资源,才可以通过执行按住不放运动并且随后进行拖动或滑动来将该外部资源从停靠栏506中撤销。如行4中所示,只有在停靠栏506中存在两个或更多个外部资源并且其中一个外部资源是活动的情况下,才示出呈状态指示器526(并且如果提供的话的阴影608)形式的可供性(affordance)。在单个活动的外部资源(c4)的情况下,示出了对话中的参与外部资源的活动成员的数量,以代替状态指示器526。如行5中所示,只有在存在单个不活动的外部资源的情况下,才可能直接将外部资源从停靠栏506中隐藏。然而,注意,在列D至G中,总是可以通过轻击停靠栏以打开抽屉510并从抽屉510内撤销不活动的外部资源而从停靠栏撤销不活动的外部资源。这将从对话的成员的停靠栏的所有实例中撤销不活动的外部资源。最终,如果如行6中所示外部资源是不活动的,则仅可以通过轻击抽屉510内的撤销按钮626将外部资源从抽屉510隐藏。在该示例实施方式中,活动的外部资源不能从抽屉510隐藏。
图8示出了根据一些另外的实施方式的消息收发应用的说明性用户界面。例如,图5中所示的消息收发应用的用户界面表示作为名为“好朋友”的群组的一部分的四个参与者之间的对话界面502。对话界面502包括呈现区域504,该呈现区域504呈现群组对话中的参与者的视觉标识符。呈现区域504中的视觉标识符可以包括与每个活动的参与者相关联的化身和每个参与者的名称。在呈现区域504的下方,消息收发应用呈现多个对话选项和键盘。对话选项包括文本输入框,在该文本输入框中参与者可以使用键盘键入消息,并且消息被呈现为在呈现区域504上方的聊天气泡。其他对话选项包括允许用户拍摄图片或视频以作为聊天气泡中的消息提交给对话界面的摄像装置选项,以及用于访问游戏的火箭图标。
对话界面还包括在图示的实施方式中示出为停靠栏806的外部资源通知界面,该外部资源通知界面包括两个或更多个外部资源图标,这些外部资源图标对于对话的成员而言是活动的,或者被对话的一个或更多个成员新近使用。外部资源有资格被包括在停靠栏806的时间段是设计偏好的问题,但在一个示例中可能是80小时。停靠栏806是对话/聊天会话内的共享UI组件。在该示例中,对话的所有成员都可以看到停靠栏806中的图标。下面将参照图9更详细地讨论停靠栏806的特征和变体。
轻击停靠栏906致使显示对话界面808,在该对话界面808中呈列表界面形式的包括用户可选择单元格的抽屉810覆盖了对话界面802的一部分,该对话界面802在图示的示例中“变灰”,以突出显示抽屉810是对话界面808的活动元素。抽屉810中的用户可选择单元格至少对应于其图标包括在停靠栏806中的小程序。下面参照图10更详细地描述抽屉810。
图9示出了图8的停靠栏806的三种不同呈现。停靠栏902是默认呈现,其中未显示与外部资源有关的附加状态或活动状况信息。如可以看到的,停靠栏902包括以二维布置的四个部分交叠的图标908。这些图标表示由(在呈现区域804中标识的)对话/聊天的成员最近使用的外部资源。
由停靠栏904包括的是状态指示器910,该状态指示器910指示停靠栏904中示出的一个或更多个外部资源是否新近被使用。在一个示例中,状态指示器910是特定颜色例如黄色的圆,其可以存在以指示可能感兴趣的外部资源的情况(在这种情况下为新近使用),并且其在不存在这样的情况时不存在。状态指示器910可以包括用于指示由图标908指示的外部资源中有多少新近被使用的数字。也可以指示其他情况,可能使用不同的颜色来指示。例如,状态指示器910可以依据其而存在的其他情况可能是停靠栏904中的一个或更多个外部资源的活动状态、针对当前在停靠栏904或抽屉810中的外部资源的更新(或在该外部资源中可用的新特征或级别的更新)、或由对话的成员以某种其他方式与特定的外部资源的交互、或不是对话参与者的朋友的激活。
替选地,或者此外,可以使用其他视觉指示器,这取决于在停靠栏806中表示的外部资源的状态或性质。例如,如果对话参与者在参与性外部资源(例如,多玩家游戏)中为活动的,则如停靠栏906中所示,状态指示器912可以是独特的颜色(例如,绿色),并且可以包括指示对话中有多少成员正在参与活动的外部资源的数字。状态指示器912还可以包括附加的记号(例如,如所示的表示头部和躯干的符号),以指示状态指示器912与用户可以与一个或更多个对话参与者一起参与的外部资源有关。停靠栏906还可以包括例如邀请用户与其他参与者一起加入到外部资源的动作召唤按钮914。轻击动作召唤按钮914可以将用户直接带到特定外部资源的用户界面,或者可以打开抽屉810。
如果访问与在停靠栏806中当前示出的外部资源不同的外部资源,则与最长时间以前访问的外部资源对应的图标将被最新近访问的外部资源的图标所替换。
为了引起对停靠兰806的状态变化的注意,有益的会是,提供新图标“弹跳”到适当位置的动画。例如,新图标可以示出为从一半尺寸缩放到大于正常的尺寸,并且然后恢复回到正常尺寸。可以类似地以这种方式将状态指示器910或状态指示器912的外观动画化,以突出显示情况的变化。
图10更详细地示出了图8的抽屉810。在所示的示例中,抽屉810包括不活动单元格1002、不活动单元格1004、对话参与者已采取值得注意的动作的单元格1006以及表示对话参与者为活动的参与性外部资源的活动单元格1008。在这方面,活动和不活动指的是由包括对话参与者的群组内的单元格表示的外部资源的当前状态。对话界面808中的所有单元格本身在与每个单元格的用户交互是可能的意义上都是“活动”的。
如以上参照图5讨论的,抽屉810中的单元格可以基于它们多久之前被访问从上到下排序。此外,停靠栏806中的图标的数量不一定与抽屉810中的单元格的数量相同。
响应于接收到对从单元格1002到单元格1008中的单元格之一的用户选择,消息收发应用检索与所选择的单元格相关联的外部资源系统214的HTML5文件(或其他代码)并且实例化各种资源,以直接地或通过在消息收发客户端104的上下文中呈现外部资源的用户界面来启动或访问对应的外部资源。由已经被启动或访问的特定外部资源确定消息收发应用的特定行为。然后,外部资源在停靠栏806和抽屉810中的状态在这些项被呈现给对话参与者的实例中将被更新,以反映外部资源的新状态为活动的。
抽屉810通常是相同的,无论它被呈现给对话中的哪个参与者。即,一个用户与抽屉510的交互影响同一对话中的另一用户看到抽屉510的方式。
在一个示例中,来自抽屉810的不活动单元格1002和不活动单元格1004被示出为包括与外部资源对应的图标908、外部资源的标题1010以及可以用来从抽屉810撤销这些单元格的撤销按钮1012。在这种情况下,将为对话中的所有参与者从抽屉810中移除不活动单元格,并且如果在停靠栏806中存在对应的图标,则也将为对话中的所有参与者从停靠栏806中移除对应的图标。
如果用户轻击单元格1002或单元格1004中的任何地方,则将访问或启动对应的外部资源。此外,对于其他对话参与者,单元格的外观将改变,以模拟活动单元格(例如,单元格1008)的外观,并且停靠栏806将通过任何相关的状态指示器被更新。如果与单元格对应的状态指示器910或状态指示器912已经存在于停靠栏中,则该图标或状态指示器可以跳动,以向其他对话参与者提供关于已存在停靠栏506的状态变化的另一视觉指示,并且也可以更新参与者的数量(如果适当的话)。
在一个示例中,来自抽屉810的单元格1006还被示出为包括与外部资源对应的图标908、外部资源的标题、示出外部资源具有与其相关联的可报告或值得注意的事件或项的状态指示器910。在这种情况下,尽管与单元格1006对应的外部资源对对话参与者之一而言不是活动的,但是对话参与者已对该外部资源采取值得注意的动作(在这种情况下)。这可以通过例如指示对话参与者已经使用对应的外部资源进行了预订的在标题下方的文本1014来报告。由于单元格1006不是活动的,单元格1006还包括撤销按钮1012,其允许单元格1006从抽屉810和停靠栏806中被撤销。
如果用户轻击在单元格1006中,则如由开发者指定的特定外部资源所定义的,对应的外部资源将被打开或访问。在图示的实施方式中,这可以涉及提供朝向外部资源到达外部资源中的相关状态或位置的界面,例如到同一餐馆或到同一餐馆处的相同预订的界面,从而允许用户在所示出的实施方式中添加他们自己或要求被添加到预订。
此外,单元格1006的外观将改变,以模拟活动单元格(例如,单元格1008)的外观,并且停靠栏806将通过任何相关的状态指示器被更新。如果与单元格对应的状态已经存在于停靠栏中,则图标或状态指示器可以跳动以向其他对话参与者提供关于已存在停靠栏806的状态的变化的另一视觉指示,或在颜色和外观上改变,并且参与者的数量也可以更新(如果适当的话)。
在一个示例中,来自抽屉810的活动单元格1008还被示出为包括与外部资源对应的图标908、外部资源的标题、示出外部资源当前处于活动状态的状态指示器912以及列出对话参与者的一个或更多个名称和他们与外部资源的交互的性质的文本1016。在图示的实施方式中,文本1016指出对话参与者正在玩游戏。也可以示出为“动作召唤”或CTA按钮618的文本1016鼓励抽屉810的查看者加入活动的外部资源。如果用户轻击单元格1008,则他们将作为由特定外部资源定义的参与者加入外部资源。然后,将利用新的参与者数量更新状态指示器912,并且(对于查看抽屉810的其他对话参与者)将通过添加用户的名字更新文本1016。为了提供关于存在状态的至少部分变化的另一视觉指示,对于其他对话参与者,也可以在停靠栏806中使状态指示器912跳动。
图11是可以在以上描述的用户界面元素的实现方式中使用的流程图的示例。
该方法开始于用户在操作1102处启动消息收发客户端104。然后在操作1104处开始对话。这可以以消息收发领域中已知的若干方式来完成,例如通过用户选择与之开始对话的现有朋友群组,或者从与之开始对话的朋友的联系人列表中选择一个或更多个朋友来完成。消息收发客户端104也可以已被配置成启动到上次聊天会话或以由用户设置的默认聊天会话启动。
在操作1106处,由消息收发客户端104检查由对话中的参与者使用的外部资源的状态,并且在操作1108中选择当前活动并且新近使用的外部资源(在如以上所讨论的一定时间范围内)。然后,在操作1110中,消息收发客户端104确定包括与至少两个外部资源对应的用户可选择单元格的列表界面(例如,抽屉510或抽屉810)是否打开。在该方法的第一实例中,这将是“否”,并且该方法将在操作1112处继续。在该方法的后续迭代中,抽屉可以已经打开,并且然后,该方法将在操作1116处继续。
在操作1110中确定为“否”之后,在操作1112中创建或更新外部资源通知界面(例如,停靠栏506或停靠栏806),其中在外部资源通知界面中示出在操作1108中选择的两个外部资源中的至少两个。可以如以上参考停靠栏506或停靠栏806的描述那样描述外部资源通知界面的位置和外观,其中如所描述的那样示出和排列外部资源图标(例如,图标602等)。在一个或更多个外部资源为活动的或具有与其相关联的另一个值得注意的情况(例如,新近被更新、新级别等)的情况下,则可以在外部资源通知界面处、在外部资源通知界面中或附近提供关于外部资源活动状况和/或其他情况的一个或更多个指示器,例如,状态指示器526、阴影608、状态指示器910或状态指示器912。
然后,用户可以在操作1114处选择外部资源通知界面(例如,停靠栏506或停靠栏806)。响应于该选择,在操作1116中创建列表界面(例如,抽屉510或抽屉810),其包括至少包括在外部资源通知界面中标识的外部资源的活动的和/或新近使用的外部资源的列表。活动的和/或新近使用的外部资源的列表可以被排序并以如参考对话界面508或对话界面808描述的一个或更多个特征出现。
如果如操作1118中所示的那样从抽屉中选择外部资源,则在操作1122中由消息收发客户端104启动或访问该外部资源,并且用户被呈现以如对特定外部资源所预期的那样的对应体验。当访问外部资源时,自动地更新外部资源的状态(包括其对于用户的活动状态和用户是参与者的事实)。然后,该方法返回至操作1106,在操作1106中,检查由对话参与者使用的外部资源的状态,并且然后,该方法从那里继续。在一些情况下,对于访问外部资源的特定用户,向操作1106的返回可以仅在用户停止使用外部资源并返回至对话界面时才发生。
如果在操作1118中未选择外部资源,则进行检查以查看是否已从列表界面/抽屉中撤销不活动的外部资源。如果已从列表界面/抽屉中撤销不活动的外部资源,则在操作1124处修改或更新与外部资源有关的适当元数据。特别地,可以为对话参与者将外部资源标记为临时不包括在外部资源通知界面或抽屉中,或者可以将所有参与者对外部资源的使用新近度设置为将外部资源从操作1108中的选择中排除的值。替选地,可以更新针对用户或对话参与者的其他记录,以将不活动的外部资源临时排除出显示在停靠栏和抽屉中。然后,该方法返回至操作1106。如果在操作1120中未撤销不活动外部资源,则该方法在操作1106处继续。
应当注意的是,为了便于说明,图11的流程图示出了在该方法的特定点处检查由参与者使用的外部资源的状态。在实践中,将以规则的间隔不断地检查外部资源的状态,或者,并且当将影响在停靠栏和抽屉中示出的外部资源的状态更新发生时,例如如果另一(远程)对话参与者如以上所讨论的那样与停靠栏506中的单元格交互,则这样的状态更新将由消息收发客户端104接收。也就是说,对停靠栏和抽屉的更新可以在返回至操作1106处的检查之前在任何时候发生,而无需方法必须等待方法中的某个步骤完成。
也就是说,尽管流程图将操作示出为顺序过程,但是可以并行或同时执行许多操作。此外,可以重新安排操作的顺序。
机器架构
图12是机器1200的图解表示,在该机器1200内可以执行用于使机器600执行本文所讨论的方法中的任何一个或更多个方法的指令1210(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1210可以使机器1200执行本文中描述的方法中的任一种或更多种方法。指令1210将一般的非编程机器1200变换为特定机器1200,该特定机器1200被编程为以所描述的方式执行所描述和所示的功能。机器1200可以作为独立设备操作或者可以耦接(例如,联网)到其他机器。在联网部署中,机器1200可以在服务器客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1200可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1200采取的动作的指令1210的任何机器。此外,虽然仅示出了单个机器1200,但是术语“机器”还应被视为包括单独或联合执行指令1210以执行本文中讨论的方法中的任一个或更多个方法的机器的集合。例如,机器1200可以包括客户端设备102或者形成消息收发服务器系统108的一部分的若干个服务器设备中的任何一个。在一些示例中,机器1200还可以包括客户端系统和服务器系统二者,其中在服务器侧执行特定方法或算法的某些操作,并且在客户端侧执行特定方法或算法的某些操作。
机器1200可以包括可以被配置成经由总线1240彼此通信的处理器1204、存储器1206和输入/输出(I/O)部件1202。在示例中,处理器1204(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何合适的组合)可以包括例如执行指令1210的处理器1208和处理器1212。术语“处理器”旨在包括多核处理器,该多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图12示出了多个处理器1204,但是机器1200可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器1206包括主存储器1214、静态存储器1216和存储单元1218,二者可由处理器1204经由总线1240访问。主存储器1206、静态存储器1216和存储单元1218存储实现本文所述的方法或功能中的任何一种或更多种的指令1210。指令1210还可以在其被机器1200执行期间完全地或部分地驻留在主存储器1214内、在静态存储器1216内、在存储单元1218内的机器可读介质1220内、在处理器1204中的至少一个处理器内(例如,在处理器的高速缓存存储器内)、或其任何合适的组合。
I/O部件1202可以包括接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的各种各样的部件。包括在特定机器中的特定I/O部件1202将取决于机器的类型。例如,便携式机器诸如移动电话可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将不太可能包括这样的触摸输入设备。应当理解,I/O部件1202可以包括图12中未示出的许多其他部件。在各种示例中,I/O部件1202可以包括用户输出部件1226和用户输入部件1228。用户输出部件1226可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号生成器等。用户输入部件1228可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置和力的触摸屏、或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例中,I/O部件1202可以包括生物计量部件1230、运动部件1232、环境部件1234、或位置部件1236以及各种其他部件。例如,生物计量部件1230包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,声音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1232包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。
环境部件1234包括例如一个或更多个摄像装置(具有静态图像/照片和视频功能)、照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于出于安全考虑而检测危险气体的浓度或用于测量大气中的污染物的气体检测传感器)或可以提供与周围物理环境相对应的指示、测量或信号的其他部件。
关于摄像装置,客户端设备102可以具有摄像装置系统,该摄像装置系统包括例如客户端设备102的前表面上的前置摄像装置和客户端设备102的后表面上的后置摄像装置。前置摄像装置可以例如用于捕获客户端设备102的用户的静止图像和视频(例如,“自拍”),然后可以用上述增强数据(例如,过滤器)对该静止图像和视频进行增强。例如,后置摄像装置可以用于以更传统的摄像装置模式捕获静止图像和视频,这些图像类似地使用增强数据进行增强。除了前置和后置摄像装置之外,客户端设备102还可以包括用于捕获360°照片和视频的360°摄像装置。
此外,客户端设备102的摄像装置系统可以包括双后置摄像装置(例如,主摄像装置以及深度感应摄像装置),或者甚至在客户端设备102的前后侧上包括三重、四重或五重后置摄像装置配置。例如,这些多摄像装置系统可以包括广角摄像装置、超广角摄像装置、长焦摄像装置、微距摄像装置和深度传感器。
位置部件1236包括定位传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测可以得到海拔的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实施通信。I/O部件1202还包括通信部件1238,通信部件1238可操作以经由相应的耦接或连接将机器1200耦接至网络1222或设备1224。例如,通信部件1238可以包括网络接口部件或与网络1222对接的另一合适设备。在另外的示例中,通信部件1238可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低功耗)、/>部件以及经由其他模态提供通信的其他通信部件。设备1224可以是其他机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1238可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1238可以包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测诸如通用产品代码(UPC)条形码的一维条形码、诸如快速反应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(UltraCode)、UCC RSS-2D条形码的多维条形码和其他光学码的光学传感器)或声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1238得出各种信息,例如经由因特网协议(IP)地理定位得出的定位、经由信号三角测量得出的定位、经由检测可以指示特定定位的NFC信标信号得出的定位等。
各种存储器(例如,主存储器1214、静态存储器1216以及处理器1204的存储器)以及存储单元1218可以存储由本文中描述的方法或功能中的任何一个或更多个实施或使用的一组或更多组指令和数据结构(例如,软件)。这些指令(例如,指令1210)在由处理器1204执行时使各种操作实现所公开的示例。
可以经由网络接口设备(例如,通信部件1238中包括的网络接口部件),使用传输介质并且使用若干公知的传输协议中的任意一种传输协议(例如,超文本传输协议(HTTP)),通过网络1222来发送或接收指令1210。类似地,可以使用传输介质经由到设备1224的耦接(例如,对等耦接)来发送或接收指令1210。
软件架构
图13是示出软件架构1304的框图1300,该软件架构1304可以安装在本文所描述的任何一个或更多个设备上。软件架构1304由硬件例如包括处理器1320、存储器1326和I/O部件1338的机器1302支持。在该示例中,可以将软件架构1304概念化为层的堆栈,在该层的堆栈中,每个层提供特定的功能。软件架构1304包括诸如操作系统1312、库1310、框架1308和应用1306的层。在操作上,应用1306通过软件堆栈来激活API调用1350并响应于API调用1350接收消息1352。
操作系统1312管理硬件资源并提供公共服务。操作系统1312包括例如核1314、服务1316和驱动器1322。核1314充当硬件层与其他软件层之间的抽象层。例如,核1314提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置以及其他功能。服务1316可以为其他软件层提供其他公共服务。驱动程序1322负责控制底层硬件或与底层硬件对接。例如,驱动器1322可以包括显示驱动器、摄像装置驱动器、低能量驱动器、闪存驱动器、串行通信驱动器(例如,USB驱动器)、驱动器、音频驱动器、电力管理驱动器等。
库1310提供由应用1306使用的公共低级基础设施。库1310可以包括系统库1318(例如,C标准库),系统库1318提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库1310可以包括API库1324,例如媒体库(例如,用于支持各种媒体格式的呈现和操作的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以二维(2D)和三维(3D)进行呈现的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库1310还可以包括多种其他库1328,以向应用1306提供许多其他API。
框架1308提供由应用1306使用的公共高级基础设施。例如,框架1308提供各种图形用户界面(GUI)功能、高级资源管理和高级定位服务。框架1308可以提供可由应用1306使用的广泛的其他API,其中的一些API可以专用于特定的操作系统或平台。
在示例中,应用1306可以包括家庭应用1336、联系人应用1330、浏览器应用1332、书籍阅读器应用1334、定位应用1342、媒体应用1344、消息收发应用1346、游戏应用1348和诸如第三方应用1340的各种各样的其他应用。应用1306是执行程序中限定的功能的程序。可以使用各种编程语言来创建以各种方式构造的应用1306中的一个或更多个,所述编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在特定示例中,第三方应用1340(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用)可以是在诸如IOSTM、ANDROIDTMPhone的移动操作系统或另外的移动操作系统上运行的移动软件。在该示例中,第三方应用1340可以激活由操作系统1312提供的API调用1350以有助于本文中描述的功能。
术语表
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质并且包括数字或模拟通信信号或其他无形介质以便于这些指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。
“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全局移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强数据速率的GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“部件”是指具有以下边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由它们的接口与其他部件对接以执行机器处理。部件可以是被设计用于与其他部件一起使用的封装功能硬件单元以及通常执行相关功能的特定功能的程序的一部分。部件可以构成软件组件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行如本文描述的某些操作的硬件部件。也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的专用处理器。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为特定的机器(或机器的特定部件),该特定的机器(或机器的特定部件)被唯一地定制成执行配置的功能并且不再是通用处理器。将理解,可以出于成本和时间考虑来决定机械地、在专用且永久配置的电路中还是在临时配置(例如,由软件配置)的电路中实现硬件部件。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成涵盖有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中所描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实施方式,硬件部件中的每一个无需在任一时刻处均被配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间处被配置成分别不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置特定处理器或处理器,以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)的信号传输来实现通信。在其中多个硬件部件在不同时间处被配置或被实例化的实施方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在通信上耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间处访问存储器设备,以检索和处理所存储的输出。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的集合)。在本文中描述的示例方法的各种操作可以至少部分地由(例如,通过软件)临时地配置或永久地配置以执行相关操作的一个或更多个处理器来执行。无论是临时配置还是永久配置,这样的处理器可以构成进行操作以执行本文描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或更多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器1204或处理器1320或处理器实现的部件来执行。此外,所述一个或更多个处理器还可以操作成支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由计算机组(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)进行访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是跨若干机器被部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理定位中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨若干地理定位而分布。
“计算机可读存储介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/调制数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。
“短暂消息”是指在时间有限的持续时间内可访问的消息。电子邮件消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,消息都是暂时的。
“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,诸如内部硬盘和可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物并且可以在本公开内容中互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,所述载波、调制数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”意指使其特性中的一个或更多个特性以将信息编码在信号中的方式来设置或改变的信号。术语“传输介质”和“信号介质”指相同的事物并且可以在本公开内容中互换使用。

Claims (20)

1.一种在计算设备上的消息收发应用中提供对话界面的方法,所述对话界面被呈现给正在所述消息收发应用上进行的对话中的参与者,所述方法包括:
确定至少两个外部资源的状态,所述至少两个外部资源已由所述参与者中的一个或更多个参与者从所述消息收发应用的上下文内访问;
在所述对话界面中显示外部资源通知界面,所述外部资源通知界面包括与所述至少两个外部资源对应的图标;
基于所述至少两个外部资源中的任何外部资源为活动的来显示第一状态指示器,所述第一状态指示器包括围绕所述外部资源通知界面定位的阴影;
基于与所述至少两个外部资源有关的另外状态的发生来显示第二状态指示器,所述第二状态指示器被定位在与所述至少两个外部资源对应的图标之一处;
接收对所述外部资源通知界面的用户选择;以及
响应于接收到对所述外部资源通知界面的用户选择,显示包括与所述至少两个外部资源对应的用户可选择单元格的列表界面。
2.根据权利要求1所述的方法,其中,所述列表界面中的用户可选择单元格首先按照当前活动的外部资源并且然后按照新近活动的外部资源进行排序。
3.根据权利要求1所述的方法,其中,所述对话界面包括文本输入区域、在所述文本输入区域上方的呈现区域,所述呈现区域示出与群组对话中的参与者对应的视觉标识符,并且其中,所述外部资源通知界面与所述呈现区域相邻地或交叠地定位。
4.根据权利要求1所述的方法,还包括:
接收特定参与者对特定外部资源的用户选择;
为所述特定参与者访问所述特定外部资源;以及
根据所述特定外部资源的新活动状态,为其他参与者更新所述外部资源通知界面和所述列表界面。
5.根据权利要求4所述的方法,其中,将所述列表界面中的与所述特定外部资源对应的用户可选择单元格更新为包括所述特定参与者的名称。
6.根据权利要求4所述的方法,其中,所述列表界面中的与所述特定外部资源对应的用户可选择单元格包括动作召唤按钮,所述动作召唤按钮用于由所述对话中的在所述特定外部资源中不活动的其他参与者来加入所述特定外部资源。
7.根据权利要求4所述的方法,还包括:
通过在所述外部资源通知界面中的第一位置显示与所述特定外部资源对应的图标来更新所述外部资源通知界面。
8.根据权利要求4所述的方法,还包括:
利用状态指示器更新所述外部资源通知界面,所述状态指示器指示与所述外部资源通知界面中的图标对应的所述外部资源中的至少一个外部资源对于所述对话中的至少一个参与者是活动的。
9.根据权利要求1所述的方法,还包括:
接收与从所述列表界面中撤销选择的不活动外部资源有关的用户输入;以及
从所述列表界面中移除与所述选择的不活动外部资源对应的用户可选择单元格。
10.一种系统,包括:
机器的一个或更多个处理器;以及
存储器,其存储用于在消息收发应用中提供对话界面的指令,所述对话界面被呈现给正在所述消息收发应用上进行的对话中的参与者,所述指令在由所述一个或更多个处理器中的至少一个处理器执行时,使所述机器执行操作,所述操作包括:
确定至少两个外部资源的状态,所述至少两个外部资源已由所述参与者中的一个或更多个参与者从所述消息收发应用的上下文内访问;
使得在所述对话界面中显示外部资源通知界面,所述外部资源通知界面包括与所述至少两个外部资源对应的图标;
使得基于所述至少两个外部资源中的任何外部资源为活动的来显示第一状态指示器,所述第一状态指示器包括围绕所述外部资源通知界面定位的阴影;
使得基于与所述至少两个外部资源有关的另外状态的发生来显示第二状态指示器,所述第二状态指示器被定位在与所述至少两个外部资源对应的图标之一处;
接收对所述外部资源通知界面的用户选择;以及
响应于接收到对所述外部资源通知界面的用户选择,使得显示列表界面,所述列表界面包括与所述至少两个外部资源对应的用户可选择单元格。
11.根据权利要求10所述的系统,所述操作还包括:
接收特定参与者对特定外部资源的用户选择;
为所述特定参与者访问所述特定外部资源;以及
根据所述特定外部资源的新活动状态,为其他参与者更新所述外部资源通知界面和所述列表界面。
12.根据权利要求11所述的系统,其中,将所述列表界面中的与所述特定外部资源对应的用户可选择单元格更新为包括所述特定参与者的名称。
13.根据权利要求11所述的系统,其中,所述列表界面中的与所述特定外部资源对应的用户可选择单元格能够由所述对话中的在所述特定外部资源中不活动的其他参与者选择,以加入所述特定外部资源。
14.根据权利要求11所述的系统,还包括以下的操作:
利用状态通知更新所述外部资源通知界面,所述状态通知指示与所述外部资源通知界面中的图标对应的所述外部资源中的至少一个外部资源对于所述对话中的至少一个参与者是活动的。
15.根据权利要求10所述的系统,还包括以下的操作:
接收与从所述列表界面中撤销选择的不活动外部资源有关的用户输入;以及
从所述列表界面中移除与所述选择的不活动外部资源对应的用户可选择单元格。
16.一种包含指令的非暂态机器可读存储介质,所述指令用于在消息收发应用中提供对话界面,所述对话界面被呈现给正在所述消息收发应用上进行的对话中的参与者,所述指令在由设备执行时使所述设备执行操作,所述操作包括:
确定至少两个外部资源的状态,所述至少两个外部资源已由所述参与者中的一个或更多个参与者从所述消息收发应用的上下文内访问;
使得在所述对话界面中显示外部资源通知界面,所述外部资源通知界面包括与所述至少两个外部资源对应的图标;
使得基于所述至少两个外部资源中的任何外部资源为活动的来显示第一状态指示器,所述第一状态指示器包括围绕所述外部资源通知界面定位的阴影;
使得基于与所述至少两个外部资源有关的另外状态的发生来显示第二状态指示器,所述第二状态指示器被定位在与所述至少两个外部资源对应的图标之一处;
接收对所述外部资源通知界面的用户选择;以及
响应于接收到对所述外部资源通知界面的用户选择,使得显示列表界面,所述列表界面包括与所述至少两个外部资源对应的用户可选择单元格。
17.根据权利要求16所述的非暂态机器可读存储介质,其中,所述对话界面包括文本输入区域、在所述文本输入区域上方的呈现区域,所述呈现区域示出与群组对话中的参与者对应的视觉标识符,并且其中,所述外部资源通知界面与所述呈现区域相邻地或交叠地定位。
18.根据权利要求16所述的非暂态机器可读存储介质,所述操作还包括:
接收特定参与者对特定外部资源的用户选择;
为所述特定参与者访问所述特定外部资源;以及
根据所述特定外部资源的新活动状态,为其他参与者更新所述外部资源通知界面和所述列表界面。
19.根据权利要求18所述的非暂态机器可读存储介质,所述操作还包括:
通过在所述外部资源通知界面中的第一位置显示与所述特定外部资源对应的图标来更新所述外部资源通知界面。
20.根据权利要求18所述的非暂态机器可读存储介质,所述操作还包括:
利用状态通知更新所述外部资源通知界面,所述状态通知指示与所述外部资源通知界面中的图标对应的所述外部资源中的至少一个外部资源对于对话中的至少一个参与者是活动的。
CN202180048954.8A 2020-06-10 2021-06-01 包括外部资源停靠栏和抽屉的消息收发系统 Active CN115777194B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063037460P 2020-06-10 2020-06-10
US63/037,460 2020-06-10
US16/948,429 2020-09-17
US16/948,429 US11356392B2 (en) 2020-06-10 2020-09-17 Messaging system including an external-resource dock and drawer
PCT/US2021/035094 WO2021252218A1 (en) 2020-06-10 2021-06-01 Messaging system including external-resource dock and drawer

Publications (2)

Publication Number Publication Date
CN115777194A CN115777194A (zh) 2023-03-10
CN115777194B true CN115777194B (zh) 2024-03-22

Family

ID=78826168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180048954.8A Active CN115777194B (zh) 2020-06-10 2021-06-01 包括外部资源停靠栏和抽屉的消息收发系统

Country Status (5)

Country Link
US (2) US11356392B2 (zh)
EP (1) EP4165863A1 (zh)
KR (1) KR20230022983A (zh)
CN (1) CN115777194B (zh)
WO (1) WO2021252218A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11122094B2 (en) 2017-07-28 2021-09-14 Snap Inc. Software application manager for messaging applications
US11103795B1 (en) 2018-10-31 2021-08-31 Snap Inc. Game drawer
US11356392B2 (en) 2020-06-10 2022-06-07 Snap Inc. Messaging system including an external-resource dock and drawer
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
US11714872B2 (en) * 2021-06-29 2023-08-01 Microsoft Technology Licensing, Llc Efficiently accessing references to recently used resources
US20230315262A1 (en) * 2022-03-30 2023-10-05 Microsoft Technology Licensing, Llc Sharing multiple applications in unified communication
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594799A (zh) * 2011-01-11 2012-07-18 恩希软件株式会社 一种在移动平台中的通过聊天的游戏邀请方法
CN110321192A (zh) * 2019-04-29 2019-10-11 上海连尚网络科技有限公司 一种呈现寄宿程序的方法与设备
CN110945858A (zh) * 2017-07-28 2020-03-31 斯纳普公司 消息传递应用的聊天停靠栏

Family Cites Families (250)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7859551B2 (en) 1993-10-15 2010-12-28 Bulman Richard L Object customization and presentation system
US5880731A (en) 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US6023270A (en) 1997-11-17 2000-02-08 International Business Machines Corporation Delivery of objects in a virtual world using a descriptive container
US6842779B1 (en) 1998-03-11 2005-01-11 Yasuo Nishizawa Agent accessory tool cooperating with integrated application on WEB server by HTTP protocol
US20020067362A1 (en) 1998-11-06 2002-06-06 Agostino Nocera Luciano Pasquale Method and system generating an avatar animation transform using a neutral face image
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
US6772195B1 (en) 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
JP2001230801A (ja) 2000-02-14 2001-08-24 Sony Corp 通信システムとその方法、通信サービスサーバおよび通信端末装置
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
FI110740B (fi) 2000-09-08 2003-03-14 Nokia Corp Neuvottelupuhelu
US20050206610A1 (en) 2000-09-29 2005-09-22 Gary Gerard Cordelli Computer-"reflected" (avatar) mirror
US8117281B2 (en) 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US6910186B2 (en) 2000-12-08 2005-06-21 Kyunam Kim Graphic chatting with organizational avatars
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US6789109B2 (en) 2001-02-22 2004-09-07 Sony Corporation Collaborative computer-based production system including annotation, versioning and remote interaction
CN100421445C (zh) 2002-01-23 2008-09-24 英华达(上海)电子有限公司 通过讯息传送接收实现多方同时聊天互动的方法
EP1495447A1 (en) 2002-03-26 2005-01-12 KIM, So-Woon System and method for 3-dimension simulation of glasses
KR100493525B1 (ko) 2002-05-03 2005-06-07 안현기 아바타 메일 제공시스템 및 방법
US8495503B2 (en) 2002-06-27 2013-07-23 International Business Machines Corporation Indicating the context of a communication
US7275215B2 (en) 2002-07-29 2007-09-25 Cerulean Studios, Llc System and method for managing contacts in an instant messaging environment
US7266188B2 (en) 2002-08-08 2007-09-04 International Business Machines Corporation Apparatus and method for securing a conference call via personal user ID and passcode
JP3638146B2 (ja) 2002-10-22 2005-04-13 パイオニア株式会社 テレビ会議システム及びそれに用いる端末、接続制御方法並びに接続制御プログラム
US7590696B1 (en) 2002-11-18 2009-09-15 Aol Llc Enhanced buddy list using mobile device identifiers
US7386799B1 (en) 2002-11-21 2008-06-10 Forterra Systems, Inc. Cinematic techniques in avatar-centric communication during a multi-user online simulation
US7636755B2 (en) 2002-11-21 2009-12-22 Aol Llc Multiple avatar personalities
US9352222B2 (en) 2002-12-10 2016-05-31 Sony Interactive Entertainment America Llc System and method for capturing text for an online application
US10987597B2 (en) 2002-12-10 2021-04-27 Sony Interactive Entertainment LLC System and method for managing audio and video channels for video game players and spectators
US9339728B2 (en) 2002-12-10 2016-05-17 Sony Interactive Entertainment America Llc System and method for managing audio and video channels for video game players and spectators
US20070168863A1 (en) 2003-03-03 2007-07-19 Aol Llc Interacting avatars in an instant messaging communication session
US7484176B2 (en) 2003-03-03 2009-01-27 Aol Llc, A Delaware Limited Liability Company Reactive avatars
US20070113181A1 (en) 2003-03-03 2007-05-17 Blattner Patrick D Using avatars to communicate real-time information
KR20040091331A (ko) 2003-04-21 2004-10-28 홍지선 자연어처리기술을 이용하여 입력된 문자메시지와 그 문장내용에 상응하는 아바타 표현 방법 및 시스템
US7549924B2 (en) 2003-05-09 2009-06-23 Microsoft Corporation Instant messaging embedded games
KR100762629B1 (ko) 2003-08-26 2007-10-01 삼성전자주식회사 휴대단말기의 백업서비스 처리방법
US7870199B2 (en) * 2003-10-06 2011-01-11 Aol Inc. System and method for seamlessly bringing external services into instant messaging session
US7587755B2 (en) 2004-07-02 2009-09-08 Citrix Systems, Inc. System and method for executing interactive applications with minimal privileges
US7828656B2 (en) 2004-08-31 2010-11-09 Igt Gaming method and apparatus utilizing secondary software applications
US7342587B2 (en) 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7483961B2 (en) 2004-11-23 2009-01-27 Microsoft Corporation Method and apparatus for controlling execution of an application
US8037139B1 (en) 2004-12-21 2011-10-11 Aol Inc. Multi-modal participant lists
US7468729B1 (en) 2004-12-21 2008-12-23 Aol Llc, A Delaware Limited Liability Company Using an avatar to generate user profile information
KR100714192B1 (ko) 2005-04-08 2007-05-02 엔에이치엔(주) 노출 부위가 가변되는 아바타 제공 시스템 및 그 방법
US20070064851A1 (en) 2005-09-02 2007-03-22 Sbc Knowledge Ventures Lp Method for synchronizing a customer edge router or customer premise equipment associated therewith
WO2006124922A2 (en) * 2005-05-17 2006-11-23 Super Computer International Collaborative online gaming system and method
US20060294465A1 (en) 2005-06-22 2006-12-28 Comverse, Inc. Method and system for creating and distributing mobile avatars
US8963926B2 (en) 2006-07-11 2015-02-24 Pandoodle Corporation User customized animated video and method for making the same
US7775885B2 (en) 2005-10-14 2010-08-17 Leviathan Entertainment, Llc Event-driven alteration of avatars
BRPI0620945B1 (pt) 2005-12-31 2018-11-27 Tencent Tech Shenzhen Co Ltd método de exibição de um avatar 3-d e sistema de exibição de um avatar 3-d
US20070198637A1 (en) 2006-01-04 2007-08-23 Scott Deboy Conferencing system with data file management
US20070176921A1 (en) 2006-01-27 2007-08-02 Koji Iwasaki System of developing urban landscape by using electronic data
WO2007093813A1 (en) 2006-02-16 2007-08-23 Weeworld Limited Portable account information
WO2007130693A2 (en) 2006-05-07 2007-11-15 Sony Computer Entertainment Inc. Methods and systems for processing an interchange of real time effects during video communication
WO2007134402A1 (en) 2006-05-24 2007-11-29 Mor(F) Dynamics Pty Ltd Instant messaging system
US7685413B2 (en) 2006-11-01 2010-03-23 Dell Products L.P. Use driven configurator and system optimization
US20080158222A1 (en) 2006-12-29 2008-07-03 Motorola, Inc. Apparatus and Methods for Selecting and Customizing Avatars for Interactive Kiosks
US8504926B2 (en) 2007-01-17 2013-08-06 Lupus Labs Ug Model based avatars for virtual presence
GB2447094B (en) 2007-03-01 2010-03-10 Sony Comp Entertainment Europe Entertainment device and method
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
ATE555433T1 (de) 2007-04-26 2012-05-15 Ford Global Tech Llc Emotives beratungssystem und verfahren
CN101071457B (zh) 2007-04-28 2010-05-26 腾讯科技(深圳)有限公司 一种网络游戏中改变角色形象的方法、装置以及服务器
WO2008141125A1 (en) 2007-05-10 2008-11-20 The Trustees Of Columbia University In The City Of New York Methods and systems for creating speech-enabled avatars
WO2008151424A1 (en) 2007-06-11 2008-12-18 Darwin Dimensions Inc. Metadata for avatar generation in virtual environments
GB2450757A (en) 2007-07-06 2009-01-07 Sony Comp Entertainment Europe Avatar customisation, transmission and reception
US20090016617A1 (en) 2007-07-13 2009-01-15 Samsung Electronics Co., Ltd. Sender dependent messaging viewer
US8726194B2 (en) 2007-07-27 2014-05-13 Qualcomm Incorporated Item selection using enhanced control
US8146005B2 (en) 2007-08-07 2012-03-27 International Business Machines Corporation Creating a customized avatar that reflects a user's distinguishable attributes
US20090055484A1 (en) 2007-08-20 2009-02-26 Thanh Vuong System and method for representation of electronic mail users using avatars
US20090070688A1 (en) 2007-09-07 2009-03-12 Motorola, Inc. Method and apparatus for managing interactions
US8924250B2 (en) 2007-09-13 2014-12-30 International Business Machines Corporation Advertising in virtual environments based on crowd statistics
WO2009046342A1 (en) 2007-10-04 2009-04-09 Playspan, Inc. Apparatus and method for virtual world item searching
US20090106672A1 (en) 2007-10-18 2009-04-23 Sony Ericsson Mobile Communications Ab Virtual world avatar activity governed by person's real life activity
US8930472B2 (en) * 2007-10-24 2015-01-06 Social Communications Company Promoting communicant interactions in a network communications environment
US8892999B2 (en) 2007-11-30 2014-11-18 Nike, Inc. Interactive avatar for social network services
US8151191B2 (en) 2007-12-07 2012-04-03 International Business Machines Corporation Managing objectionable material in 3D immersive virtual worlds
US20090158170A1 (en) 2007-12-14 2009-06-18 Rajesh Narayanan Automatic profile-based avatar generation
JP4605478B2 (ja) 2007-12-19 2011-01-05 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US20090177976A1 (en) 2008-01-09 2009-07-09 Bokor Brian R Managing and presenting avatar mood effects in a virtual world
US8495505B2 (en) 2008-01-10 2013-07-23 International Business Machines Corporation Perspective based tagging and visualization of avatars in a virtual world
EP2263190A2 (en) 2008-02-13 2010-12-22 Ubisoft Entertainment S.A. Live-action image capture
EP3352107A1 (en) 2008-03-03 2018-07-25 NIKE Innovate C.V. Interactive athletic equipment system
US9744466B2 (en) 2008-03-13 2017-08-29 Mattel, Inc. Widgetized avatar and a method and system of creating and using same
US8832552B2 (en) 2008-04-03 2014-09-09 Nokia Corporation Automated selection of avatar characteristics for groups
US20090265604A1 (en) 2008-04-21 2009-10-22 Microsoft Corporation Graphical representation of social network vitality
US20090300525A1 (en) 2008-05-27 2009-12-03 Jolliff Maria Elena Romera Method and system for automatically updating avatar to indicate user's status
US20090303984A1 (en) 2008-06-09 2009-12-10 Clark Jason T System and method for private conversation in a public space of a virtual world
US8095878B2 (en) 2008-06-23 2012-01-10 International Business Machines Corporation Method for spell check based upon target and presence of avatars within a virtual environment
US8839327B2 (en) 2008-06-25 2014-09-16 At&T Intellectual Property Ii, Lp Method and apparatus for presenting media programs
WO2010000300A1 (en) 2008-06-30 2010-01-07 Accenture Global Services Gmbh Gaming system
US20120246585A9 (en) 2008-07-14 2012-09-27 Microsoft Corporation System for editing an avatar
AU2009276721B2 (en) 2008-07-28 2015-06-18 Breakthrough Performancetech, Llc Systems and methods for computerized interactive skill training
US8384719B2 (en) 2008-08-01 2013-02-26 Microsoft Corporation Avatar items and animations
US8832201B2 (en) 2008-08-18 2014-09-09 International Business Machines Corporation Method, system and program product for providing selective enhanced privacy and control features to one or more portions of an electronic message
US20100131866A1 (en) 2008-09-11 2010-05-27 Rob Nielsen Method and system for web-based teleconferencing
US8648865B2 (en) 2008-09-26 2014-02-11 International Business Machines Corporation Variable rendering of virtual universe avatars
US8108774B2 (en) 2008-09-26 2012-01-31 International Business Machines Corporation Avatar appearance transformation in a virtual universe
US8869197B2 (en) 2008-10-01 2014-10-21 At&T Intellectual Property I, Lp Presentation of an avatar in a media communication system
US8683354B2 (en) 2008-10-16 2014-03-25 At&T Intellectual Property I, L.P. System and method for distributing an avatar
US20100115426A1 (en) 2008-11-05 2010-05-06 Yahoo! Inc. Avatar environments
US8745152B2 (en) 2008-11-06 2014-06-03 Disney Enterprises, Inc. System and method for server-side avatar pre-rendering
US8458601B2 (en) 2008-12-04 2013-06-04 International Business Machines Corporation System and method for item inquiry and information presentation via standard communication paths
WO2010074786A2 (en) 2008-12-04 2010-07-01 Total Immersion Software, Inc. System and methods for dynamically injecting expression information into an animated facial mesh
US20100162149A1 (en) 2008-12-24 2010-06-24 At&T Intellectual Property I, L.P. Systems and Methods to Provide Location Information
US9105014B2 (en) 2009-02-03 2015-08-11 International Business Machines Corporation Interactive avatar in messaging environment
KR101558553B1 (ko) 2009-02-18 2015-10-08 삼성전자 주식회사 아바타 얼굴 표정 제어장치
US20100227682A1 (en) 2009-03-04 2010-09-09 Microsoft Corporation Awarding of avatar items in video game environment
JP5669418B2 (ja) * 2009-03-30 2015-02-12 アバイア インク. グラフィカルな接続表示を用いて通信セッションを要求する来入するリクエストを管理するシステムと方法。
US9602444B2 (en) * 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US20110093780A1 (en) 2009-10-16 2011-04-21 Microsoft Corporation Advertising avatar
KR20110070056A (ko) 2009-12-18 2011-06-24 한국전자통신연구원 사용자 맞춤형 고품질 3d 아바타 생성 방법 및 그 장치
TWI434227B (zh) 2009-12-29 2014-04-11 Ind Tech Res Inst 動畫產生系統及方法
US9747604B2 (en) * 2010-01-22 2017-08-29 Google Inc. Automated agent for social media systems
US8484158B2 (en) 2010-02-01 2013-07-09 International Business Machines Corporation Managing information about avatars across virtual worlds
US20110239136A1 (en) 2010-03-10 2011-09-29 Oddmobb, Inc. Instantiating widgets into a virtual social venue
US9086776B2 (en) 2010-03-29 2015-07-21 Microsoft Technology Licensing, Llc Modifying avatar attributes
TWI439960B (zh) 2010-04-07 2014-06-01 Apple Inc 虛擬使用者編輯環境
US8692830B2 (en) 2010-06-01 2014-04-08 Apple Inc. Automatic avatar creation
US8564621B2 (en) 2010-08-11 2013-10-22 International Business Machines Corporation Replicating changes between corresponding objects
JP2012065263A (ja) 2010-09-17 2012-03-29 Olympus Imaging Corp 撮影機器
KR101514327B1 (ko) 2010-11-04 2015-04-22 한국전자통신연구원 얼굴 아바타 생성 장치 및 방법
US8706824B2 (en) 2011-08-08 2014-04-22 Facebook, Inc. Rescinding messages in a messaging system with multiple messaging channels
US8880627B2 (en) 2011-08-08 2014-11-04 Facebook, Inc. Providing transparency in a messaging system with multiple messaging channels
US20120124458A1 (en) 2010-11-17 2012-05-17 Nazareno Brier Cruzada Social networking website & web-based system for collecting & presenting real-time user generated information on parties & events.
US20120130717A1 (en) 2010-11-19 2012-05-24 Microsoft Corporation Real-time Animation for an Expressive Avatar
KR20120059994A (ko) 2010-12-01 2012-06-11 삼성전자주식회사 표정 제어점을 이용한 아바타 제어 장치 및 방법
KR101445263B1 (ko) 2010-12-22 2014-09-30 주식회사 케이티 맞춤형 콘텐츠 제공 시스템 및 방법
US9277502B2 (en) 2011-02-02 2016-03-01 Facebook, Inc. Hibernate mode for chat service
US9839844B2 (en) 2011-03-01 2017-12-12 Disney Enterprises, Inc. Sprite strip renderer
WO2012126135A1 (en) 2011-03-21 2012-09-27 Intel Corporation Method of augmented makeover with 3d face modeling and landmark alignment
US20130103760A1 (en) 2011-04-11 2013-04-25 Robert K. Golding Location-sensitive virtual identity system, apparatus, method and computer-readable medium
WO2012139276A1 (en) 2011-04-11 2012-10-18 Intel Corporation Avatar facial expression techniques
US8989786B2 (en) 2011-04-21 2015-03-24 Walking Thumbs, Llc System and method for graphical expression during text messaging communications
BR112013029858A2 (pt) 2011-05-26 2016-12-20 Google Inc fornecimento de informações contextuais e habilitação de comunicação em grupo para participantes em uma conversa
US9241184B2 (en) 2011-06-01 2016-01-19 At&T Intellectual Property I, L.P. Clothing visualization
US20120311504A1 (en) * 2011-06-03 2012-12-06 Van Os Marcel Extensible architecture for navigating a hierarchy
CN102868588B (zh) 2011-07-07 2016-05-11 腾讯科技(深圳)有限公司 停靠栏的实现方法和装置
CN103765479A (zh) 2011-08-09 2014-04-30 英特尔公司 基于图像的多视点3d脸部生成
KR20130022434A (ko) 2011-08-22 2013-03-07 (주)아이디피쉬 통신단말장치의 감정 컨텐츠 서비스 장치 및 방법, 이를 위한 감정 인지 장치 및 방법, 이를 이용한 감정 컨텐츠를 생성하고 정합하는 장치 및 방법
US20130249948A1 (en) 2011-08-26 2013-09-26 Reincloud Corporation Providing interactive travel content at a display device
US9197427B2 (en) * 2011-08-26 2015-11-24 Salesforce.Com, Inc. Methods and systems for screensharing
US8559980B2 (en) 2011-09-02 2013-10-15 John J. Pujol Method and system for integrated messaging and location services
US9355186B2 (en) 2011-11-01 2016-05-31 Google Inc. Launching applications from webpages
US8890926B2 (en) 2011-11-02 2014-11-18 Microsoft Corporation Automatic identification and representation of most relevant people in meetings
KR101521332B1 (ko) * 2011-11-08 2015-05-20 주식회사 다음카카오 인스턴트 메시징 서비스 및 인스턴트 메시징 서비스로부터 확장된 복수의 서비스들을 제공하는 방법
US9782680B2 (en) 2011-12-09 2017-10-10 Futurewei Technologies, Inc. Persistent customized social media environment
CN102546464B (zh) 2011-12-22 2015-09-09 华为技术有限公司 一种跨im系统的会议方法和系统
WO2013097139A1 (en) 2011-12-29 2013-07-04 Intel Corporation Communication using avatar
US8810513B2 (en) 2012-02-02 2014-08-19 Kodak Alaris Inc. Method for controlling interactive display system
US9489657B2 (en) * 2012-02-21 2016-11-08 Microsoft Technology Licensing, Llc Aggregation and visualization of multiple chat room information
US20130257877A1 (en) 2012-03-30 2013-10-03 Videx, Inc. Systems and Methods for Generating an Interactive Avatar Model
US9402057B2 (en) 2012-04-02 2016-07-26 Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. Interactive avatars for telecommunication systems
US9357174B2 (en) 2012-04-09 2016-05-31 Intel Corporation System and method for avatar management and selection
WO2013166588A1 (en) 2012-05-08 2013-11-14 Bitstrips Inc. System and method for adaptable avatars
JP5497931B2 (ja) 2012-05-30 2014-05-21 株式会社コナミデジタルエンタテインメント アプリケーション装置、アプリケーション装置の制御方法、及びプログラム
AU2013206649A1 (en) 2012-07-05 2014-01-23 Aristocrat Technologies Australia Pty Limited A gaming system and a method of gaming
US20140125678A1 (en) 2012-07-11 2014-05-08 GeriJoy Inc. Virtual Companion
US20140026198A1 (en) 2012-07-23 2014-01-23 Kabushiki Kaisha Toshiba Information processing apparatus and control method
KR101731512B1 (ko) 2012-07-30 2017-05-02 삼성전자주식회사 복수의 문턱값들을 이용하는 혈관 세그먼테이션 방법과 그 방법을 이용한 장치
US10116598B2 (en) 2012-08-15 2018-10-30 Imvu, Inc. System and method for increasing clarity and expressiveness in network communications
US20150206349A1 (en) 2012-08-22 2015-07-23 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
US9461876B2 (en) 2012-08-29 2016-10-04 Loci System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction
WO2014036708A1 (en) 2012-09-06 2014-03-13 Intel Corporation System and method for avatar creation and synchronization
US9314692B2 (en) 2012-09-21 2016-04-19 Luxand, Inc. Method of creating avatar from user submitted image
US9746990B2 (en) 2012-09-28 2017-08-29 Intel Corporation Selectively augmenting communications transmitted by a communication device
US9501942B2 (en) 2012-10-09 2016-11-22 Kc Holdings I Personalized avatar responsive to user physical state and context
US20140129343A1 (en) 2012-11-08 2014-05-08 Microsoft Corporation Dynamic targeted advertising avatar
US9256860B2 (en) 2012-12-07 2016-02-09 International Business Machines Corporation Tracking participation in a shared media session
US9106652B2 (en) 2012-12-18 2015-08-11 International Business Machines Corporation Web conference overstay protection
US9253223B1 (en) 2013-01-23 2016-02-02 Google Inc. Live interaction in persistent conversations
US9990373B2 (en) 2013-02-06 2018-06-05 John A. Fortkort Creation and geospatial placement of avatars based on real-world interactions
US20140279121A1 (en) * 2013-03-12 2014-09-18 Big Fish Games, Inc. Customizable and adjustable pricing of games
US20140274354A1 (en) * 2013-03-12 2014-09-18 Big Fish Games, Inc. Intelligent merchandising of games
US9264463B2 (en) 2013-03-15 2016-02-16 Facebook, Inc. Method and system of managing ephemeral post in a social networking system
CN104995662B (zh) 2013-03-20 2020-08-11 英特尔公司 用于管理化身的设备和方法以及用于动画化化身的设备
WO2014153689A1 (en) 2013-03-29 2014-10-02 Intel Corporation Avatar animation, social networking and touch screen applications
KR102050814B1 (ko) * 2013-04-02 2019-12-02 삼성전자주식회사 그룹 대화에서 사적 대화 제공 장치 및 방법
JP5413934B1 (ja) 2013-05-02 2014-02-12 株式会社 ディー・エヌ・エー プログラム、方法、および、サーバ装置
US9589357B2 (en) 2013-06-04 2017-03-07 Intel Corporation Avatar-based video encoding
US9378576B2 (en) 2013-06-07 2016-06-28 Faceshift Ag Online modeling for real-time facial animation
US20150012842A1 (en) * 2013-07-02 2015-01-08 Google Inc. Communication window display management
US20150033149A1 (en) 2013-07-23 2015-01-29 Saleforce.com, inc. Recording and playback of screen sharing sessions in an information networking environment
JP5809207B2 (ja) * 2013-07-30 2015-11-10 グリー株式会社 メッセージ通信プログラム、メッセージ通信方法及びメッセージ通信システム
US9177410B2 (en) 2013-08-09 2015-11-03 Ayla Mandel System and method for creating avatars or animated sequences using human body features extracted from a still image
US9553832B2 (en) 2013-08-13 2017-01-24 Facebook, Inc. Techniques to interact with an application via messaging
US9706040B2 (en) 2013-10-31 2017-07-11 Udayakumar Kadirvel System and method for facilitating communication via interaction with an avatar
US9508197B2 (en) 2013-11-01 2016-11-29 Microsoft Technology Licensing, Llc Generating an avatar from real time image data
WO2015070416A1 (en) 2013-11-14 2015-05-21 Intel Corporation Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices
US20150163258A1 (en) 2013-12-05 2015-06-11 Facebook, Inc. Indicating User Availability for Communication
US9361510B2 (en) 2013-12-13 2016-06-07 Intel Corporation Efficient facial landmark tracking using online shape regression method
JP2015125567A (ja) * 2013-12-26 2015-07-06 株式会社東芝 電子機器、方法及びプログラム
US10140001B2 (en) 2014-03-24 2018-11-27 Facebook, Inc. Configurable electronic communication element
US9544257B2 (en) 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging
US9503845B2 (en) 2014-04-17 2016-11-22 Paypal, Inc. Image customization to enhance transaction experience
WO2015164951A1 (en) 2014-05-01 2015-11-05 Abbas Mohamad Methods and systems relating to personalized evolving avatars
CA2948922C (en) 2014-05-16 2023-05-09 Nextwave Software Inc. Method and system for conducting ecommerce transactions in messaging via search, discussion and agent prediction
US20160134840A1 (en) 2014-07-28 2016-05-12 Alexa Margaret McCulloch Avatar-Mediated Telepresence Systems with Enhanced Filtering
US10361986B2 (en) * 2014-09-29 2019-07-23 Disney Enterprises, Inc. Gameplay in a chat thread
US20160117665A1 (en) 2014-10-27 2016-04-28 Facebook, Inc. Facilitating initiating payments without a payment credential
US9898849B2 (en) 2014-11-05 2018-02-20 Intel Corporation Facial expression based avatar rendering in video animation and method
US10089604B2 (en) 2014-11-06 2018-10-02 Comigo Ltd. Method and apparatus for managing a joint slide show with one or more remote user terminals
US10225700B2 (en) 2014-12-02 2019-03-05 Facebook, Inc. Techniques for enhancing group communication on a mobile device
KR102374446B1 (ko) 2014-12-11 2022-03-15 인텔 코포레이션 아바타 선택 메커니즘
JP6462386B2 (ja) 2015-02-05 2019-01-30 任天堂株式会社 プログラム、通信端末及び表示方法
WO2016189350A1 (en) * 2015-05-23 2016-12-01 Yogesh Chunilal Rathod Calling to user(s) for real-time sharing, participation, e-commerce, workflow, communication & collaboration in the event of acceptance of call by caller user(s)
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US20170087473A1 (en) 2015-09-29 2017-03-30 Sportsworld, Inc. Virtual environments for managing and interacting with virtual sports leagues
US20170118145A1 (en) 2015-10-21 2017-04-27 Futurefly Ltd. Method of using emoji to control and enrich 3d chat environments
CN115842798A (zh) 2015-12-09 2023-03-24 北京三星通信技术研究有限公司 交互内容信息的处理方法、及相关装置、和终端设备
US10475225B2 (en) 2015-12-18 2019-11-12 Intel Corporation Avatar animation system
CN106910513A (zh) * 2015-12-22 2017-06-30 微软技术许可有限责任公司 情绪智能聊天引擎
US20170199855A1 (en) 2016-01-11 2017-07-13 BuilderFish, LLC System and method for providing a time-based presentation of a user-navigable project model
CN106993227B (zh) 2016-01-20 2020-01-21 腾讯科技(北京)有限公司 一种进行信息展示的方法和装置
US9911073B1 (en) 2016-03-18 2018-03-06 Snap Inc. Facial patterns for optical barcodes
US10389770B2 (en) * 2016-03-24 2019-08-20 Intel Corporation Concurrent network based collaboration sessions
US11465060B2 (en) 2016-04-06 2022-10-11 Roblox Corporation Parties from chat
US20170312634A1 (en) 2016-04-28 2017-11-02 Uraniom System and method for personalized avatar generation, especially for computer games
US11112963B2 (en) * 2016-05-18 2021-09-07 Apple Inc. Devices, methods, and graphical user interfaces for messaging
US10409488B2 (en) * 2016-06-13 2019-09-10 Microsoft Technology Licensing, Llc Intelligent virtual keyboards
KR20160075457A (ko) 2016-06-16 2016-06-29 주식회사 카카오 채팅 메시지를 그룹화하기 위한 방법, 디바이스 및 서버
US10657701B2 (en) 2016-06-30 2020-05-19 Sony Interactive Entertainment Inc. Dynamic entering and leaving of virtual-reality environments navigated by different HMD users
US10573048B2 (en) 2016-07-25 2020-02-25 Oath Inc. Emotional reaction sharing
US20180047200A1 (en) 2016-08-11 2018-02-15 Jibjab Media Inc. Combining user images and computer-generated illustrations to produce personalized animated digital avatars
KR102596477B1 (ko) 2016-09-23 2023-11-02 애플 인크. 아바타 생성 및 편집
US10382382B2 (en) 2016-10-04 2019-08-13 Facebook, Inc. Methods and systems for managing a user profile picture associated with an indication of user status on a social networking system
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
WO2018083694A1 (en) * 2016-11-06 2018-05-11 Keyles Systems Ltd Instant messaging systems and applications
JP6864477B2 (ja) * 2017-01-06 2021-04-28 任天堂株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US10242503B2 (en) 2017-01-09 2019-03-26 Snap Inc. Surface aware lens
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US10681202B2 (en) 2017-02-17 2020-06-09 Whatsapp Inc. Methods and systems for processing an ephemeral content message
US10874950B2 (en) 2017-04-17 2020-12-29 Facebook, Inc. Gameplay threads in messaging applications
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10949872B2 (en) 2017-04-28 2021-03-16 Snap Inc. Methods and systems for server generation of interactive advertising with content collections
US20180329622A1 (en) 2017-05-12 2018-11-15 Apple Inc. Portable Computing Input Devices and Methods
US10404636B2 (en) * 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10437551B1 (en) 2017-06-27 2019-10-08 Twitch Interactive, Inc. Application subset selective audio capture
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US10609210B2 (en) 2017-09-29 2020-03-31 Facebook, Inc. Systems and methods for adaptive and predictable graphical user interfaces
US10657695B2 (en) 2017-10-30 2020-05-19 Snap Inc. Animated chat presence
US10896670B2 (en) * 2017-12-05 2021-01-19 discourse.ai, Inc. System and method for a computer user interface for exploring conversational flow with selectable details
US11052322B1 (en) 2018-10-31 2021-07-06 Snap Inc. In-game status bar
US10913004B1 (en) * 2018-10-31 2021-02-09 Snap Inc. Games in chat
US10778623B1 (en) 2018-10-31 2020-09-15 Snap Inc. Messaging and gaming applications communication platform
US11103795B1 (en) 2018-10-31 2021-08-31 Snap Inc. Game drawer
US10949070B2 (en) * 2019-03-13 2021-03-16 Servicenow, Inc. Customizable mobile application for event management
US11556546B2 (en) * 2019-06-01 2023-01-17 Apple Inc. People suggester using historical interactions on a device
US11144176B2 (en) * 2019-06-01 2021-10-12 Apple Inc. User interfaces for electronic voice communications
US20210044559A1 (en) * 2019-08-09 2021-02-11 Microsoft Technology Licensing, Llc Chat group recommendations for chat applications
US11526661B2 (en) * 2019-11-18 2022-12-13 Monday.com Ltd. Digital processing systems and methods for integrated communications module in tables of collaborative work systems
US11501255B2 (en) * 2020-05-01 2022-11-15 Monday.com Ltd. Digital processing systems and methods for virtual file-based electronic white board in collaborative work systems
US11356392B2 (en) 2020-06-10 2022-06-07 Snap Inc. Messaging system including an external-resource dock and drawer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102594799A (zh) * 2011-01-11 2012-07-18 恩希软件株式会社 一种在移动平台中的通过聊天的游戏邀请方法
CN110945858A (zh) * 2017-07-28 2020-03-31 斯纳普公司 消息传递应用的聊天停靠栏
CN110321192A (zh) * 2019-04-29 2019-10-11 上海连尚网络科技有限公司 一种呈现寄宿程序的方法与设备

Also Published As

Publication number Publication date
EP4165863A1 (en) 2023-04-19
CN115777194A (zh) 2023-03-10
US20210392096A1 (en) 2021-12-16
US11683280B2 (en) 2023-06-20
US11356392B2 (en) 2022-06-07
WO2021252218A1 (en) 2021-12-16
KR20230022983A (ko) 2023-02-16
US20220263779A1 (en) 2022-08-18

Similar Documents

Publication Publication Date Title
CN115777194B (zh) 包括外部资源停靠栏和抽屉的消息收发系统
CN115917506A (zh) 第三方资源授权
US20220417190A1 (en) Chats with micro sound clips
CN117203676A (zh) 可定制的化身生成系统
KR20230009945A (ko) 관련 엔티티들의 캐러셀을 갖는 메시징 시스템
CN116057917A (zh) 记录的声音的缩略图
CN116724314A (zh) 生成式对抗网络操纵的图像效果
CN115699716A (zh) 消息界面扩展系统
CN117337430A (zh) 消息系统内根据扫描操作的快捷方式
CN116194184A (zh) 用于同步用户的图形标记生成系统
CN117501675A (zh) 呈现由消息应用从第三方资源接收的内容
CN116034577A (zh) 上下文应用菜单
US11768587B2 (en) Electronic transaction activated augmented reality experiences
CN117597940A (zh) 用于呈现适用于摄像装置的功能的用户界面
CN117121461A (zh) 用户存在指示数据管理
CN117396849A (zh) 在消息系统内将功能组合成快捷方式
CN116210226A (zh) 基于轮次的协作播放列表
CN116235500A (zh) 生成用于分享到外部应用的媒体内容项
CN116322914A (zh) 用于增强现实连续性的qr生成系统
CN115699715B (zh) 共享至聊天的消息系统
US11855938B2 (en) Tokens in a messaging application
US20230393715A1 (en) Electronic transaction activated augmented reality experiences
CN117136533A (zh) 用户存在指示数据管理
CN117795931A (zh) 组合的读取和反应消息
CN115699715A (zh) 共享至聊天的消息系统

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
GR01 Patent grant
GR01 Patent grant