用於用戶界面的分布式軟體架構的製作方法
2023-06-07 00:09:46 1
cover"的元素。該封面元素是與待由該程序塊在GUI屏幕的特殊位置上描繪的專輯封面相關聯的圖像元數據。還要注意其中表述為"zui:metadata='this.image.uri"'的程序行。這一程序行是在第一代碼實施例(父類SVG)中作為所感興趣的專輯而建立的,即該專輯被傳遞給該程序塊,並且相關聯的封面樣式被該變量引入。以上示例性的實施方案將使用環境中的程序塊描述為,基於SVG程序語言擴展的用戶界面構建塊,而程序塊可更一般地作為利於分布式軟體設計的系統構建塊使用。例如考慮圖27描述的系統。其中,軟體系統2700提供了用於元數據2702(例如與影片、購物、音樂等相關聯的數據)與終端用戶設備例如電視機2704和遙控設備2706之間的控制和交互作用的、完整的內容傳遞架構。更一般地,元數據是關於特殊數據集的信息,該數據集可描述例如其它數據如何、何時、由誰接收、創建、訪問和/或修改,以及如何安排其它數據的格式,以及其它數據的內容、質量、條件、歷史記錄和其它特性中的一個或多個。基於預先定義的程序塊模型,程序塊由程序塊引擎創建為可重複使用的軟體構造,在圖27的示例性系統中,該構造體現為適用於與系統相關聯的特殊應用的架構層之上的全部相關邏輯。為使該邏輯模塊化,可開發不同層的程序塊,例如應用程式層、小應用程式層、語義層和基本層的程序塊,如圖28所示。這些不同類型程序塊中的每一個都將同一些實施方案一起更詳細地描述。最高層是應用程式程序塊。在圖27所示的系統實施例中,應用程式與元數據類型相對應,例如音樂應用程式用於將音樂傳送給終端用戶,電影應用程式用於將點播的電影傳送給終端用戶等等。應用程式電影程序塊提供了允許用戶瀏覽/搜索/查找電影元數據的入口層次,以起到描述終端用戶和電影元數據之間的完整交互的迷你(mini)應用程式的作用。相似地,電影應用程式塊描述了終端用戶和電影元數據之間的完整交互。因此,應用程式程序塊實質上定義了用於圖27所示的示例性系統的、與特殊元數據類型相關聯的分布式類,並提供了用於識別和區分相應源元數據2702的具體才幾制。一旦應用程式程序塊被生成,通過創建該應用程式程序塊的單獨實例(通過傳遞新的參數而定製)可重複使用該應用程式程序塊。例如,當電影應用程式塊被創建,並在為應CinemaNow的點播而提供的電影進行元數據分析、用戶界面的生成、以及用戶請求(在其它事情之中)之後,通過將不同的參數傳遞給該程序塊的另一實例,該程序塊的另一實例可處理其它提供者(如Movielink)提供的電影。因此應用程式可看作一種充分操縱頂層元數據分類的、自含式的、系統範圍內的構造。圖16描述的不同功能的圖符中的每一個都可與一種不同的應用程式程序塊相關聯。在圖28的層中降低一層,應用程式程序塊由幾個小應用程式程序塊組成。小應用程式程序塊是一種充分操縱第二層元數據類或充分表示元數據特殊功能的、自含式的、系統範圍內的構造。在這種環境中,第二層元數據指可用於高層元數據域內的元數據類型,例如電影的高層元數據,第二層元數據可包括電影片名、明星、片長等。元數據特殊功能指與特殊的高層元數據綁定的功能,例如瀏覽/播放電影或瀏覽商品元數據/將商品元數據放入購物車。例如,布滿與特殊應用相關聯的書架(bookshelf)的導航屏幕可使用書架導航小應用程式程序塊定義。該導航小應用程式程序塊映射以適合其更高層應用程式程序塊的方式而組織的全部相關元數據。例如,由特殊電影提供者提供的全部內容可根據在電影導航小應用程式程序塊中定義的可用的元數據而描述為書架的布置。相同的電影導航小應用程式程序塊的另一實例可用於為不同電影提供者提供的內容生成相似的用戶界面屏幕,並處理交互。小應用程式程序塊提供相關元數據(如之前由應用程式程序塊組織的元數據)與用戶界面的場景布置之間的連結,以控制界面的各個方面,例如書架的尺寸規格、封面樣式的尺寸規格等。小應用程式程序塊還能控制用戶和系統之間在該層的功能性交互,例如書架對暫停在其顯示區域上的遊標作出反應的方式(見如圖24)。每一個小應用程式程序塊可由幾個語義程序塊組成,語義程序塊趨向於作為充分封裝了與系統相關聯的特殊語義交互的、自含式的、系統範圍內的構造而操作。例如,儘管小應用程式程序塊可與特殊的元數據本體(ontology)相關聯,例如圖24所示的導航書架用戶界面屏幕,然而語義程序塊也可與特殊的書架相關聯,例如圖25所示。因此語義程序塊可包括項(例如封面樣式圖像)的大小的詳細描述、封面樣式的詳細描述、語義懸浮的詳細描述(例如當用戶將遊標在特殊封面樣式圖像上暫停以生成如圖25所示結果時,如何生成懸浮放大)、標題的詳細描述等。考慮語義程序塊的如下實施方案。具體地,考慮由程序塊引擎示例-說明的、用以顯示關於特殊的人(例如可使用界面選擇的電影中的演員)的信息的語義程序塊。該語義程序塊將以下信息顯示給系統中的用戶姓名、出生日期、簡短傳記和相關工作,例如屬於該語義程序塊中的屬性的、他或她主演的電影。該傳記還包括可滾動的文本框(其可利用圖28所示的最低層的基本程序塊創建)。語義程序塊可重複用於所有的支持上述屬性的普通元數據類型。還要注意到,語義程序塊可示出相關工作的縮略圖。然而,語義塊還可進一步定義可預先緩存與每種縮略圖相關聯的、在用戶點擊縮略圖進入該視圖時的更大的圖像的功能,這樣減少了達到場景的等待時間。這可視為與面向對象(OO)類相類似,因為根據創建者是音樂家、樂團、演員、導演或演員,類"person"具有不同的實例。然而語義程序塊可僅需示出相關工作的封面樣式,則支持姓名、出生日期、簡短傳記和封面樣式的所有類型的普通元數據都可重複使用該程序塊。在存在相關工作但不能得到代表該工作的封面樣式的情況下,該程序庫在被調用時構造而替代地在用戶界面上顯示佔位符圖像。事實上,根據元數據類型(例如看起來像是電影盤或書),可使用不同類型的佔位符圖像。這說明了程序塊處理錯誤的能力。如上所述,基本程序塊是表示基本交互作用的、自含式的、系統範圍內的構造。基本程序塊的實施方案有文本框、按鈕、圖片、滾動條等。上述示例性的實施方案在所有方面趨於是用來描述而不是限制本發明。因此,本發明能夠在具體的實現中具有許多變種,本領域的技術人員能夠通過包含在本文中的描述得到這些變種。所有的這些變種和修改被看作是落入本發明在下面權利要求中定義的範圍和精神內。除非是明確說明,否則在本申請的說明書中使用的元素、動作或指令不能解釋為對本發明是關鍵或必要的。而且,如在本文中使用的那樣,冠詞"一(a)"的意圖包括了一個或多個。權利要求1.一種用於在圖形用戶界面上顯示信息的方法,包括以下步驟以第一放大等級顯示第一多個圖像;接收識別所述多個圖像的子集的第一選擇指示;以及以第二放大等級顯示所述多個圖像的所述被選子集的第一縮放版本,其中,所述第一和第二顯示步驟都通過執行至少一個可重複使用的軟體代碼塊實現。2.如權利要求l所述的方法,其中,所述至少一個可重複使用的軟體代碼塊用可縮放矢量圖形(SVG)語言編寫。3.如權利要求2所述的方法,其中,用於生成所述至少一個可重複使用的軟體代碼塊的所述SVG語言被修改以包括程序塊構造,所述程序塊構造具有以下屬性標識(id)值、規定像素中相應節點的寬度的寬度值、規定像素中相應節點的高度的高度值、轉變值、定位器事件值、可見性屬性、以及對作為程序塊加載的SVG文件的URL。4.如權利要求l所述的方法,其中,所述至少一個可重複使用的軟體代碼塊用於繪製包括作為所述第一多個圖像的多個可選項的架。5.如權利要求4所述的方法,其中,利用作為參數傳遞給所述至少一個可重複使用的軟體代碼塊的圖像數據在所述用戶界面上繪製所述第一多個圖像。6.如權利要求5所述的方法,其中,所述參數是與電影和音樂之一相關聯的元數據。7.—種用於構造與元數據處理系統相關聯的分布式軟體的方法,所述方法包括以下步驟提供多個第一類型的系統範圍軟體構造,其每一個定義用戶與各自的高層元數據類型的交互;以及提供至少一個第二類型的低層系統範圍軟體構造,其中所述多個第一類型的系統範圍軟體構造中的每一個包括一個或多個所述第二類型的低層系統範圍軟體構造。8.如權利要求7所述的方法,其中,所述至少一個第二類型的低層系統範圍軟體構造定義與第二層元數據類型的系統交互、或定義元數據特殊功能。9.如權利要求7所述的方法,其中,所述高層元數據類型是電影,且所述第二層元數據類型包括電影片名和電影明星的姓名。10.如權利要求7所述的方法,其中,所述第二類型的低層系統範圍軟體構造是利用形式修改的可縮放矢量圖形(SVG)語言構造的程序塊。11.一種具有分布式軟體構造的元數據處理系統,包括元數據供應源,用於為所述元數據處理系統提供各種類型的元數據;多個第一類型的系統範圍軟體構造,其每一個定義用戶與各自的高層元數據類型的交互;以及至少一個第二類型的低層系統範圍軟體構造,其中所述多個第一類型的系統範圍軟體構造中的每一個包括一個或多個所述第二類型的低層系統範圍軟體構造。12.如權利要求11所述的元數據處理系統,其中,所述至少一個第二類型的低層系統範圍軟體構造定義與第二層元數據類型的系統交互、或定義元數據特殊功能。13.如權利要求11所述的元數據處理系統,其中,所述高層元數據類型是電影,且第二層元數據類型包括電影片名和電影明星的姓名。14.如權利要求11所述的元數據處理系統,其中,所述第二類型的低層系統範圍軟體構造是利用形式修改的可縮放矢量圖形(SVG)語言構造的程序塊。全文摘要根據本發明的系統和方法提供了可用於創建可縮放用戶界面的軟體結構(程序塊)。提供圖形顯示器的參數化變量的程序塊可重複使用並聯結用戶界面上的不同場景。文檔編號H04N5/445GK101233504SQ200680001581公開日2008年7月30日申請日期2006年1月5日優先權日2005年1月5日發明者丹尼爾·S·辛普金斯,凱文·康羅伊,尼爾·戈亞爾,弗蘭克·A·亨萊特,戴夫·奧夫德海德,史蒂芬·沙伊雷,查爾斯·W·K·格裡東申請人:希爾克瑞斯特實驗室公司