從交互的角度講講彈窗(下)

2 評論 17011 瀏覽 93 收藏 19 分鐘

編輯導(dǎo)語:彈窗是吸引用戶注意力的一種方式,不管是PC端還是移動(dòng)端都廣泛使用。本文作者從交互設(shè)計(jì)的角度,對彈窗進(jìn)行分析,討論了日常工作中深惡痛覺的常見問題,希望能給您帶來幫助。

在彈窗(上)篇,我們講完了彈窗的定義與應(yīng)用場景,彈窗(中)篇說完了基本布局,那么這篇內(nèi)容,我們將討論兩個(gè)日常工作中深惡痛絕的常見問題:連續(xù)彈彈窗、彈窗疊彈窗,本篇內(nèi)容中提到的“彈窗”多指modal dialog模態(tài)對話框——畢竟99%的彈窗體驗(yàn)問題都是模態(tài)對話框的問題。

一、信息彈窗的體驗(yàn)問題

彈窗留給廣大群眾的印象很糟糕。即使不是交互設(shè)計(jì)師,聊起“彈窗”這個(gè)東西的時(shí)候,腦海中一下子蹦出來的第一印象都是PC時(shí)代鋪天蓋地、像電線桿子上小廣告一樣密密麻麻、層層疊疊的廣告彈窗。

假如你不小心點(diǎn)開了不該點(diǎn)的網(wǎng)站,或者安裝了“急速下載器”的客戶端,那開機(jī)后迎接你的就是十幾個(gè)按順序打開的彈窗、并且往往還附帶震耳欲聾的音樂——每個(gè)都需要你親自、純手工點(diǎn)掉。

從交互的角度講講彈窗(下)

廣告彈窗之所以成為體驗(yàn)問題,也很好理解。即使不是專業(yè)設(shè)計(jì)師的人也能細(xì)數(shù)一二,比如19年這篇法治周末就列舉了廣告彈窗的三宗罪:

  1. 推送頻率過于頻繁
  2. 關(guān)閉按鈕過于隱蔽
  3. 重疊的窗口影響正常網(wǎng)頁的瀏覽

前兩個(gè)問題本篇不作討論,主要是第三個(gè)問題很值得細(xì)究:之所以重疊的廣告彈窗很惡心,一定程度上是因?yàn)樗尩陀脩魞r(jià)值、低優(yōu)先級(jí)的內(nèi)容(垃圾廣告)遮住了高優(yōu)先級(jí)、高用戶價(jià)值的內(nèi)容(用戶自己打開的頁面),并且除非用戶和彈窗進(jìn)行交互(關(guān)閉廣告、或者拖動(dòng)自己想看的窗口),否則根本無法獲取自己感興趣的內(nèi)容。

從交互的角度講講彈窗(下)

基于我們在從交互的角度講講彈窗(上)中的結(jié)論:彈窗是一種對注意力的引導(dǎo)形式,我們可以說,作為一種信息展示彈窗,彈窗堆疊導(dǎo)致用戶的注意力被錯(cuò)誤地強(qiáng)引導(dǎo)向了低價(jià)值的內(nèi)容,并且關(guān)閉成本太高,因此這種設(shè)計(jì)手段不可取。

二、操作彈窗的體驗(yàn)問題

既然連續(xù)彈信息彈窗的體驗(yàn)問題部分在于遮擋了高價(jià)值的內(nèi)容;那么連續(xù)彈操作彈窗是否存在體驗(yàn)問題呢?

畢竟操作彈窗都是用戶自己主動(dòng)打開的,因此對于操作彈窗的內(nèi)容多少是有預(yù)期的,甚至可以說操作彈窗上的內(nèi)容都是存在用戶價(jià)值的,用戶為了完成某些操作,的確需要看到這些內(nèi)容。

從交互的角度講講彈窗(下)

先說結(jié)論:在網(wǎng)頁端存在多種處理彈窗層級(jí)關(guān)系的方式,的確應(yīng)該盡量避免模態(tài)操作彈窗的堆疊,但并不是完全不可接受。然后我們來細(xì)細(xì)的拆解操作彈窗的“連續(xù)彈窗”和信息展示彈窗的“連續(xù)彈窗”有什么差異。

1. 彈窗的層級(jí)與任務(wù)的從屬關(guān)系

上文使用的例子是多個(gè)廣告彈窗連續(xù)彈出,各個(gè)廣告彈窗之間實(shí)際上沒有層級(jí)關(guān)系——沒有哪個(gè)廣告彈窗是另一個(gè)廣告彈窗的入口。

