2013年10月11日金曜日

以HTML5實作應用軟體的優缺點

HTML5 這幾年飛快的竄紅,絕對是軟體產業的一大事件。相信不少人聽到HTML5時,可能連HTML先前的幾次版本都沒聽過。也開始讓許多原先小看HTML的軟體工程師吃盡苦頭。HTML5 會突然聲名大噪,主要的起因是手機的智慧化逐漸成熟,手機瀏覽器的能力逐漸強大,在手機平台眾多的情況下,已網頁為主的服務開始興起。但起初也只是簡單的網頁而已,當時的手機能力也無法做什麼強大的運算,更不用說透過瀏覽器來運算了。

但到了近幾年,手機越來越強大,瀏覽器的能力也跟著強大,對於 HTML5 及 CSS3 的支援越來越完整,讓 HTML5 開發應用軟體變成跨平台的很好選擇,不再必須開發原生軟體才能達到想要的效果。也越來越多像 PhoneGap 這類的開發套件,來協助開發者以開發網頁的方式來開發軟體。

HTML5的優點:
  • 跨平台,有瀏覽器引擎就可以執行
  • 天生對於畫面構成的便利性
  • 客戶端安全,受到先天標準規範的保護
  • 許多自動化的記憶體及快取管理已經由瀏覽器統一管理
HTML5的缺點
  • 需依賴瀏覽器(或瀏覽器引擎)才可執行
  • 沒有程式碼的保護,若需要認證保護的機制將需要重新考量
  • 受到先天標準的限制,沒有其他的外掛支援,很難做到某些功能
  • 記憶體管理的邏輯與一般軟體設計不同,也是一般軟體開發者所比較不熟悉的部分
如同Flash的缺點,由Flash換到HTML5,在軟體的角度來說,並無大差別。基本上Flash也是基於Script,然後使用原生程式來進行直譯運行。所以原本Flash應該有的缺點,HTML5也幾乎都有。比較好的大概就只有簡化了與主網頁的互動部分,HTML5不再需要以類似Flash以Plugin的方式與JavaScript互動。畫面繪圖也可以非常容易的與瀏覽器的整個頁面渲染混合,搭配出更多樣化的效果。

要能夠發揮 HTML5 的軟體開發,CSS3 的能力是決定性的關鍵。嚴格說起來,CSS3 其實應該不算在 HTML5 裡面,不過都是用來寫網頁,所以經常被包在 HTML5 裡一起談。要能把 HTML5 APP 寫好,必須了解速度的瓶頸是在 JavaScript 的直譯器上。而 CSS3 則是讓物件的顯示方式與轉換效果,甚至是狀態轉換條件,是預先載入。畫面上的物件表示與狀態轉換,不再需要以 JavaScript 介入描述動畫的變化,因此可以以原生軟體的效能來畫出動畫。效能自然比以 Script 來畫出的動畫更為流暢。

透過 HTML5 來開發雲端應用自然沒有問題,但是若用來開發離線使用的本機端軟體就會有所不同了。透過 JavaScript ,因為瀏覽器的限制,許多本機的資源是無法使用的,若要使用,就必須使用其他方式;例如 Plugin 或本地端的HTTP服務等。所以你的程式就必須在 JavaScript 與原生程式間互動。如何分配,讓原生部分盡量減少來降低不同平台的差異化也是一個挑戰。

HTML5 可以提供了 HTML 的易學特性,也提供了大型軟體開發的彈性,成為目前軟體開發不可或缺的角色。不論是以 CSS3 的方式來實作介面,或以 Plugin 等方式來與原生程式碼溝通等,都是與傳統軟體開發流程非常不同的方法。軟體工程師們,不論你會不會用到 HTML5 ,你都應該來了解現在的 HTML5 軟體開發方式,相信可以對你的軟體開發想法有不同的啟發。



2013年5月20日月曜日

Apple AirPort Express (AirMac Express) 功能研究

最近 Apple 比較受關注的還是在 iPhone, iPad 這類的觸控玩具上。消費者對於其他東西的關注就比較少了些。這次要來研究的就是一個有點冷門的產品-AirPort Express。它是一個 WiFi 基地台。買 WiFi 基地台,誰會想到要買 Apple 的,這也難怪它會冷門了。不過價錢也是不便宜就是了。

包裝與外觀

兩側有蘋果標誌

頂部有它的外觀

背面有功能介紹

外盒推開主角就在頂部

主角登場

背面

AirPort Express 大小和外觀基本上根本就是跟 Apple TV 一模一樣,只是顏色不同罷了。外盒上的圖看起來很像銀色,但是實際上是白色的。頂端是霧面加亮面蘋果,側面是亮面的。這個產品在日本叫做 AirMac Express。後方的 I/O 介面分別是電源、WAN、LAN、USB 和 3.5mm 音源輸出。

功能規格

  • 支援 WiFi 802.11a/b/g/n
  • 2.4GHz 802.11b/g/n、5GHz 802.11a/n 雙頻同時運作 (應該是 150+300 Mbps)
  • WAN and LAN 10/100 BASE-T Ethernet 
  • 支援 USB 2.0 列表機
  • 支援 AirPlay 音響
規格上,雙頻是一個亮點。但是 LAN Port 居然只有 100 BASE-T,這就有點怪了。另外有 AirPlay 支援,這應該是蘋果愛用者會需要的東西。

安裝使用

安裝方式大概就是跟一般的 WiFi 基地台類似。插上電源線和網路線就可以使用,不過這台可以再插上一組喇叭,馬上變成無線音響。

裡面只有附一條電源線,與一般基地台不同,變壓器並不在外面

