軟件江湖快者勝:論運行速度的意義

本文旨在探索快速軟件的優勢,及其如何影響用戶對於工程質量以及整體可用性的感知。

我喜歡速度快的軟件,我指的是那種在功能與界面響應方面都很快的軟件。具體來講,在這類軟件中,用戶的激活或操縱行爲與實際生效之間的延遲很短。只有這樣,用起來才舒服。

軟件速度快,一般意味着開發人員投入了巨大的心力。當然,就像好工具往往比較簡單一樣,這樣的結論並不絕對。在我看來,軟件速度可能是軟件當中最有價值,但同時又最被低估的指標。作爲用戶,我認爲速度快的軟件能夠順利融入我們的生活,而那些速度表現差的應用程序則不然——只要有得選,我們就不想用它。速度快的軟件,就像是一本好書——我們會讀得津津有味,雖然很難說出具體理由。

我使用頻率最高、速度最快的軟件之一是nvALT。從這個奇怪的名字就能看出,這是一款非常乏味的功能性應用程序。事實上,這是一套純文本文件數據庫,其中用到純文本編輯器。但它真的很快,是我用過的速度最快的文本編目軟件。無論是打開還是顯示結果,整個過程似乎都能瞬間完成。我的nvALT數據庫當中包含過去十年來積累的無數工作筆記,就算數據量如此龐大,只要一打開,光標仍能立刻顯示在搜索字段當中,供我立刻操作。這也是一款對鍵盤設備非常友好的軟件:如果當前焦點不在搜索字段中,只需按下ESC即可快速切換。鍵入幾個字母,nvALT就能顯示帶有這些字母的全部筆記。單憑這一點,我就願意把自己生命當中有價值的一切文本都添加到nvALT當中。

nvALT能夠與Simplenote同步。這一點很方便,因爲nvALT只有macOS版本。在同步之後,我們就可以使用Simplenote的iOS應用在旅途當中繼續查看有價值的內容。當然,Simplenote也擁有自己的macOS版應用。很多朋友可能會問:那爲什麼不乾脆桌面、移動端統一起來?答案很簡單,因爲Simplenote的mac版本不夠快。雖然這裏說的只是毫秒級別的差別,但在感受上仍然有着顯著區別。這就像是售價1000美元的日本園藝剪,和150美元的普通園藝剪的區別。它們都能很好地完成任務,但如果您整天都要在花圃裏工作,那麼二者帶來的感受還是不可同日而語。

在寫作方面,我主要使用Ulysses。事實上,您讀到的這篇文章也是使用Ulysses寫出來的。Ulysses在組織大規模寫作內容時表現出色,這也是我愛用它的主要原因。(在跨多個文件處理大量文本時,組織能力就是一切。我喜歡Ulysses那種類似於普通文件夾,但又能夠跟蹤所需文件的排序方式。這一點與Scrivner不同,它只會把寫作項目變成一套巨大的專有數據庫。因此,我使用Ulysses的核心理由(90%)就是實現這種組織能力上的自由。另外5%來自簡單的編輯操作,還有5%來自設備間的同步功能。)但是,Ulysses會變慢,而且這種情況經常出現。如果我的文章超過了5000個單詞,然後回到開頭繼續添加內容,就會發現顯示速度跟不上我的輸入速度。Ulysses在檢測到每次鍵入時都會重新渲染整體文章,這讓我抓狂不已。雖然Ulysses出色的組織能力與便捷性有時會讓我選擇忽視速度上的問題,但這就像是機器內部因爲腐爛飄出的隱約異味,終究會給人帶來不快的感覺。更重要的是,速度變慢的問題開始影響到我對Ulysses的信心——信心就是這樣測試出來的。如果它速度不行,我就會懷疑其同步功能是否也存在問題,或者說它會不會導致數據丟失等等。(Ulysses在Twitter上迴應,“是的,macOS中的自適應背景顏色會導致軟件在處理較長文章時出現嚴重的性能下降。我們已經向蘋果方面提交了一份錯誤報告,希望他們在未來的系統更新中進行修復。目前的解決方法是:使用開燈模式、D14之外的主題或者對工作表進行拆分。” )

