帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
聯網電視App平台技術
W3C Widget介紹

【作者: 陳靜芳】   2011年07月12日 星期二

瀏覽人次:【9162】

根據MIC調查,先進國家寬頻網路環境健全,加上服務業者積極推展影視加值應用吸引用戶,故預估2012年起至2014年網路視訊流量將超過有50%的成長空間。除了寬頻網路串流的爆發外,台灣數位電視也積極的部署,有線寬頻產業協會理事長簡仁德表示,台灣有線電視頭端數位化比例已經超過90%,整體數位化普及率僅約在7%上下,初步估計頭端數位化投資總額超過50-60億元。因此聯網電視設備接收到經數位化處理後傳輸的數位電視訊號影音畫面將更清晰,且具備電子節目表單與隱藏式字幕等功能,可接收寬頻網路、IPTV、MOD、手機、STB、OTT Box等設備組成的應用平台,如:Google TV和Samsung Smart TV(Android)、Apple TV、Panasonic公布的新Viera Connect與Intel之BOXEE等平台,這樣提供雙向互動傳輸機制的設計,就是把電視訊號的控制權交給用戶,促進了信息合理的流動,預期刺激更多用戶行為,讓整個聯網電視平台應用體驗更多元。


對Smart TV或OTT Box聯網裝置業者而言,選用何種平台作為開發的基準,無非是看中聯網電視平台上App能帶入豐富的內容資源。根據MIC2011年的統計,全球App軟體商業市場規模仍持續的成長,且預計至2013年將超過有200億美元的收入。此外,SPB TV也是一個聯網電視的解決方案,也在3.0平台提供有手機版的TV app商店。因此widgets便是為了提供各種內容製造者或軟體設計師,甚至系統整合商一個方便共通架構,參考圖一的軟體整合示意圖,widgets是小型互動多媒體應用,其可用於桌上型電腦、行動電話與電視機、STB等設備。widget的類型相當的多,典型的例子有日曆、天氣、遊戲、便利貼、新聞等,不管是鑲入網頁的設計方式,或使用於單機版的應用,皆使用相同的方式製作widgets。從2006年開始W3C持續的更新相關的widgets家族規格,目前規範性規格有7組,包含widgets標準化的配置格式與封裝格式(簡稱P&C)、定義儲存偏好與存取widget封裝內metadata的APIs規範(簡稱TWI)、定義widget封裝進行數位簽章時,使用到之自訂XML簽章語法與處理規格(簡稱DigSig)、當版本控制設計允許更新時,透過HTTP保持widget為最新版(Widget Updates over HTTP)、widget可透過URI認證資源要求/存取網頁資料(簡稱WARP)、定義使用於widgets內的URI策略或使用於其他無法連網的網頁技術(Widgets 1.0: URI Scheme)以及定義媒體功能CSS媒體詢問相關的展現文件內容模式的規格(簡稱VMMF)。


《圖一  概述聯網電視設備之整體架構  (資料來源:資策會繪製)》
《圖一 概述聯網電視設備之整體架構 (資料來源:資策會繪製)》

Widget引擎組成介紹

