Language

Friday, October 14, 2011

悼念 Steve Jobs


第一次知道 Steve Jobs 這個人,是在我大一開始接觸 NeXTSTEP 這個作業系統之後,當時 NeXT 以劃時代的物件導向技術、華麗的視窗外觀、當時時尚界流行的黑色元素、鎂合金的外觀,以及對開發者非常友善的開發工具,在 1990 年代初期登場,而 Steve Jobs 正是生產 NeXT 電腦的 NeXT 公司的 CEO. NeXT 也是他在被自己所創辦的 Apple 解僱之後所創立的公司。



NeXT 是我人生第一次如此著迷的軟體技術,也是我第一次如此深信這產品將會改變這個世界。因此,NeXTSTEP 上的應用程式也是我唯一會寫的視窗應用程式。我總是告訴別人 NeXTSTEP 是世界上最美麗的作業系統。在我大二時接管了一些 DEC Alpha 的工作站,於是我為系上設立了 FTP 站。我選定了 NeXTSTEP 相關的資源映射至 FTP 站裡,到後來系上的 FTP 站成為台灣 NeXTSTEP 資源最完整的 FTP 站,也使得系上的 FTP 站在某個小眾市場裡頗具知名度,而那也是我人生中做的第一個與 marketing 有關的決策。然而,我認為當時不擅長 marketing 的 NeXT 開始出售硬體工廠,而且營收不佳,幸而當時 Apple 正在為他的 OS9 尋著「下一步」,Apple 從 BeOS 與 NeXTSTEP 中選擇了 NeXTSTEP, 也使得 Steve Jobs 後來王子復仇重回 Apple 掌舵。我想 Steve Jobs 在這個時期學會了虛心,也學到了 marketing 的重要性與技巧,此後 Apple 的產品,在我看來,不再以技術上的創新為唯一的依歸,更多是使用者經驗的創新。



在 NeXT 被 Apple 收購之後,我開始接觸與 Steve Jobs 有關的書,有兩本,一本是 "Apple: The Inside Story of Intrigue, Egomania, and Business Blunders" by Jim Carlton, 另一本是由 Randall E. Stross 所撰寫的「電腦金童 NeXT 風雲再起」,分別描述了他在被 Apple 踢出公司前與 NeXT 時代的故事,當這些書完成的年代,Steve Jobs 對這些作者相當的不友善。他從不願提供任何資料,也不讓作者訪問他的家人,因此作者只能辛苦的從旁人口中得到 Steve Jobs 的資料。這個時期他脾氣暴躁,而我其實不太欣賞他。



他回 Apple 之後,開始推出彩色外殼的 iMac 以及貝殼造型的 iBook,但一直到 iPhone 的出現,我才又注意與欣賞 Steve Jobs 的才華。當時我擁有一支 Nokia Symbian S60 系列的智慧型手機,深深知道智慧型手機最重要的就是軟體與使用者經驗。iPhone 在當時並不是第一支智慧型手機,也不是第一支觸控手機,初問世時更因沒有觸控筆或鍵盤而被市場質疑,但當我試用過而且知道 Apple 將當初 NeXT 那一套有名的開發工具流程應用在 iPhone 的開發上,我知道這支手機絕對劃時代。再加上 AppStore 方便程式設計師以及 SOHO 工作室將開發出來的軟體很容易的銷售到使用者首中,iPhone 的軟體便像雨後春筍般蓬勃發展,這絕對是 iPhone 開發者、使用者、Apple 三贏的局面,也使得 iPhone 成為世界上單一機種銷量最高的智慧型手機。之後,Apple 更順勢推出 iPad 這個平板電腦,更帶起來平板電腦的風潮。回顧 iPod, iPhone, Apple TV, iTunes store, 以及 AppStore. 可以看得出來 Steve Jobs 逐步的將他心中的藍圖實現,將 Apple Computer, Inc. 從軟硬體整合製造商轉型為以內容與服務為主的 Apple, Inc. 這樣子的遠見與毅力,才是我佩服與欣賞 Steve Jobs 的原因。我想不可否認的,iPhone 與 iPad 的出現,的確完全改變了你我的世界。



