facebook對話鏈接_如何應用防錯原則,看看 Facebook 和 Gmail 是怎么做的

91978df789fbd38326348f59ca9cead0.png歡迎來到有言有料,讓思考更有張力

本文共 3873?字,預計閱讀 10?分鐘

作者|Siddharth Gulati

譯者|張聿彤本文翻譯已獲得作者的正式授權(授權截圖如下)dfb2c60fa37e45f4248ad1b082226e96.png

在用戶界面(UI)設計中,重要的是要注意最細微的細節,以使用戶的體驗愉悅而難忘。在這里,你將學習如何使用防錯原則來創建出色的用戶體驗(UX)。因此,如果你有興趣為用戶加倍努力,創建出色的用戶體驗,成為更好的用戶體驗設計師,請繼續閱讀。70c2059ff81edac1fe144bfc55419917.png防錯原則來源于 Jakob Nielsen 提出的「尼爾森的十大可用性原則」。用 Nielsen 的話來說,防錯包括以下內容:「 比好的錯誤提示更好的是細致的設計,這樣可以在第一時間防止問題的發生。要么消除容易出錯的情況,要么在用戶提交操作之前向他們說明操作后果,確認是否要繼續?」從本質上講,需要在用戶即將犯錯時發出警報,目的是讓用戶在不犯錯的情況下輕松地完成他們正在做的事情。防錯原則之所以重要,主要是因為人類容易犯錯,而且總是會犯錯。從用戶體驗的角度來看,防錯原則十分重要,原因如下。在如今信息過載的時代,用戶承受著大量的信息負荷,并且很容易分心。?所以,犯錯的幾率變得更高。?這導致:
  • 用戶難以完整閱讀屏幕上的所有內容
  • 用戶在進行打字、單擊等操作時容易犯錯誤
作為負責任的用戶體驗設計師,我們的責任是在不打斷操作流程的情況下,盡可能多地防止用戶犯錯。為了更好地理解這一點,讓我們以美國領先的電子郵件營銷服務 Mailchimp 為例,它允許用戶以特定的時間間隔自動發送電子郵件。現在,Mailchimp 的服務已被全球各地的企業用來向客戶傳遞各種信息,比如即時新聞和更新通知。由于服務的敏感性,以及 Mailchimp 不想讓用戶誤刪或發錯電子郵件,因此設計了必要的保護措施。例如,我已經為網站的訂閱者設置了一個特定日期發送的電子郵件,現在,我希望刪除該電子郵件,系統將要求我確認這個的操作,如下圖所示。0ec152729f5f44853a0152c3e374d7d7.png圖1. Mailchimp 要求用戶打字輸入“DELETE”(刪除)確認操作方式,作為錯誤預防從上圖可以看到,除非正確輸入“DELETE“的每一個字母,否則無法刪除原定發送給訂閱者的電子郵件。當我想向訂閱者發送電子郵件時,Mailchimp 遵循類似的策略。為了防止意外出錯,或是在不應該發送的時候發送電子郵件,他們采取了以下防護措施c864429e4e70376473cb18082e2d0c7d.png圖2. Mailchimp 再次展示了錯誤預防功能,這次應用在用戶發送電子郵件時從上圖可以看到,在用戶向訂閱者發送電子郵件之前,彈出一個彈窗要求用戶確認其操作。通過反復要求用戶確認操作(這樣做時不要過于打擾用戶,不要讓用戶反復確認操作次數過多,這樣會使用戶感到厭煩),Mailchimp 很好地應用了防錯原則,從而使用戶感到安全,創建一個整體良好的用戶體驗。現在,讓我們看一些在這方面很糟糕的設計(即沒有錯誤預防),然后將它們與展示了良好設計的服務進行比較(即出色的錯誤預防)。

體驗不佳的設計:Bitly

