麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

系統級搜索的用戶界面的制作方法

文檔序號:6438536閱讀:312來源:國知局
專利名稱:系統級搜索的用戶界面的制作方法
系統級搜索的用戶界面
背景技術
由于計算機越來越普遍,用戶可用的電子數據的數量也變得非常巨大。盡管訪問如此大量的電子數據對用戶非常有益,它也存在其問題。一個這樣的問題就是,用戶難于找到他們正在尋找的特定電子數據。例如,為了找到他們正在尋找的特定電子數據,用戶可能遇到訪問多個不同應用程序的情況。這典型的包括了用戶請求執行這些不同的應用程序、導航至不同應用程序的搜索界面以及在這些不同應用程序的每一個中輸入相同的檢索詞。這可能會導致用戶的繁瑣和令人沮喪的經歷。發明概述
提供了此概述以簡化形式來介紹概念的選擇,其將在下面的詳細描述中進一步描述。 此概述既非用于確定所要求保護的主題的關鍵特征或必要特征,也非用于限定所要求保護的主題的范圍。根據一個或多個方面,顯示包括數據輸入部分以及應用程序識別部分的系統級搜索用戶界面。用戶數據輸入作為檢索詞而被顯示在數據輸入部分,在計算裝置上的多個應用程序中可以使用檢索詞來搜索的一個或多個應用程序的每一個的標識符被顯示在應用程序識別部分。檢索詞被提供給多個應用程序中的一個應用程序,以便這個應用程序基于檢索詞生成和顯示搜索結果。根據一個或多個方面,顯示搜索用戶界面。搜索用戶界面包括第一部分和第二部分,借助第一部分顯示作為檢索詞的用戶數據輸入,以及借助第二部分顯示在計算裝置上可使用檢索詞來搜索的一個或多個應用程序的標識符。檢索詞被提供給計算裝置上的多個應用程序中的一個,以使該應用程序基于至少一個檢索詞來顯示搜索結果,并且當應用程序顯示搜索結果的時候,包括至少第一部分的搜索用戶界面的顯示被保持在當前的顯示位置上。附圖的簡要描述
在附圖中使用相同的數字來指示相似特征。

