做一个前端交互设计师所需承受之重

来源:百度文库 编辑:神马文学网 时间:2024/04/28 17:08:22
农历正月初一,国航的CA1315的777顺利抵达广州,打开手机,祝福的短信接踵而至,我实在没有精力一一回复,我不太喜欢“群发”这种方式,因为同一条内容很可能会收到两次以上,甚至有些粗心大意的朋友在转发时候连名字都忘记改了。确实,有些祝福太廉价,如果找条短信群发一遍,也已然无法体现我的诚意。当然,我还是给大多数朋友回复了信息。
我手拿一件棉袄,拖着我那条破得不能再破的牛仔裤,夹了本Allan Cooper的《交互设计之路》,终于踏上这片熟悉而陌生的土地。虽然广州不是我的故乡,但这里空气中熟悉的味道在飞机降落时就已经逐渐让我觉得亲切了。虽然下降时大气压强的不适应让我的耳膜感到非常难受,但我满脑子里仍然是Allan书中那些真实质朴的文字叙述和似曾相识的心路历程。
Allan Cooper在他的书中把设计师和程序员完解成完全不同的两种人,其实我是非常赞同的。其中有些精彩段落让我十分激动。尤其是在分析程序员和交互设计师的两种心理活动、矛盾的时候,我更深有体会。因为加入公司半年多来,我不停地在这两个角色之间切换,也不停地面对扮演着这样两种角色的同事们。
传统互联网产品伊始的实现,几乎都是一个人干N个人的活,例如做PHP的几乎同时也在做前端的JavaScript;“美工”从做图、切图到套笨拙低效的table代码一人全包了。我甚至在广州街头某地摊上发现,有人打出300元从域名到空间全包的“销售口号”,实在让人瞠目。然而,由于某些原因,我刚进入公司的一段时间里,不得不让类似的悲剧以另一种方式上演。
Web产品重组初期阶段:公司采纳了我提出需要改进Web产品质量、关注UE和SEO的建议,成立了“UI-UE组”并任命我为Teamlead。我从美工处拿到PSD,然后与组内成员协同把它变作纯粹的DIV+CSS代码再提交给PHP Coders。这里,美工其实只是“网页作图师”;HTML虽然经过我用WebStandard全新包装,姑且可以称作SEO友好的XHTML,但最终仍然要通过PHP的Smarty模版,任那些可怜的PHP Coder们把这些模版改的面目全非,甚至把我的DOM结构全部改成JavaScript的Document.write("...")……不幸的是,由于我之前毫无大型的DIV+CSS经验,很多细节得临时琢磨,最后这个项目拖拖拉拉走了一个多月。而输出给用户的,却是一堆堆冗长的URL地址和大量低效率JavaScript代码所带来的“无止境等待”。
回头看看,这个阶段的问题实在太多了!首先,PHP Coder们除了要去折腾他们的数据库连接逻辑外,还完全掌控了最终Web产品输出的所有交互代码,从用PHP连接MySQL到用JavaScript完成表单输入的判断;其次,美工需要在大量的单位时间内完成超额的工作量,也包括提交交互设计所需要的最基本的视觉元素。而我们UI-UE组则忙着把批量的PSD变成DIV+CSS,整夜地调整布局、在两个浏览器(IE6,FireFox,那时还没有IE7 Release)之间切换并且修改着已经几乎已经没有可读性的CSS代码:那种感觉实在是糟透了。
常常“眼睁睁”看到一些体验自己都不能忍受,却因为一些CSS Hacks实在无法实现而放弃;常常“眼睁睁”看见程序员许多JavaScript实现的交互无比笨拙,却不敢提出,因为我发现他们跟我们一样,已经从早干到晚了。更何况我们还在“学习”。
可以说,这个阶段,我们虽然名字叫做UI-UE组,却毫无“交互设计”可言。我们所作的只是把对照着别人产品依葫芦画瓢出来的一张一张PSD图,变成可以在浏览器中显示的“新产品”,我想没有哪个优秀的交互设计师愿意称呼这样的互联网作业为“产品”。技术是每一个交互设计师要过的第一关,我认为:一个完全不知道什么是div+css布局或者完全不懂JavaScript事件机制的人很难成为一名好的交互设计师。
好在大家都很努力,DIV+CSS的技术也很快取代了原来的Table。产品虽然体验差到极点,但也不是不能用。这时由于公司调整了一些基本战略,我要抽身去做Flash。因为时间紧迫而公司没有人做ActionScript,我不得不把交互设计的压力,也包括话语权,全盘移交给公司的美工。我开始渐渐“沉浸”在ActionScript的各种挑战中。美工常常过来劝说我的项目有什么什么不妥,但我却盲目地认为改进这些看似无意义的Bug会造成Flash输出swf文件体积的臃肿,我宁可花一个小时去研究怎样让程序能更少占3%的CPU或者让输出的swf再减少10k,也不愿意去花10分钟去改那些我认为毫无挑战的代码。不是我不够理智,而是,这种想法源自我当时发自内心的潜意识。的确,哪怕那时我已经在网上阅读过Allan的书的前几章。但我仍然无法逃避自己内心的这种想法。至少当时是如此。于是,一个可以勉强使用,但是“体积节约功能繁荣”的带有独特特点的Flash产品提前问世了。那时我沉浸在项目收尾的快乐中,却无法想象今天我在飞机上读到“逻辑人”这一章节时,我是那样为自己曾经的那些想法而感到深深的惭愧。
Flash产品毕竟只是一个较为独立的线路,基于页面的文本/图像Web产品仍要继续,功能仍要增加。于是,我们很快进入了下一阶段,我不顾压力下定决心把与Server无关的所有的JavaScript, Ajax拿回来自己写,而尽一切努力让PHPCoders无法再接触到他们。这个阶段还有一点“花絮“,正当我靠着ActionScript的底子轻松入门JavaScript的时候,却被告知UI-UE组内两个成员却因为家里发生了突变等不同的不可抗原因而无法继续与我并肩奋斗。这对我来说,无疑是“晴空霹雳”。好在之后火速招人,新加入的成员非常有热情而且进步神速,帮我扛下了DIV+CSS的大量工作,让我能有时间去深入接触JavaScript和Ajax,让我有时间去完成完全属于自己的交互设计体验。
当我真正依托于自己的Coding来做UE,虽然只是JavaScript和Ajax这样复杂富互动应用中的一个很小的方面入手,但我遇到了Allan的书中所叙述的大部分心理问题。
首先就是对自身定位的相互排斥:当我兴高采烈地计划好一种交互方式后,却发现为了完成这种交互需要多写100多行Js代码。潜意识里,“这100多行代码将会延缓客户端的下载时间“成了我最大的辩护借口。而我又无法接受自己编写出一个如此笨拙的程序:我要让用户反复地在键盘和鼠标之间切换,最后导致连我自己都不愿意登录一次这个网站。我为了实现功能,可以在8个工作日内完工,然而我要多花4个小时的时间去思考如何能让用户使用更加简单,又要多花4个小时的实践来实现刚刚想出来的创意……除非我是超人,否则我想我不可能把这件事情做好。
我意识到,如果要做交互,必须有一个优秀的技术人员与你配合,而你自己也要有足够的技术功底去说服对方。
很惭愧地承认,到目前,我仍只是知道基本的交互设计师该大体做些什么,不该做些什么,而在创业中肩负太多技术工作的我,还没办法去做一个纯粹的、独当一面的交互设计师。因为许多事情,现在的我无法说服别人,更无法说服自己。
但我相信那一天,很快就能到来。因为我知道DIV+CSS会给页面设计师带来多大的压力和喜悦;因为我知道优雅但健壮的JavaScript能给交互流程引入多大的人性化进展;因为我知道如何说服一个PHP Coder他那操纵接数据库的代码方式是如何与人机操作相违背。
我不禁回想起学生时代曾被一名富家子弟嘲笑长这么大都没有坐过飞机。但我想他也有一个遗憾,就是自己第一次的飞行并非自己劳动所得。这次飞行是我的第一次飞行,近23岁才有第一次飞行体验,我仍然觉得非常激动、开心。
若想承受一个前端交互设计师所需承受之重,第一步就是学会面对技术和商务人员的嘲笑与不屑;第二步则是深入代码和市场规律中寻找好的交互体验所实现的具体技术及商业模式并说服程序员同事和销售同事。承受了这些,我想你就能体会到其中的快乐了。当然,对我和许多人而言,还有太远太远的路要走了。
出自:http://www.awflasher.com/blog/archives/807