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

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


当前回答

程序员通常不擅长UI设计。有些设计师专门从事可用性和UI设计,当涉及到开发商业软件/网站/娱乐等时,他们应该受到尊重。

大多数程序员所面临的问题是,他们无法超越自己的鼻子,意识到什么能让事情更容易理解和消化。

最好的UI设计原则之一是始终将界面设计为简单且易于目标用户访问。

一个简单的例子就是电梯。一般来说,你按下按钮来打开/关闭门,以及穿越建筑物的楼层。你能想象如果你有旋钮和开关,你必须从一楼到二楼吗?如果你必须向后滑动一个面板来访问三个按键开关,你必须以特定的顺序转动三个彩色按键才能到达特定的楼层,那会怎么样呢?

你很快就会发现一个糟糕的界面是多么的困难,而一个好的界面是多么的简单和可用。

其他回答

我为社交圈之外的人设计了一个程序,并观察他们的行为。在这样做的过程中,我不再受制于朋友们的偏见,也不再受制于我自己的骄傲和自我。在改进应用程序的过程中,我变得更加谦虚,对设计问题更加敏感。我学到了以任务为导向的设计和简单的重要性。我明白了拥有太多功能的代价。有了经验,你也会的。

我强烈推荐一些参考资料:

Joelonsoftware杰夫·拉斯金的“人性化界面” 罗宾·威廉的《非设计师设计指南》 大多数UI文章都在alistapart上 Jwz关于编程的博客 苹果人机界面指南

我强烈建议你忽略一些参考文献和哲学:

“主题” 一般的桌面应用程序,除非您需要访问驱动程序/文件系统 “越多越好”的理念

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

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

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

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

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

不是开发者!

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

换句话说……

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

人行道和学生

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

视频商店和Netflix

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

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

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

为什么UI设计对某些开发者来说如此困难?

这有点像问为什么篮球对足球运动员来说很难。

左脑对右脑。有些人没有艺术感。

我敢打赌,通过学习和勤奋,任何人都可以在界面设计方面做得更好。这并不意味着你会成为一流的美工或设计师。

我认为改进总是有可能的。

原因有很多。

(1)开发者不能站在用户的角度看问题。这是通常的怀疑:缺乏同理心。但这通常不是真的,因为开发人员并不像人们想象的那样陌生。

(2)另一个更常见的原因是,开发人员太接近自己的东西,在他的东西上呆了这么长时间,没有意识到其他人可能并不那么熟悉他的东西(这是一个比直觉更好的术语)。

(3)还有一个原因是开发人员缺乏技术。

我的最大主张:阅读任何UI,人类交互设计,原型书。例如:设计显而易见的:一种Web应用程序设计的常识方法,不要让我思考:一种Web可用性的常识方法,设计时刻,等等。

他们如何讨论任务流程?他们如何描述决策点?也就是说,在任何用例中,至少有3条路径:成功、失败/异常、替代。

因此,从点A,你可以去A.1, A.2, A.3。 从点A.1,你可以得到A.1.1, A.1.2, A.1.3,等等。

他们如何显示这种向下钻取的任务流程? 他们没有。他们只是掩饰它。

因为即使是UI专家也不具备技术,所以开发者也没有机会。 他认为这在他的头脑中是清楚的。但它甚至在纸上都不清楚,更不用说在软件实现中了。

我必须用我自己的手工制作技术。