2007年4月11日 星期三

構想:Embedded Linux + Mozilla

多年前曾在LinuxDevices.com閱讀The Embedded Java+Linux Quick Reference Guide系列文章,正值研究Java Virtual Machine最熱衷的時期,那時候深信此概念不移,而在後網路時代的今日,我開始思考不同的觀點。就跟Forth一般,VM只是一種途徑,重點是資訊技術能解決什麼問題、得以帶來什麼新的想法,是此,我又回頭思索過去投入的Web Browser設計項目。

週日(Apr 8)約了來自Mozilla Taiwan的朋友出來討論OrzLab的計畫,其中包含結合Embedded Linux與Mozilla runtime的整合執行環境,簡單來說,就是系統簡約到Linux與Mozilla兩部份,後者可取代傳統的應用程式。這樣的概念不算新,在《Rapid Application Development with Mozilla》一書第一章〈Fundamental Concepts〉可看到許多實例,其中有個來自OEone Corporation的HomeBase desktop,其展示畫面如下:

OEone HomeBase desktop是個很優秀的Linux桌面環境,整合許多應用程式與軟體元件到Mozilla的Framework中,諸如文書處理工具、多媒體程式、線上通訊、TV瀏覽等等,並以 XML interface (XUL + Javascript + XBL) 作為顯示與輸入的基礎,與使用者互動,詳細的報導可參考:
以下是個別元件執行的畫面:
(主瀏覽畫面)
(通訊錄)
(郵件程式)這些都是以XUL去描繪的,相當令人驚艷。OEone HomeBase的Application Framework稱為 Penzilla,雖然立意不錯,但推出的時間點不佳。在當時,Linux下文書處理與多媒體都不甚良好,可想而知,直接挑戰桌面應用會是充滿無數困難,所以,OEone不幸於2003年停止發展並售出其產品線。

然而,如果我們從嵌入式系統的角度來看Penzilla,這反而是個新機會,特別在Web 2.0的時代,許多服務強調高度整合,許多針對特定需求的裝置也被提出,如 PMP (Portable Media Player) 或Web tablet一類。同時我們也可看到過去我們使用 PC 建構的裝置,如Kiosk (擺放於捷運站的導覽系統或提款機一類) 與遠距教學系統,其裝置往往用Windows 2000加上VB或Delphi開發的前端介面,不僅缺乏彈性,也造成維護的困難。

是此,OrzLab 成立的本意就是希望藉由「平台導向」的開發,將open source與既有的資源整合起來,並且以更好的軟硬體整合,創造新的價值,所以今年會試著用ARM或MIPS一類的低價硬體裝置作為開發驗證之硬體,將Embedded Linux與Mozilla整合起來,並建立一系列XPCOM/XUL 為基礎的元件。

相當幸運的,OEone雖然已結束產品線,其原始程式碼仍被保留,存放於SourceForge.net,其專案名稱為Penzilla Desktop最近著手將這些舊的軟體建設移植到Firefox 2.x上,當然,沒有必要全部移植,只要將我們感興趣的部份,也是真正有需求的項目即可。

7 則留言:

匿名 提到...

Adobe 的 Apollo 也許也是想朝這個方向去走...
Apollo似乎計劃用Flash,Flex,Html,JavaScript,Ajax的方式來開發desktop application.
個人認為這是一個突破平台被壟斷的很好的方式...

jserv 提到...

嗯,不過我想OrzLab的方向是朝著"Just Work"的原則去設計,僅可能發揮Embedded Linux/BSD的客制化優勢。目前從ARM硬體開機、TCP/IP網路設定,到Mozilla Runtime起來,大概是5到10秒鐘的時間,並且由於整個系統可透過網路來存取設計,所以裝置端也可以是read-only。

Zhe 提到...

5到10秒鐘
相当地快啊
除了XUL,还可以利用现有的Widget/Gadget/…

Unknown 提到...

這樣可以用另一個角度切入,增加佔有率~要是大部分的 embedded device 都是這樣的模式,不符標準的網站不改善也不行啊~

Rintarou 提到...

我不太贊成倫倫的角度,server side 其實才是決定 client 是否適用的關鍵點。
以商業化的 server design 來說,往往有著非一般網頁可比的複雜 DOM,最後使得 client 不得不提高硬體成本。
若是要改變 server design,客戶寧願買成本高一點的 client,軟體的方案反而是最後的考量點。

除非有人專門開發 XUL based server solution,否則問題永遠在那裡。

反觀 Apollo 的解決方案則是更簡單的架構(可以不用 Window System),一個 VM + platform abstraction layer(方便 porting),搞定所有種類 device(含PC)。且若是以 Flash 來開發,開發速度與 Usability 兼具,
實在是”很恐怖”的解決方案。

匿名 提到...

請問一下??要去那download
您所建構的embedded linux + mozilla
我們公司是做工業控制方面,客戶單純只要firefox 及sun java,想借著您的經驗,
看看能不能客制化給客戶,雖然量很少,沒什麼利潤,但是可以借著這個project成長,才是讓人高興的事

jserv 提到...

開發中版本請參考:
http://code.google.com/p/mind/

Thanks,
-jserv