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

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


当前回答

用户体验设计和软件开发绝不是相互排斥的技能。相反,它们都需要常识和逻辑,注重细节,能够看到大局。所以,如果你是一名优秀的开发人员,你就有机会成为一名优秀的UX设计师!

它们看起来可能是相互排斥的,因为许多开发人员没有UX设计经验,反之亦然。此外,如果你在考虑用户体验设计之前就开始考虑架构、框架或语言,这可能会把你引向错误的方向。

其他回答

我认为他们的技能非常不同。优秀的设计师了解人类行为、颜色和字体的心理等。我认为这就像同时做营销人员和开发人员一样。非常有挑战性,但也不是不可能。

我会试着找一些用户界面专家,看看他们的学习建议是什么。除非你设计的是像谷歌这样极简主义的东西,否则如果这是一个重要的项目,你最好雇佣那些研究过UI艺术的人。

也就是说,如果你正在设计一款非常实用的应用,我认为你可以试着专注于界面的简单性和清晰度——我认为这至少是谷歌成功(以及堆栈溢出)的一半关键——即它是直观的,使用起来很愉快。

归根结底,这真的是关于同理心——你能站在用户的角度考虑问题吗?

当然,有一件事是有帮助的,那就是“吃你自己的狗粮”——以真正的用户身份使用你的应用程序,看看什么是令人讨厌的。

另一个好主意是找到一种方法来观察使用应用程序的真实用户,这可能是一个复杂的可用性实验室,有单向反射镜、屏幕视频捕捉、用户身上的摄像机等,也可能是简单的纸上原型,使用下一个碰巧走过大厅的人。

如果所有这些都失败了,请记住,UI过于简单总是比过于复杂要好。我们很容易说“哦,我知道如何解决这个问题,我只要添加一个复选框,这样用户就可以决定他们喜欢哪种模式”。很快你的UI就太复杂了。选择一个默认模式,并使首选项设置为高级配置选项。或者干脆不提。

如果你读了很多关于设计的书,你很容易就会被阴影和圆角等问题所困扰。那不是重要的东西。简单性和可发现性非常重要。

用户自上而下地思考,而程序员在开始创建UI时通常是自下而上地思考。

我们(程序员)正在努力地思考如何创建一个数据模型来完成这项工作,并保存所需的数据等等。我们创建UI来整齐地映射到底层模型。以至于我们经常忘记观察我们的用户如何处理相同的任务,而没有进入他们的流程和思维方式。

我们很自然地期望系统的用户以与我们相同的方式思考问题,我们如何存储和处理他们的数据,因此也理解UI期望如何工作。

这通常与他们对任务的看法(和期望)不匹配。

如何解决?我认为一种方法是在向(潜在的)用户展示任何东西之前,实际地询问他们期望程序如何工作。永远不要给他们任何关于我们将如何实现某个功能的提示。与他们一起在纸上创建UI原型,让他们告诉你他们的期望和需求。不要认为任何事情都是理所当然的。

掌机的设计更加自上而下:

在开始开发之前 飞行员,据说是霍金斯带的 一块木头,大小 潜在的飞行员,在他口袋里 的一周。(摘自本文)

他会在木头上模拟要做什么,而不会考虑如何将其实现为代码。每次有了新想法,他就在那块木头上“试试”。

当然,你需要一些指导方针来处理你想到的一些想法,也许不是所有的想法都需要解决,即使我们技术上可以……

请参见要点1(消除选项)和要点3(承诺不足,兑现过多)。

我坚持的主要经验法则是,永远不要同时做两件事。如果我正在处理后端代码,我将完成这一工作,休息一下,然后带着我的UI帽子返回。如果你在编写代码时尝试使用它,你将以错误的心态处理它,结果会得到一些糟糕的界面。

我认为同时成为一名优秀的后端开发人员和一名优秀的UI设计师是完全可能的,你只需要努力工作,阅读和研究相关主题(从Miller的#7到Nielsen的档案),并确保你理解UI设计的重要性。

我不认为这是一个需要创造性的案例,而是像后端开发一样,这是一个非常有方法,非常结构化的事情,需要学习。正是人们对ui的“创造性”创造了一些最大的可用性怪物……我的意思是,首先看看100%使用Flash的网站……

编辑:克鲁格的书真的很好……一定要读一读,特别是如果你要为网络设计的话。

让我们把你的问题转过来

“ui设计师”注定只设计信息架构和表示层吗?他们是否可以做些什么来重新训练自己的大脑,使其更有效地设计出令人愉悦和高效的系统层?

似乎他们“ui设计师”必须采取完全不同的视角——他们必须从盒子的内部向外看;而不是从盒子外面看。

艾伦·库珀的《囚犯们在管理疯人院》的观点是,我们不可能成功地同时持有两种观点——我们可以学会戴好一顶帽子,但我们不能只是换帽子。