今年八月 Steve Jobs 請辭 CEO, 大家就在猜測他的健康是否出現問題,而當我看到 Steve Jobs 與 Walter Isaacson 合作寫傳記,容許這個作者訪問所有他身邊的人,其實就大概可以猜到他已經在做準備了。但當 10 月 5 日,他過世的消息傳來,我仍然感到悲傷。雖然我總是說我並不是 Steve Jobs 迷,但當他過世時,我深深感到這世界失去了一個有遠見、有創意的奇才。而在他過世之後,我也重新觀看他對 Stanford 畢業生做的演講,裡面我最愛的一段是第三個關於死亡的故事,裡面說到如果你每一天都當做活著的最後一天來活,總有一天你會活出你的生命。當面臨死亡的時候,所有的外界期望、所有的驕傲、所有對於丟臉或是失敗的恐懼,這些都會消失。因為你已經光溜溜了,沒有理由不順從你的心。謝謝你,Steve Jobs,讓我有勇氣順從我的心,做我真正想做的事,而不恐懼失敗。謹以 Robert Frost 的詩來悼念這個不平凡的 CEO.



The Road Not Taken



Two roads diverged in a yellow wood,

And sorry I could not travel both

And be one traveler, long I stood

And looked down one as far as I could

To where it bent in the undergrowth;



Then took the other, as just as fair,

And having perhaps the better claim,

Because it was grassy and wanted wear;

Though as for that the passing there

Had worn them really about the same,



And both that morning equally lay

In leaves no step had trodden black.

Oh, I kept the first for another day!

Yet knowing how way leads on to way,

I doubted if I should ever come back.



I shall be telling this with a sigh

Somewhere ages and ages hence:

Two roads diverged in a wood, and I—

I took the one less travelled by,

And that has made all the difference.



           – Robert Frost







--
My Emacs Files At GitHub

Saturday, October 8, 2011

愛吃信用卡的高鐵自動售票機


有坐過高鐵的人, 有不少的比例會因為售票窗口大排長龍而像筆者這樣選擇自動售票機購票; 自動售票機售票有三種付款機制, 分別是現金、信用卡、金融卡。用現金購票有個惱人之處: 找錢一律用銅板, 就是會掉出一大堆的五十元銅板。再加上信用卡購票可以累積信用點數, 所以有一部分人會採用信用卡付款, 外國旅客來台灣也蠻常用信用卡付款的。


高鐵自動售票機可以說是信用卡吃卡機器, 原因就出在整體的使用者介面設計上。信用卡購票流程是這樣的, 首先先在下方螢幕點選「自由座」或「對號座」, 然後是乘車日期、時間, 選定班次, 接下來選擇付款機制, 如果選擇了信用卡, 這時候你的注意焦點要開始擺在上方小螢幕上, 自動售票機會有語音提示你這點, 但是我也常常看到不熟悉這個購票流程的人不知道該看上面的小螢幕。這個問題就出在使用者在按螢幕這麼多按鍵後, 心中其實是忽略所有語音的提示, 而把焦點放在視覺上, 如果這時候沒有視覺上的提示, 很容易被忽略。


如果使用者有注意到上方小螢幕的話, 接下來是插入信用卡, 等待輸入預借現金密碼或是生日。這部份的問題是按鍵頗難按, 而且如果你慢個二十秒注意到這個小螢幕, 很大的機會會在輸入完密碼後告訴你連線逾時, 一切又得重新再來。


當信用卡密碼輸入正確, 而且連線驗證成功之後, 以下的動作幾乎是同時發生: 1) 上方信用卡退出來, 2) 下方出票口「亮燈」並且送出車票與簽帳單。問題就發生在第二個動作是有亮燈而且有聲音的, 很多使用者都會被下方的事件所吸引, 而忽略了上方無聲無息的事件。也因此, 不少使用者拿了票之後就直接走人搭車去, 忘記了那張信用卡, 尤其是你後面排了不少人的時候。這也就是為什麼常常聽到車站廣播有人遺失信用卡的原因了, 筆者本身就提醒過幾次前方的使用者拿信用卡, 包括外國旅客; 個人也有一次親身經歷, 而且是我常常用信用卡在自動售票機買票搭高鐵好幾年之後, 在某個週日早上剛睡醒不久, 疏於注意就忘記信用卡了。