圖1顯示了根據一個或多個實施例實現系統級搜索用戶界面的示例性系統。圖2、3、4、5和6顯示了根據一個或多個實施例包括系統級搜索用戶界面的示例性
屏幕顯示。圖7是顯示根據一個或多個實施例的示例性系統級搜索模塊的框圖。圖8是顯示根據一個或多個實施例在系統級搜索模塊上注冊應用程序的示例性注冊過程的流程圖。圖9顯示根據一個或多個實施例包括系統級搜索用戶界面的另一個示例性屏幕顯不。圖10是顯示根據一個或多個實施例用于建議檢索詞的支持語言備選 (linguistic alternative)的示例性系統的框圖。圖11是顯示根據一個或多個實施例使用系統級搜索用戶界面的示例性過程的流程圖。
圖12是顯示根據一個或多個實施例在系統級搜索用戶界面的應用程序識別部分中顯示應用程序標識符的示例性過程的流程圖。圖13顯示根據一個或多個實施例配置為實現系統級搜索用戶界面的示例性計算
直ο詳細描述
此處討論了系統級搜索用戶界面。系統級搜索用戶界面(UI)提供了允許用戶輸入檢索詞以及在多個不同應用程序中搜索那個檢索詞的集中式UI。用戶能夠使用系統級搜索UI 來搜索的特定應用程序在系統級搜索UI上注冊,提供關于這些應用程序的各種信息。系統級搜索UI使用該注冊信息來確定這些不同應用程序如何被用戶識別,這些應用程序如何被啟動到它們的搜索結果顯示視圖中等等。系統級搜索UI基于各種標準確定這些不同應用程序的排名,并且根據這個排名顯示應用程序的標識符。然后用戶選擇這些不同應用程序中要針對該檢索詞進行搜索的一個或多個應用程序,作為響應,系統級搜索UI將檢索詞提供給所選應用程序,并且所選應用程序接下來顯示它的搜索結果。圖1顯示了根據一個或多個實施例實現系統級搜索用戶界面的示例性系統100。 系統100包括能夠通過網絡106與一個或多個(X)其他裝置104(1),…,104(m)可選地進行通信的計算裝置102。網絡106可以是各種不同的網絡,包括互聯網、局域網(LAN)、公共電話或其他電話網絡、內聯網、其他公共和/或專有網絡、它們的組合等等。計算裝置102 可以是各種不同類型的裝置。例如,計算裝置102可以是臺式計算機、筆記本或平板計算機、上網本或膝上型計算機、服務器計算機、移動站、娛樂設備、通信地耦合至顯示裝置的機頂盒、電視機、蜂窩或其他無線電話、游戲機和汽車計算機等等。此外,盡管被示例為單個裝置102,應該指出的是,計算裝置102的各組件或模塊可以作為多個裝置的一個系統來實現,這些組件或模塊在該系統中分布在這些不同的裝置中。裝置104可以是各種能夠與計算裝置102通信的不同的計算裝置。正如下面更詳細討論的,計算裝置102可選地訪問一個或多個裝置104以獲得各種信息。與計算裝置102 的討論類似,裝置104可以是各種不同類型的裝置。裝置104可以是與計算裝置102相同類型的裝置或備選地是不同類型的裝置。在系統100中,計算裝置102被示例為通過網絡 106與裝置104通信。備選地,計算裝置102還可以通過其他類型的通信機制或連接與裝置 104通信,例如各種有線和/或無線連接(例如,通用串行總線(USB)連接,無線USB連接,藍牙連接,IEEE 1394連接等等)。計算裝置102包括操作系統110和一個或多個應用程序112。操作系統110管理計算裝置102上的應用程序112的啟動和運行。每個應用程序112可以是各種不同類型的應用程序,例如生產力(productivity)應用程序(例如,電子郵件應用程序、文字處理應用程序、電子表格應用程序、數據庫應用程序等)、娛樂應用程序(例如,游戲應用程序、音頻和 /或視頻回放應用程序等)、社交聯網應用程序等等。應用程序112可以訪問本地數據,訪問在計算裝置102 (或者與計算裝置102耦合的存儲裝置)上的數據,而不是通過網絡106訪問裝置104上的數據。例如,應用程序112可以是在本地訪問數據的文字處理應用程序。除了本地訪問數據之外,或者可替代的,應用程序可以通過網絡106訪問一個或多個裝置104 的數據。例如,應用程序112可以是提供電影服務的裝置104的界面應用程序,允許計算裝置102的用戶通過應用程序112從裝置104中訪問電影。
操作系統110包括輸入模塊114、顯示模塊116和系統級搜索模塊118。操作系統典型的在軟件和/或固件中實現,盡管操作系統110中的至少某些部分可備選地在硬件中實現。輸入模塊114從計算裝置102的用戶處接收用戶輸入。用戶輸入可以用各種不同方式提供,例如按壓裝置102的小鍵盤或鍵盤的一個或多個按鍵,按壓裝置102的控制器 (例如,遙控裝置、鼠標、觸控板等)的一個或多個按鍵,按壓裝置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, 接下來,所選應用程序基于那個檢索詞確定和顯示(通過顯示模塊116)搜索結果。用戶只需通過借助系統級搜索UI選擇應用程序就可以使不同應用程序112搜索那個相同的檢索詞。因此,用戶可以在單次就將檢索詞輸入至系統級搜索UI,而不需要用戶與操作系統110 交互來請求執行不同應用程序112、導航至那些不同應用程序112中的每一個的搜索界面、 以及將同一檢索詞輸入至那些不同應用程序的每一個中。然后用戶可以選擇(例如,通過單個用戶輸入,例如擊鍵、在觸摸屏上輕擊應用程序標識符、當指針或其他光標在應用程序標識符上時點擊該應用程序標識符等)一個或多個應用程序112,當應用程序被選擇時依賴于操作系統110來自動執行那些應用程序112,以及依賴于系統級搜索模塊118來提供檢索詞給所選應用程序112。
6
系統級搜索UI可以在不同時間激活。當系統級搜索UI被激活時,系統級搜索UI 由顯示模塊116顯示。系統級搜索模塊118能夠保持系統級搜索UI激活以及持續顯示。或者,系統級搜索模塊118能夠響應于特定請求(例如,執行搜索的用戶請求、來自應用程序 112的執行搜索的請求等等)激活系統級搜索UI,保持系統級搜索UI隱藏直至其被激活。 應用程序112能夠利用系統級搜索UI,調用系統級搜索模塊118或者將用戶導向至已經由模塊118顯示的系統級搜索UI。因為它們可以依賴于系統級搜索UI,應用程序112不需要提供它們自己的搜索用戶界面。因此,應該指出的是,可以用不同方式來使用系統級搜索UI。用戶可以將檢索詞輸入至系統級搜索UI,并且之后經由系統級搜索UI來選擇一個或多個應用程序112以搜索那個檢索詞。或者,用戶可以經由應用程序112輸入請求以輸入檢索詞。作為響應,顯示該系統級搜索UI (或者用戶被導向至已經被顯示的系統級搜索UI ),借助于該系統級搜索UI用戶能夠輸入他或她的檢索詞來搜索該應用程序112。或者,用戶可以選擇一個或者多個應用程序112而無需輸入檢索詞。響應于此,將用戶選擇通知給所選的應用程序,并且所選應用程序顯示它的搜索結果顯示視圖。由于用戶還沒有輸入檢索詞,所以所選應用程序不會顯示搜索結果。然而,輸入檢索詞以后,所選應用程序將會顯示它的搜索結果。圖2顯示了根據一個或多個實施例包括系統級搜索用戶界面的示例性屏幕顯示 202。屏幕顯示202包括工具欄(或者任務欄)204。工具欄204包括各種不同信息,例如當前時間(顯示為上午10:10)。系統級搜索UI被示例為包括兩部分數據輸入部分206和應用程序識別部分 208。用戶可以輸入各種單詞、字母、符號、字符等等作為檢索詞(例如通過如上所述的圖1 中的輸入模塊114)。此用戶輸入在數據輸入部分206中顯示。在所示例的這個例子中,用戶已經輸入了字符“Ha”。在屏幕顯示202所示例出的時間點上,“Ha”是檢索詞。然而,應該指出的是,用戶可以繼續輸入其他字符,形成不同的檢索詞。應用程序識別部分208包括不同應用程序的標識符。這些標識符在示例性顯示 202上被示例為“應用程序1的名字”、“應用程序2的名字”、“應用程序3的名字”、“應用程序4的名字”和“應用程序5的名字”。應用程序識別部分208中的這些標識符的每一個是一個可被用戶選擇以搜索在數據輸入部分206中顯示的檢索詞的應用程序。用戶以各種不同方式來選擇在應用程序識別部分208中識別的應用程序之一(例如,通過圖1的輸入模塊 114),例如用手寫筆或手指觸摸應用程序的標識符,在應用程序的標識符上移動指針并按壓光標控制裝置(例如鼠標)的按鈕等等。應用程序識別部分208可以在用戶將數據輸入至數據輸入部分206中時被自動顯示,或者,備選地,響應于顯示應用程序識別部分208的用戶請求而被顯示。例如,用戶以各種不同方式(例如通過圖1的輸入模塊114)選擇菜單圖標210,例如通過用手寫筆或手指觸摸菜單圖標210,在菜單圖標210上移動指針并按壓光標控制裝置(例如鼠標)的按鈕,按壓鍵盤的某個鍵等等。響應于菜單圖標210的用戶選擇,顯示應用程序識別部分208。此外,與菜單圖標210的選擇類似,系統級搜索UI包括可用各種不同方式(例如通過圖1的輸入模塊114)來選擇的搜索按鈕212。響應于搜索按鈕212的用戶選擇,在數據輸入部分206中當前被輸入的檢索詞被發送至應用程序以進行搜索。可用不同方式來確定向其發送檢索詞的應用程序,例如當前活動的應用程序、應用程序識別部分208中的當前高亮的應用程序、在應用程序識別部分208的頂部列出的應用程序等等。當前活動的應用程序指的是當前在前臺運行的應用程序并且是用戶能夠交互的應用程序(例如,圖1的應用程序112中的一個(操作系統以外的應用程序))。雖然多個應用程序可以同時在計算裝置上運行,但是只有一個是當前活動的應用程序。應用程序識別部分208通常不包括當前活動的應用程序,盡管備選地,應用程序識別部分208也可以包括當前活動的應用程序。應該指出的是,在附圖中示出的系統級搜索UI的數據輸入部分206和應用程序識別部分208的位置是示例性的,并且系統級搜索UI可以在屏幕顯示202的任意處顯示。例如,數據輸入部分206和應用程序識別部分208可以作為菜單欄的一部分、圖標欄或停靠欄的一部分等等在屏幕顯示202的頂端、沿著屏幕顯示202的左側或右側、在屏幕顯示器202 的中心顯示。圖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,窗口 604包括了來自一個不同于窗口 404中顯示的應用程序的應用程序的搜索結果。在應用程序識別部分208中識別的應用程序被選擇后,顯示窗口 604。假設,例如,“應用程序3的名字”標識電子書(E-book) 閱讀器應用程序。響應于對“應用程序3的名字”的用戶選擇,當前輸入至數據輸入部分 206中的檢索詞(在所示的例子中為“Ha”)被發送至所選應用程序。所選應用程序被啟動 (如果還沒有運行的話),搜索該檢索詞“Ha”,并且生成要在窗口 604中顯示的信息作為搜索結果。窗口 604可以顯示任意各種不同信息作為搜索結果,例如文本(在窗口 604中顯示為水平線)和圖像。在示例性的屏幕顯示602中,生成在窗口 604中顯示的信息的應用程序是當前活動的應用程序。仍然顯示窗口 404,其顯示作為之前的當前活動的應用程序的應用程序的信息。或者,響應于部分208中對“應用程序3的名字”的用戶選擇,或者響應于啟動所選應用程序,窗口 404可以被關閉(例如,在窗口 404中顯示信息的應用程序也被關閉)或者改變其外觀(例如不再顯示,縮小為任務欄或工具欄的圖標)。圖7是顯示根據一個或多個實施例的示例性系統級搜索模塊700的框圖。系統級搜索模塊700可以是,例如圖1的系統級搜索模塊118。系統級搜索模塊700包括用戶界面模塊702,應用程序排名模塊704、應用程序注冊模塊706以及應用程序注冊存儲區(store) 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的應用程序識別部分中顯示的順序。此外,可能出現以下情形,在系統級搜索模塊700上已經注冊的應用程序多于該系統級搜索 UI所能顯示的應用程序。在這種情況下,排名被用來確定哪些應用程序由系統級搜索UI顯示。備選地,可用不同方式來確定應用程序的顯示順序和/或顯示哪些應用程序,例如按應用程序名字的字母順序,隨機方式,根據其他規則或標準等等。應用程序排名模塊704可使用各種不同標準來排名應用程序,例如描述應用程序 (并且被包括作為應用程序的注冊信息)的元數據和應用程序的使用數據。應用程序排名模塊704可以響應于不同事件來確定排名,例如系統級搜索UI的激活,顯示系統級搜索UI的應用程序識別部分的用戶請求(例如,通過選擇圖2的菜單圖標210),正由用戶輸入的檢索詞等等。或者,應用程序排名模塊704可以預先確定應用程序的排名,并且當顯示系統級搜
10索UI的應用程序識別部分時,使用預先確定的排名。預先確定的排名可以定期或不定期的生成(例如,大約每天或每周更新,當新的應用程序在應用程序注冊模塊706上注冊時,等等)。這些預先確定的排名可以被保存在應用程序注冊存儲區708中(例如,應用程序排名可以與注冊信息一起存儲)或者備選地在別處存儲。應用程序排名模塊704所確定的排名可以是特定的分數(例如,一個范圍從1到 100的值),或者可以是應用程序從最高排名到最低排名的排序,這樣可以很容易地確定某個特定應用程序的排名是高于還是低于任何其他應用程序。具有較高分數或較高排名的應用程序通常被認為比具有較低分數或較低排名的應用程序更相關于用戶輸入的檢索詞,盡管備選地,具有較低分數或較低排名的應用程序可以被認為比具有較高分數或較高排名的應用程序更相關于用戶輸入的檢索詞。在一個或多個實施例中,為了確定某個特定應用程序的排名,應用程序排名模塊 704識別該特定應用程序的特征。該特定應用程序的各種特征可被用于確定這個特定應用程序的排名。多個特征可被用于確定某個特定應用程序的排名,或者單個特征可被用于確定某個特定應用程序的排名。對于用于確定排名的這些特征中的每一個,生成特定的相關度分數,并且這些相關度分數被輸入到一個或多個排名算法中。所述一個或多個排名算法組合所輸入的相關度分數(例如,通過將這些分數相加、給每個相關度分數分配權重以及將加權的相關度分數相加等等)來生成該應用程序的排名。應用程序的相關度分數的組合可以是該應用程序的排名。或者,可以生成所有被注冊的應用程序的組合的相關度分數,以及基于它們的組合的相關度分數來排序這些被注冊的應用程序(例如,從最高的組合相關度分數到最低的組合相關度分數),并且此排序可以是應用程序的排名。可被用于確定應用程序排名的一個特征是描述該應用程序的元數據。如上所述, 提供描述該應用程序的元數據作為應用程序的注冊信息。應用程序排名模塊704識別當前的活動應用程序的應用程序類別(例如,可從操作系統中獲得當前活動的應用程序的標識符,并且在應用程序注冊存儲區708中將其用來查找以確定那個應用程序的注冊信息)。如果該應用程序與當前活動的應用程序屬同一類別,那么給該應用程序分配一個較高的相關度分數(例如,值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個應用程序,等等),并且包括在系統級搜索UI的應用程序識別部分中的那5個排名最高的應用程序的標識符。應用程序的閾值數量可以隨意的由用戶或系統級搜索模塊700的管理者來配置。用戶界面模塊702還可使用在應用程序注冊存儲區708中的信息來確定包括在系統級搜索UI的應用程序識別部分中的應用程序。在一個或多個實施例中,應用程序提供的注冊信息包括如上所述的應用程序需求。用戶界面模塊702檢查這些需求是否得到滿足,如果這些需求未得到滿足,則在系統級搜索UI的應用程序識別部分中不包括該應用程序。用戶界面模塊702確定應用程序需求是否得到滿足的方式可以基于特定的需求而改變。例如,注冊信息可以表明需要互聯網連接(例如,為了訪問在例如圖1的計算裝置 104的遠程計算裝置上的數據存儲)。用戶界面模塊702需要組件或模塊(例如,與系統級搜索模塊700在相同的計算裝置上的操作系統的)來確定計算裝置當前是否具有互聯網連接。如果計算裝置當前具有互聯網連接,那么需求得到滿足,并且該應用程序可以被包括在系統級搜索UI的應用程序識別部分中。然而,如果計算裝置當前不具有互聯網連接,那么該需求未得到滿足,并且該應用程序不可以包括在系統級搜索UI的應用程序識別部分中。 或者,如果計算裝置當前不具有互聯網連接,那么該應用程序可以在應用程序識別部分中用不同的外觀(例如,陰影化以表明該應用程序不能用于搜索該檢索詞)或用文本、圖標或者一些其他表明該應用程序不能用于搜索該檢索詞的指示來顯示。此外,在一個或多個實施例中,用戶界面模塊702基于排名確定包括在系統級搜索UI的應用程序識別部分中的應用程序的排序。在系統級搜索UI的應用程序識別部分中, 根據應用程序排名來順序顯示應用程序標識符。根據它們的排名來顯示應用程序標識符的方式隨著實現方式而變化。例如,應用程序標識符可以在系統級搜索UI的應用程序識別部分中從上到下的,按照從最高排名到最低排名的順序來顯示。例如,參考圖2,用“應用程序 1的名字”來標識的應用程序會具有比用“應用程序3的名字”來標識的應用程序更高的排名。作為另一個示例,應用程序標識符可以在系統級搜索UI的應用程序識別部分中從左到右的,按照從最高排名到最低排名的順序來顯示。例如,參考圖3,用信封來標識的應用程序具有比用咖啡杯來標識的應用程序更高的排名,而具有比用字母“M”來標識的應用程序更低的排名。用戶界面模塊702還可以基于排名對應用程序標識符做出各種其他修改。例如, 較高排名應用程序(例如,一個或多個最高排名應用程序,具有閾值之上的排名的應用程序)的應用程序標識符可以使用不同的字體、不同的顏色、帶有動畫、用更大的尺寸等等來顯示。作為另一個示例,應用程序標識符可以用不同大小來顯示,且排名較高的應用程序的應用程序標識符會是比排名較低的應用程序的應用程序標識符更大的圖標、符號、字體大小等。因此,用戶界面模塊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的應用程序識別部分中選擇應用程序識別符,并且作為響應,與所選應用程序標識符相對應的應
14用程序成為當前活動應用程序。作為另一個示例,與系統級搜索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之上并且臨近數據輸入部分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支持顯示具有這些語言的語言備選的檢索詞。圖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識別一個或多個可由語音音節表示的字符。在某些情況下,例如某些東亞語言,為了輸入特定的字符,用戶輸入語音音節作為多個拉丁字母字符。例如,用戶使用拉丁字母“bei”輸入語音音節,這些拉丁字母可以與多個不同的中文字符相對應。語言備選生成模塊1006識別可與特定的用戶輸入相對應的零個或多個不同字符,并且將那些識別的字符作為語言備選返回給用戶界面模塊 1002。例如,如果用戶輸入為“bei”,那么語言備選生成模塊1006識別可用“bei”表示的不同的中文字符,并且將那些中文字符作為語言備選返回給用戶界面模塊1002。作為另一個示例,如果用戶輸入為“h”,那么語言備選生成模塊1006識別可用“h”表示的不同的中文字符(其將會包括以“h”開頭的多個不同語音音節),并且將那些中文字符作為語言備選返回給用戶界面模塊1002。語言備選生成模塊1006可被配置用于特定語言,或者備選地用于多種語言。例如,用于識別語言備選生成模塊1006將向其提供備選的語言的配置設置可由包括系統 1000的計算裝置的用戶、由應用程序1004、由用戶界面模塊1002等等提供。作為另一個示例,不同的語言備選生成模塊1006可被包括在系統1000中,每一個用于一種不同的語言(例如,一個模塊1006用于俄語,另一個模塊1006用于漢語,另一個模塊1006用于日語等)。用戶界面模塊1002根據語言備選被預期用于的語言,將用戶輸入提供給這些不同模塊1006的一個或多個(例如,如由包括系統1000的計算裝置的用戶、由應用程序1004、由用戶界面模塊1002等等指示的那樣)。用戶界面模塊1002從語言備選生成模塊1006中接收語言備選,并且將用戶輸入和語言備選都提供給應用程序1004。如果沒有從語言備選生成模塊1006中接收到語言備選,那么用戶界面模塊1002僅僅將用戶輸入提供給應用程序1004。應用程序1004之后基于用戶輸入、語言備選、或用戶輸入和語言備選二者來確定零個或更多個建議檢索詞。應用程序1004本身確定用戶輸入和語言備選的特定組合,基于其來確定建議檢索詞。所述建議檢索詞被返回給用戶界面模塊1002,其將建議檢索詞作為系統級搜索UI的一部分來顯示。 由于建議檢索詞可以基于語言備選,那么所述建議檢索詞可以使用各種不同的字母表和/ 或語言。例如,建議檢索詞可以包括由“bei”開始的英語單詞,也可以包括由“bei”表示的漢字。返回至圖7,除了提供建議檢索詞以外,或者代替提供建議檢索詞,當前活動應用程序可以隨著該用戶輸入每個字母或其他符號來提供搜索結果。當前活動應用程序基于用戶輸入的字符或其他符號生成搜索結果,并且使用那些字符或符號作為檢索詞(即使用戶可能還沒有完全輸入他或她期望作為檢索詞的內容)。這些搜索結果由當前活動應用程序提供(例如,在圖5的窗口 404中),并且每次用戶輸入一個額外的字符或者符號時由當前活動應用程序來升級。此外,在一個或多個實施例中,當前活動應用程序可選地將數據輸入提示提供給用戶界面模塊702。此數據輸入提示可以是幫助文檔、圖像、動畫等等來幫助用戶。例如,數據輸入提示可以是文本“在此處輸入檢索詞”或“在此處輸入電影名稱”。如果由當前活動應用程序提供,數據輸入提示由用戶界面模塊702來顯示以幫助用戶確定他或她可在哪里輸入檢索詞。數據輸入提示可以在系統級搜索UI的數據輸入部分中顯示(例如,并且當用
1戶輸入第一字符或符號時,數據輸入提示的顯示可以停止),或者備選地在另一個位置處顯示,例如臨近系統級搜索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,以及借助那些應用程序所保留的或者可訪問的內容。在此處的討論中,參考了啟動用戶所選應用程序和所選應用程序搜索該檢索詞。 應該指出的是,也會出現這樣的情形,所選應用程序已經運行(例如在后臺),因而不需要啟動。在這種情況下,系統級搜索模塊(例如,圖7的模塊700)將請求傳送給所選應用程序以搜索該檢索詞。作為響應,所選應用程序搜索該檢索詞,并且顯示它的搜索結果。在一個或多個實施例中,該應用程序包括系統級搜索模塊如何請求應用程序搜索該檢索詞的指示, 作為其提供給系統級搜索模塊的注冊信息的一部分。例如,注冊信息包括為了將檢索詞(以及其他任意的上下文信息)傳送給應用程序而調用的應用程序的一個或多個API的指示。或者,也可以使用其他技術,例如當應用程序開始運行時,該應用程序通知系統級搜索模塊, 其如何請求該應用程序來搜索該檢索詞,系統級搜索模塊通過預先建立的通信信道或者遵循已知的協議將該請求傳送給該應用程序以及該系統級搜索模塊,等等。如上所述,此處討論的系統級搜索UI允許用戶一次輸入檢索詞并且選擇不同的應用程序來搜索該檢索詞。每個單獨的應用程序執行它自己的搜索,并且不需要了解被用戶選擇進行搜索的其他應用程序(并且典型的不具備這些知識)。應用程序執行它的搜索的方式,以及在執行它的搜索過程中由應用程序訪問數據存儲區的方式,可隨著應用程序而改變。該應用程序搜索本地數據存儲區(位于與系統級搜索UI相同的計算裝置上的數據存儲區),和/或遠程數據存儲區(位于另一個計算裝置上的數據存儲區,例如圖1的裝置 104)。應用程序生成的搜索結果由生成那些搜索結果的應用程序顯示。搜索結果典型的 (但不必是)在分開的窗口中顯示,例如圖5的窗口 404或者圖6的窗口 604。因此,每個應用程序都能夠以它期望的任何方式來定制它的搜索結果的顯示。盡管這些用于搜索結果的顯示和/或窗口是不同的,但是,系統級搜索UI的數據輸入部分和應用程序識別部分仍然是相同的。系統級搜索UI被保持在相同的位置,并且其外觀并不基于搜索結果而改變(如上所述,盡管數據輸入提示和建議檢索詞可以基于當前活動應用程序而改變)。
圖13顯示根據一個或多個實施例可被配置為實現系統級搜索用戶界面的示例性計算裝置1300。計算裝置1300可以是,例如圖1的計算裝置102或104。計算裝置1300包括一個或多個處理器或者處理單元1302,包括一個或多個存儲器和/或存儲組件1306的一個或多個計算機可讀介質1304,一個或多個輸入/輸出(I/ 0)裝置1308,以及允許各種組件和裝置彼此通信的總線1310。計算機可讀介質1304和/ 或一個或多個I/O裝置1308可以作為計算裝置1300的一部分被包括,或者備選地可以與計算裝置1300相耦合。總線1310代表了總線結構的若干類型的一個或多個,包括使用各種不同總線結構的存儲器總線或存儲器控制器,外圍總線、加速圖形端口、處理器或本地總線,等等。總線1310包括有線和/或無線總線。存儲器/存儲組件1306代表了一個或多個計算機存儲介質。組件1306包括易失性介質(例如隨機存取存儲器(RAM))和/或非易失性介質(例如只讀存儲器(ROM)、閃存、光盤、磁盤等等)。組件1306包括固定的介質(例如RAM、ROM、固定硬盤等)以及可移動的介質 (例如,閃存驅動、可移動硬盤驅動、光盤等等)。此處討論的技術可以在軟件中使用一個或多個處理單元1302執行的指令實現。 應該明白的是,不同的指令可以在計算裝置1300的不同組件中存儲,例如在處理單元1302 中、在處理單元1302的各種緩存中、在裝置1300中的其他緩存中(未示出)、在其他計算機可讀介質上,等等。此外,應該明白的是,在計算裝置1300中存儲指令的位置可隨時間變化。一個或多個輸入/輸出裝置1308允許用戶將命令和信息輸入計算裝置1300,并且還允許將信息呈現給用戶和/或其他組件或裝置。輸入裝置的例子包括鍵盤、光標控制裝置(例如鼠標)、麥克風、掃描儀等等。輸出裝置的例子包括顯示裝置(例如,監視器或投影儀)、揚聲器、打印機、網卡等等。此處描述了在軟件或程序模塊的一般語境中的各種技術。通常,軟件包括執行某個特定任務或實現特定抽象數據類型的例程、程序、對象、組件和數據結構等等。這些模塊和技術的實現可以在某些形式的計算機可讀介質上存儲,或者在某些形式的計算機可讀介質上傳送。計算機可讀介質可以是任何可由計算裝置訪問的可用介質或媒介。作為示例而非限制,計算機可讀介質包括“計算機存儲介質”和“通信介質”。“計算機存儲介質”包括用于存儲信息的任意方法或技術實現的易失性和非易失性、可移動和不可移動介質,該信息包括計算機可讀指令、數據結構、程序模塊或其他數據。 計算機存儲介質包括,但不局限于,RAM、ROM、EEPR0M、閃存或其他存儲器技術、CD-ROM、數字多功能盤(DVD )或其他光存儲器、磁性錄音帶、磁帶、磁盤存儲器或其他磁存儲裝置、或任何其他可用于存儲所需信息以及可由計算機訪問的介質。“通信介質”通常在調制數據信號中嵌入計算機可讀指令、數據結構、程序模塊或其他數據,例如載波或其他傳輸機制。通信介質還包括任何信息傳遞介質。詞“調制數據信號”指的是其一個或多個特征用某種方式來設置或改變以在該信號中編碼信息的信號。作為示例而非限制,通信介質包括有線介質,例如有線網絡或直接有線連接,以及無線介質, 例如聲波、RF、紅外和其他無線介質。上述介質的任何組合也包括在計算機可讀介質的范圍內。通常,此處描述的任意功能或技術可以使用軟件、固件、硬件(例如,固定的邏輯電
20路)、手工處理或者這些實現方式的組合來實現。此處使用的術語“模塊”和“組件”通常代表軟件、固件、硬件或者它們的組合。在軟件實現的情況下,模塊和組件代表當在處理器上 (例如,CPU)執行時用于實現指定任務的程序代碼。程序代碼可以在一個或多個計算機可讀存儲裝置中存儲,其進一步的描述可參考圖13找到。此處描述的系統級搜索用戶界面技術的特征是獨立于平臺的,意思是該技術可在具有各種處理器的各種商業計算平臺上實現。
盡管用語言描述的主題具體到了結構特征和/或方法動作,然而應該理解的是, 在附加的權利要求中限定的主題并不一定限于上述的具體特征或動作。而是,上述的具體特征和動作作為實現權利要求的示例性形式而被公開。
權利要求
1.一種在計算裝置中實現的方法,該方法包括顯示(1102)系統級搜索用戶界面,其包括數據輸入部分和應用程序識別部分; 在數據輸入部分中顯示(1104)作為檢索詞的用戶數據輸入; 在應用程序識別部分中顯示(1106)在計算裝置上可以使用檢索詞來搜索的多個應用程序的一個或多個應用程序的每一個的標識符;將檢索詞提供(1108)給多個應用程序中的一個應用程序,以便該一個應用程序基于該檢索詞生成和顯示搜索結果。
2.如權利要求1的方法,進一步包括在應用程序識別部分中接收對于所述一個或多個標識符中的一個標識符的用戶選擇;其中所述提供包括,響應于該用戶選擇,將該檢索詞提供給由用戶所選標識符所識別的應用程序;以及其中該一個應用程序包括由用戶所選標識符所識別的應用程序。
3.如權利要求2的方法,進一步包括在應用程序識別部分中接收對于所述一個或多個標識符中的第二個的用戶選擇;以及響應于對于所述一個或多個標識符中的第二個的用戶選擇,將檢索詞提供給由所述一個或多個標識符中的第二個所識別的應用程序,以便由一個或多個標識符中的第二個所識別的應用程序基于檢索詞生成和顯示搜索結果。
4.如權利要求1的方法,進一步包括在數據輸入部分中顯示從多個應用程序中的當前活動的應用程序接收到數據輸入提示,直到接收到用戶數據輸入。
5.如權利要求1的方法,進一步包括在接收每一個字符時,將用戶數據輸入的字符提供給多個應用程序中的當前活動的應用程序,以便于所述當前活動的應用程序基于用戶數據輸入中已被接收的字符來生成和顯示搜索結果。
6.如權利要求1的方法,進一步包括當接收每個字符時,將用戶數據輸入的字符提供給語言備選生成模塊; 接收字符的一個或多個語言備選;當接收每個字符時,將所述用戶數據輸入的字符和所述一個或多個語言備選提供給多個應用程序中當前活動的應用程序;從當前活動的應用程序中接收基于所述用戶數據輸入和所述一個或多個語言備選的一個或多個建議檢索詞;以及顯示所述一個或多個建議檢索詞。
7.一種計算裝置,包括一個或多個處理器(1302);以及一個或多個其上存儲有多條指令的計算機可讀介質(1304),當由一個或多個處理器執行時,該指令導致一個或多個處理器顯示(1102,1104,1106)搜索用戶界面,該搜索用戶界面包括第一部分以及第二部分, 經由第一部分顯示作為檢索詞的用戶數據輸入,經由第二部分來顯示在計算裝置上可使用檢索詞來搜索的一個或多個應用程序的標識符;將檢索詞提供(1108)給計算裝置上的多個應用程序中的一個,以便該應用程序至少基于該檢索詞來顯示搜索結果;以及當該應用程序顯示搜索結果時,在當前的顯示位置上維持(1110)至少包括該第一部分的搜索用戶界面的顯示。
8.如權利要求7的計算裝置,其中多個應用程序中的一個是在所述第二部分中所識別的一個或多個應用程序中用戶所選擇的一個,并且其中所述多條指令進一步導致一個或多個處理器當接收每個字符時,將用戶數據輸入的字符提供給多個應用程序中當前活動的應用程序;從當前活動的應用程序中接收一個或多個建議檢索詞;以及在第二部分中顯示所述一個或多個應用程序的標識符的同時顯示一個或多個建議檢索詞。
9.如權利要求7的計算裝置,其中多個應用程序中的一個是在第二部分中識別的所述一個或多個應用程序中用戶所選擇的一個,并且其中所述多條指令進一步導致一個或多個處理器當接收每個字符時,將用戶數據輸入的字符提供給語言備選生成模塊; 接收字符的一個或多個語言備選;當接收每個字符時,將所述用戶數據輸入的字符和所述一個或多個語言備選提供給多個應用程序中當前活動的應用程序;從當前活動的應用程序接收基于所述用戶數據輸入和所述一個或多個語言備選的一個或多個建議檢索詞;以及顯示所述一個或多個建議檢索詞。
10.如權利要求7的計算裝置,其中,對于一個或多個應用程序中的每一個,應用程序的標識符包括應用程序的名字和代表該應用程序的圖標這兩者中的一個,或者包括這兩者ο
全文摘要
顯示包括數據輸入部分和應用程序識別部分的系統級搜索用戶界面。作為檢索詞的用戶數據輸入在數據輸入部分中顯示,在計算裝置上可使用檢索詞來搜索的多個應用程序的一個或多個應用程序中的每一個的標識符在應用程序識別部分中顯示。所述檢索詞被提供給多個應用程序中的一個應用程序,以便該應用程序基于檢索詞生成和顯示搜索結果同時維持至少該系統級搜索用戶界面的數據輸入部分的顯示。
文檔編號G06F17/30GK102426511SQ20111036301
公開日2012年4月25日 申請日期2011年11月16日 優先權日2010年11月16日
發明者古魯納桑 A., D. 埃利奧特 B., H. 佩多克 B., 薩卡 D., B. 阿弗里特 E., C. 薩特菲爾德 J., K. 梁 K., J. 吉爾摩爾 M., 沃捷 M., 米什拉 M., 維亞納桑 P., A. 埃貝林 R., J. 惠特 R., M. 蒙克 S. 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 农安县| 偃师市| 罗平县| 阳城县| 丁青县| 新建县| 彭泽县| 彰武县| 赤城县| 邯郸县| 河南省| 石屏县| 昌图县| 盱眙县| 海南省| 河津市| 济阳县| 巫溪县| 嫩江县| 汶川县| 五寨县| 阳谷县| 兰溪市| 修武县| 重庆市| 三原县| 宜兰县| 漳浦县| 永新县| 衡阳县| 株洲县| 文昌市| 延津县| 西充县| 富民县| 溧阳市| 尚志市| 阿鲁科尔沁旗| 大连市| 论坛| 卓尼县|