顯示具有 Tablet 標籤的文章。 顯示所有文章
顯示具有 Tablet 標籤的文章。 顯示所有文章

2011年9月29日 星期四

Amazon kindle fire and kindle touch 發表


Amazon kindle fire 只要 USD 199,這價格果然夠殺,一票做 Android Tablet 應該都會想哭吧...

7" IPS, 1024x600, 8GB ROM, 413g, TI OMAP4 dual-core 1G,硬體等級中上,體積與重量也相當令人滿意,以USD 199的價格來說,只有超值能夠形容。

OS是高度修改版本的 Android 2.1,Google Service 付之闕如。有 Amazon App Store可以用,對身處美加地區的使用者來說可能無所謂,但對於這兩個地區之外的使用者來說,就有點慘了.. 因為 Amazon App Store在這兩個區域之外都不能用,但也許我們很快就能等到國際板的kindle fire發表。

撇開其他不說,kindle fire真的夠便宜,而且我覺得 CyanogenMod 應該很快就會移植上 kindle fire,屆時再來買吧! Google service 對我來說比較實際且好用。




同時發表的 Silk Browser 本身並不是甚麼偉大的技術,將網頁流量先導向至Amazon的EC2機房進行減肥與pre-rendering之後,再傳送給使用者降低使用者端所需之網路流量與CPU資源。Opera mini/mobile 早就使用這類網頁壓縮技術,在技術上並沒甚麼特別,但推出者是目前擁有最大的雲端機房的Amazon,那情況可就不一樣了。

在使用Silk Browser 時,當使用者造訪的網站架構於Amazon Web Services (AWS) 之上,這些網站產生的網路流量會先送到同樣位處 AWS 的Silk Browser Server進行減肥與快取,於是原始較大流量直接對外流量變成了AWS之內的內部流量,經過減肥與快取過後,真正對外的流量減少了。
There is no Data Transfer charge between Amazon EC2 and other Amazon Web Services within the same region
值得注意的是,在Amazon EC2的收費標準中,在相同區域的 data center 的之間的資料傳送是不收費的,也就是說該架設於Amazon EC2的網站將封包傳送至同區域的Silk Browser Server時,理論上是不收費的,然後Silk Browser Server負責將封包遞送至使用者,因此理論上流量是屬於Silk Browser Server而非該網站的,故理論上來說,網站在服務該使用者時,不需要付出任何的網路費用。

我在前面這段文字中用了很多理論上來說,因為目前Silk Server的狀況未明,也還沒看到Amazon有出面說明這個部分的問題,待Amazon說明後再來update。


只要 $79 的Kindle真的有夠便宜,雖然說只有一個五向控制,但以單純的閱讀來說,也足夠了。





Kindle Touch 則是採用了紅外線觸控技術,減少鍵盤所佔的空間,達到更輕薄的體積與重量。價格的部分也十分吸引人,$99 for Wi-Fi only and $149 for Wi-Fi+3G,十分吸引我。


兩台採用e-ink的kindle沒有太大的變化,只能算是趕上其他廠商的腳步的產品,但以此非常具競爭力的價格販售,即使規格普通,照樣能賣的嚇嚇叫。

Kindle fire 則是具有與iPad一較高下的Tablet,尤其是在 Magazine, Book這兩方面,Amazon很有優勢,配合上逐漸充實的Movie and TV Streaming服務,並以Amazon Prime 一年$79吃到飽的串流方案推廣,對iTunes Store會構成相當大的壓力。

另外Whispersync on Kindle Fire for Amazon Instant Video也是Amazon用來對抗iPad/iPhone + Apple TV的重要武器,透過支援廣泛的終端裝置,讓video streaming可以無縫的由tablet轉移到TV,對於kindle fire+Amazon Prime也有相當助益。值得注意的是 Logitech 的Google TV STB也在支援行列中。

2010年3月10日 星期三

MeeGo軟體架構簡介與展望

本篇文章僅為個人心得文章,軟體架構部分,內容參考MeeGo Architecture與Under the Hood with MeeGo。
MeeGo
MeeGo是由兩大巨擎Intel與Nokia所共同推出的一套以Linux為核心的作業系統,合併Intel的Moblin與Nokia的Maemo的開發計畫為一,讓兩者的資源能夠達到更高的利用。
Moblin是Intel為了推廣Netbook所推出的作業系統,但是似乎沒有很顯著的成效有實際且大量的產品在市面上流通;Maemo則是Nokia為了擺脫Symbian的框架,讓軟體開發能夠更迎合網路時代的高效能需求而打造,Nokia N900則是Maemo最新推出產品,評價不惡。
在Android吃下絕大多數Mobile Linux Developer的目光之下,Moblin與Maemo似乎都不太受到注目,未來的發展方向也沒有太多人在乎,也缺少第三方廠商支持,於是乎在MWC 2010上,Nokia與Intel便決定將這兩個計畫合而為一,MeeGo就此誕生。
可以說MeeGo是不得不的存在,也能說MeeGo開創了有別於Android的一個Linux Embedded Sysmte的新局面。除了同樣是採用Linux Kernel之外,MeeGo有太多地方與Android不同,本文將介紹MeeGo在軟體架構的特點。

