【Smashing专栏】给开发者看的设计攻略

原文链接

你准备设计一个网站,空白的 Photoshop 文档在你面前发着白光,你已经盯着它一个小时了。上个月你想破头也设计不出来的时候,也是这样盯着它。作为一名开发者,只能看到各种像素乱飞,对设计毫无头绪。

设计师们都是怎么做的?难到他们不是在 Photshop 和 Sketch 上随便弄一下,漂亮的设计就出现了么?习惯了布尔逻辑和数论的开发者,能学会这种随性的设计规则吗?

当然可以!没有设计之神赠予的天赋也可以。那么,开发者该如何学习设计呢?

学东西最快的路就是问已经做过的人,啊,是问带着脑子做过的人。我采访了几位这样的开发者,他们中有些是作为编码技能的补充,有些则完全转行设计师了。

本文面向初学者,因此整篇文章都会用简化的名词定义。用户体验(UX,user experience )定义为网站的工作原理,视觉设计(visual design)定义为网站外观。这两个领域当然比这个定义更微妙,但是目前这么理解就够了。

我们从设计新手常犯的错误开始!

1 新手常犯的错误

1.1 不专注

一名18岁的大一新生有4年时间来发现自己喜欢的设计领域。在设计学校,他们会玩一段时间的影像设计(motion graphics design),再试试用户体验设计(user experience design),还会在一个学期沉迷摄影,最终发现自己喜欢和擅长的设计领域。 但你是一个时间有限的社会人,你需要详细了解必须学习的内容。

图片来自于: designbynumbers

大多数开发者,第一步就是选择 UX 或者视觉设计(也就是图形设计)。很多教程没有区分这两者,会让人混淆。

那么,该选哪个呢?考虑一下哪个更感兴趣,然后尝试一下。如果逛 Dribbble 让你很兴奋,你属于视觉设计。如果你会沉迷于 Edward Tufte 的书,那就是 UX 了。我猜这两个之一会在你耳边低声呼唤,听从这个声音就对了。

如果你已经在工作中了解自己的偏好就更好了。LAMP 技术栈的开发者 Jenny Reeves 选择了 UX 设计,对她来说这种过度自然而然,她说:这是随着时间推移慢慢发生的,不是我一觉醒来说要换个角色。我做开发时,为了组织程序,会做一些 IA 图和流程图。然后会做一些简单的线框图。当我发现自己这方面的热情后,公司也注意到了,不久就负责内部所有的 UX 了。

前 JavaScript 开发者 Jacob Rogelberg 转岗为专业 UX 了,他认为需要做很多尝试才能做选择:

你必须有一种心态,愿意尝试很多不同的事情。愿意在视觉设计上花费 10 小时,看看感觉怎么样。

在这个实验阶段,要注意没有经验不要误会成没有天赋(稍后详细解释)。

为什么我建议只选择一个呢?因为你删除一个选项以后,只剩下 50% 的材料需要学习 。用户体验设计与视觉设计是有些重叠,有些人也会建议两者都学,但这是牺牲有限的时间、牺牲专注为代价的。

只挑一个你会学得更快,精通一项比俩个都学不会要强得多。

假设你挑了视觉设计:

简化的领域重叠

这个领域也很宽泛,需要更具体。作为开发者没有机会用的技能暂时不用关心,比如可能你不需要学习编辑设计或者书籍封面设计或者 Logo 设计。

如果选择视觉设计的话,我建议 90% 的开发者专注于互动方面。(如果你选择了 UX 设计的话,相关内容已经在 Web 上,所以本节关系不大。)

图片来自于: designbynumbers

我知道你想都试试,但是你要明白,公司请一个开发者设计 Logo 的机会太少了。而你专注网站的互动(Interactive)视觉设计,会让你在未来几年受益。

1.2 被技术分心

作为一名 Web 开发者,会划分到看起来跟设计相关的主题,比如 CSS、Bootstrap 和 material design。但是学这些东西会让你错过真正应该关注的内容。对视觉设计来说就是组合、层次、排版;对用户体验设计就是用户研究和用户角色。

开发者都是建设者。在学习设计的同时,总有一股要自己做出来的冲动。注意管住自己的手,劝自己稍后再写代码。

David Klawitter 是 Detroit Labs 的设计主管,以前也是一名开发者。他在业余时间的个人项目中解决这种冲动:

有一种天生的,想要把自己的想法做出来的冲动,这也是让开发者最激动的事。我自己就很难剥离这种渴望。我会在个人项目中来满足自己,但是在 Detroit Labs 的工作范围和工作职责不允许这么做。在工作中对设计的广泛又深入的理解能产生更大的价值,我要专注于设计。

如果你没有做过前端技术方面的工作,那就很容易了。你是在一个新的不熟悉的领域,有更多的机会成长。

1.3 被工具分心

