我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
我们中的一些人只是在UI设计的软方面遇到了困难(尤其是我自己)。“后端编码器”注定只设计业务逻辑和数据层吗?我们是否可以做些什么来重新训练我们的大脑,使其更有效地设计出令人愉悦和有用的演示层?
同事们给我推荐了《网站设计》、《不要让我思考》、《为什么软件很糟糕》等几本书,但我想知道其他人在这方面做了什么来弥补他们的不足?
当前回答
你提到了《别让我思考》这本书。我强烈推荐你阅读这篇文章。
其他回答
让我们把你的问题转过来
“ui设计师”注定只设计信息架构和表示层吗?他们是否可以做些什么来重新训练自己的大脑,使其更有效地设计出令人愉悦和高效的系统层?
似乎他们“ui设计师”必须采取完全不同的视角——他们必须从盒子的内部向外看;而不是从盒子外面看。
艾伦·库珀的《囚犯们在管理疯人院》的观点是,我们不可能成功地同时持有两种观点——我们可以学会戴好一顶帽子,但我们不能只是换帽子。
真正帮助我改进设计的是找一个开发人员,QA人员、项目经理或任何碰巧路过的人,让他们尝试特定的小部件或屏幕。
当你看到别人第一次使用你的软件时,你会惊奇地发现
我认为部分原因是UI设计和程序设计的目标经常相互冲突。当我编程的时候,我经常会想“最简单的方法是什么?”在设计UI时,最简单的方法并不总是最友好的。如果你两者都做,你可能会倾向于选择最简单的实现,这对用户友好性有负面影响。
我还认为程序员太接近产品,无法从用户的角度来看待它。对编程人员来说非常容易和直观的东西对用户来说可能并不容易。获得用户的输入是必要的。
UI设计也不是总是正确或错误的。不同的人对UI的评价不同。例如,有些人讨厌Office中的新“Ribbon”UI,有些人喜欢它。有些人认为苹果的OSX UI很棒,有些人不喜欢它,觉得它很难使用。不管你设计出什么样的UI,总会有人不喜欢它。
“好的UI设计”其实是两个问题:
获得正确的设计 正确的设计
两者都是难题。以我的经验来看,这两件事应该并行进行,这样才能避免在项目后期出现糟糕的惊喜(“为什么我们在IE8中拖放的速度非常慢??”你说它无法修复是什么意思??”)
为了得到正确的设计,你必须探索各种可能性。书籍可以引导你尝试对你的情况最有意义的事情-经验当然更好。此外,你绝对需要来自真实用户的反馈——否则你怎么才能发现设计已经是正确的呢?)你当然看不出来。继续阅读!)
“使设计正确”是下一个问题,因为这意味着必须执行你认为合适的设计。
那些“用户体验/图形用户界面”的事情是如此困难,因为找到正确的答案包括理解人类想要什么——他们不能客观地告诉你,而你也不能从“外部”找到。这意味着(经验)引导的试错方法是唯一可行的方法。
为了更清楚地回答你的问题:
为什么优秀的UI设计对某些人来说如此困难 重击
对于硬核开发人员来说,一个大问题是,他们对软件如何工作的理解与用户认为它如何工作的理解是非常不同的(例如,URL“www.stackoverflow.com”应该写成“com.stackoverflow.com”,如果你知道DNS如何工作的话。但试着销售一个浏览器,它期望url:))。
作为旁注:我建议你着眼于“体验设计”而不是“用户界面设计”,但这是另一个故事。
吃自己的狗粮实际上并不是最好的方式。缺乏对用户关注的关注,虽然这是事实,但也不是故事的全部。同样,随着您的专业知识的增长,您也会逐渐远离正常的用户关注点。我认识的大多数开发人员都想在开发解决问题的软件方面做得很好。
这种脱节发生在想象力的失败。我们人类没有能力思考所有的可能性和组合。当然,我们试图用“更好的”方法来克服这个问题。
我发现唯一有效的方法就是让自己置身于接收用户反馈的火线上。通过这种方式,我了解到我正在解决的问题,不仅仅是一次,而是在用户使用我的软件的过程中持续不断地进行。
这不是一个简单的解决方案。你不仅要成为一名优秀的程序员,还要擅长X,因为X是你试图解决的任何问题。通过擅长X,你可以获得必要的经验来理解可能性和局限性。你可以开始在你的代码中考虑到这一点,从而在你提供的功能和UI设计中产生更精致的软件。
这不是重新训练你的大脑,而是获得有效解决问题所需的经验。如果你要做的是像Stack Overflow这样的全新游戏,你就必须负责用户反馈才能获得游戏体验。