搞定異常的七字真言:增刪改查顯算傳

20 評論 12318 瀏覽 149 收藏 22 分鐘

本文結合具體的案例進行分析,分享了如何運用搞定異常七字的真言——增、刪、改、查、顯、算、傳。

異常是大多數

1. 什么是異常

是程序運行中,因外部因素(設備錯誤、輸入錯誤等)導致的程序異常。邏輯層的程序異常,通常是產品經理的責任。

2. 粗略判斷異常是否完整

一個帶有輸入、輸出、傳輸、運算的完整功能模塊,產品經理出的原型圖中,如果異常情況的頁面沒有占到70%,那就需要繼續完善

3. 舉例——昵稱為必填,且不能重復

只有結合產品、用戶、場景,才能做出合理的異常情況。舉例僅供參考。

(1)昵稱輸入有誤

然后在 Axure 中對應元件上寫說明內容,如下圖:

(2)昵稱被占用

同理,在對應元件上寫說明內容,如果是移動端原型,可在旁邊放便簽描述(另一篇《完美“登錄”,從去掉“注冊”開始》中有附圖)。

以上提示,只是局部提示。根據場景不同,還會有關聯性異常情況。

比如在填寫時,昵稱尚未被占用,填寫其他內容過程中,剛好被占用導致最后一步無法保存,也需要處理。如果涉及到翻頁情況,又會產生保存時機的問題。是點下一步就保存,還是最后提交時統一保存資料。如果點下一步就保存,那在第二步未填完就退出頁面,又該如何處理。

因此,需要根據實際情況來處理異常情況。

排查異常的七字真言

七字真言:增、刪、改、查、顯、算、傳

1. 增:新增、創建、添加

開篇的輸入昵稱,就屬于增。另外,還包括注冊賬號、上傳圖片等。

做【新增】功能時,從以下三個角度考慮

(1)上下限 / 建議值 / 默認值

  • 字數輸入的上下限、圖片/視頻大小,前后端都做限制校驗。(例:昵稱限制4~10個字,前端需要校驗,不在范圍內不讓提交。但是后端也不能相信前端,還需要自己再做校驗,防止一些技術手段繞過前端給后端提交非法昵稱。)
  • 圖片/視頻尺寸、圖片/視頻比例,給建議值。(例:下圖頭像項的圖片要求)
  • 一些低頻選項,可以給默認值,無需每次都操作。(例:性別默認男,城市默認當前定位點)

(2)類型校驗 / 格式校驗

  • 例如:輸入類型的全角和半角,可做自動轉換提高體驗。
  • 導入表格的功能,那就限制只能上傳Excel格式的文件。另外,.apk、.exe等可執行文件,需要特殊處理,微信會加后綴,來降低風險。

(3)容錯機制 / 關聯變化

  • 手機號已被其他賬號綁定,需讓用戶可做更換綁定、合并賬號等操作。
  • 昵稱被占用,給多個建議昵稱,讓用戶手動選擇。
  • 自動保存為草稿、編輯狀態下阻止瀏覽器關閉等。
  • 自動生成編號、排序方式,關聯出現的狀態,及頁面變化。

以上,有些限制是出于產品體驗考慮,例如圖片過大,會導致瀏覽時加載慢影響體驗;有些限制則是出于安全考慮,例如不能上傳可執行文件。

一些低頻問題,盡量靜默處理,例如:

  • 非網盤類應用,自動壓縮太大的圖片。
  • 郵件發送APK、EXE類可執行文件,無需加后綴。
  • 及時通訊軟件發送則加后綴,但能通過安全掃描的也可以不加。
  • 手機端選擇年月日時,給合理的默認項,比如1990-06-15,6月是月份中的中位數,能快速定位到1到12月任意月份。15日同樣是中位數,能快速定位到1~

總之,一切圍繞用戶體驗去考慮,使用體驗、安全體驗、設備體驗等等。

小思考:假如你是支付寶產品經理,在PC端做人臉識別認證的時候,你會怎么做?如何考慮?

2. 刪:刪除

刪除操作比新增操作風險大,但邏輯相對簡單,有以下四種情況

(1)刪除是否可逆

  • 需求上可逆、需求上不可逆
  • 邏輯上可逆、邏輯上不可逆

(2)是否批量刪除

(3)是否涉及權限

(4)邏輯刪除 or 物理刪除

  • 邏輯刪除是通常說的假刪除,給一條數據做了個標記,其實這條數據還在數據庫里;
  • 而物理刪除是指從數據庫里真實刪除了某條數據,常規意義上是不可恢復的。

