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

发布于 2024-07-04 03:31:04 字数 176 浏览 7 评论 0原文

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

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

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

有什么建议么?

I'm not a usability specialist, and I really don't care to be one.

I just want a small set of rules of thumb that I can follow while coding my user interfaces so that my product has decent usability.

At first I thought that this question would be easy to answer "Use your common sense", but if it's so common among us developers we wouldn't, as a group, have a reputation for our horrible interfaces.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(16

赏烟花じ飞满天 2024-07-11 03:31:04
  • 简单优于复杂
  • 复杂优于复杂(消除“嵌套的 if”)
  • 直观(好的元素不需要解释)
  • 遵循惯例(例如,下划线表示链接,红色表示错误,制表符转到下一个字段等)
  • 使用语义来应用逻辑(首先读取标题,然后读取段落)
  • 空格很重要
  • Simple is better than complex
  • Complex is better than complicated (eliminate 'nested ifs')
  • Intuitive (good elements needs no explanation)
  • Follow the convention (for example, underlined means link, red means error, tab goes to next field, etc.)
  • Use semantics to apply the logic (header reads first, paragraphs next)
  • whitespace is important
欢你一世 2024-07-11 03:31:04

《Don't Make Me Think》的一个很好的后续是 Robert Hoekman设计显而易见的。 它更专注于 Web 应用程序,而不是像 Krug 那样的网站。

A good follow on to Don't Make Me Think is Robert Hoekman's Designing the Obvious. It's more focused on web applications, as opposed to web sites like in Krug's.

番薯 2024-07-11 03:31:04

除了这里的其他建议之外,我还建议 Jenifer Tidwell 的设计界面作为一个好方法熟悉 UI 约定。
另外,囚犯们正在管理收容所作者:艾伦·库珀< /a> 非常适合提供如何进行交互设计的见解。

In addition to the other recommendations here, I'd recommend Designing Interfaces by Jenifer Tidwell as a good way of becoming familiar with UI conventions.
Also, The inmates are running the asylum By Alan Cooper is excellent for providing an insight into how to approach interaction design.

吾家有女初长成 2024-07-11 03:31:04

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

  • 大多数是专业用户,了解该应用程序的使用领域并经常使用该应用程序吗? 然后,不要害怕向屏幕添加大量数据,只要它为用户逻辑排列即可(通常不按字母顺序:-)。 想想股票经纪人或飞机驾驶舱的交易屏幕。
  • 用户是临时用户吗? 把事情简单化。 避免上下文切换(每次在屏幕上保留任务的所有/尽可能多的必要数据)。 不要破坏 GUI 小部件正常工作方式的期望。 为失败而设计。
  • 中间有什么吗? 允许用户在 UI 中成长。 跟踪使用情况,以便您稍后可以确定用户似乎在哪里花费最多时间,以便您可以改进应用程序最常用的区域。
  • 在朋友和同事身上测试您的应用程序(走廊测试),看看他们是否能够有效地使用它。

这是一个开始。

Think about the users that will use your app. Why are they using it and in which context?

  • Will the majority be pro users that know the domain in which the application is used and use the app a lot? Then don't be afraid of adding a lot of data to the screens as long as it arranged logically for users (normally that is not in alphabetical order :-). Think trade screens for stock borkers or airplane cockpits.
  • Are users occassional users? Keep it simple. Avoid context switches (keep all/as much as possible of necessary data for a task on the screen at each time). Don't break expectations of how gui widgets normally work. Design for failures.
  • Anything in between? Allow users to grow in the UI. Track usage so you can later determine where users seem to spend the most time so you can improve the most used areas of your app.
  • Test your app on friends and colleagues (the corridor test) to see if they are able to use it efficiently.

That's a start.

家住魔仙堡 2024-07-11 03:31:04

我建议阅读来自 博客文章 rel="nofollow noreferrer">Enso 创作者。

当然,他们会重复书籍中的指南/想法/建议,例如
日常事物的设计关于 Face,不过,这些帖子包含了相当多的见解,(IMO)它们是一本很好的读物。

I suggest to read these blog posts from the Enso creators.

Of course they repeat guides/ideas/advices from books such as
The Design of Everyday Things and About Face, but nevertheless, the posts contain quite a few insights and (IMO) they are a good read.

溺孤伤于心 2024-07-11 03:31:04

您的用户需要什么信息,将其放在屏幕上,而不是其他任何信息。 如果您无法定义用户的需求 - 寻找另一个用户。

What information does your user need, put that on the screen and nothing else. If you cannot define what the user needs - get another user.

赠佳期 2024-07-11 03:31:04

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

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

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

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

Remember that your application will be one of many the user will have to deal with. Don't do things just to be different or kewl. Don't come up with unusual graphics, behaviors, terminology, or interactions. Use the standard OS controls, conventions, utilities, and behaviors.

Let your app interoperate with other apps; allow cutting and pasting of data, save your data in formats other apps can read, and allow importing data from other apps instead of using your UI.

If you are making a desktop app, do not try to take over the user's computer. Leave the user's Documents folder, task bar, and application preferences alone. Don't change anything already installed on the computer. Allow scripted or command-line interactions.

If you're making a web app, do not try to take over the browser. Do not try to subvert the standard menu bars, history, layout, or fonts. Allow the user to change the page using Javascript.

小瓶盖 2024-07-11 03:31:04

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

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

(1) Common actions should require as little effort as possible and should be obvious; on the other hand, actions that are rarely needed can be require a lot of steps and can be hidden behind menus and dialogs. To be able to do so, you should always describe what the user will want to do with the application by listing use cases.

(2) A UI should be selfdocumenting. The manual should be integrated in the application's dialogs and menu's, as users don't read separate manuals. For example, the keyboard shortcut should be shown in the menu item representing the action it is associated with.

情话墙 2024-07-11 03:31:04

为高级用户提供键盘快捷键(即使它像“按回车键进行搜索”一样简单)

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

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

Provide keyboard shortcuts for power users (even if it is as simple as "hit enter to search")

Don't put too much on screen at once.

If you pop up a messagebox, your users generally won't ever read it.

栩栩如生 2024-07-11 03:31:04

以下是一些简单的规则:

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

想想用户需要点击多少次鼠标/键盘才能完成某些操作。

PS - 请不要告诉 Microsoft Office 2008 的人们这件事; 可怜的小家伙今晚会哭着入睡的! :)

