如何做介面設計規範?

最近為了設計提高效率和質量,我開始研究如何做規範。看了一圈別人做的設計規範,又回想了一下自己以前做的,發現了有趣之處。

設計規範的共性

不同的規範雖然內容差別很大,但是對比一下它們的目錄,卻又很多相似之處,通常包含:佈局、元件、配色、圖示這四部分。元件裡的分類無非是導航、選單、表單、列表、表格、按鈕、彈出框諸如此類,我就不一一列出了。

設計規範有哪幾類

總體看來,我發現這三類設計規範出現機率很高:

1、給產品經理看的

iOS和早些年的Android(現在已經統一改用Material Design)設計規範就屬於給產品經理看的,裡面寫的東西大多圍繞如何選擇大的方向、哪種處理方式更加合理展開的,介面細節卻沒有詳細介紹。

這種規範適合用來做演講,內容不多,都很有道理,參雜這很多創新的功能。而拿著它做設計卻很痛苦,因為它不告訴你如何才能達到理念中所勾勒的那個目標,圖示、尺寸、陪色、字型……很多東西都不明確。

2、給設計師看的

這種規範通常的好處是內容很豐富、圖例很多、建議比較詳細,能夠讓設計師以此為基礎發揮自己的創造力。Material Design就屬於這一類,而且裡面很多1:1的範例可以直接拿來做參考這點非常感人。

但這種規範也有不足之處。一是它缺乏針對具體場景的規則,常常把所有可能用到的元素都拿出來一一細說,然而卻不告訴你應該在什麼場合使用什麼。二是容易理想化,因為做這種規範的人通常是純粹的設計師,所以裡面很多設計想法未必有足夠的可實現性,或是一些創意未必經得過實踐的考驗。Material Design裡面很多看起來簡單的設計其實是很難實現的,例如用解析度敏感的dp取代畫素單位其實大部分情況下很難實現。

如何做介面設計規範?

Material Design的文字框中,說明文字會變換位置和大小,排多了看起來會很亂。

3、給程式設計師看的

這類不太關心佈局、互動、配色等細節,而是告訴讀者他們能做出什麼東西,怎麼做出那些東西。這類規範筆我原本預想的要多很多,其中令我印象最深刻的是Windows Phone的設計規範,因為我本科時參加過微軟創新杯(還得了全國一等獎),為了設計比賽作品我曾花很大精力研究過這個規範(當時英語又爛)。程式設計師的隊友都稱讚Windows的設計規範有多好多好,只有我覺得用起來無比痛苦。現在想來,Windows Phone的設計規範雖然稱之為設計規範,區別於Windows Phone的開發規範,但它完全是個教程式設計師如何實現各種介面的指南。產品經理可能還可以用它來看看頁面型別,對設計師來說卻沒有太大幫助。

這種規範對於不需要設計師的場景還是非常有幫助的,比較相比前兩種,這種的可實現性非常高。

設計規範的選取

我認為上文提過的三種設計規範都很重要,且適用於不同的場合。第一類給產品經理看的規範適合設計初期,確定理念、報告思路階段。第二類給設計師看的規範適合在設計定型階段,這個時候介面具體長什麼樣已經確定了,但是未來的實施過程還會帶來一些不確定因素。第三類規範適用於開發階段,根據介面來規範程式碼,能夠大大提升前段的開發效率。

設計規範的常見遺漏

由於第一類規範的內容要求不多,所以這裡的遺漏主要針對後面兩類。

1、文字格式

設計師常過分專注於畫圖,而忘記了文字也應該有所規範。例如,日期可能的格式有很多,例如“YYYY年MM月DD日”、“YYYY年M月D日”、“YYYY/MM/DD”等等。再比如說單位,是用“大小:100M”、“大小:100兆”還是“大小(M):100”呢?

這些文字格式定義起來並不花時間,可是如果沒有規範的話,可能同一個東西在每個頁面的展示方式都不一樣,對使用者來說也挺煩的。

2、特殊狀態

做設計和做規範的區別是,做設計時,只有在知道某個東西有某個狀態時,才會去設計那個狀態;做規範時,通常要假定所有資料和操作都有狀態,不同東西在不同地方的同類狀態最好能夠統一。

所有操作都可能失效,不管是按鈕、連結、輸入框、下拉選單……什麼情況在失效時顯示失效狀態,什麼時候完全隱藏該操作,這些都是可以統一考慮設計的東西。

