【終】
寫了那麼多,只是展示了書中一小點一小點的內容,大部分內容還需要自己看書發掘。為了證明我真的不是偷懶不願意寫,而是能力有限無法寫太多體會(什嗎?你就是這樣認為的,恩,小聲點,說實話多不好啊^_^),我決定最好把書中的公理都用可愛的Google拼音打上來。本書把各個部分最重要的一些提示都列了出來稱為公理(至從有了Effective C++後,好像整個世界都流行列條目了),雖然沒有內容相關的環境,還是希望其中的一些能給你帶來領悟。
【公理】
註:有標號的表示章節,我喜歡的我會用粗體標識。
1. 目標導向設計
互動設計不是憑空猜測。
2. 實現模型和心智模型
使用者介面應該避免實現模型,而支援使用者心智模型。
目標導向的互動反映了使用者的心智模型。
不要再介面上只複製機械時代的產品,而不進行資訊時代的加速。
重要的改變必須比原來的更好。
3. 新手、專家和中間使用者
沒有人願意停留在新手層級
為中間使用者最佳化。
將使用者想像成非常聰明但非常忙的人。
5. 使用者建模:人物角色和目標
不要讓使用者覺得自己很愚蠢。
每一個介面的設計都是為了某個專一的、主要的人物角色。
8. 軟體姿態
獨佔應用程式的使用者是永久的中間使用者。
為全屏使用最佳化獨佔式應用程式。
獨佔式介面應該使用保守的視覺風格。
9. 和諧與流
無論你的介面有多酷,越少越好。
和諧的使用者介面是透明的。
為很可能發生的情況設計,考慮可能存在的情況。
請求寬恕,而不是許可。
提問不等同於提供選擇。
隱藏彈射座椅的控制杆。(指將專家使用的影響系統的危險功能,放到不會正常操作到的位置)
10. 消除附加工作
消除附加工作使使用者更加有效率。
不要固定培訓工具。
不要極端愚蠢的中止使用者進程。
別讓使用者申請許可。
在有輸入的地方允許輸入。
11. 導航和調整
為典型的導航調整介面。
如果回報值得,使用者願意付出相稱的努力。
13. 重新思考“Files”和"Save"
磁碟和檔案不能協助使用者實現他們的目標
14. 設計體貼的軟體
軟體應該體貼。(好無趣的一句話...)
15. 設計智能的軟體
電腦工作,使用者思考。
如果值得使用者輸入,就值得程式記住。
17. 改進資料輸入
錯誤可能不是你犯的,但保護使用者是你的責任。
檢查,而不矯正。
19. 外觀設計
視覺化介面基於視覺模式。
在視覺上區分不同行為的元素。
可視化地傳達功能與行為。
可視化地顯示大致內容,文本化地顯示具體對象。
除非有真正出眾的可選方法,否則遵守標準。
一致性並不意味著僵化。
20. 隱喻、習慣用法和啟示
使用者喜歡成功,而不是知識淵博。
所有的習慣用法都需要學習;好的習慣用法只需要學一次。
不要讓你的介面屈從某個隱喻。
21. 直接操作和定點裝置
豐富的視覺互動是直接操作成功的關鍵。
在視覺上暗示受範性。
24. 操作控制項、對象和串連
提供取消拖動的方法,並向使用者明確表示。
25. 視窗行為
對話方塊是另一個房間,去之前要個好理由。
任何互動習慣習慣的效果都和上下文相關。
26. 使用控制項
為有界輸入使用有界控制項。
27. 菜單:教學向量
用菜單和對話方塊提供教學向量。
29. 使用工具條和工具提示
在所有工具條和表徵圖控制項上使用工具提示。
30. 使用對話方塊
將主要的互動放在主視窗中。
對話方塊打斷了流。
31. 對話方塊禮節
所有的習慣用法都有實踐性約束。
33. 消除錯誤
使用者介面不應該是膚淺的。
儘可能使錯誤不可能出現。
當軟體告訴使用者失敗了時,使用者會覺得很沒面子。
34. 通知和確定
做,不要問。
讓所有的動作都可以撤銷。
提供非模態反饋來協助避免使用者犯錯誤。