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

生成具有增强图标的个性化地图界面的制作方法

2021-11-10 02:03:00 来源:中国专利 TAG:

生成具有增强图标的个性化地图界面
1.优先权声明
2.本技术要求于2019年3月28日提交的美国专利申请序列号16/368,405的优先权的权益,其整体内容通过引用被并入本文。


背景技术:

3.电子消息传递特别是即时消息传递的普及继续增长。用户越来越多地相互分享媒体内容项,诸如电子图像和视频,反映对于更视觉地通信的全球需求。
4.用户也越来越多地使用可以被个性化的定制化身来在各种应用、视频游戏、消息传递服务等中表示用户。由于定制化身可以在不同阵列的情况下生成,显示各种情绪,甚至可以被动画化,因此,用户能够在使用定制化身的系统中更准确地传递他们的感受和动作。
5.随着社交网络系统上的用户数量的增加,每个用户也具有增长的关注的个人网络。因此,为了保持用户在社交网络系统上的参与度,系统能够向每个用户呈现最感兴趣或与其最相关的媒体内容项是最重要的。除了需要策展媒体内容项之外,还向社交网络系统提出了提供图形用户界面的挑战,该界面吸引用户的注意力并允许她查看所策展的媒体内容项,并进一步与她关注的个人网络进行交互。
附图说明
6.在不必按比例绘制的附图中,相同的附图标记可以描述不同视图中的类似组件。具有不同字母后缀的相同附图标记可以表示类似部件的不同实例。在附图的图中以示例而非限制的方式的图示了一些实施例,其中:
7.图1是示出用于通过网络交换数据(例如消息和相关联的内容)的示例消息传递系统的框图。
8.图2是示出根据示例性实施例的关于消息传递系统的更多细节的框图。
9.图3是示出根据各种示例性实施例的可被存储在消息传递服务器系统的数据库中的数据的示意图。
10.图4是根据本公开的各方面的过程的示例性流程图。
11.图5a至图5d是根据本公开的各方面的示例性界面。
12.图6是示出可与本文所描述的各种硬件架构结合使用的代表性软件架构的框图。
13.图7是示出根据一些示例性实施例的能够从机器可读介质(例如机器可读存储介质)读取指令并执行本文所讨论的任何一个或多个方法的机器的组件的框图。
具体实施方式
14.本描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机器程序产品。在下面的描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明主题的各种实施例的理解。然而,对于本领域技术人员显然,可以在没有这些具体细节的情况下实践本发明主题的实施例。通常,众所周知的指令实例、协议、结构和技术不必详细示出。
15.除了其他方面,本公开的实施例通过生成对用户个性化的地图界面来改进电子消息传递软件和系统的功能。当前,用户可以查阅地图来在视觉上定位给定场所(例如,餐馆、酒吧、健身房等),并获得场所的坐标或地址。这些当前地图对于查阅地图的每个用户通常是相同的。
16.作为改进,在一些实施例中,每个用户的地图界面可以基于用户的习惯和对特定场所的访问来被个性化。例如,地图界面可以包括在地图界面上分别与其当前位置对应的位置处的用户和用户朋友(例如,社交网络上的连接、用户的移动设备中的联系人等)的化身。地图界面还可包括与场所(其是私人空间或公共空间)相关联的图标。当用户经由地图界面保存场所时,与所保存的场所相关联的图标可以改变成增强图标。例如,图标可以是二维图像,增强图标可以是三维图像。在一个实施例中,增强图标可以是图标的更大更详细的版本或是图标的动画版本。系统还可以基于确定用户定期常去场所来自动个性化用户的地图界面。系统还可以基于与用户在地图界面上曾保存的其他场所的相似性来确定应当向用户推荐场所。系统还可以基于用户的朋友在他们的地图界面上已保存的或先前向用户的朋友推荐过的位置来确定应当向用户推荐场所。因此,系统可以通过针对正被推荐的场所生成增强图标来自动个性化用户的地图界面。通过与系统接合,用户的地图将随着时间的推移而包括增长数量的增强图标,以使得用户可以在视觉上评估他优选的场所或由他的朋友或由系统向他推荐的场所的位置。因此,系统通过生成提供屏幕资源(例如,图标、增强图标、化身等)的有效使用并减少访问被视觉提供的信息的界面动作和操作的地图界面来改进客户端设备的操作。该改进还将增加用户与系统的接合,以进一步开发他们的地图界面并查看由系统添加到他们的地图界面的自动增强并与之交互。
17.图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的示例消息传递系统100的框图。消息传递系统100包括多个客户端设备102,每个客户端设备托管包括消息传递客户端应用104的多个应用程序。每个消息传递客户端应用104经由网络106(例如互联网)被通信地耦接到消息传递客户端应用104的其他实例和消息传递服务器系统108。如本文所使用的,术语“客户端设备”可以是指与通信网络(诸如网络106)接口连接以从一个或多个服务器系统或其他客户端设备获取资源的任何机器。客户端设备可以是但不限于:移动电话、台式计算机、膝上型计算机、便携式数字助理(pda)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器的或可编程的消费电子产品、游戏机、机顶盒、或用户可使用以接入网络的任何其他通信设备。
18.在图1所示的示例中,每个消息传递客户端应用104能够经由网络106与另一个消息传递客户端应用104和消息传递服务器系统108进行通信并与之交换数据。在消息传递客户端设备104之间以及在消息传递客户端应用104与消息传递服务器系统108之间交换的数据包括功能(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
19.网络106可以包括以下网络或结合以下网络操作:自组织网络,内联网,外联网,虚拟专用网(vpn),局域网(lan),无线局域网(wlan),广域网(wan),无线广域网(wwan),城域网(man),互联网,互联网的一部分,公共交换电话网络(pstn)的一部分,普通老式电话服务(pots)网络,蜂窝电话网络,无线网络,网络,另一类型的网络,或两个或更多个这种网络的组合。例如,网络或网络的一部分可包括无线或蜂窝网络,并且耦接可以是码分多
址(cdma)连接、全球移动通信系统(gsm)连接、或另一类型的蜂窝或无线耦接。在该示例中,耦接可实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)的第三代合作伙伴计划(3gpp)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准制定组织定义的其他标准、其他远程协议或其他数据传输技术。
20.消息传递服务器系统108经由网络106向特定消息传递客户端应用104提供服务器侧功能。尽管在本文中将消息传递系统100的某些功能描述为由消息传递客户端应用104或由消息传递服务器系统108执行,但是应当理解,某些功能位于消息传递客户端应用104或消息传递服务器系统108内是设计选择。例如,在技术上优选地是最初在消息传递服务器系统108内部署某些技术和功能,但稍后在客户端设备102具有足够处理能力时,将该技术和功能迁移到消息传递客户端应用104。
21.消息传递服务器系统108支持被提供给消息传递客户端应用104的各种服务和操作。这种操作包括向消息传递客户端应用104发送数据,从消息传递客户端应用104接收数据,以及处理由消息传递客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持久性条件、社交网络信息、和实时事件信息。在消息传递系统100内的数据交换通过经由消息传递客户端应用104的用户界面(ui)可用的功能来调用和控制。
22.现在具体转到消息传递服务器系统108,应用程序接口(api)服务器110被耦接到应用服务器112并向应用服务器112提供编程接口。应用服务器112被通信地耦接到数据库服务器118,该数据库服务器118促进对数据库120的访问,在数据库120中存储有与由应用服务器112处理的消息相关联的数据。
23.具体处理应用程序接口(api)服务器110,该服务器接收和发送客户端设备102与应用服务器112之间的消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(api)服务器110提供可被消息传递客户端应用104调用或查询的一组接口(例如,例程和协议),以便调用应用服务器112的功能。应用程序接口(api)服务器110公开由应用服务器112支持的各种功能,包括:账号注册,登录功能,经由应用服务器112从特定消息传递客户端应用104向另一消息传递客户端应用104发送消息,从消息传递客户端应用104向消息传递服务器应用114发送媒体文件(例如,图像或视频),并且针对另一消息传递客户端应用104的可能访问,媒体数据集合(例如故事)的设置,客户端设备102的用户的好友列表的检索,这种集合的检索,消息和内容的检索,在社交图中添加和删除好友,好友在社交图内的位置、打开和应用事件(例如,与消息传递客户端应用104有关)。
24.应用服务器112托管多个应用和子系统,包括消息传递服务器应用114、图像处理系统116和社交网络系统122。消息传递服务器应用114实现多种消息处理技术和功能,特别是与被包括在从消息传递客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容,包括图像和视频片段)的聚合和其他处理有关。如将进一步详细描述的,来自多个源的文本和媒体内容可以被聚合成内容的集合(例如,被称为故事或图库(gallery))。然后,由消息传递服务器应用114使得这些集合对于消息传递客户端应用104可用。鉴于针对这种处理的硬件要求,还可以由消息传递服务器应用114在服务器端执行数据的其他处理
器和存储器密集型处理。
25.应用服务器112还包括图像处理系统116,该图像处理系统116专用于通常对于在消息传递服务器应用114处在消息的有效载荷内接收到的图像或视频执行各种图像处理操作。
26.社交网络系统122支持各种社交网络功能和服务,并使这些功能和服务可用于消息传递服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图304。由社交网络系统122支持的功能和服务的示例包括标识消息传递系统100的与特定用户有关系或者该特定用户“正在关注”的其他用户,并还标识其他实体和特定用户的兴趣。
27.应用服务器112通信地耦接到数据库服务器118,该数据库服务器118促进对数据库120的访问,在数据库120中存储有与由消息传递服务器应用114处理的消息相关联的数据。
28.一些实施例可包括一个或多个可穿戴设备,诸如具有集成相机的吊坠,该相机与客户端设备102集成、通信或耦接。可以结合本公开的实施例使用任何期望的可穿戴设备,诸如手表、眼镜、护目镜、耳机、腕带、耳塞、衣服(诸如具有集成电子产品的帽子或夹克)、夹式电子设备、和/或任何其他可穿戴设备。
29.图2是示出根据示例性实施例的关于消息传递系统100的更多细节的框图。具体地,消息传递系统100被示出为包括消息传递客户端应用104和应用服务器112,它们进而体现多个一些子系统,即短时定时器系统202、集合管理系统204和注释系统206。
30.短时定时器系统202负责执行对由消息传递客户端应用104和消息传递服务器应用114所允许的内容的临时访问。为此,短时定时器系统202并入了多个定时器,这些定时器基于与消息或消息集合(例如故事)相关联的持续时间和显示参数,经由消息传递客户端应用104选择性地显示并实现对消息和相关联内容的访问。
31.集合管理系统204负责管理媒体集合(例如,文本、图像、视频和音频数据的集合)。在一些示例中,内容(例如消息,其包括图像、视频、文本和音频)的集合可以被组织成“事件图库”或“事件故事”。这种集合可以在指定时间段(诸如与内容相关的事件的持续时间)内可用。例如,与音乐会有关的内容可以在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责发布图标,该图标向消息传递客户端应用104的用户界面提供存在特定集合的通知。
32.此外,集合管理系统204还包括策展界面208,该策展界面208允许集合管理器管理和策展特定内容集合。例如,策展界面208使事件组织者能够策展与特定事件(例如,删除不适当的内容或冗余消息)有关的内容集合。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动策展内容集合。在某些实施例中,可对于将用户生成的内容包括在集合中而向用户支付补偿。在这种情况下,策展界面208操作以自动向这种用户就使用其内容而支付费用。
33.注释系统206提供使用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与针对由消息传递系统100处理的消息生成和发布媒体叠加有关的功能。注释系统206基于客户端设备102的地理位置来向消息传递客户端应用104可操作地提供媒体叠加(例如,滤镜)。在另一个示例中,注释系统206基于其他信息(例如,客户端设备110的用户的社交网络信息)而可操作地向消息传递应用114提供媒体叠
加。媒体叠加可包括视听内容和视觉效果。视听内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色叠加。视听内容或视觉效果可以在客户端设备102处被应用于媒体内容项(例如照片)。例如,媒体叠加包括可被叠加在由客户端设备102生成的照片之上的文本。在另一个示例中,媒体叠加包括位置叠加的标识(例如,威尼斯海滩)、现场活动的名称或商家叠加的名称(例如,海滩咖啡馆)。在另一个示例中,注释系统206使用客户端设备102的地理位置来识别媒体叠加,该媒体叠加包括在客户端设备102的地理位置处的商家的名称。媒体叠加可以包括与商家相关联的其他标记。媒体叠加可被存储在数据库120中并且可以通过数据库服务器118来访问。
34.在一个示例实施例中,注释系统206提供基于用户的发布平台,该平台使用户能够在地图上选择地理位置并上载与所选择的地理位置相关联的内容。用户还可指定在什么情况下应将特定媒体叠加提供给其他用户。注释系统206生成包括所上载的内容的媒体叠加,并将所上载的内容与所选择的地理位置相关联。
35.在另一个示例性实施例中,注释系统206提供基于商家的发布平台,该平台使商家能够通过投标过程来选择与地理位置相关联的特定媒体叠加。例如,注释系统206在预定时间量内将出价最高的商家的媒体叠加与对应的地理位置相关联。
36.图3是示出根据某些示例性实施例的可被存储在消息传递服务器系统108的数据库120中的数据300的示意图300。尽管数据库120的内容被示为包括多个表,但是应当理解,数据可以被存储在其他类型的数据结构(例如,作为面向对象的数据库)中。
37.数据库120包括被存储在消息表314内的消息数据。实体表302存储包括实体图304的实体数据。记录被维护在实体表302内的实体可包括个体、公司实体、组织、对象、地点、事件等。不管类型如何,服务器系统108存储了其数据的任何实体可以是识别实体。每个实体具有唯一的标识符以及实体类型标识符(未示出)。
38.此外,实体图304还存储关于实体之间的关系和关联的信息。这种关系可以是社交的、专业的(例如在共同公司或组织中工作)、基于兴趣的或基于活动的,仅作为示例。
39.数据库120还将注释数据采用滤镜的示例形式存储在注释表312中。其数据被存储在注释表312内的滤镜与视频(其数据被存储在视频表310中)和/或图像(其数据被存储在图像表308中)相关联并且被应用于该视频和/或图像。在一个示例中,滤镜是在向接收方用户呈现期间被显示为被叠加在图像或视频上的叠加。滤镜可以是各种类型的,包括当发送方用户在编写消息时来自由消息传递客户端应用104呈现给发送方用户的滤镜库中的用户选择的滤镜。其他类型的滤镜包括可基于地理位置被呈现给发送方用户的地理位置滤镜(也称为地理滤镜)。例如,基于由客户端设备102的gps单元所确定的地理位置信息,消息传递客户端应用104可在用户界面内呈现特定于邻居或特定位置的地理位置滤镜。另一类型的滤镜是数据滤镜,它可基于在消息创建过程期间由客户端设备102收集的其他输入或信息而由消息传递客户端应用104选择性地呈现给发送方用户。数据滤镜的示例包括在特定位置的当前温度、发送方用户正在行进的当前速度、客户端设备102的电池寿命或当前时间。
40.可被存储在图像表308内的其他注释数据是所谓的“镜头”数据。“镜头”可以是可被添加到图像或视频中的实时特殊效果和声音。
41.如上所述,视频表310存储视频数据,在一个实施例中,该视频数据与在消息表314
内维护了记录的消息相关联。类似地,图像表308存储与在消息表314内存储了消息数据的消息相关联的图像数据。实体表302可将来自注释表312的各种注释与被存储在图像表308和视频表310中的各种图像和视频相关联。
42.故事表306存储与消息和相关联的图像、视频或音频数据的集合有关的数据,这些数据被编译成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,在实体表302中维护了记录的每个用户)发起。用户可以以该用户已经创建并发送/广播的内容集合的形式来创建“个人故事”。为此,消息传递客户端应用104的用户界面可包括用户可选择以使发送方用户能够将特定内容添加到他或她的个人故事中的图标。
43.集合还可构成“现场故事”,它是来自多个用户的内容的集合,该内容的集合是手动、自动或使用手动和自动技术的组合创建的。例如,“现场故事”可组成来自各种位置和事件的用户提交的内容的策展流。例如,可以经由消息传递客户端应用104的用户界面向其客户端设备102启用了位置服务并在特定时间处在共同位置或事件的用户呈现选项,以向特定现场故事贡献内容。现场故事可由消息传递客户端应用104基于用户的位置而被识别给用户。最终结果是从社区角度讲述的“现场故事”。
44.另一类型的内容集合被称为“位置故事”,其使得客户端设备102位于特定地理位置内(例如在学院或大学校园)的用户能够对特定集合做出贡献。在一些实施例中,对位置故事的贡献可要求二级认证,以验证最终用户属于特定组织或其他实体(例如,是在大学校园的学生)。
45.如本文所使用的,“电子消息”可以是指采用电子形式的任何消息,诸如电子邮件、短消息服务(sms)消息、多媒体消息服务(mms)消息、即时消息(im)、互联网中继聊天(irc)消息、以及任何其他形式的实时、近实时、同步或异步电子消息传递格式。本公开的实施例可以生成并呈现定制图像以在诸如sms或mms文本和电子邮件的电子消息内使用。定制图像也可以结合本文所讨论的故事、滤镜和短时消息传递功能使用。
46.图4是根据本公开的各方面的过程的示例性流程图。虽然流程图可以将操作描述为顺序的过程,但是许多操作能够并行或者并发执行。另外,操作的顺序可以重新排列。过程在其操作完成时终止。过程可以对应于方法、过程等。方法的步骤可以全部或部分执行,可以结合其他方法中的一些或所有步骤执行,并且可以由任意数量的不同系统执行,诸如图1和/或图7所描述的系统。
47.图4描绘了根据本公开的各方面的生成具有增强图标的个性化地图界面的示例性过程400。过程400可以由被包括在消息传递服务器系统的应用服务器中的处理器或由被包括在客户端设备中的处理器来执行。
48.在图4中的过程的操作401处,处理器从与第一用户相关联的第一客户端设备接收包括第一客户端设备的位置的位置信息。位置信息可以从被包括在第一客户端设备中的位置传感器接收。例如,第一客户端设备可以包括向处理器提供第一客户端设备的位置的坐标的gps单元。
49.在操作402处,处理器使地图界面被显示在第一客户端设备上。地图界面可以包括在基于位置信息的地图显示上的位置处的第一用户的化身和与场所对应的图标。
50.如本文所使用的,用户的“化身”是用户的任何视觉表示。用户或个人的化身可以是类似用户或个人或以其他方式与用户或个人相关联的任何图像。用户的化身可以是基于
从用户的图像导出的特征结合从用户与其他用户的关系识别出的化身特征。可替代地或附加地,用户可以经由用户的计算设备来选择和定制用户的化身的特征(即,定制的化身特征)。这种定制的化身特征可包括例如用户的身体特征(例如,肌肉、瘦等)、面部特征、服装和配饰、结合化身所显示的文本、以及结合化身所显示的图像。化身特征可以从各种源(诸如客户端设备102的本地存储器)以及从其他系统和设备(诸如数据库或服务器)接收或检索。
51.在操作403处,处理器使被包括在地图界面中的图标改变成增强图标。在一个实施例中,位于地图界面内的每个场所与一个图标相关联。例如,与比萨餐厅相关联的图标可以是比萨块。比萨块图标被包括在地图界面中与比萨餐厅的位置对应的位置处。在一个实施例中,图标是二维图像,而增强图标是三维图像。处理器可以响应于从第一客户端设备接收到指示将场所保存在与第一用户相关联的数据库中的请求的第一选择而使图标改变成增强图标。例如,与第一用户相关联的数据库可以包括喜欢场所的列表。喜欢场所的列表可以是先前已被第一用户经由地图界面保存的场所列表。在一个实施例中,喜欢场所的列表可以包括先前已经被第二用户保存的场所。第二用户可以与消息传递系统100中的第一用户相关联(例如,好友、联系人、关注者等)。
52.在一个实施例中,在操作403处,处理器还可以响应于处理器确定场所被保存在与第二用户(其与第一用户相关联)相关联的数据库中而使图标改变成增强图标。例如,与第二用户相关联的数据库可以包括先前已被第二用户经由第二用户的地图界面保存的场所列表。在一个实施例中,系统使第二客户端设备显示针对第二用户个性化的地图界面。在第二客户端设备上显示的地图界面包括第二用户的化身和针对在第二用户的喜欢场所的列表中的场所的增强图标。
53.图5a至图5d示出了在第一客户端设备上显示的地图界面500的示例。图5a至图5b示出了当处理器自动将场所添加到第一用户的数据库并使地图界面500包括与该场所相关联的增强图标时的地图界面500的示例。在该实施例中,处理器在没有从第一客户端设备接收输入的情况下执行对地图界面的更新。图5c至图5d示出了当处理器接收来自第一客户端设备的请求将场所保存到第一用户的数据库的选择并作为响应使地图界面500包括与该场所相关联的增强图标时的地图界面500的示例。
54.在图5a中,示出了在第一客户端设备上显示的地图界面500的示例。地图界面500包括与第一客户端设备的用户(“第一用户”)相关联的第一化身501、以及与消息传递系统上的被连接到第一用户的其他客户端设备的用户相关联的多个化身502_1至502_n(n>1)。
55.如图5a所示,第一化身501被图示在地图界面500上与第一客户端设备的当前位置对应的位置处。处理器使用在图4中的框401处接收的位置信息来确定放置第一用户的化身501的地图界面500的位置。类似地,化身502_1至502_n被图示在地图界面上与其客户端设备的位置对应的位置处。当与化身502_1至502_n的客户端设备的位置对应的位置不在地图界面500的当前视图内时,化身502_1至502_n不出现在地图界面500中。例如,地图界面500包括纽约曼哈顿的一部分的视图。与第一用户相关联但位于纽约布鲁克林的用户在地图界面500的当前视图之外,以使得他们的化身不出现在地图界面500的当前视图上。虽然未示出,但是,化身502_1至502_n可以以化身集群示出,这表明与集群的化身相关联的用户当前一起聚集在与地图界面500上的位置对应的位置处。
56.地图界面500包括与场所(例如,图5b中的“萨拉托加”)相关联的增强图标503。增强图标503出现在地图界面500上与场所的地址(例如,图5c至图5d中的“纽约34街西1473号”)对应的位置处。虽然图5a至图5d中的场所是餐厅,但是,与地图界面500中的图标和增强图标相关联的场所可以是任何私人或公共空间。例如,场所可以是餐厅、酒吧、博物馆、场地、电影院、剧院、学校、健身房、舞蹈室、瑜伽室、国家公园、滑雪胜地、或公园。
57.如图5a所示,处理器可以自动使地图界面500包括与“萨拉托加”场所相关联的增强图标。例如,处理器可以确定第一用户已经去了该场所预定次数或预定频率常,并且作为响应,处理器可以自动使地图界面包括与该场所相关联的增强图标。
58.图5b示出包括场所细节界面的地图界面500。当第一用户从地图界面500上选择增强图标503时,处理器从第一客户端设备接收对增强图标503的选择。作为响应,处理器使场所细节界面被显示在第一客户端设备上。如图5b所示,场所细节界面可以包括例如场所的名称(例如“萨拉托加”)和指示为什么向第一用户推荐该场所的消息504(例如“最多访问的餐厅”)。当处理器由于在消息传递系统中与第一用户相关联的第二用户将该场所保存在第二用户的数据库中而确定应当向第一用户推荐该场所时,消息504可以将该场所指示为基于第二用户的推荐(例如,“第二用户最喜欢的餐厅”)。处理器还可以基于该场所被与第一用户相关联的预定数量的用户保存来确定该场所应当被推荐。消息504可以指示例如“您的十个朋友已收藏”。
59.场所细节界面可包括与场所相关联的身份卡505。身份卡505可包括场所的名称、场所类型(例如,“美国餐厅”)、与该餐厅相关联的价格水平(例如,“$$”)、可选择保存图像508和可选择预览507。已经针对图5b中的第一用户自动保存了场所的处理器将使图5b中的可选择保存图像508看起来被激活(例如,可选择保存图像508是星星的已填充图像)。当第一用户选择可选择预览507时,处理器使第一客户端设备显示与该场所相关联的媒体内容项。例如,在预设时间范围(例如,24小时)期间在“萨拉托加”拍摄的媒体内容项(例如,图片、视频、文本等)的集合将经由可选择预览507对于消息传递系统100的用户可访问。媒体内容项的集合可以是与场所相关联的“故事”。如图5b所示,身份卡505还可以包括最后被添加到场所的故事的媒体内容项的时间戳(例如,“12分钟前在纽约”)。场所细节界面还可包括提供关于场所的新闻或细节的消息506。
60.在图5c中,地图界面500包括第一化身501和与场所(例如,“萨拉托加”)相关联的图标510。当第一用户选择图标510时,处理器从第一客户端设备接收对图标510的选择,并使图5c中所示的场所细节界面被显示在第一客户端设备上。图5c中的场所细节界面包括消息512,该消息512包括场所的名称和地址。图5c中的场所细节界面还包括与场所相关联的身份卡505。身份卡505包括场所的名称、场所类型、与餐厅相关联的价格水平、可选择保存图像508和可选择预览507。身份卡505还可包括最后被添加到场所的故事的媒体内容项的时间戳(例如,“12分钟前在纽约”)和提供关于场所的新闻或细节的消息506。与图5b相反,可选择保存图像508在图5c中不是活动的(例如,可选择保存图像508是星星的未填充图像)。身份卡505可进一步包括提示消息511(例如,“添加到收藏”)。为了向第一用户的数据库发送保存场所的请求,第一用户可以在图5c的地图界面500上选择可选择保存图像508。当第一用户选择可选择保存图像508时,处理器可以使第一客户端设备显示图5d所示的地图界面500。
61.在图5d中,地图界面500包括具有可选择保存图像508的身份卡505,该可选择保存图像508是活动的以指示该场所被添加到第一用户的喜欢场所的列表。因此,场所被添加到第一用户的数据库。活动的可选择保存图像508可以是星星的已填充图像。图5d中的地图界面500还包括增强图标503以代替图标510。在一个示例中,图标510可以是二维图像,而增强图标503可以是三维图像。在一个实施例中,增强图标503可以是图标510的更大更详细的版本或图标510的动画版本。
62.在一个实施例中,第一用户可以经由地图界面500上的可选择图像(未示出)来请求喜欢场所的列表。当第一用户选择可选择图像以请求列表时,处理器接收该请求,并使喜欢场所的列表被显示在第一客户端设备上。处理器可以从与第一用户相关联的数据库检索喜欢场所的列表。第一用户还可以选择地图界面500上的可选择图像(未示出)以请求第二用户的喜欢场所的列表。处理器接收请求,从与第二用户相关联的数据库检索喜欢场所的列表,并使第二用户的喜欢场所的列表被第一客户端设备显示。
63.软件架构
64.图6是示出可以结合本文所描述的各种硬件架构使用的示例软件架构的框图。图6是软件架构的非限制性示例,并且将理解,可以实现多个其他架构以促进本文所描述的功能。软件架构606可以在硬件(诸如图7的机器700)上执行,机器700尤其包括处理器704、存储器714和i/o组件718。代表性的硬件层652被示出并可以表示例如图7的机器700。代表性的硬件层652包括具有相关联的可执行指令604的处理单元654。可执行指令604表示软件架构606的可执行指令,其包括本文所描述的方法、组件等的实现。硬件层652还包括也具有可执行指令604的存储器和/或存储模块存储器/存储设备656。硬件层652还可包括其他硬件658。
65.如本文所使用的,术语“组件”是指具有边界的设备物理实体或逻辑,该边界由提供特定处理或控制功能的分区或模块化的函数或子例程调用、分支点、应用程序接口(api)或其他技术来定义。组件可经由其接口与其他组件组合以执行机器过程。组件可以是被设计为与其他组件和通常执行相关功能的特定功能的程序的一部分一起使用的封装功能硬件单元。
66.组件可构成软件组件(例如,体现在机器可读介质上的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并可以以某种物理方式被配置或设置。在各种示例性实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统、或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为操作以执行如本文所描述的某些操作的硬件组件。硬件组件也可机械地、电子地或其任何合适的组合来实现。例如,硬件组件可包括被永久性地配置为执行某些操作的专用电路或逻辑。
67.硬件组件可以是专用处理器,诸如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可包括可编程逻辑或电路,其由软件临时配置为执行某些操作。例如,硬件组件可包括由通用处理器或其他可编程处理器执行的软件。一旦被这种软件配置,硬件组件变成被专门定制以执行所配置的功能的特定机器(或机器的特定组件),并且不再是通用处理器。可以理解,机械地在专用和永久配置的电路中或者在临时配置的电路中(例如,由软件配置的)实现硬件组件的决定可以由成本和时间考虑来驱动。
68.处理器可以是或包括根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并产生适用于操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑来模拟的物理电路)。处理器可以例如是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器可进一步是具有可同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。
69.因此,短语“硬件组件”(或“硬件实现的组件”)应被理解为包括有形实体,其被物理构造、永久配置(例如被硬连线)或临时配置(例如被编程)为以特定方式操作或执行本文所述的某些操作的实体。考虑到其中硬件组件被临时配置(例如编程)的实施例,每个硬件组件不需要在任何时刻被配置或实例化。例如,在硬件组件包括由软件配置为变成专用处理器的通用处理器的情况下,通用处理器可在不同时间被分别配置为不同的专用处理器(例如,包括不同的硬件组件)。因此,软件对应地配置特定处理器或处理器以例如在一个时刻构成一个特定硬件组件,而在另一个不同时刻构成另一个不同硬件组件。硬件组件可向其他硬件组件提供信息并从其他硬件组件接收信息。因此,所描述的硬件组件可以被认为是通信耦接的。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间的信号传输(例如通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以例如通过在多个硬件组件可以访问的存储器结构中存储和检索信息来实现这种硬件组件之间的通信。
70.例如,一个硬件组件可执行操作并将该操作的输出存储在它通信耦接到的存储器设备中。然后,另一硬件组件可以在稍后的时间访问存储器设备以检索和处理所存储的输出。硬件组件还可发起与输入或输出设备的通信,并且可以在资源(例如信息集合)上进行操作。本文所描述的示例方法的各种操作可以至少部分地由(例如通过软件)被临时配置或永久配置为执行相关操作的一个或多个处理器执行。无论是临时配置还是永久配置,这种处理器都可以构成操作以执行本文所述的一个或多个操作或功能的处理器实现的组件。如本文中所使用的,“处理器实现的组件”是指使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中一个或多个特定处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的组件执行。
71.此外,一个或多个处理器还可操作以支持相关操作在“云计算”环境中或作为“软件即服务”(saas)执行。例如,至少一些操作可由一组计算机(作为包括处理器的机器的示例)来执行,其中,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(api))访问。某些操作的执行可被分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器部署。在一些示例性实施例中,处理器或处理器实现的组件可位于单个地理位置中(例如,在家庭环境、办公室环境,或服务器群内)。在其他示例性实施例中,处理器或处理器实现的组件可被分布在多个地理位置上。
72.在图6的示例性架构中,软件架构606可以被概念化为层的堆叠,其中,每个层提供特定功能。例如,软件架构606可包括诸如操作系统602、库620、应用程序616和表示层614的层。在操作上,在层内的应用程序616和/或其他组件可以通过软件堆栈来调用应用程序接口(api)api调用608,并响应于api调用608来接收消息612。所示出的层本质上是代表性的,但并非所有软件架构都具有所有层。例如,某些移动或专用操作系统可以不提供框架/中间
件618,而其他操作系统可提供这种层。其他软件架构可包括附加的或不同的层。
73.操作系统602可管理硬件资源并提供公共服务。操作系统602可包括例如内核622、服务624和驱动器626。内核622可以充当硬件与其他软件层之间的抽象层。例如,内核622可负责存储器管理、处理器管理(例如调度)、组件管理、联网、安全性设置等。服务624可为其他软件层提供其他公共服务。驱动器626可负责控制底层硬件或与底层硬件接口连接。例如,驱动器626包括显示驱动器、相机驱动器、驱动器、闪存驱动器、串行通信驱动器(例如通用串行总线(usb)驱动器)、驱动器、音频驱动器、电源管理驱动器等,这取决于硬件配置。
74.库620提供由应用程序616和/或其他组件和/或层使用的通用基础结构。库620提供如下功能:允许其他软件组件以比直接与基础操作系统602功能(例如内核622、服务624和/或驱动器626)接口连接更容易的方式执行任务。库620可包括系统库644(例如c标准库),该系统库644可提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库620可包括api库646,诸如媒体库(例如,用于支持各种媒体格式(诸如mpreg4、h.264、mp3、aac、amr、jpg、png)的呈现和操作的库)、图形库(例如,可用于在显示器上呈现2d和3d图形内容的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、网络库(例如,可提供网络浏览功能的webkit)等。库620还可包括各种各样的其他库648,以向应用程序616和其他软件组件/模块提供多个其他api。
75.框架/中间件618(有时也称为中间件)提供可由应用程序616和/或其他软件组件/模块使用的高级通用基础结构。例如,框架/中间件618可提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件618可提供可由应用程序616和/或其他软件组件/模块使用的广泛的其他api,其中一些可以是特定于特定操作系统602或平台的。
76.应用程序616包括内置式应用程序638和/或第三方应用程序640。代表性的内置式应用程序638的示例可包括但不限于:联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用、和/或游戏应用。第三方应用程序640可包括由特定平台的供应方以外的实体使用android
tm
或ios
tm
软件开发工具包(sdk)开发的应用,并且可以是在移动操作系统(诸如ios
tm
、android
tm
、phone或其他移动操作系统)上运行的移动软件。第三方应用程序640可以调用由移动操作系统(诸如操作系统602)提供的api调用608,以促进本文所描述的功能。
77.应用程序616可以使用内置式操作系统功能(例如,内核622、服务624和/或驱动器626)、库620和框架/中间件618来创建用户界面以与系统的用户进行交互。可替代地或附加地,在一些系统中,与用户的交互可通过表示层(诸如表示层614)发生。在这些系统中,应用程序/组件“逻辑”可与跟用户交互的应用程序/组件的各方面分开。
78.图7是示出根据一些示例性实施例的机器700的组件(在此也被称为“模块”)的框图,该机器700能够从机器可读介质(例如机器可读存储介质)读取指令并执行本文所讨论的方法中的任何一个或多个。具体地,图7示出了采用计算机系统的示例形式的机器700的图解表示,在其中可以执行用于使机器700执行本文所讨论的任何一种或多种方法的指令(例如软件、程序、应用程序、小应用程序、应用软件、或其他可执行代码)。因此,指令710可用于实现本文所描述的模块或组件。指令710将通用的未被编程的机器700转换为被编程为
以所描述的方式执行所描述和示出的功能的特定机器700。在可替代实施例中,机器700作为独立设备运行,或者可耦接(例如联网)到其他机器。在网络部署中,机器700可以在服务器

客户端网络环境中以服务器机器或客户端机器的身份运行,或者在对等(或分布式)网络环境中作为对等机器运行。机器700可包括但不限于:服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、网络家电、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器700要采取的动作的指令710的任何机器。此外,尽管仅示出了单个机器700,但术语“机器”还应被认为包括单独地或共同地执行指令710以执行本文讨论的方法中的任何一个或多个方法的机器的集合。
79.机器700可包括处理器704、存储器/存储设备706、和i/o组件718,它们可以被配置为诸如经由总线702彼此通信。存储器/存储设备706可包括存储器714(诸如主存储器或其他存储设备)和存储单元716,它们均可由处理器704诸如经由总线702访问。存储单元716和存储器714存储体现本文所描述的方法或功能中的任何一个或多个的指令710。在由机器700执行指令710期间,指令710也可以全部或部分地驻留在存储器714内、在存储单元716内、在至少一个处理器704内(例如,在处理器的高速缓存存储器内)、或其任何适合的组合。因此,存储器714、存储单元716、和处理器704的存储器是机器可读介质的示例。
80.如本文所使用的,术语“机器可读介质”、“计算机可读介质”等可以是指能够临时或永久地存储指令和数据的任何组件、设备或其他有形介质。这种介质的示例可包括但不限于:随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁性介质、高速缓存存储器、其他类型的存储设备(例如,可擦可编程只读存储器(eeprom))和/或其任何适合的组合。术语“机器可读介质”应被认为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库,或相关联的高速缓存和服务器)。术语“机器可读介质”还可以被理解为包括能够存储由机器执行的指令(例如代码)以使得指令在由机器的一个或多个处理器执行时使机器执行本文所描述的任何一种或多种方法的任何介质或多种介质的组合。因此,“机器可读介质”可以是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读介质”不包括信号本身。
81.i/o组件718可包括各种各样的组件以提供用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等的用户接口。在特定机器700的用户接口中包括的特定i/o组件718将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这种输入机构,而无终端(headless)服务器机器将可能不包括这种触摸输入设备。应当理解,i/o组件718可包括在图7中未示出的多个其他组件。仅出于简化下面讨论的目的,根据功能对i/o组件718进行分组,并且该分组绝不是限制性的。在各种示例性实施例中,i/o组件718可包括输出组件726和输入组件728。输出组件726可包括视觉组件(例如显示器(诸如等离子体显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd))、投影仪、或阴极射线管(crt))、声音组件(例如扬声器)、触觉组件(例如,振动电机、电阻机构)、其他信号发生器等。输入组件728可包括字母数字输入组件(例如,键盘、被配置为接收字母数字输入的触摸屏、光电键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触摸输入组件(例如,物理按钮、提供触摸的位
置和/或力或触摸手势的触摸屏,或其他触摸输入组件)、音频输入组件(例如麦克风)等。输入组件728还可包括一个或多个图像捕获设备,诸如用于生成数字图像和/或视频的数字相机。
82.在其它示例性实施例中,i/o组件718可包括生物识别组件730、运动组件734、环境组件736或定位组件738、以及各种各样的其他组件。一个或多个这种组件(或其部分)在本文中可以统称为“传感器组件”或“传感器”,用于收集与机器700、机器700的环境、机器700的用户、或其组合有关的各种数据。
83.例如,生物识别组件730可包括用于检测表达(例如,手部表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件734可包括加速度传感器组件(例如加速度计)、重力传感器组件、旋转传感器组件(例如陀螺仪)等。环境组件736可包括例如照明传感器组件(例如光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,一个或多个检测背景噪声的麦克风)、接近度传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,用于为了安全而检测危险气体浓度或测量大气中的污染物的气体检测传感器)、或可提供与周围物理环境相对应的指示、测量或信号的其他组件。定位组件738可包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,高度计或检测可从中导出高度的空气压力的气压计)、定向传感器组件(例如磁力计)等。例如,位置传感器组件可以提供与系统700相关联的位置信息,诸如系统700的gps坐标和/或关于系统700当前所在位置的信息(例如,餐厅或其他企业的名称)。
84.可使用多种技术来实现通信。i/o组件718可包括通信组件740,该通信组件740可操作以分别经由耦接(coupling)722和耦接724而将机器700耦接到网络732或设备720。例如,通信组件740可包括网络接口组件或与网络732相接的其它合适设备。在进一步的示例中,通信组件740可包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如低功耗)、组件以及经由其它模式提供通信的其他通信组件。设备720可以是另一机器或各种各样的外围设备中的任何一个(例如,经由通用串行总线(usb)耦接的外围设备)。
85.此外,通信组件740可检测标识符或包括可操作以检测标识符的组件。例如,通信组件740可包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,光学传感器,其用于检测一维条形码(诸如通用产品代码(upc)条形码)、多维条形码(例如快速响应(qr)码、aztec码、数据矩阵、dataglyph、maxicode、pdf417、超码、ucc rss

2d条形码)、和其他光学码)、或声学检测组件(例如,用于识别带标记的音频信号的麦克风)。另外,可以经由通信组件740来导出各种信息,诸如经由互联网协议(ip)地理位置的位置、经由信号三角测量的位置、经由检测可指示特定位置的nfc信标信号的位置等。
86.在使用类似于“a、b或c中的至少一个”、“a、b和c中的至少一个”、“一个或多个a、b或c”、“a、b和c中的一个或多个”的短语的情况下,短语被解释为意指a单独可存在于实施例中,b单独可存在于实施例中,c单独可存在于实施例中,或者元素a、b和c的任何组合可以存在于单个实施例中;例如,a和b、a和c、b和c、或a和b和c。
87.在不脱离本公开的范围的情况下,可以对所公开的实施例做出改变和修改。这些和其他改变或修改旨在包括在如以下权利要求中表达的本公开的范围内。
再多了解一些

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

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

相关文献