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

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


当前回答

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

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

其他回答

就像音乐一样: 有时人们在技术上可能是伟大的音乐家,但不是艺术家。我的经验法则是始终只向用户提供他们当时需要的UI。我注意到许多后端开发人员在制作UI时充斥着各种可以想象到的选项。尽管这些类型的人喜欢先考虑所有的细节,然后慢慢忽略他们不需要的东西,但这对大多数最终用户来说并不适用。

"其他人做了什么来消除他们的 这方面的不足?” ——克里斯·巴兰斯

与你能找到的最少的电脑储蓄终端用户一起工作。(一个从未见过你的软件的新手)。 从他们那里得到反馈,看看是什么让他们觉得糟糕。 解决这些问题,把它交给另一个不懂电脑的用户, 重复这个过程。

当有足够多的新用户可以使用你的产品时,你就知道你已经完成了你的工作。

(此外,你的软件可能看起来很像微软的,你可能不会喜欢使用它…)

但这不是重点!关键是最终用户可以使用它,并且喜欢使用它!

不是开发者!

同时阅读这篇文章,我发现它在这个领域很有帮助。它基本上是说你应该向用户的需求让步。

换句话说……

你必须看看用户已经在尝试做什么……

人行道和学生

在我上大学的那个校园里,有一条学生们在上下课时留下的小径。当学校注意到这条小道时,他们在人们已经走过的地方竖起了栅栏。学校做错了。你想在学生们已经步行的地方建一条人行道!

视频商店和Netflix

再举一个例子,想想最近的音像店历史:很久以前有很多音像店:Block Buster video等等……人们不喜欢那些音像店的什么地方?当然是滞纳金。所以Netflix出现了,取消了滞纳金,因为它更符合客户/最终用户的需求。

现在,“积木老兄”和其他收费音像店一样,都要破产了。

这个更难做吗?让你的大脑停止运转,给人们他们想要的?当然是……这是让你的意志屈从于他们……这总是比较困难,但最终实现的目标是为最终用户提供他们想要的东西。

我相信所有CS程序员都有能力做出好的可用性设计,因为可用性设计要求开发人员按照特定的路径和规则进行思考。然而,对于一些程序员来说,开发一个好的“有吸引力的”设计几乎是不可能的。这并不意味着两者是不可避免地联系在一起的。这就像莫扎特能写出美妙的音乐,却不擅长足球。

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

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

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

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

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

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

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

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