蘋果的東西跟自己的 iPhone、iPad 整合程度,絕對不是一般廠商辦得到的。因為蘋果從系統就不讓其他廠商辦到...

插上電後,直接打開 iPad 或 iPhone,到設定頁面的 WiFi,就可以看到"設定 AirPort 基地台"這個平常不會有的選項。


點進去後,就會開始起始設定。基本上就是叫你取名字跟設定密碼。輸入完後按下一步就完成了。


如果你的 WAN 網路是接已經有網際網路與 DHCP 的環境下時,基本上到這邊就已經可以使用了,它會自動走橋接模式。在連上 AirPort 後,點進 WiFi 選項中,又會發現多出一個選項-管理此網路。


點下去之後,會開啟 AirPort 管理工具,如果你沒裝的話也會提示你去 App Store 安裝。當然是不用錢的。


裝完執行起來就會看到一個簡單的畫面,示意網路連線狀況。因為剛好有新的韌體可以更新,所以圖示上多了一個 (1)。


點選 AirPort 圖示就可以看到一些選項。


點選版本就可以看到下載並安裝的選項,開始更新。


更新完,重新連上後,若點選編輯,就可以看到基地台的設定介面。


如果需要變更連線方式,例如使用 PPPoE 等,只要在這邊就可以更改。詳細就不再贅述。如果是 Windows 或 Mac 的話,就需要下載 AirPort 管理工具。不同於一般的基地台,Apple 並不是使用網頁來設定,也不會有 UPnP 的支援。要設定只能透過官方提供的工具,這大概只有 Apple 才敢這樣做吧,其他廠商應該就會被罵死。只要是 Apple ,怎麼搞都可以。

AirPlay

網路搞定後,再來就是AirPlay了,當然,它只有支援音樂的部分。使用上基本上跟連上有A2DP的藍芽耳機或喇叭是一樣的。聽音樂可以,看影片一樣可以,影音同步也不會有問題。基本上就是無線喇叭。與藍芽不同的是,它的音效並不會像 A2DP 會有失真問題。音質基本上根直接接耳機孔是一模一樣的。


當然,使用 Windows iTunes 聽音樂時也能夠使用。

總結

蘋果的東西果然還是只喜歡跟蘋果的東西當好朋友。用 Android 的話,基本上就沒有辦法使用 AirPlay 了(雖然有 ROOT 過的話,是可以改出來的)。設定方式也非常容易,甚至在需要設定它時,使用者並不需要連上它就可以開始管理它。這點倒是其他基地台所做不到的。訊號方面,雖然說 5GHz 比較少干擾,但是可能因為它沒有大天線的關係,穿透力並不是很好。




2013年5月18日土曜日

使用 Link2SD 解救 Sony Ericsson Xperia Play 容量不足問題

Xperia Play 是我非常喜歡的一隻手機,如果 Sony 能夠再出一款後續機種,我應該會馬上購買吧。可惜的是,看不出 Sony 有這樣的構想。這隻手機 (或者應該說 2011 年出品的 Xperia) 最大的缺點,就是容量都很小,能拿來自己裝 App 的空間更是小得可憐。原廠裝了一些遊戲也非常占容量,原本我認為不需要裝太多的軟體,這個問題應該還好。但是到後來,主要常用軟體相繼肥大,像 地圖,YouTube,Gmail,Facebook,等軟體都肥到塞不下了,所以先前我只好把它 ROOT 了,然後移除一些原廠的軟體,或一些軟體的出廠版本,釋放了一些容量,終於能夠舒服一點。
這次要被拯救的主角

可是好景不常,這些軟體肥大的速度實在太快,到後來,我甚至連 Facebook 都整個移除掉,改用網頁版本。就在 2013 Google I/O 結束後,終於塞爆了,光 Google 本來的東西就已經塞滿整隻手機,什麼都不能再裝,甚至更新也非常困難。所以只好使用 Link2SD 這個大絕招了。我本來不使用這個方法,是因為我想保持SD卡可隨時移除的這個特性,但是老實說,實在沒什麼必要。加上原廠已經不打算繼續更新軟體,好吧,就 Link2SD 吧。

悲慘的剩餘空間

準備工具


  • 已經 ROOT 過的手機
  • 一張夠大的 microSD 卡
  • 一台能夠修改 SD 卡 Partition 的電腦

動工

備份

關掉手機,拿出手機的SD卡,直接將裡面所有檔案複製到電腦中。

改動 SD 檔案系統

SD卡本來應該是只有一個 FAT32 的 Partition,因為 Link2SD 是要將原本內部裝 App 的區域,改到 SD 卡中獨立的區域,需要額外的一個 Primary Partition,所以需要修改原本 SD 卡中的分割。因為我是使用 Windows 7,我使用的分割工具是 EaseUS Partition Master,當然使用 Linux 也可以直接使用 gparted 來做。修改時,可以直接把原本分割區調小,就可以保持原本的檔案。當然也可以選擇砍掉重建,第二個 Partition 必須也是 Primary,檔案系統我是選擇 EXT3,不過 Link2SD 其實可以支援 EXT2, EXT3, EXT4 和 FAT32/16。不過我想,使用 EXT 系列應該還是比較接近原本的系統。

改好的 SD 卡,會是兩個 Primary Partition,第一個是 FAT32,第二個是 EXT3。在 Windows 中 SD 卡是看不到第二個 Partition 的。

安裝 Link2SD