如上圖:

  1. 彈窗一,單個刪除操作,邏輯上可逆,但用戶體驗上不可逆,所以需要二次確認。
  2. 彈窗二,既屬于批量操作,也屬于權限操作,需要高級別權限人員掃碼確認。掃碼后,手機端的確認頁面上,需要展示一些重要信息,方便高權限人員做決定。
  3. 二次確認方式:彈窗確認、彈窗掃碼確認、彈窗密碼確認、彈窗驗證碼確認、彈窗指紋確認等。

如上圖:在重要的刪除操作時,增加【影響范圍】,說明當前刪除操作可能會影響到的地方,如果這種影響是需要手動解決的,就需要去逐一排查。比如刪除之后,榜單是不是空了、滿減活動是不是湊不夠滿減額度了、輪播圖上展示的還是已刪除的商品、定時推送發出去的鏈接打開卻告知商品不存在,等等。

總之,刪除有風險,設計需謹慎。不刪可以,就別做刪除功能。后臺產品,可在篩選區域或系統設置中加個【展示已刪除xxx】的復選框,勾選之后,才在頁面內展示已刪除的信息。至于能否恢復就是另外一套流程和邏輯了。

3. 改:修改、編輯

參考【新增】的一些規則,很多頁面可以復用【新增】的頁面。但新增員工類涉及密碼的,復用時需去掉密碼輸入框。

需要注意兩點:

(1)能否修改

  • 用戶ID不可修改。
  • 用戶狀態,需要有權限的人才能修改。

(2)保存機制

  • 定時保存。
  • 失去焦點時保存。
  • 其他條件觸發,比如網絡變化等。

4. 查:查詢、搜索

兩種:

(1)查詢

  • 實時查詢,用于小數據量場景。
  • 定時任務查詢,用于數據量大,關聯表多的情況。歷史數據直接讀取已經查出來的數據,避免每次查詢都是多表聯查,可提高查詢速度,降低服務器壓力。
  • 查詢頻率,多長時間查一次,根據情況定義。
  • 查詢速度,查詢速度慢的,需要優化。

(2)篩選 / 搜索

  • 多條件組合篩選
  • 模糊搜索、精確搜索
  • 可搜可選

舉例解釋(后臺):

A實時查詢:柱狀圖顯示今日新增用戶,直接查詢即可,每訪問一次或刷新一次頁面,就查詢一次數據庫。

B定時任務:表格內展示今年新增用戶數量,并展示對應的訂單狀態、物流信息、會員信息、標簽信息、活躍情況等等。

查詢時需要跨數據表聯查,比如先在用戶表查出今年新增的用戶的ID,然后分別用用戶ID去訂單表、物流表、會員表、用戶標簽表中,查出對應信息,然后用表格呈現出來。這種情況,就不能用實時查詢了,服務器一次性跑不來一年的數據。

所以就用定時任務查詢,定時(如每天查前一天的上述數據)查一遍,并記錄下來,當有人訪問該表格時,無需聯表查詢,直接讀取已經記錄下來的數據并展示即可。

C多條件組合篩選:比如篩選性別為男/分類為老年人/2019年已體檢的人員列表。

D模糊搜索/精確搜索:如字面意思。

E可搜可選:比如有個下拉選擇框,里面是城市列表。在使用時,有時你是知道城市名,可以直接下拉展開鼠標點選。有時你不知道城市名,或者太多一時找不著,那可以在下拉框里直接打字輸入,下面就會展示對應城市,回車或鼠標點選即可。

因此,當開發皺著眉跟你說,這個表格字段太多,查詢會卡死服務器,你就說:跑個定時吧,親~

作為一個產品,寫涉技術文章,我好難啊…我知道的就這么多了…

5. 顯:顯示

其他六字都服務于【顯】字,是七字真言的舵手?!驹鰟h改查算傳】都通過【顯】與用戶互動。

用戶對所使用的產品的一切感受,也都是通過【顯】感受到的。

甚至可以說,【顯】就是產品經理的一切。用戶在使用的過程中,出現誤解、不會操作等情況時,產品經理沒法去解釋去幫助,所以在交付給用戶之前,就要盡量把所有異常都做處理。

簡單總結幾個重點:

(1)可讀/易用

消除歧義

  • 例1:是否確定取消? 確定/取消
  • 例2:是否刪除?(換行寫刪除的內容名稱及影響范圍) 刪除/不刪除