速度與可靠性通常直接相關,因爲速度能夠很好地體現出整體工程質量。如果一款應用程序在處理簡單任務時出現拖慢,那可能意味着工程師不是關注細節的強迫症患者。雖然這只是一種初步判斷,但確實意味着軟件中可能存在其它災難性的問題。我希望人們能夠堅守工匠精神。當然,並不是說Ulysses的工程質量很差,但無法達到預期的輸入處理與界面速度,令我逐漸喪失了對它的信心。反過來,更快的速度也能引導用戶建立起信心。

再來看另一個角度的例子,根據我的實際體驗,Sublime Text就永遠不會減速。我可以直接在上面扔一個擁有5萬行的文件,完全沒有問題。有些朋友可能又要問,爲什麼不乾脆用Subime Text寫作(有時候我自己也會考慮)?答案是:在完整的構圖方面,它還不夠好。Sublime的排版、拼寫檢查、文件組織(沒有關鍵字、無法組織排序等)並不是沒有,只是做得不夠精緻。Sublime Text主要針對代碼內容進行優化,而非自然語言。相反,Ulysses則更關注語言詞彙。這種差異很微妙,但卻意義深遠。換言之,根據我的經驗,Sublime Text在發展中只會不斷提升速度表現。我喜歡這樣的軟件:隨着時間推移變得越來越好,這也應該成爲所有軟件的共同目標。歷史越悠久,設計越精巧,如同河水衝擊過的鵝卵石一樣。我完全信任Subime Text工具,而且擁有超過十年的使用經歷。它對我來說是一款不斷變好、速度很快,而且專注於特定功能的工具(這裏只說主觀感受,實際上Sublime已經非常複雜且泛用)。

Adobe Lightroom就不是這種快速、專用型工具,Photoshop當然也不是。但在過去的特定歷史時期內,它們是這種工具,我也因此而選擇了它們。上世紀九十年代那會兒,Photoshop的運行速度非常快——真的,我可以肯定這不是我對那段歲月的美好記憶,而是代碼內容呈現出的絕對事實。同樣的,我在2007年左右開始接觸Lightroom時,它的速度要比蘋果Aperture快得多。但多年過去,蘋果Aperture早已不見蹤影,Lightroom也變得不再敏捷平順。如今,Lightromm在我腦海中的印象就像一個粗糙的斑點,上面佈滿暗淡且和緩的紋理。爲什麼不能做得更快?這可能是個永遠解不開的謎團,但我個人懷疑原因是:1)功能膨脹;2)核心工程在功能膨脹的情況下變得無法充分優化。Adobe公司是不是自己也意識到了問題,所以才發佈了Lightroom CC?有這個可能。有時候,開發新程序反而比修復舊程序還容易些。

Photoshop現在已經變得臃腫不堪。當初,我們只需要幾秒鐘就能在Photoshop當中打開新文件對話框,創建新的空白文件同樣只需要幾秒。但到了2019年,如果大家按下CMD-OPT-SHIFT-W來導出圖像,單是加載出操作屏幕就需要3到5秒。(如果不小心按成了cmd-opt-w,還會直接關閉所有窗口。)每一次版本更新,只會讓速度越來越慢。正因如此,我才願意付費使用Affinity Photo,就是爲了速度。我仍然在使用付費Creative Cloud許可(主要是使用Lightroom和InDesign),但我樂意爲Affinity付錢,因爲它真的很快,能迅速導出在網上使用的文件。它的速度,讓我每次打開Photoshop時都會嘆氣,是真的嘆氣。

有些朋友可能會說,像Sketch這樣的設計應用就因爲速度快而越來越受歡迎。沒錯,Sketch在發佈之初確實更快、更簡單,用戶體驗設計也要比Adobe提供的產品更集中。雖然Sketch的可靠性有點問題,但我們甚至情願忽略這一點,因爲速度快的軟件用着舒服有趣。從這個角度來看,速度其實是一種巨大的商業資產。對於這類我們每天需要大量使用的軟件而言,即使是3%的體驗提升都是種可觀的進步。