但操作彈窗卻很經(jīng)常出現(xiàn)這樣的情況:想象你打開一張工資編輯表,新增/刪除員工可以在頁面上進(jìn)行,但是對每一個(gè)員工的工資/補(bǔ)貼做編輯,則需要進(jìn)入下一級(jí)員工工資編輯彈窗進(jìn)行操作。

那么此時(shí)“工資編輯表頁面”和“員工工資編輯彈窗”就構(gòu)成了頁面上的層級(jí)關(guān)系(或者父子級(jí)關(guān)系),而從目標(biāo)與任務(wù)維度上來講,“編輯員工和工資”是用戶想要達(dá)到的總?cè)蝿?wù)目標(biāo),“編輯某個(gè)具體員工的工資”是延伸出來的可選子任務(wù)。

用戶目標(biāo)與任務(wù)之間的關(guān)系,映射到頁面上,也就形成了頁面、彈窗之間的從屬關(guān)系。

這個(gè)映射做得是否符合用戶的使用習(xí)慣,就看設(shè)計(jì)師的功力了。

比如大部分藝術(shù)創(chuàng)意類工作的目標(biāo)都沒有那么精確,所以任務(wù)也就經(jīng)常是非線性的:用戶總是需要調(diào)整一下這個(gè)滑桿,不太滿意,然后又去調(diào)一下那個(gè)參數(shù)。

而不是像填表單、編輯表格那樣,打開頁面之前心里就想好了:這里要從0調(diào)成10,這個(gè)按鈕給它擰開,這個(gè)項(xiàng)目給它刪了。

因此工具性產(chǎn)品或者創(chuàng)意生產(chǎn)類產(chǎn)品都采用工作臺(tái)的模式,使用非模態(tài)彈窗或者干脆不使用彈窗,從而允許用戶多線程、多維度地自由工作。

從交互的角度講講彈窗(下)

同理,設(shè)計(jì)師會(huì)把一般來說用戶不需要也沒辦法同時(shí)處理的、具有邏輯上從屬關(guān)系的任務(wù),做成具有父子級(jí)關(guān)系、或者一定展示順序的頁面(或者彈窗),而不會(huì)把這些東西全部一起呈現(xiàn)給用戶。

交互設(shè)計(jì)師的其中一項(xiàng)基本工作是將頁面的信噪比維持在一定的區(qū)間內(nèi)、提供給用戶他們當(dāng)下需要的信息。假如一件事情沒那么急迫,那么就沒必要把它招呼到用戶面前。

2. 從屬關(guān)系的實(shí)現(xiàn)方式與問題

即然頁面/彈窗之間可以具有從屬關(guān)系,那么我們?nèi)绾卧陧撁嬷畜w現(xiàn)這種從屬關(guān)系?它們各自有什么特征與問題?我這里總結(jié)了3種常規(guī)的表現(xiàn)形態(tài),我們一項(xiàng)一項(xiàng)地盤點(diǎn)它們各自的問題。

從交互的角度講講彈窗(下)

3. 操作彈窗的“彈窗疊彈窗”

“彈窗疊彈窗”,或者“父子級(jí)彈窗”是一種古老的交互形式,在PC應(yīng)用程序設(shè)計(jì)場景下,所有的任務(wù)都在彈窗的前身——窗口或窗體(window)下完成,因此窗口相互重疊是不可避免的。

應(yīng)用程序端的窗口重疊有兩種情況:物理上的重疊與層級(jí)上的重疊。

用戶在windows和mac或者其他操作系統(tǒng)上可以打開多個(gè)窗口,但用戶不可能同時(shí)和所有的窗口互動(dòng),因此窗口擁有的一項(xiàng)特性:當(dāng)存在多個(gè)窗口時(shí),只有最頂層的窗口是正在與用戶互動(dòng)的窗口,稱為“活動(dòng)窗口/當(dāng)前窗口 active window”。用戶的輸入焦點(diǎn)、鍵控都僅對當(dāng)前活動(dòng)窗口生效。

從交互的角度講講彈窗(下)

我們從這種設(shè)計(jì)中可以發(fā)現(xiàn)在窗口物理上有重疊的情況下,系統(tǒng)雖然允許用戶快速切換窗口,但事實(shí)上限制了每次和用戶交互的窗口。

同時(shí),在桌面端上也允許存在從屬于某個(gè)主彈窗的次級(jí)彈窗。這種“次級(jí)彈窗”更類似于網(wǎng)頁端所講的“模態(tài)彈窗”,如果你不關(guān)閉它就無法與其父級(jí)彈窗交互,所以我把這種彈窗的重疊稱之為“層級(jí)上的重疊”。

從交互的角度講講彈窗(下)

