我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?

同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?


当前回答

已经有很多好的评论了,所以我不确定还有什么可以补充的。 但仍…

为什么开发者希望能够设计出优秀的UI? 他在那个领域受过多少训练? 他读了多少书? 他在这几年里设计了多少东西? 他有机会看到用户的反应吗?

我们不期望一个随机的“水管工乔”能够写出好的代码。 那么,为什么我们要期望随机的“程序员乔”设计出优秀的UI呢?

移情有帮助。将UI设计和编程分离是有帮助的。可用性测试有帮助。

但是UI设计是一门需要学习和实践的手艺。

其他回答

设计和美学之间有着巨大的差异,它们经常被混淆。

一个漂亮的UI需要艺术或至少是美学技能,包括我自己在内的许多人都无法做到这一点。不幸的是,就像我们在许多重量级的基于flash的api中看到的那样,这是不够的,并且不能使UI可用。

制作可用的ui需要理解人类如何与计算机交互、心理学中的一些问题(例如,菲特定律、希克定律)和其他主题。很少有计算机科学课程为此进行培训。我认识的开发人员中很少有人会选择用户测试书籍而不是JUnit书籍等等。

我们中的许多人也是“核心程序员”,倾向于将ui视为外观,而不是可以成就或破坏项目成功的因素。

此外,大多数UI开发经验都非常令人沮丧。我们可以使用像旧VB那样的玩具GUI构建器,并不得不处理丑陋的胶水代码,或者我们使用无休止地让我们沮丧的api,比如试图在Swing中整理布局。

UI设计与其说是科学,不如说是艺术,它需要你对用户的理解和与他们感同身受的能力。

这和整天对着电脑说话是完全不同的。

我认为人们并不总是意识到这一点。

这里有一个小小的自我测试:看看FamFamFam的丝绸图标。考虑一下在您编写的上一个应用程序中选择哪个图标来表示各种功能。如果花超过十分钟的时间来做这件事让你的眼睛开始呆滞,那么UI设计可能不适合你。

说程序在UI设计方面很糟糕是没有抓住重点。问题的关键在于,大多数开发人员所接受的正式培训深入了技术。人机交互不是一个简单的话题。这不是我可以通过提供简单的一行语句让您意识到“哦,如果我使用x而不是y,用户将更有效地使用这个应用程序”来“思想融合”的东西。

这是因为你忽略了UI设计的一部分。人类的大脑。为了理解如何设计UI,你必须理解人的思想如何与机器交互。我在明尼苏达大学上过一门关于这个话题的很棒的课程,是一位心理学教授教的。它被命名为“人机交互”。这描述了UI设计如此复杂的许多原因。

因为心理学是基于相关性而不是因果关系,你永远无法证明UI设计方法总是适用于任何给定的情况。你可以认为许多用户会发现某个特定的UI设计很吸引人或高效,但你不能证明它总是具有普遍性。

此外,UI设计中有两个部分似乎被许多人忽略了,那就是美学吸引力和功能工作流。如果你追求100%的美感,人们肯定会买你的产品。但我非常怀疑美学能否减少用户的挫败感。

有几本关于这个主题的好书和课程可供选择(如Bill Buxton的《素描用户体验》和Edwin Hutchins的《野外认知》)。许多大学都开设了人机交互的研究生课程。

这个问题的总体答案在于如何教授个人计算机科学。这一切都是基于数学和逻辑,而不是基于用户体验。要做到这一点,你需要的不仅仅是一个普通的4年计算机科学学位(除非你的4年计算机科学学位副修心理学,并强调人机交互)。

我认为主要的问题与不同的才能或技能无关。主要的问题是,作为一名开发人员,您对应用程序是做什么的以及它是如何做的了解太多,并且您自动地从具有这些知识的人的角度来设计您的UI。

而用户通常一开始对应用程序一无所知,也不需要了解它的内部工作原理。

不使用你拥有的知识是非常困难的,几乎是不可能的——这就是为什么UI不应该由开发它背后应用程序的人来设计。

登陆Slashdot,阅读任何与苹果有关的文章的评论。你会发现很多人都在谈论苹果的产品没有什么特别之处,把iPod和iPhone的成功归因于人们想要赶时髦。他们通常会浏览功能列表,并指出他们所做的一切都是早期MP3播放器或智能手机所没有的。

还有一些人喜欢iPod和iPhone,因为它们可以简单、轻松地满足用户的需求,而不需要参考使用手册。它的界面非常直观、容易记忆和发现。我对MacOSX的用户界面不像以前的版本那么喜欢,我认为它们已经放弃了一些有用的东西,而倾向于浮夸,但iPod和iPhone是卓越设计的例子。

If you are in the first camp, you don't think the way the average person does, and therefore you are likely to make bad user interfaces because you can't tell them from good ones. This doesn't mean you're hopeless, but rather that you have to explicitly learn good interface design principles, and how to recognize a good UI (much as somebody with Asperger's might need to learn social skills explicitly). Obviously, just having a sense of a good UI doesn't mean you can make one; my appreciation for literature, for example, doesn't seem to extend to the ability (currently) to write publishable stories.

所以,试着培养一种好的UI设计的感觉。这不仅仅延伸到软件领域。唐·诺曼的《日常事物的设计》是一本经典,还有其他的书。获取一些成功的UI设计的例子,并充分利用它们来感受其中的不同之处。认识到你可能不得不学习一种新的思考问题的方式,并享受它。