[大衛選讀] 設計師會不會想太複雜了,有必要在系統上做到這樣複雜的判斷跟處理嗎?在產品規劃時,這是很常出現的來回思辨跟角力。
我的經驗是:表面上看起來簡單,其實裡頭通常並不簡單。一開始想簡單了,最後很可能用起來就會複雜到爆炸。
複雜與否,這當中的權衡一直是很有趣的議題。Tesler’s law 複雜性守恆定律,正是這樣的洞見,有助於我們理解整體的複雜性,並且更好地思考該如何應對。
這個定律簡單講,就是根本的複雜性是不可能消滅的。要麼這個複雜性在規劃階段由設計跟開發來承擔,要麼就是丟給使用者來自己面對。
但仔細去思考,就會發現人性偏好在未知懵懂的狀況下,去選擇複雜的解法以求得安心;過度的簡單,可能會造成體驗的反效果;以及如何利用建立概念模型、漸進式揭示等設計技巧,去有效承載消化不必要的複雜性。
本文選讀彙整了多篇文章。內容整理如下,原文連結則放在留言中。
在應用程式或流程中,誰應該承擔起這樣的複雜性?是使用者,還是設計師和開發人員?這是在做介面設計,以及更廣泛地考慮人類如何與技術互動時,必須面對的一個基本問題。
體驗設計師的其中一個關鍵目標是,為人們降低複雜性,讓產品和服務能夠變得更簡單易用。
但是每個流程都有一些固有的複雜性。不可避免地,當複雜性無法進一步降低時,只能將它其從一個地方,轉移到另一個地方。在這個時候,複雜性要麼進入使用者界面中,要麼進入設計師和開發人員的工作流程中。
▎The origins of Tesler’s law
複雜性守恆定律 (Tesler’s Law, Law of conservation of complexity) 的起源可以追溯到 1980 年代中期,當時全錄 PARC 的計算機科學家 Larry Tesler 正在協助開發全新的互動設計語言。這是一套定義互動系統結構的原則與標準,對桌上型電腦和排版技術的發展至關重要。後來又到了蘋果電腦,協助開發 Mac 物件導向的軟體框架。
Tesler 意識到,介面的一致性不僅會讓使用者受益,也能夠讓開發人員受益,因為共通的標準可以內建在共享的軟體庫中。很快速有效地導入,並且發揮綜效。
Tesler 將複雜性守恆定律,定義為一種向公司管理層以及獨立軟體供應商,推銷這個想法的說服方法,希望能在大眾市場軟體中建立標準,以減少終端客戶面臨的複雜性。
Tesler 認為:「工程師應該多花一週時間,來試圖降低使用端的複雜性,而不是讓數百萬的用戶因為這不必要的複雜性,而每天得多花一分鐘。這樣做是讓工程師輕鬆了,但是反過來懲罰了使用者。」
▎Complexity bias leads to more complex solutions 人們天生偏好看起來複雜精細的解法,結果往往導致更複雜的解決方案
人類有相當多的認知偏差,它是一種心理捷徑,讓我們能夠快速做出決定而不需徹底分析情況,進而提高了我們的效率。
複雜性偏差 (complexity bias) 則是我們傾向選擇那些複雜和精細的解決方案,而非直接簡單的解決方案。這通常是因為複雜性會讓人聯想到:智慧、專業知識,或是有著深度的理解。
簡單來說,我們經常過分讚許那些聽起來複雜的概念,或者當我們感到困惑或沒有花時間真正理解時,會將原本很容易理解的事物,視為是相對複雜和困難。
當我們選擇更複雜的解決方案時,我們就逃避了真正理解關鍵問題的必要性。但結果往往是,解決方案中的複雜性和假設越多,失敗的可能性就越大。
閱讀全文 Tesler’s law, 複雜性守恆定律