鑒于國內交互設計名詞混亂不統一,很多設計師不知道如何用專業術語稱呼一個控件,因此我開了《這個控件叫什么》專題,梳理控件的名稱和使用事項,希望能為推動交互設計發展,做出一點微小的貢獻。
Skeleton Screen(加載占位圖)是近年流行的加載控件,通常表現形式是在界面上待加載區域填充灰色的占位圖,與線框圖的效果非常相似。Skeleton Screen本質上是界面加載過程中的過渡效果。
Skeleton Screen的由來
Launch Screen(啟動屏幕)
當你啟動一個App時,需要從手機存儲器和網絡加載所需的控件和多數據,由于手機性能和網絡狀況的差異,加載需要等待無法避免。為了解決等待加載過程中出現白屏或者界面閃爍造成的割裂感,iOS規范中規定把界面控件框架的輪廓做成靜態圖片用于Launch Screen(在Google的Material design規范里被稱作Placeholder UI),把Launch Screen放在用戶點擊啟動App之后和App真正正常啟動完成之間做過渡,從而消滅白屏和界面閃爍,給用戶一種App啟動很快的錯覺。(然而國內的App不遵循iOS規范,在Launch Screen里放廣告,這又是另外一個商業話題了)
非控件輪廓區域的內容變動很大,以上圖瀏覽器為例,Launch Screen僅僅顯示工具欄和地址欄,網頁內容區域留下了大量空白,顯然這不是最好的界面加載過渡方案。
Progress Indicator(進度指示器)
如果Launch Screen持續時間有點長,剛好用戶又盯著Launch Screen大量空白的內容區域,可能會認為App出BUG了——雖然App后臺正在辛勞的加載最新的數據。因此我們需要使用Progress Indicator來告知用戶目前正在加載。Progress Indicator分為Activity Indicator(活動指示器)和Progress Bar(進度條)兩種,前者就是我們非常熟悉的“菊花轉”。
有了富含動效的Progress Indicator,用戶就知道我們的App并沒有出BUG,而是在辛勤的加載數據,再過不久就能正常的顯示內容了。
Progress Indicator設計出發點是好的,但是帶給用戶的體驗未必優秀。Progress Indicator的出現就意味著需要等待,當用戶注意力集中在Progress Indicator時,就好像學生盯著下課前五分鐘的鐘表,滴答滴答,時間似乎變得更慢了。我們當然不愿意讓用戶望著Progress Indicator產生焦躁的情緒。
Skeleton Screen應運而生
如果我們能在加載前把內容的大概輪廓預先展現出來,然后再逐步的加載真正的內容,這樣既用戶一種內容正在逐漸加載即將呈現的期待,降低了焦躁情緒,又使得界面加載的過程變得更順暢,感官上會覺得比其他加載方式更快。這就是Skeleton Screen!
Skeleton Screen這個概念最早出自Google產品總監,《Web表單設計》作者,Luke Wroblewski于2013年9月17日發表的博文《Mobile Design Details: Avoid The Spinner》里。(博文地址:http://www.lukew.com/ff/entry.asp?1797 )
目前國內有簡書、領英、新浪微博頭條文章頁采用這個加載方案。國外有Facebook iOS版、Medium、WordPress App、Slack等產品采用。相信以后會有更多的App和網頁會使用Skeleton Screen。
如何使用
適用于布局排版固定的內容區域
Skeleton Screen所展現的是內容的大概輪廓,如果內容布局和排版不是固定的,那么輪廓和內容布局的巨大差異,不僅不能給用戶順暢和期待感,反倒會造成落差。因此Skeleton Screen適用于布局排版固定的內容區域,例如列表、文章、個人信息。注意:如果內容區域有空頁面的情況,也不建議使用Skeleton Screen。
建議配合其他加載技術一起使用
用戶的網絡環境是復雜的,如果加載持續時間很久,單憑Skeleton Screen起不到流暢過渡的效果,建議配合懶加載(先文字后圖片)、逐條加載、預加載等技術,以達到更出色的體驗。
《這個控件叫什么》專題
這個控件叫:Badge/徽標/小紅點
這個控件叫:A-Z index/字母索引導航
這個控件叫:Segment Controls/分段控件(附錄與Tabs的區別)
這個控件叫:Page Indicator/Page Controls/頁面指示器
這個控件叫:Stepper/步進器
這個控件叫:Switch/開關/滑動開關/切換開關
Toast(吐司提示)的曾經、現在與未來
這個控件叫:Picker/選擇器/拾取器
這個控件叫:Soft Keyboard/Virtual Keyboard/軟鍵盤/虛擬鍵盤
這個控件叫:Action Sheet/動作菜單/動作面板/行動列表
這個控件叫:Popover/氣泡彈出框/彈出式氣泡/氣泡
這個控件叫:Text fields/輸入框/文本框
這個控件可能叫:Notice Bar/通告欄