GOOGLE PHONE引爆手機產業新機會 透視Android 手機軟體解決方案

本文作者:admin       點擊: 2008-03-13 00:00
前言:
由Google為首組成的Open Handset Alliance所制定的手機軟體─Android,主要的目的不在於像自由軟體般的開放,而是期望將這樣的平台吸引更多人加入,簡單到猶如鄰家的女孩都能參與行動應用的開發。因此,最棒的部分是應用程式的發展。因此它提供的特定應用程式framework,以一個標準的應用程式介面去進行程式設計,使用應用程式framework提供的功能,以進行各式各樣的應用系統的需求與發展。對於這點,我們可以預期同機種的Android手機會有不同的操作環境介面,對於不同族群在同一款的手機執行不同的應用系統將如同現在的個人電腦。 

自從Google於2007年11月12日開放Android手機軟體解決方案之後,就形成了備受注目的焦點,電信業和手機業以及學界莫不紛紛收集相關的資訊,探究Android到底具備何種能量,是否能在Symbian和Window Mobile兩強環伺下,是否可能成為手機軟體三強鼎立的局面。Android究竟是什麼樣的軟體,其特點如下:

1.應用程式(Application) framework
可重複使用或更換的軟體模組,每個模組都有其特定的功能。 其原始碼目前並未公開,僅供外界使用應用程式介面(API)存取其內部的功能,事實上,公開之後也很難控制,再者那麼多的硬體平台要讓應用程式framework維持均一的功能並不容易。短期間不太可能公開原始碼。

2.Dalvik虛擬機器(virtual machine)
先從Dalvik開始說起,它被稱是一種Java的虛擬機器(Virtual Machine),針對手機最佳化的適用於低記憶體的要求,它可以利用底層作業系統和將程序(process)隔絕得以同時執行多種執行緒。比較Dalvik和VM(虛擬機器) 的運作過程,Dalvik運作方式並非將位元碼納入再解譯執行,而是用一種工具叫DX,將原來的JAVA類別檔案轉換為另外一種格式型態,成為新的類別型態。dex的格式。Java的位元碼(bytecode)是屬於堆疊導向(stack-oriented)因此,很適合解譯的使用但也因此導致執行的效率卻因而降低,這是因為處理器原本就採用暫存器導向的運算模式。也因為Dalvik是採用暫存器導向,所以有更優更快的執行效率。

3.整合過的瀏覽器(Integrated browser)
使用自由軟體Webkit的引擎所開發的瀏覽器。

4.優化的圖形處理(Optimalized Graphics)
客製化的2D圖形程式庫和OpenGL ES 1.0規格的3D圖形處理。

5.具有小,快,穩定的資料庫引擎SQLite
目前共有11個類別,都是處理資料擷取後提供後續處理得部分,屬於用戶端的功能。

6.聲音影像格式支援
對手機的應用而言,實在是足夠(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)。

7.藍芽、Wifi、GPS電話功能、EDGE、3G、照相功能、指南針等
以上都是和硬體密切相關的部分,Android只是具有相關的軟體模組,最後是否能夠實現還必須依賴硬體配合。這些都是很炫的東西,但對於手機而言,它的電池能撐多久,光是GPS一項對電池使用來說,就是一大考驗。

8.良好的開發環境
可以使用Eclipse整合開發環境開發Android有關的應用程式,可以安裝Android Development Tools(ADT)的插件(plugin),具備一個模擬器可以提供偵錯,與執行。 

以台灣相關產業是否能從Android行動軟體平臺的推出而獲益,目前尚言之過早,但這項新的競賽至少使台灣有公平的機會,而且是站在起跑點上,對於這點我們保持樂觀的想法。幾點檢視的項目可以供參考:

– Android市場策略在smart phone族群,正面相衝的應該只有Window 
   Mobile & Symbian,對feature phone影響不大
‧ 對台灣OEM廠影響不大,都視市場的需求接單。
– 台灣ODM/OEM廠是否投入研發
‧ 目前只有HTC是OPEN HANDSET ALLIANCE的會員,目前積極開發中,預計
   2008年底推出第一款手機
‧ 其他手機大廠持續觀望中,事實上他們目前還不是OPEN HANDSET 
   ALLIANCE的會員,能做的不多。
