日期:2013-10-01 浏览次数:20708 次
作为互联网产品设计师,在和前端开发人员沟通时你能否常常会听到这样的声音:
—— “大姐,给点专业精神好不好,这个表格是自顺应的,你这样设计页面不好扩展啊…”
——“用ajax不是不行,不过你要事前给我说嘛,你不说我怎样知道呢,你说了我就知道了嘛…”
面对这些回答,除了欲哭无泪,你有没有想过是什么缘由导致出现这样沟通偏差,有没有处理的办法呢?设计师需求了解哪些知识才能和前端开发人员来更好的合作呢?
首先得从这两者之间都有哪些不同说起。我认为最次要缘由在于设计师和前端开发在部门中不同的职责划分。通常情况下,产品设计师的产出物多是线框图(wireframe),视觉设计稿(mockup)等,前端担任编写HTML,CSS等代码(demo),有时还会依据需求编写程序代码(如 JSP/ASP/PHP/Rails),光看这些分工,就知道不同的角色对产品的理解和着重点是截然不同的。
按照正常的项目流程,设计团队通常需求先设计出界面mockup或demo(HTML/CSS),接着开发人员才开始正式编写代码。然而多数情况下为了保证项目进度,需求开发人员和设计师在项目前期就介入进来,不同的是,开发人员多是审核通过项目计划书(PRD)和原型评审,她们更关注于技术可实现性;而设计师更倾向理解产品经理的项目需求以及通过什么样方式来处理需求从而达到提升用户体验的目的,她们更关注创意的可行性。
更令人纠结的是前端开发对“界面元素”和“交互动作”的理解和设计师有很大不同。统一的界面元素对网站的前端架构也会很有好处,他们更关注代码的可重用性。 一方面是CSS:前端开发要实现设计师(或者本人引以为骄傲)的界面设计,如果新页面的设计和原先页面中相反功用元素的设计有出入,哪怕是一点出入,都有可能带来很多反复的任务,将CSS文件变得越来越臃肿。另一方面是JavaScript:对于很多使用型网站,会有很多需求JavaScript的页面交互元素。这些交互元素的视觉或者行为设计与之前的有出入,也会让前端工程师为了既保证代码的健壮性来方便后端工程师的开发,又为了实现一些设计上的差别而对现有代码修修补补忙得不可开交,最可怕的是最终吞没于bug的海洋…而交互设计师的侧重点并不在程序的编码实现,而注重于用户如何最好地与系统交互操作,在设计中重点需求考虑的是界面元素的易用性:比如他们会考虑到并非每个用户都是计算机的熟练用户,面对隐藏的层和特殊设计的菜单可能会抓瞎,用户不见得能明白双击左键能自动滚屏或者怎样能让自动滚屏停下来,直接看最下面的结果?总之,设计师(完满主义者更甚)会不断完善产品,来满足更好的用户体验。
那么设计师怎样来处理这些问题呢?我觉得最重要的就是“沟通”,这是最基本的处理办法。在原型设计前期就要针对本人想法的讯问前端开发在技术上的可行性,在界面设计过程中会有很多精确到像素级的标准,同样要和他们沟通了解代码的实现方式,不然很有可能做无用功。在提交界面设计之后,交互设计师也要自动出击,不定时的去关注demo的实现效果(mockup和demo多多少少存在不分歧,在后期需求跟进;另外涉及到复杂的交互方式前端很可能会忘记或者搞混,也需求不断的去核查)。另外建立标准的文档管理和设计规范也很重要,好在我们开始建立设计规范和标准(淘斯基和TPL 模式库)的文档管理方法(SVN),包括:
当然,前端都很忙的,经常去“骚扰”他们会被鄙视的。跟他们沟通也需求技巧和一些基础认识,我总结了以下几点需求谨记:
好了,这些血和泪的经验是我任务一段时间慢慢总结的,如果你有更多的方法,希望能一同分享。