手機裝回 SD 卡後開機,安裝 Link2SD。安裝後開啟 Link2SD,應該就會提示要 ROOT 權限,取得 ROOT 後,就會發現第二 Partition 然後要你選擇檔案系統格式,我的狀況是 EXT3,選擇後會被要求要重新開機。重新開機後,就應該可以大致完成了。

搬移

開機後,再次開啟 Link2SD 就可以開始搬移動作。這邊選擇 Google Map。可以看到下面的畫面。選擇下面的建立連結。

MAP的資訊

接下來會讓使用者選擇要搬移的項目。有 APK,編譯過的 DEX,會被使用的函式庫可以選。確定後就會開始搬移。

選擇搬移項目

搬移後,容量確實也被釋放出來了,軟體也能正常執行。

仍然可以正常運行

搬移後,去檢視應用程式容量時,應用程式容量並沒有改變,但是事實上,容量已經被釋放出來了,可以再安裝軟體了。

小幅搬移後的應用程式空間

並不是所有應用程式都能夠被搬移到 SD 卡中,系統軟體還是無法被搬移的。對於搬移後的 App,效能上並不會比較差 (可能 SD 卡好壞有差,甚至可能搬了比較快)。又可以把需要的 App 裝回來了。手機又可以再活一大段時間了。希望軟體開發者們不要太早忘記 Android 2.3...。


2013年5月15日水曜日

軟體開發的管理盲點

應該很多人都會同意,最難處理的事就是跟人有關的事。主要是因為人會考慮的因素非常複雜,難以掌握。而這次我想探討的是盲點問題,特別是關於軟體開發過程的盲點。

盲點之所以為盲點,就是指看不到的地方。而軟體工程中的盲點,卻往往不是真的看不到,而是選擇不去看到,或是主觀的接受一種特定的思考而刻意排斥其他方法。如何能跳脫既有的主觀見解,從其他角度來看同樣的事件,便成為一個很重要的能力。

很久以前有人出了一個有趣的題目給我,剛好符合這個主題。有九個點,排成如下圖的樣子,相鄰距離都相等,每個點是正田字的交點。而題目是要求受試者以一筆畫出四條連續的直線,貫穿這九個點。也就是一筆可以有三次轉彎的機會,但只能是直線。
應該有不少人在被問到這樣的問題時,會花上一段時間,才能找到答案。因為這個題目中,有個看不到的陷阱,侷限了受試者的思考邏輯。當然,並不是所有人都會被這個陷阱影響到,因為這跟每個人過去的經驗以及思考方法有關。

跳脫原有思考模式其實是非常困難的,但是如果能透過第三者的提醒就不一樣了。正所謂忠言逆耳,別人的提醒,若與自己的想法相左時,往往就不容易被採納。適度的在接收到某些負面資訊時,能夠多花一些時間,在拒絕之前,多深入了解,就可以排除很多自己原先看不到的缺點。每個人觀察一件事情的角度不同,會發現的或感到不妥的地方也不同。他人會提出不同的質疑或見解時,如果以找到這個不同意見發生的原因為出發點,就能更清楚判斷這個資訊是否有用。接下來我就列舉一些自己經驗裡看到的問題。希望對其他人能有一些幫助。

軟體工程

事情總是沒有絕對的對錯。市場上充斥著許多探討軟體工程流程的書籍以及研究,嚐試找到最好的軟體開發流程、軟體開發人員管理及訓練方法。然而,越多討論及研究的存在,往往表示一個問題非常有可能是沒有正確答案的。這些方法主要都是要解決軟體開發時的盲點以及可能發生的錯誤,而這與該團隊的人員素質及能力有關。極端一點,如果主導開發的人強到不會有設計盲點,初期設計的討論過程就是的沒有意義的。軟體開發人員,如果不會寫出 BUG ,就不會需要測試。如果人員的理解能力夠好,也不需要再規範什麼一致的coding style,程式整齊、拼字正確也就夠了。可是人員的能力素質往往很難正確的量化,以至於很難判斷對特定團隊,應該使用何種管理方式來達到最佳的效率。

驗證流程

然而一些人迷信於某些流程,而不能考慮自己參與的團隊與開發軟體的狀況,往往導致反效果。對於大部分小型軟體公司,如果在開始設計軟體時,就耗費過多的成本來在開發流程上,搞不好產品還沒生出來,公司就準備收起來了。小公司賭的是創意與工程師的才能,在現在這樣發展迅速的環境,產品比的是面市的速度,花過多的時間在測試,解問題,產品搞定時,類似功能的產品可能都已經搶了大部分的市占率了。很多時候反而應該是讓產品先出去,再提供修正。一來可以提早面市時間,二來可以試試消費者對於特定功能產品的接受度。也能夠由使用者的回饋來調整軟體開發的方向。

測試成本

另一個是成本問題,軟體開發時,開發者肯定是必須先做些初步的測試,以驗證自己是否完成。若公司設有測試人員,軟體開發者必須評估如何能夠利用測試人員的資源,來協助自己完成模組開發的驗證工作。若花上過多時間來保證自己開發的模組的正確性,反而是浪費成本的事情。自己驗證往往看不到真正的盲點,因為自己對問題的了解程度,引導自己開發出產品模組,若有問題,往往就是考慮不周全。而出現盲點時,很可能是對問題的了解程度不足,如此就更難自行測試出問題。研發人員的成本往往比測試人員高很多,若研發人員又不自知,花過多時間在證明自己沒有思考邏輯的漏洞,就是成本的浪費。

開發模組的相依性