– 帶給手機廠的好處
‧ 直接使用現成的Google的應用(search,map,...)
‧ 省授權金,降低成本,有可能產生一支低於百元美金的手機
‧ 彈性較大。(e.g. Phone book等完全開放),易差異化。
‧ 由於成本直逼feature phone,是否改變對smart phone的大量需求
– 帶給手機廠的壞處
‧ 仍有整合問題,成本是否降低猶未可知,例如客製化的成本能然是一項成
   本
‧ 只能鎖定High-End機種(ARM9等級以上,最好是ARM11)
‧ 核心lib。是否仍需要付授權金,一切都是未知數。

– 現況
‧ 多一個平台要porting,必須再挪出一部分的資源
‧ 手機廠/Content Providers: 不是好事(user不管OS)
‧ 零組件/Lib廠: 好事一件(多一個Model,多收點錢)
‧ 可能促成Linux手機的蓬勃發展。
‧ AT&T,Vodafone這些大型電信運營商的態度尚未明朗化
‧ 對用戶而言有了一個新的選擇。 

Android的重點
Android主要的目的不在於像自由軟體般的開放,而是期望將這樣的平台吸引更多人加入,簡單到猶如鄰家的女孩都能參與行動應用的開發。因此,最棒的部分是應用程式的發展。因此它提供的特定應用程式framework,以一個標準的應用程式介面去進行程式設計,使用應用程式framework提供的功能,以進行各式各樣的應用系統的需求與發展。對於這點,我們可以預期同機種的Android 手機會有不同的操作環境介面,對於不同族群在同一款的手機執行不同的應用系統將如同現在的個人電腦。 

APACHE 2.0 LICENSE
當然,由於Android標榜為行動軟體平臺,目前是開放使用,但是未來會採取Apache 2.0授權條款,相較於許多Free & Open Source Software FOSS所採取GPL的授權條款,兩者的差異在那裡呢?

1.Apache 2.0授權條款允許開發軟體使用的公開原始碼開發自由軟體以及專屬和非公開原始碼軟體。這會影響電信軟體業者願意使用Android,因為它會有相當部份會和電信運營商現有的軟體進行整合,如果這些商用軟體毋須公開原始碼,當然保護了他們的利益。如此的做法,固然提供軟體開發業者與電信運營商對於投資的保障。但是,也失去對開放的承諾。

2.Apache 2.0視授權者願意將程式的專利技術授權釋出(Patent License)。但是,GPL授權則不同意專利授權,在特殊情況下,使用GPL授權的軟體可能會有侵害專利權的可能發生。

往好處想Android的解決方案對於不同的硬體平台具有得降低開發成本的效果,不過客製化仍然需花費相當的開發時間與成本。這點恐怕無法從要求公開原始碼撈到任何好處。 

從Android的軟體架構來看,他的應用程式介面和應用程式framework都是java語言,可是底層的內建程式庫卻不是,對於一般開發者而言,沒有方法可以新增內建程式庫。在實際的運作上程式,應用程式framework,程式庫三者運作依存度很高,舉例而言,如果要增加一個網路電話的通信協定,例如在oSIP上增加應用層,以作為Android的網路電話應用,由於沒有公佈程式庫的規範,應用程式framework的規格,可能無法新增語音影像的codec,其他通信協定,都不利於吸引更多的軟體開發的形成。 

Android能否成功營造為一個社群
但是,是否可能形成一種由GOOGLE支持的社群來維護的行動運算平台?和過去REDHAT把自由軟體的原始碼釋出成為FEDORA 交由一個LINUX的社群去維護,用戶可以自由從網路下載使用,果真實現的話,Android成功的機會很大,儘管這個難度很高。 

Android釋出後的一些觀察與想法
1.Android所提供的SDK是以JAVA為核心,雖然是號稱行動運算平台,但它並非採行JAVA J2ME的開發方案。也不採用JSR提供的支援。這點有可能造成Java陣營分裂的局面,會令JAVA的開發者產生壁壘分明的狀況,許多現成的成果不適用在Android。 

2.Android僅提供API作為開放的範圍,依照GOOGLE的官方說法認為它是一種軟體堆疊(software stack),因此,目前對於硬體,原生程式庫,以及SDK的原始碼並未開放。 在以後是否可能產生其他的問題,還要等一陣子才能知道。

