快速軟體,最好的軟體:為什麼速度是工程品質的指標

快速軟體,最好的軟體:為什麼速度是工程品質的指標

速度作為工程品質的指標

軟體速度是產品開發中最有價值卻也最不被重視的資產之一。當軟體運行快速時——也就是說,使用者的意圖與應用程式的反應之間幾乎沒有延遲——它能順暢地融入使用者的生活,而不是成為障礙。速度通常可以作為整體工程品質的指標;當一個應用程式在執行簡單任務時變慢,這暗示了對細節缺乏關注,可能預示著更深層、看不見的架構腐敗。

速度與信任之間的關係

簡單操作中的效能問題會侵蝕使用者對工具可靠性的信任。例如,如果一個文字編輯器在渲染 5,000 字的文件時感到吃力,使用者可能會開始質疑該應用程式同步功能的完整性,或其防止資料遺失的能力。相反地,像 Sublime Text 這樣無論輸入規模如何都能保持快速的軟體——即使在處理 50,000 行的文件時仍能維持效能——能建立使用者對其工程基礎的長期信心。

「融合」與使用者流程

優秀的工具以其維持使用者「心流」(flow)的能力而定義——即深陷於任務中的沉浸狀態。快速的軟體讓使用者能與工具集「融合」(meld),減少操作介面的認知負荷。這被比作實體打字機的直接性,每一次機械動作都隨著使用者的動作同步發生。當軟體引入延遲時,它會打破這種心流,將創意過程轉變為與工具之間的掙扎。

軟體效能案例研究

高效能工具

  • nvALT: 一個純文字資料庫,能立即開啟並提供即時搜尋結果,充當高效的「離線大腦」。
  • Figma: 儘管是基於瀏覽器的,但 Figma 以其極高的速度與直覺性著稱,作者將其歸功於「貼近底層的工藝品質」。
  • Things: 一個 iOS app,因其觸感與有目的性的動畫而受到讚譽,讓介面感覺快速且使用起來很有趣。
  • Keynote: 一個 macOS 應用程式,在功能強大與簡單、反應靈敏的介面之間取得了平衡。

效能退化與「臃腫」

  • Adobe Photoshop and Lightroom: 曾經快速且靈動,但隨著時間推移,這些工具已變得「笨重且臃腫」。作者指出,在 Photoshop 中開啟一個新檔案對話框可能需要好幾秒鐘,這導致使用者遷移到像 Affinity Photo 這樣更快速的替代方案。
  • Google Maps: 從一個專注的工具轉變為一個充滿緩慢動畫與多種 UI 變體的複雜應用程式,導致了可用性的下降,促使部分使用者為了其反應靈敏度而回歸使用 Apple Maps。
  • iTunes: 被稱為「軟體笨重化的極點」,它最終分解為獨立的應用程式,是為了應對自身臃腫的必要反應。

超越執行週期的速度

速度不限於 CPU 週期;它也體現為「每個使用者週期的工作量」。這包括工具設計的合理性與語言的清晰度。

  • 介面合理性: 一個邏輯運作的工具(例如 Figma 的 pen tool)能減少使用者達成目標所需的時間。
  • 語言速度: UI 對話框中含糊不清或違反直覺的語言(例如在 macOS 未儲存檔案的對話框中將「不要儲存」改為「刪除」)會導致使用者重新思考自己的動作,有效地降低了速度。
  • 觸感反應度: 在觸控介面中,速度是以觸感來體驗的。iPadOS 的「Slide Over」功能被強調為優於分屏使用,因為它能與使用者的手指同步移動,而不會有重新繪製螢幕的感知延遲。

結論:輕量化的目標

最終,軟體的目標應該是隨著時間推移變得更加優雅且「去臃腫化」。快速就是輕量,而輕量就是減輕使用者的負擔。當軟體在設計時致力於工藝品質與速度時,它能實現創作的流暢性,而非與介面的掙扎。

Sources