MeeGo-Arch-FullSize
MeeGo的軟體架構主要分為三層,分別是OS Base, Middleware與UX。

OS BASE

在OS Based中,MeeGo與Android採用相同的作法,利用Hardware Adaption Software將驅動程式抽象化,藉以擺脫Linux原生驅動程式必須Open Source的問題,讓硬體開發商能夠在維護商業機密且不違反Linux License (GPL)的前提下,進行MeeGo Driver的開發。Linux與驅動程式的問題可以參考 針對Linux kernel開發商業應用的Driver 這篇文章中的回應。
MeeGo的Kernel即是Linux Kernel的分支,這部份自然是會針對下層的Hardware Adaption Software做最佳化,驅動程式開發者只需發佈二進位制(Binary)的Driver,並發佈所需MeeGo Kernel Patch,即可完成Driver的發佈。這部份的流程可參考Hardware Enabling Process。

MIDDLEWARE

在軟體開發架構上,MeeGo與Android或Windows Phone不同的是MeeGo開發的是Native Application,也就是能夠直接呼叫Linux Library, Linux Kerne Calls的應用程式。
與Android透過Dalvik Virtual Machine或Windows Phone透過.Net Compact Framework不同的地方在於,Native App. 會直接被編譯成為Hardware Associated Assembly Code後,再轉為Machine code執行,效能較高;而透過VM執行的App.則需先轉為中介語言後,再執行期中由VM轉換中介語言為Assembly Code或Machine Code執行,當然這其中有很多不同的作法,例如Android會做預先編譯的動作提高效能等。
整體來說,透過VM執行的App.效能還是比較低一些,但很大的好處在於軟體可攜性很高,只需要complile once,就能夠在各個不同的硬體平台上使用。MeeGo卻必須根據不同的硬體平台做compile,但MeeGo保證了一件事,就是程式開發者只需要維護一個Code Base,不需要針對不同的硬體平台做程式的修改,只需要在程式發佈時針對不同硬體平台做編譯即可,這部份則歸功於MeeGo採用Qt作為UI Library。
Qt是Linux上一個很常見的跨平台的UI Library,除了能夠跨多個平台如Windows, Linux, MacOS, Symbian S60等,最大的特色就是他是Native UI,使用Qt開發的GUI與使用該平台原生的UI Library相同,不會像使用Java UI或GTK一樣,能夠非常明顯的看出這是一個由不同平台轉移過來的程式。延展性(Scalability)很好可以由使用Qt為UI Lib的KDE看出這點,著名軟體開發者Jserv也有一篇文章 KDE 的 MS-Windows 平台移植 介紹KDE Windows,文中Jserv說使用Qt的KDE on Windows效能相當好,與在Linux平台上上感覺無異。

UX

MeeGo使用Qt作為UI Library,並且搭配各種內建的Services與API與特製版本的Linux Library,讓各種Linux Native App.能夠很輕易的port到MeeGo上,我們可以從Firefox for Maemo是Firefox在各個行動平台上最早推出的這點看出。同樣的Adobe也將在MeeGo上推出完整版的Flash應用,由此,傳統的Linux App.應該也會相繼的被port到MeeGo上才是。原先Symbian S60 v5上使用Qt進行開發的軟體,也能夠在小幅度改款的模式下轉移到MeeGo下使用。
在UX層中,我們可以發現MeeGo將會有Handheld與Netbook兩個UX,其中也包含著對應的UI,  Apps與UI Framework,當然UX客製化也是可行的,廠商可針對自己的需求進行修改,從建立完整的UX或者是透過UI Framework修改UI均可。
會有兩個不同應用的UX是可想而知的,畢竟MeeGo是由Moblin這個原先要設計給Netbook的OS與Maemo這個原先要設計給Handheld device的OS合併而來,未來的開發目標也從未捨棄這兩個平台,甚至希望能夠包含車用電子、STB等用途,也希望未來能有各種廠商採用MeeGo作為OS開發產品。
在軟體開發上,不僅僅能使用傳統的C, Java開發程式,MeeGo也提供開發者利用HTML+JavaScript+CSS開發應用程式,MeeGo所使用的瀏覽器引擎是WebKit,與iPhone, Android, BlackBerry相同,並且將WebKit與Qt做整合推出QtWebKit,讓MeeGo的軟體開發更具可攜性,也讓軟體開發商在其他平台所撰寫的HTML+JavaScript+CSS能輕易的port到MeeGo之上。

