![]() |
1
21
你需要做的第一件事就是从你的开发者的角度出发。我们倾向于从窗体、控件、按钮、列表、网格等方面进行思考,这往往会促使我们找到不总是最适合用户的解决方案。 用户不想使用我们的软件。(除了你在编程游戏时)他们只想把事情做好。因此,当停止UI和用户交互时,从那里开始是有意义的。写下用户想用你的软件做什么。想想用户将如何进行这些操作,以及您的应用程序可以做些什么来简化这些操作。 尝试使用与编程不同的工具。这些让您再次在UI小部件中思考。从一支铅笔和一张纸开始画出草图,同时试着考虑行为以及布局等。如果你对你想要构建的内容有一个清晰的了解,你可以开始考虑如何构建它。这时小部件、按钮和页面就出现了。 |
![]() |
2
5
我开发的应用程序每小时被点击数千次,所以一切都归结为效率。我喜欢把它看作一种货币,你可以用它产生许多有用的公理: 如果它保存了一个点击,+1。 如果需要点击一次,-1。 如果用户浪费时间弄清楚它是如何工作的,-1。(大多数自定义UI元素) 如果它从根本上是直观的,+1。(覆盖流) 如果它保存了第一次用户的点击,+1。(巫师) 如果它需要长期用户点击,-1。(巫师) (因此,为什么您必须确保键盘快捷键和选项卡顺序是有意义的。) 等。 等。 每件事都会得到主观的权衡和统计,你在必须的地方妥协。归根结底,这可能是一种幼稚的哲学,但它对我很有帮助。根据你认为合适的外推。 |
![]() |
3
3
你读过吗? http://msdn.microsoft.com/en-us/library/aa511258.aspx ? 或者阅读维基百科的文章: http://en.wikipedia.org/wiki/Human_interface_guidelines 它包含到某个hig的链接 |
![]() |
4
2
除此之外,我还要补充一点 你越不注意到一个图形用户界面,它就越好。 . 我的意思是,当用户感觉不到用户界面时,这是因为用户正在完成他/她的工作。当(a)它很漂亮(想想苹果)或(b)它很糟糕(想想你用过的任何图形用户界面都让你沮丧)时,用户会注意到这个图形用户界面。 |
![]() |
5
2
|
![]() |
6
1
如果你为桌面设计,你可以找到操作系统接口的指导方针,这可以帮助你。 |
![]() |
7
1
Joel Spolsky有一个非常好的高级设计技巧: http://www.joelonsoftware.com/uibook/chapters/fog0000000057.html 除此之外,最大的事情就是尝试一些东西,制作模型。可能是纸上的初始版本,但在某个时刻,只需尝试在不连接后面的代码的情况下组装一个GUI。看看你的想法,尝试一些改变,征求别人的意见,然后尝试一下。最好的设计技巧是从人们那里得到反馈,如果可能的话,最好是从目标受众那里得到反馈。 |
![]() |
8
1
现在还不清楚您是否在谈论如何创建一个好的对话窗口,或者如何为一个巨大的应用程序创建一个连贯的外观和感觉。 如何设计一个有效清晰的用户界面是一个很好的参考 User Interface Design for Programmers 通过…等等……Joel Spolsky。 |
![]() |
9
0
只需从应用程序的角度考虑您的用户是谁。有没有一种?更多?然后,对于每一种用户,想想他们想要完成的主要任务。向他们展示那些一般的选择,然后从中为每个任务提供更合适的接口。 最后,如果您有一组很大的步骤,那么向导是很好的,因为它允许您一次验证一个步骤。这在本地应用程序上很明显,但在网络上非常方便。 |
![]() |
10
0
我从未将图形用户界面设计视为一种基本的艺术活动。虽然一个设计良好的用户界面确实可以用艺术元素来增强,但是设计底层用户界面实际上是一项工程工作。当然,在更大的项目中,GUI专家是一种自然的专业化,就像拥有构建专家等一样。但我认为,在给他们时间和资源来创建有效的GUI时,很少有软件工程师能够做到这一点。 我们中的大多数人通过认识到现有系统中的善,然后卷起袖子和创新,并坚持到它发挥作用,从而了解了关于构建系统的大部分知识。图形用户界面也不例外。 |
![]() |
11
0
有一些UI模式显示在 the UI patterns site 你会发现有用的 通常,如果要为Windows设计窗体,请遵循各种Microsoft guidelines . 我牢记的一个原则是使用现有的行为模式(双击以执行/激活项目等),因为人们已经知道这些。 |
![]() |
Piter _OS · 带有桌面应用程序的C++微服务[关闭] 7 年前 |
![]() |
Gavin Craft · 将以前使用的字符串导入新方法 8 年前 |
![]() |
Kelvin · 桌面和移动端网页设计的图像分辨率 11 年前 |
![]() |
rsthegreat12 · 用C在桌面上覆盖图像++ 11 年前 |
![]() |
CCKx · 桌面上下滚动[关闭] 12 年前 |