軟體開發在切割後,很容易就會有相依性問題要解決。A模組可能依賴B模組,而開發A模組的人員往往可能等待B模組的開發人員提供成品來讓自己能夠驗證成果。而這個等待就很容易造成人力成本的浪費。當然,程式開發者應盡力避免這樣的等待,不應需要等待其他模組,提早進行下一步軟體的開發。但是,實務上,軟體開發者並不具備這樣的能力。就像很多軟體工程師在程式開發時,會有編寫邊編譯邊跑看看的習慣。因為他們沒有足夠的信心確定自己所寫的每段程式是否正確。主導設計溝通介面的人,最好能盡早發現這樣的相依性,請被依賴的一方能提早提供雛型,或僅有介面沒有實際功能的模組,以利依賴者進行開發。

專制才有效率

軟體開發有許多過程都有很多可有可無的設計,很多模稜兩可的邏輯。溝通與討論實際上可能只是浪費時間。A 說 X 方法好,B 說 Y 方法好,花了一堆時間討論與比較,從設計原理,到未來維護成本等。在很多時候這可能是浪費時間,因為這兩個方法的效益可能根本就差不多。主導開發者必須知道這樣的問題,提早決定某個方向,來避免過多不必要的時間浪費。開發的制度與流程也是如此,訂了就好,修改制度與流程必須評估其必要性與成本。軟體工程師對於制度與流程的改變是非常痛苦的。從員工的角度,若制度上你若有不滿,除非這樣的不滿是共識,否則你應該選擇接受,否則換個工作會比較快。

智慧是沒辦法訓練的

或許應該說訓練的成本過高,高到你不應該嘗試。邏輯是個說服的過程,有些人的邏輯,或行事風格很特別。這樣的人,你就別花時間嘗試改變他。而應該適應他的邏輯與行事風格,讓事情能夠平順的進行。笨是沒有藥醫的,個性好,但是笨,你也不需要花時間在改變他的愚蠢。工作是要成本的,你應該換掉這個人。如果你的老闆還願意糾正你,在你不爽之前,你應該想想這個老闆至少還願意花時間來訓練你。

以上分享是我看到的一些問題點,現在軟體開發產業變化非常迅速,台灣的軟體業也正在起飛。並非所有過往課程或書籍都能套在現在或台灣的環境。在看一個方法時,除了看他的優點,也應該看看他的缺點與適用的情境。人月神話是我還蠻建議的一本書。軟體開發仍然是商業,應回歸到成本管理上。


2013年3月10日日曜日

Windows 8 連結 Google 聯絡人解法

這陣子用 Windows 8 最不習慣的就是沒有辦法整合 Google 的聯絡人通訊錄。應該很多人也有遇到者個問題吧。在 People 介面中,雖然可以讓使用者選擇使用 Gmail 帳號來同步聯絡人。但是不管帳號怎麼輸入,都只會得到錯誤的訊息。如此,在使用 E-Mail 時,非常地不方便。已經使用Android一大段時間的我,已經習慣使用 Gmail 來整理自己的通訊錄了。使得這陣子,只好使用網頁版 Gmail 來解決這個問題。不過畢竟透過網頁使用還是不方便,而 Google 看起來也還不打算來解救 Windows 8 的用戶。

今天就在設定 SkyDrive 的時候,無意間發現在 live.com 可以設定一些帳號的連結。於是就用瀏覽器設定了 Gmail 的聯絡人連結。結果就跳出 Google Account 的授權網頁,接著就完成連結了。這到底是誰的錯啊,搞這麼麻煩,誰知道要這樣設定才行阿。總之通訊錄同步是完成了,需要的人可以直接連到 http://profile.live.com ,接著新增帳號,選 Google 就可以了。

2013年2月28日木曜日

ASUS VivoTab TF810C Windows 8 上裝 VirtualBox

在平板上既然能跑 Windows,那如果需要跑以前 Windows XP 或 Linux 時,最方便的當然是透過VM來執行囉。在 ASUS VivoTab TF810C 上到底跑不跑得動 VirtualBox 呢?

所以之前就有一個想法,把重度使用的工具軟體安裝在 VM 中。這樣就可以免去攜帶 Notebook 的麻煩,改成只要攜帶隨身硬碟即可。當然,因為我上班地點就有電腦,家裡或南部老家也都有電腦。這樣我往返這些地點時,都可以不需要攜帶自己的電腦。每個地方的電腦都可以讓這台虛擬機器重生。因此我開始有了使用虛擬機器的習慣。

在開始裝 VirtualBox 時,馬上就遇到機車的問題了。出現了下面的畫面。
看來是對中文路徑的相容性有問題了,所以我試了改資料夾名稱、搬移到根目錄等常見的方法。可惜都沒辦法解決這個問題。看來是連使用者名稱都不能有中文,只好出大絕招,重新創建新的使用者來安裝 VirtualBox。果然,成功執行安裝程式了。
裝完似乎也能成功地執行起來。
裝完後,把新的帳好砍掉,回到原本的使用者。使用起來似乎沒有問題。匯入之前就已經裝好的 Windows XP 工作環境。記憶體設在192MB。很順利的就跑起來了。
使用上非常順,並不會有很嚴重的延遲。但是礙於是在USB 硬碟上執行,硬碟讀寫效能自然會在受到限制。另外我也試了自己的Linux工作環境 Fedora 10。這次似乎就沒那麼順利。開機到進去 X-Window,實在是有夠慢。每每要執行程式也都很慢,只有UI 反應還算流暢。而把image 複製到機器上,情況並無改善,反而更糟糕。大概是 eMMC 架構的主硬碟,讀已經不快了,寫更是慢到不知道該怎麼說...。看來 VM 還是建議跑在隨身碟上比較好。

