來聊聊一致性 (Consistency)
一致性 (Consistency) 的重要性我想許多設計師都了解,甚至有許多設計團隊會將一致性作為產品設計的原則 (Design Principle)。然而一致性為什麼重要?它在我們進行產品決策時扮演怎麼樣的角色?具有多大的份量?我覺得這些問題值得好好思考,讓我們聊聊這個讓人又愛又恨的「一致性」。
什麼是一致性?Jakob Nielsen 是這麼說的
“Consistency is one of the most powerful usability principles: when things always behave the same, users don’t have to worry about what will happen.”
當我們在談論產品設計的一致性時,想傳達的概念是透過一致的介面設計與互動設計來降低用戶的學習成本與認知負擔。如果你的產品具有良好的一致性,那麼用戶在使用過你的產品之後便能夠輕易地舉一反三,根據他過去的使用經驗來推斷介面上有哪些元素是靜態的,又有哪些可以進行互動。透過點擊、滑動或者長按會產生怎麼樣的效果。這也是為什麼我們經常把一致性視為衡量一個產品的 Usability 好或者不好的一個關鍵指標。這樣的概念不僅合理也容易理解,但是當我們實際在面對產品的設計決策時,經常會遇到既有的設計元素沒辦法很好的復用到新的功能,或者內容當中。可能有 80% 的設計元素能夠被合理的重複使用,滿足一致性的原則;但往往剩下的 20% 是令設計師們作繭自縛的難題。
不一致是怎麼發生的
為什麼說作繭自縛呢?因為一致性之所以成立的前提是必須要有能夠與之達成一致的設計元素存在,而這些交互或介面設計的規範其實也都是設計師們自己創造出來的,一但發現自己在前期所定義的設計規範沒辦法適用於特定場景時,就會產生這種自相矛盾的情況。而在實際工作環境中這樣進退兩難的取捨其實經常發生,主要有以下幾種原因。
- 前期在定義設計規範時考慮的不夠周全:這一點比較容易發生在 Junior Designer 身上,因為經驗的不足而導致在盤點產品整體的資訊架構與內容時有所缺失,在專案前期沒有跟產品經理 align 好具體需要提供哪些內容與功能,且在未來有哪些已經規劃好的產品藍圖。當你手中握有的資訊量越豐富,你才越能夠把控設計規範應該涵蓋到多大的範圍。
- 設計規範的定義過於複雜或顆粒度太小:專注於細節的處理對設計師而言是一件好事,但過於鑽牛角尖的話就會變得本末倒置。設計規範的價值對於設計師而言應該是一組能夠加速設計產出以及質量的資料庫。倘若設計規範中所定義的組件過於複雜或者應用的條件過於嚴苛,我們就很難輕易的 plug & play,使用上效率也會降低。
- 因為功能的疊加而逐步上升的產品複雜度:我們都知道,數位產品並沒有真正「完成」的一天,因為其本身的特性我們可以根據市場趨勢、用戶反饋、技術演進,不斷地對產品進行迭代。添加功能往往是簡單的,但刪減功能卻十分困難,隨著 product roadmap 逐漸拉長,一些我們在前期可能連想都沒想過的功能會開始出現,意想不到的設計衝突也會慢慢增加,這種情況是我們比較沒有辦法避免的。這也是為什麼產品團隊通常每隔幾年就會對既有的產品進行一次大改版,Redesign 其中一個目的就是為了解決因為積年累月的功能疊加而過於複雜的產品架構,以及設計語言不一致的問題。
如何處理不一致的情況
假如我們在設計時發生了新功能無法套用既有的設計規範而產生不一致的情況,我們應該用什麼樣的心態與方法來處理呢?首先仔細回憶一下,我們之所以要追求一致性的原因是什麼呢?是為了透過一致的介面設計與互動設計來降低用戶的學習成本與認知負擔,在這個前提下去思考,為了因應新功能本身的使用流程所創造的新的設計對用戶來說學習成本高嗎?用戶是否能夠從既有的使用經驗中舉一反三?
接著設計師必須反問自己,為什麼既有的設計規範沒辦法適用於新功能?是哪一個關鍵要素使得我們必須創造出新的設計?新的設計比起既有的設計規範能夠對用戶體驗帶來多大的提升?
這幾個問題想釐清的其實就是採用新設計背後所隱含的機會成本,假如新功能的學習成本遠低於用戶體驗的提升,那麼我認為犧牲一點一致性來換取更好的用戶體驗亦無不可;但倘若用戶的學習成本遠高於體驗的提升,那麼採用既有設計規範的策略或許更具有說服力。
然而事情永遠不是我們所想的這麼簡單,我們所糾結的往往是那些不確定學習成本與體驗的優化,兩者之間孰輕孰重的情況。在這個時候各種辯論和爭吵是沒有辦法解決問題的,倒不如採用 Usability Testing 或 A/B Testing 讓用戶為自己發聲,告訴我們那一個設計方案更能滿足他們的需求。
設計師的手中其實握有許多不同的工具,但經常會因為工作流程缺乏彈性、心態無法適時轉變等原因而忽略了這些工具的使用方法以及適合的場景。Design System 本身是一種工具,它應該為我們所用而不是成為我們在發想設計時的限制。Design System 也應該像我們所創造的數位產品一般,不斷地因應用戶需求、市場變化而迭代,新功能的加入也必須能夠反饋回既有的 Design System,如此一來它才有機會隨著設計師的使用而越來越完整、越來越好用。倘若你今天花費了許多時間和人力,好不容易打造出一套 Design System,但只是將其奉為圭臬而不加以優化、迭代。那麼這套 Design System 並不是一個「活」的系統,只是設計團隊的一座神主牌,神聖而不可侵犯。但,是死的。
最後
我想說的是,許多設計師似乎把一致性這個原則視為真理。但我覺得更多時候一致性往往只是個假議題。缺乏一致性使用者真的就不會用你的產品了嗎?淘寶跟支付寶的一致性我還真不敢恭維,但這並不妨礙它們作為全中國最大、最多人使用的電商以及行動支付應用。在實際產品開發流程中我們之所以追求一致性,往往是為了讓開發團隊降低代碼的複雜度,盡可能復用既有的 Components,減少出錯的機率並降低維護成本,一致性最大的受益人說不定還是工程師呢。
但我也不是在倡導一致性無用論,相比十年前智慧型手機才正要崛起,許多人都是第一次接觸到多點觸控螢幕以及行動應用程式,一致性確實是讓使用者快速構建認知模型,幫助他們學習新工具的一條好的設計原則,就像當初的擬物化設計一般。但如今已經 2020 年,一個 Apple 也開始打價格戰的時代,近幾年行動應用的交互設計也沒有特別令人眼睛為之一亮的創意,與其因為大家都這麼設計所以為了追求一致性我們也應該這麼做,否則用戶會不知道怎麼操作。不如好好反思,作為設計師我們還能夠透過怎麼樣的創意和設計手法為用戶帶來截然不同的使用體驗。