目前已經有些領先市場的widget引擎(User Agent)參與W3C Widget的封裝與配置測試一致性的吻合度,如:Owrandroid(Opera Widgets Runtime for Android)、Wookie(Apache)、Aplix、Opera、BorqsWRT1.0與Obigo,其中Opera 11.10 Beta和Apache Wookie 0.9與W3C widget的一致性最高,可使用JQuery javascript函式庫撈進(mash up)所有公布於W3C網站上的測試案例,比對設計客製化的widget引擎與W3C widget標準的吻合度最高。圖二顯示一個widget引擎(User Agent)可分為五個基本組成技術,包含封裝發佈與佈署、metedata配置、腳本存取連結、使用者介面和權限以及展現與行為邏輯,其中打星號的部分封裝格式與數位簽章、媒體類型、配置文件以及Widget的APIs在W3C的widget家族成員之規範性的規格內,都已經定義運作的方式,因此對開發者而言,widget引擎幾乎就是仿造瀏覽器的行為,因此widget引擎也能繪製(render)網頁,同時藉由ECMAScript的轉譯可與其他瀏覽器元件併入運作,widget為了給最終用戶(end-user)帶來單一互動應用感受,提供顯示和/或更新本地數據或網頁數據,因此包裝法允許單一下載和安裝到用戶機(user's machine)、行動電話(mobile phone)、或上網設備(Internet-enabled device)。封裝widget的優點就是可以在用戶間共享widget包,而不需仰賴HTTP。


《圖二  單機版的W3C widgets引擎整體架構 (資料來源:W3C)》
《圖二 單機版的W3C widgets引擎整體架構 (資料來源:W3C)》

封裝widget包注意事項

所謂的widget包(參考圖三),就一個封裝了所有該widget的相關資源,包含metadata描述文件(CSS, DOM等等)、配置文件、HTML/XML頁面、圖片和其他文件整體包裹成的壓縮包,其封裝格式可採用ZIP壓縮的Deflate編碼或未壓縮僅封裝的ZIP檔案兩種封裝法,為了widget跨平台的互通性,這個ZIP檔內相關檔名的設計有些需要注意的事項,如同:須注意最長的關聯檔名長度建議是低於250字元,且為了避免檔名字元組在ZIP打包後,跨不同作業系統執行時產生不一致的狀況,建議採用Unicode編碼的檔名設計法(如:UTF-8編碼),還有此widget包內部的資料夾或個別檔名在命名時,應避免使用到ZIP禁止字元,以及於檔案或資料夾名稱的最後一個字元也需要避免用到 “.” U+002E FULL STOP和空白字元,因為有些檔案系統在解壓縮widget包時,會主動移除這些字元。


《圖三  典型的widget包內檔案分布狀況 (資料來源:W3C)》
《圖三 典型的widget包內檔案分布狀況 (資料來源:W3C)》

Widget配置文件

每個widget包中包含一個metadata描述的XML配置文件,其檔名為config.xml,檔頭必須標明使用xml的版本與採用的編碼方式(),使用UTF-8的編碼格式可防止亂碼的產生,且在此組態文件檔案內,包含widget成員的宣告,以及widget的名稱、描述、版權、作者等等內容,同時指定起始檔(X)HTML/XML檔案名稱,預設起始檔名為index.htm、index.html、índex.svg、index.xhtml與index.xht五種,也可使用content成員宣告加入客製的起始檔,若要使用數位簽章也可放置於config.xml內,此配置文件有11個成員,以widget成員作為根成員因此其包含相當多的子成員,name成員描述widget名稱,description成員敘述用途,author成員標明此widget的作者資訊,license成員涵蓋此widget配送的所有平台,icon成員是使用圖像的方式呈現這個widget,content成員便是指名widget起始檔案的服務為輔助程序機制(bootstrapping mechanism),feature成員則是指要求進階可用的功能如同API(例如:與camera鏡頭的連結、或使用LBS地理位置的API、或widget引擎內部自訂的API等),preference成員為宣告widget運行時可用的名稱數值對(name-value pair)(例如:preference名稱為api-key其對應數值則為該key使用到的f6d3a312f9d742機器碼,還可指定存取屬性),以及param成員為宣告給某feature成員的子成員,還有span成員就是通用文本容器,為了國際化的目的而使用。以上所描述配置文件內使用到的11個成員與config.xml內文本節點(text node)間的親子屬性關係,且包含w3C網站上相關細部的屬性定義,可參考圖四與圖五成員間父子狀態圖。


《圖五  widget、icon、content、preference與feature成員與param成員間的關聯性 (資料來源:資策會繪製)》
《圖五 widget、icon、content、preference與feature成員與param成員間的關聯性 (資料來源:資策會繪製)》

Widget的腳本語言是採用Javascript的ECMAScript語法,可使用自動發現(Auto-discovery)啟動widget引擎去識別和安裝widget包,其與HTML網頁相關聯。當網頁指向widget包,widget引擎應對終端用戶(end-user)揭露存在的widget包且允許終端用戶安裝此widget。若此widget包預網站連結,可使用指定的aárea和link成員建立超連結(如:The Example Widget),關於widget做網路連結時,是採用XMLHttoRequest技術。


Widget使用者介面

圖六,關於使用者介面(UI)W3C是推薦使用CSS2的設計法,因為CSS2支援更多的媒體類型且有下載字體的支援,由於聯網電視整體最直接與用戶接觸便是UI的呈現方式,因此CSS3增加更多相容性的圓角設計、UI遮罩、陰影設計,且可實踐漸層、旋轉、字體效果以及三維變換,讓整體UI呈現更加流暢,故建議設計聯網電視的widget包時,若相對應的STB平台的widget引擎有支援時應加入CSS3的設計,或者採用內建API等達到多樣化的UI設計。


《圖六  widget友善的使用者介面示意圖 (資料來源:資策會繪製)》
《圖六 widget友善的使用者介面示意圖 (資料來源:資策會繪製)》

結論

今年全美消費性電子展CES2011展出相當多聯網電視眾多的App平台電視平台外,周邊設備的互動機制如:觸碰平板電腦控制聯網電視,或體感的應用連接,甚至到家電的控制,都可整合到聯網電視的App平台,因此本文介紹互通的W3C widget介面包含Widget引擎組成介紹、封裝widget包注意事項、Widget配置文件以及友善的Widget使用者介面,期望這個簡單易上手的widget設計能讓更多的內容開發業者加入,提升聯網電視更流暢性的使用方式,預期將吸引更多的消費者更愉快舒適的客廳饗宴。


相關文章
ChipLink工具指南:PCIe® 交換機除錯的好幫手
氫能競爭加速,效率與安全如何兼得?
智慧製造移轉錯誤配置 OT與IT整合資安防線
創新光科技提升汽車外飾燈照明度
以模擬工具提高氫生產燃料電池使用率
comments powered by Disqus
相關討論
  相關新聞
» 工研院通訊大賽獲獎名單出爐 AI創新應用助2025年通訊業產值破兆
» 工研院IEK眺望2025通訊業 網通安全產值破兆
» 遠傳電信營運每年減碳5萬噸 獲施耐德電機永續發展影響力獎肯定
» 工研院MWC 2024展會直擊:5G-A通訊、全能助理成下一波AI風潮
» 經部「2023玩學5G新視界」 領台灣網通產業躍上國際舞台


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.18.224.31.90
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw