User interface 防止用户错误的UI提示

User interface 防止用户错误的UI提示,user-interface,User Interface,应该遵循什么样的UI/GUI指导原则,巧妙地(或不那么巧妙地)指导用户,这样他们就不会射中自己的脚 例如,您可能想让超级用户能够“清理”数据库中不常使用的记录,但如果新用户刚刚花了数小时输入新记录,您不想让他们尝试该选项-他们可能会因为“不常使用”而丢失所有记录。请不要讨论这个具体的问题-它只是在这里澄清问题 虽然可以编写一系列业务逻辑以防止出现一些问题,但您不能说明用户可能做的每件事 防止不当使用的一些常见技巧、技巧和窍门是什么? 也就是说,我应该如何设计界面来提醒用户注意某个功能或操作

应该遵循什么样的UI/GUI指导原则,巧妙地(或不那么巧妙地)指导用户,这样他们就不会射中自己的脚

例如,您可能想让超级用户能够“清理”数据库中不常使用的记录,但如果新用户刚刚花了数小时输入新记录,您不想让他们尝试该选项-他们可能会因为“不常使用”而丢失所有记录。请不要讨论这个具体的问题-它只是在这里澄清问题

虽然可以编写一系列业务逻辑以防止出现一些问题,但您不能说明用户可能做的每件事

  • 防止不当使用的一些常见技巧、技巧和窍门是什么?
    • 也就是说,我应该如何设计界面来提醒用户注意某个功能或操作
  • 如果采取了错误的行动,我应该设计什么来限制风险和暴露?

-Adam使撤销危险操作成为可能


如果它是一个相当大的应用程序或系统,那么对于危险的操作也需要单独的管理员访问。

一切都可以撤消。不要擦除-停用。在每次破坏性操作之前进行备份,并为用户提供恢复的方法


这就是路。很难一直遵循它,但这正是你的目标。

这是一篇老文章,但仍然是一篇很棒的文章:


永远不要依赖那些说“你确定吗?”的话,用户总是肯定的,如果他们在解雇之前费心阅读的话。

你可以,事实上,你必须考虑他们可能做的一切。因为你(作为设计师)给了他们做所有这些事情的能力

在将任何项目作为自己放在gui上之前,“这会被误用吗?”如果可能,您可能希望使用较低级别的可定制性。 示例层次结构

  • 按钮-可以单击
  • T/F单选按钮(必须)-只有两个选项
  • 组合框-许多选项,可能是“无选项”。更令人困惑
  • 文本字段-大量不一致的选项。用户越困惑,编码人员就越危险

基本上,如果用户不需要额外的选项,那么就不要给他们额外的选项。你只会把它们弄糊涂。

我的思想流派认为,如果存在不一致或模棱两可的情况,用户很少出错,用户界面总是要受到责备。所以,当你说“打用户的脸”,加上“pebkac”标签时,我想你打一耳光会有好处

不幸的是,我无法给出任何好的用户体验建议,因为我仅仅是一名程序员,因此从定义上讲,我或多或少没有资格成为一名好的用户界面设计师。我只想指出一种可能性,你实际上可能是一个需要获得线索的人,并且试着对用户更加谦虚

为Adam编辑:

我对用户体验知之甚少就是我对它知之甚少。这是一条完整的职业道路。我知道一个事实,在Stack Overflow上,任何人都无法通过问一个“让我擅长这个问题”来学习。这就像我在问“帮我写更好的代码”,正文描述了我的同事如何嘲笑我的代码

我们,程序员,是工程师。我们喜欢秩序、理性和合乎逻辑的决定。但是普通用户不是程序员,也不是工程师,而且在许多情况下,对计算机本身一点也不感兴趣

我很高兴人们给了你一些好的建议,我也很高兴你,与我的第一印象相反(很抱歉),渴望接受这些建议并理解用户的需求

但重点仍然是:你需要买书(不要让我认为这是一个很好的开始,正如已经推荐的那样)。你需要观察人们如何使用你的软件。您需要观察它们在哪里绊倒,并来回移动,直到您的UI看起来很自然


对不起,我还是不能给你答复。因为我没有。即使我拥有它,在未来的几年里,我也可能要向你收取每小时50欧元的费用。

对你的用户进行分区并拥有细粒度的权限

定义一些超级用户权限以启用“更危险”的操作


超级用户权限不是轻易授予的——只授予真正的超级用户——而且很容易被撤销。

我可以/确实有几种不同的方式来处理这些类型的事情

  • 用户文档——首先,也是最重要的是,为他们提供一些文档,使系统易于使用。只是一般的可用性和所有事物的描述性名称/动作
  • 提供带有警告的确认屏幕。全面披露行动将要做的事情,并在黄色框中给出警告。它引起了人们的注意,并有助于防止对其他项目的需求
  • 有一个回滚计划。对于大型风险操作,您可以简单地设置“已删除”标志,或者在意外删除/修改非预期数据时将数据卸载到临时“回收站”中
  • 需要多次批准,对于数据清除操作,尤其是采用两层方法,需要单独用户的批准

  • 这些只是我的一些想法。

    使用户操作的结果可见,并提供撤销这些更改的方法

    当更改可见时,用户会得到反馈,知道结果是否是他想要做的,如果不是,那么撤销的可能性将允许用户再次尝试实现他的目标。如果可能的话,在用户调用操作之前使操作的结果可见(例如,当拖动某个元素时,显示如果用户释放鼠标按钮会发生什么,例如可视化添加元素)