我知道很多 Web 开发者可以使用 Photoshop 和 Illustrator,他们了解这些工具,但是不能用来解决设计问题。在平面设计世界里,这些人被称作生产艺术家(production artist),这也是一个不错的职业,但这个职业与设计师(designer)不同。 领会一下,要成为设计师必须学会设计工具,但会用设计工具不一定能成为设计师。

我在设计学校就落入这个陷阱。我的第一年努力学习 Photoshop、Illustrator 和 InDesign。掌握这些工具的感觉真好啊,到年底的时候我想“成了!我已经是设计师了!”但我很快就意识到学会工具只是第一步。第二步是让作品看起来不错。设计学校的同学都明白,努力让自己从生产艺术家进入成熟的设计师行列。

Jacob Rogelberg 说:我的导师告诉我“不要停留在工具上”,这就是概念第一,工具最后,需要一段时间才能印到脑子里。要了解首要矛盾,就像编程的时候思考比具体编码更重要一样。

Sean Duran 以前是设计师和开发者,现在是电影人,他说:一开始我以为学会工具就是设计师了,但这其实是两个独立、甚至是相互竞争的事情。可能一个人懂得 Photoshop 中所有的命令和工具,但仍然不是一个伟大的设计师。这个事实教会我怎样看待别人的工作,什么是好,什么是坏。

先学会工具,可以小小的庆祝一下,然后,深入挖掘磨练设计技巧。

1.4 专注视觉效果,而不是设计

这部分仅适用于刚刚讨论的视觉设计,而不是 UX 设计相关。许多教程,比如这个教程,让你感觉正在学习设计。作为学习 Photoshop 的教程是挺好的,但这也可能会让你失去焦点。

这类教程大多数都与风格(style)有关,只是下面饼状图中许多原理之一:

设计风格

如果你只学习风格相关的教程,那就不会学到视觉设计的其他原理,设计出来的也不怎么好。想要接触其他内容挺难的,网络上的大多数设计教程都属于这类风格和技术相关的。这是因为诸如层次结构、概念和组合之类的内容更抽象,放到教程中并不太吸引人也不容易理解。

不要一直重复的研究风格类的工作,参考上图研究实践一下其他设计原理。

不怕告诉你,我认识的专业设计师都不会太注意 Photoshop 教程或上面的那种文章。唯一能用到的机会可能也就是为了实现一个特定的项目去看看。

1.5 在理论中陷入困境

要学习基础知识应该花多少时间读设计书?我认为能够做出设计决策,然后根据原理进行评估,就表示已经有了足够的设计理论基础,可以继续前行了。比如你能说出这样的话:“主页上的这两个部分太接近,没有层次感”,或者“这三行可读性不好,因为她们没有对齐”。

书上的知识固然重要,但是当离开理论开始实践时,你的技能才能最大程度的提高。在实践中运用,理论才更有意义。

设计师、开发者和创业者 Greg Koberger 推崇实践重于理论: 我主张去做而不是去读。我认识的优秀开发者都是只想着做出来想要的东西,自己琢磨出技术方法。技术只是一种手段,我提倡自己尝试自己玩,摸索到门道之后,再找些文章修饰你的格式。设计也应如此。

要学习理论,但不要把自己埋在书中。要实践!

1.6 屈服于嫉妒

我见过一些开发者逛完 Dribbble 后就惶恐的不敢设计了。这是个陷阱。

你正在读这篇文章,说明你想学用户体验设计或者视觉设计来补充你的编码技能。首先你是个写代码的,所以你的设计技能不应该与 Dribbble 上加星的作品比较。就跟视觉设计师的代码功力不能用前端开发的水平衡量一个道理。

决定雇佣一个人,肯定是为了取他的长处。Dribbble 上的高手们已经磨练他们的技能好多年了,你只是在业余时间做。所以当然你的作品不能跟他们持平。

明智的 HR 和公司都了解这一点,来自洛杉矶的创意招聘官 Savoy Hallinan 说: 如果要求我招聘一个可以设计的开发者,我就会问“需要什么级别的设计能力?”如果答案是很高的话,我会建议招两个人,因为一定会失败的事我不会做。如果我要招一个开发者/设计师,我总会问,你的主要能力是什么?因为人们总会一种能力比另外一种强。

Apex Direct Search 的 Annemarie Penny 认为你应该想清楚为什么要学设计:

退一步回想一下,你为什么要学设计。是因为你一直是一个有创意的人在找施展的机会?如果是的话,那很好,为了开心而学习,不用担心用这种技能推销自己。也许以后能用它挣钱,也许不会,这都没关系。很多人觉得自己的全职工作很无聊,想找别的方式表达自己,这样也不错。 你是不是因为求职受挫才学习视觉设计?那么你确定他们是因为这个拒绝你吗?有时候拒绝你并不会给出真正的理由,或者根本不给理由。 在高水平工程师如此缺乏的招聘市场,如果你通过了技术筛选,也能适应企业文化,就因为不会视觉设计没有雇佣你,也太奇怪了吧。