雖然“彈窗疊彈窗”這種設(shè)計(jì)形式歷史悠久,但是問題也頗多。其中最明顯的兩個(gè)問題如下:

  1. 彈窗層級(jí)過多,不容易找到可交互的活動(dòng)窗口
  2. 多層嵌套彈窗的生效模式比較反直覺,并且經(jīng)常在網(wǎng)頁端被錯(cuò)誤應(yīng)用

第一個(gè)問題我相信大部分用過windows的人多少碰見過。windows的次級(jí)窗口( owned window )可以隨意拖動(dòng),位置并不固定,而且部分windows版本中并不展示在底部欄taskbar上,所以有時(shí)并不容易一眼發(fā)現(xiàn)到底應(yīng)該操作哪里。

因此Mac改進(jìn)了它的次級(jí)窗口樣式,使其緊貼父級(jí)窗口的標(biāo)題欄,這樣窗口的從屬關(guān)系比較明確,一眼容易發(fā)現(xiàn)可操作的位置。

從交互的角度講講彈窗(下)

類似的問題在網(wǎng)頁端上也比較容易出現(xiàn)。當(dāng)彈窗層級(jí)過多,而當(dāng)前最頂層的模態(tài)彈窗容器又比較小時(shí),頁面噪音就過多了。

這個(gè)時(shí)候用戶就要費(fèi)好大的勁兒從一堆彈窗中找到最頂層那個(gè)的可交互彈窗,不說交互體驗(yàn)如何,視覺上就不太簡潔,也就丟失了彈窗“引導(dǎo)用戶注意力”的基本價(jià)值。

從交互的角度講講彈窗(下)

第二個(gè)問題其實(shí)發(fā)生得很普遍。舉個(gè)例子,假如你現(xiàn)在在做一款人力資源管理系統(tǒng),現(xiàn)在有一個(gè)“編輯員工角色”的彈窗長成這樣:

從交互的角度講講彈窗(下)

前端一看哎呀太好了,我們剛好之前做了一個(gè)“新增角色”彈窗,直接往這個(gè)“編輯員工角色”彈窗上一放就解決問題了,甚至還不打斷用戶的工作流,我看體驗(yàn)非常好:

從交互的角度講講彈窗(下)

此時(shí)假如用戶點(diǎn)擊“確認(rèn)新增”,就對輸入的字段進(jìn)行校驗(yàn),沒問題了那么角色就在后端保存上了。

此時(shí)回到上一級(jí)“編輯員工角色”彈窗,用戶立刻就能在“角色”下拉框中找到自己剛剛新增的角色,但美中不足的是假如用戶在“編輯員工角色”彈窗上點(diǎn)擊“取消”,那只是取消了對員工角色的編輯,角色的新增操作已經(jīng)生效了。好像沒什么問題是吧?

然后我們舉第二個(gè)例子:假如我們作為HR正在新增一群員工,每個(gè)新員工可以有自己的花名和備注,但我們也可以現(xiàn)在不填,等以后再說。新增員工的彈窗長這樣:

從交互的角度講講彈窗(下)

假如花名和備注因?yàn)樘顚戭l率不太高,所以被放在了二級(jí)彈窗上,那么:

從交互的角度講講彈窗(下)

現(xiàn)在點(diǎn)一下“確定”,前端校驗(yàn)仍然可以做,但員工徐莉莉的花名和員工備注只是在彈窗上暫存,除非用戶在“新增員工”彈窗上點(diǎn)一下“確認(rèn)新增”,否則這批新員工的數(shù)據(jù)都不會(huì)提交后端保存(畢竟員工花名和備注大概率是和員工姓名存在一張表上的選填字段)。

上面兩個(gè)例子講到這里不難發(fā)現(xiàn),雖然它倆看起來長得一模一樣,但是數(shù)據(jù)的提交方式卻存在差異。當(dāng)出現(xiàn)這種問題時(shí),就非常難以簡潔地和用戶解釋為什么類似的交互形式造成了截然不同的后果。

一般來講,我們做父子級(jí)彈窗+延遲生效模式時(shí),(不清楚什么叫延遲生效模式也請看前篇)采用第2個(gè)例子數(shù)據(jù)提交方式,即子級(jí)彈窗的數(shù)據(jù)僅作暫存,當(dāng)父級(jí)彈窗提交時(shí)才一起生效;另外假如存在第1個(gè)例子的情況時(shí),一般以導(dǎo)航的形式打開新的網(wǎng)頁窗口引導(dǎo)用戶前往“新增角色”模塊進(jìn)行操作,而避免和第2個(gè)例子造成混淆。

