概念沒弄清之前,不敢冒用“XX設計”、“XX結/架構”字眼。
手機發送驗證碼,是個最簡單的例子。從用戶角度講,流程如下:
輸入手機號(輸入)->獲取驗證碼(點擊)->輸入驗證碼(輸入)->確認(點擊)
這四個步驟中所有操作都是非選擇性的,也就是說輸入手機號和驗證碼,獲取驗證碼和確認,都是有且僅有此一項操作需要用戶完成的,不會引起用戶歧義的,所以光標默認都可以在完成步驟後下一輸入框/按鈕上聚焦。
這單單是從用戶使用計算機的角度講的,如果涵蓋用戶的所有操作流程,應該爲:
用戶點擊申請/設置進入“獲取驗證碼”頁面->輸入手機號(1)->獲取驗證碼(2)->接收手機短信(3)->手機按鍵查看短信內容(4)->記住驗證碼內容(5)->在計算機上輸入驗證碼(6)->點擊確認,完成驗證過程(7)
其中的所有環節注意細則:
(1) 中國大陸的手機號爲固定11位,所以文本框限長11位。
考慮到用戶容易出錯的狀態和行爲,可以設計僅提供阿拉伯數字輸入,同時如果用戶輸入全角數字則自動將其轉換爲半角數字,出錯提示可以在用戶焦點離開文本框時激發判斷條件。
如果再考慮細節,可以將文本框的默認值設置爲1,或者+861,這是手機號碼的規律數字。不過考慮到用戶的使用習慣,所有人記手機號都是11位11位的,這個1要不要加還有待商榷。
(2) 在用戶輸入了第11個數字後,光標應該默認移動到“獲取認證碼”按鈕上(按白鴉圖),對於經常輸入用戶名/密碼的用戶,快捷的方式都是輸完用戶名之後按鍵輸密碼然後按這樣登錄的。
(3)由於地域等原因,短信有時候需要等待好一會兒才能收到,這期間有的用戶會因爲不耐心,或者覺得短信沒到,重新申請驗證碼。
Google這點做的不是很好,我就因爲一直沒收到其短信而不停重發驗證碼,等驗證碼到了的時候一下來了一大堆,都分不清哪個纔是最後的那個。我覺得一個可行的方案是用戶點擊“獲取驗證碼”後,給一個提示:“您的驗證碼已經在路上了,重新獲取需要耐心等待XX秒”,這個XX以
秒倒數(比如30秒),等計時到0才變成再次獲取驗證碼。既降低了服務器資源浪費,又能給用戶明確的提示。
(4)在接受短信上Nokia的比較人性化,當有短信或者電話進來時,中間的功能鍵就是查看新短信或者接聽電話,而不用再一層一層打開菜單查看。其他的反正我看到同事一款索愛的就非常麻煩,需要打開菜單的。不過在收到信短信時,同事的效率也很高,習慣成自然,就不覺得被虐待了。
(5)現在的驗證碼一般都是數字的(瞎猜騰訊要出漢字的驗證碼)。最好的用戶體驗應該是用戶一眼就能記住的內容,不必重複翻看或者校對的。但是出於安全性考慮又不能設計的太短,一般市面上最短見過極個別3位的,一般都是4位,Google的如果沒記錯好像是6位。不知道有沒有什麼科學依據。
不過,我個人覺得5位的驗證碼更適合中國人,並且有兩位數字一樣或者發音的平仄相同。爲什麼呢?因爲從記憶和朗讀的規律看,這樣的數字更容易被瞬間記住,比如10086這種的。另外一個角度,從古詩看,什麼“平平仄平仄”這種的容易被瞬間記憶(沒有科學根據,老祖宗傳下來結合自己瞎猜的)。不服?舉個例子:74188好記還是32906好記?(說實話,對我來說都差不多-_-)
(6) 一般驗證碼都是固定位數的,無論是4位還是6位,完成輸入後,光標應該自動移到“確定”按
鈕上,這樣按空格就能提交了。
最後通用的一點:鼠標定位慢,鍵盤定位快;鼠標需要看屏幕確認,鍵盤閉眼睛就能輸入完成。爲啥用空格不用回車?因爲我的小姆指沒大姆指那麼發達。
本文來自:http://ucdchina.com/post/1098
註冊完成後激活碼:與上面不同的是先允許用戶註冊,只不過用戶屬於未激活狀態,然後把生成的激活馬存在用戶表的一個字段上,並給用戶發過去,用戶收到後登錄自己的賬戶把激活碼輸入正確後,用戶狀態修改爲正常