總之較多人會需要的 Windows XP 是可以穩定流暢的跑了,這樣舊版 Office 就可以帶著走囉。

2013年2月19日火曜日

Windows 8 初體驗 (ASUS VivoTab TF810C)

前言

最近 Intel 推出了一款似乎很厲害很省電的 CPU,Intel® Atom™ Processor Z2760
(1MB Cache, 1.80 GHz, 四線雙核),不少廠商都相繼推出使用這個平台的 Windows 8 平板電腦。來看看他們怎麼介紹這個 CPU。


不過就 Atom 而已,講到這麼厲害,何況現在市場上也有一堆Core i5的平板可以買。真的有這麼厲害嗎?當然Atom 與Core i5 相比,要比的當然不會是效能,而是續航力以及輕量化。華碩趕在農曆年前,推出了 ASUS VivoTab TF810C ,規格十分完整。在多方比較後,我就買了這台電腦。


規格

先來看看它的技術規格。

  • 螢幕:11.6吋,IPS面板,康寧防刮抗磨玻璃,1366 x 768 WXGA
  • 處理器: Intel ATOM Z2760 Dual Core 1.8GHz
  • 記憶體:LPDDR2-800,2GB
  • 儲存容量:eMMC 64GB +3年ASUS WebStorage 32GB網路硬碟使用空間
  • 照相機:
    • 前:200萬畫素攝影機
    • 後:800萬畫素攝影機,自動對焦,F 2.2 大光圈,LED補光燈
  • 無線網路 (WLAN): 802.11b/g/n
  • 藍芽:Bluetooth V4.0
  • 外掛儲存裝置支援:Micro SD(SDXC)
  • Sensor:G-sensor(加速度感應),Light sensor(光感應),E-compass(電子羅盤),Gyroscope(陀螺儀,角速度感應),Hall sensor(磁力感應),NFC
  • 外接顯示支援:Micro HDMI *1
  • 擴充介面:USB擴充配件*1,USB*2位於鍵盤基座上
  • 輸入裝置:
    • 觸控:五點觸控
    • 筆:磁感應,1024階壓力感測支援
    • 觸控板,鍵盤
  • 其他:立體聲喇叭,麥克風輸入,耳機輸出
  • 作業系統:Windows 8
  • 尺寸:294mm (寬) x 188mm(長) x 8.7mm(高)
  • 重量:
    • 平板:675g
    • 鍵盤基座:665g
    • 平板+鍵盤基座:1340g
  • 電池:3.7V*2 Li-Polymer battery 3950 mAh(30Wh)
  • 電池使用時間:
    • 平板:10小時
    • 平板+鍵盤基座:19小時
  • 變壓器:
    • Output:15V, 18W
    • Input:  100-240V AC, 50/60Hz universal
  • 皮套:磁扣式皮套,人工皮,筆收納,可當平板立架,彈力設計,含鍵盤或單平板都可使用
其實一開始我是選擇它的兄弟機 ASUS VivoTab Smart ME400C,主要差在重量(580g),沒有觸控筆,沒有變形鍵盤。對於這個規格,第一個吸引我的目光的是重量以及價格。沒想到 x86 的 Windows 平板,也能將重量降到與 ARM 平板一樣的等級。而價格 17900 在 64G 平板等級中與  Android 以及 iPad 相近。於是,我便開始去尋找了解最近的 Windows 平板。

外觀

外觀方面,整體質感還不錯,金屬髮絲紋,為一比較可以挑剔的是它上部的塑膠部分,接和方式有點單調也有點突兀。

11.6吋的大小,在結合鍵盤後,基本上就是一台小筆電。鍵盤也是標準大小。弧形收邊方式加上金屬的銳利感,使得整個電腦看起來更薄。

平板邊緣不同於其他平板,特別使用圓角邊框,讓平板在單手拿握時,觸感更好,視覺也比較柔和。


使用

效能上,雖然是Atom,但 1.8GHz 雙核心 + Hyper Threading 還是頗具實力。在一般平常使用時,能夠提供十足的流暢感。是一般 Android 所不能比的。當然在運算較吃重的時候,還是略為吃力。加上沒有強大的 3D 顯卡,玩主流 3D 遊戲時也較為吃力。有人拿它來跑英雄聯盟,雖然跑得動,但是卻也不能說流暢。跑Facebook Flash Game,速度也還算可以。下面有幾個聯結,可以參考一下。


魔獸世界


英雄聯盟

瀏覽器的使用,IE10在觸控使用時非常流暢,既使網頁中充斥這 Flash 廣告,也不會感到壓力。由於瀏覽器可以補足許多未有專屬軟體的服務,所以好不好用就顯得非常重要。而 IE10 表現的非常稱職。

App 的支援也是許多人擔心的重點。畢竟 Windows 8 也才上市沒多久,可以預期的是軟體真的有點少。剛買的人,要記得把語言篩選關掉,這樣可以找到更多 App,否則支援中文的更是少得可憐。

但是其實說少也還不少,微軟畢竟不是省油的燈。使用 Windows 8 的人只會越來越多,廠商自然也靠得快。主要的大應用幾乎都有 App 了,唯獨 Google 服務...只能說遺憾。 Google 在 Windows 8 提供的 App 真的只能說陽春,就連給 Windows 8 用的 Chrome 也非常爛。其他像 Dropbox, Evernote,Kindle等都有 App可以用。Google 的服務就只能靠瀏覽器了。

