12

作为一个很少(或没有)艺术倾向的开发人员,您将如何为应用程序设计 GUI?特别是,我正在考虑桌面应用程序,但也欢迎与 Web 应用程序相关的任何内容。我发现很难设计出让我和潜在用户都满意的东西。我可以在网上查找配色方案,但我怎么知道在哪里放置按钮/文本框/等?

更新:为了澄清,我并不是说要使用什么控件等。相反,当我应该使用按钮、组合、文本框等时,是否有任何指南/提示?它们应该有多长,我会将它们放在表格的什么位置?

4

11 回答 11

22

您需要做的第一件事是摆脱开发人员的观点。我们倾向于从表单、控件、按钮、列表、网格等方面进行思考。这往往会将我们推向对用户而言并不总是最佳的解决方案。

用户不想使用我们的软件。(除非你正在编程游戏)他们只是想把事情做好。因此,在设计 UI 和用户交互时,从那里开始是有意义的。写下用户想用你的软件做什么。想想用户将如何做这些事情,以及您的应用程序可以做些什么来使事情变得更容易。

尝试使用与编程不同的工具。这些让你再次思考 UI 小部件。从一支铅笔和一张纸开始画草图,并尝试考虑行为以及布局等。如果您对要构建的内容有清晰的了解,则可以开始考虑自己的状态要去建造它。这就是小部件、按钮和页面出现的时候。

于 2008-10-03T22:15:01.283 回答
6

我开发的应用程序每小时会被点击数千次,所以一切都归结为效率。我喜欢将其视为一种货币,您可以使用它生成许多有用的公理:

如果它节省了一次点击,+1。

如果它需要点击,-1。

如果用户浪费时间弄清楚它是如何工作的,-1。(大多数自定义 UI 元素)

如果它从根本上直观,+1。(Cover Flow功能)

如果它为初次使用的用户节省了一次点击,+1。(奇才)

如果长期用户需要点击一次,则为-1。(奇才)

(这就是为什么你必须确保你的键盘快捷键和标签顺序是有意义的。)

等等。

等等。

一切都会被主观加权和统计,你不得不妥协。最终,这可能是一种幼稚的哲学,但它对我很有帮助。外推你认为合适的。

于 2008-10-03T23:54:21.270 回答
3

你读过http://msdn.microsoft.com/en-us/library/aa511258.aspx吗?

或阅读维基百科文章:http ://en.wikipedia.org/wiki/Human_interface_guidelines它包含一些 HIG 的链接

于 2008-10-03T22:06:40.210 回答
2

这可能会有所帮助:best-practices-principles-for-gui-design

于 2008-10-03T22:17:08.130 回答
2

除了本页中提到的所有其他内容之外,我还要补充一点,您越少注意到 GUI,它就越好

我的意思是,当用户没有感知到用户界面时,这是因为用户正在完成他/她的工作。当(a)它很漂亮(想想 Apple)或(b)它很糟糕(想想你使用过的任何 GUI 让你感到沮丧)时,用户会注意到 GUI。

于 2008-10-03T22:45:34.950 回答
1

如果您正在为桌面设计,您可以找到操作系统界面指南,这会有所帮助。

于 2008-10-03T22:07:23.873 回答
1

Joel Spolsky 有一个非常好的高级设计技巧:

http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html

除此之外,最大的事情就是尝试一些东西,制作模型。也许最初是纸上谈兵,但在某些时候只是尝试组合一个 GUI,而不连接后面的代码。看看你的想法,尝试一些改变,询问其他人的意见,然后进行实验。最好的设计技术是从人们那里获得反馈,如果可能的话,最好是从目标受众那里获得反馈。

于 2008-10-03T22:12:05.860 回答
1

不清楚您是在谈论如何创建良好的对话窗口,还是如何为大型应用程序创建连贯的外观和感觉。

关于如何设计一个有效和清晰的 UI 的一个很好的参考是程序员的用户界面设计......等待它...... Joel Spolsky。

于 2008-10-03T22:14:49.710 回答
0

只需从您的应用程序的角度考虑您的用户是谁。有没有一种?更多的?然后对于每一种用户,想想他们想要完成的重要的总体事情。向他们展示这些一般选择,然后从那里进入每个任务的更合适的界面。

最后,如果您有大量步骤,那么向导非常有用,因为它可以让您一次验证每个步骤。这在本机应用程序上很明显,但在网络上非常方便。

于 2008-10-03T22:18:21.997 回答
0

我从未将 GUI 设计视为一项根本上的艺术活动。虽然设计良好的用户界面确实可以通过艺术元素得到增强,但设计底层用户界面确实是一项工程工作。当然,在较大的项目中,GUI 专家是一种自然的专业化,就像拥有构建专家等一样。但我认为很少有软件工程师无法创建有效的 GUI——当他们有时间和资源这样做时。

我们中的大多数人通过认识到现有系统中的优点,然后卷起袖子和创新,并坚持它直到它起作用,从而学到了我们所知道的关于构建系统的大部分知识。GUI 也不例外。

于 2008-10-03T23:29:11.760 回答
0

UI 模式网站上提供了一些 UI 模式,您可能会发现它们很有用

一般来说,如果您正在为 Windows 设计表单,请遵循各种微软指南

我牢记的一个原则是使用现有的行为模式(双击以执行/激活项目等),因为人们已经知道这些。

于 2008-10-11T08:05:58.377 回答