我们做界面设计的目的是去给用户的工作积极的支持而不是相反把无意义的东西强加于人。界面在用户和他们要完成的任务之间应该是透明的,而且是高效、舒适、让人心情愉悦的。下面介绍的是几个保证软件界面设计成功的基本原则。
简单:不要在功能的可用性上妥协保持界面简洁直观。用户需要易于理解和操作的功能。在一个组织糟糕的界面上,用户被大量高级功能所困扰,而无法直接的去使用最常用的功能。而一个组织有序的界面会把用户要完成的任务结合到背景中去,让用户能更有效的操作。最基本的功能应该让人可以立刻看到,而那些高级功能对于新用户来说可以不那么明显。只有经过任务分析而确定的必要的功能才应该被放到界面上。要让用户尽可能的使用最少的功能,经过最少的步骤完成他们的任务。
支持:把控制权交给用户并且提供提示性帮助,把系统的控制权交给用户,允许他们使用在日常生活中习惯的各种步骤完成他们的任务,不要用你主张的所谓“正确”的操作步骤去人为的限制用户的操作。系统应该允许用户建立并且维护自己的工作环境。系统的当前状态和能够被使用的操作应该有明确的标示。系统应该允许用户离开,并为他们保留离开时的工作状态。提供有关联的工作环境会使用户对系统有稳定的感觉。大部分用户都需要完成很多任务,在某些方面他们可能是专家,但在另外的方面,他们则可能是个新手。要做到在用户需要的时候能及时提供帮助,系统就应该理解并预计到用户的目的,然后再协助他们更轻松的完成任务。理想的帮助系统应该教给用户能够快速完成任务的知识。帮助系统应该在用户选择要独立完成一些任务的时候教会他们。
相似:建立在用户已有的经验上允许用户根据以往的经验操作系统,特别是他们从现实世界中获得的经验。这些经验的一小部分,被引用到交互界面中来,也将对用户完成大量的任务有很大帮助。通过一次学习获得的概念和技术应该能被应用在各种环境下。用户不应该为完成相似的任务而去学习新的东西。在交互界面中采用用户已经在现实世界里学到的概念和技术,可以让他们立刻在计算机上开始工作并确保进展顺利。
隐喻的技巧曾经被用来让计算机世界里的事物与现实世界相对应,而在今天的界面设计中,隐喻已经逐渐不能满足需要了。由于在视觉和交互技术上的进步,交互界面日趋接近人们的真实世界,对隐喻的依赖也越来越小了。过去,当设计师不知道哪个方案最佳的时候总是遵循前后一致的原则。选择用户已经理解的事物,保持概念的前后一致,也能够让界面更容易学习,更有效率,甚至更让用户心情舒畅。 要避免盲目的遵循一致性原则而忽略了去了解你的用户以及他们的任务和经验。决定新的系统在哪些方面同以前保持一致性的之前,先去了解一下用户的需要,看看他们期望保留些什么东西。确保用户在新的系统里有似曾相识的感觉才是设计一个真正直观的交互界面根本的目的。
显而易见:让对象和操作都直观可见,只要有可能,就要使交互界面表现的和真实世界一样。模仿真实世界和自然直接的交互方式能让交互界面更加直观,更易学易用。利用用户在计算机领域外的经验的最早尝试是使用图标和窗口系统。在我们逐渐趋向用真实世界的表示方法的时候,那些古老的表现方法将消失。在一个面向对象的交互界面上,展现给用户的对象和概念都是与真实世界相同的。例如我们的操作系统所提供的“回收站”,我们可以把没用的东西“扔”到里面。对我们来说,它更象一个真实的垃圾筐而不仅仅是一个抽象的容器。在需要的时候,我们甚至可以查看“回收站”里面都扔了些什么。对系统的控制应该明晰可见,而且各种功能也应该是明确的。对控制的可视化表现能够帮助用户理解操作规则,记住任务的步骤并且知道计算机正在做什么。例如,我们使用计算机提供的电话功能的时候,电话键盘的图象明白的告诉我们可以象用真实的电话键盘一样使用它们。允许用户直接去操作对象,尽量减少间接的操作步骤。识别并使用一个物体,在真实世界中不是被分开的步骤。同样的在计算机的操作中也没有必要把选择对象的步骤独立出来,因为选择的动作已经包含在拿起的动作中了。三维图象的界面更容易实现直接的操作。
简单:不要在功能的可用性上妥协保持界面简洁直观。用户需要易于理解和操作的功能。在一个组织糟糕的界面上,用户被大量高级功能所困扰,而无法直接的去使用最常用的功能。而一个组织有序的界面会把用户要完成的任务结合到背景中去,让用户能更有效的操作。最基本的功能应该让人可以立刻看到,而那些高级功能对于新用户来说可以不那么明显。只有经过任务分析而确定的必要的功能才应该被放到界面上。要让用户尽可能的使用最少的功能,经过最少的步骤完成他们的任务。
支持:把控制权交给用户并且提供提示性帮助,把系统的控制权交给用户,允许他们使用在日常生活中习惯的各种步骤完成他们的任务,不要用你主张的所谓“正确”的操作步骤去人为的限制用户的操作。系统应该允许用户建立并且维护自己的工作环境。系统的当前状态和能够被使用的操作应该有明确的标示。系统应该允许用户离开,并为他们保留离开时的工作状态。提供有关联的工作环境会使用户对系统有稳定的感觉。大部分用户都需要完成很多任务,在某些方面他们可能是专家,但在另外的方面,他们则可能是个新手。要做到在用户需要的时候能及时提供帮助,系统就应该理解并预计到用户的目的,然后再协助他们更轻松的完成任务。理想的帮助系统应该教给用户能够快速完成任务的知识。帮助系统应该在用户选择要独立完成一些任务的时候教会他们。
相似:建立在用户已有的经验上允许用户根据以往的经验操作系统,特别是他们从现实世界中获得的经验。这些经验的一小部分,被引用到交互界面中来,也将对用户完成大量的任务有很大帮助。通过一次学习获得的概念和技术应该能被应用在各种环境下。用户不应该为完成相似的任务而去学习新的东西。在交互界面中采用用户已经在现实世界里学到的概念和技术,可以让他们立刻在计算机上开始工作并确保进展顺利。
隐喻的技巧曾经被用来让计算机世界里的事物与现实世界相对应,而在今天的界面设计中,隐喻已经逐渐不能满足需要了。由于在视觉和交互技术上的进步,交互界面日趋接近人们的真实世界,对隐喻的依赖也越来越小了。过去,当设计师不知道哪个方案最佳的时候总是遵循前后一致的原则。选择用户已经理解的事物,保持概念的前后一致,也能够让界面更容易学习,更有效率,甚至更让用户心情舒畅。 要避免盲目的遵循一致性原则而忽略了去了解你的用户以及他们的任务和经验。决定新的系统在哪些方面同以前保持一致性的之前,先去了解一下用户的需要,看看他们期望保留些什么东西。确保用户在新的系统里有似曾相识的感觉才是设计一个真正直观的交互界面根本的目的。
显而易见:让对象和操作都直观可见,只要有可能,就要使交互界面表现的和真实世界一样。模仿真实世界和自然直接的交互方式能让交互界面更加直观,更易学易用。利用用户在计算机领域外的经验的最早尝试是使用图标和窗口系统。在我们逐渐趋向用真实世界的表示方法的时候,那些古老的表现方法将消失。在一个面向对象的交互界面上,展现给用户的对象和概念都是与真实世界相同的。例如我们的操作系统所提供的“回收站”,我们可以把没用的东西“扔”到里面。对我们来说,它更象一个真实的垃圾筐而不仅仅是一个抽象的容器。在需要的时候,我们甚至可以查看“回收站”里面都扔了些什么。对系统的控制应该明晰可见,而且各种功能也应该是明确的。对控制的可视化表现能够帮助用户理解操作规则,记住任务的步骤并且知道计算机正在做什么。例如,我们使用计算机提供的电话功能的时候,电话键盘的图象明白的告诉我们可以象用真实的电话键盘一样使用它们。允许用户直接去操作对象,尽量减少间接的操作步骤。识别并使用一个物体,在真实世界中不是被分开的步骤。同样的在计算机的操作中也没有必要把选择对象的步骤独立出来,因为选择的动作已经包含在拿起的动作中了。三维图象的界面更容易实现直接的操作。