专利名称:系统级搜索用户界面的注册的制作方法
系统级搜索用户界面的注册
背景技术:
随着计算机已经越来越变得普遍,已经变得对用户可用的电子数据的量已经大大增长。尽管访问如此大量电子数据可能对用户而言非常有益,然而并非没有其问题。一个这样的问题是用户仍然难以找到他们寻找的特定电子数据。例如,用户可能遇到以下情况 他们访问多个不同的应用,以便找到他们寻找的特定电子数据。这典型地涉及用户请求执行不同的应用、导航至不同应用的搜索界面、并且向每个不同的应用中输入相同的搜索项。 对于用户而言,这可能导致繁杂的且令人懊恼的体验。
发明内容
提供该发明内容以便以简化的形式介绍构思的选择,下面将在具体实施方式
中进一步描述所述构思。该发明内容不意图标识所要求保护的主题的关键特征或必要特征,也不意图被用来限制所要求保护的主题的范围。依据一个或更多方面,系统级搜索模块接收用于计算设备的应用的系统级搜索用户界面注册信息。该注册信息被添加到注册存储装置,并且所述应用被包括为使用该系统级搜索用户界面可以搜索的一个或更多应用之一。依据一个或更多方面,标识用于应用的系统级搜索用户界面注册信息,该注册信息包括关于提供该系统级搜索用户界面的系统级搜索模块可以如何加载该应用的指示。系统级搜索用户界面注册信息被传递给该系统级搜索模块,使得该应用被包括为使用该系统级搜索用户界面可以搜索的一个或更多应用之一。依据一个或更多方面,标识了经由系统级搜索用户界面可以搜索的计算设备的多个应用。生成所述多个应用中每个应用的排序,所述多个应用中每个应用的排序至少部分基于该应用是否被分配到与计算设备的当前有效应用相同的应用类别。所述多个应用中每个应用的排序还至少部分基于以下两者或之一该应用多么频繁被选择为要经由该系统级搜索用户界面搜索的应用、以及该应用多久之前被选择为要经由该系统级搜索用户界面搜索的应用。所述多个应用中的一个或更多被选择为要经由系统级搜索用户界面标识,所述多个应用中每个被选择的应用具有比所述多个应用中未被选择的应用更高的排序。作为系统级搜索用户界面的一部分,按照从最高排序到最低排序的顺序,显示所述多个应用中被选择的应用的标识符。
贯穿附图,使用相同数字来指代相似特征。图1图示了依据一个或更多实施例的实现系统级搜索用户界面的注册的示例系统。图2、3、4、5和6图示了依据一个或更多实施例的包括系统级搜索用户界面的示例
屏幕显示。图7是图示了依据一个或更多实施例的示例系统级搜索模块的框图。
图8是图示了依据一个或更多实施例的用于利用系统级搜索模块来注册应用的示例注册处理的流程图。图9图示了依据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显不。图10是图示依据一个或更多实施例的支持对所建议的搜索项的语言替换 (linguistic alternatives)的示例系统的框图。图11是图示依据一个或更多实施例的用于使用系统级搜索用户界面的示例处理的流程图。图12是图示依据一个或更多实施例的用于在系统级搜索用户界面的应用标识部分中显示应用标识符的示例处理的流程图。图13图示了依据一个或更多实施例的可以被配置来实现向系统级搜索用户界面的注册的示例计算设备。
具体实施例方式这里讨论系统级搜索用户界面的注册。系统级搜索用户界面(UI)提供集中式UI, 其允许用户输入搜索项并且在多个不同的应用中搜索该搜索项。用户使用系统级搜索UI 可以搜索的特定应用向该系统级搜索UI注册,提供了关于所述应用的各种信息。该系统级搜索UI使用该注册信息来确定如何将这些不同的应用标识给用户、如何将所述应用加载到它们的搜索结果显示视图等等。该系统级搜索UI基于各种准则为不同的应用确定排序, 并且依据该排序显示所述应用的标识符。用户然后可以选择这些不同的应用中要被搜索搜索项的一个或更多应用,响应于此,该系统级搜索UI将该搜索项提供给所选择的应用,并且所选择的应用继而显示其搜索结果。图1图示了依据一个或更多实施例的实现系统级搜索用户界面的注册的示例系统100。系统100包括计算设备102,其可以经由网络106可选地与一个或更多其它设备104(1),…,104⑷通信。网络106可以是多种不同的网络,包括因特网、局域网 (LAN)、公用电话或其它电话网络、内部网、其它公用和/或专属网络、其组合等等。计算设备102可以是多种不同类型的设备。例如,计算设备102可以是桌上型计算机、记事本或平板计算机、上网本或膝上型计算机、服务器计算机、移动站、娱乐设备、与显示设备通信耦接的机顶盒、电视机、蜂窝或其它无线电话、游戏控制器、车用计算机(automotive computer) 等等。另外,尽管被图示为单个设备102,然而应注意计算设备102的组件或模块可以被实现为多个设备的系统,所述组件或模块分布在该系统中的不同设备上。设备104可以是能够与计算设备102通信的多种不同的计算设备。计算设备102 可以可选地访问一个或更多设备104以便获得各种信息,如下面更详细地讨论的。类似于关于计算设备102的讨论,设备104可以是多种不同类型的设备。设备104可以是与计算设备102相同类型或替代地不同类型的设备。在系统100中,计算设备102被图示为经由网络106与设备104通信。替代地,计算设备102可以经由其它类型的通信机制或连接与设备104通信,诸如经由各种有线和/或无线连接(例如,通用串行总线(USB)连接、无线USB 连接、蓝牙连接、IEEE 1394连接等等)。计算设备102包括操作系统110以及一个或更多应用112。操作系统110管理应用112在计算设备102上的加载和运行。应用112每一个可以是多种不同类型的应用,诸如生产力应用(例如,电子邮件应用、文字处理应用、电子表格应用、数据库应用等)、娱乐应用(例如,游戏应用、音频和/或视频回放应用等)、社交联网应用等。应用112可以在本地访问数据,其访问计算设备102上的数据(或与计算设备102耦接的存储设备上的数据),而不是经由网络106访问设备104上的数据。例如,应用112可以是在本地访问数据的文字处理应用。除了在本地访问数据之外或者替代地替换在本地访问数据,应用可以经由网络 106访问一个或更多设备104上的数据。例如,应用112可以是对于提供电影服务的设备 104的界面应用(interface application),允许计算设备102的用户经由该应用112从设备104访问电影。操作系统100包括输入模块114、显示模块116、以及系统级搜索模块118。操作系统110典型地以软件和/或固件来实现,然而操作系统110的至少部分可以替代地以硬件来实现。输入模块114从计算设备102的用户接收用户输入。用户输入可以以多种不同的方式来提供,诸如通过按压设备102的小键盘或键盘的一个或更多按键、按压设备102的控制器(例如遥控设备、鼠标、轨迹板(trackpad)等)的一个或更多按键、按压设备102的触摸板或触摸屏的特定部分、在设备102的触摸板或触摸屏上作出特定姿势、以及/或者在设备 102的控制器(例如遥控设备、鼠标、轨迹板等)上作出特定姿势。还可以经由至设备102的其它物理反馈输入来提供用户输入,诸如轻拍设备102的任何部分、可由设备102的运动检测组件识别的动作(诸如晃动设备102、旋转设备102等)等等。还可以以其它方式提供用户输入,诸如经由至麦克风的听觉输入、经由图像捕捉设备观察到的手或其它身体部分的运动等等。这些用户输入允许用户诸如通过输入特定字符或符号、选择特定按钮或菜单选项、拖动或丢放各种描述或图像等等而与计算设备102进行交互。显示模块116生成、管理和/或输出用于计算设备102的屏幕的显示。该显示可以包括各种信息,诸如由应用112提供的信息、由系统级搜索模块118或操作系统110的其它模块提供的信息等等。显示给用户的信息可以包括可以由输入模块114接收的用户输入。显示模块116在其上显示信息的屏幕可以以多种不同方式来实现,诸如使用液晶显示器(LCD)技术、等离子屏幕技术、图像投影技术等等。屏幕可以被包括为计算设备102的一部分,或者替代地显示模块116可以生成一个或更多信号,所述一个或更多信号被输出至包括一个或更多屏幕的一个或更多其它显示设备。尽管这里的讨论参考在一个或更多屏幕上显示信息,然而应理解信息可以替代地以其它方式(诸如听觉地)由显示模块116呈现给用户。系统级搜索模块118提供系统级搜索UI,其是允许计算设备102的用户输入搜索项并且在不同的应用112中搜索该搜索项的集中式UI。搜索项可以是字母、字符、符号等的任何组合,诸如一个或更多词、词的一部分等等。该系统级搜索UI包括数据输入部分, 经由该数据输入部分用户可以输入搜索项;以及应用标识部分,经由该应用标识部分可以标识应用112中的不同应用。应用112中的在该应用标识部分中标识的特定应用是已经向系统级搜索模块118注册的那些应用112,如下面将更详细地讨论的。由系统级搜索模块118提供的系统级搜索UI允许计算设备102的用户在集中式 UI中输入他或她期望的搜索项一次,并且然后选择一个或更多不同的应用112来搜索该搜索项。响应于经由该系统级搜索UI选择了应用112,该搜索项被提供给所选择的应用112, 所选择的应用112继而基于该搜索项确定并(经由显示模块116)显示搜索结果。用户通过经由该系统级搜索UI选择应用,可以简单地使不同的应用112搜索该相同的搜索项。因此, 用户可以单次地将搜索项输入到该系统级搜索UI中,而不是用户与操作系统110交互以请求执行不同的应用112、导航到那些不同的应用112每个的搜索界面、并且将相同的搜索项输入到那些不同的应用每个中。用户然后可以(例如经由单个用户输入,诸如键击、轻拍触摸屏上的应用标识符、在指针或其它光标在应用标识符上时点击该应用标识符等)选择应用112中的一个或更多,依赖于操作系统110在那些应用112被选择时自动执行那些应用 112,并且依赖于系统级搜索模块118将搜索项提供给所选择的应用112。可以在不同的时间激活该系统级搜索UI。当该系统级搜索UI被激活时,通过显示模块116显示该系统级搜索UI。系统级搜索模块118可以保持该系统级搜索UI被激活并且一直被显示。替代地,系统级搜索模块118可以响应于特定请求(例如,对执行搜索的用户请求、来自应用112的对执行搜索的请求等等)而激活该系统级搜索UI,在该系统级搜索 UI被激活之前保持该系统级搜索UI被隐藏。应用112可以权衡(leverage)该系统级搜索 UI,调用系统级搜索模块118或者将用户导向已经由模块118显示的系统级搜索UI。应用 112不需要提供它们自己的搜索用户界面,这是因为它们可以依赖于该系统级搜索UI。因此,应注意可以以不同的方式使用该系统级搜索UI。用户可以将搜索项输入到该系统级搜索UI中,并且然后经由该系统级搜索UI选择一个或更多应用112来搜索该搜索项。替代地,用户可以经由应用112输入对输入搜索项的请求。作为响应,可以显示系统级搜索UI (或者可以将用户导向已经显示的系统级搜索UI),用户可以经由该系统级搜索 UI输入他或她的搜索项以便搜索该应用112。替代地,用户可以在未输入搜索项的情况下选择一个或更多应用112,响应于此,向所选择的应用通知用户选择并且所选择的应用显示其搜索结果显示视图。由于用户尚未输入搜索项,因此所选择的应用仍不可以显示搜索结果。然而,在输入了搜索项之后,所选择的应用将显示其搜索结果。图2图示了依据一个或更多实施例的包括系统级搜索用户界面的示例屏幕显示 202。屏幕显示202包括工具栏(或任务栏)204。工具栏204可以包括多种不同的信息,诸如当前时间(图示为10:10 AM)。该系统级搜索UI被图示为包括两个部分数据输入部分206和应用标识部分 208。用户可以(例如如上所述地经由输入模块114)输入各种词、字母、符号、字符等作为搜索项。在数据输入部分206中显示该用户输入。在所图示的示例中,用户已经输入了字符 “Ha”。在屏幕显示202图示的时间点,“Ha”是搜索项。然而,应注意用户可以继续输入附加字符,导致不同的搜索项。应用标识部分208包括不同的应用的标识符。这些标识符被在示例显示202中图示为“应用1名称”、“应用2名称”、“应用3名称”、“应用4名称”以及“应用5名称”。应用标识部分208中这些标识符每个是用户可以选择以使得搜索在数据输入部分206中显示的搜索项的应用。用户可以(例如经由图1的输入模块114)以多种不同的方式选择该应用标识部分208中所标识的应用之一,所述多种不同的方式诸如利用指示笔或手指触摸应用的标识符、将指针操纵(maneuvering)到应用的标识符上并且按压光标控制设备(例如鼠标) 的按钮等等。
应用标识部分208可以在用户向数据输入部分206中输入数据时自动地被显示, 或者替代地可以响应于对显示应用标识部分208的用户请求而被显示。例如,用户可以(例如经由图1的输入模块114)以多种不同的方式选择菜单图标210,所述多种不同的方式诸如利用指示笔或手指触摸菜单图标210、将指针操纵到菜单图标210上并且按压光标控制设备(例如 鼠标)的按钮、按压键盘的特定按键等等。响应于对菜单图标210的用户选择,显示应用标识部分208。另外,该系统级搜索UI可以包括搜索按钮212,其可以(例如经由图1的输入模块 114)以多种不同的方式被选择,与对菜单图标210的选择类似。响应于对搜索按钮212的用户选择,当前在数据输入部分206中输入的搜索项被发送到应用以进行搜索。可以以不同的方式确定向其发送搜索项的应用,所述不同的方式诸如确定为当前有效应用、应用标识部分208中当前被突出显示的应用、在应用标识部分208的顶部列出的应用等等。当前有效应用指代当前在前台(foreground)运行的并且作为用户可以与之交互的应用的应用 (例如,图1的应用112 (除了操作系统之外的应用)之一)。尽管在计算设备上多个应用可能并发地运行,然而只有一个应用是当前有效应用。应用标识部分208不典型地包括当前有效应用,但是替代地可以包括当前有效应用。应注意图中所图示的该系统级搜索UI的数据输入部分206和应用标识部分208 的位置是示例,该系统级搜索UI可以被显示在屏幕显示202上的任何位置。例如,数据输入部分206和应用标识部分208可以被显示在屏幕显示202的顶部、沿着屏幕显示202的左侧或右侧、在屏幕显示202的中央、作为菜单栏的一部分、作为图标栏或底栏(dock)的一部分等等。图3图示了依据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显示302。屏幕显示302类似于图2的屏幕显示202。然而,屏幕显示302将应用标识部分 304图示为包括表示应用的图标或符号,而不是如图2的应用标识部分208中所图示的应用名称。与上面参考应用标识部分208所讨论的对应用名称的选择类似,用户可以选择这些图标或符号。图4图示了依据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显示402。屏幕显示402类似于图2的屏幕显示202。然而,屏幕显示402还显示用于名称为“电影应用”的当前有效应用的窗口 404。窗口 404可以显示多种不同的信息中的任一种,诸如文本(被显示为窗口 404中的水平行)和图像(被显示为窗口 404中的框)。在一个或更多实施例中,在应用标识部分208中所标识的应用不包括在窗口 404 中显示的当前有效应用。替代地,在应用标识部分208中所标识的应用可以包括在窗口 404 中显示的当前有效应用。在一个或更多实施例中,响应于对搜索按钮212的用户选择,当前在数据输入部分206中输入的搜索项(所图示的示例中的“Ha”)被发送到当前有效应用。如果用户要选择搜索按钮212,则作为响应,当前在数据输入部分206中输入的搜索项被发送到在窗口 404 中显示的应用。如果用户要选择在应用标识部分208中所标识的应用之一而不是搜索按钮 212,则作为响应,当前在数据输入部分206中输入的搜索项被发送到所选择的应用。图5图示了根据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显示502。屏幕显示502类似于图2的屏幕显示402,其显示了用于名称为“电影应用”的当前有效应用的窗口 404。然而,屏幕显示502图示了在搜索项已经被发送给当前有效应用之后的窗口 404。窗口 404可以显示多种不同的信息中的任一种作为搜索结果,诸如文本(被显示为窗口 404中的水平行)和图像。如可以在示例屏幕显示502中看出的,由被选择来搜索该搜索项的应用来显示搜索结果。另外,数据输入部分206和应用标识部分208保持显示在屏幕显示502上。图6图示了根据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显示602。屏幕显示602类似于图2的屏幕显示402,显示了用于名称为“电影应用”的应用的窗口 404。然而,屏幕显示602还图示了窗口 604,其包括来自与窗口 404中所显示的应用不同的应用的搜索结果。窗口 604在已经选择了在应用标识部分208中所标识的应用之后被显示。例如,假设“应用3名称”标识电子书(E书)阅读器应用。响应于对“应用3 名称”的用户选择,当前在数据输入部分206中输入的搜索项(所图示的示例中的“Ha”)被发送到所选择的应用。所选择的应用(如果尚未运行则)被加载,搜索该搜索项“Ha”,并且生成要在窗口 604中显示的信息作为搜索结果。窗口 604可以显示多种不同的信息中的任一种作为搜索结果,诸如文本(被显示为窗口 604中的水平行)和图像。在示例屏幕显示602中,生成用于在窗口 604中显示的信息的应用是当前有效应用。窗口 404 (其显示用于之前是当前有效应用的应用的信息)保持被显示。替代地,响应于对部分208中“应用3名称”的用户选择,或者响应于所选择的应用的加载,窗口 404可以关闭(并且例如,窗□ 404中显示信息的应用关闭)或者改变其外观(例如,不再显示、缩小至任务栏或工具栏中的图标)。图7是图示了依据一个或更多实施例的示例系统级搜索模块700的框图。系统级搜索模块700可以例如是图1的系统级搜索模块118。系统级搜索模块700包括用户界面模块702、应用排序模块704、应用注册模块706、以及应用注册存储装置708。应用注册模块706管理应用向系统级搜索模块700的注册,允许在系统级搜索UI 的应用标识部分中显示已注册应用。该注册也被称为允许已注册应用使用该系统级搜索 UI。在应用注册存储装置708中保持关于已注册应用的信息。应用排序模块704确定已注册应用的排序,已注册应用依据其排序被显示在系统级搜索UI的应用标识部分中。用户界面模块702生成要被显示为系统级搜索UI的信息,并且将该信息提供给该系统级搜索模块 700位于其上的计算设备的显示模块(例如,给图1的显示模块116)。UI模块702还与应用(例如图1的应用112)进行交互,包括加载用户选择的应用、将搜索项传递给应用、并且从应用接收要被显示为系统级搜索UI的一部分的信息。为了在系统级搜索UI的应用标识部分中显示,应用向系统级搜索模块700注册。 应用注册模块706管理系统级搜索模块700的注册处理,与应用通信并且将合适的注册信息保存在应用注册存储装置708中。应用可以在不同的时间向系统级搜索模块700注册, 所述不同的时间诸如在应用被安装在与系统级搜索模块700相同的计算设备上时、在对与系统级搜索模块707相同的计算设备上的应用的升级被安装时、响应于来自用户的对向系统级搜索模块700注册的请求、响应于来自另一模块或设备的对向系统级搜索模块700注册的请求等等。另外,应用自身可以执行将其自身向系统级搜索模块700注册的注册处理,或者替代地另一应用或模块可以执行将应用向系统级搜索模块700注册的注册处理。例如,安装程序应用或模块当在包括系统级搜索模块700的计算设备上安装应用时,可以执行将应用向系统级搜索模块700注册的注册处理。作为注册处理的一部分,用于正被注册的应用的注册信息被提供给应用注册模块 706。各种不同的注册信息可以被提供给应用注册模块706。在一个或更多实施例中,注册信息包括关于正被注册的应用如何被UI模块702加载以及搜索项如何被提供给该应用的指示。关于该应用如何被UI模块702加载的该指示可以依应用而变,并且可以包括例如关于要运行的可执行文件的指示、关于在开始运行该文件时要使用的或者在该文件运行之后要传递给该应用的一个或更多参数的指示、关于为了向应用传递一个或更多参数而调用该应用的一个或更多应用编程界面(API)的指示等等。类似地,关于搜索项如何被模块702 提供给应用的指示可以依应用而变,并且可以包括例如关于在开始运行应用时搜索项(并且可选地其它上下文信息)如何被提供给应用的指示、关于为了向应用传递该搜索项(并且可选地其它上下文信息)而调用该应用的一个或更多API的指示等等。可以在注册信息中包括各种其它信息。例如,注册信息可以包括描述应用的元数据,诸如该应用被分类的特定应用类别(例如游戏、音乐、电影、出版物、购物、生产力、社交联网等等)、应用服务的内容的特定类型(例如电影、电子书、游戏、音乐等)、应用所使用的网域(例如通过网络访问的设备或服务的网域)等等。借助于另一示例,注册信息可以包括指示应用在系统级搜索UI的应用标识部分中如何被标识的信息(例如使用一个或更多图标、使用一个或更多名称、使用一种或更多种颜色或字体、显示一个或更多动画等等)。借助于又一示例,注册信息可以包括描述应用的要求的信息(例如,应用依赖于因特网还是其它网络来访问另一设备或服务)。还应注意注册信息可以由正被注册的应用提供,或者替代地由另一设备、组件或模块提供。例如,注册信息中的至少一些可以由应用的经销者或制造者提供。借助于另一示例,应用可以具有包括注册信息的相关联的内容清单(manifest)或其它元数据,正在安装该应用的安装程序应用或模块可以代表该应用提供注册信息。应用注册模块706将作为用于应用的注册处理的一部分而接收的注册信息存储在应用注册存储装置708中。诸如通过将注册信息与对应的应用标识符一起存储,将注册信息存储为与该应用相关联或者与该应用相对应。应用标识符可以采取多种不同的形式, 诸如应用名称和制造者的组合、由应用制造者或系统级搜索模块700分配给应用的标识符等等。应用注册存储装置708可以是数据库、列表或存储用于不同应用的注册信息的其它数据结构。应用注册存储装置708可以随后被用户界面模块702访问,以便标识被显示为系统级搜索UI的应用标识部分的一部分的应用。应用排序模块704为在应用注册存储装置708中注册的每个应用分配排序。该排序被用来确定在系统级搜索UI的应用标识部分中显示应用所依据的顺序。此外,可能出现以下情况存在可以由系统级搜索UI显示的已经向系统级搜索模块700注册的更多个应用。在此情况下,使用排序来确定要由系统级搜索UI显示哪些应用。替代地,可以以不同的方式来确定显示应用所依据的顺序以及/或者显示哪些应用,所述不同的方式诸如按照应用名称进行字母排序、随机地、根据其它规则或准则等等。应用排序模块704在排序应用中可以使用多种不同的准则,诸如描述应用(并且被包括为应用的注册信息)的元数据以及应用的使用数据。应用排序模块704可以响应于不同的事件来确定排序,所述不同的事件诸如系统级搜索UI被激活、对显示系统级搜索UI 的应用标识部分的用户请求(例如通过选择图2的菜单图标210)、用户正在输入的搜索项等等。替代地,应用排序模块704可以预先确定应用的排序,并且在显示系统级搜索UI的应用标识部分时使用预先确定的排序。可以以规则或不规则的间隔(例如近似每天或每周、 在新应用向应用注册模块706注册时等等)生成所述预先确定的排序。这些预先确定的排序可以被保持在应用注册存储装置708中(例如,应用排序可以与注册信息一起存储),或者可以替代地存储在其它位置。应用排序模块704所确定的排序可以是具体的得分(例如,范围从1到100的值), 或者替代地可以是从最高排序到最低排序的应用的排序,从而可以容易地作出关于特定应用比任何其它应用排序更高还是更低的确定。具有更高得分或更高排序的应用典型地被认为比具有更低得分或更低排序的应用与用户输入的搜索项更为相关,但是替代地具有更低得分或更低排序的应用可以被认为比具有更高得分或更高排序的应用与用户输入的搜索项更为相关。在一个或更多实施例中,为了确定特定应用的排序,应用排序模块704标识该特定应用的特征。可以使用特定应用的各种特征来确定特定应用的排序。可以使用多个特征来确定特定应用的排序,或者替代地可以使用单个特征来确定特定应用的排序。对于被用来确定排序的这些特征的每一个,生成特定的相关得分,并且将这些相关得分输入至一个或更多排序算法。所述一个或更多排序算法将输入的相关得分组合(例如通过将得分相加、通过为相关得分每一个分配权重并将加权后的相关得分相加等等),以便生成该应用的排序。应用的相关得分的组合可以是应用的排序。替代地,可以生成用于所有已注册应用的组合相关得分,并且已注册应用可以基于它们的组合相关得分而被排序(例如,从最高组合相关得分到最低组合相关得分),并且该排序可以是应用的排序。可以被用来确定应用的排序的一个特征是描述应用的元数据。如上所述,描述应用的元数据被提供为应用的注册信息。应用排序模块704标识当前有效应用的应用类别 (例如,可以从操作系统获得当前有效应用的标识符并可以将其用作应用注册存储装置708 中的查找词(lookup)以便确定用于该应用的注册信息)。如果该应用与当前有效应用处于相同的类别,则向该应用分配更高的相关得分(例如,值1),而如果该应用与当前有效应用不处于相同的类别,则向该应用分配更低的相关性(例如,值0)。可以被用来确定应用的排序的另一特征是应用的使用数据。系统级搜索模块700 可以监控并保持关于应用的使用的信息。在用户使用系统级搜索模块700选择要搜索的应用以及搜索项时,系统级搜索模块700可以容易标识关于选择搜索哪些应用以及被输入用于搜索的搜索项的信息,并且保持该信息的记录。关于应用的使用的信息可以是例如该应用多么频繁经由系统级搜索UI被选择为要搜索的应用、该应用多久之前经由系统级搜索 UI被选择为要搜索的应用、该应用多么频繁经由系统级搜索UI被选择为要搜索当前搜索项的应用、该应用多久之前经由系统级搜索UI被选择为要搜索当前搜索项的应用等等。另外,如果应用支持可以与系统级搜索UI分离地进行搜索的搜索用户界面,则那些应用可以监控使用数据并且也将这样的使用数据提供给应用排序模块704。可以使用该使用信息来生成作为用于应用的相关得分的数值。例如,可以通过将 (例如,在某一时间段上,诸如上周、上月等等)应用被选择的次数除以应用选择的总数,来生成用于该应用经由系统级搜索UI被选择为要搜索的应用的频率的数值。借助于另一示例,通过标识应用在多长时间之前(例如,以分钟、小时、天等表示)经由系统级搜索UI被最后选择为要搜索当前搜索项的应用,可以生成用于该应用多久之前经由系统级搜索UI被选择为要搜索当前搜索项的应用的数值。可以被用来确定应用的排序的另一特征是应用的网域。如上所述,将应用的网域提供为应用的注册信息。应用排序模块704可以将用户输入的当前搜索项转发到因特网搜索引擎,分析由因特网搜索引擎返回的结果,并且基于该网域出现在由因特网搜索引擎返回的结果中什么地方而向该应用分配相关得分。例如,通过标识该网域在由因特网搜索引擎返回的结果中有多么高或多么靠前,可以生成基于该应用的网域的、作为用于该应用的相关得分的数值。例如,如果由因特网搜索引擎返回的结果将该应用的网域列出为第一结果,则用于该应用的相关得分为1 (或者替代地为特定值减1)。借助于另一示例,如果由因特网搜索引擎返回的结果将该应用的网域列出为从顶部或第一搜索结果开始的第五个结果,则用于该应用的相关得分为5 (或者替代地为特定值减5)。替代地,如果由因特网搜索引擎返回的结果指示没有包括该网域的结果可用,则可以将该应用从在系统级搜索UI的应用标识部分中显示的应用中排除。例如,应用排序模块704可以向用户界面模块702指示该应用要被排除,响应于此,用户界面模块702不在系统级搜索UI的应用标识部分中包括该应用的标识符。替代地,应用排序模块704可以将该应用的网域转发给返回用于该应用的相关得分的网络服务。网络服务确定相关得分的方式可以变化,并且该方式由该网络服务确定。在替代实施例中,应用排序模块704保持用户指定(并且可以以多种不同的方式输入)的应用的排序。用户由此能够按照他或她期望地定制应用的排序。应用排序模块704 不需要使用任何其它准则来确定应用的排序,并且可以仅仅将用户指定的排序用作应用排序模块704所生成或确定的排序。这些用户指定的应用排序可以与关于已注册应用的其它信息一起保持在应用注册存储装置708中,或者替代地可以被保持在其它地方。用户界面模块702使用应用注册存储装置708中的信息以及由应用排序模块704 生成的排序,来确定被包括在系统级搜索UI的应用标识部分中的应用、以及/或者被包括在系统级搜索UI的应用标识部分中的应用的排序。在一个或更多实施例中,系统级搜索UI 的应用标识部分可以显示不超过阈值数量的应用。如果多于阈值数量的应用向系统级搜索模块700注册,则用户界面模块702选择阈值数量的向系统级搜索模块700注册且具有最高排序(或替代地最低排序)的应用。例如,如果系统级搜索UI的应用标识部分仅可以显示5个应用标识符,则用户界面模块702选择5个最高排序的应用(例如,具有5个最高组合相关得分的应用、基于其组合相关得分处于应用排序开始或末尾的5个应用等等),并且将这5个最高排序的应用的标识符包括在系统级搜索UI的应用标识部分中。阈值数量的应用可以可选地由系统级搜索模块700的用户或管理员配置。用户界面模块702还可以使用应用注册存储装置708中的信息来确定被包括在系统级搜索UI的应用标识部分中的应用。在一个或更多实施例中,如上所述,由应用提供的注册信息包括应用的要求。用户界面模块702检查这些要求是否被满足,并且在所述要求未被满足时不将该应用包括在系统级搜索UI的应用标识部分中。用户界面模块702据以确定应用的要求是否被满足的方式基于具体要求而变。例如,注册信息可能指示要求因特网连接(例如以便访问远程计算设备上的数据存储装置,诸如图1的计算设备104)。用户界面模块702查询(例如,与系统级搜索模块700在相同的计算设备上的操作系统的)组件或模块以便确定计算设备当前是否具有因特网连接。如果计算设备当前具有因特网连接,则满足该要求并且可以将该应用包括在系统级搜索UI的应用标识部分中。然而,如果计算设备当前不具有因特网连接,则不满足该要求并且不将该应用包括在系统级搜索UI的应用标识部分中。替代地,如果计算设备当前不具有因特网连接,则可以在应用标识部分中显示该应用,但以不同外观(例如加阴影以指示该应用可能不能搜索该搜索项)或者以该应用不能搜索该搜索项的文字、图标或某种其它指示来显示该应用。另外,在一个或更多实施例中,用户界面模块702基于排序确定在系统级搜索UI 的应用标识部分中包括的应用的排序。依据应用的排序,按顺序在系统级搜索UI的应用标识部分中显示应用标识符。应用标识符按照其排序显示的方式可以依据实现方式而变。例如,应用标识符可以按照从最高排序到最低排序的顺序在系统级搜索UI的应用标识部分中从顶部到底部地显示。例如,参考图2,通过“应用1名称”标识的应用比通过“应用3名称”标识的应用具有更高的排序。借助于另一示例,应用标识符可以按照从最高排序到最低排序的顺序在系统级搜索UI的应用标识部分中从左到右地显示。例如,参考图3,通过信封标识的应用应比通过咖啡杯标识的应用具有更高的排序,并且比通过字母“M”标识的应用具有更低的排序。用户界面模块702还可以基于排序对应用标识符作出各种其它修改。例如,可以以不同字体、不同颜色、动画、更大的大小(size)等来显示用于更高排序的应用(例如一个或更多最高排序的应用、具有高于阈值的排序的应用等等)的应用标识符。借助于另一示例,可以以不同的大小来显示应用标识符,更高排序的应用的应用标识符比更低排序的应用的应用标识符具有更大的图标、符号、字体大小等等。因此,用户界面模块702基于应用的排序在系统级搜索UI的应用标识部分中显示应用标识符。用户界面模块702所显示的应用标识符是从应用注册存储装置708获得的 (如在该应用的注册处理期间提供的)。当用户选择特定应用标识符时,用户界面模块702访问应用注册存储装置708以标识如何加载该应用。用户界面模块702从应用注册存储装置 708中取回该信息,并将该信息提供给操作系统,其继而加载所选择的应用。另外,用户界面模块702将用户在系统级搜索UI的数据输入部分中输入的搜索项提供给所选择的应用。 所选择的应用然后搜索该搜索项,并且显示合适的结果。该搜索项被以由所选择的应用在之前由所选择的应用提供的注册信息中指示的方式被提供给所选择的应用。用户界面模块702还可以向正在执行搜索的应用(如上所述,其可以是所选择的应用或当前有效应用)提供各种附加的上下文信息。上下文信息指代关于计算设备的用户以及/或者正在请求的搜索的信息(搜索项自身可以被称为用于搜索的上下文信息)。上下文信息可以包括例如(例如从操作系统的另一组件或模块获得的)计算设备的用户的标识符、对于用户登录到计算设备的指示(例如,允许应用自身标识用户)、对于当前有效应用的指示、对于当前有效应用的类别的指示、对于用户之前已经选择要搜索该搜索项的一个或更多应用的指示、对于用户之前已经选择要搜索该搜索项的一个或更多应用每一个的类别的指示等等。
接收该搜索的上下文信息的应用可以以该应用期望的任何方式来使用该上下文, 并且可以使用全部上下文信息或者仅一部分上下文信息。例如,应用可以使用搜索项来生成搜索结果,但对于该搜索忽略任何其它上下文信息。借助于另一示例,该应用可以使用搜索项来生成搜索结果,并且还使用用户之前已经选择要搜索该搜索项的应用的类别来生成包括相同类别的数据的搜索结果(例如,如果用户之前搜索的应用的类别是电影,则是电影文件)。图8是图示依据一个或更多实施例的用于向系统级搜索模块注册应用的示例注册处理800的流程图。处理800可以以软件、固件、硬件或其组合实现。图8的左手侧图示的处理800的动作由系统级搜索模块(诸如图7的系统级搜索模块700)实施。图8的右手侧图示的处理800的动作由应用(诸如图1的应用112)实施以及/或者代表该应用实施。 右手侧图示的处理800的动作可以由应用本身实施,或者可以由另一组件或模块(例如,由应用安装程序、由应用的经销者或制造者等等)代表应用实施。处理800被示出为一组动作,并且不限于所示出的用于执行各个动作的操作的顺序。处理800是用于向系统级搜索模块注册应用的示例处理,这里参考不同的图来包括对于向系统级搜索模块注册应用的附加讨论。在处理800中,标识用于应用的系统级搜索UI注册信息(动作802)。系统级搜索 UI注册信息包括关于系统级搜索模块如何加载应用的指示。如上面所讨论的,还可以将多种附加信息标识为系统级搜索UI注册信息。所标识的系统级搜索UI注册信息被传递给系统级搜索模块(动作804)。该注册信息可以被传递给系统级搜索模块的应用注册模块,如上面所讨论的。系统级搜索模块从应用接收该系统级搜索UI注册信息(动作806),并且将所接收的系统级搜索UI注册信息添加到注册存储装置(动作808)。该应用被包括为可以被使用系统级搜索UI选择来进行搜索的应用(动作810)。该应用的标识符(其可以包括在该应用提供的系统级搜索UI注册信息中)可以被显示给用户, 允许用户如上面所讨论地选择该应用来搜索一个或更多搜索项。返回图7,如上面所讨论的,用户界面模块702生成要作为系统级搜索UI显示的信息,并且还与应用交互,所述交互可以包括加载用户选择的应用。用户界面模块702还可以与当前有效应用具有附加交互,向当前有效应用提供信息以及从当前有效应用接收信息。 如上面所讨论的,当前有效应用指代当前正在前台运行且作为用户可以与之交互的应用的应用(例如图1的应用112之一)。对当前有效应用的指示由操作系统的模块保持,并且用户界面模块702可以从操作系统的该模块获得该指示。应注意,当前有效应用可以响应于用户输入以及/或者来自在计算设备上运行的另一应用或模块的请求,而随着时间改变。例如,用户可能从系统级搜索UI的应用标识部分中选择应用标识符,并且作为响应,与所选择的应用标识符对应的应用变为当前有效应用。借助于另一示例,与系统级搜索UI分离,用户可能选择加载应用或选择与之交互的应用,并且作为响应,所选择的应用变为当前有效应用。在一个或更多实施例中,用户界面模块702将用户输入照接收原样提供给当前有效应用。响应于正被输入的字符或符号,用户输入的每个字符或其它符号被提供给当前有效应用。响应于用户输入,当前有效应用可以基于该输入生成零个或更多建议搜索项。当前有效应用可以以多种不同的方式(诸如基于用户输入的之前的数据、基于由该应用保持的可搜索数据或字典等等)生成零个或更多建议搜索项。将所述零个或更多建议搜索项返回给用户界面模块702,其将所述建议搜索项显示为系统级搜索UI的一部分。所述建议搜索项可以在不同的位置(诸如在与系统级搜索UI的数据输入部分相邻的菜单项列表中)显示。用户可以选择所述建议搜索项之一,并且作为响应,用户界面模块702在系统级搜索UI 的数据输入部分中显示所述建议搜索项。例如,如果用户正在输入一搜索项并且用户输入的第一字符为字母“H”,则用户界面模块702向当前有效应用发送对用户已经输入了字母“H”的指示。当前有效应用生成零个或更多建议搜索项(例如,Home,House, Hydrogen, Hello等等),并且将这些建议搜索项返回给用户界面模块702。用户界面模块702将这些建议搜索项显示为系统级搜索UI的一部分。用户然后可以(例如经由图1的输入模块114)以多种不同的方式(诸如利用指示笔或手指触摸建议搜索项、将指针操纵到建议搜索项上并且按压光标控制设备(例如鼠标)的按钮等等),选择那些建议搜索项之一作为用户期望的搜索项的至少一部分。响应于对建议搜索项的用户选择,用户界面模块702在系统级搜索UI的数据输入部分中显示所选择的建议搜索项。继续该示例,如果用户不选择所述建议搜索项之一,代之输入字母“e”,使得用户输入目前为止为“He”,则用户界面模块702向当前有效应用发送对用户已经输入了字母 “He”的指示。当前有效应用生成零个或更多建议搜索项(例如,Help,Hello, Henry等等), 并且将这些建议搜索项返回给用户界面模块702。用户界面模块702将这些新建议搜索项显示为系统级搜索UI的一部分。该处理可以继续,直至用户选择应用来搜索他或她已经输入的搜索项。尽管这里将建议搜索项讨论为作为文本搜索项,然而可以将各种其它内容和/或各种其它类型的内容返回给用户界面模块702。附加于所返回的建议搜索项或者替代地取代所返回的建议搜索项,用户界面模块702可以显示或者以其它方式呈现该其它内容和/ 或其它类型的内容。例如,可以返回并显示与一个或更多建议搜索项相关的一个或更多图像,可以返回并显示与一个或更多建议搜索项相关的附加描述性文本,可以返回并回放与一个或更多建议搜索项相关的音频内容,等等。图9图示了依据一个或更多实施例的包括系统级搜索用户界面的另一示例屏幕显示902。屏幕显示902类似于图4的屏幕显示402。然而,屏幕显示902还将多个建议搜索项显示为建议列表904。在所图示的示例中,用户已经输入了字符“Ha”,当前有效应用已经提供了建议搜索项Handle,Harry, Hasty,和Halibut。建议列表904被图示为在数据输入部分206之上并与其相邻。然而,应理解,建议列表904可以被显示在屏幕显示202上的任何位置(但典型地不覆盖数据输入部分206、应用标识部分208、搜索按键212或菜单图标210)。例如,建议列表904可以显示在屏幕显示902的顶部、沿着屏幕显示902的左侧或右侧、在屏幕显示902的中央、在与数据输入部分206不相邻的位置等等。返回图7,在一个或更多实施例中,对于在应用标识部分中标识的一个或更多应用的每一个,用户界面模块702还可以显示一个或更多搜索结果。用户界面模块702可以(例如,响应于对搜索按钮(诸如图2 — 6和图9的搜索按钮212)的用户选择、或对应用标识部分中另一应用的选择)将用户输入且被发送给应用供搜索的搜索项提供给在应用标识部分中标识的一个或更多应用的每一个,并且所述一个或更多应用每一个可以将基于该搜索项的一个或更多搜索结果返回至模块702。用户界面模块702然后可以将所述一个或更多搜索结果与返回所述搜索结果的应用相关联地显示在应用标识部分中(例如,与该应用的标识符相邻且在其之下、与该应用的标识符相邻且在其之上、具有标识该应用的图标或文本等等)。因此,可以向用户给出在用户将选择应用标识部分中的应用的情况下该应用将返回的结果的预览。替代地,附加于或者替代向应用标识部分中标识的一个或更多应用的每一个提供用户输入且被发送给应用以供搜索的搜索项,用户界面模块702可以将该用户输入照接收原样提供给应用标识部分中标识的一个或更多应用的每一个。所述一个或更多应用的每一个可以将基于所接收的用户输入的一个或更多搜索结果返回至模块702,并且每一个可以将基于搜索项的一个或更多搜索结果返回至模块702。用户界面模块702然后可以如上面所讨论地将所述一个或更多搜索结果与返回所述搜索结果的应用相关联地显示在应用标识部分中。另外,在一个或更多实施例中,用户界面模块702对于某些语言支持显示具有语言替换的建议搜索项。诸如东亚语言(例如日语、汉语以及韩语)之类的某些语言由许多字符构成,所述许多字符不对应于键盘的单个按键。诸如俄语之类的其它语言可以使用多个不同的字母表(例如,在俄语情况下为拉丁(Latin)或斯拉夫(Cyrillic))来表示。用户界面模块702对于这样的语言支持显示具有语言替换的搜索项。图10是图示依据一个或更多实施例的支持用于建议搜索项的语言替换的示例系统1000的框图。系统1000包括用户界面模块1002、应用1004、以及语言替换生成模块 1006。用户界面模块1002可以是例如图7的用户界面模块702。应用1004可以是例如图 1的应用112。在用户界面模块1002接收到用户输入时,模块1002将用户输入照接收原样提供给语言替换生成模块1006。语言替换生成模块1006可以以多种不同的方式标识用户输入的语言替换,并且将这些语言替换返回用户界面模块1002。语言替换生成模块1006典型地标识用户输入的一个或更多语言替换,并将所述一个或更多语言替换返回给用户界面模块 1002。然而应注意,语言替换生成模块1006典型地不要求(然而替代地可以要求)返回语言替换。相应地,可能出现以下情形语言替换生成模块1006对于特定用户输入未标识并返回语言替换。在一个或更多实施例中,语言替换生成模块1006通过将用户输入从一种字母表转换为另一个,来标识用户输入的语言替换。例如,在俄语的情况下,如果用户输入时拉丁字母表字符,则语言替换生成模块1006将拉丁字母表字符转换为斯拉夫字母表字符。语言替换生成模块1006将用户输入的转换(斯拉夫字母表字符)作为一个或更多语言替换而返回。另外,在一个或更多实施例中,语言替换生成模块1006标识可以由语音音节 (phonetic syllable)表示的一个或更多字符。在一些情况下,诸如一些东亚语言,为了输入特定字符,用户将语音音节输入为多个拉丁字母表字符。例如,用户可以使用拉丁字母表字符“bei”(其可以对应于多个不同的汉语字符)来输入语音音节。语言替换生成模块 1006标识可以对应于特定用户输入的零个或更多不同的字符,并且将那些所标识的字符返回给用户界面模块1002作为语言替换。例如,如果用户输入为“bei”,则语言替换生成模块1006标识可以由“bei”表示的不同的汉语字符并且将那些汉语字符返回给用户界面模块1002作为语言替换。借助于另一示例,如果用户输入为“h”,则语言替换生成模块1006 标识可以由“h”表示的不同的汉语字符(其将包括以“h”开始的多个不同的语音音节),并且将那些汉语字符返回给用户界面模块1002作为语言替换。语言替换生成模块1006可以被配置为用于特定语言或者替代地用于多种语言。 例如,可以由包括系统1000的计算设备的用户、由应用1004、由用户界面模块1002等提供用于标识语言替换生成模块1006要为其提供替换的语言的配置设置。借助于另一示例,在系统1000中可以包括不同的语言替换生成模块1006,每个用于不同的语言(例如,用于俄语的一个模块1006、用于汉语的另一模块1006、用于日语的另一模块1006等)。取决于对于其期望语言替换的语言(例如,如由包括系统1000的计算设备的用户指示的、由应用1004 指示的、由用户界面模块1002指示的等等),用户界面模块1002可以将用户输入提供给这些不同的模块1006中的一个或更多。用户界面模块1002从语言替换生成模块1006接收语言替换,并且将用户输入和语言替换两者都提供给应用1004。如果没有从语言替换生成模块1006接收到语言替换,则用户界面模块1002仅将用户输入提供给应用1004。应用1004然后可以基于用户输入、语言替换、或者用户输入和语言替换两者,来确定零个或更多建议搜索项。应用1004自身确定建议搜索项的确定所基于的用户输入和语言替换的特定组合。建议搜索项被返回给用户界面模块1002,其将建议搜索项显示为系统级搜索UI的一部分。在建议搜索项可以基于语言替换时,建议搜索项可以为各种不同的字母表和/或语言。例如,建议搜索项可以包括以 “bei”开始的英语单词、以及由“bei”表示的汉语字符。返回图7,附加于提供建议搜索项,或者替代地代替提供建议搜索项,当前有效应用可以在用户输入每个字符或其它符号时提供搜索结果。当前有效应用基于用户输入的字符或其它符号生成搜索结果,并且将那些字符或符号用作搜索项(即使用户可能尚未完全输入他或她期望作为搜索项的内容)。当前有效应用显示这些搜索结果(例如,在图5的窗口 404中),并且每当用户输入附加字符或符号时当前有效应用可以更新所述搜索结果。另外,在一个或更多实施例中,当前有效应用可选地将数据输入提示提供给用户界面模块702。该数据输入提示可以是用于辅助用户的帮助文本、图像、动画等。例如,数据输入提示可以是文本“在此输入搜索项”或“在此输入电影标题”。如果当前有效应用提供了数据输入提示,则用户界面模块702显示数据输入提示以便辅助用户确定他或她可以在哪里输入搜索项。数据输入提示可以被显示在系统级搜索UI的数据输入部分中(例如,在用户输入第一字符或符号时,可以停止数据输入提示的显示)、或者替代地在另一位置(诸如与系统级搜索UI的数据输入部分相邻的位置)。当前有效应用和用户界面模块702之间的通信可以以多种不同的方式来实现。在一个或更多实施例中,每个应用创建促进该应用与用户界面模块702之间的通信的类对象。应用所创建的类对象使得该应用能够从用户界面模块702接收通信(例如用户输入)并且向用户界面模块702提供数据(例如输入输入提示、建议搜索项)。用户界面模块702仅将数据传递给当前有效应用的类对象,并且仅从当前有效应用的类对象接受通信。替代地, 不使用这样的类对象,当前有效应用和用户界面模块702之间的通信可以以其它传统方式来实现,诸如实现用户界面模块702和应用之间的接口、用户界面模块702展示应用可以调用的API等等。图11是图示依据一个或更多实施例的用于使用系统级搜索用户界面的示例处理 1100的流程图。处理1100由系统级搜索模块(诸如图7的系统级搜索模块700)实施,并且可以以软件、固件、硬件或其组合来实现。处理1100被示出为一组动作,并且不限于所示出的用于执行各个动作的操作的顺序。处理1100是用于使用系统级搜索用户界面的示例处理,这里参考不同的图来包括对于使用系统级搜索用户界面的附加讨论。在处理1100,显示包括数据输入部分和应用标识部分两者的系统级搜索UI (动作 1102)。如上面所讨论的,系统级搜索UI可以被显示在屏幕显示上的多种不同位置。用户输入的数据被显示在系统级搜索UI的数据输入部分中(动作1104)。如上面所讨论的,用户可以以多种不同的方式输入数据。使用用户输入的数据可以被搜索的一个或更多应用的标识符被显示在应用标识部分中(动作1106)。如上面所讨论的,这些标识符可以采取多种不同形式,诸如名称、图标、 动画等等。在动作1106中显示的标识符是已经向系统级搜索UI注册供使用的一个或更多应用的标识符,并且可以如上面所讨论地以不同的方式被选择。用户输入的数据被提供给实现系统级搜索UI的设备上的多个应用之一(动作 1108)。如上面所讨论的,数据输入可以被提供给当前有效应用(例如,通过如上面所讨论地选择搜索按钮)、或者提供给与在应用标识部分中显示并被用户选择的应用标识符对应的应用。在向其提供用户输入的数据的应用获得并显示基于用户输入的数据的搜索结果的同时,系统级搜索UI显示被保持(动作1110)。该应用如上面所讨论地管理搜索结果的显示(例如,在应用的窗口中),同时系统级搜索UI保持被显示。图12是图示依据一个或更多实施例的用于在系统级搜索用户界面的应用标识部分中显示应用标识符的示例处理1200的流程图。处理1200由系统级搜索模块(诸如图7 的系统级搜索模块700)实施,并且可以以软件、固件、硬件或其组合来实现。处理1200被示出为一组动作,并且不限于所示出的用于执行各个动作的操作的顺序。处理1200是用于在系统级搜索用户界面的应用标识部分中显示应用标识符的示例处理,这里参考不同的图来包括对于在系统级搜索用户界面的应用标识部分中显示应用标识符的附加讨论。在处理1200中,标识使用系统级搜索UI可以被搜索的多个应用(动作1202)。这些多个应用是已经被如上所讨论地注册以使用系统级搜索UI的应用。对于所述多个应用每一个生成排序(动作1204)。如上面所讨论的,这些排序可以以多种不同的方式生成,包括可选地使用用户指定排序生成。如上面所讨论地,这些排序可以是例如从最高到最低的应用的特定得分或排序。至少部分基于所述排序,选择所述多个应用中要在系统级搜索UI中标识的一个或更多(动作1206)。如果存在比在系统级搜索UI中可以标识的应用更多的应用,则如上面所讨论地基于它们的排序来选择应用中的一个或更多。所选择的一个或更多应用的标识符依据排序被显示为系统级搜索UI的一部分 (动作1208)。如上面所讨论的,应用标识符依据其排序被显示的方式依实现方式而变,诸如按照从最高排序(在顶部)到最低排序(在底部)的顺序从顶部到底部地、按照从最高排序(在左侧)到最低排序(在右侧)从左到右地等等显示应用标识符。应注意,用户可以搜索多种不同类型的信息中的任一种,诸如其它用户的联系信息、电影、游戏、书或其它出版物等等。另外,在一个或更多实施例中,向系统级搜索UI注册的应用之一是对计算设备上的应用编制索引的应用或模块。例如,图1的应用112之一可以是可以搜索计算设备102上的其它应用112的应用。因此,用户可以搜索其它应用112、 以及那些应用112所保持的内容或者以其它方式经由那些应用112可访问的内容。在这里的讨论中,参考加载用户所选择的应用以及所选择的应用搜索该搜索项。 应注意,可能出现以下情况所选择的应用已经在运行(例如,在后台),由此不需要加载。在此情况下,系统级搜索模块(例如图7的模块700)将对搜索该搜索项的请求传递给所选择的应用。作为响应,所选择的应用搜索该搜索项并且显示其搜索结果。在一个或更多实施例中,该应用将关于系统级搜索模块如何请求该应用搜索该搜索项的指示包括作为其提供给系统级搜索模块的注册信息的一部分。例如,注册信息可以包括关于为了向该应用传递搜索项(以及可选地其它上下文信息)而调用的该应用的一个或更多API的指示。替代地, 可以使用其它技术,诸如在该应用开始运行时,该应用可以向系统级搜索模块通知该系统级搜索模块可以如何请求该应用搜索该搜索项、该系统级搜索模块可以经由预先建立的通信信道或者遵循该应用和该系统级搜索模块两者已知的协议来传递请求、等等。如上面所讨论的,这里讨论的系统级搜索UI允许用户输入搜索项一次并且选择要搜索该搜索项的不同的应用。每个独立应用执行其自身的搜索,并且不需要具有(并且典型地不具有)用户可能选择要搜索的其它应用的知识。应用执行其搜索所依据的方式、以及应用在执行其搜索时访问的数据存储装置可以依应用而变。应用可以搜索本地数据存储装置(位于与实现系统级搜索UI的计算设备相同的计算设备上的数据存储装置)、以及/或者远程数据存储装置(例如位于另一计算设备(诸如图1的设备104)上的数据存储装置)。由生成搜索结果的应用来显示由应用生成的那些搜索结果。搜索结果典型地(但不是必须)被显示在分离的窗口中,诸如图5的窗口 404或图6的窗口 604。每个应用由此能够以其期望的任何方式定制其搜索结果的显示。尽管对于搜索结果存在这些不同的显示和/或不同的窗口,然而系统级搜索UI的数据输入部分和应用标识部分保持相同。系统级搜索UI保持在相同位置,并且外观不基于搜索结果而改变(但是如上面所讨论的,数据输入提示和建议搜索项可以基于当前有效应用而改变)。图13图示了依据一个或更多实施例的可以被配置来实现向系统级搜索用户界面的注册的示例计算设备1300。计算设备1300可以是例如图1的计算设备102或104。计算设备1300包括一个或更多处理器或处理单元1302、一个或更多计算机可读介质1304 (其可以包括一个或更多存储器以及/或者存储组件1306)、一个或更多输入/ 输出(I/O)设备1308、以及总线1310 (其允许各个组件和设备彼此通信)。计算机可读介质 1304以及/或者一个或更多I/O设备1308可以被包括为计算设备1300的一部分,或者替代地可以耦接到计算设备1300。总线1310表示若干种总线结构中的一种或多种,包括存储器总线或存储器控制器、外设总线、图形加速端口、处理器或局部总线、以及使用多种不同的总线结构的总线等等。总线1310可以包括有线和/或无线总线。存储器/存储组件1306表示一种或多种计算机存储介质。组件1306可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。组件1306可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存驱动器、可移动硬盘驱动器、光盘等)。这里讨论的技术可以以软件来实现,其中指令由一个或更多处理单元1302执行。 应理解,不同的指令可以存储在计算设备1300的不同组件中,诸如处理单元1302中、处理单元1302的各个高速缓存存储器中、设备1300的其它高速缓存存储器中(未示出)、其它计算机可读介质上等等。另外,应理解,指令在计算设备1300中存储所在的位置可以随时间而改变。一个或更多输入/输出(I/O)设备1308允许用户向计算设备1300输入命令和信息,并且还允许将信息呈现给用户和/或其它组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等等。这里可以在软件或程序模块的总背景下描述各种技术。通常,软件包括执行特定任务或者实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现方式可以存储在某种形式的计算机可读介质上或者在某种形式的计算机可读介质上传输。计算机可读介质可以是可由计算设备访问的任何可用介质。借助于示例而非限制, 计算机可读介质可以包括“计算机存储介质”和“通信介质”。“计算机存储介质”包括以任何方法或技术实现的用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、R0M、EEPR0M、闪存或其它存储器技术、CD-ROM、数字多用途盘 (DVD)或其它光学存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储设备、或者可以用来存储期望信息并且可以被计算机访问的任何其它介质。“通信介质”典型地以调制数据信号(诸如载波或其它传输机制)来体现计算机可读指令、数据结果、程序模块或其它数据。通信介质还包括任何信息传递介质。术语“调制数据信号”意味着以下信号,其特征中的一个或更多被以将信息编码在信号中的方式而设置或改变。借助于示例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)、 以及无线介质(诸如声音、RF、红外和其它无线介质)。上面的任何组合也包括在计算机可读介质的范围之内。通常,这里描述的任何功能或技术可以使用软件、固件、硬件(例如固定逻辑电路)、人工处理、或这些实现方式的组合来实现。如这里所使用的术语“模块”和“组件”通常表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块或组件表示当在处理器(例如一个或更多CPU)上被执行时实施指定任务的程序代码。程序代码可以存储在一个或更多计算机可读存储器设备中,参考图13可以找到计算机可读存储器设备的详细描述。这里描述的用于向系统级搜索用户界面注册的技术的特征不依赖于平台,意味着所述技术可以在具有多种处理器的多种商用计算平台上实现。尽管已经以专用于结构特征和/或方法动作的语言描述了主题,但是应理解在所附权利要求中限定的主题不必限于上面描述的特定特征或动作。相反,上面描述的特定特征和动作被公开为实现权利要求的示例形式。
权利要求
1.一种计算设备中的方法,该方法包括接收(806)用于该计算设备的应用的系统级搜索用户界面注册信息;将该系统级搜索用户界面注册信息添加(808)到注册存储装置;以及将该应用包括(810)为能够使用系统级搜索用户界面来被搜索的一个或更多应用之ο
2.如权利要求1所述的方法,还包括对于该计算设备的多个附加应用的每一个,接收系统级搜索用户界面注册信息;对于该计算设备的多个附加应用的每一个,将所接收的系统级搜索用户界面注册信息添加到注册存储装置;以及将所述多个附加应用中的至少一个应用包括为能够使用该系统级搜索用户界面来被搜索的一个或更多应用中的应用。
3.如权利要求2所述的方法,其中,能够使用该系统级搜索用户界面来被搜索的一个或更多应用包括多个应用,该方法还包括对于多个应用的每一个生成排序;以及依据所述多个应用的排序,按照从最高排序到最低排序的顺序来显示所述多个应用的标识符。
4.如权利要求1所述的方法,其中,该系统级搜索用户界面注册信息包括关于系统级搜索模块如何加载该应用以便响应于用户经由该系统级搜索用户界面输入的搜索项而显示搜索结果的指示。
5.如权利要求1所述的方法,其中,该系统级搜索用户界面注册信息包括要被显示来在该系统级搜索用户界面中标识该应用的名称。
6.如权利要求1所述的方法,其中,接收系统级搜索用户界面注册信息为从代表该应用的安装程序应用接收该系统级搜索用户界面注册信息。
7.一种计算设备,包括一个或更多处理器(1302);以及一个或更多计算机可读介质(1304),在其上存储了多条指令,所述多条指令在被计算设备的一个或更多处理器执行时使得所述一个或更多处理器标识(802)用于应用的系统级搜索用户界面注册信息,其包括关于提供系统级搜索用户界面的系统级搜索模块能够如何加载该应用的指示;以及将该系统级搜索用户界面注册信息传递(804)给系统级搜索模块,使得将该应用包括为能够使用该系统级搜索用户界面来被搜索的一个或更多应用之一。
8.如权利要求7所述的计算设备,其中,该系统级搜索用户界面注册信息包括要被显示来在该系统级搜索用户界面中标识该应用的名称和图标之一或两者。
9.如权利要求7所述的计算设备,其中,该系统级搜索用户界面注册信息包括关于该系统级搜索模块如何加载该应用以便响应于用户经由该系统级搜索用户界面输入的搜索项而显示搜索结果的指示。
10.如权利要求9所述的计算设备,其中,该系统级搜索用户界面注册信息包括关于如何将用户经由该系统级搜索用户界面输入的搜索项提供给该应用的指示。
全文摘要
一种系统级搜索模块接收用于计算设备的应用的系统级搜索用户界面注册信息。该注册信息包括关于该系统级搜索模块可以如何加载应用的指示。该注册信息被添加到注册存储装置,并且该应用被包括为使用该系统级搜索用户界面可以被搜索的一个或更多应用之一。
文档编号G06F17/30GK102436499SQ20111036298
公开日2012年5月2日 申请日期2011年11月16日 优先权日2010年11月16日
发明者E. 乌普霍夫 B., H. 佩多克 B., S. 格哈德 D., 萨卡 D., B. 阿弗里特 E., 米什拉 M., 维亚纳桑 P., J. 惠特 R., M. 蒙克 S., 陈 W., 刘 Y. 申请人:微软公司