普通开发人员应该遵循哪些良好的可用性指南?

时间:2008-09-09 01:00:39

标签: usability ui-guidelines

我不是可用性专家,我真的不想成为一名。

我只想要一小段经验法则,我可以在编写用户界面时遵循这些经验法则,以便我的产品具有良好的可用性。

起初我认为这个问题很容易回答“使用你的常识”,但如果它在我们这些开发人员中如此普遍,那么我们不会作为一个群体,因为我们糟糕的界面而闻名。

有什么建议吗?

17 个答案:

答案 0 :(得分:24)

答案 1 :(得分:12)

阅读Don't Make Me Think by Steve Krug。这是一个很好的起点,也是一个简单的简短阅读。

编辑:这主要是为了网络可用性,但即使你做富客户,它仍然是一个很好的阅读。

答案 2 :(得分:7)

真的只有两件事:

  1. “当程序完全符合用户的想法时,用户界面设计得很好” - 来自Joel Spolsky quoted
  2. User Interface Design For Programmers
  3. 将您的设计放在用户面前。真正的最终用户是最好的,但是对于轻量级,快速的反馈,你无法击败走廊可用性测试,即抓住同事。
  4. 如果你还记得乔尔的建议,并确保你得到关于你所做的任何事情的反馈并采取行动即迭代,你就不会走得太远。我会回应Steve Krug的Don't Make Me Think的建议 - 它可能是我读过的最好的与工作相关的书,没有,并且与桌面软件一样适用于网站。

    希望这有帮助。

答案 3 :(得分:5)

  • 不要让用户以预期的方式工作(即在Web表单中使用Ajax时打破“后退”按钮)
  • 关注K.I.S.S校长

真的,有人发布的任何规则都是主题的变体: 不要让用户思考

“不要让我思考”已经发布,另见 Design of Everyday ThingsDesigning with Web Standards也非常适合轻度可用性阅读。

答案 4 :(得分:4)

以下是一些简单的规则:

  • 点击次数越少越好。
  • 应该更容易找到经常使用的功能。
  • “高级”用户的功能可能比上面的用户更难找到。

考虑用户获取某些内容所需的鼠标/键盘点击次数。

PS - 请不要告诉Microsoft Office 2008人员;可怜的小家伙今晚会哭着自己睡觉! :)

答案 5 :(得分:4)

避免使用modes。当输入有时而不是其他用户工作或在不同时间做不同的事情时,对用户来说是令人沮丧的。

答案 6 :(得分:4)

我给予某人的一条最重要的建议是首先在UI上工作。笔和纸等等。这样,你就不会下意识地将按钮连接到函数,将字段输入到变量等等。

最好的用户界面可能会让代码感到痛苦,如果您的后端代码主要是编写代码,则会破坏您的思维。

除此之外,我指的是Apple's Human Interface Guidelines。当然,如果您的平台不是OS X,请使用OS X部分。在OS X中有效的方法可能无法在Windows上运行。你应该接受你的平台的习语。

除了OS X之外,该文档在基础知识方面有一些非常好的起点。

答案 7 :(得分:2)

答案 8 :(得分:1)

考虑将使用您的应用的用户。他们为什么要使用它以及在哪种情况下?

  • 大多数是专业用户,知道使用该应用程序的域名并使用该应用程序很多?然后不要害怕在屏幕上添加大量数据,只要它在逻辑上为用户排列(通常不按字母顺序排列:-)。想想看库存或飞机驾驶舱的交易屏幕。
  • 用户是偶像用户吗?把事情简单化。避免上下文切换(每次都为屏幕上的任务保留所有/尽可能多的必要数据)。不要打破gui小部件通常如何工作的期望。设计失败。
  • 介于两者之间?允许用户在UI中增长。跟踪使用情况,以便您稍后确定用户似乎花费最多时间的位置,以便您可以改善应用中最常用的区域。
  • 在朋友和同事(走廊测试)上测试您的应用,看看他们是否能够有效地使用它。

这是一个开始。

答案 9 :(得分:1)

我建议您从blog posts创作者那里阅读这些Enso

当然,他们会重复指南/想法/建议  The Design of Everyday ThingsAbout Face,但是,这些帖子包含了不少见解,而且(IMO)这些帖子很好读。

答案 10 :(得分:0)

您的用户需要哪些信息,将其放在屏幕上,而不是其他信息。如果您无法定义用户需要的内容 - 请其他用户。

答案 11 :(得分:0)

请记住,您的应用程序将是用户必须处理的众多应用程序之一。不要做只是为了与众不同或做事。不要提出不寻常的图形,行为,术语或交互。使用标准OS控件,约定,实用程序和行为。

让您的应用与其他应用互操作;允许剪切和粘贴数据,以其他应用程序可以读取的格式保存数据,并允许从其他应用程序导入数据,而不是使用您的UI。

如果您正在制作桌面应用,请不要尝试接管用户的计算机。仅保留用户的“文档”文件夹,任务栏和应用程序首选项。请勿更改计算机上已安装的任何内容。允许脚本或命令行交互。

如果您正在制作网络应用,请不要尝试接管浏览器。不要试图破坏标准菜单栏,历史记录,布局或字体。允许用户使用Javascript更改页面。

答案 12 :(得分:0)

(1) 共同行动应该尽可能少地努力并且应该是显而易见的;另一方面,很少需要的操作可能需要很多步骤,并且可以隐藏在菜单和对话框后面。为了能够这样做,您应该通过列出用例来描述用户想要对应用程序执行的操作。

(2) UI 应该是自我记录。手册应该集成在应用程序的对话框和菜单中,因为用户不会阅读单独的手册。例如,键盘快捷键应显示在表示与其关联的操作的菜单项中。

答案 13 :(得分:0)

为高级用户提供键盘快捷键(即使它像“点击输入搜索”一样简单)

不要一次在屏幕上放太多。

如果您弹出一个消息框,您的用户通常不会阅读它。

答案 14 :(得分:0)

  • 简单优于复杂
  • 复杂优于复杂(消除'嵌套ifs')
  • 直观(好元素无需解释)
  • 遵循约定(例如,带下划线表示链接,红色表示错误,标签转到下一个字段等)
  • 使用语义来应用逻辑(标题首先读,下一段)
  • 空白很重要

答案 15 :(得分:0)

除了此处的其他建议外,我还建议使用Designing Interfaces by Jenifer Tidwell作为熟悉UI惯例的好方法。
此外,The inmates are running the asylum By Alan Cooper非常适合深入了解如何进行交互设计。

答案 16 :(得分:0)

“不要让我思考”是Robert HoekmanDesigning the Obvious {{3}}。它更侧重于Web应用程序,而不是像Krug那样的网站。