MeeGo與Android的比較

Android是目前Mobile Linux Device的霸主,幾乎吸引了所有人的目光,各種不同的應用均在Android上開發著,相較於MeeGo,注目度似乎低很多.... 但這不代表MeeGo不好,只是Android吸引了太多目光。
MeeGo與Android相比,最大的特色就是夠開放,目前也與Linux Kernel Development Team保持著良好的關係,Intel本身在Linux的開發上也貢獻不少,在 2009 Linux kernel Source Contributions 的比較中,甚至是貢獻度第二名的公司,僅次於Red Hat而勝過IBM, Novell, Sun等著名的公司,當然這與Intel本身有自己的硬體平台,希望讓Linux能夠在Intel Architecture平台上更快更穩定而貢獻了不少的硬體相關原始碼有關,不可否認的,Intel對Linux Kernel有很顯著的貢獻。
而Google呢?    最近Android被Linux Kernel踢出Branch Tree的消息不斷的被提到 (Is Android Forking from Linux?),也有許多Open Source的開發者提到Android其實沒有想像中的開放 (Android 還是開放源碼計劃嗎?),Android Kernel在2.0之後甚至連Google之外的的patch都很少被接受,讓人覺得Google違背了許多Open Source Dever.的期望。  但Google有做「錯」什麼嘛?   其實也沒有…   他的所作所為並沒有違反Andoird所採用的Apache License (Google Android 採用 Apache License: 為什麼不是 GPL?),沒有把Android所修改的Linux Kernel Patch merge回Linux Kernel也沒有法律的責任,但對Open Source的dever.來說,這已經違反了他們心中所希望能夠讓整個軟體世界更好的心願,不少抨擊由此而來。
Android除了ARM有Google官方做維護之外,其他硬體架構平台均由Community進行開發,與MeeGo至少能夠完整支援ARM與x86相比,自由度也差了許多。MeeGo官方也接受各家廠商的Driver Patch並放入官方Image之中,Android大多需要開發者自行進行修改與編譯。以各種不同平台的自由度來說,MeeGo是勝過Android不少的。

MeeGo未來可能的發展方向

對Linux embedded硬體產品的開發廠商來說,MeeGo也許是可行的選擇,一是能夠使用x86作為硬體平台,量大且便宜,也可選擇ARM平台,順應各種不同的效能需求推出不同等級的產品。二來是MeeGo的硬體需求也比Android來的低,Native App不需要額外的VM做中介,耗損效能。再來是開發人員不需要另外訓練他們寫Android平台的專屬程式,只要熟悉Qt就能就進行程式開發,甚至是客製化UI的開發,也因為MeeGo是使用Native App.,Linux上既有的App.能夠很快的被port到MeeGo之上,廠商進行產品開發的時程就會比較快。
若以Handheld device來說,目前Android受到比較多廠商的支持,App.的數量也蓬勃的增長中,MeeGo似乎很難在短時間內趕上,但至少可以推論的是Nokia未來的高階產品一定會使用MeeGo作為作業系統,中階產品也可能會以類似Nokia 5800XM推廣Symbian S60 v5的方式以$300 USD~$2000左右的價位進行強打,屆時整合Nokia既有的Ovi Store與Symbian S650 v5的App.,也能夠在行動市場取得一席之地。
而Netbook or Tablet也將會是另外一塊MeeGo目標的市場,以既有的Atom Netbook硬體直接安裝MeeGo與Windows作業系統或者是Smartbook的方式推出純MeeGo產品也是可行的方案,如同iPhone + iPad一般相輔相成。
很明顯的,除了Nokia之外不會有太多廠商推出MeeGo SmartPhone,畢竟Nokia本身的品牌魅力很高,市佔率也很高,第三方廠商很難有機會插入Nokia的市場中,如同Symbian S60 v5幾乎是Nokia獨佔而SonyEricsson只有少數產品亮相一樣。但採用MeeGo的MID, Tablet, Netbook倒是有可能出線。
Android不是不好,只是人們太過推崇它與莫名的Google崇拜讓我覺得不舒服,所以想寫些其他面相的文章來平衡一下視聽,以目前的狀況看來Android會很受歡迎,會成為除了iPhone之外第二大的Smartphone平台,但他真的適合在所有地方使用嘛? 好像也不一定。
MeeGo也是一個設計精良的作業系統,也很有可能成為人們心中真正受歡迎的Open Source Mobile Platform,期待MeeGo能有更好的發展,希望Nokia能推出更多採用MeeGo的產品,更重要的是,要記得在台灣上市阿!!!
(寫完MeeGo之後,似乎也該寫一篇Windows Mobile 7來踹踹Android XD)