我记得读过一条法律(好吧,也许不完全是法律),但在软件设计中,为用户提供了很多控制而没有给他一个基本和高级模式的选项有时会适得其反并使用户最终没有使用任何选项,因为它们太多了。我读得对吗?如果是这样,有人能指出我更正式的来源吗?
答案 0 :(得分:4)
听起来有点像我Sensible Defaults的法律。在许多情况下,用户并不真正关心细节的规则只是给他们一个合理的选择。
还有一篇可能相关的Joel Spolsky文章 - JoelOnSoftware - Choices = Headaches
答案 1 :(得分:3)
良好的用户界面(包括API和编程语言)设计的基本原则是使简单的事情变得简单和复杂的事情。对于用户可能不关心并且不想指定每个小细节的简单事物,过度控制会增加学习曲线。但是,在与更高级的用户打交道时,需要提供选项,否则您的程序将失去动力。
解决方案是提供多级接口。如果您正在设计应用程序,则应该有基本和高级模式。如果您正在设计一个API,那么应该有一个高级API,它“适用于90%的情况”,而一个较低级别的API可以在最后10%的情况下以更复杂的方式完成工作。
答案 2 :(得分:2)
我认为这总结得很好:
http://stuffthathappens.com/blog/2008/03/05/simplicity/
但是这里有更多关于这个主题的阅读:
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html
答案 3 :(得分:2)
我不确定我是否完全理解但事实是,你不能使界面如此复杂,基本用户将无法使用它。当用户第一次开始使用应用程序时,如果他看到太多的选项,他将无法找到他首先去那里做的基本事情。这就是为什么高级功能通常是隐藏的原因。高级用户现在将如何找到它(他们将学习,毕竟他们是先进的:-P),基本用户不会被吓跑。
我在界面上的课程幻灯片中找到了我想要的引用。这是一个HCI专家杰夫拉斯金,他与史蒂夫乔布斯和沃兹尼亚克一起创建了Macintosh。它说: “我拒绝使用计算机难以使用的想法,因为我们对它们所做的事情变得无可挽回地复杂化。无论产品试图完成的任务有多复杂,任务的简单部分应该保持简单。强>“
答案何时?那就是:当简单的任务开始变得复杂时。它们应该保持简单!!!!
答案 4 :(得分:1)
这在游戏中绝对正确。游戏应该具有无限状态(例如,游戏池有15个球,每个球可以在桌子上的任何地方,大约4.5平方公尺,精确度可能是一毫米,状态总数很多!但对这些国家的控制有限。如果玩家可以将所有球准确地放置在他们想要的位置,或者以非常准确的速度将它们发送到特定方向,那么乐趣就会消失。只有通过限制玩家与游戏的互动方式,才能使游戏变得有趣和有趣。
根据你写的程序,这是真的还是假的。 Mac应用程序的陈规定型观点非常有限且简单,而Windows应用程序则复杂而强大。像Spotify这样的应用程序与WinAmp相比是简单与复杂的一个很好的例子,但它们都是很棒的应用程序。
在我看来,一个控制有限的复杂应用程序是值得努力的。 Picasa,Spotify,Paint.net等应用程序都设置得非常复杂和有用,但控制有限。始终尝试限制用户可以对最常见的任务执行的操作,而不是启用所有可能的任务。