Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 可用性:使用“保存更改”;套用;按钮还是在每次更改之后?_User Interface_Ui Design - Fatal编程技术网

User interface 可用性:使用“保存更改”;套用;按钮还是在每次更改之后?

User interface 可用性:使用“保存更改”;套用;按钮还是在每次更改之后?,user-interface,ui-design,User Interface,Ui Design,我很想听听其他开发者对设计用户界面、可用性和可维护性的看法和经验 常用的方法是允许用户调整选项,在表单变脏后,启用“应用”按钮,用户可以通过按“取消”退出。这是Windows平台上最常见的方法(我相信MS可用性指南也这么说) 另一种方法是在对选项进行每次更改后应用更改。例如,用户选中一些复选框,并应用更改。用户更改某些文本框的值,并在该框失去焦点后应用更改,等等。您明白了。这种方法在MacOSX上最为常见 不管我个人的看法如何(苹果在可用性方面更好,但我通常编写的软件是针对Windows用户的)

我很想听听其他开发者对设计用户界面、可用性和可维护性的看法和经验

常用的方法是允许用户调整选项,在表单变脏后,启用“应用”按钮,用户可以通过按“取消”退出。这是Windows平台上最常见的方法(我相信MS可用性指南也这么说)

另一种方法是在对选项进行每次更改后应用更改。例如,用户选中一些复选框,并应用更改。用户更改某些文本框的值,并在该框失去焦点后应用更改,等等。您明白了。这种方法在MacOSX上最为常见

不管我个人的看法如何(苹果在可用性方面更好,但我通常编写的软件是针对Windows用户的),你们怎么想


编辑:我完全知道这不是一个真正的问题,而是一个需要讨论的问题,它的位置可能不在SO上,其政策是只提供答案和问题。但我相信这可能是一次有益的讨论,主要是因为我在询问之前找不到类似的内容。

符合平台期望。

我也同意苹果在可用性方面的优势,但你的决定应该基于你的目标平台表现出的最常见的行为。你应该总是做任何让用户最不惊讶的事情,对于大多数Windows用户来说,我猜那就是坚持
OK/Apply/Cancel
行为


如果您有跨平台的应用程序,请使用尊重match platform expectations mantra的单独GUI。是的,这是额外的工作,但这表明您很关心。

我同意,一般来说,您需要满足平台的期望

然而,就个人而言,我通常更喜欢使用apply/save,原因有两个: 1) 部分应用的更改可能会造成中断(延迟或实际屏幕瑕疵) 2) 某些状态或组合可能无效(或者在用户看来可能无效)。
3) 如果您提供了展开更改或使用有意义的名称保存更改的方法,则可以根据用户选择应用或保存的时间对更改进行逻辑分组。作为一名开发人员,我喜欢提交/回滚方法,我也喜欢UI中的这种方法。

两者都有各自的位置,并且都在许多平台上使用(它们并不是PC和Mac之间的真正区别)

“应用”按钮方法允许您进行一些更改,应用它们,而不必重新打开对话框进行更多更改。这对于尝试很有用,但当您希望用户有条理地思考(或感到安全)他们的选择时,用户可以精确地控制他们的更改何时应用。在某些情况下,这一点很重要。在某些情况下,您可能不希望提交您的更改,直到您做了几次更改,或者在某些情况下,用户应该知道他们想要什么设置,而不需要“试验”。这些对话框通常还有一个“取消”按钮,该按钮(希望)可以撤消自对话框打开以来所做的任何更改。这些对话框通常是模态的,因此用户被锁定在对话框中,直到他们做出选择为止

即时效果对话框允许用户根据自己的选择进行实验并查看“实时”更新。当用户想要试验选项以了解其效果时,这是非常好的。您必须小心使用视觉样式,以便向用户清楚地表明他们正在“实时”操作,并且他们必须小心,因为他们无法收回更改。对于这种类型的对话框,微软的方法是使用一个“关闭”按钮,这使得即时效果方法变得明显。这些对话框通常不是模态的,即它们被视为“实时编辑面板”,而不是对话框

一般来说,用户界面倾向于现场编辑,因为它允许用户进行实验,不受诸如必须按下特殊按钮来提交更改等技术细节的影响(例如,请参阅Win7中的控制面板-与XP相比,几乎没有任何模式对话框)


然而,这两个选项之间的选择最终取决于您希望控制的设置类型。i、 例如,如果您正在为某些文本设置字体样式,那么您确实希望处于实时、实验性的范围末端,但是如果您正在配置重要和相关的信息组(例如,您的DNS服务器地址和子网掩码),您可能希望使用需要您思考/了解并有意应用更改的内容(因此,用户可以输入并双重检查信息,这样他们可以“同时”更改多个相关信息。此外,如果您在用户键入DNS服务器地址时实时提交该地址,他们将失去网络连接,直到他们获得正确的数字为止-实时对此没有意义).

我只能想出两个使用应用按钮的好理由:

  • 这些更改不能立即应用,但会在相当长的时间内锁定GUI
  • 这些变化只会在一起产生意义(就像一个事务)
  • 这些都不是很常见。历史上,1过去几乎适用于任何选项。但现在计算机速度更快,1很少相关。如果可以立即看到更改的效果,为什么会有人不想要呢?因此gui(但通常不是代码)可以通过跳过应用步骤来简化。我认为用户真正需要“取消”按钮也不是很常见,部分原因是它有点含糊不清。如果我进行一次更改,应用,再进行一些其他更改,然后按“取消”,我该怎么办?第一次更改会被还原吗(在大多数应用程序中,答案是否定的,因为这样更容易实现)

    如果是,那么这就是使用apply按钮的意义所在