不要被伟大的作品吓住不敢开始。首先你是个开发者,没关系的。

1.7 用“我没天赋”这个借口

一些开发者觉得设计能力这种东西有就是有,没有就是没有。我觉得有一定的道理。很多设计师小时候就有艺术倾向。就像你觉得理所应当的在拆应答机或者搅拌机一样,他们正在忙着画彩虹和忍者神龟。

天赋能决定你的设计能做多好。然而,正如前面说过的,你不需要与 Dribbble 上的顶级设计师竞争。即使没有与生俱来的艺术细胞,你仍然可以通过刻苦实践做出好设计。

Greg Koberger 还说过: 设计是一项困难的技能。每个人都可以用身体去做设计,但不是每个人都有去磨练的渴望。所以,不应该问“我有这个本事吗?”而是应该问“我有多想拥有它?”

练习任何事情都很难,尤其是你跳出舒适区之外后。但是你要坚持,还要对前进路上的每一点进步给予激励。

说到练习,给自己 20 个小时的时间试着学习设计。这个时间还算合理,如果你的设计技能在这么长的时间段没有改善,或者你开始讨厌设计,那至少你可以说已经尽力了,并不是找借口放弃。

2 正确的做法

我们已经知道了学设计不要做什么,那么现在应该来看应该怎么做。

2.1 在工作中学习

你和设计师合作吗?没有多少人有这样的资源。问他们你怎样能更好的理解他们的设计,或者试着问能不能帮他们做一些打下手的活,然后听听他们的反馈。

大多数人都喜欢谈论自己擅长的话题。如果你像对老师一样诚心的求教,他们也会像老师一样想帮助你。

来自西雅图的创意大师 Mikey Micheletti 就是在工作中学的用户体验设计。他说: 在 90 年代中期,我做内部桌面应用的开发。在屏幕上摆放控件,做的不是很好。我请教另外一位做的很好的开发者,他教我布局、对齐、流程等基础知识。即使只言片语,也能让我的作品改善不少,客户也更喜欢了。

如果你工作中有设计师在周围,好好利用这个优势。

2.2 自学

走这条路很有挑战性,因为你必须同时做老师和学生。但你从教程与教程之间跳来跳去的时候,很容易感觉沮丧。如果要选这条路,我建议你采取两个步骤:

  1. 找出你想学习的设计领域,并找出该主题的最佳书籍。对于视觉设计,试试 Steven Heller、Ellen Lupton 和 Philip Meggs 的书。对于用户体验设计,请参考 Don Norman 和 Edward Tufte 的书。

  2. 给自己布置作业,然后从专业设计师那里得到反馈。这种反馈比你自己研究能更快的提升能力。

Greg Koberger 认为模仿其他人可以帮你快速学习:

我基本上是通过拼贴来学习的。按钮设计来自一个网站,导航来自另一个。一旦我攒好了一个网站,以下两件事都准备好的时候我才回重做:

  1. 我学到了新工具

  2. 我把它变成自己的了。这反过来帮我学习这个工具(复制是一个很好的学习方式,就像艺术生在博物馆临摹经典名画一样)。然后当我有灵感的时候可以快速测试新想法。

2.3 回到学校

很多开发者因为时间关系不选这条路。但如果你有时间有金钱,我推荐这个选项。在课堂上与老师对话是吸收材料带宽更高的方式。我知道现在很流行在线课程,但这并没有影响在教室里上课的价值。

Michael Loomes 一个 iOS 开发者转型的设计师,就走了这条路:

我在悉尼 Billy Blue College of Design 学习了两年 Communication Design 学士课程。我觉得这是一个非常好的决定,因为它教给我很多关于“设计思维”以及改进技术方面的事。我觉得这个“设计思维”方面的东西不容易自学,如果从线上课程学习还需要多年的经验才能掌握。

关于学校一个需要注意的是:如果你在考虑上夜班,像确定是正经学校。好的设计课程通常都在大学而不是社区学院,不然只能学到工具培训。

3 给开发者看的设计建议

我希望这些建议能帮到你!如果你对视觉设计感兴趣,希望对基础知识有更好的了解,我建议从这些书开始学起:《Thinking With Type》、《Layout Essentials》还有 Meggs 的 《History of Graphic Design》。我个人不推荐“Web design”书籍,因为他们往往重技术轻理论。我也有一个免费课程用真实的案例教视觉 Web 设计。最后,如果你想学习用户体验设计,我建议你看 52 Weeks of UX。这是个很好的入门资源。

本文由Smashing Magazine独家授权异步社区发布简体中文版。版权所有 禁止转载或建立镜像。