原文来自:Algorithm-Driven Design: How Artificial Intelligence Is Changing Design
作者是来自俄罗斯的设计师 Yury Vetrov。通过 Smashing Magazine 我联系到了 Yury 本人,得到了翻译和转载的授权。他邮件回复说“glad to see a Chinese version of my article”,开心~
附上他的联系方式和介绍:Yury Vetrov 的 LinkedIn
设计师的盔甲
前面的内容已经包含了几个算法驱动设计的案例。现代设计师为此需要哪些工具呢?回想在上世纪中期,计算机被预想成扩展人类能力的一种方式。Roelof Pieters 和 Samim Winiger 仔细分析了计算学历史和提升人类能力的理念。他们发现了设计工具演化的三个阶段:
- 第一代是用数字方法模仿人设计的工具;
- 第二代通过不断的操作-反馈循环 ,完成人和机器共同协商的创意过程,帮助人类构建创作模式;
- 第三代在细粒度的交流中与人协商创意过程,提升人的创作能力,加快从初学者到专家进阶的技巧习得,从而帮助人类构建3.0创作模式。
算法驱动的设计应该是产品设计师的盔甲——它加大了我们做决定的数目和深度。设计师和计算机需要怎么合作呢?
数字产品设计师的工作流程可能像是这样:
1. 探索可能出现的问题,选择对商业和用户最有价值的问题去解决(分析);
2. 探索可能的解决方法,选出解决(分析)问题的最优解;
3. 启动,开发,推广一个解决问题的方法;
4. 评估产品在真实用户中的运行情况,并优化它(分析和设计);
5. 与公司的其它产品和解决方法保持联系和统一(设计)。
上述任务分为两类:对模糊的信息和已见效的解决方法的分析,以及为此做的需求和解决方案的设计。对这两种任务,我们分别需要什么工具和工作方法呢?
分析
对用户的模糊信息的定性研究难以实现自动化。但发掘现有产品的用户使用方式是一个好办法。我们可以提取出行为模式、得到用户分群,然后为它们优化用户体验。在广告定位中这已经实现了,算法用清晰和模糊的行为模式给用户做分类(在特殊产品或广告网络中)。
为了训练算法,优化针对用户群的界面和内容,设计师应该补充一些机器学习的知识。Jon Bruner 给了一个很好的例子:从理想结果的基本描述开始的一种遗传算法——一个为节省燃油和方便乘客做优化的航班时刻表。它把不同的变量包括在内:航空公司拥有的飞机数量,起降的机场,每个飞机的座位数。它加入了那些也许你认为无关的变量:关于现有时刻表的数千个航班的细节,或是随机产生的虚假信息。经过成千上万甚至上亿次迭代,时刻表渐渐变得更加有效和便于使用了。算法也让我们理解了时刻表中的每个元素——例如37次航班从 O’Hare 机场的起飞时间——是怎样影响燃油效率和乘客便利这些相关变量的。
在这个场景中,人们掌管着算法,可以任意增减限制条件和变量。从真实用户的试验中可以测量出结果。同时,算法也用持续的反馈循环来提升用户体验。尽管这项工作的复杂说明它是数据分析师的分内事,设计师仍应该懂得机器学习的基本原理。O’Reilly 最近发行的关于这个话题的一本小册子就很棒。
设计
两年前,一个为工业设计师服务的工具 Autodesk Dreamcatcher 弄出了点动静,引发了 UX gurus 的好几次报道。它的基础理念是“生成设计”——一种应用在表演、工业设计、时装和建筑设计等领域多年的设计方法。很多人知道 Zaha Hadid 建筑事务所,他们的官方人士将这种方法称为“参数化设计”。
Logojoy 是一款能替代自由设计师设计简单 logo 的产品。你可以选择喜欢的风格、颜色和品牌,Logojoy 会产生无限多的创意结果。它可以精确到一个反映企业风格的特殊定制的 logo,订做关于品牌的商务名片,信封,等等。这简直是现实世界中最棒的算法驱动工具了!它的作者 Dawson Whitfield 阐述了它背后的机器学习原理。
但是,它还没有出现在数字产品设计中,因为他不能帮忙解决实际的工作任务。当然,建筑师和工业设计师的工作有它足够的专业性和种种限制,但用户界面的设计不是静止的——它们的使用模式、内容和功能常常变化,应该说是变化非常非常的多。而如果我们考虑整个生成设计的过程——一个设计师制定算法创作最终产品的原则——就会发现很多灵感。数字产品设计师的工作过程可能看起来是这样的:
1. 算法用给定的原则和模式产生多个设计变化的结果;
2. 这些结果用设计质量和任务要求进行筛选;
3. 设计师和经理选择最有意思与合适的设计变化,必要时将它们打磨加工;
4. 设计系统对一个或多个变化运行 A/B 测试,最后人工选出最有效的一个。
在数字产品设计中,我们如何从一大堆概念里筛选出结果尚未可知,因为使用场景实在太多了。如果算法可以帮助过滤这些概念,我们的工作应该会更多产、更有创意吧。然而,作为产品设计师,我们每天大多是在想法巨多的头脑风暴会议或是屏幕上的原型迭代中使用生成设计。为什么我们不能把其中一部分交给算法呢?
Jon Gold 的实验
在 The Grid 工作的 Jon Gold 发明的实验性工具 Rene,就是一个让算法做选择的实践中的例子。Gold 训练计算机为字体设计做有用的决定。他认为这和教会人做决定差不多,因此他把学习过程分为以下几步:
1. 分析字形,理解字体之间的相似之处;
2. 为组合字体形成基本的原则;
3. 找出最好的字体组合,了解流行趋势;
4. 用算法衡量设计师的工作成果。
它的想法与 Roelof 和 Samim 所说的类似:工具应该成为设计师的创意合作伙伴,而不只是傻乎乎的执行者。
Gold 的工具 Rene 是建立在这些原则上的。说起命令式编程和声明式编程,Gold 认为现代的设计工具应该选择后者——专注于我们想要得到的目标,而不是如何一步步计算。Jon 用公式表示 Rene 是如何设计并作出一些低级别的 demo 的,你可以试试这个工具。这是一个很早期的概念,但足够传达出这种思想。
视频翻越后可见:Rene ——产品设计工具
Jon 开玩笑地称这种方法为“暴力设计”和“成倍设计”,他强调了专业人员控制的重要性。值得注意的是,他在今年早些时候离开了 The Grid 团队。
工具已经有了?
不幸的是,没有网站或移动产品设计工具能达到和 Autodesk Dreamcatcher 媲美的分析和设计水平。不过,The Grid 和 Wix 多少可以算作高水平的、直接的解决方案。Adobe 一直在加入一些智能特性:最新版本的 Photoshop 有一个内容感知的功能,当你用了裁切工具后旋转图像,把画布扩张到超出图片本身大小时,它会自动填充和裁剪出拥有重要内容的部分。
视频翻越后可见:内容感知的裁切功能介绍
Adobe 和多伦多大学合作的实验——Design Scape 可以自动改善设计布局。它还能为用户推出一个全新的版块。
视频翻越后可见:DesignScape: 与交互式的布局建议一起做设计
你一定要跟上 Adobe 的步伐,因为他们在2016的 the MAX 会议上发布了一个叫做 Sensei 的智能平台。Sensei 利用了 Adobe 在人工智能和机器学习领域的专业技术,它将会成为未来用户级和企业级的 Adobe 产品中算法驱动设计功能的基础。发布会提到了语义图像分割(以图像类型做标签展示一张图片中的每个部分,如建筑、天空等),字体识别(如,通过创意资源和推荐相似字体来识别一种字体,甚至是手写体),以及智能用户分群。
然而,正如John McCarthy——提出“人工智能”术语的计算机学家的说法,“只要它能工作,没有人会再称它为人工智能了。” 曾经最前沿的人工智能现在成了计算机的标准要求。下面是一些可作为产品设计师日常工具包的试验性的想法和工具:
StyLit 无需绘画即可创作3D模型。
Autocomplete handdrawn animations Microsoft 试验性的插画/动画自动补全工具。
但这只是未来世界的一角。现在的更多情况是,个人企业在为他们的工作任务寻找特定的解决方法。最好的方法之一是把算法融入到企业的设计体系中。目标是相似的:自动化大量跟随产品线的任务;得到和维护统一标准的设计;简化项目启动过程;更轻松地支持现有产品。
现代的设计体系始于前端的设计风格规范,但这只是第一步(把设计与开发人员的代码相结合)。开发人员仍然需要手动创建页面。下一步是在预先规定的准则下的半自动化页面创建和测试。
优势和劣势
你的公司应该用算法驱动的设计吗?
优势
如果我们考虑一下近期的趋势,这种方法的价值就比较清晰明了:
- 省去了准备资源和内容的机械工作;
- 拓宽了对创作的探索。计算机把各个变量因素放在一起,让设计师从结果中过滤出最好的组合;
- 为小范围的分群用户甚至特殊用户优化界面;
- 让设计快速适应多个平台和设备,虽然是一种原始的方法;
- 可以为一个界面的不同部分或一些特殊的模式做实验——理想的、自动化的实验。
总的来说,这种设计方法可以将设计师从支持开发和创作过程中解放出来,但最重要的决定还是交给他们去做。一个不错的副作用是我们需要弄清楚自己的工作,因为我们需要试着分析它,将其中的一部分自动化。它会让我们更多产,更好地向非设计人员解释我们的工作本质。这样,整个公司的设计氛围将会更加浓厚。
劣势
然而,所有的这些优点不太容易实现,或是存在一些限制:
- 我们讨论的只是在公司目标下的定制化的解决方案。这种工作需要在开发、支持和提升上的持续投入;
- 就像 The Grid 那样,单单一个工具不能让奇迹发生。没有设计师的全局指挥,做出来的结果很可能平凡无奇。另一方面,这确实是大部分专业工具的应用现状;
- 打破过去存在的风格和方案比较困难。算法驱动的设计是建立在已有的模式和原则的基础上的;
- 如果生成设计工具可以从 Dribbble 中获取到所有信息,抄袭其他设计师的作品就会变得简单。
道德问题也同样存在:算法做出的设计有价值吗,是独一无二的吗?谁是设计的原作者?生成设计的结果难道不会被局部最大值所限制吗?Oliver Roeder 说“计算机艺术”不会比“绘画艺术”或“钢琴艺术”更让人兴奋。毕竟,编程软件是人写出的,背后的原理是人思考得出的,计算机是人制造的,素材是人收集的,公司也是人所经营管理的,工具是人使用的。计算机艺术是人类的艺术——之一,而不是一个另类。改革已经发生了,那么为什么不能进行下去呢?
总结
这是一个关于美好未来的故事,但我们应该记住算法的局限——它建立在人类定义的准则上,即使现在是机器学习在管理这些准则。设计师强大的地方在于他们可以制造和打破准则;因此从现在起的一年内,我们可能会把“美丽”定义为完全不同的东西。业界设计师既有高手也有菜鸟,而算法会轻易取代后者。但那些跟随准则、必要时打破准则的人,会找到强大的新工具和无限的可能性。
更重要的是,数字产品正在变得越来越复杂:我们需要支持更多的平台,为更多的用户群体变化使用场景,做出更多的假设。就像 Frog 的 Harry West 所说,以人为本的设计从设计实物(工业设计)扩展到设计体验(包括交互设计、视觉设计和控件设计)。下一步将会是系统级行为的设计:设计决定自动化系统或智能系统所做行为的算法。比起招聘越来越多的设计师,我们更该做的是把日常工作交给计算机去做。让计算机去和字体玩游戏吧。