以 Information & Knowledge Engineering 的角度看 Software Bundle
lazybuntu [1] 是國內著名 bbs/web browser 軟體 PCMan 的作者(也叫 PCMan :p)發起的計畫, 就如同其他 lazyxxx 計畫一樣, 是希望透過把常用的, 好用的 softwares 綑綁在一起(software bundle), 並設定好在特定 platform 上的安裝設定以及 package deployment, 使得在該 platform 上的使用者可以快速地安裝好必要的 softwares. 當然會這樣作的原因也包含了在原來的 distributions 中並未能夠考慮特定區域的使用習慣來決定內建的 packages 支援, 或是因為 packages 太多反而讓一般使用者不知道怎樣選取.
相似的東西, 最近國內比較 hot 的應該是 lazyeeepc [2] 吧, 而我之前為了求方便分別在 Linux 以及 Windows 上也使用過的 XAMPP [3] 也算是類似的東西. 但是我認為從 information & knowledge engineering 的角度來看, 這些 software bundles 之間還是有所不同.
如果只是從 把常用受歡迎的 softwares 一起包裝起來 的角度來看 software bundle, 那麼 software bundle 其實可以被看為是一個 packaged information aggregation. 在此 aggregation 內, softwares 是以特定的關係被 connect 在一起, 但是這樣的關係只會是 在同樣 platform 上的關係, 或是跟某個 programming language 相關等等的關係, 並沒有包含這些 information 怎樣以有方向性的關係作連結的資訊.
以 XAMPP 的例子來說, 有意識地選用了特定的 software 組合, 意味著完成 XAMPP 的 developer 認為這樣的組合在他的使用經驗中具有某種優勢, 這樣的組合是對於他來說是有意義的. 而有意義意味著對於 Information 的認知能夠提供他使用上的某種經驗, 於是 Information with Meaning 就變成了 Knowledge.
更甚而可以形成某種解決問題的 pattern, 擁有合適的 context description, 以及使用此 software bundle 時需要考慮的 forces, 使用後的 consequences 等等, 這就已經不再只是 information aggregation 的 level, 而是把 software bundle 作為一種 knowledge sharing 的手段了.
以 lazybuntu 來說, 其實蠻有淺力往這邊走的, Ubuntu 的使用者多, 在 Ubuntu 上的 applications 也多是兩個主要的原因. 但是要以怎樣的 format 讓 contributers 可以在 lazybuntu 上分享自己的 "knowledge" 倒是一個難題. 特別是所謂的 knowledge 是可以包含各種使用方式的, 像是 Apache 雖然是 web server, 但是我也曾經把他跟 Trac 綁在一起用, 原因只是為了利用 Apache 的密碼加密模組.
當我們可以把 software bundle 完完全全視為一個被 share 的 knowledge 時, 或許到時看到的就不再是 software 的 composition (或說是 component composition), 而是現在正開始熱的 service-orientation 的角度了. 到時我們看的不是一個一個的 softwares, 而是看到 softwares 經過適當的組合, 經過使用的測試, 匯集使用的經驗, 所提供出的 services.
References
[1] lazybuntu, URL : http://lazybuntu.openfoundry.org/
[2] lazyeeepc, URL : http://yurinfore.blogspot.com/2007/10/lazyeeepc-001.html
[3] XAMPP, URL : http://www.apachefriends.org/zh_tw/xampp.html
[4] Michael Negnevitsky, Artificial Intelligence : A Guide to Intelligent Systems, Addison-Wesley, 2001
上午11:28 | 標籤: data and knowledge engineering, linux, service oriented computing | 0 Comments
從 Hardware, User Interface, Utilization, 以及Software 的角度看 EeePC 定位
最近EeePC 的在台灣上市導致了蠻有趣的現象, 雖然 ASUS 宣傳是以給年長者跟小孩為主, 但是台灣購買的顧客群卻以年輕人及上班族居多, 這是在看完了整個 Mobile01 [3] 相關討論, 以及 Ptt, 其他討論網站後得到的結論. 然而這只是一個現象, 究竟 ASUS 對於 EeePC 的定位是怎樣看待, 這只是一個過度期的產品, 或是未來幾年 ASUS 會持續支援推廣的產品呢 ? 特別是, 從我們作 software 的眼光來看, EeePC 又是怎樣的東西 ?
1. Hardware Perspective
下表是 ASUS 公開的 Eee PC specification, 分為四種, 但是差別只在硬碟容量跟 Webcam.
另外在 CPU 的 frequency 上, 為了 battery 使用時間可以延長, 以及機體散熱考量, ASUS 在機器出廠前把 frequency 限制在 630 Mhz (70 倍頻), 而且目前的 BIOS 版本無法調整回 900 Mhz (100 倍頻). 以 hardware 的角度來說, 我認為是 downgrade PC.
2.User Interface Perspective
從 software user interface 的角度來說, 我倒認為是 upgrade mobile device.(以下圖片取自 ASUS EeePC 官方網站說明)
EeePC 的 software user interface 設計跟既有的 hand-held PC 以及 mobile device 比較接近, 是以 Task-Orientation 以及 Workspace 的概念去設計. 其目的就在於讓使用者以較為直覺的方式直接使用 software 的 service 完成 task. 而 EeePC 本身的 hardware 條件使得同樣的設計在 usability 上會更好.
然而以最近的新聞表示 ASUS 也將與 Microsoft 合作提供搭配Microsoft Windows 的 EeePC 版本, 這就應該只是單純的商業運作考量. 但換個角度來說, 也顯示出 EeePC 與 UMPC, OLPC [4][5] 之間在 flexibility 之間的差異. 然而, 無論如何這些東西都還稱不上是創造了一個新的 usage paradigm [6] 就是了.
3.Utilization Perspective
ASUS 自身對於 EeePC 的宣傳標語是, Easy to Learn (易學)、Easy to Play (易玩)、Easy to Work (易攜帶), 換句話說他們希望 Customer 看到這些標語時, 是去跟手上已經有的 Desktop PC 或是 Notebook 作比較, 而 Customer 手上的這些 PCs 則是 Hard to Learn、Hard to Play、Hard to Work. 從這個角度來說, 是以 Customer 的 Utilization 作為根據推出產品.
而再以 User Interface Design 來說, EeePC 雖然採用 Debian 系列的 Linux (嚴格來說是 Xandros Linux), 但是並非直接採用 Desktop Linux 版本, 而是刻意作了不少修改, 使得在 User Interface 呈現上是以 Task-Orientation 的方式, 切割成為數個 Workspace, 明確地讓使用者意識到隨著使用的目的而切換 Workspace.顯然有別於 Desktop Linux 或是 Microsoft Windows Desktop 版本的做法. 從這個角度看也是著眼大部分 EeePC 的目標 Customer, 其所會利用 EeePC 所進行的工作, 並不需要 Desktop 環境才能進行, 透過規劃好的 Workspace, 反而更能有效率. (不過看起很多人拿到 EeePC 的第一件事就是把他灌回 Windows XP, 究竟是真的 ASUS 原先設計的 interface 不好使用, 或是中 Windows 毒太深, 或是害怕接受新事物呢 ? )
4. Software Perspective
接續上面的說法, 我認為 EeePC 是在 補上失落的環節 , 在 Desktop PC 獲得巨大成功, 並且快速朝著更高效能的道路上發展時, Palm Pilot 的成功帶起了 hand-held PC 的相關開發, 乃至於後來的 PDA, Smart Phone, 近期的 iPhone 等等, 在 Desktop PC 到這些 Mobile Device 之間, 我們經歷了極為快速的一次跳躍. 而這兩邊卻又朝著各自的方向在發展.
當許多檢討的聲音出現, 討論這些 mobile device 的能力限制, 以及 desktop PC 的 power 缺乏有效的利用之同時, UMPC 以及 OLPC 嘗試回頭去補這兩者之間的落差. UMPC 在我看來是以強化 hand-held PC 的方式去補, 而 OLPC 則是以限定應用領域 (Education) 的方式去補. 而 ASUS 的 EeePC, 則是選擇了以弱化 Desktop PC 以及 Notebook 的方式去補. 這三者會有不同的考量以及限制.
如下圖所示, 拜 Web Application 風潮所致, 許多傳統上需要在 Desktop PC 上執行的 softwares [1][2], 例如 Office Suite, GIS software, Multimedia/Image/Graphic Processing software 等等, 都開始可以以較少的運算能力需求或是資源需求來滿足, 只要能夠有 Web browser, 或是能夠裝上 client 端軟體就行. 然而這些軟體還是有其他需要被滿足的需求, 例如 Office Suite 還是需要 keyboard 才方便作輸入 (手寫的便利性以及速度還不算成熟), 而 GIS 在過小的螢幕上使用及觀看也極為不便. 而因應這樣的需求, Notebook 固然可以滿足, 但是 Notebook 仍然是太過於 powerful 了, 同時在體積跟重量上也比較不便. 而 EeePC 從 software 觀點來看, 卻正好補足了這一塊.
EeePC 的選擇使得她有機會針對不同的使用者族群, 利用不同的 software combination 去滿足, 我想這可能是 UMPC 以及 OLPC 所作不到的.
References
[1] Stan Schroeder, "Big WebOS roundup - 10 online operating systems reviewed," Dec. 2006, URL : http://franticindustries.com/2006/12/21/big-webos-roundup-10-online-operating-systems-reviewed/
[2] 異塵行者, "覽器萬能,應用程式在線服務(Web Application)的年度彙整," Feb. 2007, URL : http://playpcesor.blogspot.com/2007/02/web-application.html
[3] Mobile01, URL : http://www.mobile01.com/
[4] One Laptop Per Children (OLPC), URL : http://laptop.org/
[5] Telka S. Perry, "The Laptop Crusade,"IEEE Spectrum, vol44, no.4, pp.28-33, April 2007
[6] T. Selker, "New Paradigms for Using Computers," Communications of the ACM, vol.39, no.8, pp.60-69, August 1996
凌晨4:25 | 標籤: Embedded System, web engineering | 0 Comments
Assessing Open Source : Ohloh.net
我大約在一年前第一次到 Ohloh.net 一逛, 那時整個網站公開還不久, 大約幾個月而已. 一切都還很陽春, 只有大約 3000 多個 projects (其中有些是空號, 因為我那時閒閒沒事寫個 crawler 把人家資料整個抓下來分析 XD), 其中有很多還是空號. 那時的 project assessment 頁面長的像這樣 (幸好有舊資料留著), 以下是舊畫面歐 :
而資料方面只有針對 project 的 contributors 以及 code base 作分析. code base 只有 language 比例分析, license 分析, 以及 code base 大小增長曲線分析. 其中比較有趣的是右方的 project cost estimation, 用來推測此 OSS project 在業界的 cost 會是多少. 當初已經有 community 功能, 但是參與的人還很少. 現在已不可同日而語了, 除了 project 本身的 statistics 統計有更好的分類以及更詳細的內容, 結合 project 相關 news 也使得我們一次可以接收到該 project 進行的最重要發展訊息, 以及 community 內的相關 comments.
一樣是 MediaWiki, 現在比較漂亮, 資訊也比較多了.