筆的部分更是 Windows 的一大特色。還記得將近 10 年前,我買了 Compaq TC1000,當時的觸控筆就非常的好用,只不過需要電池。這次再次使用觸控 Windows ,我自然還是得買有筆功能的平板,這也是我改選 TF810C 的主要原因。相較當時的手寫,現在手寫輸入有更多的手勢功能,可以讓書寫更自然方便。英文辨識仍然可以使用草書,錯字修改也非常簡單。方法我就不再多說加描述,找台實機試試比較快。配合 OneNote 與 SkyDrive,在 OneNote 作的筆記,在 Android 平台也能同步與編輯。但是在Android 上不能看到筆跡,這是比較可惜的地方,不過透過筆輸入成單字,少存直接筆跡,也可以解決這個問題,基本上還是非常方便。

聲音還不錯,但是音量還是有點小。像機部分,對於平板或筆記來說,我是沒什麼機會用。我也懶得試了。

Windows 8 平板支援原本 x86 Windows 的軟體,這更是現在 Android或iPad所無法達到的功能。遠端桌面連線軟體也比一般 Android 或 iPad 的軟體,使用上更自然,反應速度更快。甚至支援RemoteFX 更是其他平台所沒有的。

USB 周邊的支援也是一大優勢。再也不用不確定是否插了能不能用。不會明明有USB,卻只能拿來插滑鼠鍵盤隨身碟的限制。

結語

Windows 8 在觸控方面確實相當出色,在稍為使用了解了一些手勢後,視窗的使用非常自然。而 Windows 8 的滑動及轉場動畫都相當流暢。續航力也很確實,花上一整天,電還吃不到一半。重量也比原先我的 TF101 變形平板來得輕。基本上它已經可以取代原本變形平板的功能。Google 整合不良也是有點不方便,聯絡人無法與 Gmail 聯結,只有 mail 還能聯上。另外也需要再了解SkyDrive才能讓使用上更加便利。本來想透過BlueStacks App Player來直接執行 Android,這樣就更完美了。只可惜目前 BlueStacks App Player在 Atom上還有問題,只能等待他們解決。先用一陣子再說。

2013年1月10日木曜日

MSN 與 Skype 的整合

前些日子,微軟已經宣布了 Windows Live Messenger (MSN)將停止服務的消息,並且可以使用 Skype 來登入原有的 MSN 帳號。而剛剛在 Engadget 看到公布了 Windows Live Messenger 將在 2013/3/15 正式停止服務。對於兩種帳號都有的我,之前就一直想知道怎麼幫兩個帳號並在一起。而現在人家都講了確定的時間了,當然要積極一點看一下怎麼弄了,而且還可以順便解決在手機上沒有官方的 MSN 軟體的問題(用第三方的總是心裡毛毛的)。



其實也不是之前沒有想看怎麼整合,只是現在手機這麼方便,使得我登入Skype用的都是手機,而不是PC。而登入 Skype 帳號後,又始終找不到如何匯入 MSN 帳號的連絡人。對於這種沒有即時需求的念頭,總是找找就放棄了。直到今天重新回來研究才知道,原來在登入中的狀態真的不可能找到可以匯入 MSN 帳號的地方。而整合的方法是要先用 MSN (或稱作 Microsoft 帳號)登入Skype 後,再整合 Skype 帳號進來,這樣就可以同時看到 Skype 與 Windows Live Messenger 登入的好友。而下次登入時,若使用原本的 Skype 帳號,就還是只能看到原先 Skype 的好友,看不到 Windows Live Messenger 的朋友。

這種設計真是特別,原來不是 MSN 帳號整合到 Skype 中,而是 Skype 被整合到 MSN 帳號裡了,而 MSN 帳號現在在 Skype 中叫 Mircosoft 帳號。使用者未來將使用 Microsoft 帳號來登入 Skype ,而不再使用 Skype 帳號。推測 Mircosoft 還是希望以自己的帳號優先來統整使用者的各項服務,也因此 Windows Live Messenger 的終止服務,只表示了客端軟體的消失,並不表示帳號的消失,而未來帳號會消失的,反而可能是 Skype 帳號。未來可能會進一步用 Mircosoft 帳號整併 Skype帳號的服務,以解決目前 Skype 登入畫面有兩種登入方式的怪現像。

轉移完成後,本來幾乎已經很少開 MSN 的我,現在又 MSN 常駐了。朋友們,我又出現啦。還沒轉移的各位,也動動手指吧。

2012年12月25日火曜日

MHL 購買須知...

因為新買的 Sony Xperia TX 不能支援 Micro HDMI ,讓我一直很想去買個 MHL 線來用。說實在的,我實在很討厭 MHL 這個無用的規格。整個就是給硬體廠商爽而已。 HDMI 輸出後,原本的 USB孔就失去了 Host 的能力,也就是不能使用OTG 來連結 USB 裝置。原本 Sony 手機都會同時有 micro-HDMI 與 micro-USB。我一直都覺得這樣方便很多,也一直認為像 HTC 與 三星這樣搞 MHL ,讓使用者要輸出電視時還需要特殊的線材,真的很亂搞。沒想到最後 Sony 還是踏上這個鳥路,只給 MHL ...



終於,我還是買了 MHL 線了。是 LINDY 這個牌子的。如果之前有用過 Sony 手機的 HDMI 輸出的人或許知道,Sony 的手機都支援 HDMI-CEC。有了這個規格,可以讓支援 HDMI-CEC 的電視,直接將控制它的訊號轉給手機。也就是你可以使用電視原本的紅外線遙控器、App WiFi 遙控器等來直接連上的手機。我之前就誤以為只要是 HDMI 線,都可以支援這個訊號連接,結果買到一條木能支援的線。附帶一提,PS3除了第一版外,也都支援這個規格。不過 micro-HDMI 的線似乎都支援這個規格就是了。

