專利名稱:將來自插件模塊的信息內容在用戶界面中進行顯示的軟件架構的制作方法
技術領域:
本公開 一 般地涉及計算機軟件,并且特別涉及這樣的計算機軟 件架構,其使用插件模塊將信息內容顯示在諸如側邊欄應用之類的 一種或多種應用的用戶界面中。
背景技術:
多種軟件應用提供了允許用戶對來自多個不同源的內容進行積 累、組織和閱覽的用戶界面。這種應用包括側邊欄(sidebar)應用, 其在桌面環境中運行并在用戶界面中呈現內容。用戶通常可以定制 側邊欄中的內容及其格式以及其它呈現屬性。另 一類允許用戶定制 內容的用戶界面是網頁,諸如個性化主頁,在該網頁中用戶可以選 擇來自因特網的內容從而通過web瀏覽器進行顯示。通過這種方式, 側邊欄應用、個性化網頁和其它類型的用戶界面可以提供與每個個 體用戶相關的更有用的、經過修改的信息呈現。
戶界面上的所有內容或任意內容。在很多情況下,可能期望的是 允許第三方軟件開發者生產提供與這些應用一起使用的內容的軟件
的內容,諸如用戶電子郵箱的內容、計算機系統的當前性能量度、以及計算機系統中所存儲圖像的幻燈片播放。但是為了提高側邊欄 應用的利用率,側邊欄應用還可以接受來自"插件"模塊的內容, 其中該插件模塊是由側邊欄應用的開發者或第三方開發者生產的。 例如,因特網上的天氣信息提供者可以做出這樣的插件模塊,該模 塊在線獲取所選的天氣信息,繼而通過側邊欄的用戶界面呈現該信 息。可以理解,為了很多其它的有益目的,可以開發出很多其它類 型的第三方內容模塊。
已有用于側邊欄和其它類型用戶界面的插件架構,在這些插件 結構中,第三方內容開發者使用與主應用交互的插件模塊來提供內 容。在此上下文中,插件模塊是獲取內容并通過主應用的用戶界面 將內容呈現給用戶的軟件模塊。已有的插件架構提供基本的繪畫命 令和用戶輸入消息,其可被插件模塊的軟件代碼用來對用戶界面上 插件內容的呈現以及與該內容的交互進行管理。由于這些插件模塊 對內容顯示和用戶交互進行管理,因此該插件是針對特定類型的用 戶界面開發的,并且可能是針對特定的目標設備開發的。因此,針 對側邊欄應用開發的插件可能不適合向其它用戶界面提供內容,諸
如網頁或運行WAP瀏覽器的蜂窩電話之類的其它設備。
發明內容
一種用戶可定制內容的用戶界面,其使用允許一個或多個插件 模塊向用戶界面提供內容的插件架構。該用戶界面可以是側邊欄、 網頁、或者允許用戶對來自多種源的內容進行組織的任何其它適當 的用戶界面。該用戶界面處理內容的顯示并管理與內容的用戶交互, 從而從插件模塊中抽象出這些特征。通過這種方式,插件模塊可以
提供內容并有可能對允許與內容進行的用戶交互進行定義,而不必
件模塊因而可以與設備無關,并且有可能被用來在其它界面和/或其 它設備中顯示相同或相應的內容。相同的插件繼而可以向其它類型 的用戶界面以適合于每個界面和運行該界面的設備的方式來提供內
7容,其中該用戶界面被開發以用于接受內容并管理顯示和與內容進 ;^亍的用戶交互。
在 一 種實施方式中,計算機程序產品提供用戶可定制內容的用 戶界面。該產品包括一組插件模塊,每個插件模塊提供信息項列表, 并且有可能提供對允許與該信息項進行的用戶交互的定義。該產品 還包括用戶界面模塊,其顯示用于插件模塊的面板,使得每個面板 包括來自相應插件模塊的信息項。該用戶界面模塊管理與面板中信 息項的用戶交互,從而使插件模塊不必對交互進行管理。可以針對 側邊欄、網頁或者支持呈現用戶可定制內容的任何其它用戶模塊來 設計該用戶界面模塊。
可以將 一 個或多個插件模塊設計為根據用戶活動來自動地獲取
并產生活動內容,其中用戶活動包括web瀏覽或與本地系統中文檔
的交互。此特征支持各種應用,在這些應用中,插件模塊可以在用
戶手動定制最小化的情況下將相關內容提供給用戶
發明內容
中以及下文的具體實施方式
中所描述的特征和優點不
是無所不包的。根據附圖、說明書和權利要求,很多其它特征和優 點對本領域的普通技術人員而言將是顯而易見的。
圖1是根據本發明實施方式的在用戶界面中對來自一組插件模 塊的內容進行顯示的軟件架構示意圖。
圖2是根據本發明實施方式的側邊欄應用的側邊欄用戶界面。
圖3是根據本發明實施方式的側邊欄屏幕截圖。
圖4是根據本發明實施方式的網頁用戶界面。
附圖描述本發明的各種實施方式僅僅是為了說明的目的。本領 域技術人員將從以下討論中容易地認識到,在不脫離在此描述的本 發明原理的前提下,在此示出的結構和方法的可選實施方式均可使 用。
具體實施方式
插件軟件架構
圖1示出了軟件架構,其被設計用來促進插件模塊110的開發 以便向一個或多個不同的用戶界面提供內容,其中插件模塊110例
如是那些由第三方開發的插件模塊。在圖1所示的架構中,用戶界
面包括側邊欄應用140和網頁150;然而,多種其它類型的用戶界面 都可以在本發明的其它實施方式中^f吏用。側邊欄應用140和諸如個 性化主頁之類的某些類型網頁150可被用以收集、組織和呈現來自 各種源的內容。這些源包括存儲在本地計算機或附加存儲器中的內 容以及可通過諸如因特網之類的網絡獲取的內容。盡管用戶界面本 身可以具有獲取內容的能力,但也可以通過被設計為向用戶界面提 供內容的一個或多個插件模塊110來對用戶界面進行增強。
在此上下文中,插件模塊110是為一個或多個用戶界面提供內 容的軟件模塊。插件模塊110可以包括安裝在客戶端計算機上并被 配置為向該客戶端計算機的用戶界面提供內容的編程代碼。如圖1 中所示,插件模塊110可以向一個或多于一個的用戶界面提供內容。 這可以通過簡化插件模塊110的設計、從而將繪畫和用戶交互管理 功能從插件模塊10中抽取出來而實現。因此,在一種實施方式中, 每個插件模塊110都簡單地定義內容,這些內容可以表示為一個或 多個信息項的列表或其它集合。信息項可以包括靜態文本、超鏈接、 新聞報道、web剪輯、電子郵件、文件、應用、圖像、視頻、音頻 和/或可以通過用戶界面呈現的任何東西。通過這種方式,插件模塊 110可以通過特定的用戶界面向用戶提供各種各樣的內容。
每個插件模塊110還可進一步定義允許與信息項進行的用戶交 互。可以理解,所允許的用戶交互可能會依賴于呈現內容的類型。 例如,如果信息項包括鏈接,則所允許的用戶交互可以是在鏈接上 點擊以打開與該鏈接相關聯的內容。如果信息項是電子郵件、文件 或應用,則用戶交互可以是打開相應的電子郵件、文件或應用。對 于視頻或音頻,用戶交互可以是啟動并控制—見頻或音頻的播》文。每個插件110的開發者可以定義各種其它的用戶交互,從而實現其它
預期功能。
由于插件110不負責管理用戶界面中的繪畫和用戶輸入功能,
因此需要針對這些任務提供其它代碼。在一種實施方式中,軟件架
構包括軟件開發包(SDK) 120。軟件開發包120可以包括安裝在客 戶端計算機上的編程代碼,該編程代碼被配置為從插件模塊110接 收內容,并管理客戶端計算機用戶界面上的內容顯示以及與該內容 的用戶交互。
在一種實施方式中,軟件開發包120定義包括助手對象130的 軟件架構,各種插件模塊IIO都可以使用助手對象130以向側邊欄 應用提供內容。在一種實施方式中,軟件開發包120包括用于管理 用戶界面上的繪畫及內容呈現的一組助手對象130,以及用于管理輸 入處理和與內容的用戶交互的另一組助手對象。助手對象130因而 提供標準化圖形繪畫和輸入處理功能,使得插件模塊110的開發者 無需向可以與該插件模塊no —起使用的每個用戶界面提供這些功 能。這樣便允許第三方在設計插件模塊110時能夠關注內容和功能, 而不是關注每個用戶界面的設計。
一般來說,助手對象130可以有利地提供便捷方式以用于添加、 刪除和/或管理用戶界面中所示出的內容。在內容是項目列表形式的 情況下,每個項目可以基于已有的模板,或是基于全新的呈現格式。 因此,助手對象130可以為諸如電子郵件、新聞、文件和其它類型 內容之類的常用內容提供模板,同時允許開發者在期望的情況下以 其它方式靈活地呈現內容。在各種實施方式中,可以定義各種助手 對象130來執行各種各樣的功能。
在圖1的實施方式中,插件模塊110向多個用戶界面(側邊欄 應用140和網頁150)提供內容。由于用戶界面可以通過不同的方式 呈現內容并可以允許與內容進行不同類型的交互,因此用戶界面具 有包含不同助手對象130集合的不同軟件開發包120。例如軟件開發 包120-A包括一組助手對象130-A,其在側邊欄應用140中呈現來自插件模塊110的內容。另一方面,軟件開發包120-B包括一組助手 對象130-B,其在網頁150中呈現來自插件模塊110的內容。
優選地,軟件開發包120-A和120-B包括用于定義內容和用戶 交互的相應格式。這樣有助于使插件模塊110的設計更為便利。插 件模塊110因而可以只被開發一次卻能夠與多個用戶界面一起工作。 有利地,這樣還允許插件模塊110向以后開發的用戶界面提供內容。 例如,如果開發了新的用戶界面,則可以將相應的軟件開發包設計 為從已有的插件模塊110接收內容并針對新的用戶界面來管理該內 容的呈現以及與該內容的用戶交互。
圖2示出根據本發明一種實施方式的用于側邊欄應用140的用 戶界面。軟件開發包120-A在計算機顯示器中的側邊欄210中呈現 來自插件模塊110的內容。側邊欄210包括一組面板220,在該面板 中可以呈現插件模塊110的內容。在一種實施方式中,每個面板220 對應于特定的插件模塊110。面板220可以包括標題240和信息項列 表230,該信息項列表230可以包含多個項目、包含單個項目、或者 為空。面板220每次可以不顯示其全部信息項230。圖3是示例側邊 欄用戶界面的屏幕截圖。
用戶可以通過特定用戶界面允許的多種方式與側邊欄210中的 面板220交互。下面將更為詳細地描述用于側邊欄應用的用戶界面 的多個特征。在圖2所示的實施方式中,用戶可以選擇面板220中 的信息項230,以拉出該項230的詳細視圖250。詳細視圖250 (下 文將更為詳細地描述)可以顯示關于項230的附加信息。例如,如 果該項是文章或電子郵件,則詳細視圖250可以在可滾動窗口中顯 示完整的文章或電子郵件。對于其它類型的內容,其它交互是可能 的。用戶可以與內容交互的另一種方式是通過通知窗口 260,該窗口 可以基于觸發事件而被顯示。例如,插件模塊110可以在面板220 中呈現電子郵件收件箱的內容,并另外在通知窗口 260中提供新接 收的電子郵件。在一種實施方式中,可以將通知窗口配置為如果 它在一段時間后沒有被手動關閉,則自動消失。網頁150可以按照相同的方式進行操作。圖4示出了根據本發 明的實施方式的用于網頁150的用戶界面。例如在通過web瀏覽器 閱覽網頁410時,軟件開發包120-B將來自插件模塊110的內容呈 現在網頁410的實例中。軟件開發包120-B在面板420或者針對每 個插件模塊no創建的其它界面中顯示信息項430。與側邊欄210 一樣,網頁410界面中的面板420可以包括與用于每個面板420的 插件模塊IIO相對應的標題440。
由于它們的不同特性,側邊欄210用戶界面和網頁410用戶界 面可以按照不同的方式呈現來自插件模塊的內容。此外,它們的不 同能力可以允許或禁止不同的與內容的用戶交互。因此,將不同的 軟件開發包120-A和120-B設計為對這些呈現和用戶交互進行相應 管理,從而使插件模塊110無需考慮這些功能。通過選擇特定的預 期插件模塊110并配置這些插件呈現的內容,用戶可以針對相關聯 的用戶界面創建定制的內容。因此,針對一個用戶界面,用戶可以 選擇并配置一組插件模塊110,并繼而將定制的內容呈現在其它用戶內容。
在一種實施方式中,將多個軟件開發包120設計為將內容顯示 在不同目標設備的不同用戶界面上并管理與該內容的通信,其中, 將每個軟件開發包120設計為在特定設備上運行并管理針對特定用 戶界面的內容。例如, 一個軟件開發包可以是針對計算機系統上運 行的側邊欄設計的,而另 一 個軟件開發包可以是針對諸如蜂窩電話 或其它便攜式設備之類的其它目標設備上運行的用戶界面設計的。 后一個用戶界面例如可以是設備上運行的專用應用或通過WAP瀏 覽器閱覽的頁面。通過這種方式,可以從多種目標設備來訪問用戶 的定制內容。
在一種實施方式中,在操作中,插件模塊IIO調用助手對象130 以將項目230添加到面板220,從而將該項目在側邊欄210中顯示給 用戶。當點擊或打開項目230或閱覽其細節時,相應的插件模塊110可以從一個輸入處理助手對象130接收此事件的通知。響應于這類 事件,可將插件模塊110編程為當即提供特定信息以進行顯示,或 是采取其它適當的動作,例如打開網頁。但是,插件模塊110可以 簡單地將信息和適當的命令傳遞給助手對象130,而不是包含用于在 側邊欄面板中繪制項目的代碼。助手對象130繼而將項目添加到面 板220并將其繪制在屏幕上。在一種實施方式中,通過在插件模塊 110中包括特定代碼,該代碼用于以軟件開發包120未經過預編程進 行處理的期望方式在面板中繪制內容,從而插件模塊IIO可以重載 助手對象13 0提供的默認行為并通過不同的方式顯示內容。
在一種實施方式中,寄主和注冊裝置接受來自插件模塊110的 注冊信息并當即將其載入,而無需請求重新啟動或任何來自用戶的 額外行為。通過這種方式,無需通過用戶界面的選項手動地啟動插 件模塊IIO。 一旦插件模塊110向用戶界面(例如側邊欄應用140) 進行了注冊,它就被自動地加載到用戶界面上,從而降低了用戶負 擔。這樣避免了重新啟動或是要求用戶從插件模塊110的列表中選 擇并啟動插件模塊110,并且這樣降低了插件開發者在用戶界面中注 冊其插件模塊110的負擔。在成功地向用戶界面應用注冊之后,組 件插件模塊no繼而可以使用相應的軟件開發包120來顯示其內容 并與用戶界面的框架進行交互。
用戶界面的這種基于項目的方式允許插件模塊110容易地顯示 其內容,并將用戶界面交互留給助手對象130。這樣還允許插件模塊 110不必記住內容被發送并被顯示在哪里,以及用戶如何在用戶界面 層與內容進行交互。向基于項目的用戶界面添加模板使得能夠重復 利用功能并減少了插件開發者的工作。這種添加還提供了在所有插 件模塊110以及顯示內容的所有輸出設備中一致的用戶體驗。用戶 界面因而能夠以更一致的方式提供來自大量源的內容。
側邊欄應用
用于桌面環境的側邊欄應用作為插件的寄主進行操作,其向傳統圖形用戶界面中的用戶提供有益的可視信息。圖3示出了根據本
發明實施方式的位于桌面右側的側邊欄應用示例的屏幕截圖。側邊 欄可以在桌面上到處移動,并且可以位于屏幕的任一側(或者有可 能在上邊緣和下邊緣)。
側邊欄應用的一種實施方式允許用戶通過在面板標題欄上進行 點擊并將其拖到側邊欄中的預期位置,來對側邊欄中的面板重新布 置。在拖動面板時,面板的透明圖像跟隨著代表正被移動的面板的 鼠標光標。當用戶在附近移動鼠標時,側邊欄中的其它面板將向上 或向下滑動,以便留出插入面板的開放空間。當抬起鼠標按鍵時, 此透明面板通過動畫的方式滑入開放空間,從而完成重新布置。
在另一種實施方式中,用戶可以閱覽側邊欄應用中所顯示的特 定面板的可滾動彈出視圖。可滾動彈出視圖可以允許用戶看到面板 的較大視圖。優選地,該較大的彈出視圖可以滾動,并且允許閱覽 原始面板中的所有項目。在一種實施方式中,彈出視圖包括與其對 應面板相同的信息(也即,相同的項目列表),但是彈出視圖通過 較大的尺寸和滾動功能來允許用戶查看更多信息。如果面板一次只 顯示一個項目,則擴展視圖可以顯示面板中所有項目的列表。否則, 彈出視圖與面板中可得的視圖相同,只是顯示了更多的信息。在一 種實施方式中,可以通過點擊面板按鈕或是點擊面板標題欄本身來 訪問擴展彈出視圖。優選地,該視圖是可以重新設置大小的,并且 如果信息量超過了擴展顯示空間,則會出現滾動條。在一種實施方 式中,對應于彈出視圖的面板被灰化,以便指明哪個面板已經彈出。
在另 一 種實施方式中,側邊欄應用提供針對特定面板的細節視 圖。細節視圖類似于彈出視圖,但是給出了針對面板中特定項目的 附加信息。側邊欄面板中項目的細節視圖因而可以允許用戶查看面 板中任意給定項目的更多信息。依賴于項目類型,細節視圖中顯示 的附加信息可以采用多種形式。例如,細節視圖可以顯示電子郵件 的文本、照片的放大視圖或者一周天氣預報。通過細節視圖,用戶 可以在標題上進行點擊來打開項目本身,從而能夠訪問更多的信息。可以通過在面板中的項目上進行點擊來訪問細節視圖。再次點擊和 點擊視圖中的關閉按鈕都可以關閉細節視圖。可以通過滑出到側邊 來打開細節視圖,并通過滑回到側邊欄下面來關閉細節視圖。細節 視圖還可以提供對細節視圖中相應項目執行所選的已定義行為的功 能。細節視圖所對應項目上的小灰欄可以作為將細節視圖與特定高 亮顯示的項目相聯系的可視標志。
在另一種實施方式中,面板包括標題欄和包含面板中項目的主 體部分。標題欄可以包含描述該面板的圖標和標題以及支持對面板 特定的特征進行訪問的各種按鈕。該面板可以重新設置大小以便顯 示更多或更少的信息,并且能夠最小化以使得面板顯示的僅有部分 是其標題欄。
在一種實施方式中,在面板的標題欄上進行點擊將在面板的最 小化模式和普通模式之間進行轉換。在普通模式中,面板的標題欄 顯示面板的標題并可選地顯示相關圖標,主體部分顯示面板中的項 目。在最小化模式中,面板的普通主體被隱藏,并且標題欄中顯示 的是面板中的項目而不是標題。在一種實施方式中,面板中所包含 的信息項目在最小化的標題欄中輪換,并由此在其中順序顯示。
側邊欄應用允許插件模塊在與側邊欄分離的通知窗口中向用戶 顯示提示,甚至在側邊欄隱藏時也可顯示。例如,通知窗口可以響 應于特定的事件而彈出,諸如接收到電子郵件、突發新聞故事、備 忘錄或已計劃的會議到期、或與側邊欄上的面板相關的可能發生的 任意其它多個事件。對于每個事件,通知窗口可以以可視形式或文 本形式顯示標題、摘要和該信息的來源。有利地,不同插件模塊可 以使用相同的通知窗口來顯示它們的提示,使得可以使用單個接口 來提供對側邊欄中內容的提示。由于提示可以與不同的項目(諸如, 電子郵件、新聞等等)相關,因此提示例如可以使用圖標或其它標 識圖形來提供對提示類型的可視指示。例如可以使用箭頭按鈕對通 知窗口進行導航,乂人而可以在同一通知窗口中閱覽與通知^是示窗口 相關聯的多個項目。通知窗口的一種實施方式在圖3屏幕截圖的左上部分示出。
通過點擊并拖動句柄(handle)或通知窗口的標題欄,可以將通 知窗口移動到屏幕上的任何地方。在一種實施方式中,如果存在多
個提示,則按照幻燈片播放的形式每次顯示一個提示。用戶可以通 過將鼠標指針置于通知窗口之上來暫停該幻燈片播放,并且可以通 過點擊頁數按鈕在提示幻燈片播放中向前和向后操作。在通知顯示 本身上點擊可以打開與事件相關的項目。例如,對于新電子郵件的 提示,點擊將打開電子郵件本身。如果用戶不希望查看通知顯示, 他們可以點擊關閉按鈕,該關閉按鈕將立刻關閉通知用戶界面。在 一種實施方式中,僅在無法將信息顯示在相應的側邊欄面板中的情 況下才顯示提示,這種情況例如側邊欄被最小化。此特征可以是用 戶可設置的選項。
插件內容的自動產生
在一種實施方式中,插件才莫塊觀察用戶的行為并分析用戶正在 訪問的內容。該內容可以是瀏覽器中正在閱覽的網頁中的信息、應 用中打開的文檔的內容,或者用戶正在計算機上使用的任何其他內 容。取決于插件的目的,插件識別內容中特定的相關類型信息(如 果這種信息在其中存在的話),以用于在面板中使用(例如,圖像 或地址)。可選地,插件可以分析用戶使用的信息或用戶所采取的 行為,這些信息或行為間接地指向內容。例如,插件模塊可以識別 用戶訪問了包含RSS種子的URL,作為響應,插件模塊可以從該 RSS種子取回文本和/或圖像。
可以理解,在此描述的插件模塊類型的實施方式能夠與多種應 用一起使用。在一個示例中,當用戶在瀏覽器中瀏覽網頁、電子郵 件和/或其它文檔時,插件模塊對其內容進行檢查,從而自動檢測其
中的任何地址。爬蟲(Crawler)可以將其看到的新網頁或電子郵件 視圖通知給插件模塊。如果檢測到了地址,則插件模塊檢索該地址 的地圖,并將該地圖信息預先載入到側邊欄或其它用戶界面的相應面板中。可以點擊面板中作為結果的地像,以便給出完整實用 的地圖窗口。當新地址被標識時,插件模塊預載入其地圖信息并將 其作為面板中將顯示的下 一 個地圖進行排隊。
在一種實施方式中,保留了瀏覽原始項目的功能。例如,用戶 能夠從幻燈片播放(例如,在該幻燈片播放中,面板顯示來自當前
瀏覽網站的RSS種子的圖像)瀏覽原始圖像,或瀏覽圖片的出處網 站。
小結
為了說明的目的,已經給出了對本發明實施方式的以上描述; 這并不旨在于窮舉或將本發明限制為所公開的精確形式。相關領域 的技術人員可以理解,根據上面的教導,很多改進和變型是可能的。 因此,本方面的范圍不限于此具體描述,而是由所附的權利要求加 以限制。
上述描述的有的部分從信息操作的算法和符號化表示描述了本
發明。這些算法描述和表示是數據處理領域的技術人員所使用的將 其工作的本質最有效地傳達給本領域其他技術人員的方式。這些從
功能上、計算上或邏輯上描述的操作可以被理解為通過計算機程序、 等效電路、微碼等實現。此外,已經證明的是,在不失一般性的前 提下,將這些操作的布置作為模塊進行參考有時是方便的。所描述 的操作及其相關聯的模塊可以在軟件、固件、硬件或其任意組合中 實現。
此外,用來描述各種參量、數據值和計算的術語應被理解為與 適當的物理量相關聯,并且僅僅是適用于這些參量的適宜標志。除 非特別聲明,否則從以下討論中顯而易見的是,可以理解,在整個
說明書中,使用諸如"處理"或"計算"或"運算"或"確定"等 術語進行的討論是指操作和轉換數據的計算機系統或類似電子計 算設備的動作和處理,其中數據被表示為計算機系統存儲器或寄存 器或其它這種信息存儲、傳輸或顯示設備中的物理(電子)參量。本發明還涉及用于執行這里的操作的裝置。該裝置可以針對所 需的目的而專門構建,或者可以包括由存儲在計算機中的計算機程 序有選擇地激活或重配置的通用計算機。這種計算機程序可以存儲
在計算機可讀存儲介質中,諸如但不限于包括軟盤、光盤、CD-ROM、 磁光盤、只讀存儲器(ROM)、隨機訪問存儲器(RAM) 、 EPROM、 EEPROM在內的任意類型的盤、磁或光卡、專用集成電路(ASIC) 或者適合存儲電子指令的任意類型的介質,并且每個存儲介質都與 計算機系統總線耦合。此外,說明書中所稱的計算機可以包括單個 處理器或者可以是使用了用于提高計算能力的多處理器設計的架 構。
在此給出的算法和顯示本身并不與任何特定的計算機或其它裝 置相關。各種通用計算機可以與根據在此所描述教導的程序 一起使 用,或者可以證明構建更專用的裝置來執行所需的方法步驟是方便 的。多種這些系統所需的結構從以上描述將是顯而易見的。另外, 本發明沒有參考任何特定的編程語言進行描述。應當理解,多種編 程語言可用來實現在此描述的本發明教導,并且為了公開對本發明 的支持以及本發明的最佳模式,可以提供對任何特定語言的參考。
本發明非常適于眾多拓樸上的各種計算機網絡系統。在該領域 中,大型網絡的配置和管理包括存儲設備和通過諸如因特網的網絡 與相異的計算機和存儲設備可通信地耦合的計算機。
最后,應當指出,說明書中使用的語言原則上是出于可讀性和 指導的目的而選擇的,而不是用來約束和限制本發明的主題。因此, 本發明的公開旨在說明,而不是限制所附權利要求中闡明的本發明 范圍。
權利要求
1. 一種計算機程序產品,用于提供用戶可定制內容的用戶界面,所述計算機程序產品包括包含計算機程序代碼的計算機可讀介質,所述計算機程序代碼包括一組插件模塊,每個插件模塊適合于提供信息項的列表;以及軟件開發包,其被配置為將來自相應插件模塊的所述信息項顯示在用戶界面上,并管理與所述用戶界面中所述信息項的用戶交互。
2. 根據權利要求1所述的計算機程序產品,其中, 一個或多個 所述插件模塊定義允許與 一 個或多個所述信息項進行的用戶交互的 集合。
3. 根據權利要求2所述的計算機程序產品,其中,所述用戶界 面被配置為根據由相應插件模塊所定義的所述允許的用戶交互來管 理與所述信息項的用戶交互。
4. 根據權利要求1所述的計算機程序產品,其中,所述軟件開 發包被配置為將每個插件模塊的信息項顯示在對應于該插件模塊的 面板中。
5. 根據權利要求1所述的計算機程序產品,其中,所述軟件開 發包被配置為將所述信息項顯示在計算機桌面上的側邊欄中。
6. 根據權利要求1所述的計算機程序產品,其中,所述軟件開 發包被配置為將所述信息項顯示在用戶定制的主頁中。
7. 根據權利要求1所述的計算機程序產品,其中,至少一個所 述插件模塊被配置為通過觀察用戶行為并基于所述用戶行為識別相 關信息項來至少部分地獲取信息項列表。
8. —種計算機程序產品,用于提供用戶可定制內容的用戶界面, 所述計算機程序產品包括包含計算機程序代碼的計算機可讀介質, 所述計算機程序代碼包括一組插件模塊,每個插件模塊適合于提供信息項的列表;以及 第 一軟件開發包,被配置為將來自相應插件模塊的所述信息項顯示在第 一用戶界面上,并管理與所述第 一用戶界面中所述信息項 的用戶交互,第二軟件開發包,被配置為將來自相應插件模塊的所述信息項 顯示在第二用戶界面上,并管理與所述第二用戶界面中所述信息項 的用戶交互。
9. 根據權利要求8所述的計算機程序產品,其中,所述第一用 戶界面是側邊欄應用。
10. 根據權利要求9所述的計算機程序產品,其中,所述第二用 戶界面是網頁。
11. 根據權利要求8所述的計算機程序產品,其中,所述第一用 戶界面適合于在不同于所述第二用戶界面的目標設備上運行。
12. —種計算機程序產品,提供用于對來自 一個或多個插件模塊 的內容進行顯示的用戶界面,所述計算機程序產品包括包含計算機 程序代碼的計算機可讀介質,所述計算機程序代碼用于執行包括以 下步驟的方法從多個插件模塊中的每一個接收信息項的集合; 接收與信息項相關聯的用戶交互;以及用于在沒有相應插件模塊輔助的情況下對在用戶界面中顯示所 述信息項以及與所述信息項的用戶交互進行管理的步驟。
13. 根據權利要求12所述的計算機程序產品,其中, 一個或多 個所述插件模塊定義允許與一個或多個所述信息項進行的用戶交互 的集合。
14. 根據權利要求12所述的計算機程序產品,其中,所述用戶 界面是側邊欄應用。
15. 根據權利要求12所述的計算機程序產品,其中,所述用戶 界面是網頁。
16. 根據權利要求12所述的計算機程序產品,其中,所述方法 還包括為每個插件模塊在所述用戶界面上創建面板,每個面板包括針對相應插件模塊的信息項。
17. 根據權利要求12所述的計算機程序產品,其中,至少一個 所述插件模塊被配置為通過觀察用戶行為并基于所述用戶行為來識 別相關信息項來至少部分地獲取信息項列表。
18. —種計算機程序產品,用于提供用戶可定制內容的用戶界 面,所述計算機程序產品包括包含計算機程序代碼的計算機可讀介 質,所述計算機程序代碼包括一組插件模塊,每個插件模塊被配置為提供信息項的列表以及 定義允許與所述信息項進行的用戶交互;以及側邊欄工具包,被配置為從所述插件模塊接收所述信,t、項列表 以及允許的用戶交互,所述側邊欄工具包包括第一助手對象集合和 第二助手對象集合,其中所述第 一助手對象集合用于將來自每個插件模塊的所述信息項顯示在側邊欄的面板中,所述第二助手對象集 合用于根據所定義的允許的用戶交互來管理與所述信息項的用戶交互。
19. 根據權利要求18所述的計算機程序產品,還包括網頁工具包,被配置為從所述插件模塊接收所述信息項列表以 及允許的用戶交互,所述網頁工具包包括第一助手對象集合和第二 助手對象集合,其中所述第一助手對象集合用于將來自每個插件的 所述信息項顯示在網頁的面板中,所述第二助手對象集合用于根據 所定義的允許的用戶交互來管理與所述信息項的用戶交互。
20. 根據權利要求18所述的計算機程序產品,還包括軟件開發包,被配置為從所述插件模塊接收所述信息項列表以 及允許的用戶交互,所述軟件開發包被配置為在除計算機系統以外 的目標設備上顯示所述信息項并管理與所述信息項的用戶交互。
21. 根據權利要求18所述的計算機程序產品,其中至少一個所 述插件模塊被配置為通過觀察用戶的行為并基于所述用戶的行為識別相關信息項來至少部分地獲取信息項列表。
22. —種計算機實現的方法,用于通過用戶界面的插件模塊獲取信息項,所述方法包括在本地機器上觀察用戶行為,所述行為包括閱覽所述本地機器上的內容;分析正在閱覽的內容;基于所述分析識別相關信息;將所識別的相關信息添加為針對所述插件模塊的 一 個或多個新的信息項;以及4是供與所述插件才莫塊相關聯的所述信息項,以用于在所述用戶界面中顯示。
全文摘要
諸如側邊欄應用或網頁的用戶界面應用從一組插件模塊中接收內容。該用戶界面處理內容的顯示并管理用戶與該內容的任何交互,由此將這些特征從插件模塊中抽取出來。因而,插件模塊可以與設備無關,并且有可能用來在其它用戶界面和/或其它設備中顯示相同或相應的內容。還可以將一個或多個插件模塊設計為根據用戶活動自動地獲取和產生插件模塊的內容,其中用戶活動包括web瀏覽或與本地系統上的文檔交互。
文檔編號G06F9/44GK101535952SQ200680037555
公開日2009年9月16日 申請日期2006年8月21日 優先權日2005年8月19日
發明者J·夏皮羅, N·巴特拉, S·勞倫斯, S·薩姆帕斯, T·岡納森 申請人:谷歌公司