打印

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

永久链接 : http://www.awflasher.com/blog/archives/807

农历正月初一,国航的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岁才有第一次飞行体验,我仍然觉得非常激动、开心。

若想承受一个前端交互设计师所需承受之重,第一步就是学会面对技术和商务人员的嘲笑与不屑;第二步则是深入代码和市场规律中寻找好的交互体验所实现的具体技术及商业模式并说服程序员同事和销售同事。承受了这些,我想你就能体会到其中的快乐了。当然,对我和许多人而言,还有太远太远的路要走了。
晕死,你做的太多了。

那本书对我来说太难下宴,整本书的案例屈指可数。还是交互大师写的书,一点都不交互!
我想JS效果应该交给前端交互师来实现吧.

PHPCODER只需要给出一个输出的函数就好了,反正有SMATRY.

工作越辛苦,学到的东西就越多吧
我向北走,心有尘念.
那本书的确不太适合拿去实战。但是非常适合在飞机上阅读:)

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
楼主太有才了

TOP

把一件事当作自己的事情来做 周遭确是很多“上班领工资“的人 那是一个最惨的技术人员
让时间挫骨扬灰

TOP

引用:
原帖由 metaza 于 2007-2-21 14:27 发表
楼主太有才了
比本山大叔差点^_^
没想到蓝色居然推荐了这篇文章……估计要被骂了……

TOP

给你一个建议,先整一个项目开发流程出来。然后招一个客户端交互技术的工程师。

另外,合理分配每个人的职责和资源。交互,制作,脚本,工程。 之间的工作配合与审核都找一个接口人,不要越界。

TOP

还以为有什么无法承受之重,不过是一些工作的牢骚
流水线上的“工人”就是各司其职,既然想突破或是一个人当两个人用,当然要超重负载

TOP

LZ所表现,积累好技术和经验应该很适合项目管理

TOP

引用:
原帖由 5tudio 于 2007-2-21 18:24 发表
还以为有什么无法承受之重,不过是一些工作的牢骚
流水线上的“工人”就是各司其职,既然想突破或是一个人当两个人用,当然要超重负载
不仅仅是简单的任务叠加,更让人难以释然的是期间的内心矛盾,我想这需要时间……
时间……:)

TOP

引用:
原帖由 冰麒麟 于 2007-2-21 18:13 发表
给你一个建议,先整一个项目开发流程出来。然后招一个客户端交互技术的工程师。

另外,合理分配每个人的职责和资源。交互,制作,脚本,工程。 之间的工作配合与审核都找一个接口人,不要越界。
谢谢。
不过,我也想过,但是要实现,很困难,创业公司,要招到一个能老老实实按照你的流程来做的人,很难。这一点我深有体会。毕竟,老板要考虑成本。老板不希望花太多钱,自然很难找到尽职尽责的。

混日子的人,其实不少。没办法:(

TOP

我用FLASH用REMOTING调JAVA,前台设计到制作一人包(包括前期的策划),感觉也还是可以的,不混乱,好在我不用去弄XHTML的东西,怕怕

[ 本帖最后由 realonlyjj 于 2007-2-21 23:43 编辑 ]

TOP

要做一个合格的leader
就必须对网站架构有清晰的认识
从server配置 到网站开发过程中各种角色的不同分工
其实web标准已经给了我们很大的指导
当然由于人与人之间的差异 要真正在一个团队中做到这一点还是有一定难度的

TOP


呵呵,的确是很难。
体验游戏 game4power

TOP

和楼主有一样的感受,但是目前重要的是要公司重视,UI+UE的相互融合,但话说回来实在是比较困难,我们需要太多的项目流程的实践工作,又要有一定的抗压毅力,再不断的创出自己合适的工作方式和流程,这都是谈何容易呀
但是,楼主加油,前景会很大的呀

TOP

如果前端你觉得满足了,可以做后端,后端你也满足了那么CMM5,CMMI,IAOP,ISO27001,PMP这些都还要够学。
全部学会的时候,我相信不再会有谁发牢骚了。
威望≠能力

TOP

做老板就更直接了。

TOP

《交互设计之路》我也看完了,这本书并没有什么案例,更多的是观念的转变.
楼主所在的UI-UE组,不应该和美工分开,应该是你们做好草图后由美工来美化,美工也应该加入进去,最好是美工自己能学会div + css 那是最好的了
还有,关于javascript,关于浏览器之前的差别,乱,够乱的.有时候真让人想死.
网页还是简单点好...
这个冬天有点冷啊.好多所谓的Web 2.0公司都撑不下去了.
自己也糊里糊涂就进入到互联网这个行业了...

TOP

和LZ同命,知音!
有时候觉得要做好产品就要一个团队都是知音,可以互相勉励欢喜促进~

TOP

可惜LZ去了广州....

小结一下几点原因:
1、公司部门太过于独立,特别是前台开发跟程序开发之间在于这种位置而没有一个主导方的时候,两者的产物通常是一堆垃圾代码 & ...
2、很显然,LZ处理大型项目的经验少了些,有丰富的经验可以帮助LZ解决很多不必要的麻烦
3、LZ 将所处的事与手中所握的权不对称,在这种情况下,LZ应该是一个项目经理的角色,才足以协调各方,光有专业才能还是不够的

希望LZ能找到一个可以发挥才智的好公司
:)

[ 本帖最后由 renx 于 2007-3-2 16:34 编辑 ]
无签胜有签

TOP

提醒:最后回贴距现在134天,请不要无意义回复写的很真实,同感。

TOP

我还没有做过飞机,哎,悲哀了
熊熊,大雨就快停了,彩虹也要出来啊。

TOP

我也美座过飞机

TOP

我也是23岁的时候 公司给安排的做次飞机 唉

看着某些公司招聘要求,够汗的,招的职位是网页设计师,从平面广告设计、网页设计、flash+as、php+asp.net甚至到局域网维护都一并写上…… 估计开的薪水应该不会超过3K吧 哈哈。


现在杀到北京了,接触了些面试的,菜鸟太多,么得共鸣呀,当然还是碰到强人的。

TOP

oivp 如果对有挑战的工作岗位感兴趣,请速与我联系。

TOP

引用:
原帖由 awflasher 于 2007-7-16 02:00 发表
oivp 如果对有挑战的工作岗位感兴趣,请速与我联系。
已加你的QQ&MSN
多多交流  呵呵

[ 本帖最后由 oivp 于 2007-7-16 02:44 编辑 ]

TOP

我觉得从LZ的叙述中来看,只说到“痛”,没说到“重”。

TOP

现实就是如此……你想反抗吗?

TOP

每个环节都是紧密相扣的,一个人不可能承担所有流程,这样的话,追求完美并具有高水准的合作伙伴就是必不可少的

TOP