由於iOS和Android的快速成長,也讓許多小型遊戲和軟體在行動裝置上發展。雖然是針對行動裝置開發的軟體,可是還是會讓許多人希望在電腦上使用。過去大多使用的辦法是在電腦上安裝Android SDK,使用當中的虛擬機來運行Android並且嘗試安裝上AppMarket來使用。

而BlueStacks這個新推出的軟體,在2012年中旬時就放出消息,當時主要是表示會推出可以讓電腦也使用Android程式。不同於一些支援Windows/Android雙開機;需要韌體支援的方式。而是讓每台電腦都可以在安裝後使用Android的軟體。在BlueStacks於2011年10月釋放出Alpha版本之後,我也前往下載來使用。對於BlueStacks的技術,其實只要使用過一次大致上就可以了解其背後的基礎。外傳大致上是使用Virtualbox的虛擬技術加上Android的環境。目前由於是Alpha版的關係,整體尚不穩定,而且會比較明顯感受到電腦效能被拖慢。

不過BlueStacks陸續獲得投資,私募基金或是像AMD的投顧基金也都有贊助BlueStacks。其原因在於BlueStacks利用開源碼的技術實現了一些創意。首先BlueStacks在介面上實現了一些整合,看起來是使用虛擬技術的Seamless無縫視窗的方式,讓BlueStacks本身的外觀不會明顯覺得是虛擬系統,而是看起來像是桌面小工具那樣。

再來由於GOOGLE官方APPMARKET的支援是需要獲得GOOGLE方面的付費授權,所以BlueStacks採用的是透過自己的網路來下載APP軟體到電腦當中。也可以讓ANDROID行動裝置在安裝他們提供的軟體之後,將想要安裝的軟體下載到安裝BlueStacks的電腦上,這部分類似APPMARKET的網頁版下載安裝機制。

雖然BlueStacks目前尚不穩定,可以使用的軟體也才三十多種還不多。不過他讓人覺得值得注意和效法的是,針對一個單一需求,將一些開放原始碼技術重新拼湊和整合。其實目前開放原始碼界的各種軟體都已經相當豐富,然而卻還是停留在跟進商業軟體的腳步。常常都會看到國內外的開源碼網站,最喜歡貼的資訊就是某某軟體的幾十種替代方案。然而雖然那些替代軟體也相當好用,不過在一些特定需求的時候,去找一些替代軟體,都多多少少會發現一些不適用的地方。

開放原始碼的發展,應該要逐步去正確地尋找使用者的需求,去真正針對該需求開發並且最佳化。最佳化不僅僅只是針對程式碼的順利運行,還包括整個使用流程、互動介面或是整個軟體使用後續生態環境建立的順暢。以BlueStacks來說,雖然他的技術,說起來只是用虛擬機跑一個Android系統這麼簡單的方式。但是他的設計就讓使用者省去很多麻煩,比如不需要特別再去設置虛擬機的配置,建立一個下載軟體的流程機制,讓使用者不用自己去傷腦筋該怎麼把軟體下載下來。相關的操作也盡量簡化讓使用者不會太過困擾。這些都是過去許多開放原始碼軟體所不會注意到的部分。

或許因為開放原始碼很多都是從非商業性的出發點來做考量,所以才會導致許多軟體都是為了替代商業封閉軟體的需求才產生。但是在這樣的發展久了會出現一個現象,開放原始碼軟體如果一直都只是追在商業軟體的步伐後頭,其後續發展的規模就會被限制住。因為建立在一個先有軟體的替代需求底下,本身就是已經限縮其發展規模的範圍了。

所以找出使用者的需求、建立一個嶄新的創意軟體,才會是開源碼軟體蓬勃發展的先機。讓一個軟體能做出使用者想要做,但是其他軟體辦不到的事情。而不是一直被商業軟體給牽著鼻子走,變成只是跟在後面跑、造成開放原始碼軟體只是一種替代方案的印象。像開源碼軟體當中,許多科學計算的軟體,因為是針對一些特定研究所產生的,而同時也有許多相關的需要也剛好可以被拿來使用,就是主動針對需求產生不同於商業封閉軟體的情況。

只是科學運算這樣的領域比較小眾,所以不容易被察覺。不過要找出一個真正能被使用者需要或需求的創新軟體,本身就是一個比較難的狀況。在這裡稍微舉例來說,譬如像Blender 3D繪圖軟體相當強大,可以製作動畫或遊戲,但是由於Blender本身介面相當複雜。當使用者如果只是要做一個簡單的東西就很難上手;或者是其實只是要使用當中的某個模組,卻必須要熟悉整個軟體,造成曠日費時的狀況。這些都可以作為是重新取用開源碼軟體的部分,重新再作改善的方向。

雖然使用開放原始碼來拼湊出針對使用者需求的想法、或是自己的創意,這樣的方式說起來似乎很簡單。但是事實上卻需要花費相當大的時間和技術基礎。比如必須要相當熟悉不同開放軟體當中使用的技術,並且相當熟悉軟體的程式碼架構,才能夠在跨軟體整合時能夠進行順利。或是像不同開源碼軟體之間的軟體授權是否相合適,也是需要注意的細節。

雖然這種方式,其優點是在於可以承襲軟體發展的一些現有成果,但是或許也還是需要花很多時間去幫相關軟體除BUG。不過讓原始碼的循環再使用,使其更加活絡,本身就是符合開放原始碼的精神。並且也會間接幫助到原始運用到的軟體本身。而開始將開發軟體的重點,放在如何讓使用者會更想去使用,並且符合需求。而不是僅著重在軟體的功能實現,讓許多功能重複的軟體一直出現,卻總是會出現不同的不適用狀況,避免讓使用者必須不斷嘗試不同套軟體而耗費許多時間,反而因此造成開放原始碼較為次等的負面印象。(本文於 linuxpilot 108期 12/6同步刊出)

創作者介紹

droger的資訊心得整理

droger 發表在 痞客邦 PIXNET 留言(0) 人氣()