所有的操作都可能出錯,尤其是輸入框的出錯率極高。如果出錯了,如何告訴使用者哪裡錯了?如何糾正?由此還可以聯想到,如何在一開始就避免使用者犯錯?

所有擺放資料的地方都有可能沒有內容,也許是列表為空,也許是欄位為空。這種情況該如何明確又美觀地告訴使用者這裡沒有內容不是網路問題也不是系統問題?

如何做介面設計規範?

頁面沒有內容的顯示效果

所有內容都有可能出現異常,網路不穩定、格式不支援、系統出錯等。這種狀況如何明確又美觀地告訴使用者可能是哪裡出現問題,如何補救?

成功也需要有成功的狀態,有些時候頁面不止一項任務,第一項成功了,第二項失敗了,使用者走到第三項時不一定還記得第一項是成功的還是失敗的。

3、多級多選和過量

一個靈活的介面規範能夠應對大部分的內容變化。例如導航和選單的專案數量和級數通常是不確定的,下拉選框也不一定只能勾選一項內容。更靈活的情況還有,一篇文章可能長達數十屏,這時該自動識別文章內的標題並生成目錄,還是分頁展示?

4、使用指南

使用指南是設計過程中通常被拖到最後才想起來的東西,在規範裡也常被忽視。其中最重要的是使用者首次使用時看到的操作指南,這種操作指南可能不只在首頁出現,並且未來可能隨著設計的變更而變更,所以這種首次使用的操作指南是很有必要做成規範的。

如何做介面設計規範?

首次使用的操作指南

此外,使用過程中,在關鍵時候出現的操作提示也可以有規範。例如使用者進入一個新功能時,可能會出現該功能的介紹。

5、尺寸適配

響應式介面已經被說了這麼多年了,而被明確放在規範裡的,除了Material Design之外還真是很難找到了。如果你想了解響應式介面,可以看我之前的文章《設計響應式介面該清楚哪些》(設計響應式介面該清楚哪些)。響應式介面有很多分類和實現方式,不論是視覺、互動還是前段都有所涉及,每個頁面和元素都可能根據實際情況需要特殊處理,這也是為什麼響應式設計很難定製規範。

如何做介面設計規範?

響應式介面:如果是頁面是容器,內容就像水一樣

除了整個頁面的適配之外,小的元件也最好是可以自動調整尺寸。例如同一張圖表可能被放在一個很空曠的頁面,也有可能被放在一個很擁擠的頁面。元件需要調整尺寸時,哪些可以縮放哪些不能縮放,對其的中心是什麼……這些如果能夠明確,設計將會變得越來越像拼圖。

6、動效

動效也火了很久了,但是似乎還是停留於表面,缺少一套可依賴的標準。動效師並不好當,既要有超高的編碼能力,又要有敏感的美學神經。也許就是因為這麼困難,才導致大部分設計規範即便包含動效這一目錄,裡面填充的內容也非常模糊不清。

7、音效

大部分應用是沒有音效的,因為音效很容易讓人厭煩,而且節奏不好把控。但是對於音樂、影片等媒體應用,音效的發揮空間卻很大,至今尚未開發。

撇開這些不談,如果有音效,何時使用何種、多大音量、時長多少、震動模式(手機)時需不需要震動反饋,很多東西都可以考慮。

8、手勢

和鍵盤的快捷鍵一樣,偏愛觸屏手勢的也大有人在,而且手勢也能讓產品更加獨特。如果允許使用手勢,這部分也可以有所規範。

9、國際化

如果介面上的語言種類不止一種,那麼如果文字轉換後過長或過短怎麼辦?使用者在看不懂當前語言的情況下如何切換語言?不同的語言該選擇什麼字型才不至於太難看(例如中文的預設字型通常是宋體)?

10、小眾人群

雖然我們最關心的還是主流使用者,但是很多小眾人群組合起來也是可以構成一定分量的。例如,觸屏應用能不能給左手使用者舒適的體驗?桌面應用能不能夠讓沒有滑鼠或是沒有鍵盤的人使用?色盲和色弱能區分介面上的色塊?視力較差的人能不能放大字型?盲人使用者能不能使用螢幕閱讀器……

總結

透過研究設計規範,我發現了很多自己之前沒有想到的東西,也發現制定規範卻是能夠大大提升效率,不論是對團隊中的哪個角色來說。你對於設計規範有什麼心得和想法呢?

如何做介面設計規範?