對於這樣的使用者介面, 我建議的改進方式是這樣: 在信用卡插入口上方加一個 LED 燈號, 要夠醒目, 當第一次要插入卡片的時候閃個四五秒吸引使用者注意。另外當密碼驗證成功之後, 上方信用卡退出來要一直閃爍直到取走, 然後出票口才出票。這樣的缺點當然是要比原先的流程再多個幾秒鐘時間, 但是卻少掉很多信用卡掉卡的機會, 應該也會吸引更多信用卡用戶從售票窗口移到自動售票機購票吧。整體而言, 高鐵的自動售票機已經做得不錯, 若吃信用卡這點能夠改善, 大家(尤其是外國旅客)對台灣高鐵的印象會更好一點。畢竟如果你只搭那麼一次高鐵要去機場, 卻因為售票機流程設計不好, 把你的信用卡而不是你的心留在臺灣, 那就不是我們所樂見的囉。

附記:2012 年 12 月 31 日恰好臨時在台北車站用信用卡買了高鐵票(筆者後來都用 iPhone app 購票), 發現購票機已改成上述的流程, 筆者沒有投書高鐵, 想必是英雄所見略同!

--
My Emacs Files At GitHub

Saturday, November 24, 2007

撥接時代


大約 1993--1996 年間,也就是我大一到大四的時候,大概是 Internet 發展最蓬勃的時候,那個時候 Internet 從美國 DARPA 到學術界的發展非常迅速,這個時候 ADSL 技術還沒有被發展,Wifi 也只是高價奢侈品的時候,我們一離開校園的乙太網路,就只能使用一般的撥接數據機來連 Internet. 我在大一大二沒有住校,住在家裡,度過了許多只能倚靠數據機的日子。而乙太網路當時有 10Mbps, 但是撥接大約只有 14.4kbps, 等級差非常多,可以想見當時為甚麼 Internet 只能是學術界的玩意兒,一般普羅大眾其實比較流行的還是撥接的 BBS。在當時的撥接數據機公司中,有幾家佔有率比較高的,或比較高品質的,分別是 U.S. Robotics, ZyXEL, 以及 Hayes. 那個時候的 U.S. Robotics 是超級有名的,它有名的機種是 Courier 以及 Sportster, 我記得暱稱其中之一是小鋼琴,因為外型看起來很像小鋼琴,另一個就是小便當。那個時候 Courier 要價可是超過 USD$400 啊,上萬元的玩意兒,而其他的數據機大約都只有它的價格的一半以下。Courier 最有名的就是你拔掉電話線一陣子再插回去,竟然都還能夠連線,夠厲害了吧?ZyXEL 的數據機在當時也是頗有名,ZyXEL 甚至在標準只有 14400 bps 的時候,自己設計了自己的 protocol 可以達到 19200 bps, 這個價位在當時也是上萬元。我在後來 33.6kbps 的時代來臨時,我也買了一台中古的 ZyXEL 數據機,當時人家賣我中古價台幣三千元,算是半買半相送,我會買是因為當時交大的撥接系統全部都採用 ZyXEL 的局端設備,最高連線速率 19.2kbps 必須用 ZyXEL 自家的數據機才能達成,自此 ZyXEL 的 modem 也陪我走了幾年的時間,一直到我 2000 退伍,這台數據機才被我束諸高閣。

在這段歷史裡,我要特別附註一點,我後來進入職場的時候,也開始做 xDSL 的數據機,而且,我還遇到了當年寫 U.S. Robotics 的 Courier 以及 Sporster 的程式設計師,真是一個奇妙的經歷!

Saturday, November 17, 2007

那個曾經我如此相信的下一步