最近,我使用了網址縮短服務(生成短鏈接) Bitly。我按照流程進行注冊,創建了一個新帳戶。但是,當我嘗試登錄時,無法進行登錄,并且只收到了一條錯誤提示,內容是“不對,再試一次”。但是,這樣的錯誤提示沒有告訴我到底哪里出了問題。我不知道輸入錯了什么:是用戶名錯了,還是密碼錯了,還是都錯了?最重要的是,“ 不對”這個詞在我看來也有些不被尊重的感覺,就像 Bitly 在嘲笑我的錯誤一樣。可以參考稍后要介紹的 Facebook 的解決方案,一個好的防錯策略可以清楚地將錯誤劃分邊界,即明確告訴用戶到底是哪里出錯了,是用戶名,還是密碼輸入錯誤。Facebook 做得很好,甚至更進一步,如果你碰巧犯了這樣的錯誤,它會告訴你,你的密碼輸入錯了。c033dbeb6d04641ff4cfc6e2aeb82bee.png圖3. 錯誤預防方面體驗不佳的設計案例--不告訴我電子郵件地址/用戶名或密碼是否輸入錯誤

另一個體驗不佳的設計:ProtonMail

我習慣使用 ProtonMail,這是一家注重隱私的瑞士電子郵件服務商。總的來說,我對他們的服務感到滿意,現在也一直是。但是,最近我觀察到 ProtonMail 在防錯方面也出現了體驗不佳的設計。發送電子郵件時,如果我在電子郵件的主體中寫了“附件”,但忘記實際添加附件,它仍然允許我發送電子郵件,并且不會彈出任何確認對話框來警告我忘記了添加附件。下文中我們將看到,Gmail 針對這一問題是如何設計解決方案的。2c5be7e7bb9200a5ad36b638f8099d1a.gif圖4. 使用?ProtonMail?編輯郵件時,如果只寫了文字“附件“,卻忘記上傳附件內容,郵件仍然可以成功發送這個操作將會帶來什么問題?假設你正在通過電子郵件申請一份工作。你已經花費了數小時來整理自己的想法,以撰寫出完美的求職信息,并竭盡全力讓自己成為最合適的候選人。但是,由于你所有的精力都集中在郵件的編輯中,因此,你按下“發送”按鈕后沒有注意到忘記添加附件了……直到后來才意識到實際上并沒有附上簡歷。現在,你處于尷尬的境地,必須決定是否應該發送尷尬的解釋郵件(這次附有簡歷),或者繼續找其他的工作……或者寄希望于這封電子郵件能成功地吸引 HR,請你發送簡歷(不太可能)。你可能會因為這個錯誤而自責,這個也是用戶體驗設計中關于防錯原則的反面案例。

思考防錯原則的重要性

用一個類比來解釋防錯原則在用戶體驗設計中的重要性。假設你在咖啡店里點咖啡, 你問服務員:“你好,我可以喝杯咖啡嗎?” 服務員的回答很簡單:“沒有。”你很困惑地問他:“你確定嗎?我聞到咖啡的香味了,看到其他人在餐廳喝咖啡。” 這次,他根本沒有回應。在鄰桌人點單后,你發現必須告訴服務員你想要哪種咖啡,否則,無法下單購買咖啡。因此,你只有具體說明要點“ 拿鐵咖啡“,他才會為你提供服務。如果在餐廳的某個地方張掛一個牌子,上面寫著“請告訴我們您想要什么咖啡,以便我們完成您的訂單”,這不是很好嗎?經歷了這樣的購物體驗之后,你還會再去那家咖啡店嗎?

優秀的設計:Facebook