言歸正傳,這個 MHL 線竟然又不支援 HDMI-CEC!!! 這什麼鬼,MHL 是哪個年代的東西,怎麼會有廠商漏掉這個規格的支援!!! 靠!!! 就算三星也支援 HDMI-CEC 阿,這條線是出給鬼用的嗎??? 下次買這種奇怪線材,沒試過還真不知道怎麼買。看來以後應該都要先騙別人去買才行!

2012年12月10日月曜日

Wi-Fi Direct 是啥鬼

Wi-Fi Direct 這個詞在最近一年越來越常聽到,不少人應該都非常好奇這個東西到底有什麼用途。許多人當把他想像成不需要無線基地台,就可以把兩台機器連起來的無線網路標準。但事實上並非如此。到目前為止,Wi-Fi Direct 已經在很多主流手機上都有提供,但是還是只能拿來互傳檔案。


Wi-Fi Direct 的用途如果只有傳檔案,似乎有點不太符合預期。不需要基地台就能透過Wi-Fi傳送資料,對於會使用Ad-Hoc的高階使用者而言,更不是新功能。所以 Wi-Fi Direct 到底有什麼特別呢?我想比較容易了解的方式應該是把它想像成 Bluetooth,這應應該就比較沒有問題了。
Wi-Fi Direct 原則上就是使用 Wi-Fi 的廣播技術以及加密認證規格,但將應用從原本的區域網路,改成類似藍芽個人 p2p 連結的方式。有異於Ad-Hoc的方式,使用 Wi-Fi Direct,可以同時讓一個裝置連上多個 Wi-Fi Direct 的裝置。(其實就是和藍芽一樣)

由於區網的特性,使用Wi-Fi Direct連線後,還可以直接形成類似 Bluetooth PAN 的連線方式,讓之後所有的應用都可以在基於網路標準上開始實作,像 Bluetooth,必須根據驅動程式提供的 Profile 支援介面來進行各項不同應用的控制。也有部分人認為這樣的產品將影響 Bluetooth 的市場。

想像如果在公車上,突然需要傳幾張相片給同行的夥伴。在現在這種相片隨便拍都一千萬畫像素的環境中,用藍芽來傳送,確實是挺費時的。但是如果換成Wi-Fi Direct 確實是可以快上不少。但是實用性呢?如果沒有Wi-Fi Direct,現在還是有 Wi-Fi 移動基地台可以使用。由基地台端開啟伺服器,讓連上的裝置傳送檔案,仍然可以很快完成這個動作。而兩方根本不需要考慮是否支援Wi-Fi Direct。

雖然說 Wi-Fi Direct 可以相容目前現形的硬體,但是廠商會這麼好心幫你把舊有的晶片都換上 支援 Wi-Fi Direct 的驅動程式嗎?雖說軟體可以使用類似原本網路的方式來連線,可是沒有軟體將頭尾的連線包裝好,使用者還是不會比較好用。導致還是得有特化的協定來完成每個不同的應用。如檔案傳輸,還是得先設定好接收端如何等待客端上傳等。而現行的應用,在藍芽或其他服務都已經支援大部分功能的狀況下。Wi-Fi Direct 變成廠商不知道該怎麼廣告的奇怪標準。

甚至像 Miracast 這個標準也是。如果傳輸協定已訂,為何一定要 Over Wi-Fi Direct ?在一般區網環境不是更容易嗎?兩邊都能支援不是更好?雖說可以不用網路基地台,可是我有基地台的狀況,為什麼不讓我使用呢?為何非得要我中斷 Wi-Fi 連線,從新尋找、連線、認證、DHCP、尋找彼此 IP ,然後才連上勒?雖然 AirPlay 需要基地台,怎麼還是一堆人覺得這樣很直覺?

Wi-Fi Direct 普及看來還是會慢慢進行。加上這個能也可能沒辦法對產品加多少分。也不太可能對 Bluetooth 造成威脅。但多個功能對使用者還是有好處。但在這上面要有好的應用,我看等到2014年後看有沒有機會好一點。



2012年12月2日日曜日

神阿,請多給我一點時間

我雖然沒什麼大成就,但這一生也夠特別的了。突然成為董事長後,四面八方鋪天蓋地而來的各種壓力,真是讓我不知所措,畢竟去撐一家負債的公司實在有點恐怖。從技術人員轉換為經營者,這樣的轉變,對我來說還是太大了點。因為已經很久沒有放個長假好好休息,本來規劃年底要出國旅行,現在突然遇到這樣的狀況,又讓我更沒有時間休息。突然財務報表,資產負債表,流動負債,應付帳款,這些以往不太會在意的報表,現在不看懂也不行。增資減資籌資等等的流程,更是完全沒有碰過。還好有許多長輩提供協助,否則我真是不 知道該如何是好。真希望能有更多的時間。

2012年10月24日水曜日

消失的流星

2012年10月9日,我應該會永遠記得這個特別的日子。我老闆就在這天寧晨,因為一場突如其來的火災離開了我們。當天早上,當我聽到這個消息時,腦袋一片空白。多麼希望這個消息是誤傳,多麼希望只是個玩笑。從開始共事到現在十多年,我實在不能接受他就這樣突然的消失在我的生活中。老闆離開後,我才更體會到他的辛苦。經營公司是多麼複雜的事情。接下來那一周內,每每提到老闆的事情,想起他的點點滴滴,都讓我感到不捨,幾度落淚痛哭。