當初會找到 Ohlon.net 的原因之一是因為, 當時我正在參與實驗室的一個 OSS software measurement 相關計畫, 也作了一個簡單的 tool 分析 SourceForge.net 上的 OSS software 其 source code 相關資訊, 包含 programming language 組成, package 組成, quality evaluation 等等. 當時就想到, 雖然 software measurement 的 tools 已經有很多, 但是似乎沒有看到過有作成網站提供服務給 software project 的. 加上當時已經是 open source portal 龍頭的 S.F.net 也沒有類似的功能 ( 直到現在 S.F.net 還是只有基本的 project statistics 統計功能 ), 就想說把做好的 tool 延伸作成 web application, 然後作成一個提供此種服務的網站應該會是很有趣的事情, 比起 OpenFoundry 要學 S.F.net 又學的不好來的有市場機會多了.
沒想到 domain analysis 作著作著就發現 Ohloh.net 早已經開始作一樣的事情了.
Ohloh.net 創始者只有兩個人, Jason Allen 以及 Scott Collison, 有趣的是兩個人都是從 Microsfot 出身的. 在離開 Microsoft 之後, 有感於當時的 Open Source community 缺少統一的 software evaluation 服務, 無法讓其他開發者或是使用者對於有興趣的 OSS project 在 management 以及 quality 上有更深入的了解, 因此創立了 Ohloh.net, 希望不只幫助有興趣的人了解, 也讓 OSS project manager 可以從 engineering 觀點提升自己的 project efficiency 以及 product quality.
一年來 Ohloh.net 穩健地成長, 不僅網站提供的 evaluation angles 越來越多, community 也有逐漸茁壯的感覺. 但我覺得在 Ohloh.net 提供的 services 到 project manager 如何利用這些 services 以改善 projects 還有一些 gap 存在. 或許 Ohloh.net 應該針對他們的服務是否有達到預期的效果作 validity 檢測, 或是以問卷詢問 services 使用者的 satisfaction, 作為未來要增加的新服務之基礎.
Anyway, 這是一個值得時常造訪, 長期觀察的網站 :)
下午2:53 | 標籤: open source, project management, software measurement | 0 Comments
Towards the Future of OpenOffice.org : OxygenOffice Professional
今天才看到 OxygenOffice Professional 這套 OpenOffice.org 的加強版軟體, 真是後知後覺. 雖然中文網頁有討論的不多, 但是好像早在去年 10 月左右, OpenOffice 補給站就有人發出訊息討論過了.
OxygenOffice Professional 說穿了是加強 OpenOffice.org 在編輯上的便利性, 嘗試藉由更容易管理與引用圖片等資源, 加入類 VBA 的 support, 以及提供更多分類後的 templates 來達成 (好像還有額外的 Fonts ?).
在 SourceForge.net 上的 statistics (~2007/10) 倒是有點奇怪, 雖然在 2007-04 後大幅增加了網頁流量, 但是 downloads 數次卻逐漸低迷, 顯示並未造成使用的大流行, 只有一開始固定的用戶有持續更新, 新用戶可能極少. 或許跟宣傳有關 ? (以下圖片擷取自 SourceForge.net )
我也抓下來試用了一下. 可以看到在編輯 odt 文件時, 能夠把圖片引用選擇開啟在工具列, 然後直接用拖曳的方式拉進去. 不過我覺得圖片選擇工具組能夠開在左右比較好, 因為現在有寬螢幕 LCD 卻沒有長螢幕 LCD (除非把寬螢幕旋轉過來, 但是並非每台 LCD 都可以), 放在左右比較不佔文件編輯空間.
另外開啟檔案時有許多種類的 templates 可以選.
隨便選了一個 maintenance report 相關的 template.
試用歸試用, 我真正覺得有趣的地方在於 OxygenOffice Professional 是否能夠成功, 以及他的成功帶來的意涵.
長久以來 Windows 的使用者習慣於 Microsoft Office 類型的編輯軟體, 即便是後來在 Linux 上的 AbiWord, KOffice, StarOffice 等等其實都是一樣, 此類編輯軟體的 power 掌握在開發團隊手上, 即便有些採用較為開放的 license, 但是缺乏良好的 design 以及 interface, 有心者一樣很難加入開發.
而隨著時間推進, OpenOffice.org 出現了, 仍舊, 跟過去一樣, 是 power 掌握在開發團隊手上的編輯軟體. 但這次有點不同. 不同之處在於同時期出現了一個極為成功 (可能是有史最成功的) 的開發軟體 : Eclipse.
熟悉 Eclipse, 而且使用過如早期 Visual Studio, IBM Builder 系列等等有的沒的 IDEs 的使用者, 應該都能一下子指出 Eclipse 跟這些 IDEs 的最大不同處. 這樣的不同處建立在良好規劃的 software architecture, interface, 以及 open source community 的逐漸壯大上 (當然, 還有 Java 的熱潮).
OxygenOffice Professional 給我的感覺就像在 OpenOffice.org 上加了許多 plug-ins, 看那引用圖片管理的工具組, 不覺得跟許多 Eclipse plug-ins 的出現方式很像嗎 ?
或許 OpenOffice.org 想持續壯大, 搶奪 Microsoft Office 的市佔率, 應該考慮以 Eclipse 為學習對象, 變成一個文書編輯軟體的 framework/platform. OOo 本身有絕佳的條件變成文書編輯領域的 Eclipse, 唯一的問題在於目前的 architecture 以及 interface 是否設計的夠好, 如果需要修正, 要花多少 efforts ?
我期望著有一天我會像在 Eclipse 上嘗試各種 plug-ins 的 combination 以提升我的 development performance 般, 在 OpenOffice.org 上嘗試數不完的 plug-ins :)
上午8:05 | 標籤: Eclipse, IDE, idea, OpenOffice.org | 0 Comments
