最近為了設(shè)計提高效率和質(zhì)量,我開始研究如何做規(guī)范。看了一圈別人做的設(shè)計規(guī)范,又回想了一下自己以前做的,總結(jié)了以下幾個經(jīng)驗。 設(shè)計規(guī)范的共性 不同的規(guī)范雖然內(nèi)容差別很大,但是對比一下它們的目錄,卻又很多相似之處,通常包含:布局、組件、配色、圖標(biāo)這四部分。組件里的分類無非是導(dǎo)航、菜單、表單、列表、表格、按鈕、彈出框諸如此類,我就不一一列出了。 設(shè)計規(guī)范有哪幾類 總體看來,我發(fā)現(xiàn)這三類設(shè)計規(guī)范出現(xiàn)概率很高:
1、給產(chǎn)品經(jīng)理看的 IOS和早些年的Android(現(xiàn)在已經(jīng)統(tǒng)一改用Material Design)設(shè)計規(guī)范就屬于給產(chǎn)品經(jīng)理看的,里面寫的東西大多圍繞如何選擇大的方向、哪種處理方式更加合理展開的,界面細(xì)節(jié)卻沒有詳細(xì)介紹。這種規(guī)范適合用來做演講,內(nèi)容不多,都很有道理,參雜這很多創(chuàng)新的功能。而拿著它做設(shè)計卻很痛苦,因為它不告訴你如何才能達(dá)到理念中所勾勒的那個目標(biāo),圖標(biāo)、尺寸、陪色、字體……很多東西都不明確。
2、給設(shè)計師看的 這種規(guī)范通常的好處是內(nèi)容很豐富、圖例很多、建議比較詳細(xì),能夠讓設(shè)計師以此為基礎(chǔ)發(fā)揮自己的創(chuàng)造力。Material Design就屬于這一類,而且里面很多1:1的范例可以直接拿來做參考這點非常感人。但這種規(guī)范也有不足之處。一是它缺乏針對具體場景的規(guī)則,常常把所有可能用到的元素都拿出來一一細(xì)說,然而卻不告訴你應(yīng)該在什么場合使用什么。二是容易理想化,因為做這種規(guī)范的人通常是純粹的設(shè)計師,所以里面很多設(shè)計想法未必有足夠的可實現(xiàn)性,或是一些創(chuàng)意未必經(jīng)得過實踐的考驗。Material Design里面很多看起來簡單的設(shè)計其實是很難實現(xiàn)的,例如用分辨率敏感的dp取代像素單位其實大部分情況下很難實現(xiàn)。
Material Design的文本框中,說明文字會變換位置和大小,排多了看起來會很亂。
3、給程序員看的 這類不太關(guān)心布局、交互、配色等細(xì)節(jié),而是告訴讀者他們能做出什么東西,怎么做出那些東西。這類規(guī)范筆我原本預(yù)想的要多很多,其中令我印象最深刻的是Windows Phone的設(shè)計規(guī)范,因為我本科時參加過微軟創(chuàng)新杯(還得了全國一等獎),為了設(shè)計比賽作品我曾花很大精力研究過這個規(guī)范(當(dāng)時英語又爛)。程序員的隊友都稱贊Windows的設(shè)計規(guī)范有多好多好,只有我覺得用起來無比痛苦。現(xiàn)在想來,Windows Phone的設(shè)計規(guī)范雖然稱之為設(shè)計規(guī)范,區(qū)別于Windows Phone的開發(fā)規(guī)范,但它完全是個教程序員如何實現(xiàn)各種界面的指南。產(chǎn)品經(jīng)理可能還可以用它來看看頁面類型,對設(shè)計師來說卻沒有太大幫助。這種規(guī)范對于不需要設(shè)計師的場景還是非常有幫助的,比較相比前兩種,這種的可實現(xiàn)性非常高。 設(shè)計規(guī)范的選取 我認(rèn)為上文提過的三種設(shè)計規(guī)范都很重要,且適用于不同的場合。第一類給產(chǎn)品經(jīng)理看的規(guī)范適合設(shè)計初期,確定理念、報告思路階段。第二類給設(shè)計師看的規(guī)范適合在設(shè)計定型階段,這個時候界面具體長什么樣已經(jīng)確定了,但是未來的實施過程還會帶來一些不確定因素。第三類規(guī)范適用于開發(fā)階段,根據(jù)界面來規(guī)范代碼,能夠大大提升前段的開發(fā)效率。
設(shè)計規(guī)范的常見遺漏 由于第一類規(guī)范的內(nèi)容要求不多,所以這里的遺漏主要針對后面兩類。
1、文本格式 設(shè)計師常過分專注于畫圖,而忘記了文字也應(yīng)該有所規(guī)范。例如,日期可能的格式有很多,例如“YYYY年MM月DD日”、“YYYY年M月D日”、“YYYY/MM/DD”等等。再比如說單位,是用“大小:100M”、“大小:100兆”還是“大?。∕):100”呢?這些文本格式定義起來并不花時間,可是如果沒有規(guī)范的話,可能同一個東西在每個頁面的展示方式都不一樣,對用戶來說也挺煩的。
2、特殊狀態(tài) 做設(shè)計和做規(guī)范的區(qū)別是,做設(shè)計時,只有在知道某個東西有某個狀態(tài)時,才會去設(shè)計那個狀態(tài);做規(guī)范時,通常要假定所有數(shù)據(jù)和操作都有狀態(tài),不同東西在不同地方的同類狀態(tài)最好能夠統(tǒng)一。所有操作都可能失效,不管是按鈕、鏈接、輸入框、下拉菜單……什么情況在失效時顯示失效狀態(tài),什么時候完全隱藏該操作,這些都是可以統(tǒng)一考慮設(shè)計的東西。所有的操作都可能出錯,尤其是輸入框的出錯率極高。如果出錯了,如何告訴用戶哪里錯了?如何糾正?由此還可以聯(lián)想到,如何在一開始就避免用戶犯錯?所有擺放數(shù)據(jù)的地方都有可能沒有內(nèi)容,也許是列表為空,也許是字段為空。這種情況該如何明確又美觀地告訴用戶這里沒有內(nèi)容不是網(wǎng)絡(luò)問題也不是系統(tǒng)問題? △ 頁面沒有內(nèi)容的顯示效果所有內(nèi)容都有可能出現(xiàn)異常,網(wǎng)絡(luò)不穩(wěn)定、格式不支持、系統(tǒng)出錯等。這種狀況如何明確又美觀地告訴用戶可能是哪里出現(xiàn)問題,如何補(bǔ)救?成功也需要有成功的狀態(tài),有些時候頁面不止一項任務(wù),第一項成功了,第二項失敗了,用戶走到第三項時不一定還記得第一項是成功的還是失敗的。
3、多級多選和過量 一個靈活的界面規(guī)范能夠應(yīng)對大部分的內(nèi)容變化。例如導(dǎo)航和菜單的項目數(shù)量和級數(shù)通常是不確定的,下拉選框也不一定只能勾選一項內(nèi)容。更靈活的情況還有,一篇文章可能長達(dá)數(shù)十屏,這時該自動識別文章內(nèi)的標(biāo)題并生成目錄,還是分頁展示?
4、使用指南 使用指南是設(shè)計過程中通常被拖到最后才想起來的東西,在規(guī)范里也常被忽視。其中最重要的是用戶首次使用時看到的操作指南,這種操作指南可能不只在首頁出現(xiàn),并且未來可能隨著設(shè)計的變更而變更,所以這種首次使用的操作指南是很有必要做成規(guī)范的。 △ 首次使用的操作指南此外,使用過程中,在關(guān)鍵時候出現(xiàn)的操作提示也可以有規(guī)范。例如用戶進(jìn)入一個新功能時,可能會出現(xiàn)該功能的介紹。
5、尺寸適配 響應(yīng)式界面已經(jīng)被說了這么多年了,而被明確放在規(guī)范里的,除了Material Design之外還真是很難找到了。如果你想了解響應(yīng)式界面,可以看我之前的文章《設(shè)計響應(yīng)式界面該清楚哪些》。響應(yīng)式界面有很多分類和實現(xiàn)方式,不論是視覺、交互還是前段都有所涉及,每個頁面和元素都可能根據(jù)實際情況需要特殊處理,這也是為什么響應(yīng)式設(shè)計很難定制規(guī)范。 △ 響應(yīng)式界面:如果是頁面是容器,內(nèi)容就像水一樣除了整個頁面的適配之外,小的組件也最好是可能變化尺寸的。例如同一張圖表,可能被放在一個很空曠的頁面,也有可能被放在一個很擁擠的頁面,需要調(diào)整尺寸時,哪些可以縮放哪些不能縮放,對其的中心是什么……這些如果能夠明確,設(shè)計將會變得越來越像拼圖。除了整個頁面的適配之外,小的組件也最好是可以自動調(diào)整尺寸。例如同一張圖表可能被放在一個很空曠的頁面,也有可能被放在一個很擁擠的頁面。組件需要調(diào)整尺寸時,哪些可以縮放哪些不能縮放,對其的中心是什么……這些如果能夠明確,設(shè)計將會變得越來越像拼圖。
6、動效 動效也火了很久了,但是似乎還是停留于表面,缺少一套可依賴的標(biāo)準(zhǔn)。動效師并不好當(dāng),既要有超高的編碼能力,又要有敏感的美學(xué)神經(jīng)。也許就是因為這么困難,才導(dǎo)致大部分設(shè)計規(guī)范即便包含動效這一目錄,里面填充的內(nèi)容也非常模糊不清。
7、音效 大部分應(yīng)用是沒有音效的,因為音效很容易讓人厭煩,而且節(jié)奏不好把控。但是對于音樂、視頻等媒體應(yīng)用,音效的發(fā)揮空間卻很大,至今尚未開發(fā)。撇開這些不談,如果有音效,何時使用何種、多大音量、時長多少、震動模式(手機(jī))時需不需要震動反饋,很多東西都可以考慮。
8、手勢 和鍵盤的快捷鍵一樣,偏愛觸屏手勢的也大有人在,而且手勢也能讓產(chǎn)品更加獨特。如果允許使用手勢,這部分也可以有所規(guī)范。
9、國際化 如果界面上的語言種類不止一種,那么如果文字轉(zhuǎn)換后過長或過短怎么辦?用戶在看不懂當(dāng)前語言的情況下如何切換語言?不同的語言該選擇什么字體才不至于太難看(例如中文的默認(rèn)字體通常是宋體)?
10、小眾人群 雖然我們最關(guān)心的還是主流用戶,但是很多小眾人群組合起來也是可以構(gòu)成一定分量的。例如,觸屏應(yīng)用能不能給左手使用者舒適的體驗?桌面應(yīng)用能不能夠讓沒有鼠標(biāo)或是沒有鍵盤的人使用?色盲和色弱能區(qū)分界面上的色塊?視力較差的人能不能放大字。