2012年12月3日 星期一

iCloud 和 itunes wifi sync 對抗的是 Google Accounts

在發表中, Apple 將 iTunes wifi sync 定位在不用連接線的同步傳輸。但是它沒有說明的是,這其實是對於 Google 的 對抗。 

Google 的 Android 系統,和 Google 的其他服務緊密結合。通訊錄不再是放在手機上,只要 Gmail 裡有的聯絡人,都會出現在手機裡。也有界面讓其他的來源進入,所以 Facebook, Whatsapp, Twitter, 都可以在手機上找到。手機本身只能存四個中文字和一組電話號碼的通訊錄,在這麼多年來的技術演進下,已經是個過時的雞肋。

在 Google 手機和後端 server 直接同步的用法面前, itunes 在電腦上佔據灘頭堡,再據以同步所有行動裝置的方式,也顯得過時。 iCloud 正是要補足這一塊,將使用者的資料,直接交由 Apple 來儲存。這樣一來, itunes 是安裝在 mac 或 windows 上,也不再重要了。未來它們都只會退居行動網路的配角,mac 甚至可能只會剩下專業人士使用。大多數的使用者需要上網瀏覽資訊,ios 就可以滿足大部份的需求。

Microsoft 的 Windows 8 平板戰略

Windows 8 的目的

Microsoft 以 Windows 8 整合 Metro UI 的目的其實非常明顯: 利用舊有 Windows 的市佔率為基礎,影響使用者的決定。以舊有 Windows 相容性為考量的使用者,Metro UI 等於是一個「免費」嘗試新界面的機會。即使不用,還是有舊有的 Windows UI 可以使用。以新世代觸控界面為主要考量的使用者,也可以保有使用舊有界面和程式的選項。選擇新界面不需要捨棄舊有的包袱。由此引導使用者在進入平板領域時,偏好選擇 Microsoft。也就是說,利用使用者懶得改變的心態,溫水煮青蛙。

Microsoft 的一貫向下相容作法

以歷史軌跡來看,維持向前相容是Microsoft 一貫的作法。包括相容自家的和競爭者的功能、界面,務求轉移的學習成本最低。例如 MS-DOS 「移植」CP/M ,Windows 包含 Dos Box,Windows NT 照搬 Windows 95 界面,Office 等應用軟體無一例外可以讀取競爭對手的檔案格式(但無法寫出)等。簡言之凡是使用者不願升級、跳槽的相容性問題,Microsoft 都會想辦法解 決。以 Microsoft (或目標競爭對手)的市佔,相容性常常是個不可忽視的考量。

新時代的舊作法陷井

但進入觸控平板時代,這樣的作法能不能取得同樣的效果,卻很難說。首先,觸控並不只是軟體的功能或 UI 的增強,而是本質上的不同。這改變不亞於當初從命令列進入到圖形化指向裝置的跳躍。這需要硬體的配合。而由於硬體在使用者體驗的地位更加重要,純粹軟體的作法相對顯得難以著力。這多半也是 Microsoft 選擇自己下海推出硬體的原因之一。唯有真正體會到硬體微調的難處和微妙在哪,才能真正作出軟硬配合得天衣無縫的解決方案。

其次,由於界面的跳躍,軟體也必須相對應地改變。Desktop Application 和 Metro App 是完全無法互換元件的兩種開發模式。可以說它們只是執行在同一個硬體上。甚至Windows 本身的許多舊有設定,複雜到Microsoft 也無法移植到 Metro UI, 只好強迫一腳把使用者踢回桌面下,繼續使用 Desktop UI 完成想要作的事。

也就是說,相容性出現在使用者不想要的地方,而使用者需要相容的時候,卻因為設計上的取捨或限制,而無能為力。到最後,兩邊都落得吃力不討好,只剩下「只需要帶一個裝置」這樣的優點可以拿出來說嘴。

以 Windows 8 這麼多的未完成形功能,可以預見將來應該還會陸續改進,將未修齊的毛邊修掉。加上蘊釀許久,最近正式公開的,向 Apple 及其他許多 OS 看齊的一年一更新策略,Windows 還需要慢慢進化到成熟的境界。

2012年7月13日 星期五

Freebsd buildkernel

according to /usr/src/Makefile{,inc1}:
  1. "mkdir ${KRNLOBJDIR}"
  2. Generate makefiles, header files, etc. of the desired kernel config to build directory by "config -d "
  3. *** following commands run in build directory (to use makefiles generated by config) ***
    1. "make cleandir"
    2. "make obj"
    3. build tools, mostly aicasm assembler (for Adaptec SCSI controllers) by "make -f ${AICASM_MAKEFILE} obj depend all"
    4. "make depend"
    5. "make all"
Basic freebsd makefile-based build steps:
  1. Clean build directory
    make cleandir
  2. Build directory tree for object files. Not the object files themselves. They are built in "make all"
    make obj
  3. Build dependencies to .depend of each directories
    make depend
  4. The actual compilation 
    make all
>>>TODO<<<
Makefile and directory structure generated by config

2012年5月24日 星期四

Google app (ios) improved a lot

After the major UI redesign, the google app now looks more pleasant and user friendly. The web site functions like news, translate, etc. are organized in a browser tab-like interface. Although they are still fundamentally web services, they now acts as a group of functions in a consistent UI frame.

Along with Google+ app redesign, looks Google finally found right guys to do the exterior works.