用于建议导航目的地的网络平台背景技术
现今,用户能够消费各种各样的网络(web)内容。通常,用户能够将搜索项输入到搜索引擎中,以返回可能也可能不包括感兴趣内容的搜索结果的列表。这个方案无法提供以有效且流线型方式向用户显现(surface)感兴趣内容的所希望的用户体验。
发明内容
提供这个概述部分来以简化的形式介绍下面在具体描述部分中进一步描述的概念的选择。这个概述部分并不打算识别所请求保护的主题的关键特征或基本特征。
各种实施例提供网络平台,例如网络浏览器,其被设计成以快速且有效的方式促进用户访问网站。网络平台包括地址栏,并且在键击(keystroke)被输入到地址栏中时,基于匹配字符输入利用来自各种数据源的组合的相关建议来填充用户界面容器(container)。数据源能够包括本地源和远程源。
在一个或多个实施例中,相关建议能够包括深度链接导航建议、搜索建议、本地应用建议等等。
附图说明
参考附图来描述具体描述部分。在附图中,参考数字之中最左侧(一个或多个)数字识别该参考数字首次出现在其中的附图。在说明书和附图中在不同的实例中相同的参考数字的使用可以指示相类似或相同的项。
图1是根据一个或多个实施例的示例实现方式的环境的图解。
图2是更详细显示图1的示例实现方式中的系统的图解。
图3举例说明根据一个或多个实施例的示例用户界面。
图4是描述根据一个或多个实施例的方法中的步骤的流程图。
图5举例说明根据一个或多个实施例的示例用户界面。
图6是描述根据一个或多个实施例的方法中的步骤的流程图。
图7举例说明能够被利用来实现本文描述的各种实施例的示例计算设备。
具体实施方式
综述
各种实施例提供被设计成以快速且有效的方式促进用户访问网站的网络平台,例如网络浏览器。网络平台包括地址栏,并且在键击被输入到地址栏中时,基于匹配字符输入利用来自各种数据源的组合的相关建议来填充用户界面容器。数据源能够包括本地源,诸如键入的URL、用户的浏览历史、收藏夹和固定站点(pinnedsite)。数据源也能够包括远程源,诸如服务提供商,其能够提供深度链接导航建议、天气建议、金融建议、本地应用建议和搜索建议,这些只是其中的一部分。
网络平台是结合诸如公开内容之类的网络的内容来工作的平台。网络平台能够包括和利用许多不同类型的技术,举个例子而非限制,诸如URL、HTTP、REST、HTML、CSS、JavaScript、DOM以及其他技术。网络平台也能够利用各种各样的数据格式诸如XML、JSON等等来工作。网络平台能够包括网络浏览器、本地应用诸如能够在用户的本地计算设备上安装和运行的Windows?Store(商店)应用等等。
在一个或多个实施例中,相关建议能够包括深度链接导航建议、搜索建议、本地应用建议等等。在操作中,例如服务提供商之类的远程源尝试基于被分配给它从网络平台接收的键击组合的置信度(confidence)信息来预测用户的预期导航。基于其以键击为基础的预测,远程源能够返回相关建议,而随后能够利用网络平台在用户界面容器中填充这些相关建议。用户然后能够利用在用户界面容器中的填充项来进行导航、启动本地应用、安装本地应用或接收针对查询的回答,如在下面将变得明显的。
在以下讨论中,首先描述可操作来采用本文描述的技术的示例环境。随后描述可以在示例环境中以及在其他环境中采用的各种实施例的示例说明。相应地,示例环境并不限于执行所描述的实施例,并且所描述的实施例并不限于示例环境中的实现方式。
示例操作系统
图1是可操作来采用在这个文献中描述的技术的示例实现方式中的环境100的图解。所举例说明的环境100包括可以采用各种各样的方式进行配置的计算设备102的示例。例如,计算设备102可以被配置成传统的计算机(例如台式个人计算机、膝上型计算机等等)、移动站、娱乐器具、通信地耦合至电视的机顶盒、无线电话、上网本、游戏机、手持设备等等,如结合图2进一步描述的。因而,计算设备102可以涵盖从具有大量存储器与处理器资源的全资源设备(例如个人计算机、游戏机)到具有有限存储器和/或处理资源的低资源设备(例如传统的机顶盒、掌上游戏机)的范围。计算设备102也包括导致计算设备102执行如下所述的一个或多个操作的软件。
计算设备102也包括网络平台104。如上所述,网络平台结合网络的内容例如诸如网页等等的公开内容来工作。网络平台能够包括和利用许多不同类型的技术,举个例子而非限制,诸如URL、HTTP、REST、HTML、CSS、JavaScript、DOM等等。网络平台也能够利用各种各样的数据格式诸如XML、JSON等等来工作。网络平台能够包括网络浏览器、本地应用诸如Windows?Store应用等等。在下述的示例中,利用采用具有地址栏的网络浏览器的形式的网络平台。然而,将意识到并且明白:除了网络浏览器之外的网络平台能够采用本发明的原理。
计算设备102也包括手势(gesture)模块105,其辨别能够利用一根或多根手指执行的输入指针手势并导致与这些手势相对应的操作或动作被执行。可以利用模块105以各种各样不同的方式来辨别这些手势。例如,手势模块105可以被配置成辨别触摸输入,诸如用户的手106a的手指邻近使用触屏功能或例如使用近场技术来感测可能不一定物理触摸显示设备108的用户的手指的邻近性的计算设备102的显示设备108。模块105能够被利用来辨别单手指手势与边框(bezel)手势、多手指/同一只手的手势与边框手势、和/或多手指/不同只手的手势与边框手势。
计算设备102也可以被配置成检测和区分(例如,利用用户的手106a的一根或多根手指所提供的)触摸输入与(例如,利用手写笔116所提供的)手写笔输入。可以采用各种各样的方式诸如通过相对于被手写笔116所接触的显示设备108的数量检测利用用户的手106a的手指所接触的显示设备108的数量来执行区分。
因而,手势模块105通过辨别和利用手写笔与触摸输入以及不同类型的触摸输入与非触摸输入之间的区分而可以支持各种各样不同的手势技术。
图2举例说明包括如参考图1所描述的计算设备102的示例系统200。示例系统200当在个人计算机(PC)、电视设备和/或移动设备上运行应用时为了无缝用户体验而使能(enable)无处不在的环境。在利用应用、播放视频游戏、观看视频等等的同时当从一个设备过渡到下一个设备时,为了共同的用户体验,服务和应用在所有三种环境中实质上类似运行。
在示例系统200中,多个设备通过中央计算设备进行互连。中央计算设备对于多个设备而言可以是本地的或可以远离多个设备进行定位。在一个实施例中,中央计算设备可以是一个或多个服务器计算机的云。这些计算机能够通过网络、因特网或其他的数据通信链接而被连接到多个设备。在一个实施例中,这种互连架构使得能够跨越多个设备来传递功能,以便给多个设备的用户提供共同且无缝的体验。多个设备之中的每一个设备可以具有不同的物理需求和能力,并且中央计算设备使用平台来使得对该设备而言是定制的且对所有设备而言又是共同的体验能够传递至该设备。在一个实施例中,创建目标设备的类别(class),并且针对设备的通用类别来定制体验。设备的类别可以利用这些设备的物理特征、使用的类型或其他的共同特性来定义。
在各种实现方式中,计算设备102可以采取诸如计算机202、移动站204和电视206使用的各种各样不同的配置。这些配置之中的每一种配置包括一般可以具有不同结构与能力的设备,并因而可以根据不同设备类别之中的一个或多个来配置计算设备102。例如,计算设备102可以被实现为设备的计算机202类别,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等等。这些不同配置之中的每一种配置可以采用网络平台,例如网络浏览器,如上且如下所述。
计算设备102也可以被实现为设备的移动设备204类别,其包括移动设备诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等等。计算设备102也可以被实现为设备的电视206类别,其包括在随意观看环境中具有一般较大屏幕或者连接至一般较大屏幕的设备。这些设备包括电视、机顶盒、游戏机等等。本文描述的技术可以利用计算设备102的这些不同配置来支持,并且不限于本文描述的技术的特定示例。
云208包括和/或代表用于内容服务212的平台210。平台210抽象化云208的硬件(例如,服务器)和软件资源的底层功能。内容服务212可以包括在计算机处理正运行在远离计算设备102的服务器上的同时能够被利用的应用和/或数据。内容服务212能够作为因特网上的服务和/或通过订户(subscriber)网络诸如蜂窝或Wi-Fi网络来提供。
平台210可以抽象化资源和功能来将计算设备102与其他计算设备相连接。平台210也可以用于抽象化资源的缩放(scaling),以提供相应级别的缩放至经由平台210实现的内容服务212的所遇到需求。相应地,在互连设备实施例中,本文描述的功能的实现可以分布于整个系统200。例如,可以部分地在计算设备102上以及经由抽象化云208的功能的平台210来实现功能。
一般地,本文描述的任何功能能够使用软件、固件、硬件(例如固定的逻辑电路)、人工处理或这些实现方式的组合来实现。本文使用的术语“模块”、“功能”和“逻辑”一般代表软件、固件、硬件或其组合。在软件实现方式的情况中,模块、功能或逻辑代表当在处理器(例如,一个或多个CPU)上运行或由处理器运行时执行指定任务的程序代码。程序代码能够被存储在一个或多个计算机可读存储设备中。下述的手势技术的特征是平台无关的,这意味着:可以在具有各种各样处理器的各种各样的商业计算平台上实现这些技术。
在接下来的讨论中,各个章节描述各种示例实施例。标题为“DeepLinkNavigationSuggestions(深度链接导航建议)”的章节描述如何能够利用输入到地址栏中的文本来使得深度链接导航建议能够利用网络平台来提供。接下来,标题为“LocalApplicationSuggestions(本地应用建议)”的章节描述如何能够利用输入到地址栏中的文本来使得本地应用能够利用网络平台来建议。在此之后,标题为“RichAnswers(丰富的回答)”的章节描述地址栏如何能够充当基础来输入针对其提供一个或多个响应的查询。接下来,标题为“PrioritizationRules(优先级规则)”的章节描述根据一个或多个实施例的各种优先级规则。最后,标题为“ExampleDevice(示例设备)”的章节描述能够被利用来实现一个或多个实施例的示例设备的各方面。
在描述了其中能够采用本发明的原理的示例操作环境之后,现在考虑各种实施例的讨论。
深度链接导航建议
在一个或多个实施例中,网络平台例如网络浏览器包括地址栏,并且在键击被输入到地址栏中时,基于匹配字符输入,利用来自包括本地来源以及一个或多个远程源的各种数据源的组合的相关建议来填充用户界面容器。本地数据源能够包括用户的浏览历史、收藏夹、固定站点、键入的URL等等。远程源能够包括服务提供商,诸如如同Microsoft等等之类的公司。
在一个或多个实施例中,相关建议能够包括深度链接导航建议。从服务提供商返回的深度链接导航建议构成这样的建议,对于这些建议而言,基于其输入的键击,服务提供商具有顶级域是用户打算导航的地方的高置信度。服务提供商通过维护与大量用户所输入的键击相关联的数据以及相应的字符串如何映射至导航目的地来查明置信度级别。
除了返回顶级域之外,服务提供商还返回至那个特别域内最受欢迎页面的链接。因此,例如,随着时间的推移,在用户浏览至各个顶级域时,他们也浏览至那些域内更深的级别或链接。在这些情况下,服务提供商维护与域内最受欢迎的较深级别相关联的数据或统计资料,而这又随后能够用于返回建议至网络浏览器,如上且如下所述。这基于导航至顶级域的用户在统计上将倾向于导航至那个域内的深度链接的观念。这些深度链接导航建议基于这些启发法(heutistics)并且尝试尽可能快地向用户显现相关页面。
一旦这些深度链接导航建议被返回至网络浏览器,则建议能够显示在用户界面容器中并且为用户提供进入点(entrypoint)来快速地导航至顶级域内的页面。因此,例如,当用户选择特别建议时,他们将被导航至其默认搜索提供商的结果页面。搜索提供商可能不一定附属于与服务提供商所附属于的相同的实体。
作为示例,考虑图3。在那里,根据一个或多个实施例一般在300显示网络浏览器用户界面。在这个特别示例中,网络浏览器用户界面300包括具有地址栏304的用户界面容器302。地址栏能够由用户利用来键入文本,以引起浏览器导航活动。在用户将文本键入到地址栏304中时,该地址栏能够提供自动完成建议。在这个特别示例中,用户在地址栏中键入了“cos”,并且该地址栏提供了自动完成文本“tco.com”,用于推荐“costco.com”。
地址栏也具有另一功能。在所举例说明和所描述的实施例中,在用户键入键击时,每一个键击或一组键击能够被提供至远程服务提供商。服务提供商接收此(一个或多个)键击并进行搜索来识别潜在的导航目标。这通过将所接收的(一个或多个)键击与服务提供商维护的跨越大量用户定义在所输入的键击与导航目的地之间的关联性的数据进行比较来完成。服务提供商随后以建议的形式将潜在的导航目标返回至网络浏览器,而网络浏览器转而能够在用户界面容器302中显示这些建议。这些建议能够包括诸如在306所示的顶级域。例如,这些建议能够与顶级域自身例如www.costco.com一起包括文本,诸如“WelcometoCostcoWholesale”。另外,这些建议也能够包括与顶级域一起显示的收藏夹图标(favicon)或瓷砖(tile)306a。
另外,也能够显示一组深度链接导航建议,其示例显示在308。这些深度链接导航建议跟随在与顶级域306相关联的文本的后面。在一个或多个实施例中,这些深度链接导航建议能够依照一旦用户位于顶级域上时用户通常导航至那个特别深度链接的频率来排列。在这个特别示例中,最受欢迎的深度链接是“StoreLocator(商店定位符)”,其后面跟随着“PhotoCenter(照片中心)”等等。在所举例说明和所描述的实施例中,每一个深度链接显示它与之相关联的顶级域,即使其目标URL不是顶级域。利用每一个深度链接导航建议来显示顶级域,这提供该组深度链接导航建议的视觉关联度。另外,通过将相同的收藏夹图标与每一个深度链接导航建议结合使用,也能够增强深度链接导航建议与顶级域的视觉关联性。
现在,针对网站提供多个进入点。通过简单地点击这些导航建议之一,能够将用户的浏览器导航至那个特别页面。这能够极大地促进和增强用户的体验。作为示例,考虑以下情况。
在先前的方案中,如果用户希望导航至Costco网站上的客户服务页面,则他们能够在地址栏中输入CostcoURL,以导致其浏览器导航至Costco的主页。一旦在该主页上,用户通常将搜索内容表格或客户服务页面的适当标签(tab)。通过在内容表格或相关联的标签中点击适当的条目,用户的浏览器随后将被导航至客户服务页面。
现在,通过显示与被认为是预期导航的主题的顶级域相关联的信息以及多个深度链接导航建议,在用户将键击输入到地址栏中时,用户能够选择这些进入点之一,以导致其浏览器被导航至深度链接位置。这能够避免用户不得不针对顶级域进行导航以及随后寻找适当的深度链接位置。因而,在任何浏览器导航至预定站点之前,在用户界面容器302中显示深度链接导航建议,并且用户不必物理地导航至搜索页面、输入查询以及随后接收具有建议的页面。
在用户将键击输入到地址栏中时,这些键击能够以任何合适的方式被提供给服务提供商。作为示例,考虑以下情况。在一个或多个实施例中,当用户输入其第一键击时,该键击能够以查询的形式被提供给服务提供商,以致服务提供商能够开始研制包含导航建议诸如深度链接导航建议之类的建议。然而,如果在分派(dispatch)针对第一键击的查询之前键入第二键击,则浏览器不发送第一查询至服务提供商。如果在第一查询从服务提供商返回之前键入第二键击,则不显示第一查询的建议。如果在第一查询的建议正由网络浏览器处理的同时键入第二键击,则网络浏览器不显示第一查询的建议。
在考虑了根据一个或多个实施例的示例用户界面之后,现在考虑根据一个或多个实施例的示例方法。
图4是描述根据一个或多个实施例的方法中的步骤的流程图。该方法能够结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,该方法的各方面利用诸如网络浏览器(举个例子,而非限制)之类的网络平台来实现。该方法的其他方面能够利用远程源诸如通过因特网访问的服务提供商来执行。这通过将流程图的一个部分标明为“WebPlatform(网络平台)”并将流程图的另一部分标明为“ServiceProvider(服务提供商)”来指示。另外,这个特别示例中的流程图假设:在用户界面容器中针对每一个输入的键击再现建议。然而,如上所述,不一定是这样的。例如,如果在第一键击之后非常快速地输入第二键击以致在输入第二键击之前不能发送针对第一键击的查询,则将不发送第一查询。因此,因为没有针对第一键击的建议,所以没有相关联的建议显示。
步骤400在地址栏中接收键击。响应于在地址栏中接收到键击,步骤402针对本地搜索并且针对远程搜索制定查询。步骤404基于所制定的针对本地搜索的查询来进行本地搜索。这个步骤能够以任何合适的方式来执行并且能够搜索任何合适的源,在上面提供其示例。步骤406发送针对远程搜索的查询至服务提供商。
步骤408在服务提供商上接收针对远程搜索的查询。步骤410进行远程搜索,并且步骤412将与搜索相关联的建议返回至网络平台。能够以任何合适的方式来执行这个步骤。例如,在至少一些实施例中,这些建议能够包括针对顶级域的建议以及相关联的深度链接导航建议。这些深度链接导航建议可以也可以不根据其受欢迎程度来排名。
步骤414从服务提供商接收建议,并且步骤416在用户界面容器中再现这些建议,在上面提供其示例。将意识到并明白:这个步骤也能够包括同样在用户界面容器内再现与本地搜索相关联的建议。相应地,出现在用户界面容器中的建议构成能够被选择来导致浏览器导航至特别站点的进入点。步骤418查明是否在地址栏中已输入了任何附加键击。如果在地址栏中输入了附加键击,则该方法返回至步骤402来针对本地和远程搜索二者制定查询。另一方面,如果没有在地址栏中输入了附加键击,则步骤420终止该处理。
在考虑了根据一个或多个实施例的深度链接导航建议之后,现在考虑本地应用建议。
本地应用建议
在一个或多个实施例中,当用户在网络平台的地址栏中输入键击时,用户界面容器利用与本地应用相关联的相关建议来填充。基于用户输入的键击,通过以导航意图为基础的本地应用能够提供这些相关建议。
现今,许多网站具有能够被用户获取并被安装在其计算设备上的相关联的本地应用。这些本地应用是站点特定的并且提供专门针对特别网站的内容而设计的沉浸式(immersive)用户体验。例如,Netflix维护包括能够被网络浏览器消费的网络内容的网站。因此,该网站的内容能够使用典型的浏览器导航媒介(instrumentality)来探索。Netflix也维护被设计成本地安装并提供利用Netflix专门定义的用户体验的本地应用。这种体验可以包括与网络浏览器的用户界面不同的用户界面(例如,通过包含特定品牌的内容等等)以及与网络浏览器的导航媒介不同的导航媒介。本地应用通常能够被安装在用户的计算机上并且能够通过点击或以其他方式选择能够出现在计算机的桌面、开始菜单或任务栏上的品牌收藏夹图标而被访问。由于利用特别实体被设计用于与该实体的内容进行交互,所以能够作出假设:与使用网络浏览器与实体的内容简单地进行交互相比,本地应用有可能提供更好的用户体验。因而,具有本地应用的实体可能希望用户使用其定制的本地应用而不是网络浏览器来与其内容进行交互。
在一个或多个实施例中,在用户输入键击时并且在进行导航之前,进行基于导航意图的本地应用搜索,以查明是否用户输入的键击和具有相关联的本地应用的网站有关。这能够以任何合适的方式来执行。例如,网络开发人员能够在其广告本地应用的存在的网页中插入HTTP元标记。能够利用网络爬虫(crawler)数据来查明哪些顶级域广告本地应用。可供选择地或附加地,对本地应用的目录进行众包(crowdsourcing),以查明大量的个体相信本地应用所针对的域存在。可供选择地或附加地,应用开发人员能够在搜索引擎的门户中指示与他们拥有的域的正准关联性(canonicalassociation)。
如果用户输入的键击和具有相关联的本地应用的网站有关,则网络平台查明是否在用户的计算机上安装本地应用。这能够以任何合适的方式来完成。例如,在至少一些实施例中,能够作出API调用,并且能够提供本地应用的包的散列(hash)。API能够用于检查,以查看是否本地应用被安装,并且能够利用“是”或“否”回答来返回。
如果本地应用被安装在用户的计算机上,则利用能够使得用户能够直接启动本地应用的可选择的进入点媒介来填充用户界面容器。另一方面,如果在用户的计算机上没有安装本地应用,则利用可选择的进入点媒介来填充用户界面容器,以使得用户能够安装本地应用。这个进入点能够包括至从中能够获得和安装本地应用的应用商店的链接。
作为示例,考虑图5。在那里,根据一个或多个实施例一般在500显示网络浏览器用户界面。网络浏览器用户界面500包括具有地址栏504的用户界面容器502。用户能够利用地址栏来键入文本,以引起浏览器导航。在用户将文本键入到地址栏504中时,该地址栏能够提供自动完成建议。在这个特别示例中,用户在地址栏中键入了“netf”,并且该地址栏提供了自动完成文本“lix.com”,用于推荐“netflix.com”。
在所举例说明和所描述的实施例中,在用户键入键击时,每一个键击或一组键击能够被提供给远程源,诸如服务提供商。服务提供商接收此(一个或多个)键击并且进行搜索来识别是否具有与用户的键击相匹配的任何本地应用。这能够通过首先确定与这些键击相关联的顶级域以及随后针对顶级域来查明是否它具有相关联的本地应用来完成。服务提供商随后返回本地应用的名称并且在一些情况中返回能够用于识别本地应用的信息例如每一个本地应用的包的散列至浏览器。浏览器现在能够查明是否本地应用被安装在用户的计算机上。如果本地应用被安装在用户的计算机上,则能够在用户界面容器502中显示可选择的进入点媒介,诸如在506上的可选择的进入点媒介。通过选择这个媒介,用户能够自动地启动本地应用。另一方面,如果在用户的计算机上没有安装本地应用,则能够在用户界面容器502中显示可选择的进入点媒介,诸如在508所示的可选择的进入点媒介。这通知用户:在用户导航至特别网站之前,具有可用的本地应用。通过选择这个媒介,能够利用在应用商店中用于搜索的相应的应用条目例如“Netflix”来启动应用商店。从那里,用户能够安装本地应用。
在考虑了根据一个或多个实施例的示例用户界面之后,现在考虑根据一个或多个实施例的示例方法。
图6是描述根据一个或多个实施例的方法中的步骤的流程图。该方法能够结合任何合适的硬件、软件、固件或其组合来实现。在至少一些实施例中,该方法的各方面利用网络平台诸如网络浏览器(举个例子,而非限制)来实现。该方法的其他方面能够利用远程源诸如通过因特网访问的服务提供商来执行。这通过将流程图的一部分标明为“WebPlatform”以及将流程图的另一部分标明为“ServiceProvider”来指示。另外,这个特别示例中的流程图假设:针对每一个输入的键击在用户界面容器中再现建议。然而,如上所述,不一定是这样的。例如,如果在第一键击之后非常快速地输入第二次键击以致在输入第二键击之前不能发送针对第一键击的查询,则将不发送第一查询。因此,因为没有针对第一键击的建议,所以没有相关联的建议显示。
步骤600在地址栏中接收键击。响应于在地址栏中接收到键击,步骤602针对远程搜索诸如针对服务提供商制定查询。步骤604将针对远程搜索的查询发送至服务提供商。
步骤606在服务提供商接收针对远程搜索的查询。步骤608进行远程搜索,并且步骤610向网络平台返回建议。该步骤能够以任何合适的方式来执行。例如,在至少一些实施例中,这些建议能够包括可以也可以不具有排名顺序的一个或多个本地应用建议。如果排名的话,能够使用任何合适的标准,例如受欢迎程度、新旧程度等等。
步骤612从服务提供商接收建议,并且步骤614查明是否安装这些本地应用之中的一个或多个。上面提供如何能够完成此的示例。如果安装这些本地应用之中的一个或多个,则步骤616在用户界面容器中显示可选择的进入点媒介,以启动这些本地应用之中的一个或多个。上面描述示例媒介。另一方面,如果没有安装本地应用,则步骤618在用户界面容器中显示可选择的进入点媒介,以安装本地应用。上面提供如何能够完成此的示例。
步骤620查明是否在地址栏中输入了任何附加键击。如果在地址栏中输入了附加键击,则该方法返回至步骤602,以便针对远程搜索制定查询。另一方面,如果没有在地址栏中输入附加键击,则步骤622终止该处理。
在考虑了根据一个或多个实施例的本地应用建议之后,现在考虑如何能够利用用户界面容器来提供丰富的回答。
丰富的回答
在一个或多个实施例中,用户界面容器的地址栏能够被利用来接收来自用户的查询。查询随后能够被发送至服务提供商,而服务提供商随后能够返回能够在用户界面容器中显示的回答。
作为示例,考虑以下情况。如果居住在西雅图,持续的天气变化是难以预测的。Oliver(奥利弗)去下楼与朋友见面以共进午餐,但是外面看起来灰蒙蒙且有风。Oliver想知道他是否需要毛衣。Oliver在用户界面容器的地址栏中键入“Bellevuewea(贝尔维尤天气)”。字符串被发送至服务提供商,而服务提供商返回针对其查询的回答。该回答能够包括在用户界面容器中在瓷砖中显示的视觉和文本信息二者。Oliver现在能够选择该瓷砖以便被导航至具有“Bellevueweather”作为所输入查询的结果页面。
同样地,Peter(彼得)不断获悉XYZ公司的股票不是做得很好。Peter想知道其当前的股票价格。相应地,Peter在用户界面容器的地址栏中键入“XYZ”,因而提供金融查询。这个文本串随后被发送至服务提供商,而服务提供商转而返回能够包括有关XYZ公司的股票的视觉和文本信息二者的回答。随后能够在用户界面容器中在瓷砖中显示该回答。Peter现在能够选择该瓷砖并被导航至具有“XYZstock(股票)”作为所输入查询的结果页面。
在考虑了根据一个或多个实施例如何能够提供丰富的回答之后,现在考虑根据一个或多个实施例的各种优先级规则。
优先级规则
常见的情景能够是:返回比用户界面容器中所分配的实际版面(realestate)将允许的更多的与用户的输入相匹配的建议。虽然用户界面容器能够是可滚动的,但是可能所希望的是避免使得用户不得不使用滚动机制。在这种情况下,建议能够被划分优先级,并且能够以尝试为用户显现最相关或个性化建议的方式来显现建议。根据一个或多个实施例,各种类型的优先级规则能够被利用来增强用户的体验。这些规则能够包括一般规则、数据类型特定的规则、排名规则和排序规则。
一般规则全局应用于用户界面容器。一般规则的示例能够是定义将如何提供信息至服务提供商的规则。例如,规定以下内容的一般规则可能存在:如果在地址栏中输入单个字符,则提供那个单个字符给服务提供商,以便服务提供商能够进行其搜索。可供选择地,一般规则可以指定:将提供不少于两个的字符至服务提供商。
数据类型特定的规则和启发法确定将在用户界面容器中显现的每一种数据类型的数量。例如,想起:举个例子而非限制,数据类型能够包括所键入的URL、固定站点、收藏夹、历史记录等等。数据类型也能够包括深度链接导航建议、域建议、丰富的回答、搜索建议和本地应用建议。数据类型特定的规则能够定义在用户界面容器中显现的每一种数据类型的数量。数据类型特定的建议还能够定义数据类型之间的排名。例如,从远程源接收的数据类型能够如下来排名:深度链接导航建议;域建议;丰富的建议;搜索建议;和本地应用建议。
排名规则能够被利用来确定将在用户界面容器中显现的每一种数据类型的数量。例如,能够定义每一种本地数据类型的最大数量。在其中多于所分配数量的特别数据类型与用户的输入相匹配的情况下,能够显现具有最高访问频率的本地数据类型。远程数据类型能够采用任何合适的方式来排名。例如,相对于本地应用而言,这样的应用能够依照新鲜度或受欢迎程度来排名。
排序规则和启发法能够被利用来确定如何在用户界面容器中对建议进行排序。在一个或多个实施例中,排序规则能够被利用来以从上到下、从左到右的方式对建议进行排序。这种排序能够被调节以适应双向语言。能够基于数据类型的层级(hierarchy)在用户界面容器中显示建议。例如,对于本地建议而言,层级可以是如下:键入的URL;固定站点;收藏夹;和历史记录。在每一个本地数据类型内,能够依照最高访问频率来排序项。远程建议能够利用或网络平台或服务提供商来排名。
在考虑了各种实施例之后,现在考虑能够被利用来实现上述实施例的示例设备的讨论。
示例设备
图7举例说明能够被实现为如参考图1和2所描述的任何类型的便携式和/或计算机设备的示例设备700的各个组件,以实现本文描述的动画库的实施例。设备700包括通信设备702,其使能设备数据704(例如接收的数据、正在接收的数据、被调度用于广播的数据、数据的数据分组等等)的有线和/或无线通信。设备数据704或其他设备内容能够包括设备的配置设置、存储在设备上的媒体内容和/或与设备的用户相关联的信息。存储在设备700上的媒体内容能够包括任何类型的音频、视频和/或图像数据。设备700包括一个或多个数据输入706,其中经由数据输入能够接收任何类型的数据、媒体内容和/或输入,诸如用户可选择的输入、消息、音乐、电视媒体内容、所记录的视频内容以及从任何内容和/或数据源接收的任何其他类型的音频、视频和/或图像数据。
设备700也包括通信接口708,其能够被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器之中的一种或多种接口以及被实现为任何其他类型的通信接口。通信接口708在设备700与通信网络之间提供其他的电子、计算和通信设备利用来与设备700传送数据的连接和/或通信链接。
设备700包括一个或多个处理器710(例如微处理器、控制器等等之中的任何一个),其处理各种计算机可执行或可读指令,以控制设备700的操作和实现上述的实施例。可供选择地或附加地,设备700能够利用结合一般在712标识的处理与控制电路来实现的硬件、固件或固定逻辑电路之中的任何一个或其组合来实现。虽然没有显示,但是设备700能够包括耦合设备内的各个组件的系统总线或数据传输系统。系统总线能够包括不同的总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种各样总线架构中的任一架构的处理器或本地总线之中的任何一个或其组合。
设备700也包括计算机可读媒体714,诸如一个或多个存储器组件,其示例包括随机存取存储器(RAM)、非易失性存储器(例如只读存储器(ROM)、闪存、EPROM、EEPROM等等中的任何一个或多个)和盘存储设备。盘存储设备可以被实现为任何类型的磁或光存储设备,诸如硬盘驱动器、可记录和/或可重写光盘(CD)、任何类型的数字多用途盘(DVD)等等。设备700也能够包括大容量存储媒体设备716。
计算机可读媒体714提供数据存储机制来存储设备数据704以及各种设备应用718和任何其他类型的与设备700的操作方面相关的信息和/或数据。例如,操作系统720能够利用计算机可读媒体714作为计算机应用来维护并在处理器77上运行。设备应用718能够包括设备管理器(例如控制应用、软件应用、信号处理与控制模块、对于特别设备而言本机的代码、用于特别设备的硬件抽象层等等)以及其他应用,其中其他应用能够包括网络浏览器、图像处理应用、通信应用诸如即时消息传递应用、字处理应用以及各种各样其他不同的应用。设备应用718也包括任何系统组件或模块来实现本文描述的技术的实施例。在这个示例中,设备应用718包括被显示为软件模块和/或计算机应用的接口应用722和手势捕获驱动器724。手势捕获驱动器724代表用于提供具有被配置成捕获手势的设备的接口诸如触摸屏、跟踪板、照相机等等的软件。可供选择地或附加地,接口应用722和手势捕获驱动器724能够被实现为硬件、软件、固件或其任何组合。另外,计算机可读媒体714能够包括如上起作用的网络平台725a和手势模块725b。
设备700也包括给音频系统728提供音频数据和/或给显示系统730提供视频数据的音频和/或视频输入-输出系统726。音频系统728和/或显示系统730能够包括处理、显示和/或以其他方式再现音频、视频和图像数据的任何设备。视频信号和音频信号能够经由RF(射频)链接、S视频链接、复合视频链接、分量视频链接、DVI(数字视频接口)、模拟音频连接或其他类似的通信链接而被从设备700传送至音频设备和/或至显示设备。在实施例中,音频系统728和/或显示系统730被实现为针对设备700而言外部的组件。可供选择地,音频系统728和/或显示系统730被实现为示例设备700的集成组件。
结论
各种实施例提供网络平台,例如网络浏览器,其被设计成以快速且有效的方式促进用户访问网站。网络平台包括地址栏,并且在键击被输入到地址栏中时,基于匹配字符输入利用来自各种数据源的组合的相关建议来填充用户界面容器。数据源能够包括用户的浏览示例、收藏夹以及来自诸如服务提供商之类的远程源的域建议。
在一个或多个实施例中,相关建议能够包括深度链接导航建议、搜索建议、本地应用建议等等。
虽然以特定于结构特征和/或方法动作的语言描述了这些实施例,但是将明白:在所附的权利要求中定义的实施例不一定限于所描述的特定特征或动作。相反,这些特定特征和动作被披露为实现所请求保护的实施例的示例形式。