還記得嗎,上文中給出過 Bitly 的案例 —— 登錄界面不會告訴用戶是否輸入了錯誤的用戶名或密碼。相反,Facebook 會告訴我到底犯了什么錯誤。例如,Facebook 通過明顯地警告我輸入了錯誤的密碼,來確切地說明我所犯的錯誤。這樣的實時反饋不僅減輕了我的認知負擔,而且還幫助我創建了一個整體良好的用戶體驗,因為我知道,系統會清楚的告知我犯了什么錯誤,從而可以輕松地糾正它們。0cc4614ccbb98a1a13c563c7fb9e4885.png圖5. Facebook 確切告訴用戶在哪里犯了錯誤,幫助用戶快速糾正錯誤,用醒目的提示說明輸入了錯誤的密碼Facebook 甚至更進一步,還提醒我是否輸入了舊密碼。例如,請看下面的圖片,我錯誤地輸入了舊密碼,Facebook 提醒了我這一點。這種通過溫和地引導我的錯誤來預防錯誤的方法,為我在使用 Facebook 時創建了一個整體良好的用戶體驗。f899df87adbe587baece6156be95cb84.png圖6. Facebook 通過溫和地引導用戶知曉錯誤來預防錯誤的方法,為用戶在使用 Facebook 時創建了一個整體良好的用戶體驗

另一個優質的設計:Gmail

上文中提到了 ProtonMail 作為錯誤預防方面的體驗不佳的案例,因為它在用戶犯錯時不會進行提醒。相反,Gmail 在這一點上提供了優質的解決方案。如果我在電子郵件的主體中寫了一個帶有“ 附件”字樣的信息,卻忘記了添加附件,Gmail 會為此提供一個確認對話框,再次檢查我的操作。對話框如下圖所示,Gmail 提示我沒有添加附件。通過提供此功能,Gmail 不僅讓我在使用該系統時感到更安全、更有信心,還對系統的可用性產生了積極的影響。7869add522ccf32cbc7ebee0942a7cfc.png圖7. Gmail 通過提醒我忘記添加附加文件,展示了在錯誤預防方面的出色設計。

我們可以從中學到什么?

需要記住的重點是用戶始終都會犯錯誤。因此,一個好的用戶體驗策略應該是:1)通過提供建議來防止無意識的錯誤,因為用戶通常會分心于手頭的任務2)使用設計模式向用戶傳達他們的工作方式,鼓勵用戶仔細檢查其操作(尤其是在刪除之前),并在犯錯誤之前發出警告。這些簡單的指導原則可以幫助降低用戶出錯率,并最終提高可用性認真細致地進行設計時,可以領先于用戶,證明你的產品對用戶和用戶每天所面對的現實具備同理心?—— 在這個世界里,人們一邊申請工作,一邊查看最新消息,同時還在擔心他們關心的人和事,以及作為一個人所包含的一切(信息負荷,容易分心,容易出錯)。原文:https://uxdesign.cc/error-prevention-in-ux-design-how-facebook-and-gmail-get-it-right-ee9df267268f注:感謝閱讀,以上內容由 TCC 翻譯情報局提供,如有收獲,還望各位設友動動手指點下廣告和在看,也可分享到你的朋友圈!
- 知識拓展 -f136d4fe1259a251b41d74d0db7cf4e3.png關于文中提到的通過防錯原則提升用戶體驗的方法,之前 Seven 在一次公開分享中進行了詳細的分析,有圖有真相,小編已經為大家準備好了。除此之外,小編還整理了?防錯十原則?和?缺陷控制方法?的詳細表格說明~想要了解更多關于防錯原則知識點的小伙伴們,可在有言有料公眾號后臺回復 「防錯」,即可獲得完整版 PPT 和防錯原則學習資料~- 有言有料?-有言有料是一個充滿魅力的組織,是一群不安分的用戶體驗師和產品經理發起的分享交流學習平臺,目前聚集了 20000 多位來自世界各地的互聯人,相互學習成長,我們正在改變自己,改變世界。如果你也是在互聯網不斷尋求突破的小伙伴,想和志同道合的同伴一起交流,共同成長,添加群主微信:dool_e,備注「入群」,等待群主帶領你和我們相見~88f85e22649033ac27e3803acb0809d9.png關注收藏公眾號,獲取最新咨詢和知識有言|有料|有課|有物給有言來一套“素質四連“吧a4d49bafef95e11c0ec5151e11f8f1ce.gif

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529132.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529132.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529132.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 7 定時任務設置,centos7 配置crontab定時任務

