把玩"魔術師"
This document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
目錄
大概是在 2009 年的 7 月買了人生第一部 Android 手機 -- HTC Magic,買它的原因 不外乎當初玩 Unix/Linux 的情形類似,因為畢竟 Android 的核心還是 Linux, 而且開發應用程式的程式語言是 Java(看的懂得人,不要暗笑,會內傷 ;-) )。 買了之後,玩了一陣子,也試著開發 一些小程式,算是滿意的;可是隨著 Google 不斷的推出,不到一年的時間,Android 的版本快速的從 1.5,發展到 2.2,甚至有傳言 2010 年的 10 月 Google 會推出 3.0 。 (其實這樣快速的大變動,是好的嗎?如果從企業經營的資訊策略 來看,會有什麼影響?要不要慢一點?) 這樣的發展,有什麼影響,目前還不能一探全貌,但是對我來說有下列幾點感想:
- 手機這種消費性電子產品的變化,居然比電腦還快。不論是作業系統(應該沒看 過在個人電腦的作業系統能有四次重大改變:在一年內版本從 1.5、1.6、2.1、到 2.2 都已經是穩定版,況且我還故意漏掉不常被討論的 2.0),應用程式(看看報導 Android 的軟體量已經快要超過 iPhone),還是價格(唉,當初買的時候超過 2 萬, 現在已經在市面上看不到了);
- 這個變化,連 HTC 也沒辦法(或者不願意)跟上,所以到目前為止 Magic 的
官方版還是 1.5,感覺上 Magic 已經是一個石器時代的產物,可是 HTC 該為它不斷
更新升級嗎?大家都知道網路對消費行為的改變很大,但是這個
改變已經結束了嗎?我不認為結束了。以前手機就是手機,可是它現在已經慢慢變成
一個行動運算裝置〔電腦?〕,這個思維的改變 HTC 能坐視不管,仍然認為自己是
"手機製造商"嗎?HTC 創造了 Sense UI 並利用它成為"產品區隔"的利器,可是 Google
造成的快速變化,Sense UI 對於 HTC 來說,它還是利器嗎?還是絆腳石?HTC 的
資訊策略該怎麼做?
- (09/16/2010 Update) 根據 Engadget 的報導, HTC 在推出新手機 Desire HD 和 Desire Z 的同時,也宣佈成立 HTCSense.com,似乎 HTC 逐漸投入服務平台了。
- 雖然 HTC 目前沒有幫 Magic 升級的計畫,可是因為 Android 是屬於開放原始碼
的產品,許多專家(應該稱之為 hackers)已經幫它準備好了"越獄"方式(出自 iPhone
相關報導的用詞),並提供各式各樣的 ROMs 讓有興趣的網友自行享用。在一些網路論壇
上還可以看到不少網友把才剛剛買來的 HTC Desire 越獄並安裝 2.2 版的 ROM(目前
官方給 Desire 的版本是 2.1,雖然歐洲版已經可以升級 2.2 了)。有了這些越獄法
以及各式好用的 ROMs,我不會心動嗎?買新手機之前,消費者
會不會把這種"可能性"列入選購的標準之一?如果我能夠不斷的升級更新,我還願意掏錢
購買新機嗎?
- (09/06/2010 Update) 一個令人吐血不止的消息:Rogers Magic+ 公開升級 Android 2.1!啊?什麼?Rogers 是加拿大的電信商,類似台灣的中華電信, 而 Magic+ 其實也就是台灣版的 Magic,也就是本文探討的主角;也就是說,加拿大的 使用者已經可以將 Magic 免費更新為 2.1 版了;那台灣哩?根據官方回覆:目前 沒有升級計劃。這個消息讓我非常的不滿意 HTC 的營運策略,才一年多,而且是 高價購買的手機,一年多一點點就被遺棄了,比電腦的耗損還快,況且"為什麼加拿大 使用者可以升級,台灣使用者卻不行?","不平則鳴"。一邊不爽,一邊等著,讓我們 在持續觀察明年 Desire 的使用者會不會也出現這種情形?其他廠商是否也是如此 對待它的客戶?策略、策略!
從另一個角度來看,Java 的程式是跨平台的,所以理論上來說,不論是編譯給 HTC Desire 的、SonyErricson XT70x 的、還是 Motorolla 的 X10 的,都可以 使用。其它綠色、黃色、以及紅色的部分也可以這樣嗎?理論上來說,在編譯 過程中,我們必須指定 ARCH=arm 來編譯出屬於該 CPU 架構的程式碼, 所以說,理論上只要這些元件當初是編譯給 arm 來使用的,這些元件應該可以使用, 比較需要注意的是紅色的部分,那裡大多數是 硬體的驅動程式,而每一部手機的硬體規格都略有不同,因此我大膽的推測 (很可能是錯的):未來手機製造商開發上比較麻煩的是 Linux Kernel 的 部分,只要這個部分解決,其他的部分應該相對簡單。那麼未來 Android 手機的 競爭點究竟在哪裡呢?第一個是傳統競爭點 -- 硬體規格;第二個,我個人 認為就是最上層的 Applications。這個可以從 HTC 導入 Sense UI,以及最近 成立 Htcsense.com 可以看出,HTC 的思維模式跟我的想法類似。
Android 架構中,每一個層次之間的關係大概如下:手機執行 Application 的時候, 該 application 會呼叫(或稱之為利用) Application Framework 的元件,而 這些元件是利用 Libraries 來跟包在 Linux Kernel 的驅動程式溝通並請求其 完成要求。以 HTC 的中文手寫輸入 HTC_CIME 為例,它是一個 Application, 它必須藉助 Application Framework 以及 Libraries 中的元件,請觸控面板 把使用者寫進去的字顯示在螢幕上。這樣的設計有一個好處,那就是只要我們 有一個支援硬體的 Kernel,上層的東西就可以不斷的更新;例如,我在編譯過程, 曾經使用 HTC 給 1.5 版用的 2.26.27 的 kernel 加上 Android 2.2 的平台 可以在 Magic 上執行基本的工作;因此,我相信使用更新的 kernel(2.26.29) 更能正確的使用 Android 2.2 的平台。
最後一個我觀察到的有趣現象是:在學校教書,我們總是提醒學生在設計系統時 要記得元件和元件之間要 decoupling,以便於維護。但是,在我把玩魔術師的這一段 時間,我發現 HTC 的實際作法卻不是這樣,元件與元件之間總是"藏"有一定的 關聯,讓你在修改的過程中,老是遇到一些奇奇怪怪的現象。這個或許是 HTC 的策略之一,不讓競爭對手能夠很快速的模仿!等到我把 cook 相關的教材完成 後,我會再次投入 apk 的開發,這可能是改機的 last mile。
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言