Here are some simple rules:

  • Fewer clicks are better.
  • Frequently used features should be easier to find.
  • Features for "advanced" users can be harder to find than the ones above.

Think about the number of mouse/keyboard clicks it takes a user to get to something.

PS - please don't tell the Microsoft Office 2008 people about this; the poor little guys would cry themselves to sleep tonight! :)

情域 2024-07-11 03:31:04

我给某人的最重要的一条建议是首先研究用户界面。 笔和纸等等。 这样,你就不会下意识地将按钮与函数、输入字段与变量等耦合起来。

最好的 UI 可能对编码来说是一种痛苦,如果你的后端代码主要是编写的,它会破坏你的思维。

除此之外,我会指出 Apple 的人机界面指南< /a>. 当然,如果您的平台不是 OS X,请谨慎对待 OS X 部分。 在 OS X 中有效的内容可能在 Windows 上无效。 您应该接受您平台的习惯用法。

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

The single most important piece of advice I'd give someone is to work on the UI first. Pen and paper and all. That way, you won't subconsciously couple buttons to functions, input fields to variables, etc.

The best UI might be a pain to code, and if your backend code is mostly written, it will sabotage your thinking.

Other than that, I'd point to Apple's Human Interface Guidelines. Of course, if your platform is not OS X, take the OS X sections with a lot of salt. What works in OS X might not work on Windows. You should embrace your platform's idioms.

OS X stuff aside, that document has some pretty good starting points on the fundamentals.

初懵 2024-07-11 03:31:04

避免使用模式。 当输入有时有效但其他无效,或者在不同时间执行不同的操作时,用户会感到沮丧。

Avoid modes. It's frustrating to a user when input works sometimes but not others, or does different things at different times.

寄离 2024-07-11 03:31:04
  • 不要让事情以与用户期望不同的方式工作(即在 Web 表单中使用 Ajax 时破坏“后退”按钮)
  • 遵循 KISS 原则

实际上,某人发布的任何规则都将是主题的变体:
不要让你的用户思考

“不要让我思考”已发布,另请参阅
日常事物的设计使用 Web 标准进行设计,这也非常适合轻松阅读。

  • Don't make things work in a different way than your users are expecting (i.e. breaking the "back" button when using Ajax in web forms
  • Follow the K.I.S.S principal

Really, any rules someone posts will be a variation on the theme:
Don't Make Your Users Think

"Don't Make Me Think" has already been posted, see also
Design of Everyday Things and Designing with Web Standards which are also great for light usability reading.

樱&纷飞 2024-07-11 03:31:04

实际上只有两件事:

  1. “当程序的行为完全符合用户的预期时,用户界面就是精心设计的” - 来自 Joel Spolsky 的程序员的用户界面设计
  2. “nofollow noreferrer”引用 在用户面前进行设计。 真正的最终用户是最好的,但对于轻量级、快速的反馈,你无法击败走廊可用性测试,即找一个同事。

如果您记住乔尔的建议并确保您所做的任何事情都得到反馈并采取行动(即迭代),您就不会犯太大的错误。 我会赞同 Steve Krug 的 Don't Make Me Think 的推荐 - 这可能是最好的我读过的与工作相关的书,没有之一,并且同样适用于桌面软件和网站。

希望这可以帮助。

Just two things, really:

  1. "A user interface is well-designed when the program behaves exactly how the user thought it would" - quoted from Joel Spolsky's User Interface Design For Programmers
  2. Put your designs in front of a user. A real end-user is best, but for lightweight, rapid feedback, you can't beat hallway usability testing i.e. grab a co-worker.

If you remember Joel's advice and make sure you get feedback on whatever you do and act on it i.e. iterate, you'll not go too far wrong. And I would echo the recommendation for Steve Krug's Don't Make Me Think - it's probably the best work-related book I've read, bar none, and is just as applicable to desktop software as websites.

Hope this helps.

七堇年 2024-07-11 03:31:04

阅读史蒂夫·克鲁格的《别让我思考》。 这是一个很好的起点,也是一本简单易读的短文。

编辑:虽然这主要是为了网络可用性,但即使您正在做富客户端,它仍然是一本好书。

Read Don't Make Me Think by Steve Krug. It is a great starting point, and an easy short read.

EDIT: This is mainly for web usability though, but it would still be a good read even if you are doing rich clients.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文