以前在公司裡,我只需要知道我要做什麼,我該怎麼在最短時間內完成專案,我該怎麼給公司有更好的發展。老闆不見了,我才開始意識到,沒錢,甚麼都是屁。要弄到錢是多麼困難的事情。現在,公司根本就沒有現金了,本來在計畫中的員工旅遊,部門聚餐,一下子都變成了泡影。本來要搬家節省成本,現在連搬家的錢都有問題。這樣的公司真的能繼續嗎?

在工作中,我一直相信所有的工作都必須要有兩個以上的人可以處理,這樣可以讓管理容易很多。當一類的工作有兩個人可以作,就不會有請假延誤的問題,也不容易有離職交接的問題。工作時也有了可以討論跟分享的對象,甚至在工作上也有了明顯的競爭關係,在工作上也不容易怠惰。但是如果這個工作是老闆時會是什麼狀況呢?甚至是老闆包辦了大部分的業務工作時會是什麼狀況呢?我的天阿,老闆,你為什麼要把自己弄得這麼忙這麼累?

眼看著公司轉型後的第一個產品就要出貨,老闆卻在這個時間離開,真是讓人措手不及。公司的狀況也突然變得非常危急,從可以期待開花,突然變成一家沒人要經營的公司。這樣的經驗我想絕大部分的人一輩子都不會遇到吧。現在只能盼望目前公司的技術能夠在短時間帶來利潤,讓公司能取得充裕的資金繼續經營。接下來難免會有人事異動,希望衝擊別太大...

2012年10月8日月曜日

裁員的理由 (轉貼自我的Facebook)


曾經有人問我,為什麼公司這麼缺人,都已經在趕出貨加班了,卻還要裁員。我的回答通常是 "沒辦法,老闆這樣決定,公司又很缺錢,所以..." ,或許是剛好也符合現況,還挺適合來塘塞這樣尷尬的場面的。

但是,我真正想說的其實是 "難道你沒有發現,公司已經在趕出貨,不斷加班,也一直在找人,在這麼緊急的狀況下,你居然還是沒有任何貢獻,這樣你還待得下去嗎?" ,不過如果我這樣說,只會陷入更長的爭執與討論,因為這樣的人通常還是會覺得自己非常累,非常努力在寫程式,非常努力在找問題解bug了。

可惜,這樣的人永遠不會發現自己所花的時間,已經遠大於解決該問題應有的時間了,卻還是認為自己的努力沒有愧對自己的工作。永遠不會發現自己的效率是有問題的,也不會透過自我反省自修來改善自己的能力。換個人,早就解決你自以為很難的問題了。公司越急著要出版本,越加班,越看得出哪些人是在拖慢進度,製造問題。如果大家都在加班,自己卻還是很悠閒,你可能就是目標了。

工程師是個很奇怪的工作,薪資跟效率不會是等比例的。也就是工程師A跟工程師B的工作效率可能差兩倍以上,可是薪水卻只有差一點點。領兩倍薪水的工程師,效率可能是十倍以上。因此,公司的角度往往可以輕鬆的把較差的一些工程師砍掉,去外面找一個強一點的抵掉兩個弱的。工作,能發現自己與同事的落差,能夠自我反省,改善工作效率,才能奠定自己價值。否則再怎麼努力工作,效率無法改善都是白搭。

來寫部落格

總覺得有些事情,還是得用部落格的形式來記錄才行。光用Facebook、Google+來記錄似乎不太夠,也很容易混了些不太重要的事情。最後就開了這個部落格,之後希望能夠用來整理一些軟體開發,或軟體工程相關的心得。會撐多久呢?

快樂工作環境 (轉貼自我的Facebook)


能夠樂於工作,應該是大部分人追求的目標吧。能夠讓自己從事自己喜歡的工作,能夠在工作中獲得樂趣,能夠透過愉快的工作過程來完成自己的人生目標。

雖然不能確定周遭的同事、朋友們是不是都選擇了自己喜歡的工作,但是如果不急著離職,讓自己快樂的在目前工作崗位上,甚至讓大家都可以快樂的工作,或許是個努力的目標。如果大家都有這樣的想法,很多的程序、規範、流程或許都會變得自然。

軟體公司中的許多制度不就是為了讓大家可以更快樂的維護自己的產品而設置的嗎? 把眼光放遠點,如果大家有這種認知,寫程式就不會輕易下手,以後維護的人可能會很辛苦,甚至會恨我,沒弄好我還要回來修bug;自己開發的軟體自己不喜歡用怎麼辦? 至少必須反應出來讓大家知道吧,搞不好我不適合設計這樣的軟體,搞不好你會因為被說服而喜歡上這個產品,悶著頭做何苦呢;苦於目前工作的瓶頸,無法突破? 何不找個同事聊聊自己的問題呢? 利用自己的弱點來交個朋友也不錯吧;自己長時的獨立工作很悶? 讓自己暫停一下,花個幾十分鐘甚至幾個小時,找個同事或利用會議闡述一下自己的設計,甚至檢討提出自己的設計弱點,或許可以激發更多火花,也讓自己有更大發揮的空間。

在管理也是吧,強硬的逼迫下屬或許真的可以得到短期的效果,但長期肯定會有問題。如果員工可以樂於工作,效率自然就會好,是不是一直在電腦前,一直在座位上或許就不再重要,甚至在不在辦公室都不那麼重要。如果真的樂於工作,在家裡也會想到程式的新解法。如果員工可以樂於自己的工作,不用長時工作效率自然就會高,甚至長時工作也比較不會疲倦。當然啦,好的制度,一定要搭配適當的淘汰制度。

希望我們能一起創造快樂的工作環境。