策略書之四:腫脹軟體(bloatware)與 80/20 神話 Strategy Letter IV: Bloatware and the 80/20 Myth

作者:周思博 (Joel Spolsky)
譯:Paul May 梅普華
Friday, March 23, 2001
屬於 Joel on Software, https://www.joelonsoftware.com/2001/03/23/strategy-letter-iv-bloatware-and-the-8020-myth/

微軟的旗艦試算表軟體 Excel 的 5.0 版在 1993 年問世。這套軟體很巨大,需要整整15 MB的硬碟空間。當時我們還保有自己的第一台 20 MB的 PC 硬碟(大概是 1985 年),所以 15 MB 當然感覺很大。

當 Excel 2000 上市時,它需要恐怖的 146 MB...,幾乎增加了十倍!那些該死的微軟程式師真混,對吧?

Main_Beach_Lifeguards.jpg

錯。

我敢打賭你認為我要寫一篇網路上到處都是的那種哀嘆「腫脹軟體」的文章,會抱怨這些軟體實在太肥了,我覺得好難過。edlin 和 vi 都很苗條,所以它們比 Word 和 Emacs 好太多了等等。

哈哈哈!我騙到你了!我並不是要寫那種文章,因為那種文章寫的並不是事實。

就 1993 年的硬碟價格來看,微軟 Excel 5.0 佔了約 36 美元的硬碟空間。

而就 2000 年的硬碟價格來看,微軟 Excel 2000 只佔用了約 1.03 美元的硬碟空間。

(這些數字的依據這裡的硬碟價格資料,並依據通貨膨脹調整過。)

說真的,看起來 Excel 其實還變小了!

腫脹軟體究竟是什麼?Jargon File 諷刺地把這個字定義為「提供最小功能的軟體,卻需要大到不成比例的磁碟空間及記憶體。特別用於應用程式及作業系統系統升級。這在 Windows/NT 界很常見,也因此才產生這個詞。」

我猜這些傢伙只不過是痛恨 Windows 罷了。自從 Windows 386(1989) 出現虛擬記憶體開始,我已經十年以上沒有用盡記憶體了。另外硬碟空間已經掉到每 MB 只要 0.0071 美元,而且還像由樹上跳下來想學飛的羊一樣直線下降中。

或許 Linus Åkerlund 可以解釋這件事。他在自己的網站上寫道:「使用這些腫脹程式的最大缺點,就是即使只想完成很微細的事情,還是得載入這個很大的程式。它會吃光你所有的記憶體。你並未有效率地使用你的系統。而且整個系統感覺起來比實際上要慢,而這其實是完全不必要的。」

哦,它會吃光你所有的記憶體。我瞭解了。呃,事實上是不會的。遠自1997年的Windows 1.0開始,作業系統就只會在用到記憶體頁時才會載入。如果有個 15 MB 的執行檔而你只用到佔了 2 MB 記憶體頁的程式,就只會由磁碟讀 2 MB 到 RAM。事實上如果你有更新版的 Windows,作業系統還會自動把這些記憶體頁在硬碟上重新整理成連續排列,這樣下次執行時會更快。

我也不認為任何人能夠否認,對現今能力過剩且價格超低的電腦來說,載入大程式的速度還是比五年前的系統載入小程式更快。究竟還有什麼問題呢?

RA Downes 提供了一個線索。他似乎花了好幾個小時拆解一個微軟小工具,顯然因為這個工具需要 1 MB(在他寫那篇文章時約當3.15美分的硬碟空間)而生氣,他認為那個程式應該可以小到原本的 5%。好笑的地方在於他拆解的程式叫做 RegClean。這個你或許從未聽過的程式會搜遍整個 Windows 登錄資料庫,找出並刪除掉沒有用的東西。一定是有些妄想強迫傾向,才會在意要清除登錄資料庫裡無用的東西。因此我開始懷疑對腫脹軟體的不滿比較接近精神健康問題而非軟體問題。

事實上腫脹軟體的存在有很多好理由。首先如果程式師不用考慮程式的大小,就可以更早完成。而這表示你可以得到更多功能,使用這些功能會讓你的生活過得更好,就算不用也沒有什麼傷害。如果你的軟體廠商在出貨前停下來,花兩個月把程式縮小到一半大小,你所得到的淨利益是微乎其微的。或許(只是或許)你的硬碟通常都是滿的,而又有一首 MP3 想下載。不過新版軟體多等兩個月的損失看得到的,而軟體公司放棄兩個月銷量的損失更是可怕。

很多軟體開發者都被古老的「80/20」定律瞞騙了。這個定律似乎很合理:80% 的人只會用 20%的功能。所以你說服自己,只需要實作20%的功能,還是能賣出80%的數量。

很不幸的是那 20% 是會變的。每個人都會用不同的功能集。過去十年間我可能已經聽過數十家公司決定不管其他公司的經驗,嘗試發行只實作 20% 功能的「精簡版」文書處理器。這種故事從 PC 問世起就有了。通常這些公司會拿程式給某個記者評論,記者就會用這個新文書處理器來寫評論文章,記者都需要知道精確的字數,找「字數」功能時卻找不到,因為這是屬於沒人在用的 80% 功能。於是記者最後就寫了一篇報導,試圖聲稱精簡版是好的,軟體太肥是不好的,而這爛東西不能算字數所以我沒法子用。如果這種事發生一次我就能拿到一塊錢,我會非常快樂的。

在開始行銷你的「精簡」產品時,你會告訴大家:「嘿,這東西很小,只佔 1MB。」大家通常都會很高興,然後就會問你有沒有他們要的重要功能,如果沒有的話還是不會買你的產品。

結論:如果你的策略是「80/20」,是很難賣出軟體的。這就是現實。這個策略和軟體業本身的一樣老,不過就是不能奏效;真奇怪為什麼有這麼多快完蛋公司的執行長認為會行得通。

Jamie Zawinski 討論改變世界的最初版 Netscape 時說得最貼切:「雖然這若是事實的話會很省事,不過 Mozilla [Netscape 1.0]並不是因為有一堆無用廢物才變大的。Mozilla 是因為你的需要很多才會大,而你的需要多是因為 Internet 很大。外頭有很多瘦小的 web 瀏覽器,順帶一提的是他們幾乎都沒什麼用。我們寫 Mozilla 的目標可不是想做一顆完美無暇的閃亮珠寶。。」

這些網頁的內容為表達個人意見。
All contents Copyright © 1999-2006 by Joel Spolsky. All Rights Reserved.