25

可能重复:
人因设计(满足UI设计中的心理需求)

对于人机交互的用户界面设计、可用性和较少的技术方面,开发人员应该了解什么?

我们应该采用哪些关于使用场景、用户行为模式和用户与计算机交互的心理的知识来设计有效的软件,帮助用户以自然和简单的方式解决他们的问题,而不会设置障碍和制造障碍?

软件设计不仅仅是构建体系结构、实现需求和创建漂亮的界面。一个漂亮的界面不一定有用和有效,反之亦然,一个丑陋的软件实用程序可以成为许多用户最喜欢的工具。一个体面的开发人员或设计师至少应该具备哪些基本知识才能平滑用户体验?

请针对每个答案关注一个问题,描述一个问题,举例说明用户体验是如何受损的,以及解决这种情况的方法是什么。

我将开始:

问题:在一个屏幕上立即显示大量控件和选项的界面可能会让用户不知所措。他们将不得不浪费时间浏览所有这些试图找到他们需要的选项。他们也会在这个过程中分心,看到更多功能,去那里了解它,也许阅读帮助以查看它是否可以解决他们的问题,然后是另一个,依此类推,直到他们完全迷失。

示例:作为一个很好的示例,我将引用 2007 之前版本的 Microsoft Word(以及其他 Office 应用程序)。大量的菜单和选项总是让我害怕。我设法记住了我最需要的选项在哪里,但仅此而已。所有额外的东西,我倾向于用谷歌搜索我需要了解这个特定功能在选项森林中的位置。

解决方案:将所有额外选项隐藏在逻辑结构的几个菜单和子菜单后面,以便用户能够通过逻辑思维过程找到它们。2007 年的重新设计显然通过将选项分组到选项卡中考虑了这个问题。我发现了许多我需要的新选项,而无需使用谷歌搜索,而只是通过思考它应该属于哪里并在那里寻找。并不是说它一直有效,但可以感觉到改进。

现在,你有什么想法?

4

9 回答 9

12

有用和有效的界面漂亮。将他们视为 UI 设计师,而不是艺术专业。:-)

  • 简单; 尽可能少的选择可以满足需求。
  • 公约;遵循用户已经熟悉的模式。
  • 观察;关注用户,解决问题的地方。
  • 温柔;编写人类可读的错误。不要让用户感到不安。
  • 一致性;在应用程序的任何地方都以相同的方式做事。让一个人写下你所有的文本,或者写一个文本必须符合的标准。
于 2009-10-06T17:51:55.220 回答
9

学会倾听。

用户会说出他们想要什么,但不会用你习惯的语言。社交,坐下来,慢慢来,倾听。看他们工作,问问题。提出一些想法“你想怎么……?” 并听取答复。不要以为某事对他们会更好,问问他们。不要强迫他们走上特定的道路,因为它更容易编码。

于 2009-08-25T09:21:10.533 回答
4

在一个屏幕上立即显示大量控件和选项的界面可能会让用户不知所措。

GMail 有这样的口号“搜索,不要排序”。相同的原理可以应用于用户界面。正如您所提到的,用户已经通过谷歌搜索功能自己这样做了。

现在下一步是在应用程序中构建对特征搜索的支持。点击键盘快捷键,输入几个关键字,然后单击您要使用的功能。即将推出的 RAD Studio 2010 中的IDE Insight功能正是这样做的。

于 2009-08-25T11:38:59.400 回答
2

我知道这个问题有点老了,但我很惊讶没有人提到 Joel Spolsky 的优秀文章:程序员的用户界面设计。这绝对是每个开发人员都应该阅读的内容。里面没有特别精辟或独创的想法,主要是常识,但它确实让我看到了一些不那么明显的点......

于 2009-11-07T17:45:36.047 回答
2

问题:用户界面通常与域模型没有一对一的对应关系:

  • 存在沟通问题,因为程序员谈论隐藏域模型,而用户谈论 GUI。
  • 由于用户受限于基于任务的用户界面,因此存在维护问题。即使域模型可能已经支持它,他们也经常需要请求“一个新的屏幕来执行此操作”。

解决方案:裸物建筑设计模式。将这一点发挥到极致,您甚至可以从域模型中自动生成 GUI

于 2009-08-25T12:05:40.267 回答
1

在我试图卖掉我的房子之前,我曾经认为美学是无用的。坚固的地基、3 间卧室、2 个浴室、2 个车库、带围栏的院子,等等,等等等等——直到我摆脱了我的 3 只狗的臭味,没人会碰它。

应用程序/网站在视觉上越令人愉悦,它被使用的机会就越大。现在,用户将试一试并确定它是否可以做任何他们想做的事情。最后,它的可用性如何?这个时候你可能会得到更多的反馈。

就像房子一样:摆脱杂乱,清理一切,从通用调色板开始,如果需要,让用户添加疯狂的颜色。

于 2009-08-25T19:13:24.377 回答
1

我建议阅读唐纳德诺曼的“日常事物的设计”。

于 2009-08-25T11:52:41.073 回答
0

过去两年我在一家制药公司工作,我认为界面的设计几乎和功能一样重要。看着用户在旧的复杂遗留代码中挣扎是重新设计它的主要原因。功能很少是重新开发或替换代码的主要原因。

  • 可用性研究
  • 看着人们使用你的代码
  • 极限编程(在整个设计过程中间歇性地交付预览代码)

对于交付不仅满足用户需求而且让他们快乐和高效的代码来说,这些都是必不可少的。归根结底,只有让你快乐和富有成效的程序才会被使用。

于 2009-10-06T17:29:49.443 回答
0

如果您真的想睁开眼睛,请参加人因工程课程。

于 2009-10-05T18:01:10.107 回答