文案有溫度

  • 現在發生了什么,你需要怎么做,這樣做的后果是什么,做了之后還能不能反悔修改。
  • 根據用戶和場景,決定文案的語氣、字數多少、字號大小、按鈕大小、是否語音播報、顏色等等。需要有代入感才能寫出有溫度的文案。

化繁為簡

  • 界面簡單:典型的說起來簡單做起來難~
  • 文案簡潔:產品內部評審的時候,讓大家去自己讀,看有沒有不同的理解,如有則改。
  • 操作簡便:盡量減少點擊次數,但敏感操作又會故意設計復雜操作。
  • 精簡流程:比較難,太精簡了會導致耦合度高,太分散了會導致操作體驗差。

(2)一致性

用一致性消除歧義:用詞一致、icon一致、交互一致、色彩一致。

  • 共識性一致:比如紅色用于警告類,綠色用于引導操作。
  • 產品內一致:同一模塊,避免出現既有實心icon,又有線條icon,等等。

用一致性提高易用性:產品的所有彈窗中,確認按鈕在左側,取消按鈕在右側,等等。

檢驗方法:找一個不知道前置條件和行業背景的人,看你原型的文案、模塊布局、操作順序,是否有誤會的地方。

(3)消除焦慮——一切盡在掌控

常規加載時,堅決消滅所有空白頁,包括返回數據為空的異常情況。先顯示骨架圖 → 再模塊化顯示數據。

loading 和 進度條,文件過大導致必須等待時使用。讓用戶有個心理預期,根據其使用場景,合理決策繼續等待或者退出。

(4)反饋系統——凡操作,必有反饋

正常反饋

  • 頁面有明顯變化的,無需額外的反饋,頁面變化本身就是一種反饋。比如:發朋友圈,發完就能看到,那就無需提示發送成功。
  • 頁面無明顯變化的,用吐司類輕提示反饋。比如:操作成功、已添加。
  • 沒有反饋也是一種反饋。

異常反饋

  • 操作失敗、網絡異常、獲取數據失敗、觸發安全機制等。
  • 錯誤反饋文案由兩部分組成:①用戶能看懂的,②開發能定位到問題的。

(5)用戶安全——讓用戶掌握主動權

上限

  • 短信通知、推送通知、注冊/登錄短信、郵件、都需要設置上限。
  • 系統bug導致短信轟炸用戶的情況時有發生。幾千條短信發過來,只能拆SIM卡…

中止及撤回

  • 短信、通知、郵件,分批推送,且后臺能進行中止發送和撤回操作。
  • 把測試推送內容發到正式環境的,更是屢屢發生。?比如騰訊視頻8月21日的推送:“臺風利奇馬已致山東全省人死亡…”,算得上特別重大的安全事故了。

隱私數據

  • 涉及身份證號碼的頁面,要做數據權限處理,通常設置為少數人才能批量看到身份證信息。防止被拍照或截屏。
  • 在移動端,通常是用戶通訊錄、攝像頭調用、MIC調用、定位等。

看了一堆文字,該換換口味了,圖來:

1)上圖一詳解

  • 標題簡短,瞟一眼即可,無需閱讀。
  • 正文第一段,描述是哪個SKU。當然,能配圖更好。
  • 正文第二段,根據實際場景,給一些標簽,做最后的參考決策,避免誤刪。
  • 兩個按鈕是同級的,不做任何引導。
  • 操作按鈕直接用動詞命名,盡量避免使用【是、否】【確認、取消】類文案。

2)上圖二詳解

  • 文案難以理解,雖然是用戶自己點擊的‘取消關注’按鈕,但仍然是個失敗的文案。
  • 更難受的是,這時候我會懷疑上一步是否誤觸了其他人,會關掉彈窗重新點一遍取消。
  • 最難受的是,文案和按鈕關聯會出現更大的歧義,我該點【確定】還是【取消】?
  • 最后,敏感操作盡量別帶色彩去引導。如支付、刪除等。
  • 具體記不太清是取消關注,或是取消收藏什么的了;但文案非杜撰,至今仍對“是否確定取消”記憶尤新…

還想繼續上圖來著,發現其他內容不配圖也能理解,于是,圖不出來了。你們有想法可以留言,我酌情酌能力補圖。

七字中,其他六字,除了其本身的異常,更多的是和【顯】碰撞出來的異常。

