我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
当前回答
说程序在UI设计方面很糟糕是没有抓住重点。问题的关键在于,大多数开发人员所接受的正式培训深入了技术。人机交互不是一个简单的话题。这不是我可以通过提供简单的一行语句让您意识到“哦,如果我使用x而不是y,用户将更有效地使用这个应用程序”来“思想融合”的东西。
这是因为你忽略了UI设计的一部分。人类的大脑。为了理解如何设计UI,你必须理解人的思想如何与机器交互。我在明尼苏达大学上过一门关于这个话题的很棒的课程,是一位心理学教授教的。它被命名为“人机交互”。这描述了UI设计如此复杂的许多原因。
因为心理学是基于相关性而不是因果关系,你永远无法证明UI设计方法总是适用于任何给定的情况。你可以认为许多用户会发现某个特定的UI设计很吸引人或高效,但你不能证明它总是具有普遍性。
此外,UI设计中有两个部分似乎被许多人忽略了,那就是美学吸引力和功能工作流。如果你追求100%的美感,人们肯定会买你的产品。但我非常怀疑美学能否减少用户的挫败感。
有几本关于这个主题的好书和课程可供选择(如Bill Buxton的《素描用户体验》和Edwin Hutchins的《野外认知》)。许多大学都开设了人机交互的研究生课程。
这个问题的总体答案在于如何教授个人计算机科学。这一切都是基于数学和逻辑,而不是基于用户体验。要做到这一点,你需要的不仅仅是一个普通的4年计算机科学学位(除非你的4年计算机科学学位副修心理学,并强调人机交互)。
其他回答
已经有很多好的评论了,所以我不确定还有什么可以补充的。 但仍…
为什么开发者希望能够设计出优秀的UI? 他在那个领域受过多少训练? 他读了多少书? 他在这几年里设计了多少东西? 他有机会看到用户的反应吗?
我们不期望一个随机的“水管工乔”能够写出好的代码。 那么,为什么我们要期望随机的“程序员乔”设计出优秀的UI呢?
移情有帮助。将UI设计和编程分离是有帮助的。可用性测试有帮助。
但是UI设计是一门需要学习和实践的手艺。
我为社交圈之外的人设计了一个程序,并观察他们的行为。在这样做的过程中,我不再受制于朋友们的偏见,也不再受制于我自己的骄傲和自我。在改进应用程序的过程中,我变得更加谦虚,对设计问题更加敏感。我学到了以任务为导向的设计和简单的重要性。我明白了拥有太多功能的代价。有了经验,你也会的。
我强烈推荐一些参考资料:
Joelonsoftware杰夫·拉斯金的“人性化界面” 罗宾·威廉的《非设计师设计指南》 大多数UI文章都在alistapart上 Jwz关于编程的博客 苹果人机界面指南
我强烈建议你忽略一些参考文献和哲学:
“主题” 一般的桌面应用程序,除非您需要访问驱动程序/文件系统 “越多越好”的理念
我坚持的主要经验法则是,永远不要同时做两件事。如果我正在处理后端代码,我将完成这一工作,休息一下,然后带着我的UI帽子返回。如果你在编写代码时尝试使用它,你将以错误的心态处理它,结果会得到一些糟糕的界面。
我认为同时成为一名优秀的后端开发人员和一名优秀的UI设计师是完全可能的,你只需要努力工作,阅读和研究相关主题(从Miller的#7到Nielsen的档案),并确保你理解UI设计的重要性。
我不认为这是一个需要创造性的案例,而是像后端开发一样,这是一个非常有方法,非常结构化的事情,需要学习。正是人们对ui的“创造性”创造了一些最大的可用性怪物……我的意思是,首先看看100%使用Flash的网站……
编辑:克鲁格的书真的很好……一定要读一读,特别是如果你要为网络设计的话。
我认为我们不能设计ui的原因是因为我们是完美主义者,不能决定什么时候足够好才是足够好。我知道我个人无法忍受UI设计,因为我总是怀疑自己,说:“不,那还不够好。”
UI设计和软件开发需要大脑的两个半球。这并不是说设计师在开发方面很糟糕,反之亦然,只是他们试图用错误的大脑来做。任何严肃的人都不会反对。