普通开发人员应该遵循哪些良好的可用性准则?
我不是可用性专家,而且我真的不想成为一名可用性专家。
我只想要一小组在编写用户界面时可以遵循的经验规则,以便我的产品具有良好的可用性。
起初我认为这个问题很容易回答“用你的常识”,但如果它在我们开发人员中如此普遍,我们作为一个群体就不会因为我们糟糕的界面而闻名。
有什么建议么?
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(16)
《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.
除了这里的其他建议之外,我还建议 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.
考虑将使用您的应用程序的用户。 他们为什么使用它以及在什么情况下使用它?
这是一个开始。
Think about the users that will use your app. Why are they using it and in which context?
That's a start.
我建议阅读来自 博客文章 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.
您的用户需要什么信息,将其放在屏幕上,而不是其他任何信息。 如果您无法定义用户的需求 - 寻找另一个用户。
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.
请记住,您的应用程序将是用户必须处理的众多应用程序之一。 不要只是为了与众不同或与众不同而做事。 不要提出不寻常的图形、行为、术语或交互。 使用标准操作系统控件、约定、实用程序和行为。
让您的应用程序与其他应用程序互操作; 允许剪切和粘贴数据,以其他应用程序可以读取的格式保存数据,并允许从其他应用程序导入数据而不是使用您的 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.
(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.
为高级用户提供键盘快捷键(即使它像“按回车键进行搜索”一样简单)
不要一次在屏幕上放置太多内容。
如果您弹出消息框,您的用户通常不会阅读它。
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.
以下是一些简单的规则:
想想用户需要点击多少次鼠标/键盘才能完成某些操作。
PS - 请不要告诉 Microsoft Office 2008 的人们这件事; 可怜的小家伙今晚会哭着入睡的! :)
Here are some simple rules:
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! :)
我给某人的最重要的一条建议是首先研究用户界面。 笔和纸等等。 这样,你就不会下意识地将按钮与函数、输入字段与变量等耦合起来。
最好的 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.
避免使用模式。 当输入有时有效但其他无效,或者在不同时间执行不同的操作时,用户会感到沮丧。
Avoid modes. It's frustrating to a user when input works sometimes but not others, or does different things at different times.
实际上,某人发布的任何规则都将是主题的变体:
不要让你的用户思考
“不要让我思考”已发布,另请参阅
日常事物的设计和使用 Web 标准进行设计,这也非常适合轻松阅读。
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.
实际上只有两件事:
如果您记住乔尔的建议并确保您所做的任何事情都得到反馈并采取行动(即迭代),您就不会犯太大的错误。 我会赞同 Steve Krug 的 Don't Make Me Think 的推荐 - 这可能是最好的我读过的与工作相关的书,没有之一,并且同样适用于桌面软件和网站。
希望这可以帮助。
Just two things, really:
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.
来源:http://stuffthathappens.com/blog/wp-content/uploads/2008/03/simplicity.png
Source: http://stuffthathappens.com/blog/wp-content/uploads/2008/03/simplicity.png
阅读史蒂夫·克鲁格的《别让我思考》。 这是一个很好的起点,也是一本简单易读的短文。
编辑:虽然这主要是为了网络可用性,但即使您正在做富客户端,它仍然是一本好书。
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.