【顯】又面向用戶,因此,處理異常的時候,要用同理心,去體會用戶的感受。

  • 這里稍微擴展一下我對同理心的理解:感同身受,是比換位思考更深層次的一種情緒和感受。
  • 舉例:記得以前給某共享單車提過建議,別在早晨上班前彈啟動廣告和開屏廣告。
  • 設計這個功能時,應該去體會這樣的場景:“臥槽,要遲到了,哪有單車哪有出租車”,心急如焚的時候,發現一輛單車,一個餓虎撲食來到了救命單車前,掏手機開App,5秒的啟動廣告導致心急如焚**2,探手去點【跳過】,被故意設計的點擊區域小于視覺區域的【跳過】套路,進入了廣告,廣告連續跳轉了N次鏈接,點三五次無法返回單車App界面,點的急了,又點多了導致退出了App…各種遲到后的心情…簡直是條條大路粉轉黑。

還有一些不常見的情況,比如虛擬運營商出了新號段,軍人沒有身份證,等等。

6. 算:算法、計算

算法:是指用系統的方法描述解決問題的策略機制。其能對一定規范的輸入,在有限時間內獲得所要求的輸出。

根據算法的定義,產品角度通常涉及到:

(1)規則

  • 個性化推薦
  • 風控
  • 打標簽
  • 積分體系
  • 會員體系
  • 用戶ID
  • 訂單編號

(2)算法

  • 圖片壓縮
  • 搜索查詢
  • 產品經理需要簡單了解一下算法邏輯,推薦【AIgorithms】App,能可視化的了解各種算法的運算邏輯。(劃重點:AIgorithms App)

7. 傳:數據傳輸

最近5G話題火熱,大部分人對5G的印象是速度快。

其實,5G的應用亮點是低時延和高帶寬,速度快反而是其次。

上面這段話,提到了【傳】的三個點:時延、帶寬、速度。

出需求時,要傳輸的這三個點,都屬于用戶的場景,是必須要考慮的。比如手機直播和短視頻,在4G普及之后才可能誕生。

所以,從用戶角度,主要有兩點:

(1)傳輸安全,結合【顯】字,可分為:

  • 用戶可感知類:脫敏傳輸并脫敏顯示、可執行文件加后綴等
  • 用戶不可感知類:加密傳輸、接口安全、服務器隔離(敏感服務器不直接面向用戶)。

(2)傳輸速度

壓縮:比如微信發送圖片,不勾選原圖,圖片就會被壓縮傳輸。

預加載:比如閱讀類App,用戶看第一章,他就會預加載第二章。用戶讀起來就不會有等待加載的過程,不會打斷爽感。

異步加載:

  • 偏移動端:按模塊加載并顯示給用戶,不要等整屏內容都加載完再呈現,避免讓用戶焦慮。
  • 偏PC端:盡量避免整個頁面刷新,減少服務器壓力,和用戶等待時長。

總結

我帶新人的時候,會讓新人先去測試部門學一下測試流程,然后再回來做產品。

這樣,他在做邏輯較多的功能模塊時,從單純的增刪改查顯算傳上,不會出太大太多的問題。再下一步,就需要教新人代入用戶的使用場景了出需求了,這才是產品經理進階真正難的地方。

 

本文由 @臣有bug揍 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 很好,干貨很多,有收獲

    來自上海 回復
  2. 方便留個聯系方式請教下嗎

    來自菲律賓 回復
    1. 微信:dxbkj2510

      來自山西 回復
  3. 鄙人有Bug奏,百度不到AIgorithms App啊

    來自北京 回復
    1. 試試應用市場,我的是在華為應用市場下載的

      回復
    2. 剛看了下,確實搜不到了,你試試應用寶看有沒有。另外還有算法之家App、數據結構App。

      回復
  4. 總結的很到位,這套邏輯對沒有技術背景的產品新人,幫助很大。

    來自重慶 回復
    1. 節日祝福有點遲了,祝你月餅好吃,哈哈哈

      回復
  5. 道理我都懂,但是大圣為什么有兩根棒子?

    來自福建 回復
    1. 人工智能在開車,咱也看不懂,咱也不敢問

      來自山西 回復
  6. 收教了。

    來自廣東 回復
    1. :mrgreen: ??

      來自山西 回復
  7. 是個梳理詳細的文檔的好建議

    來自河北 回復
    1. 哈哈,有什么修改建議么?

      來自山西 回復
  8. 受教!

    來自上海 回復
    1. ?? ??

      來自山西 回復
  9. 實用,我一邊看一邊改原型 ??

    來自廣東 回復
    1. 哈哈哈,可以交流交流

      來自山西 回復
  10. 很實用啊

    來自浙江 回復
    1. 做什么知識付費產品的呢?來體驗一波

      來自山西 回復