但總體而言,應(yīng)該盡量在網(wǎng)頁上避免操作彈窗疊操作彈窗的設(shè)計(jì)方式,并且完全杜絕2級(jí)以上操作彈窗的重疊,因?yàn)榇蟛糠钟脩艉茈y理解這其中的彎彎繞繞。

4. 流程彈窗/多級(jí)彈窗

流程彈窗的歷史和多級(jí)彈窗其實(shí)都是在同一個(gè)彈窗容器上做內(nèi)容的變化,它倆的差異是:

  • 流程彈窗有步驟上的順序(上一步、下一步),并且一般與延遲生效模式搭配,在最后一步統(tǒng)一提交信息。
  • 多級(jí)彈窗沒有步驟上的順序,且往往與即時(shí)生效模式搭配(盡量避免與延遲生效模式搭配,否則會(huì)存在與彈窗疊彈窗一樣的問題)

從交互的角度講講彈窗(下)

不管你用哪一種彈窗類型,注意彈窗只有一個(gè)容器,因此右上角的“X”是對流程/多級(jí)彈窗起全局作用的關(guān)閉按鈕。近年來B端/工具型產(chǎn)品的形態(tài)愈發(fā)復(fù)雜,多級(jí)彈窗也變成了一個(gè)比較常規(guī)的設(shè)計(jì)方式,建議大家花點(diǎn)時(shí)間搞搞清楚。

比如說飛書的【分享】功能,就有這么一個(gè)非模態(tài)的、介于context menu和dialog之間的東西,也符合我們【層級(jí)高于頁面、容器是方形】的彈窗定義。

從交互的角度講講彈窗(下)

5. 連續(xù)彈窗

一般不存在多個(gè)不同的操作彈窗銜接在一起,但是因?yàn)榉N種原因,連續(xù)給用戶彈多個(gè)反饋/再確認(rèn)彈窗還是挺常見的。我們在這里就簡短地帶過一下這種情況??傮w而言,我把連續(xù)彈反饋彈窗分成兩種類型:

從交互的角度講講彈窗(下)

把用戶當(dāng)大傻子型:意圖用多重再確認(rèn)來阻止用戶進(jìn)行一件事情(一般是卸載軟件),我們都知道這體驗(yàn)很差,假如用戶體驗(yàn)并不是你的產(chǎn)品主要的考量點(diǎn),那么當(dāng)我沒說。

絕大部分的場景下,合理設(shè)置再確認(rèn)彈窗能夠避免99%的誤觸,雖然亦有意見表示用戶可能日常關(guān)閉各種彈窗已經(jīng)形成了肌肉記憶,只有一次的再確認(rèn)彈窗可能順手就被關(guān)閉了,可能并沒有起到防錯(cuò)的作用。

所以極少數(shù)誤觸造成問題比較嚴(yán)重的場景下,可以用輸入文字等方式提高再確認(rèn)彈窗的操作成本,但絕大多數(shù)產(chǎn)品的絕大多數(shù)場景只需要1個(gè)常規(guī)的再確認(rèn)彈窗就夠了。

產(chǎn)品各干各的型:當(dāng)一個(gè)模塊有多個(gè)產(chǎn)品經(jīng)理負(fù)責(zé)時(shí)很容易出現(xiàn)這種情況,每個(gè)產(chǎn)品都提出了自己的再確認(rèn)措施,并且各調(diào)各的接口,每個(gè)彈窗的觸發(fā)規(guī)則都有點(diǎn)差別。

那么這種情況就需要交互去協(xié)調(diào)同一個(gè)產(chǎn)品的不同再確認(rèn)彈窗彈出邏輯,盡量把這些彈窗的重點(diǎn)信息整合在一個(gè)彈窗上,并且優(yōu)先展示阻斷性的問題,建議、不那么急迫的事情優(yōu)先級(jí)適當(dāng)往后調(diào)。

到這里彈窗篇徹底寫完了,非常感謝大家的支持。

 

本文由 @白話說交互 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評論
評論請登錄
  1. 【另外假如存在第1個(gè)例子的情況時(shí),一般以導(dǎo)航的形式打開新的網(wǎng)頁窗口引導(dǎo)用戶前往“新增角色”模塊進(jìn)行操作,而避免和第2個(gè)例子造成混淆?!繌倪壿嬌鲜强梢赃@么區(qū)分,但如果新增本身的字段不多,用戶沒有認(rèn)知負(fù)擔(dān),從操作提效的就角度來看,是不是采用嵌套彈窗的方式更合適?

    來自CLOUDFLARE.COM 回復(fù)
  2. 三篇都看完了,很有收貨,謝謝分享

    來自山東 回復(fù)