3.作業系統採用Linux和基本library用以提供SDK和Dalvik JVM的運作。 以提供應用程式的執行。但是這次平臺的釋出卻沒有提供原始碼,如果沒有循序邏輯圖,得靠再次加工才能更深入了解SDK。使用者的抱怨往往來自文件說明並不清楚,因此原本Android比賽到三月底前截止報名,最近又延後了。 再者開發的應用程式是否能夠在所有硬體平台以及Dalvik上執行正常,這點尚未得到確認。Android其實應該和SUN共同解決。

4.對於嵌入式的C,C++的開發人員而言,Android似乎僅有原生程式庫(native library)可以著力,但是缺乏程式庫的的標準以及如何移植的方法。能否有更寬廣的機會吸引相同物件編程觀念豐富的程式庫,在使用上能有更多的選擇?

5.Android對於元件和包裝庫的管理並不採用公開的標準,例如OSGi。它造成用戶和軟體供應商的困擾,雖然OSGi並非完美但它卻制定了一個開放性的使用方式,使得軟體服務供應商所提供的應用程式和服務,能依照使用者需求,下載到最靠近用戶的閘道器,並且能夠自動安裝執行,依循這樣開放標準,改善用戶使用習慣,使軟體服務供應商有依循的標準。

6.透過Telephony API可以管理許多Android。* 的package,用在電源的控制,SMS的發送等,美中不足的是缺少一個現有JAVA的介面作一制化整合。

7.對於程序之間的交換上因為Android不採行開放的標準如CORBA,DBUS,RMI,SOAP等,有可能產生部份的缺失。這個部分的標準之所以會產生,有其存在的價值,單靠Android的API足以彌補這些間隙嗎?

8.聰明的是Android採用Apache 2.0授權,可以允許用授權的原始碼開發自由軟體以及專屬的非公開軟體。許多電信公司倒會樂意將現有的軟體透過API整合到其維運環境。由於Android標榜為行動軟體平臺,使用Apache 2.0特許的Dalvik當然毋須支付JAVA的授權費用。但是只省了SUN的權利金,就被迫放棄許多良好的成果其實相當可惜。雖然CLDC,MIDP不盡完美,但是已經做的不錯了。

Android應用系統的比賽
1.背後有個有錢有資源的公司GOOGLE推動這項軟體,一出手就是一千萬美金的比賽獎金。吸引眾多JAVA人才競相投入,又有機會出人頭地,又能賺錢,真的十分吸引人。

2.一推出就受到各界的重視。當然僅在相關產業的從業人員了解它的意義,其他人是不清楚Android的技術層次和代表的意義,對大多數人而言可能弄不懂smart phone或者PDA手機有何不同,因為看起來都很像。但是IT界的盛事,以及媒體所吸引的比賽熱烈所帶來備受矚目的程度,單指這一項就吸引不少人。

3.Android API目的在於簡單化,使得程式的編程對象不僅限定IT的專才,預計未來使用者將不受現有制式化人機介面,幾乎固定的軟體選項的限制,將有更多的選擇,以及個人化的軟體產生。 

如何判斷Android發展後續觀察重點
1.是否在年底前Android手機能夠出貨100萬隻?
2.比賽獲第一名的應用系統普遍獲得大家的喜愛;所帶出來的觀念吸引使用者
   的歡迎。 
3.Vodafone、Cingular等大廠開始採用Android的手機。
4.Android解決方案獲得越來越多的迴響。
5.授權方式是否免費?
6.開放的範圍是否愈來愈大?能否吸引更多自由軟體玩家投入?

結論
Android的策略固然促使行動運算加入網際網路的發展,其實這也是未來的趨勢。正如許多發展中的國家,一般人第一次接觸網路不是先經由個人電腦而是透過行動電話。透過更多參與者貢獻的點子,如果得以實現,將有更多用戶透過使用網路使GOOGLE的營收獲益。 

單靠GOOGLE一萬多名的員工已很難加速軟體的發展,不如運用一個優化的開發工具使得天下的英才都能進入GOOGLE俱樂部,將好的點子貢獻出來,只用一千萬美金,就可吸引眾多好手競相投入比賽。又製造出一個話題實在有夠划算。 

Android的行動電話一旦成為潮流之後,將使其他業者的產品在整個IT和電信產業的影響力隨之降低。因此不十分開放卻又免費的Android行動軟體平台將有舉足輕重的影響力。

GOOGLE真是會在對的時間做對的事。

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11