工作中遇到一個(gè)很棘手的問(wèn)題,交互設(shè)計(jì)師和視覺(jué)設(shè)計(jì)師在做出高保真原型后提交給前端開(kāi)發(fā)工程師,最后得到的web產(chǎn)物從細(xì)節(jié)上和布局上都和高保真原型有所差距,比如應(yīng)該有鼠標(biāo)手型的地方?jīng)]有鼠標(biāo)手型,導(dǎo)致用戶不知道這個(gè)可點(diǎn),又或者一行文字上下高低參差不齊,看起來(lái)就很廉價(jià)沒(méi)有品質(zhì)感。導(dǎo)致交互和視覺(jué)不得不放下手中的工作去一一核對(duì)這些問(wèn)題,并指出給前端開(kāi)發(fā)工程師讓其改正,最后發(fā)現(xiàn)其實(shí)這些問(wèn)題都可以迅速的做好,那為什么前端開(kāi)發(fā)卻不愿意在一開(kāi)始的時(shí)候就做好這些工作?
從幾方面來(lái)看待這個(gè)問(wèn)題:
1.過(guò)細(xì)的專業(yè)消磨掉“默契”。
相信大部分有一定互聯(lián)網(wǎng)經(jīng)驗(yàn)的人都是做過(guò)前端開(kāi)發(fā)工程師,在那個(gè)年代從設(shè)計(jì)到開(kāi)發(fā)都是同一個(gè)人,所以完成的東西往往和預(yù)期的符合度比較高。因?yàn)樵谧銮岸碎_(kāi)發(fā)的時(shí)候自己心里知道哪些地方應(yīng)該加粗,哪些地方應(yīng)該有間距,哪些地方應(yīng)該讓用戶更突出地看到。但是現(xiàn)在大家分工越來(lái)越細(xì),每個(gè)工種的能力也越來(lái)越專業(yè)化,所以導(dǎo)致了原來(lái)的那種“默契”也越來(lái)越消失掉。前端想要做的就是寫(xiě)出牛B的代碼,最好是能夠超越google產(chǎn)品的技術(shù)水平。但是往往越專業(yè)就越偏離真正做產(chǎn)品的目的。之前一次討論中,一位前端同事說(shuō)對(duì)他們來(lái)講,代碼的整齊比用戶看到的頁(yè)面整齊更加重要。我不反對(duì)代碼整齊的確體現(xiàn)了前端的專業(yè)性,但是換句話講代碼整齊是前端的基礎(chǔ),對(duì)前端的要求是不管用戶看到的頁(yè)面有多復(fù)雜,有多絢麗,你們的代碼還是依然要那么整齊,這才是最牛B的。
2.等待中的溝通。
項(xiàng)目中為了能夠保證質(zhì)量,通常都會(huì)用產(chǎn)物傳遞的方式來(lái)幫助每個(gè)角色的溝通。我也一直“致力于”制定和update各式各樣的規(guī)范,但是我發(fā)現(xiàn),無(wú)論你的產(chǎn)物多詳盡,總會(huì)在傳遞過(guò)程中消耗一部分,導(dǎo)致后端的角色無(wú)法完整真正理解你的初衷。幸好在傳遞的過(guò)程中增加了會(huì)議溝通的形式,但是一個(gè)會(huì)議讓所有人能夠理解并且提出建議是不大可能的。那除了產(chǎn)物傳遞和會(huì)議以外,我們還能做什么?我們需要的是主動(dòng)溝通。工作中有句話,能夠用IM的,絕不用郵件,能夠用電話的,絕不用IM,能夠當(dāng)面溝通的,絕不用電話。這就是最好的溝通方式,當(dāng)然經(jīng)驗(yàn)告訴我們,每次溝通完之后,必須用郵件抄送所有人來(lái)做個(gè)溝通記錄,以免大家事情太多最后忘掉。但是溝通又會(huì)引發(fā)一個(gè)問(wèn)題,前端、視覺(jué)往往是等著交互和需求方去找他們溝通,也就是后置角色一直都是等著前置角色來(lái)找他們溝通,其實(shí)這個(gè)是錯(cuò)的。所謂的溝通是相互的,不要等!當(dāng)后置角色發(fā)現(xiàn)問(wèn)題時(shí)應(yīng)該主動(dòng)及時(shí)地找到對(duì)應(yīng)的前置角色去把問(wèn)題解決了,這樣的方式一定可以把那些疑惑和不確定都彌補(bǔ)掉。
3.不夠統(tǒng)一的產(chǎn)品思想。
在每個(gè)專業(yè)角色的領(lǐng)域大家都在說(shuō)往前走,意思就是不要停留在技術(shù)層面,要往前往遠(yuǎn)看。從后臺(tái)一直到產(chǎn)品規(guī)劃,大家都有往前進(jìn)的趨勢(shì)。當(dāng)然這和社會(huì)的現(xiàn)狀有關(guān),往往代碼工程師會(huì)羨慕前面的設(shè)計(jì)師甚至是需求方,只要口頭說(shuō)說(shuō),他們就要做很多工作,誰(shuí)都希望做上游。我不反對(duì)往前走,但是我希望大家能夠擺清定位,所謂的往前走是希望每個(gè)角色的思想是統(tǒng)一的,不僅能夠有出色的專業(yè)能力,而且能夠站在更高的角度去看產(chǎn)品,并把自己的專業(yè)能力反應(yīng)在產(chǎn)品上。現(xiàn)在大多數(shù)人都在嚷著說(shuō)我們要往前走,要去挑戰(zhàn)上游的專業(yè)能力,但是我想問(wèn)問(wèn)這些人,你們自己的專業(yè)能力夠出色了么?如果連最基本的web可用性都沒(méi)注意起來(lái)(例如鼠標(biāo)手型表示可點(diǎn)擊,元素間的對(duì)齊,大區(qū)域指示有助于用戶找到目標(biāo)等),你們?cè)趺纯赡芡白?,怎么可能把自己的專業(yè)能力應(yīng)用地更出色。
4.沒(méi)有規(guī)劃的技術(shù)。
所謂規(guī)劃,大家都會(huì)想到產(chǎn)品前期的市場(chǎng)調(diào)研,其實(shí)每個(gè)角色都應(yīng)該對(duì)自己的工作進(jìn)行規(guī)劃。我經(jīng)常遇到問(wèn)題是,當(dāng)前端開(kāi)發(fā)工程師完成的產(chǎn)物沒(méi)有達(dá)到設(shè)計(jì)師的要求時(shí),前端開(kāi)發(fā)總會(huì)說(shuō)這個(gè)什么dom結(jié)構(gòu)、什么js本身都不支持等等,甚至有時(shí)候需要優(yōu)化和升級(jí)的時(shí)候才發(fā)現(xiàn),前端把代碼寫(xiě)死了,根本不可能有優(yōu)化,只能重寫(xiě)。面對(duì)這些問(wèn)題時(shí),應(yīng)該兩個(gè)解決辦法,一個(gè)是在做之前主動(dòng)找上游溝通整個(gè)產(chǎn)品的方向和目標(biāo),并把它落實(shí)在技術(shù)中,預(yù)留好接口和開(kāi)放結(jié)構(gòu),從而使升級(jí)優(yōu)化成為可能。另外一個(gè)是認(rèn)真仔細(xì)讀懂交付產(chǎn)物說(shuō)明,看清每種狀態(tài)和分支情況,當(dāng)發(fā)現(xiàn)問(wèn)題時(shí)應(yīng)該在做之前向別人提出,從而大家可以一起來(lái)找到新的解決方案,不要等到完成時(shí)再說(shuō)什么都做不了。
5.細(xì)節(jié)決定成敗,要體現(xiàn)專業(yè)能力必須以細(xì)節(jié)為基礎(chǔ)。
一開(kāi)始說(shuō)的前端開(kāi)發(fā)做的產(chǎn)品細(xì)節(jié)上的不完善,有個(gè)前端的同事說(shuō),要做他們感興趣的東西,他們才能注意起這些問(wèn)題。的確在前端的領(lǐng)域?qū)慾s比寫(xiě)css更令人興奮和有動(dòng)力。那我只能覺(jué)得,產(chǎn)品不是兒戲,更不是因?yàn)槟愀信d趣而去做的。創(chuàng)新的東西人人喜歡,但并不是每個(gè)人都可以創(chuàng)新,你一味等著上游的角色給你令人激動(dòng)的工作,那只能說(shuō)明你本身并不適合這份工作,所謂的創(chuàng)新就是在專業(yè)領(lǐng)域做比別人更專業(yè)的事。另外,我不否認(rèn)寫(xiě)css比js更枯燥,但是這并不意味著css就不重要,其實(shí)更多時(shí)候css比js重要很多,很多web2.0的網(wǎng)站用的就是css去引導(dǎo)用戶,描述產(chǎn)品等。并不是交互和視覺(jué)一直關(guān)注這些布局和細(xì)節(jié)的問(wèn)題,換句話講,這個(gè)都是基礎(chǔ)的東西,應(yīng)該前端開(kāi)發(fā)工程師本身的意識(shí)提高,才能讓大家關(guān)注更多體驗(yàn)的問(wèn)題。我也希望不要再這些基礎(chǔ)的領(lǐng)域繞來(lái)繞去,好好做產(chǎn)品,做好自己的角色,做到完美!
最后我想說(shuō)的是不要認(rèn)為web設(shè)計(jì)就是粗糙低劣的,好的web設(shè)計(jì)更能夠提現(xiàn)產(chǎn)品的品質(zhì)感,我們要升級(jí)體驗(yàn)就必須把基礎(chǔ)做好,把這些細(xì)節(jié)都處理好,我們才有可能有精力去做創(chuàng)新,去做體驗(yàn)。