我要講的是一個作業系統的故事,這個作業系統就是我曾經信仰過的「下一步」,那個曾經是世界上最美麗的作業系統。技術我就不多著墨了,你們可以去看目前的 MacOSX 得知一些端倪,兩個其實蠻像,不過我也花了一段時間適應 MacOSX 那種漂亮且比較炫的外觀,NeXTSTEP 的美麗是那種簡潔的美,而且是以黑色調為主,一如 NeXT 公司所出的硬體一樣,都是以黑色為主,而且那些工作站的黑色漆,都是很特殊的消光黑的漆,啥?你說成本太高?嘿嘿,Steve Jobs 可不是求成本低的人,他甚至花了大錢打造了硬體生產線在 NeXT 的總部裡面,從他的辦公室出來就可以看到所有的流程,這是給他向訪客炫耀用的。

我與 NeXT 的第一步接觸,就是我大一的時候,我那個時候在交大電信,交大那時候有兩個 NeXTSTEP 推廣的主力都在交大電信,一個是 Tony Guo, 一個是 Mark Lin, Tony 擁有一台 NeXTstation color turbo, 配備一台 17” 螢幕,我知道 17” 螢幕在現在送人都很難送出去,但是在 14” 螢幕是普遍的配備的時候,17” 螢幕簡直是高價奢侈品,喔,容我再註記一下,NeXT 的工作站最低的螢幕配備就是 17”, 我想這是因為 NeXTSTEP 的顯示設計是 Display PostScript, 需要高解析度來展現 Display PostScript 的能力,1024x768 大概已經是最底線了。我大一的時候,去宿舍看這台聞名遐邇的 NeXTstation(因為比交大計中或交大資工的配備還好,唯一超過的是應用藝術研究所的 NeXTcube with dimension, NeXTcube 是一種正立方體的工作站,上面可以插好幾張卡,主機板是一張卡,dimension 也是一張卡,dimension 是一張有 video capture 能力的顯示卡),我看了,然後問了一下價格,當場我就跟學長講說,啊,我還是玩 Linux 好了。我也的確開始去玩 Linux, 玩了幾年的 Slackware. 一直到大三還是大四,開始用 SPARC 來玩 NeXTSTEP,我才一頭栽進 NeXTSTEP 的世界。NeXTSTEP 是愈用愈有效率的作業系統,很多 hot key 以及觀念在不同的應用程式之間是一致的,所以你不需要多花時間學習新的應用程式。NeXTSTEP 的 GUI 發展工具也真的是非常好用,NeXTSTEP(包含其後繼者 MacOSX)也是我唯一會寫的 GUI 程式。

提到這裡,忍不住順帶提一下我因為大一玩 Linux 之後,就開始進系上的電腦機房管理工作站,本來是只有一台 Sun SPARC 5, 以及一台 HP 用 Motorola 68k 當 CPU 的工作站,但是一進去 HP 就退役了,只能用爛爛的 Sun SPARC 來撐,後來雷達計畫退下來了三台 DEC Alpha 21164,不管怎麼找,這三台都只能裝 Digital Unix 或是 VMS,想當然,我選擇了 Digital Unix, 其中一台就被我拿來做 NeXTSTEP 軟體的 mirror site, 也就是當年的交大電信 ftp site (ftp.cm.nctu.edu.tw). 這是有 marketing 考量的,我們的配備太爛,撐不了太多人,比大,絕對比不上 NCTU CCCA,而 NCTU CCCA 當時組織已經太大,沒有多餘心思在 NeXTSTEP 的 mirror 上面,於是我就讓交大電信的 ftp site 開始 mirror NeXTSTEP 的兩個大站,一個是 Peanuts, 一個是 ??, 於是交大電信在 NeXTSTEP 的圈子裡小有名氣。這個例子讓我學到甚麼叫做 niche market. Niche market 就是小咖要找到出路的生存之道啦!

喔,我曾經以為我以後就要做 NeXTSTEP 的 programmer,那個時候在美國連 MCI 這個第二大的電信業者都開始採用 NeXTSTEP, 會 NeXTSTEP 的程式設計師薪水很高的,我還向我父親提預算買機器裝 NeXTSTEP, 我開的預算是 17 萬元,想當然是沒買成啦。後來 NeXT 被 Apple 在 1994--1995 併購,我的 NeXTSTEP programmer 也夢碎了,不過這件事讓我很深刻的體認到,技術不是唯一的衡量標準,市場行銷與技術同等重要,NeXT 當時的失敗,就是在於對自己的技術太過自信,而忽略了行銷的重要性。