除了Sketch與Illustrator之外,Figma也是一款類似的設計工具。雖然基於瀏覽器,但Figma的速度非常快,快到我使用的時候經常不由自主地笑出聲來。它給人的感覺,就是現代計算機應該有的運行效果,這正是人們最想得到的。我瞭解FIgma背後的工程與設計團隊,我也知道這款產品很受歡迎。它給人一種原始而純粹的感覺,速度不僅僅是速度,速度也代表着直觀。以鋼筆工具爲例,Figma中的工具就比Illustrator中的同類工具更合理,因爲前者的起始位置就是要舒服一些。從這種意義上講,“速度”不僅表現在每一個計算機工作週期當中,同時也表現在每一個用戶工作週期當中。

谷歌地圖就因爲緩慢的運行速度而逐漸失去了人們的支持。谷歌方面在谷歌地圖上添加了動畫效果,雖然單獨來看是一個不錯的主意,但卻嚴重拖慢了整體速度。谷歌地圖曾經也是一款快速的專注型工具,但它現在變得很遲鈍。一旦按錯了按鈕,接下來用戶就會遭受折磨。太過複雜、太多不必要的分層,也許谷歌想做的太多?可能吧,總之要退出某些模式(例如指向模式),用戶必須點擊四到五個區域並忍受大量速度緩慢的動畫效果。

我們之所以還在忍受,是因爲谷歌地圖是一座關於我們周遭世界的巨大寶庫,是一個真正的信息奇蹟,也是應用層面的偉大產物。然而,越來越多的信息被埋藏在多種UI變體(例如:如果您點擊了東京的某個位置,那麼指示該位置的按鈕會首先出現在屏幕的右上角——但最終指示位置永遠不可能在這裏。)以及一套似乎每週都在更新的界面之後。我的直覺告訴我,這更像是一種管理問題而非工程問題,可能是谷歌在管理上出了什麼偏差。

谷歌地圖慢到這個地步,以至於我做了連一個自己都不敢相信的決定——我在iPhone上重新安裝了蘋果地圖。相比之下,目前的蘋果地圖仍然速度快、響應及時。雖然數據無法與谷歌地圖相提並論,但這已經能充分說明速度在用戶體驗中的重要意義。我重新安裝了一個自己主動刪除的應用,就是爲了享受蘋果地圖帶來的速度快感。

至於軟件速度方面的絕對下限,讓我們用熱烈的掌聲請出——iTunes。耶,如此緩慢、如此笨拙、如此沉重,以至於連蘋果自己都決定把它扔進歷史的垃圾桶,轉而推出一系列獨立應用程序。給你點贊,這絕對是最好的解決辦法。

但也必須承認,蘋果公司開發出不少優秀的軟件。Keynote可能是macOS上最好的軟件之一,它也是以簡單界面成就偉大產品的重要典範。可能上一代版本存在一些簡單的問題,但迭代之後,用戶能夠明顯感覺到新版本在模式、功能與簡單性之間找到了更好的平衡點——快速且直觀。至於我最喜歡的替代工具?Instant Alpha,用着就是個舒心。能夠搞定90%的預期用例,屬於那種沒有任何使用負擔的產品。我們不會主動想到它,甚至不會意識到它的存在,但在需要時它總能解決問題。不過一般來說,Keynote很快,使用感受也很好。

但爲什麼速度慢有這麼大的罪過?答案很簡單:速度快的軟件並不一定就是好軟件,但速度慢的軟件幾乎一定不是好軟件。快速軟件使用戶有可能與工具集“合爲一體”,或者說不破壞順暢的操作流程。程序員們之所以會爲了Vi和Emacs誰更好而打得頭破血流,正是因爲他們非常重視這種流暢性與整體性。他們投入了,工具改進了,他們滿意了。不破壞流暢性,是成就偉大工具的必要前提。

打字機就是一種優秀的工具,因爲儘管它的速度相對緩慢,但機器本身卻能夠隨用戶的心意而快速運行。它的功能非常專一,換行和顯示沒有絲毫延遲。是的,我們需要在打完一頁之後手動將新紙放進機器,但這種操作並不是延遲,而是機器設計的一部分。另外,紙張的累積也成爲一種可視化的工作進度指標,而不是單純在浪費時間。機器使用本身沒有機械性延遲,因此最好的軟件也應該帶來接近打字機的物理直接性。(打字機有可能損失,也需要定期更換色帶——但這是維護問題,與工具本身無關。如果能讓速度快一點,我非常非常願意定期“維護”一下Photoshop。)

