基于微信小程序輕快的特點(diǎn),微信小程序公司開發(fā)擬定了小程序界面設(shè)計(jì)指南和建議。 設(shè)計(jì)指南建立在充分尊重用戶知情權(quán)與操作權(quán)的基礎(chǔ)之上。旨在微信生態(tài)體系內(nèi),建立友好、高效、一致的用戶體驗(yàn),同時(shí)大程度適應(yīng)和支持不同需求,實(shí)現(xiàn)用戶與小程序服務(wù)方的共贏。
一、友好禮貌
為了避免用戶在微信中使用小程序服務(wù)時(shí),注意力被周圍復(fù)雜環(huán)境干擾,小程序在設(shè)計(jì)時(shí)應(yīng)該注意減少無關(guān)的設(shè)計(jì)元素對用戶目標(biāo)的干擾,禮貌地向用戶展示程序提供的服務(wù),友好地引導(dǎo)用戶進(jìn)行操作。
1.重點(diǎn)突出
每個(gè)頁面都應(yīng)有明確的重點(diǎn),以便于用戶每進(jìn)入一個(gè)新頁面的時(shí)候都能快速地理解頁面內(nèi)容。在確定了重點(diǎn)的前提下,應(yīng)盡量避免頁面上出現(xiàn)其它與用戶的決策和操作無關(guān)的干擾因素。
反例示意
此頁面的主題是查詢,卻添加了諸多與查詢不相關(guān)的業(yè)務(wù)入口,與用戶的目標(biāo)無關(guān),易造成用戶的迷失。
糾正示意
去掉任何與用戶目標(biāo)不相關(guān)的內(nèi)容,明確頁面主題,在技術(shù)和頁面控件允許的前提下提供有助于用戶決策和操作的幫助內(nèi)容,比如近期搜索詞等。
反例示意
操作沒有主次,讓用戶無從選擇。
糾正示意
首先要避免并列過多操作讓用戶選擇,在不得不并列多個(gè)操作時(shí),需區(qū)分操作主次,減輕用戶的選擇難度。
2.流程明確
為了讓用戶順暢地使用頁面,在用戶進(jìn)行某一個(gè)操作流程時(shí),應(yīng)避免出現(xiàn)用戶目標(biāo)流程之外的內(nèi)容而打斷用戶。
反例示意
用戶本打算進(jìn)行搜索,在進(jìn)入頁面時(shí)卻被突如其來的模態(tài)抽獎框所打斷;對于抽獎沒有興趣的用戶是非常不友好的干擾; 而即便有部分用戶確實(shí)被“誘人”的抽獎活動所吸引,離開主流程去抽獎之后可能就遺忘了原本的目標(biāo),進(jìn)而失去了對產(chǎn)品真正價(jià)值的利用和認(rèn)識。
二、清晰明確
一旦用戶進(jìn)入我們的小程序頁面,我們就有責(zé)任和義務(wù)清晰明確地告知用戶身在何處、又可以往何處去,確保用戶在頁面中游刃有余地穿梭而不迷路,這樣才能為用戶提供安全且愉悅的使用體驗(yàn)。
1.導(dǎo)航明確,來去自如
導(dǎo)航是確保用戶在網(wǎng)頁中瀏覽跳轉(zhuǎn)時(shí)不迷路的關(guān)鍵因素。導(dǎo)航需要告訴用戶,當(dāng)前在哪,可以去哪,如何回去等問題。首先在微信系統(tǒng)內(nèi)的所有小程序的全部頁面,均會自帶有微信提供的導(dǎo)航欄,統(tǒng)一解決當(dāng)前在哪,如何回去的問題。在微信層級導(dǎo)航保持體驗(yàn)一致,有助于用戶在微信內(nèi)形成統(tǒng)一的體驗(yàn)和交互認(rèn)知,無需在各小程序和其他微信頁面的切換中新增學(xué)習(xí)成本或改變使用習(xí)慣。
<1.微信導(dǎo)航欄
微信導(dǎo)航欄,直接繼承于客戶端,除導(dǎo)航欄顏色之外,開發(fā)者無需亦不可對其中的內(nèi)容進(jìn)行自定義。但開發(fā)者需要規(guī)定小程序各個(gè)頁面的跳轉(zhuǎn)關(guān)系,讓導(dǎo)航系統(tǒng)能夠以合理的方式工作。
微信導(dǎo)航欄分為導(dǎo)航區(qū)域、標(biāo)題區(qū)域以及操作區(qū)域。其中導(dǎo)航區(qū)控制程序頁面進(jìn)程。目前導(dǎo)航欄分深淺兩種基本配色。
<2.導(dǎo)航區(qū)(iOS)
微信進(jìn)入小程序的第一個(gè)頁面,導(dǎo)航區(qū)通常只有一個(gè)操作——“返回”,即返回進(jìn)入小程序前的微信頁面。 進(jìn)入小程序后的次級頁面,導(dǎo)航區(qū)的操作為——“返回” 和“關(guān)閉”。 “返回”,即返回上一級小程序界面或微信界面。“關(guān)閉”,即在當(dāng)前界面直接退出小程序,回到進(jìn)入小程序前的微信頁面。
<3.導(dǎo)航區(qū)(Android)
導(dǎo)航區(qū)僅存在獨(dú)一操作——直接退出小程序,回到進(jìn)入小程序前的微信或系統(tǒng)桌面,安卓手機(jī)自帶的硬件返回鍵執(zhí)行返回上一級頁面的操作。
安卓導(dǎo)航存在一類特殊情況:當(dāng)用戶通過操作區(qū)的菜單將小程序添加至安卓桌面,并從安卓桌面打開小程序時(shí),小程序的首頁,不展示導(dǎo)航按鈕。僅展示小程序標(biāo)題和操作區(qū)。小程序次級頁面,導(dǎo)航區(qū)只有返回上一級頁面的操作,而點(diǎn)擊安卓手機(jī)自帶的硬件返回鍵也起到相同作用。
<4.微信導(dǎo)航欄自定義顏色規(guī)則(iOS和Android)
小程序?qū)Ш綑谥С只镜谋尘邦伾远x功能,選擇的顏色需要在滿足可用性前提下,和諧搭配微信提供的兩套主導(dǎo)航欄圖標(biāo)。建議參考以下選色效果:
選色方案示例
<5.頁面內(nèi)導(dǎo)航
開發(fā)者可根據(jù)自身功能設(shè)計(jì)需要在頁面內(nèi)添加自有導(dǎo)航。并保持不同頁面間導(dǎo)航一致。但是受限于手機(jī)屏幕尺寸的限制,小程序頁面的導(dǎo)航應(yīng)盡量簡單,若僅為一般線性瀏覽的頁面建議僅使用微信導(dǎo)航欄即可。
開發(fā)者可選擇小程序頁面添加標(biāo)簽分頁(Tab)導(dǎo)航。標(biāo)簽分頁欄可固定在頁面頂部或者底部,便于用戶在不同的分頁間做切換。標(biāo)簽數(shù)量不得少于2個(gè),不得超過5個(gè),為確保點(diǎn)擊區(qū)域,建議標(biāo)簽數(shù)量不超過4項(xiàng)。一個(gè)頁面也不應(yīng)出現(xiàn)一組以上的標(biāo)簽分頁欄。
其中小程序首頁可選擇微信提供的原生底部標(biāo)簽分頁樣式,該樣式僅供小程序首頁使用。開發(fā)時(shí)可自定義圖標(biāo)樣式、標(biāo)簽文案以及文案顏色等,具體設(shè)置項(xiàng)如圖標(biāo)尺寸等參考可參考開發(fā)文檔和WeUI基礎(chǔ)控件庫。
頂部標(biāo)簽分頁欄顏色可自定義。在自定義顏色選擇中,務(wù)必注意保持分頁欄標(biāo)簽的可用性、可視性和可操作性。
2.減少等待,反饋及時(shí)
頁面的過長時(shí)間的等待會引起用戶的不良情緒,使用微信小程序項(xiàng)目提供的技術(shù)已能很大程度縮短等待時(shí)間。即便如此,當(dāng)不可避免的出現(xiàn)了加載和等待的時(shí)候,需要予以及時(shí)的反饋以舒緩用戶等待的不良情緒。
<1.啟動頁加載
小程序啟動頁是小程序在微信內(nèi)一定程度上展現(xiàn)品牌特征的頁面之一。本頁面將突出展示小程序品牌特征和加載狀態(tài)。啟動頁除品牌標(biāo)志(Logo)展示外,頁面上的其他所有元素如加載進(jìn)度指示,均由微信統(tǒng)一提供且不能更改,無需開發(fā)者開發(fā)。
<2.頁面下拉刷新加載
在微信小程序內(nèi),微信提供標(biāo)準(zhǔn)的頁面下拉刷新加載能力和樣式,開發(fā)者無需自行開發(fā)。
<3.微信下拉刷新錯(cuò)誤使用案例
請避免以下錯(cuò)誤使用情況,確保信息的可見性和頁面的可用性。
<4.頁面內(nèi)加載反饋
開發(fā)者可在小程序里自定義頁面內(nèi)容的加載樣式。建議不管是使用在局部還是全局加載,自定義加載樣式都應(yīng)該盡可能簡潔,并使用簡單動畫告知用戶加載過程。 開發(fā)者也可以使用微信提供的,統(tǒng)一的頁面加載樣式,如圖中例所示。
<5.模態(tài)加載
模態(tài)的加載樣式將覆蓋整個(gè)頁面的,由于無法明確告知具體加載的位置或內(nèi)容將可能引起用戶的焦慮感,因此應(yīng)謹(jǐn)慎使用。除了在某些全局性操作下不要使用模態(tài)的加載。
<6.局部加載反饋
局部加載反饋即只在觸發(fā)加載的頁面局部進(jìn)行反饋,這樣的反饋機(jī)制更加有針對性,頁面跳動小,是微信推薦的反饋方式。例如:
加載反饋?zhàn)⒁馐马?xiàng)
若載入時(shí)間較長,應(yīng)提供取消操作,并使用進(jìn)度條顯示載入的進(jìn)度。
載入過程中,應(yīng)保持動畫效果 ; 無動畫效果的加載很容易讓人產(chǎn)生該界面已經(jīng)卡死的錯(cuò)覺。
不要在同一個(gè)頁面同時(shí)使用超過1個(gè)加載動畫。
<7.結(jié)果反饋
除了在用戶等待的過程中需予以及時(shí)反饋外,對操作的結(jié)果也需要予以明確反饋。根據(jù)實(shí)際情況,可選擇不同的結(jié)果反饋樣式。對于頁面局部的操作,可在操作區(qū)域予以直接反饋,對于頁面級操作結(jié)果,可使用彈出式提示(Toast)、模態(tài)對話框或結(jié)果頁面展示。
<8.頁面局部操作結(jié)果反饋
對于頁面局部的操作,可在操作區(qū)域予以直接反饋,例如點(diǎn)擊多選控件前后如下圖。對于常用控件,微信設(shè)計(jì)中心將提供控件庫,其中的控件都已提供完整操作反饋。
<9.頁面全局操作結(jié)果——彈出式提示(Toast)
彈出式提示(Toast)適用于輕量級的成功提示,1.5秒后自動消失,并不打斷流程,對用戶影響較小,適用于不需要強(qiáng)調(diào)的操作提醒,例如成功提示。特別注意該形式不適用于錯(cuò)誤提示,因?yàn)殄e(cuò)誤提示需明確告知用戶,因而不適合使用一閃而過的彈出式提示。
<10.頁面全局操作結(jié)果——模態(tài)對話框
對于需要用戶明確知曉的操作結(jié)果狀態(tài)可通過模態(tài)對話框來提示,并可附帶下一步操作指引。
<11.頁面全局操作結(jié)果—結(jié)果頁
對于操作結(jié)果已經(jīng)是當(dāng)前流程的終結(jié)的情況,可使用操作結(jié)果頁來反饋。這種方式強(qiáng)烈和明確的告知用戶操作已經(jīng)完成,并可根據(jù)實(shí)際情況給出下一步操作的指引。
3.異??煽兀新房赏?/h4>
在設(shè)計(jì)任何的任務(wù)和流程時(shí),異常狀態(tài)和流程往往容易被忽略,而這些異常場景往往是用戶沮喪和需要幫助的時(shí)候,因此需要格外注意異常狀態(tài)的設(shè)計(jì),在出現(xiàn)異常時(shí)予以用戶必要的狀態(tài)提示,并告知解決方案,使其有路可退。
要杜絕異常狀態(tài)下,用戶莫名其妙又無處可去,停滯在某一個(gè)頁面的情況。上文中所提到的模態(tài)對話框和結(jié)果頁面都可作為異常狀態(tài)的提醒方式。除此之外,在表單頁面中尤其是表單項(xiàng)較多的頁面中,還應(yīng)明確指出出錯(cuò)項(xiàng)目,以便用戶修改。
異常狀態(tài)——表單出錯(cuò)
表單報(bào)錯(cuò),在表單頂部告知錯(cuò)誤原因,并標(biāo)識出錯(cuò)誤字段提示用戶修改。
三、便捷優(yōu)雅
從PC時(shí)代的物理鍵盤鼠標(biāo)到移動端時(shí)代手指,雖然輸入設(shè)備極大精簡,但是手指操作的準(zhǔn)確性卻大大不如鍵盤鼠標(biāo)精確。為了適應(yīng)這個(gè)變化,需要開發(fā)者在設(shè)計(jì)過程中充分利用手機(jī)特性,讓用戶便捷優(yōu)雅的操控界面。
1.減少輸入
由于手機(jī)鍵盤區(qū)域小且密集,輸入困難的同時(shí)還易引起輸入錯(cuò)誤,因此在設(shè)計(jì)小程序頁面時(shí)因盡量減少用戶輸入,利用現(xiàn)有接口或其他一些易于操作的選擇控件來改善用戶輸入的體驗(yàn)。
例如下圖中,在添加銀行卡時(shí),采用攝像頭識別接口來幫助用戶輸入。除此之外微信團(tuán)隊(duì)還對外開放例如地理位置接口等多種微信小程序接口 ,充分利用這些接口將大大提高用戶輸入的效率和準(zhǔn)確性,進(jìn)而優(yōu)化體驗(yàn)。
除了利用接口外,在不得不讓用戶進(jìn)行手動輸入時(shí),應(yīng)盡量讓用戶做選擇而不是鍵盤輸入。一方面,回憶易于記憶,讓用戶在有限的選項(xiàng)中做選擇通常來說是容易于完全靠記憶輸入;另一方面,仍然是考慮到手機(jī)鍵盤密集的單鍵輸入極易造成輸入錯(cuò)誤。 例如圖中,在用戶搜索時(shí)提供搜索歷史快捷選項(xiàng)將幫助用戶快速進(jìn)行搜索,而減少或避免不必要是鍵盤輸入。
2.避免誤操作
因?yàn)樵谑謾C(jī)上我們通過手指觸摸屏幕來操控界面,手指的點(diǎn)擊精確度遠(yuǎn)不如鼠標(biāo),因此在設(shè)計(jì)頁面上需點(diǎn)擊的控件時(shí),需要充分考慮到其熱區(qū)面積,避免由于可點(diǎn)擊區(qū)域過小或過于密集而造成誤操作。當(dāng)簡單的將原本在電腦屏幕上使用的界面不做任何適配直接移植到手機(jī)上時(shí),往往就容易出現(xiàn)這樣的問題。由于手機(jī)屏幕分辨率各不相同,因此適宜點(diǎn)擊像素尺寸也不完全一致,但換算成物理尺寸后大致是在7mm-9mm之間。在微信提供的標(biāo)準(zhǔn)組件庫中,各種控件元素均已考慮到了頁面點(diǎn)擊效果以及不同屏幕的適配,因此再次推薦使用或模仿標(biāo)準(zhǔn)控件尺寸進(jìn)行設(shè)計(jì)。
3.利用接口提升性能
微信設(shè)計(jì)中心已推出了一套網(wǎng)頁標(biāo)準(zhǔn)控件庫,包括 sketch設(shè)計(jì)控件庫 和 Photoshop設(shè)計(jì)控件庫,后續(xù)還將完善小程序組件,這些控件都已充分考慮了移動端頁面的特點(diǎn),能夠保證其在移動端頁面上的可用性和操作性能; 同時(shí)微信開發(fā)團(tuán)隊(duì)也在不斷完善和擴(kuò)充微信小程序接口,并提供微信公共庫,利用這些資源不但能夠?yàn)橛脩籼峁└涌旖莸姆?wù),而且對頁面性能的提高有極大作用,無形之中提升了用戶體驗(yàn)。
四、統(tǒng)一穩(wěn)定
除了以上所提到的種種原則,建議接入微信的小程序還應(yīng)該時(shí)刻注意不同頁面間的統(tǒng)一性和延續(xù)性,在不同的頁面盡量使用一致的控件和交互方式。
統(tǒng)一的頁面體驗(yàn)和有延續(xù)性的界面元素都將幫助用少的學(xué)習(xí)成本達(dá)成使用目標(biāo),減輕頁面跳動所造成的不適感。正因如此,小程序可根據(jù)需要使用微信提供的標(biāo)準(zhǔn)控件,以達(dá)到統(tǒng)一穩(wěn)定的目的。
五、視覺規(guī)范
<1.字體規(guī)范
微信內(nèi)字體的使用與所運(yùn)行的系統(tǒng)字體保持一致,常用字號為20, 18, 17, 16,14 13, 11(pt),使用場景具體如下:
<2.字體顏色
主內(nèi)容 Black 黑色,次要內(nèi)容 Grey 灰色;時(shí)間戳與表單缺省值 Light 灰色;大段的說明內(nèi)容而且屬于主要內(nèi)容用 Semi 黑。
藍(lán)色為鏈接用色,綠色為完成字樣色,紅色為出錯(cuò)用色 Press 與 Disable 狀態(tài)分別降低透明度為20%與10%。
<3.列表視覺規(guī)范
<4.表單輸入視覺規(guī)范
<5.按鈕使用原則
<6.圖標(biāo)使用原則