一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

消息线程优先化界面的制作方法

2022-03-19 16:21:26 来源:中国专利 TAG:

消息线程优先化界面
1.优先权要求
2.本技术要求于2019年8月5日提交的美国专利申请序列号16/532,179的优先权,其通过引用将全部内容并入本文。
技术领域
3.本公开的实施例总体上涉及图形用户界面,并且更具体地涉及呈现在图形用户界面内的界面元素。


背景技术:

4.图形用户界面(gui)是一种用户界面形式,它允许用户通过图形图标和视觉指示符,而不是纯基于文本的用户界面、键入的命令标签或文本导航,来与电子设备交互。
5.即时消息传递(im)技术是一种在线聊天,它通过互联网提供实时文本传输。短消息通常通过相应的客户端设备在各方之间传输并在gui内呈现。一些im应用可以使用推送技术来提供实时文本,该文本如消息被组成的那样逐字符地被发送。即时消息传递会话通常被称为“消息线程”,其中,消息线程可以各自包括按时间顺序显示的一系列消息。
附图说明
6.为了轻松识别任何特定元素或行为的讨论,参考编号中的一个或多个最高位是指首次引入该元素的附图编号。
7.图1是示出根据一些实施例的用于通过网络交换数据(例如,消息和相关联内容)的示例消息传递系统的框图,其中消息传递系统包括消息优先化系统。
8.图2是示出根据示例实施例的关于消息传递系统的进一步细节的框图。
9.图3是示出根据某些示例实施例的消息优先化系统的各种模块的框图。
10.图4是示出根据某些示例实施例的用于将消息线程的显示分配到gui中的预定义位置处的可分配区域的方法的流程图。
11.图5是示出根据某些示例实施例的用于呈现通知的方法的流程图。
12.图6是示出根据某些示例实施例的用于将消息线程的显示分配到gui中的预定义位置处的可分配区域的方法的流程图。
13.图7是示出根据某些示例实施例的用于将消息线程的显示分配到gui中的预定义位置处的可分配区域的方法的流程图。
14.图8a/b是描绘根据某些示例实施例的消息优先化界面的界面状态的界面流程图。
15.图9是描绘根据某些示例实施例的消息优先化界面的界面图。
16.图10是示出可结合在此描述的各种硬件架构使用并用于实现各种实施例的代表性软件架构的框图。
17.图11是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此讨论的任何一种或多种方法的机器的组件的框图。
具体实施方式
18.如上所述,gui是一种用户界面形式,该用户界面允许用户通过图形图标和视觉指示符而不是纯基于文本的用户界面、键入的命令标签或文本导航来与电子设备交互。消息传递应用通常在gui内向用户呈现消息线程,该gui被配置为以有组织的方式呈现消息线程,从而允许用户轻松返回到他们上次中断的对话。这些消息线程通常如用户接收它们的那样按时间顺序被呈现给用户。
19.随着对消息传递应用的依赖增加,用户可以发送和接收消息的速度也增加,导致大量消息呈现在客户端设备处的gui的消息馈送内。结果,由于消息线程在消息馈送中被最近传入的消息下推,用户可能会忘记他们最喜欢的对话(即消息线程)。因此,通过向用户提供访问那些对话的快速和方便的手段,使用户能够将一个或多个他们最喜欢的对话(即,消息线程)分配到消息馈送内的预定义位置的界面将是有益的。虽然消息馈送的其余部分可以基于时间排序顺序(基于与消息相关联的时间戳)填充和更新,但分配到预定义位置的消息可能保持“固定”到这些位置以便快速访问。
20.在此描述的示例实施例涉及用于消息优先化界面的系统和方法,以执行包括以下操作的操作:访问与用户账户相关联的消息库,其中消息库包括多个消息线程;生成gui,该gui包括在gui中的第一位置处的可分配区域,以及在gui内的第二位置处的多个消息线程的呈现;经由gui接收从多个消息线程中选择或以其它方式识别特定消息线程的输入;以及响应于选择或识别特定消息线程的输入,将选择的消息线程分配到gui中的第一位置处的可分配区域。
21.根据某些示例实施例,消息线程可以各自包括从一个或多个发送者接收的一系列消息。例如,消息线程可以包括一对一的消息线程,以及一对多的消息线程。在分配到预定义区域的消息线程中接收的后续消息可以在gui的预定义区域内作为通知被呈现给用户。
22.在一些实施例中,消息线程的显示可以包括参与消息线程的用户的一个或多个用户标识符,以及基于在消息线程中接收的最近消息的时间戳的时间指示符。响应于将消息线程分配到可分配区域,消息优先化界面可以将一个或多个图形图标指派给消息线程的显示,以提供消息线程已被固定到gui中与可分配区域对应的第一位置的指示。例如,该一个或多个图形图标可以包括表情符号或表情符号的组合。
23.根据某些示例实施例,经由gui接收从多个消息线程中选择或以其它方式识别特定消息线程的输入可以包括接收一个或多个用户参与所选消息线程的指示。例如,第一用户可以提供选择与第二用户对应的用户标识符的输入,该第二用户参与与第一用户的消息线程。作为响应,基于与第二用户对应的用户标识符的选择,消息优先化界面可以识别在第一用户和第二用户之间的消息线程,并将消息线程分配到在gui内的可分配区域。
24.在一些实施例中,响应于从第一用户接收输入以将在第一用户和第二用户之间的消息线程分配到在gui中的可分配区域,消息优先化界面可以导致显示指示消息线程已被优先化给第二用户的通知。该通知例如可以包括显示第一用户和第二用户的用户标识符,或者由第一用户和第二用户选择的共享标识符。
25.在一些实施例中,消息优先化界面可以检测到第一用户和第二用户独立地提供了将共享消息线程分配到对应gui内的可分配区域的输入。响应于检测到第一用户和第二用户二者都将共享消息线程分配到它们对应的gui的可分配区域,消息优先化界面可以呈现
包括第一用户和第二用户的用户标识符的通知。
26.根据某些示例实施例,用户可以通过提供从可分配区域释放消息线程的显式输入,或者通过提供将另一消息线程分配到同一可分配区域的输入,从该可分配区域释放消息线程。响应于为可分配区域释放消息线程,消息优先化界面可以确定消息线程的最近消息的时间戳并且基于时间戳将消息线程移动到多个消息线程的呈现中的位置。
27.从用户角度考虑说明性示例。用户(用户a)可以访问包括用户参与的多个消息线程的消息馈送,其中每个消息线程包括参与与用户a的消息线程的一个或多个用户。消息优先化界面可以生成并导致显示多个消息线程的呈现,其中多个消息线程的呈现是基于时间排序顺序,使得用户最近参与的消息线程(即,发送或接收消息)被呈现得更高(即更靠近消息馈送的顶部)。
28.用户a可以识别特别重要的消息线程并且选择将该消息线程固定到相对于多个消息线程的呈现的预定义位置处的可分配区域。用户a提供显式地选择消息线程并将其移动到gui中的可分配区域(即拖放)的输入,或者可以提供选择可分配区域的输入,并且然后通过下拉菜单将消息线程分配到可分配区域。在一些实施例中,用户a可以选择或识别参与消息线程的第二用户的用户标识符,以便将在用户a和第二用户之间共享的消息线程分配到可分配区域。
29.消息优先化界面将消息线程的显示移动到可分配区域并且在消息线程的显示内呈现一个或多个图形图标,诸如图钉图标或表情符号。分配到可分配区域的消息线程因此可以保持“固定”到可分配区域,而与用户a接收到的后续消息的时间戳无关。
30.图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用。每个消息传递客户端应用104经由网络106(例如,互联网)通信地耦合到消息传递客户端应用104的其它实例和消息传递服务器系统108。
31.因此,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应用104以及与消息传递服务器系统108通信和交换数据。在消息传递客户端应用104之间以及在消息传递客户端应用104和消息传递服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、视频或其它多媒体数据)。
32.消息传递服务器系统108经由网络106向具体消息传递客户端应用104提供服务器端功能。虽然消息传递系统100的某些功能在此被描述为由消息传递客户端应用104或由消息传递服务器系统108来执行,但是可以理解,消息传递客户端应用104或消息传递服务器系统108内的某些功能的位置是设计选择。例如,技术上优选的是在消息传递服务器系统108内初始部署某些技术和功能,但稍后在客户端设备102具有足够的处理能力的情况下将该技术和功能迁移到消息传递客户端应用104。
33.消息传递服务器系统108支持提供给消息传递客户端应用104的各种服务和操作。此类操作包括向由消息传递客户端应用104发送数据、从消息传递客户端应用104接收数据以及处理由消息传递客户端应用104生成的数据。在一些实施例中,作为示例,该数据包括消息内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持久性条件、社交网络信息和实时事件信息。在其它实施例中,使用其它数据。消息传递系统100内的数据交换通过经由消息传递客户端应用104的gui可用的功能来调用和控制。
34.现在具体转到消息传递服务器系统108,应用程序接口(api)服务器110耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112通信地耦接到数据库服务器118,该数据库服务器118便于访问数据库120,在该数据库120中存储与由应用服务器112处理的消息相关联的数据。
35.具体地处理应用程序接口(api)服务器110,该服务器在客户端设备102和应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(api)服务器110提供可由消息传递客户端应用104调用或查询的一组接口(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(api)服务器110显现由应用服务器112支持的各种功能,各种功能包括:账户注册;登录功能;经由应用服务器112从具体消息传递客户端应用104向另一个消息传递客户端应用104发送消息;从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如,图像或视频),并且用于由另一消息传递客户端应用104的可能访问;设置媒体数据的集合(例如,故事);取得客户端设备102的用户的朋友列表;取得此类集合;取得消息和内容;对社交图添加和删除朋友;朋友在社交图内的定位;打开和应用事件(例如,与消息传递客户端应用104有关的事件)。
36.应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116、社交网络系统122以及消息优先化系统124。消息传递服务器应用114实现多种消息处理技术和功能,特别是与从消息传递客户端应用104的多个实例接收的消息中包括的内容(例如,文本和多媒体内容)的聚合和其它处理有关的技术和功能。如将进一步详细描述的,来自多个源的文本和媒体内容可以聚合成内容集合(例如,称为故事、图库(gallery)或集合)。然后,由消息传递服务器应用114使这些集合对于消息传递客户端应用104可用。鉴于用于其它处理器和存储器密集的数据处理的硬件要求,还可以由消息传递服务器应用114在服务器端执行此类处理。
37.应用服务器112还包括图像处理系统116,该图像处理系统116专用于执行各种图像处理操作,典型地执行针对在消息传递服务器应用114处的消息的有效载荷内接收的图像或视频的各种图像处理操作。
38.社交网络系统122支持各种社交网络功能服务,并使这些功能服务对于消息传递服务器应用114可用。为此,社交网络系统122维护和访问数据库120内的实体图304。由社交网络系统122支持的功能和服务的示例包括消息传递系统100中的与具体用户具有关系或具体用户“关注”的其它用户的标识,以及具体用户的其它实体和兴趣的标识。
39.应用服务器112通信地耦合到数据库服务器118,该数据库服务器118促进对数据库120的访问,在该数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
40.图2是示出根据示例实施例的关于消息传递系统100的进一步细节的框图。具体地,消息传递系统100被示为包括消息传递客户端应用104和应用服务器112,它们进而体现一些子系统,即短时定时器系统202、集合管理系统204和注释系统206。
41.短时定时器系统202负责强制执行对消息传递客户端应用104和消息传递服务器应用114允许的内容的暂时访问。为此,短时定时器系统202结合了多个定时器,该定时器基于持续时间和与消息、消息集合或图形元素相关联的显示参数,经由消息传递客户端应用104选择性地显示和允许访问消息和相关联内容。下面提供关于短时定时器系统202的操作
的进一步细节。
42.集合管理系统204负责管理媒体集合(例如,包括文本、图像视频和音频数据集合的媒体集合)。在一些示例中,内容集合(例如,消息,包括图像、视频、文本和音频)可以被组织成“事件图库”或“事件故事”。此类集合可以在指定的时间段内(诸如与内容相关的事件的持续时间)可用。例如,与音乐会有关的内容可以在该音乐会持续时间内作为“故事”提供。集合管理系统204还可以负责发布图标,该图标向消息传递客户端应用104的用户界面提供特定集合的存在的通知。
43.集合管理系统204另外包括策展接口208,该策展接口208允许集合管理者管理和策展特定的内容集合。例如,策展接口208使事件组织者能够策展与特定事件有关的内容集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策划内容集合。在某些实施例中,可以向用户支付补偿以将用户生成的内容包括到集合中。在此类情况下,策展接口208操作以自动向此类用户支付使用他们的内容的费用。
44.注释系统206提供使用户能够注释或以其它方式修改或编辑媒体内容的各种功能,诸如由用户接收的要转发或重新分发给一个或多个接收者的用户支持内容。例如,注释系统206为消息传递系统100处理的消息提供与媒体覆盖的生成和发布相关的功能。注释系统206基于客户端设备102的地理位置可操作地向消息传递客户端应用104提供媒体覆盖。在另一个示例中,注释系统206基于其它信息(诸如客户端设备102的用户的社交网络信息),可操作地向消息传递客户端应用104提供媒体覆盖。媒体覆盖可以包括音频和视觉内容和视觉效果,以及增强现实覆盖。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果,以及动画面部模型、图像过滤器和增强现实媒体内容。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项(例如,照片或视频或实况流)。例如,媒体覆盖包括可以覆盖在由客户端设备102拍摄的照片之上的文本。在另一示例中,媒体覆盖包括位置覆盖的标识(例如,威尼斯海滩)、现场事件的名称或商家覆盖的名称(例如,海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体覆盖,该媒体覆盖包括在客户端设备102的地理位置处的商家的名称。媒体覆盖可以包括与该商家相关联的其它标记。媒体覆盖可以存储在数据库120中并通过数据库服务器118访问。
45.在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够选择地图上的地理位置,并上传与所选地理位置相关联的内容。用户还可以指定应该向其他用户提供特定媒体覆盖的情况。注释系统206生成包括上传的内容并将上传的内容与选择的地理位置相关联的媒体覆盖。
46.在另一示例实施例中,注释系统206提供基于商家的发布平台,该基于商家的发布平台使商家能够选择与地理位置相关联的特定媒体覆盖。例如,注释系统206将最高出价商家的媒体覆盖与对应的地理位置相关联达预定义的时间量。
47.图3是示出消息优先化系统124的组件的框图,该组件配置消息优先化系统124以将消息线程的显示分配到gui中预定义位置处的可分配区域。例如,根据某些实施例,消息优先化系统124可以执行包括以下操作的操作:访问与用户账户相关联的消息库,其中消息库包括多个消息线程;生成gui,该gui包括在gui中的第一位置处的可分配区域,以及在gui
内的第二位置处的多个消息线程的呈现;经由gui接收从多个消息线程中选择或以其它方式识别特定消息线程的输入;以及响应于选择或识别特定消息线程的输入,将选择的消息线程分配到在gui中的第一位置处的可分配区域。
48.消息优先化系统124被示为包括消息传递模块302、界面模块304、通信模块306和用户配置文件模块308,它们都被配置为彼此通信(例如,经由总线、共享存储器或开关)。这些模块中的任何一个或多个模块可以使用一个或多个处理器310来实现(例如,通过配置此类一个或多个处理器以执行针对该模块描述的功能)并且因此可以包括一个或多个处理器310。
49.所描述的任何一个或多个模块可以单独使用硬件(例如,机器的一个或多个处理器310)或硬件和软件的组合来实现。例如,描述的消息优先化系统124的任何模块可以物理地包括处理器310中的一个或多个(例如,机器的一个或多个处理器的子集或其中的子集)的布置,该处理器被配置为执行在此描述的用于该模块的操作。作为另一示例,消息优先化系统124的任何模块可包括软件、硬件或两者,其配置一个或多个处理器310(例如,在机器的一个或多个处理器之中)的布置以执行在此所述的用于该模块的操作。因此,消息优先化系统124的不同模块可包括并配置此类处理器310的不同布置或在不同时间点的此类处理器310的单一布置。此外,消息优先化系统124的任何两个或更多个模块可以组合成单个模块,并且在此针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施例,在此描述为在单个机器、数据库或设备内实现的模块可以分布在多个机器、数据库或设备上。
50.图4是示出根据某些示例实施例的用于将消息线程的显示分配到gui中的预定义位置处的可分配区域的方法400的流程图。方法400的操作可以由以上关于图3描述的模块来执行。如图4中所示,方法400包括一个或多个操作402、404、406和408。
51.在操作402处,消息传递模块302访问与用户账户相关联的消息库,其中消息库包括多个消息线程,该多个消息线程至少包括第一消息线程。根据某些示例实施例,消息存储库可以由消息传递服务器系统108、客户端设备102或其组合托管,其中与用户账户相关联的消息存储库的消息线程的一部分被存储在消息传递服务器系统108处,以及与用户帐户相关联的消息线程的另一部分存储在客户端设备102处。
52.在操作404处,界面模块304生成gui,该gui包括在gui中的第一位置处的可分配区域和在gui中的第二位置处的多个消息线程的呈现。在一些实施例中,可分配区域可以与多个消息线程的呈现中的最顶部位置对应。例如,多个消息线程的呈现可以包括消息线程的按时间顺序排列的列表,其中最近的消息可以被呈现在多个消息的呈现中的最顶部位置。根据某些实施例,用户可以将多个消息线程中的消息线程分配到多个消息的呈现中的最顶部位置。
53.因此,在操作406处,界面模块304接收从多个消息线程中选择消息线程(即,第一消息线程)的显示的输入。根据某些实施例,用户可以提供选择消息线程的显式输入,并且作为响应,界面模块304可以呈现菜单元素以使用户能够提供将消息线程分配到在gui中预定义位置处的可分配区域的输入。在一些实施例中,用户可以提供将选择的消息线程从gui中的位置拖动到可分配区域的输入。在一些实施例中,用户可以基于与消息线程相关联的消息线程标识符或通过提供识别或以其它方式选择参与消息线程的一个或多个用户的用
户标识符的输入来提供识别消息线程的输入。
54.响应于从多个消息线程中选择消息线程的输入,在操作408处,界面模块304将选择的消息线程(即,第一消息线程)分配到在gui中第一位置处的可分配区域。例如,如图8中所示的界面流程图800中可见,可分配区域可以包括可分配区域802。
55.图5是示出根据某些示例实施例的用于呈现通知的方法500的流程图。方法500的操作可以由上面关于图3描述的模块来执行。如图5中所示,方法500包括一个或多个操作502和504,它们可以作为图4中描绘的方法400的子例程来执行。
56.在操作502处,在将消息线程分配到gui中的第一位置处的可分配区域之后,如方法400的操作408中所述,消息传递模块302从与分配到可分配区域的消息线程(即,第一消息线程)相关联的发送者接收消息。例如,消息线程可以包括在第一用户和第二用户之间的“一对一”对话,或者在第一用户和许多用户之间的“一对多”对话。响应于在消息线程中从参与与消息线程相关联的对话的发送者接收到新消息,消息传递模块302可以确定消息线程已被分配到gui中第一位置处的可分配区域。
57.在操作504处,响应于从与分配到gui中第一位置处的可分配区域的消息线程相关联的发送者接收到消息,界面模块304基于可分配区域内的消息生成通知并导致显示该通知。例如,该通知可以包括时间戳,以及基于消息发送者(例如,发送者的用户标识符)以及消息内容的呈现的通知内容。
58.图6是示出根据某些示例实施例的用于将消息线程分配到gui中的预定义位置处的可分配区域的方法600的流程图。方法600的操作可以由上面关于图3描述的模块来执行。如图6中所示,方法600包括一个或多个操作602和604,它们可以作为图4中描绘的方法400的一部分来执行。例如,方法600可以作为方法400的操作406的子例程来执行。
59.根据某些示例实施例,并且如在方法400的操作406中所讨论的,用户可以提供从多个消息线程中选择消息线程(即,第一消息线程)的输入。在一些实施例中,输入可以包括“拖放”类型的输入,该输入从多个消息线程的呈现中选择消息线程的显示,并且将消息线程的显示从多个消息线程中的原始位置“拖动”到gui中的可分配区域。在进一步的实施例中,输入可以包括选择与消息线程相关联的标识符的输入。例如,该标识符被呈现在多个消息线程标识符当中。在进一步的实施例中,并且如方法600的操作602中所述,输入可以包括选择或以其它方式识别参与第一消息线程的用户的一个或多个用户标识符的输入。
60.在操作604处,界面模块304将由输入识别的第一消息线程的显示分配到在gui中第一位置处的可分配区域。在一些实施例中,响应于将第一消息线程的显示分配到在gui中第一位置处的可分配区域,界面模块304可以使用户配置文件模块308访问与参与第一消息线程的一个或多个用户相关联的用户配置文件,以检索将要应用于第一消息线程的显示的一个或多个图形图标。
61.在进一步的实施例中,在将第一消息线程分配到在gui中第一位置处的可分配区域之后,用户可以提供选择或定义将要应用于第一消息线程的显示的一个或多个图形图标的输入。例如,如图8中所示的界面流程图800中可见,图形图标可以包括图形图标804。
62.图7是示出根据某些示例实施例的用于将消息线程分配到gui中的预定义位置处的可分配区域的方法700的流程图。方法700的操作可以由上面关于图3描述的模块来执行。如图7中所示,方法700包括一个或多个操作702、704和706,该操作可以在图4中描绘的方法
400的操作408之后执行。
63.如方法400的操作408中所讨论的,消息线程(即,第一消息线程)的显示可以响应于识别第一消息线程的输入(即,第一输入)而被分配到gui内的可分配区域。如上面所讨论,在一些实施例中,可以仅将单个消息线程分配到可分配区域。因此,在操作702处,接口模块304可以接收第二输入,该第二输入识别多个消息线程中的第二消息线程的显示。在一些实施例中,第二输入可以包括如下输入,该输入包括与第二消息线程相关联的消息标识符,或者与参与第二消息线程的用户相关联的一个或多个用户标识符。
64.在操作704处,响应于接收到识别第二消息线程的输入,接口模块304从gui内的可分配区域释放第一消息线程。在一些实施例中,响应于从可分配区域释放第一消息线程,消息传递模块302和通信模块306可以识别与第一消息线程的最新消息相关联的时间戳。基于该时间戳,界面模块304可以基于时间戳将第一消息线程的显示移动到在多个消息线程的呈现当中的位置。例如,多个消息线程的呈现可以基于与该多个消息线程相关联的时间戳以时间顺序被呈现。
65.在操作706处,基于选择第二消息线程的输入,界面模块304将第二消息线程分配到gui内的可分配区域。
66.图8a是描绘消息优先化界面的各种界面状态806a、806b和806c的界面流程图800a。
67.如在流程图800中可见,消息优先化界面可以基于从客户端设备102的用户接收的输入(包括方法400、500、600和700中描述的输入)在一个或多个界面状态806a、806b和806c之间转换。例如,界面状态806a可以包括在消息优先化界面中的位置处的多个消息线程818的呈现。如在图4中描绘的方法400的操作406中所讨论的,用户可以提供输入808,该输入808从多个消息线程818中选择消息线程810的显示。响应于接收到选择消息线程810的显示的输入808,界面模块304可以使菜单元素812显示在消息优先化界面内。
68.在一些实施例中,菜单元素812可以包括一个或多个消息选项的显示。例如,用户配置文件模块308可以访问与关联于消息线程810的显示的一个或多个用户相关联的用户配置文件,并且使界面模块304呈现在菜单元素812a内的用户配置文件数据的至少一部分。
69.如在界面状态806b中可见的那样,菜单元素812b可以包括与所选消息线程810相关联的一个或多个消息传递选项,包括优先化选项816。响应于接收到选择优先化选项816的输入814,界面模块304可以使消息线程810的显示被显示在消息优先化界面的可分配区域802内,如在界面状态806c中可见。在一些实施例中,可分配区域802可以在消息优先化界面中相对于多个消息线程818的呈现的位置处。
70.图8b是描绘消息优先化界面的界面状态820a和820b的界面流程图800b。
71.根据某些示例实施例,在没有将一个或多个消息线程的显示分配到gui内的可分配区域的显式输入的情况下,消息优先化系统124可以在消息优先化界面中呈现多个消息线程818,而不需要任何可分配区域。例如,如在界面状态820a中可见的那样,多个消息线程818被显示在整个界面中,使得多个消息线程818的排序顺序可以基于多个消息线程818的消息属性(例如,时间戳)。
72.因此,如在图4中描绘的方法400中所讨论的,响应于接收到选择一个或多个消息线程的一个或多个输入822,界面模块304可以在消息优先化界面内分配相应数量的可分配
区域802,如在界面状态820b中可见的那样。在一些实施例中,可以存在在消息优先化界面中分配的最大数量的可分配区域的(即,三个可分配区域)。例如,根据某些实施例,消息优先化界面的用户可以将多达3个消息线程分配到gui的可分配区域。在进一步的实施例中,消息优先化系统124可以分配与用户输入的一样多的可分配区域。
73.图9是描绘根据某些示例实施例并且如在图7中描绘的方法700中所讨论的消息优先化界面902的界面图900。
74.如方法700的操作702、704和706中所讨论的,响应于接收到将消息线程分配到可分配区域的输入,界面模块304可以释放第一消息线程(已经分配到可分配区域)以便将第二消息线程分配到可分配区域。如图9中可见,响应于接收到选择第二消息线程的输入,界面模块304可以呈现通知904,其中通知904包括第一消息线程和第二消息线程的一个或多个消息属性的显示。
75.例如,通知可以包括确认用户想要释放第一消息线程并将第二消息线程分配到gui的可分配区域的请求。
76.软件架构
77.图10是示出示例软件架构1006的框图,该软件架构可以与在此描述的各种硬件架构结合使用。图10是软件架构的非限制性示例,并且应当理解,可以实现许多其它架构以促进在此描述的功能。软件架构1006可以在诸如图11的机器1100的硬件上执行,该机器包括处理器1104、存储器1114和i/o组件1118等。代表性硬件层1052被示出并且可以表示例如图10的机器1000。代表性硬件层1052包括具有相关联可执行指令1004的处理单元1054。可执行指令1004表示软件架构1006的可执行指令,包括在此所述的方法、组件等的实现方式。硬件层1052还包括存储器和/或存储模块存储器/存储设备1056,其也具有可执行指令1004。硬件层1052还可以包括其它硬件1058。
78.在图10的示例架构中,软件架构1006可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构1006可以包括诸如操作系统1002、库1020、应用1016和呈现层1014的层。在操作上,层内的应用1016和/或其它组件可以通过软件堆栈调用应用程序接口(api)api调用1008,并响应于api调用1008接收响应。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件1018,而其它操作系统可提供此类层。其它软件架构可以包括附加层或不同层。
79.操作系统1002可以管理硬件资源并提供公共服务。操作系统1002可以包括例如内核1022、服务1024和驱动器1026。内核1022可以充当硬件和其它软件层之间的抽象层。例如,内核1022可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务1024可以为其它软件层提供其它公共服务。驱动器1026负责控制硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动器1026包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等等。
80.库1020提供由应用1016和/或其它组件和/或层使用的公共基础结构。库1020提供允许其它软件组件以比与底层操作系统1002功能(例如,内核1022、服务1024和/或驱动器1026)直接接口更容易的方式执行任务的功能。库1020可以包括系统库1044(例如,c标准库),其可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能。另外,库1020
可以包括api库1046,诸如媒体库(例如,用于支持各种媒体格式的呈现和操作的库,媒体格式诸如mpreg4、h.264、mp3、aac、amr、jpg、png)、图形库(例如,可用于在显示器上的图形内容中呈现2d和3d的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、web库(例如,可提供web浏览功能的webkit)等。库1020还可以包括各种其它库1048,以向应用1016和其它软件组件/模块提供许多其它api。
81.框架/中间件1018(有时也称为中间件)提供可由应用1016和/或其它软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件1018可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件1018可以提供可以由应用1016和/或其它软件组件/模块使用的广泛范围的其它api,其中的一些可以特定于特定操作系统1002或平台。
82.应用1016包括内置应用1038和/或第三方应用1040。代表性内置应用1038的示例可包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用和/或游戏应用。第三方应用1040可以包括由特定平台的供应商以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在诸如ios
tm
、android
tm
、phone的移动操作系统或其它移动操作系统上运行的移动软件。第三方应用1040可以调用由移动操作系统(诸如操作系统1002)提供的api调用1008以促进在此描述的功能。
83.应用1016可以使用内置操作系统功能(例如,内核1022、服务1024和/或驱动器1026)、库1020和框架/中间件1018来创建用户界面以与系统的用户交互。可替代地或另外地,在一些系统中,与用户的交互可以通过呈现层(诸如呈现层1014)发生。在这些系统中,应用/组件“逻辑”可以与和用户交互的应用/组件的方面分离。
84.图11是示出根据一些示例实施例的机器1100的组件的框图,机器1100能够从机器可读介质(例如,机器可读存储介质)读取指令并执行在此讨论的任何一个或多个方法。具体地,图11示出采用计算机系统的示例形式的机器1100的图形表示,在该机器1100内可以执行用于使机器1100执行在此所讨论的任何一种或多种方法的指令1110(例如,软件、程序、应用、小应用程序、应用软件或其它可执行代码)。这样,指令1110可以用于实现在此描述的模块或组件。指令1110将通用的未编程的机器1100转换成被编程为以所描述的方式执行所描述和示出的功能的特定机器1100。在替代实施例中,机器1100作为独立装置操作或者可以耦接(例如,联网)到其它机器。在联网部署中,机器1100可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器1100可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能手机、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其它智能设备、web装置、网络路由器、网络交换机、网络桥接器或能够顺序地或以其它方式执行指定机器1100要采取的动作的指令1110的任何机器。此外,尽管仅示出了单个机器1100,但是术语“机器”还应被视为包括机器的集合,该机器的集合单独或联合执行指令1110以执行在此所讨论的任何一种或多种方法。
85.机器1100可以包括可以被配置为诸如经由总线1102彼此通信的处理器1104、存储器/存储设备1106和i/o组件1118。存储器/存储设备1106可以包括存储器1114(诸如主存储
器或其它存储设备)以及存储单元1116,两者都可由处理器1104诸如经由总线1102访问。存储单元1116和存储器1114存储体现任何一种或多种方法的指令1110或在此描述的功能。在机器1100的其执行期间,指令1110还可以完全或部分地驻留在存储器1114内、存储单元1116内、处理器1104中的至少一个处理器内(例如,在处理器的高速缓存内)或其任何合适的组合。因此,存储器1114、存储单元1116和处理器1104的存储器是机器可读介质的示例。
86.i/o组件1118可以包括各种各样的组件以接收输入,提供输出,产生输出,发送信息,交换信息,捕获测量等。在特定机器1100中包括的特定i/o组件1118将取决于机器的类型。例如,诸如移动电话的便携式机器可能包括触摸输入设备或其它此类输入机构,而无头服务器机器可能不包括此类触摸输入装置。应当理解,i/o组件1118可以包括图11中未示出的许多其它组件。仅仅是为了简化以下讨论,根据功能对i/o组件1118进行分组,并且分组决不是限制性的。在各种示例实施例中,i/o组件1118可以包括输出组件1126和输入组件1128。输出组件1126可以包括视觉组件(例如显示器,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt))、声学组件(例如扬声器)、触觉组件(例如,振动电动机、电阻机构)、其它信号发生器等。输入组件1128可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光电键盘或其它字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其它指向仪器)、触觉输入组件(例如,物理按钮,提供触摸或触摸手势的位置和/或力的触摸屏,或其它触感输入组件)、音频输入组件(例如,麦克风)等。
87.在另外的示例实施例中,i/o组件1118可以包括广泛的其它组件中的生物度量组件1130、运动组件1134、环境组件1136或定位组件1138。例如,生物度量组件1130可以包括检测表达(例如手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件1134可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件1136可包括例如照明传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器组件(例如,用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)或可能提供与周围物理环境相对应的指示、测量或信号的其它组件。定位组件1138可包括定位传感器组件(例如,全球定位系统(gps)接收器组件)、海拔传感器组件(例如,海拔计或检测可以从中导出海拔的空气压力的气压计)、取向传感器组件(例如,磁力计)等。
88.可以使用各种技术来实现通信。i/o组件1118可以包括通信组件1140,其可操作以分别经由耦接1122和耦接1124将机器1100耦接到网络1132或设备1120。例如,通信组件1140可以包括网络接口组件或其它合适的设备以与网络1132接口。在进一步的示例中,通信组件1140可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、信组件1140可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,低功耗)组件和其它通信组件,以经由其它模式提供通信。设备1120可以是另一机器或各种外围设备中的任何一种(例如,经由通用串行总线(usb)耦接的外围设备)。
89.此外,通信组件1140可以检测标识符或包括可操作以检测标识符的组件。例如,通
信组件1140可以包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测诸如通用产品代码(upc)条形码的一维条形码、诸如快速响应(qr)代码、aztec代码、data matrix、dataglyph、maxicode、pdf417、超码、ucc rss-2d条形码的多维条形码,和其它光学代码),或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件1140来导出各种信息,例如经由互联网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置等。
90.词汇表
91.在该上下文中的“载波信号”是指能够存储、编码或承载用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其它无形介质以便于此类指令的通信。可以使用传输介质经由网络接口设备并使用许多众所周知的传输协议中的任何一个传输协议来通过网络发送或接收指令。
92.在该上下文中的“客户端设备”是指与通信网络接口连接以从一个或多个服务器系统或其它客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、机顶盒或用户可用于访问网络的任何其它通信设备。
93.在该上下文中的“通信网络”是指网络的一个或多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、互联网、互联网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络,或两个或两个以上此类网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其它类型的蜂窝或无线耦接。在该示例中,耦合可以实现各种类型的数据传输技术中的任何一种,诸如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线服务(gprs)技术、gsm演进增强型数据速率(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其它标准、其它远程协议或其它数据传输技术。
94.在该上下文中的“短时消息”是指可在时间限制的持续时间内访问的消息。短时消息可以是文本、图像、视频等。短时消息的访问时间可以由消息发送者设置。可替代地,访问时间可以是默认设置或由接收者指定的设置。无论设置技术如何,该消息都是暂态的。
95.在该上下文中的“机器可读介质”是指能够临时或永久地存储指令和数据的组件、识别或其它有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得指令在由机器的一个或多个处理器执行时使机器执行在此描述的任何一种或多种方法。因此,“机器可读介质”是指单个存储装置或设备,以及包括多
个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”排除信号本身。
96.在该上下文中的“组件”是指具有由功能或子例程调用、分支点、应用程序接口(api)或提供特定处理或控制功能的分区或模块化的其它技术定义的边界的设备、物理实体或逻辑。组件可以经由它们的接口与其它组件组合以执行机器过程。组件可以是封装的功能硬件单元,其被设计用于与其它组件和通常执行相关功能的特定功能的程序的一部分一起使用。组件可以构成软件组件(例如,在机器可读介质上体现的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可以通过软件(例如,应用或应用部分)将其配置为进行操作以执行如在此所述的某些操作的硬件组件。硬件组件还可以机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其它可编程处理器执行的软件。在由该软件配置后,硬件组件就成为特定的机器(或机器的特定组件),其被独特地定制以执行所配置的功能并且不再是通用处理器。应当理解,可以由成本和时间考虑来驱动在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定。因此,短语“硬件组件”(或“硬件实现的组件”)应该被理解为包含有形实体,即物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)的实体,以某种方式操作或执行在此所述的某些操作。考虑其中硬件组件被临时配置(例如,编程)的实施例,不需要在任何一个时刻配置或实例化硬件组件中的每个硬件组件。例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同的专用处理器(例如,包括不同的硬件组件)。软件相应地配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。硬件组件可以向其它硬件组件提供信息并从其接收信息。因此,所描述的硬件组件可以被视为通信地耦接。在同时存在多个硬件组件的情况下,可以通过在两个硬件组件之间或更多个硬件组件之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,例如通过在对多个硬件组件可访问的存储器结构中的信息的存储和取得,可以实现该硬件组件之间的通信。例如,一个硬件组件可以执行操作并将该操作的输出存储在与其通信耦接的存储设备中。然后,另一硬件组件可以稍后访问存储设备以取得和处理所存储的输出。
97.硬件组件还可以启动与输入或输出设备的通信,并且可以在资源(例如,信息集合)上操作。在此描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,该处理器可以构成处理器实现的组件,其用于执行在此描述的一个或多个操作或功能。如在此所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,在此描述的方法可以至少部分地由处理器实现,其中特定的一个处理器或多个处理器是硬件的示例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实现的
组件来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(saas)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(api))访问。操作中的某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,处理器或处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其它示例实施例中,处理器或处理器实现的组件可以分布在多个地理位置上。
98.在该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值以及产生应用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器可以进一步是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。
99.在该上下文中,“时间戳”是指识别特定事件何时发生的字符序列或编码信息,例如给出日期和一天中的时间,有时精确到秒的分数。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献