最佳实践& GUI设计原则

时间:2008-09-18 07:57:16

标签: user-interface principles

您最方便的用户友好型用户界面设计或原则是什么?

请提交您认为真正有用的实践 - 无论如何 - 如果它适用于您的用户,请分享!


概要/归类

原理

  1. KISS。
  2. 明确并明确选项将实现的内容:例如,使用动词来指示选择后面的操作(参见:Impl.1)。
  3. 使用适合用户需要/想要实现的明显默认操作。
  4. 使UI的外观和行为适合环境/流程/受众:独立应用程序,网页,便携式,科学分析,Flash游戏,专业人士/儿童......
  5. 减少新用户的学习曲线。
  6. 不要禁用或隐藏选项,而应考虑提供有用的消息,其中用户可以有替代方案,但仅限于存在这些替代方案的地方。如果没有可用的替代方案,最好禁用该选项 - 在视觉上然后声明该选项不可用 - 不要隐藏不可用的选项,而是在鼠标悬停弹出中解释为什么它被禁用。
  7. 保持一致并遵守实践和控件的放置,正如在广泛使用的成功应用程序中实现的那样。
  8. 引导用户的期望,让您的程序按照这些期望行事。
  9. 坚持用户的词汇和知识,不要使用程序员/实现术语。
  10. 遵循基本设计原则:对比度(显而易见性),重复性(一致性),对齐(外观)和接近度(分组)。
  11. 实施

    1. (请参阅paiNie的回答)“尝试在对话框中使用动词。”
    2. 允许/实施撤消和重做。
    3. 参考

      1. Windows Vista用户体验指南[http://msdn.microsoft.com/en-us/library/aa511258.aspx]
      2. 荷兰网站 - “Drempelvrij”指南[http://www.drempelvrij.nl/richtlijnen]
      3. 网页内容无障碍指南(WCAG 1.0)[http://www.w3.org/TR/WCAG10/]
      4. 一致[http://www.amazon.com/Design-Everyday-Things-Donald-Norman/dp/0385267746]
      5. 不要让我思考[http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758/ref=pdbbssr_1?ie=UTF8&s=books&qid=1221726383&sr=8-1]
      6. 功能强大且简单[http://msdn.microsoft.com/en-us/library/aa511332.aspx]
      7. 格式塔设计法[http://www.squidoo.com/gestaltlaws]

19 个答案:

答案 0 :(得分:53)

我对我的奶奶测试我的GUI。

答案 1 :(得分:53)

尝试在对话框中使用动词。

表示使用

alt text

而不是

alt text

答案 2 :(得分:26)

遵循基本设计原则

  • C ontrast - 使不同的内容看起来不同
  • R 重复 - 在屏幕和其他屏幕上重复相同的风格
  • A lignment - 排行屏幕元素!是的,包括文字,图片,控件和标签。
  • P roximity - 将相关元素组合在一起。输入地址的一组输入字段应该组合在一起,并且与输入字段组不同,以输入信用卡信息。这是基本的Gestalt Design Laws

答案 3 :(得分:24)

从不问“你确定吗?”。只需允许无限制,可靠的撤销/重做。

答案 4 :(得分:11)

尝试考虑用户想要达到的目标而不是要求。

用户将进入您的系统并使用它来实现目标。当你打开calc时,你需要在90%的时间内进行简单的快速计算,这就是为什么默认情况下它被设置为简单模式。

因此,不要考虑应用程序必须做什么,而要考虑将要执行此操作的用户,可能是无聊的,并尝试根据他的意图进行设计,尝试让他的生活更轻松。

答案 5 :(得分:8)

如果您正在为网络或任何前端软件应用程序做任何事情,那么您真的应该自己阅读......

Don't make me think - Steve Krug

答案 6 :(得分:7)

webapps中的面包屑:
告诉 - > - >用户 - >哪里 - >她 - > 在系统中

在具有多条相同数据路径的“动态”系统中,这很难做到,但它通常有助于导航系统。

答案 7 :(得分:6)

我努力适应环境。

在为Windows应用程序开发时,我使用Windows Vista User Experience Guidelines,但在我开发Web应用程序时,我使用了相应的指南,因为我开发的荷兰语网站使用"Drempelvrij" guidelines基于万维网联盟(W3C)的Web Content Accessibility Guidelines (WCAG 1.0)

我这样做的原因是为了减少新用户的学习曲线。

答案 8 :(得分:6)

我建议您阅读本书 The Design of Everyday Things ,以便对GUI设计有一个很好的理解。虽然主要可打印是来自 Joel Spolsky 的注释:当应用程序的行为与用户期望的行为不同时,您的图形用户界面就会出现问题。

最好的例子是,有人在某些网站上围绕确定取消按钮进行交换。用户希望 OK 按钮位于左侧, Cancel 按钮位于右侧。简而言之,当应用程序行为与用户期望发生的事情不同时,您就会遇到用户界面设计问题。

尽管如此,无论您遵循何种设计或设计模式,最好的建议是在整个应用程序中保持设计和约定的一致性。

答案 9 :(得分:3)

尽量避免要求用户做出选择(即不要使用配置对话框创建分支!)

对于每个选项和每个消息框,请问自己:我能否提出一些合理的默认行为

  • 有道理吗?
  • 没有以用户的方式进入?
  • 很容易知道用户对我施加这些费用很少吗?

我可以使用Palm掌上电脑作为示例:设置非常简约,我对此非常满意。基本应用程序设计得足够好,我可以简单地使用它们而不需要调整。好吧,有一些我不能做的事情,事实上我有点不得不适应工具(而不是相反),但最终这让我的生活更轻松。

这个网站是另一个例子:你不能配置任何东西,但我发现它真的很好用。

合理的默认值很难弄清楚,简单的可用性测试可以提供很多线索来帮助你。

答案 10 :(得分:3)

显示用户样本的界面。让他们执行一项典型的任务。留意他们的错误。听取他们的意见。进行更改并重复。

答案 11 :(得分:2)

日常事物的设计 - 唐纳德诺曼

世界各大学的设计知识和许多人机交互课程的基础。你不会在五分钟内通过网络论坛发表一些评论来设计一个出色的GUI,但是一些原则会让你的思维指向正确的方式。

-

MC

答案 12 :(得分:2)

构造错误消息时,请输入错误消息 这三个问题的答案(按此顺序):

  1. 发生了什么事?

  2. 为什么会这样?

  3. 可以做些什么呢?

  4. 这来自“人机界面指南:Apple桌面” 界面“(1987,ISBN 0-201-17753-6),但它可以使用 任何错误信息。 Mac OS X有一个updated version。 Microsoft页面 User Interface Messages 同样的说法:“......如果出现错误信息, 您应该包括问题,原因和用户操作 纠正问题。“

    还包括程序已知的任何信息, 不只是一些固定的字符串。例如。对于“为什么会发生”错误消息的一部分使用“原始频谱文件 L:\ refDataForMascotParser \ TripleEncoding \ Q1LCMS190203_01Doub leArg.wiff不存在“而不仅仅是”文件 不存在“。

    将此与臭名昭着的错误消息进行对比:“错误 happend“。

答案 13 :(得分:1)

(从Joel偷走:o))

不要禁用/删除选项 - 而是在用户单击/选择它时提供有用的信息。

答案 14 :(得分:1)

正如我的数据结构教授今天指出的那样:说明你的程序如何对普通用户起作用。我们程序员经常认为我们的程序非常符合逻辑,但普通用户可能不知道该怎么做。

答案 15 :(得分:1)

  1. 使用谨慎/简单的动画功能创建从一个部分到另一个部分的无缝过渡。这有助于用户创建导航/结构的心理地图。

  2. 在按钮上使用简短(如果可能的话,一个字)标题,清楚地描述行动的本质。

  3. 尽可能使用语义缩放(一个很好的例子就是缩放如何在Google / Bing地图上运行,当您专注于某个区域时,可以看到更多信息。)

  4. 创建至少两种导航方式:垂直和水平。当您在部分或子部分的内容中导航时,在不同部分和水平之间导航时垂直。

  5. 始终保持结构的主要选项节点可见(屏幕大小和设备类型允许的位置)。

  6. 当你深入到结构中时,总是保持一个可见的提示(例如以路径的形式),指示你的位置。

  7. 当您希望用户关注数据(例如阅读文章或查看项目)时隐藏元素。 - 但请注意第5点和第4点。

答案 16 :(得分:0)

Be Powerful and Simple

哦,聘请设计师/学习设计技巧。 :)

答案 17 :(得分:0)

使用GUI,标准是一种特定于平台的。例如。在Eclipse中开发GUI时,link提供了不错的指导。

答案 18 :(得分:0)

我已经阅读了上述大部分内容以及我未提及的一件事:

如果用户打算使用ONCE接口,只显示他们需要使用的内容很棒。

如果用户界面将由同一个用户重复使用,但可能不经常使用,禁用控件比隐藏它们更好:用户界面更改和隐藏功能不会被偶然的用户明显(或记住)对用户来说是令人沮丧的。

如果用户界面将由同一个用户非常规律地使用(并且作业中没有大量的营业额,即很多新用户不会一直在线),禁用控件绝对有用,并且用户将习惯于事情发生的原因,但是防止他们在不正确的情境中意外地使用控制并且防止错误。

仅限我的意见,但这一切都可以追溯到了解您的用户个人资料,而不仅仅是单个用户会话可能带来的内容。