再說,設(shè)計師,為什么要學(xué)習(xí)編寫代碼?
通常,在完成了一件網(wǎng)頁設(shè)計后,設(shè)計師的無知都會顯露無遺而備受指責(zé)。他們把創(chuàng)建網(wǎng)頁代碼的繁重工作都留給了程序員們。這種現(xiàn)象不只出現(xiàn)在網(wǎng)絡(luò)開發(fā)行業(yè),在軟件及游戲開發(fā)業(yè)也是如此。
殘酷的事實(shí)就是:開發(fā)進(jìn)度可能會因設(shè)計師而停滯不前。為了追求最佳效率,設(shè)計師不僅需要描描畫畫,還需要能把它做出來!本文中,我想與讀者分享一些為什么設(shè)計師需要學(xué)習(xí)編寫代碼的理由。
做現(xiàn)實(shí)可行的設(shè)計
有了一個最終產(chǎn)品將如何實(shí)現(xiàn)的明確印象,設(shè)計師將拿出更多實(shí)際可行的概念。作為開發(fā)進(jìn)程中不可或缺的一份子,設(shè)計師肩負(fù)著確保他們的設(shè)計能夠順利轉(zhuǎn)移到網(wǎng)絡(luò)介質(zhì)上,同時還要考慮其可用性,網(wǎng)頁易讀性和可實(shí)現(xiàn)性。一個對用戶友好的網(wǎng)站不僅有簡潔清晰的瀏覽順序邏輯,還向用戶提供一切所需的信息而不會顯得咄咄逼人或是雜亂無章。想要知道一種 Web 布局是否可行的唯一途徑就是親自去了解如何建立一個網(wǎng)頁。
使溝通更輕松
在幾乎所有的設(shè)計與實(shí)現(xiàn)各自獨(dú)立的產(chǎn)品中,設(shè)計組和實(shí)現(xiàn)組從沒有滿足過對方的期望,尤其是那些無形的產(chǎn)品,比如網(wǎng)站,軟件和游戲。這通常歸結(jié)于產(chǎn)品的期望和產(chǎn)品可行性的相互妥協(xié),目前看來,這是難以完美統(tǒng)一的。解決之道是:設(shè)計師應(yīng)該親身嘗試設(shè)計作品的實(shí)現(xiàn),以避免溝通中的混淆,誤解和誤傳。
方便的迭代開發(fā)過程
一個實(shí)踐中的設(shè)計不應(yīng)是絕對的。我的意思是,設(shè)計應(yīng)該是靈活友好的,能夠在修改以迎合系統(tǒng)技術(shù)限制的同時不扭曲其原有內(nèi)涵。這些重復(fù)但必要的改動只能由原設(shè)計師來實(shí)現(xiàn)。一個設(shè)計師/開發(fā)者能夠比開發(fā)人員把設(shè)計重提到設(shè)計師手里進(jìn)行改動更加高效。而且設(shè)計師和開發(fā)者之間——事實(shí)上經(jīng)常如此——會產(chǎn)生摩擦。
更好更和諧的結(jié)果
我常常喜歡把軟件,網(wǎng)絡(luò)或是游戲開發(fā)想成是管弦樂,而設(shè)計師是作曲家,開發(fā)者是樂團(tuán)的指揮家。想象一下二者是同一個人將會怎樣?交響曲將會是令人驚嘆的,迷人的,純正的!不僅是大師的神作,而且還是其本人親自指揮的!
縮短開發(fā)時間
設(shè)計師同時充當(dāng)程序員的角色意味著設(shè)計和編碼的進(jìn)度即使不是同時的也是連續(xù)的。結(jié)果就是開發(fā)周期的縮短——誰會不關(guān)心效率呢?
設(shè)計師更加市場化
現(xiàn)代的設(shè)計師需要提升自身的能力以保持個人價值,有一套技能是遠(yuǎn)遠(yuǎn)不夠的,我們往往需要戴著不同的頭銜:設(shè)計師,前端開發(fā)者,文章作者和項目經(jīng)理。
通過學(xué)習(xí)實(shí)現(xiàn)你自己的設(shè)計,而不是讓設(shè)計成為開發(fā)者手中的孤兒——你提升了自身價值。畢竟,在簡歷中提到設(shè)計和編碼技能不會有壞處。相反,在這個金融危機(jī)時代的企業(yè)重組(參見:大規(guī)模裁員)和縮減開支的環(huán)境下,還能夠強(qiáng)調(diào)一個人的重要性而免遭解雇。
然而,即使有這么多的理由支持設(shè)計師學(xué)習(xí)編寫代碼,這里還是有反對的聲音。
引用 Lukas Mathis 的一篇有爭議性的文章“設(shè)計師不是程序員”(注1)
如果設(shè)計師實(shí)現(xiàn)自己的設(shè)計,他會受制于兩個不同的目標(biāo):代碼的整潔和良好的用戶體驗(yàn)。這兩個目標(biāo)是相互矛盾的。如果你要實(shí)現(xiàn)你自己的設(shè)計,你必然會為了代碼的質(zhì)量而妥協(xié),這是不利于交互設(shè)計的。
實(shí)現(xiàn)自己設(shè)計的設(shè)計師面臨著兩個問題:他們知道一個很棒的新思路會建立混亂的代碼,他們也知道如果改進(jìn)用戶體驗(yàn),現(xiàn)有的代碼會被打亂。這兩者相互矛盾,因?yàn)橛脩趔w驗(yàn)都在于小的細(xì)節(jié),而這些小細(xì)節(jié)最終毀于他們的不忍心使代碼變得混亂。
這恰如其分的總結(jié)了“Web 開發(fā)純化者”們所采取的強(qiáng)硬立場。他們是守舊派,倡導(dǎo)在設(shè)計和開發(fā)之間劃清界限。顯然,設(shè)計師為人類創(chuàng)作,開發(fā)者為機(jī)器創(chuàng)作。因此,用戶體驗(yàn)設(shè)計師們應(yīng)該設(shè)計出最可行的用戶界面并讓開發(fā)者做出最可行的編程決策。雖然這有一定的道理,但當(dāng)我研究一個用戶界面的時候,我從代碼中尋找靈感的努力卻以失敗而告終??傊?,在頭腦中有一個技術(shù)及可用性限制的正確觀念還是更有好處。
寫在最后
歸根結(jié)底,所開發(fā)項目的規(guī)??赡茏罱K決定著設(shè)計師和開發(fā)者的角色。一個小型的應(yīng)用可以由一個項目經(jīng)理(注2)一手掌控,而一個大型的系統(tǒng)必然需要不同的專業(yè)人才!
注1 Mathis-Lukas——“Designers are not Programmers”——ignore the code
注2 Spolsky-Joel——描述了一個叫做“設(shè)計師兼程序員”的職位——“How to be a program manager”——Joel on Software
作者 John Urban 是加州大學(xué)的大二學(xué)生,主修計算機(jī)科學(xué)。
英文原文?http://sixrevisions.com/web_design/why-designers-should-learn-how-to-code/
- 目前還沒評論,等你發(fā)揮!