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

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


当前回答

要改进,只要看看现有的网站。除了已经推荐的书,你可能还想看看罗宾·威廉姆斯的好书《非设计师设计书》(亚马逊链接)。

通过看看禅宗花园提交的各种作品,看看视觉设计中有什么可能。

UI设计绝对是一门艺术,就像C语言中的指针一样,有些人懂,有些人不懂。

但至少我们可以对他们的尝试笑一笑。顺便说一句,感谢OK/Cancel的搞笑漫画,感谢Joel把它放在你的书“最好的软件写作I”(经过亚马逊链接的清理)中。

其他回答

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

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

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

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

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

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

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

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

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

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

我发现UI设计中最好的工具是观察第一次使用该软件的用户。做大量的笔记,问他们一些问题。永远不要指挥他们或试图解释软件是如何工作的。这是UI(以及编写良好的文档)的工作。

我们在所有项目中始终采用这种方法。看到一个用户以一种你以前从未考虑过的方式处理软件总是令人着迷的。

为什么UI设计这么难?一般来说,因为开发者和用户从来不见面。

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

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

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

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

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

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

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

许多开发人员认为,因为他们会写代码,他们就可以做所有的事情。设计界面是一种完全不同的技能,在我上大学的时候根本没有教过这门技能。这不是与生俱来的。

另一本好书是唐纳德·诺曼的《日常事物的设计》。