移動端輸入密碼應(yīng)不應(yīng)該顯示為明文?

開宗明義,我個人比較傾向于在移動端明文顯示密碼,尤其在注冊新用戶時,但并非簡單粗暴的明文顯示(我所說的都是錯的,嘿),歡迎拍磚,具體理由見下。
移動端和PC端從體驗(yàn)設(shè)計(jì)上有本質(zhì)的不同,移動設(shè)備有自身的特點(diǎn)及限制,需要我們重新思考一下原有PC端形成的一些設(shè)計(jì)標(biāo)準(zhǔn)(不斷的質(zhì)疑和否定才能成長嘛),比如:密碼輸入?yún)^(qū)域的設(shè)計(jì)
先從PC端說起,密碼輸入是我們?nèi)粘I暇W(wǎng)或操作電腦最常接觸到,PC端常規(guī)的設(shè)計(jì)思路是對用戶輸入的每個密碼進(jìn)行遮掩,用戶輸入一個字符,密碼輸入?yún)^(qū)域就顯示一個替換符 “*” 或 “?”(圖1) 。
圖1
為什么這樣進(jìn)行設(shè)計(jì)呢?先從PC本身的屬性談起,1. PC具有公共屬性,可能在多種場所甚至被多人使用,但你輸入密碼是私密性的。2. PC固定在特定的位置,無法隨意移動(早期PC時代,非筆記本橫行的現(xiàn)在)。 3. PC顯示區(qū)域足夠大,光用腦袋是不能夠完全擋住偷窺者的。鑒于以上這些屬性,PC端在用戶輸入密碼時應(yīng)給予適當(dāng)?shù)谋Wo(hù)。當(dāng)然也有過份保護(hù)的例子,如下圖2,命令行時代的產(chǎn)物,用戶輸入密碼時,沒有任何反饋以提示用戶(現(xiàn)在每天還要使用到,唉?。?。
圖2
另外一個重要的原因,由于長時間敲擊鍵盤進(jìn)行輸入練習(xí),鍵盤的物感形成了肌肉記憶,輸入密碼(敲擊鍵盤)的過程成為一種條件反射(知覺-行動鏈),用戶在輸入時更多的是依靠手指上的感覺,而非有意識的去關(guān)注(所以,也就不存在識別了),人體肌肉獲得記憶的速度十分緩慢,但一旦獲得,其遺忘的速度也十分緩慢,并且肌肉記憶的精確度均很高,用戶在PC上輸入密碼的錯誤率也很低。
在PC端這樣的設(shè)計(jì)沒有太大問題,只是偶爾在知覺-行動鏈被打斷時會想不起來輸入到什么位置了,因?yàn)椴贿^腦嘛 ^_^,絕大多數(shù)用戶在遇到這種情況時,會選擇將已輸入的密碼全部刪除重新開始輸入,糾錯成本PC端用戶可以接受,所以對這樣的設(shè)計(jì)PC端用戶也就接受并習(xí)慣了。
再來看看移動端,大部分的移動設(shè)備(如,手機(jī))屬于個人私密性較高的設(shè)備,并且顯示區(qū)域均較小,用戶在進(jìn)行輸入時,可對輸入密碼進(jìn)行有效的保護(hù)(或者找個僻靜的地方進(jìn)行輸入)?;蛟S有同學(xué)會認(rèn)為移動用戶的使用場景多樣,更需要對密碼進(jìn)行保護(hù),但只要窺視者有心,不管密碼是否被保護(hù)均可能會被其獲知,見圖3,大多數(shù)移動OS用戶的每次輸入均出現(xiàn)鍵位提示!移動端想防窺還是得找僻靜小角落啊。
圖3
現(xiàn)在移動端大多數(shù)均以觸屏為主要交互手段,在觸屏虛擬鍵盤進(jìn)行輸入操作缺少以往實(shí)體鍵盤的物感,需要用戶在輸入過程中對虛擬鍵位及手指的位置進(jìn)行認(rèn)知,手指很難形成肌肉記憶(黑莓Storm的Clickable技術(shù)就是模擬實(shí)體按鍵觸感的技術(shù)),借用一下surface的眼動研究(圖4),可以發(fā)現(xiàn)用戶的視線會在虛擬鍵盤及輸入?yún)^(qū)域之間進(jìn)行切換,思考一下,你在PC端進(jìn)行輸入一般字符時會盯著鍵盤看嗎?在移動端進(jìn)行輸入操作時成本比PC端高出了許多,并且錯誤率隨之也放大了,大部分的用戶已經(jīng)能夠很明顯的感覺到在移動端輸入之困難,再讓用戶進(jìn)行糾錯操作,成本就可想而知了!
圖4
移動端的設(shè)計(jì)者其實(shí)早已察覺到了上述的問題,并對移動端的密碼輸入?yún)^(qū)域進(jìn)行了重新設(shè)計(jì),以iOS的解決方案為例子,用戶當(dāng)前輸入的密碼以明文顯示,在繼續(xù)輸入下一位時將上一位密碼轉(zhuǎn)換為替換符(圖5)。
圖5
這樣的設(shè)計(jì)一定程度上規(guī)避了上述的問題,方便了用戶,但也存在一些問題,只有當(dāng)前的輸入為明文,之前的密碼依舊是替換符,用戶在對密碼的認(rèn)知上無法存在連續(xù)性,另外,當(dāng)用戶在虛擬鍵盤尋找需要輸入的字符花費(fèi)較長時間,原來的明文會自動轉(zhuǎn)換為替換符號,這樣易導(dǎo)致用戶忘記之前的輸入。
另一個解決方案,在輸入?yún)^(qū)域附近放置一個密碼顯示的開關(guān),當(dāng)開關(guān)打開時,密碼以明文的方式進(jìn)行顯示,當(dāng)開關(guān)關(guān)閉時,密碼以?”*” 或 “?” 替換符顯示(圖6),用戶可在輸入過程中很輕松的切換密碼顯示模式,當(dāng)用戶確認(rèn)周邊環(huán)境安全,并希望提高輸入體驗(yàn)時,可選擇明文顯示,反之選擇替換符顯示。
圖6
但這種方案涉及到另一個問題–默認(rèn)選項(xiàng),用戶一般較少主動去設(shè)置某些選項(xiàng),并依照默認(rèn)選項(xiàng)使用下去,所以,上面方案默認(rèn)選項(xiàng)如果采用隱藏密碼的設(shè)計(jì),那這個設(shè)計(jì)的效果及優(yōu)勢就沒有得到體現(xiàn)。采用明文密碼顯示會使其更具有意義。
采用明文顯示密碼能夠提高用戶體驗(yàn),有助于用戶進(jìn)行輸入,注冊及登錄流程會更易用,隱藏密碼可提高安全性,并與目前用戶習(xí)慣相符,但降低了輸入效率,如何在兩者之前進(jìn)行平衡?是否有其它解決方案?這些是設(shè)計(jì)者需要花時間思考的問題。
還是以iOS平臺為例子,再來一個解決方案,用戶在密碼輸入?yún)^(qū)域進(jìn)行輸入時,還是依照現(xiàn)有iOS的交互邏輯執(zhí)行,但是當(dāng)用戶感覺自己輸入錯誤了,按退格鍵試圖刪除錯誤輸入時,將隱藏密碼以明文顯示出來,方便用戶查看自己的輸入,并確定需要進(jìn)行修改的位置(圖7)。這樣的設(shè)計(jì)保留了原來用戶的使用習(xí)慣,卻又考慮到用戶在出錯后的行為模式,為退格鍵附加了一個切換明文模式的功能。
圖7
綜上所述,就移動端用戶注冊及登錄時,隱藏密碼不僅會阻礙用戶快速、準(zhǔn)確地輸入,還會遮掩用戶的輸入錯誤,并對安全性沒有起到太大的作用,個人還是傾向于優(yōu)雅的使用明文密碼顯示,但以什么樣的方式顯示密碼,以及采取何種形式的交互是需要進(jìn)行認(rèn)真設(shè)計(jì)的(在PC端還可以在當(dāng)前輸入?yún)^(qū)域獲取到焦點(diǎn)時明文顯示密碼,失去焦點(diǎn)時隱藏密碼)。
往往我們在進(jìn)行設(shè)計(jì)時都遵循某種設(shè)計(jì)慣例,或找現(xiàn)成產(chǎn)品中被實(shí)現(xiàn)過的例子。較少自身深入的進(jìn)行思考,有些設(shè)計(jì)不適用在你的產(chǎn)品當(dāng)中,可能會使用戶體驗(yàn)不好或增加任務(wù)的復(fù)雜性,那我們就需要重新審視一下我們設(shè)計(jì)了。
windows8的密碼控件不錯的哦。