速度也體現在軟件的語言——或者說界面中的文字詞彙當中。最近幾年,macOS系統中的文件關閉對話框已經把原本的“不保存、取消、保存”更換爲“刪除、取消、保存”。雖然只是個人看法,但我覺得後一種表述其實並不準確,甚至有點怪怪的。“刪除”代表着消除已經保存過的內容。那我到底保存過沒有?我是保存過但自己忘記了嗎?或者說內容已經自動保存過了?不管怎樣,在嘗試關閉一個未保存的文件時,我總會看到這個對話框。它減慢了我的處理速度,按下刪除鍵總會給人一種很簡單粗暴的感覺。在看到刪除之後,我會想着“最好是別刪除吧?”我討厭這種讓人糾結的感覺。所以,“不保存”最好,準確直觀。

我在自己的iPad上使用iPadOS 13 beta測試版。它提供新的界面組件,速度很快而且使用感受很好。絲滑,我覺得這樣的形容非常貼切。只需從右屏滑動,應用程序就會浮動出現。浮動應用相當於大型應用的一個迷你版本,能夠在滑動之後快速顯示。這種感覺相當令人滿意。輕輕移動手指,手指下面就出現一個小小的應用提示。而在向後滑動後,它又立刻消失了,不需要“重繪”屏幕。另外,小應用的底部還有一個操作欄,可以任意滑動查看所有已打開應用。效果本身不僅速度很快,而且環狀顯示的動畫也很漂亮,提示用戶之前訪問過的應用以及當前所處的應用。這樣的動畫有着很強的目的性,暗示使用場景的上下文信息,而且很有觸覺效果。在我看來,最好的“觸控界面”當然是物理按鈕,因爲它能給人帶來真實的反饋。但在屏幕上,最好的觸覺就是以無延遲的方式完成操作。

從速度和用戶體驗的角度來看,我認爲這種滑動側拉設計在iPad上要遠遠優於分屏。分屏速度很慢,我們需要點擊、掃住、拖動,並等待屏幕重繪以將各應用程序擺放在新的位置。分屏模式感覺就像是系統的代碼不小心暴露出來了一樣。相比之下,滑動側拉則像是iPad使用環境的自由延伸。它可以快速、可靠地發揮作用,且帶來與預期相符的效果。這代表着代碼與設備實現了自然同步,且速度與玻璃屏幕背後的硬件配置吻合。分屏方法也不是不行,但可能需要重寫基礎代碼。在理想情況下,分屏也可以像滑動側拉一樣順暢而快速。還是那句話,應該用1000美元一把的園藝剪修理花圃,不單能起效,還能做得爽。

這樣的例子還有很多,但在這裏我們再說最後一個——Things。在iPad與iPhone上,Things可以說是觸感最好且速度最快的應用之一,其中的每一段動畫都有明確目的。更重要的是,它非常有趣。這是一款好玩的應用。我們可以把東西放進去,然後重新排列。沒錯,Things已經有年頭了,它存在了十多年。十年前我喜歡打開它,現在我也仍然喜歡。(我體驗過的,唯一能夠在觸感與設計工藝上與之抗衡的,就是Facebook的Paper,它擁有一種奇特但令人愉快的設計效果。這款軟件來自由非凡設計大師Mike Matas牽頭的開發團隊。)

從直覺角度講,軟件(除核心功能之外)應該以速度爲目標。速度就是效率的體現。如果一款軟件變得沉重、笨拙,則可能意味着開發商應該把它拆分成多款軟件。最終結論——速度快,就是輕鬆愉悅。這種輕鬆,在於減輕用戶或者特定任務的負擔。軟件開發的終極目標正在於:幫助我們口袋裏的“超級計算機”減輕負擔,而非增加負擔。筆記本也是一樣,軟件應該爲它實現一種流暢的創作體驗,而不是在電池或性能方面壓榨不休。

最後我得承認,寫一篇關於快速軟件的文章很容易,開發快速軟件則非常困難。因此對於每一款快速軟件,我們都應抱有感激之心。

原文鏈接:
Fast Software, the Best Software

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章