拆解「開關」背后的設計細節
作者從生活中的實際情況出發,探討了開關背后的設計思想并拆解了具體的設計細節。
01 生活中的反面案例
故事要半年前開始講起:那個時候我搬到了新的出租屋,房間里配置的洗衣機比之前的大了一倍,而且操作區上分布著的密密麻麻的文字和按鈕讓洗衣機看起來很高級,我對此很有好感。
然而這種好感并沒有持續多久,在我第一次使用它時:將衣物放進洗衣機——選擇好時間和洗滌方式——按下啟動按鈕(如下圖右側白色按鈕)。
按下后洗衣機發出了“滴”的一聲,在我的認知里它應該是開始工作了,但是10秒過后沒有任何抽水聲和洗衣服的聲音……
我疑惑地想:“是不是剛才并沒有成功啟動?”于是再次按下了啟動按鈕,又是“滴”的一聲,但是這次我等了 1 分鐘沒有任何反應。之后的十分鐘里,我與這臺匪夷所思的機器“交涉”多次才理解了它的運行方式。
這臺洗衣機啟動后需要等待大概十幾秒才開始運行,但是在我按下啟動按鈕后我得不到任何反饋或者提示來告訴我洗衣機已經開始工作了,所以疑惑的我又按下了一次啟動按鈕,然而令人崩潰的是這臺洗衣機的啟動和暫停按鈕是一體的,我第二次按下實際是進行了暫停操作,從而導致我第二次的困惑。
如果你是這臺洗衣機的設計師,你會怎么解決上述的問題呢?
可能你的心中已經有了答案,但是在回答之前我們先試著探究問題的本質。
人們不管是使用日常物品還是與機器進行交互,都會面對兩個階段的問題。一個是「執行」,一個是「評估」。
執行時用戶需要理解如何操作,操作后可能會有什么結果。評估時用戶需要知道具體發生了什么,作為設計師我們要通過合理的手段幫助用戶解決這些問題,保證交互的可用性和流暢性。
通常我們會使用「意符」在用戶執行前告知用戶如何理解、如何操作、操作后會有什么結果;在評估前通過「反饋」告知用戶結果是什么。
對于意符的定義,在《設計心理學 1-日常的設計》一書中,作者唐納德·諾曼做出了這樣的解釋:
人們需要某種方式了解他們將要使用的產品或服務,某些標識表明的用途,會發生什么,有什么樣的替代方案。人們尋找蛛絲馬跡,尋找任何可以幫助他們應對和理解的符號,任何可能標識出有意義的信息的符號非常重要。
設計師需要提供這些線索,人們所需要的和設計師必須提供的,就是意符。除此之外,優良的設計要求對產品的目的、結構和設備的操作與使用者進行良好的交代。那就是意符的作用。
簡而言之,意符就是在用戶使用前,機器為了讓用戶更好地理解和使用它而做出的提示。而反饋就更好理解了,機器在我們操作后做出的反應就是反饋,沒有反應同樣也是一種反饋。
下圖展示了機器與用戶如何進行交互:一個合理的設計可以讓用戶快速順暢地進行 1234 四個步驟進而完成任務,而糟糕的設計會讓用戶不斷重復這個流程。
之所以會出現糟糕的設計,就是因為在步驟 1 和 3 沒有進行合理的意符提示和反饋提示讓用戶摸不著頭腦,進而導致用戶根據自己的猜測和過往經驗來進行操作,最后得到非預期的結果。
回到文章開始時的洗衣機開關問題,因為開始和暫停按鈕是一體的,在沒有任何意符和反饋的情況下我按下這個按鈕時我并不知道我啟動的是開始操作還是暫停操作。
我們可以就這個問題列出以下解決方案:
- 增加文字提示,如啟動時在顯示屏上顯示“已啟動”,暫停時顯示“已暫停”;
- 增加語音提示,啟動開關后使用語音告知用戶“已啟動”或“已暫?!?。
當然解決方案有很多,每個人都可以根據場景想出不同的解決方案。
與現實機器的開關類似,在 UI 設計中我們如果進行開關設計也需要遵循相應的設計原則。一個合理的開關設計主體包含的意符分別有兩種:
- 表示當前狀態;
- 表示操作后的狀態。
主體之外我們還可以添加輔助提示更加清晰地傳達意符和反饋。
接下來將介紹一些常見的開關類型和輔助提示類型,最后總結出體驗優質的開關設計方法。
02 開關類型
1. icon
在 UI 設計中最常見的開關可能就是 icon 了,即由單一的 icon 通過顏色或圖形的變化來表示開或關的狀態。
因為交互設計從古到今并沒有統一的嚴格標準,所以到底是將開關 icon 的樣式設計為「當前狀態樣式」還是設計為「按下之后的狀態樣式」并沒有一個約定俗成的規則。
然而,對比而言如今各類 App 設計中常見的且體驗比較好的方案還是將開關樣式設計為當前狀態樣式。如下圖iPhone自帶相機的實況照片開關icon就是顯示當前狀態。
然而,并不是說將開關樣式設計為當前狀態樣式做法普遍且體驗更好就可以這樣做了,有些開關的設計因為使用廣泛,已經在用戶的心智中扎根,我們如果強行改變反而適得其反導致體驗變差。
最典型的就是視頻和音樂的播放暫停開關,他們表示的就是操作后的狀態而不是當前狀態,如下圖。
因此,大部分應用的開關類 icon 都是混用當前狀態和操作后狀態的,如下圖嗶哩嗶哩的視頻播放界面,播放暫停開關 icon 表示的是操作后狀態,彈幕開關表示的是當前狀態,而視頻鎖開關 icon 又變成了表示操作后狀態了。
是否統一倒不是關鍵,關鍵是我們是否能夠讓用戶理解相應的意符和反饋,目標是讓用戶在操作開關前能夠知道當前狀態是什么,操作開關后當前狀態是什么。
舉一個反例,下圖中的美顏相機的夜拍模式開關就沒有直觀表現出當前是開還是關,這種有歧義的設計可能讓新手用戶手足無措,可能本來未開啟的功能讓用戶誤以為已開啟,導致拍出來的照片不符合用戶預期。
由此我們可以看出,單一的 icon 開關如果沒有其他的輔助提示會造成意符和反饋的缺失,進而形成較大的歧義性,用戶會在疑惑中按照自己固有的心理模型和過往經驗進行判斷,體驗因此降低。
2. 主體與開關分離(分離式)
上一部分舉了美顏相機的反例,其意符和反饋不明導致的歧義問題導致了用戶的困惑,但使用「主體與開關分離」(后文一致簡稱為“分離式”)的開關設計可以解決這個問題,它在意符和反饋層面都給予了用戶提示,可視性很強,完全解決了開關狀態無法被用戶感知的問題。
分離式開關指的是,主體不再充當開關,只當做開關的名稱或icon,另外制作一個開關傳達意符和反饋,解決了當前狀態與操作后狀態混淆的問題,其通常的樣式如下圖。
如下圖,Faceu激萌不同于美顏相機設計方式就是將主體與開關分離,很清晰地傳達了當前開關狀態。
大部分App的設置頁面使用的開關都是主體與開關分離的方式,如下圖。
顯而易見,分離式開關直觀展示了當前狀態,在消除歧義方面優于 icon 開關,但同時缺點也很明顯,它占用了過多頁面空間并美感欠佳。
3. 名稱變化
名稱變化指的是開關依賴于其名稱的變化告知用戶開關的當前狀態和操作,常見的類型如下:
部分 App 會將開關的名稱變化的方式統一,但也有部分 App 會將這兩類進行混用,即一個是表示當前狀態,一個是表示操作。
下圖為部分 App 的名稱開關,我們可以將上圖的開關名稱類型的序號對號入座。
表示操作的按鈕文字具有一定引導性,用戶容易感知和觸發,反之,表示狀態的按鈕文字由于不具有引導性,如果用戶沒有對這類按鈕形成使用習慣甚至難以意識到它是可點擊的,因此我們可以利用其特性進行逆向應用引導用戶的行為。
比如在直播App中,我們希望引導用戶關注主播,又試圖避免用戶關注后又取關主播。我們就可以將“關注”制作為表示操作,文案寫為“關注主播”(屬于1.開啟……)。將“取消關注”制作為表示當前狀態,文案寫為“已關注”(屬于7.已開啟……)。
前后的顏色進行區分,“關注主播”的按鈕制作得對比度強,吸引力大,“已關注”做得弱一些,讓用戶誤以為不可點擊,如下圖的斗魚直播。
然而,名稱變化的開關由于語言的模糊性,仍然造成了部分歧義。我們可以發現很多App的名稱變化開關設計中,都會在操作后加入其它提示來消除歧義(如:toast 提示),有些App則并未加入,因此在后文中會著重介紹輔助提示的優點和使用方法。
4. 小結
icon、分離式、名稱變化,如果按照消除歧義的優劣排列的話,大概是 分離式>名稱變化>icon。
那這樣的話是不是應該把開關都換成分離式呢?當然不是,分離式雖然在意符和反饋的層面很充分地消除了歧義,但是其也有明顯的缺點,分離出的開關會占用部分空間,可能會影響美觀,因此我們需要根據需求和頁面結構選擇最適合的開關類型。
那名稱變化和icon類的開關如何消除歧義呢,我們可以通過添加下面介紹的輔助提示來消除歧義。
03 輔助提示
1. 環境暗示
環境暗示指的是用戶在操作開關前,開關以外的區域給予用戶的提示,這些提示本身存在于交互流程中并不是我們刻意加入的,用戶根據這些提示可以判斷當前狀態以及按下開關后的狀態。
例如在觀看視頻時,當用戶去按下視頻播放按鈕前,用戶會通過當前圖像靜止與無聲音這個環境暗示明白當前狀態是可能是視頻未播放,所以應該按下播放按鈕讓視頻播放。
再比如得到 App 的夜間模式,用戶可以通過當前界面的樣式判斷當前是否已經開啟了夜間模式,如下圖。
看下圖,如果沒有環境暗示,你能分清得到的夜間模式的開關哪個當前狀態是夜間哪個當前狀態是日間嗎?
因此,環境暗示的優勢是我們不需要進行另外設計其他的意符和反饋告知用戶當前狀態,環境給予的暗示已經足夠直觀。
2. 模態/非模態提示
當用戶按下開關后模態和非模態提示可以在反饋層面告知用戶,讓用戶知道自己是觸發了開啟還是關閉。
常見的模態提醒控件是「警告框(Alerts)」,非模態提醒控件是「提示框(toast)」,前者提醒強度大,使用在一些危險、重要的反饋中,后者則使用在一些輕量的提示中。
介紹 icon 開關的部分我們提到了美顏相機的夜拍模式的 icon 開關狀態難以區分,但美圖秀秀在這里使用了頂部的非模態提示在反饋層面告知用戶當前狀態,很好地解決了這個問題,如下圖。
拉勾網的設置中,隱藏簡歷為危險操作,用戶極有可能由于開關名稱的歧義或由于疏忽觸發開關導致簡歷被隱藏從而錯過工作機會,因此此處設計了一個形式為警告框的模態提示來告知用戶當前狀態以及潛在風險。
3. 輔助文案
輔助文案指的是在主體(主體可能是開關名稱、icon 或二者皆有之)之外另外放置一些文案信息來充當意符和反饋。下圖案例就是高德地圖的下車提示的開關,開關的主體是名稱,但是下面的一行輔助文案很清晰地傳達了當前的開關是什么狀態。
4. 其他輔助提示
并不是所有提示都需要讓用戶看見,我們可以給予用戶其他感官的信號告知用戶當前開關的狀態。
在現實生活中,我們會通過鑰匙在鎖中扭動發出的聲音判斷鎖是否被打開,通過觸摸感受摩托車是否繼續震動判斷其是否已經熄火。
同樣,在 UI 設計中,我們也仍然可以使用聽覺和觸覺來消除開關的歧義。一個比較優秀的案例是高德地圖,當用戶打開下車提示之后,會出現語音提示“已開啟下車提醒”,它充分考慮到身處戶外的用戶可能并不能很方便地獲取屏幕上的視覺信息,因此使用語音的形式提示用戶。
5. 小結
輔助提示很好地補充了開關在消除歧義上的不足,但我們需要合理使用否則就會產生不必要的視覺噪聲。
如下圖,試想音樂的暫停播放開關如果加入的 toast 提示會怎么樣呢?由于我們已經可以通過“手機是否發出聲音”這個環境暗示獲知當前的開關狀態,如果再加入 toast 提示必然會出現不必要的視覺噪聲。
04 總結
介紹完開關類型和輔助提示后,我們如何將其應用到我們的產品中,設計出無歧義或低歧義的開關呢?
如果我們選擇的開關類型已經足夠的消除歧義,如分離式,我們就不太需要額外地增加輔助提示了。但是如果使用容易造成歧義的開關,我們可以按照(開關類型+輔助提示 1+輔助提示 2+…………)的公式進行設計,即一種輔助提示不足夠消除歧義,可以使用多種一起。
舉個上文的例子,高德地圖的下車提醒開關的設計就是「名稱變化開關+輔助文案+語音提示」 的組合。
然而,任何設計都不是完美的,很多地方都需要我們做出妥協,雖然我們可以選擇合適的開關類型和輔助提示解決歧義問題,但隨之而來就可能出現其他問題。
如分離式開關消除歧義效果很好,但是占用空間且不美觀,模態和非模態提示給予用戶的反饋比較強,但是可能打擾到用戶。
綜合上文提到的三款相機軟件作為案例,如下圖,我們可以發現在消除歧義的過程中避免不了對用戶造成的干擾或頁面美觀度的降低,我們很難去評判Faceu激萌、美顏相機和美圖秀秀哪個設計得更好,它們只是在易用性和美觀性之間找到了它們所認為的平衡點。具體如何設計,還是要具體問題具體分析。
那么我們應該如何進行取舍呢,在這里我們要考慮另外的因素。我們可以從以下角度分析,使用頻率、用戶人群、潛在風險等。
使用頻率:使用頻率越高,用戶對操作的熟悉度越高,歧義對用戶造成的理解與記憶成本就降低了,設計可以偏向低干擾和美觀度,反之使用頻率越低,歧義對用戶造成的理解與記憶成本升高,設計就應該偏向于易理解。
用戶人群:不同的用戶人群的風格偏好、認知能力是不一樣的。例如,我們要設計一款目標用戶為年輕人的相機產品,設計風格簡約,此時我們比較偏向的設計方案可能就類似美顏相機。反之,如果我們的目標用戶是中老年人,就要偏向于易用而犧牲美觀度,方案轉而偏向美圖秀秀或Faceu激萌。
潛在風險:開關的切換如果會導致潛在風險,設計就應該偏向于易理解,且需要使用模態提醒告知用戶風險,例如用戶如果關閉了推送通知開關,會導致接收不到實時重要的信息通知,此時不僅要使用易識別的開關類型,還需要添加模態提醒告知用戶風險。
我們可以將這些考慮角度放到雷達圖,如下圖所示,最終形成的面積越大我們越應該將按鈕制作得易理解、易使用,反之我們可以偏向于將開關制作得更美觀犧牲一些易用性??紤]到一些特殊產品的特殊用戶屬性,我們可以在下圖中增加其他考慮角度,其并不是一成不變的。
以上是本次對開關設計的思考,看似小小的一個開關,包含的學問卻不勝枚舉。作為一個互聯網產品設計從業者,一定要善于感受生活,用設計師細膩的內心去打量、洞察身邊的一切事物,發現美與不足,思考改進方法,并在這個過程中逐漸提升自我的價值。
作者:Ballen成明;公眾號:設成于思(ID:123456)
本文由 @Ballen成明 原創發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自Unsplash,基于CC0協議。
美顏相機夜拍模式開關為啥是個反例,這個開啟和關閉的狀態不是很明顯的區分了嗎
棒
有幫助就好
寫的非常好?? 我們需要根據不同的用戶及場景取舍美觀與易用
沒錯呢,謝謝認可
太棒了,每一款產品設計幾乎都涉及開關功能。如何反饋當前狀態,操作狀態?終于有人總結了!
我在兒童時期就對很多身邊的開關設計產生過困惑,直到長大接觸到交互設計才知道如何去改善這些情況。感謝認可。
沒有中文提示的都不合格
加個啟動語音不就行了?
我沒有太理解你這句話的含義,能說清楚些嗎??