1. 啟動cron服務# 查看服務狀態systemctl status crond# 啟動systemctl start crond# 停止systemctl stop crond# 重啟systemctl restart crond# 重新加載systemctl reload crond2. 開機自動啟動cron服務systemctl start crond.service3. 通過crontab命令管理定時任務crontab命…

模擬灰度傳感器循跡的程序_PLC編程,實例講解西門子PLC模擬量編程

給大伙分享的是關于西門子S7-300PLC模擬量方面的實例,包含了以下幾個方面的要點:1、對變送器進行取值,并進行控制2、對模數功能塊 FC105 進行調用3、對 AI 模塊進行設置4、對 AI 量程塊進行選擇這個實例, 調試的是一個流量調節回路…

linux mint 17 輸入法,LinuxMint17.1 Rebecca中安裝設置輸入法

LinuxMint14使用了幾年一直未更新,突然想去更新一下去發現源已經不支持了,所以就直接安裝了最新版本。安裝好以后發現還是跟以前一樣的毛病,沒有中文輸入法,直接sudo aptitude install fcitx* 發現仍然不行。運行im-config設定FCI…

python組成不重復的三位數是多少_Python輸出由1,2,3,4組成的互不相同且無重復的三位數...

題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少? 程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 程序源代碼 方法1&…

作業調度C語言編寫,【作業調度方案】 (C語言代碼)

解題思路:如圖所示,對于第一組樣例輸入,按照總工序提供的順序,對于每個工件的工序從小到大,每次尋找有空閑機器的“空檔”插入,就能讓總加工時間最短。注意事項:按照約定,最短方案有且只有一種。參考代碼:#…

python判斷能否組成三角形_python三角形判定怎么做

