Sounds a bit like the law of Sensible Defaults to me. The rule that in many cases, the user doesn't really care about the little details so just give them a sensible choice.
良好的用户界面(包括 API 和编程语言)设计的基本原则是让简单的事情变得简单,让复杂的事情成为可能。过度的控制会增加简单事物的学习曲线,而用户可能不关心也不想指定每个小细节。但是,需要提供选项,否则在处理更高级的用户时,您的程序将失去动力。
解决方案是提供多个级别的接口。如果您正在设计应用程序,则应该有基本模式和高级模式。如果您正在设计一个 API,应该有一个高级 API 可以在 90% 的情况下“正常工作”,而一个较低级的 API 可以在最后 10% 的情况下以更复杂的方式完成工作。
A fundamental principle of good user interface (including API and programming language) design is to make simple things simple and complicated things possible. Excessive control increases the learning curve for simple things where the user probably doesn't care about, and doesn't want to specify, every small detail. However, the options need to be provided or your program will run out of steam when dealing with more advanced users.
The solution is to provide multiple levels of interface. If you're designing an application, there should be a basic and advanced mode. If you're designing an API, there should be a high-level API that "just works" for the 90% of cases, and a lower-level API that gets the job done with more complexity in the last 10% of cases.
I'm not sure I understood it exactly but the thing is, you can't make an interface so complicated the basic user won't be able to use it. When a user first starts using an application if he sees too manyn options he won't find the basic thing he went there to do in the first place. That's why advanced features are usually hidden. Advanced users will now how to find it (they will learn, after all they're advanced :-P), and basic users won't be scared away.
I found the quote I was looking for in the slides of a course I took on interfaces. It's by Jeff Raskin, a HCI expert who created Macintosh along with Steve Jobs and Wozniak. It says:
"I reject the idea that computers are difficult to use because what we do with them has become irretrievably complicated. No matter how complex the task a product is trying to accomplish, the simple parts of the task should remain simple. "
The answer to when? would then be: when the simple tasks start to get complicated. They should remain simple!!!!
this is definitively true in games. A game should have unlimited states (eg, a game of pool has 15 balls, each of which can be anywhere on the table which is around 4.5m^2 to an accuracy of maybe a millimeter, the total number of states is a lot!) but limited control of those states. If the players could place all the balls exactly where they want, or send them in a specific direction at a very accurate velocity, then the fun would be gone. Only by limiting the way the player interacts with the game can it be fun and entertaining.
Depending on the program you are writing this is either true or false. The stereotypical view of Mac application is very limited and simple, while Windows applications are complex and powerful. An application like Spotify compared to WinAmp is a good example of simple vs. complex, but they are both great apps.
In my opinion a complex app with limited control is something to strive for. Applications like Picasa, Spotify, Paint.net all manage to be very complex and useful, but with limited control. Always try to limit what the user can do to the most common tasks, instead of enabling all possible tasks.
发布评论
评论(5)
听起来有点像对我来说合理的默认值。规则是,在许多情况下,用户并不真正关心小细节,因此只需给他们一个明智的选择即可。
还有一篇 Joel Spolsky 的文章可能相关 - JoelOnSoftware - 选择 = 头痛
Sounds a bit like the law of Sensible Defaults to me. The rule that in many cases, the user doesn't really care about the little details so just give them a sensible choice.
There's also a Joel Spolsky article that may be relevant - JoelOnSoftware - Choices = Headaches
良好的用户界面(包括 API 和编程语言)设计的基本原则是让简单的事情变得简单,让复杂的事情成为可能。过度的控制会增加简单事物的学习曲线,而用户可能不关心也不想指定每个小细节。但是,需要提供选项,否则在处理更高级的用户时,您的程序将失去动力。
解决方案是提供多个级别的接口。如果您正在设计应用程序,则应该有基本模式和高级模式。如果您正在设计一个 API,应该有一个高级 API 可以在 90% 的情况下“正常工作”,而一个较低级的 API 可以在最后 10% 的情况下以更复杂的方式完成工作。
A fundamental principle of good user interface (including API and programming language) design is to make simple things simple and complicated things possible. Excessive control increases the learning curve for simple things where the user probably doesn't care about, and doesn't want to specify, every small detail. However, the options need to be provided or your program will run out of steam when dealing with more advanced users.
The solution is to provide multiple levels of interface. If you're designing an application, there should be a basic and advanced mode. If you're designing an API, there should be a high-level API that "just works" for the 90% of cases, and a lower-level API that gets the job done with more complexity in the last 10% of cases.
我认为这总结得很好:
http://stuffthathappens.com/blog/2008 /03/05/simplicity/
但这里有更多关于这个主题的阅读:
http ://www.joelonsoftware.com/uibook/chapters/fog0000000059.html
I think this sums it up nicely:
http://stuffthathappens.com/blog/2008/03/05/simplicity/
But here's more reading on the subject:
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html
我不确定我是否完全理解它,但问题是,你不能将界面做得如此复杂,以至于基本用户将无法使用它。当用户第一次开始使用应用程序时,如果他看到太多选项,他将找不到他最初去那里要做的基本事情。这就是为什么高级功能通常被隐藏的原因。高级用户现在将知道如何找到它(他们会学习,毕竟他们是高级的:-P),而基本用户不会被吓跑。
我在界面课程的幻灯片中找到了我正在寻找的引言。它的作者是杰夫·拉斯金 (Jeff Raskin),他是一位人机交互 (HCI) 专家,与史蒂夫·乔布斯 (Steve Jobs) 和沃兹尼亚克 (Wozniak) 一起创建了 Macintosh。它说:
“我拒绝认为计算机难以使用的观点,因为我们使用它们所做的事情已经变得不可挽回的复杂。无论产品试图完成的任务有多复杂,任务中简单的部分都应该保持简单。
答案何时?然后是:当简单的任务开始变得复杂时。它们应该保持简单!
I'm not sure I understood it exactly but the thing is, you can't make an interface so complicated the basic user won't be able to use it. When a user first starts using an application if he sees too manyn options he won't find the basic thing he went there to do in the first place. That's why advanced features are usually hidden. Advanced users will now how to find it (they will learn, after all they're advanced :-P), and basic users won't be scared away.
I found the quote I was looking for in the slides of a course I took on interfaces. It's by Jeff Raskin, a HCI expert who created Macintosh along with Steve Jobs and Wozniak. It says:
"I reject the idea that computers are difficult to use because what we do with them has become irretrievably complicated. No matter how complex the task a product is trying to accomplish, the simple parts of the task should remain simple. "
The answer to when? would then be: when the simple tasks start to get complicated. They should remain simple!!!!
这在游戏中绝对是正确的。一个游戏应该有无限的状态(例如,台球游戏有 15 个球,每个球都可以在桌子上的任何地方,大约 4.5m^2 ,精确度可能为一毫米,状态总数很多! )但对这些状态的控制有限。如果玩家能够将所有的球准确地放置在他们想要的位置,或者以非常准确的速度将它们发送到特定的方向,那么乐趣就会消失。只有限制玩家与游戏的交互方式,游戏才能变得有趣、有趣。
根据您编写的程序,这是正确的或错误的。 Mac 应用程序的刻板印象非常有限且简单,而 Windows 应用程序则复杂而强大。像 Spotify 这样的应用程序与 WinAmp 相比是简单与复杂的一个很好的例子,但它们都是很棒的应用程序。
在我看来,控制有限的复杂应用程序是值得努力的。 Picasa、Spotify、Paint.net 等应用程序都非常复杂且有用,但控制能力有限。始终尝试将用户可以执行的操作限制为最常见的任务,而不是启用所有可能的任务。
this is definitively true in games. A game should have unlimited states (eg, a game of pool has 15 balls, each of which can be anywhere on the table which is around 4.5m^2 to an accuracy of maybe a millimeter, the total number of states is a lot!) but limited control of those states. If the players could place all the balls exactly where they want, or send them in a specific direction at a very accurate velocity, then the fun would be gone. Only by limiting the way the player interacts with the game can it be fun and entertaining.
Depending on the program you are writing this is either true or false. The stereotypical view of Mac application is very limited and simple, while Windows applications are complex and powerful. An application like Spotify compared to WinAmp is a good example of simple vs. complex, but they are both great apps.
In my opinion a complex app with limited control is something to strive for. Applications like Picasa, Spotify, Paint.net all manage to be very complex and useful, but with limited control. Always try to limit what the user can do to the most common tasks, instead of enabling all possible tasks.