最近有不少设计师会跟我聊到,做云计算的交互设计与其他设计师有什么区别吗?
我其实也不知道怎么回答,能够记起的最后一次 TC 类的项目已经是两三年前在学校的时候了,工作以后一直在做云计算的产品,没有太深入体验做其他的产品,我真的还不太能说出有什么区别。
不过在我的认识里,交互设计其实都是差不多的,对象都是用户,分析的都是用户场景,目的都是希望能够用户带来更美好的体验。用户研究方法,信息架构设计、流程设计,页面布局等等,我能想到的纯专业内的东西其实都差不多。
如果非要说是否有哪些区别的话,可能就是云计算类的交互设计师对于业务的要求上有些特别。因为大部分的设计师都是艺术专业或者心理学等文科专业的(当然也有工科专业的,比如我和我的闺蜜,都是计算机类专业毕业),如果不花时间去学习计算机、网络、编程等相关的内容的话,对于云计算类业务在理解上有一定的难度的,最近也有人问到我这类问题。
上次发了一篇文章之后,后台有人问我一个问题:作为云计算的交互设计师需要学习哪些?那我就简单的列举一下吧。
✨
交互设计
首先都说是交互设计师了,交互设计师的专业能力是必不可少且要求较高的。其实知乎上有很多回答是关于交互设计师需要具备的专业能力相关的帖子的,再次我也可以简单说一下。
1. 需求分析能力
无论一个人要做什么事情,都要先清楚自己的任务是什么。需求分析能力是一个交互设计师必备的技能,需求是否合理?是否需要重定义?需求能否满足用户的需求?需求在实现上有什么资源限制?作为交互设计师需要做出来什么方案?其实还有很多相关的问题,需要我们在拿到需求的时候能够至少在心里都问一遍。筛选掉不合理的需求,然后还要能够在需求中挖掘用户目标,清楚产品本身的定位、需求优先级、项目资源等,这些都是有助于设计师后面的设计和方案决策。
2. 用户角色和场景分析能力
因为交互设计师就是做的用户体验,所以能够正确理解用户角色的特点,以及这样一个用户在什么场景下使用我们的产品是非常重要的。
3. 信息结构设计、任务/页面流程设计、界面设计能力
这些应该算是交互设计师的基本能力了,将需求转化界面,能够熟练掌握一些信息设计、流程设计的方案,界面设计布局合理,表达清晰、跟随现代设计趋势。有时候我会把交互设计师比喻成魔术师,因为真的很神奇(哈哈,是不是很自恋),能够将一大堆错综复杂的逻辑和流程梳理的很清晰,能够将一堆文字转化成界面。
4. 工具使用能力
这里包含手绘、软件使用。对于业务很复杂的需求,我对自己的要求是必须用纸和笔把内容都确认清楚才动手在软件上做,因为纸笔是可以随便画的,是很能让自己思维发散且能记录设计过程的工具,同时对于一些不定的需求,涂改也很方便。软件使用的话,就基本上是能够使用 Axure 等交互设计软件制作低保真、高保真原型了,能够使用流程设计或者脑图工具进行流程/信息结构设计,这些也算是交互设计师的基本功。
5. 方案权衡和推行能力
先说方案权衡,有时候我们发散思路的时候需要做出多个方案,但是最终要实现的方案大部分情况下只能是一个,作为交互设计师,需要能够从用户目标、使用场景、研发成本、产品定位等等角度去分析,想清楚为什么自己要选择某一个方案(同时做方案决策的时候要跟各利益相关者协商),然后将自己的方案介绍给大家并能够说服大家按照自己设计的方案做执行。一个好的方案,只有真正实现了,才能称得上一个完美的方案,无法被执行或者说没有被执行的方案永远都不是彼时彼景的好方案。
专业内的大致就说这么多吧,其实工作的时候对交互设计专业能力要求比较高,因为做技术密集型产品需要花费很大的精力在需求、业务的理解、梳理以及全局的思考上,真正去设计的时间是比较少的,这就要求设计师专业知识扎实且能灵活运用,能够快速反应和多方案尝试等等。接下来说一下交互设计师要了解的所谓的研发知识。
✨
研发知识
研发知识包涵一些基本必备的知识,比如前端、后端等基本研发知识,可能每一个交互设计都尽量去了解一下比较好,对于技术密集型产品(比如云计算)的交互设计师,就要稍微深入学习一下了,而且要求的内容可能需要再多一些,比如数据库、存储、计算机硬件结构和网络等等,当然对云计算范畴内的业务要能够深入理解和融入到平时的工作当中。
1. 前端
熟悉 HTML、CSS、JS 的使用方法和调用关系,会写基本的标签语言和 CSS,熟知盒模型的内容以及前端代码结构,能够在浏览器中调试想要的前端样式,能够通过浏览器的开发着模式定位间的 BUG。
2. 后端
了解基本的面相对象开发流程和抽象、封装、继承、类、对象、多态等面向对象基本概念,如下图可以简单理解类、对象、方法和属性的概念,另外了解后端研发会用的其他语言中的基本概念,可以去翻翻比如 Java 开发、PHP 开发等相关的书。
3. 前后端间
了解基本的前后端接口调用方法(会影响到具体的交互设计,如提交反馈),清楚基本的消息与通知机制(会影响的刷新、消息通知),主要还是要清楚前后端交互相关的一些内容,如下图是同步接口/异步接口对交互反馈产生不同影响的过程(简单描述)。
4. 网络和通信
了解基本网络通信协议,了解基本数据传输过程,比如下图是通信传输过程,清楚网络相关基本概念,了解网络传输或者数据获取的过程中可能出现什么问题(会影响交互反馈),可以去翻翻计算机网络和通信原理这些书中的基本概念。
5. 语言方面
开发语言的话,至少仔细学习一门开发语言,如 C 语言,Java 都可以,了解基本的数据类型有哪些以及检查方式,了解基本语句写法,了解基本算法的意义和概念,了解基本的数据结构相关的内容,如栈、队列、表、图等,以及轮询、遍历、二叉树等研发人员觉得很常识的概念,比较推荐看数据结构和算法原理相关的书。
6. 数据库和存储
了解不同类型的数据库类型的概念,了解存储的基本原理等,这块就根据自己的需要适当了解即可。
7. 研发项目管理
了解基本的代码管理平台使用,清楚代码分支、版本等概念,并能够简单的使用命令行工具、Eclipse、Sublime 等开发经常使用的工具,了解前端调试的基本的方法。
8. 云计算业务
熟练掌握计算、存储、数据库、网络、消息、网络安全、私有网络等云计算业务基本概念、逻辑、架构以及业务间依赖关系,如下图是基于容器的计算服务相关业务的简单示意图,清楚 IaaS、PaaS、SaaS、CaaS、微服务等基本概念和基本结构,清楚云计算的权属分类,熟悉云计算的应用场景,如教育、游戏等等。
✨
软能力
除了专业支持、研发活着业务相关的内容,在工作上应对复杂产品的协作上还需要的其他几个关键点吧。
1. 协作能力
因为云计算的业务有很多,而每一个业务基本上都是一个研发部门,有时候做到一些业务会关系到 N 个部门的合作,所有要求协作能力稍微高些。还有就是可能工作中你会遇到各式各样的人,这就要学会和不同类型的人合作。
2. 掌控力
可能叫这个词也不态准确,我想说的是能够很好的讲解和推行自己的设计方案,这个主要是因为很多时候,我们在开设计说明会的时候都会面对一大屋子的开发老大和开发哥哥们,当很多人的时候就会有很多想法和讨论,这个时候就需要交互设计师能够主导会议,不然一个设计说明会就变成技术讨论会了。
3. 沟通能力
能够学会与各职能部门有不一样的沟通方式,比如和视觉与后端的沟通角度和方式就要稍微不一样,视觉更关心交互设计稿中的视觉呈现部分,而且视觉同学大多是一种感性的思考方式,而开发们更关心的是实现方法,且思考方式很理性,就是大家常说的功课思维,如果对两方采用相同的沟通方式必然就会是一个低效率的沟通。好有一个方面是学会从对方理解的角度表述想要传达给对方的东西,这个就是所谓的沟通漏斗了,有时候我们会说“我都已经说的很清楚了,为什么他还是不理解”,这个时候的大部分情况可能是因为我们没有说的让他能理解。
4. 自学能力
所谓学无止境吧,自主学习能力或许在做云计算的业务中是非常需要的,因为我们随时都可能做到自己完全不懂的业务,如果这个时候不能提前自学相关的知识,很有可能在需求评审会上你会一脸懵逼,完全失去参与性和话语权。
5. 逻辑思维
这个可能 TC 类产品要求没有那么高,但是对于技术密集型产品,需要强大的逻辑思维能力去理解逻辑型业务和各业务间错综复杂的关系。
啰啰嗦嗦说了很多,但其实工作起来真的还有更多需要学习的地方,一起共同进步吧。最近也有很多学校的小伙伴找工作,希望这些对你们也有些用处吧。
附赠书单:
---交互设计,必读---
《用户体验要素:以用户为中心的产品设计》
《微交互:细节设计成就卓越产品》
《界面设计模式》
《破茧成蝶:用户体验设计师的成长之路》
《用户体验度量:量化用户体验的统计学方法》
---研发技术---
《数据结构(C语言版)》必读
《计算机网络》必读
《图解网络硬件》
《概率论》---为了看用户体验度量
《精通 CSS:高级 Web 标准解决方案》
《响应式 Web 设计:HTML5 和 CSS3 实践》
《JAVA 基础入门》
---其他---
《麦肯锡思维》
《水平思考》
《沟通的艺术》
《项目经理修炼之道》
另外推荐米兰·昆德拉的书
撰文 ✎ 田莉
图片 ✎ 自绘+网络
未 经 允 许 请 勿 转 载 到 其 他 公 众 号
请 给 该 公 众 号 留 言 获 取 内 容 授 权
···········································