python三角形判定怎么做?下面給大家帶來具體的例子: 相關推薦:《Python視頻教程》 例子:a int(input("The length of the side a ")) b int(input("The length of the side b ")) c int(input("The…

文件的記錄c語言程序,c語言程序學生籍貫信息記錄簿設計.docx

c 語言程序學生籍貫信息記錄簿設計學生籍貫信息記錄簿課程設計報告書班 級: 方 0909-1 學 號:姓 名: 苑 小 葉 指導教師 : 康 亞 男 石家莊鐵道大學四方學院2010年 07月 14日1課程設計報告內容1. 選擇題目題目: 學生籍貫信息記錄簿設計 2. 內容摘要摘要:學生籍貫信息管理系統是…

如何修改linux的java路徑_修改桌面文件默認存儲位置的正確方式及注意事項

之前寫了篇關于如何修改桌面文件默認存儲位置,許多人在修改后出現各種問題,今天重新來講解一下關于修改桌面文件默認存儲位置的正確方式及注意事項。第一步、在E盤下創建一個文件夾,隨便取個名字,或者默認為【新建文件夾】&#x…

secp256r1 c語言程序,rust代碼閱讀 之 libsecp256k1 (1)

在密碼學的運算中, 數字通常是非常大的. 以 ECDSA 橢圓曲線為例, 私鑰是 256 位的.所以在 libsecp256k1 這個庫里, 定義了計算的元素 Field. 其中 n 為 320 位.pub struct Field {pub(crate) n: [u32; 10],pub(crate) magnitude: u32,pub(crate) normalized: bool,}為其實現加法…

python位運算符_詳細介紹Python語言中的按位運算符

按位運算符是把數字看作二進制來進行計算的。Python中的按位運算法則如下: 按位與 ( bitwise and of x and y ) & 舉例: 5&3 1 解釋: 101 11 相同位僅為個位1 ,故結果為 1 按位或 ( bitwise or of x and y ) | 舉例&…

c語言代碼測試電腦性能,【圖片】今天寫幾個性能測試,為什么C語言跑得這么慢呢??【c語言吧】_百度貼吧...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓易言版本……跑100000萬成績不如PHP。。。。.版本 2.程序集 程序集1.子程序 _啟動子程序, 整數型, , 本子程序在程序啟動后最先執行.局部變量 參數, 文本型, , "0".局部變量 to, 整數型.局部變量 fr, 整數型.局部變量 n,…

python find函數 和index的區別_使用帶有find和index的map時Python2和Python3之間的區別...

給定一個模式和一個字符串str,找到str是否遵循相同的模式. 以下是完全匹配,使得在模式中的字母和str中的非空字之間存在雙射. 例子: pattern “abba”,str “dog cat cat dog”應該返回true;狗是一只貓,貓是b,而這些詞形成了abba模式. pattern “abba”,str “dog c…

c語言3368題目,電大《C語言程序設計課程》期末考試復習資料

0993C 評議程序設計A 第 1 頁 共 31 頁C 語言程序設計課程期末復習練習一、單選題 1.在每個C 語言程序中都必須包含有這樣一個函數,該函數的函數名為( )。A. main 2.每個C 語言程序文件的編譯錯誤分為( )類。B. 2 3. 字符串"ab12\n"…

【LeetCode】鏈表精選12題

目錄 快慢指針: 1. 相交鏈表(簡單) 2. 環形鏈表(簡單) 3. 快樂數(簡單) 4. 環形鏈表 II(中等) 5. 刪除鏈表的倒數第 N 個節點(中等) 遞歸迭…

python類的屬性和對象屬性_python 類屬性、對象屬性-阿里云開發者社區

類的普通屬性:  dir(Myclass), 返回一個key列表; Myclass.__dir__,返回一個字典; 1、類的數據屬性; 2、類的方法; 類的特殊屬性: 1、Myclass.__name__  類的名字 2、Myclass.__doc__   類的文檔字符串 3、Mycla…

擊鼓傳花c語言編程題,c語言-第5章 循環程序設計.ppt

《c語言-第5章 循環程序設計.ppt》由會員分享,可在線閱讀,更多相關《c語言-第5章 循環程序設計.ppt(83頁珍藏版)》請在人人文庫網上搜索。1、第5章 循環程序設計,管理學院 電子商務系,2,第5章 循環程序設計,5.1 概述 5.2 while和do while循環 5.3 for循環…

python快速檢測視頻跳過幀_python實現視頻分幀效果

本文實例為大家分享了python實現視頻分幀的具體代碼,供大家參考,具體內容如下 import cv2 vidcap cv2.VideoCapture(005.avi) success,image vidcap.read() count 0 success True while success: success,image vidcap.read() cv2.imwrite("fr…

最大素數c語言,for語句計算輸出10000以內最大素數怎么搞最簡單??各位大神們...

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include int* pt NULL; // primes_tableint pt_size 0; // primes_table 數量大小int init_primes_table(void){FILE* pFile;pFile fopen("primes_table.bin", "rb");if (pFile NULL) {fputs(&q…

python去重保留唯一一個值_Python DataFrame使用drop_duplicates()函數去重(保留重復值,取重復值)...

摘要 在進行數據分析時,我們經常需要對DataFrame去重,但有時候也會需要只保留重復值。 這里就簡單的介紹一下對于DataFrame去重和取重復值的操作。 創建DataFrame 這里首先創建一個包含一行重復值的DataFrame。2.DataFrame去重,可以選擇是否保…

自定義日歷控android,Android 一個日歷控件的實現小記

先看幾張動態的效果圖吧!這里主要記錄一下在編寫日歷控件過程中一些主要的點:一、主要功能1、支持農歷、節氣、常用節假日2、日期范圍設置,默認支持的最大日期范圍[1900.1~2049.12]3、禁用日期范圍設置4、初始化選中單個或多個日期5、單選、多…