用户体验设计指南

我们建议你遵循下面的则例以确保你的应用具有良好的可用性。

  • 象征性的符号是很难学习并且记住的
    • 避免强迫用户去学习复杂的交互手势。
  • 相反,应从现实世界中的实际交互行为来吸取灵感
    • 近似自然的物理交互行为能够使得你的应用使用起来更加直观和自然,同时还能降低用户的学习成本。
  • 不要被现实世界所限制,这个应用是你说了算
    • 交互并不一定需要总是和它原来的方式相同。它可以被想象为任何方式。为什么用户必须伸手去抓一个东西?而不是让这个东西自己过来?给它们一些『动力』!
  • 用户应该能够感觉到它们的意图被增强了而不是被限制或者掩盖了。
    • 比如,当用户使用鼠标时,它们一般习惯自己的动作被放大(换句话说,他们不想为了把指针在屏幕上移动 10 英寸而真的把鼠标移动那么多)。对于手势的交互而言,增强或者夸张反馈能获得更好的效果。注意,有些人回避其他人更敏感,所以这些增强属性应该能够有用户来自己定义。
  • 专注于对用户的行为给予反馈,他们得到的反馈越多,你软件的交互也就更加明确。
    • 比如,用户需要明确知道他们确实是『按下』了一个按钮,当他们可以知道他们的手放在按钮的上方或者已经按下了多少的时候,交互的过程会更加高效。
  • 屏幕视觉效果(比如手、工具或者反馈的表示)应该是简洁、功能导向的、无干扰的信息。
    • 用户不应该被画面中的工具或环境影响而分神。装饰品也不应该分散干扰你主要想展示的内容。
  • 破坏性或者不可逆转的操作动作要被设计得比执行无破坏性操作动作更加刻意
    • 惊喜的手势应该留给惊喜的操作。相反地,像关闭应用程序或删除文件这类不可逆转的操作应该对应一个更加刻意的动作。当不确定时,应该让用户进行反复确认,比如弹出一个提示框。
  • 在导航和交互之间要有一个清晰明确的划分,除非两者都非常简单或者其中一个是自动控制(或者有辅助)的。在复杂的情况中混淆两者只会给用户带来困扰和迷惑。
    • 比如,用户在一个 3D 环境中定位他的视角的同时再去移动另一个物体是非常困难的。但是,如果视角的改变是随着用户的移动自动变换,那移动另一个物体就简单多了。并且,在大量数据中导航时,用户希望自己的视角可以方便地变动;而在高亮某一部分数据时,他们则希望自己的视野能够被固定。
  • 总之,想想用户在没有任何指导和教程的情况下使用你的程序。
    • 竟可能的使用户只需要利用他们的第一直觉就能作对。如果可以,多构建一些完成同样任务的不同途径。