小白PM跟我來:一篇文章教你玩透“加載”

9 評(píng)論 11953 瀏覽 119 收藏 14 分鐘

本文對(duì)于加載介紹了如下: What——什么是“加載”;Why——為什么要做“加載”;How——如何技術(shù)實(shí)現(xiàn)加載以及加載在產(chǎn)品實(shí)現(xiàn)過程中的難題。

一個(gè)小白PM,最經(jīng)常接到的需求可能就是頁面優(yōu)化了。而處理“加載”,應(yīng)該是每個(gè)小白PM的必修課。

領(lǐng)導(dǎo)說“這個(gè)頁面出來太慢了”,用戶說“我點(diǎn)擊這個(gè)按鈕怎么沒反應(yīng)啊”,他們究竟是什么意思呢?

需求評(píng)審時(shí)候,你說我要加個(gè)加載,卻被技術(shù)團(tuán)隊(duì),交互團(tuán)隊(duì)猛噴,這是為什么呢?

今天我來教你如何在“加載”問題上戰(zhàn)無不勝。

什么是“加載”?

如果用技術(shù)語言描述“加載”,估計(jì)1萬字也覆蓋不了其多樣性。但從產(chǎn)品角度來看,卻可以簡(jiǎn)單的闡述一下。

其實(shí)大家可以把用戶的人機(jī)交互流程,簡(jiǎn)單的用下圖拆解。

  • STEP 1:用戶處于“用戶狀態(tài)A”。剛進(jìn)入頁面的等待狀態(tài),遇到錯(cuò)誤的錯(cuò)誤狀態(tài)等,這都是一個(gè)狀態(tài)。
  • STEP 2:用戶執(zhí)行某一操作。比如打開APP,比如點(diǎn)擊按鈕,比如下拉刷新。
  • STEP 3:對(duì)于某一操作的操作反饋。比如點(diǎn)擊按鈕時(shí),按鈕的顏色會(huì)改變;比如下拉時(shí),頁面會(huì)隨著手勢(shì)下滑
  • STEP 4:“加載”。在加載過程中,完成“用戶狀態(tài)A”到“用戶狀態(tài)B”的跳轉(zhuǎn)。
  • STEP 5:用戶到達(dá)“用戶狀態(tài)B”

由此可見,“加載”和“操作反饋”一樣都是“用戶的行為——點(diǎn)擊”和“用戶的預(yù)期——看到頁面”的中間態(tài)。

在哪里做一個(gè)“加載”?

其實(shí)小小的“加載”根據(jù)程序?qū)崿F(xiàn)方式不同,發(fā)生場(chǎng)景不同,有很多中不同的處理方式。那么一個(gè)PM首先需要定位,你要在哪里做一個(gè)“加載”需求。

1. 實(shí)現(xiàn)方式:app/H5/小程序

你的應(yīng)用是用哪種方式實(shí)現(xiàn)的呢?app,H5,小程序?qū)τ凇凹虞d”都有不同的處理特性。所以一定要在自己的實(shí)現(xiàn)方式想如何實(shí)現(xiàn)。

2. 啟動(dòng)方式:冷啟動(dòng)/熱啟動(dòng)

(1)冷啟動(dòng)

程序被完全殺死后,啟動(dòng)是指“復(fù)活”。小程序的冷啟動(dòng)發(fā)生場(chǎng)景為掃碼后,需要下載程序包的過程。app的冷啟動(dòng)發(fā)生場(chǎng)景可能為:

  1. 新下載某app,第一次啟動(dòng)
  2. 某app退出后(完全退出),重新啟動(dòng)

(2)熱啟動(dòng)

程序被部分殺死后,啟動(dòng)是指“療傷”。此時(shí)app并沒有完全退出,而是退在后臺(tái)。此時(shí)的啟動(dòng)相當(dāng)于從后臺(tái)吊起app。而對(duì)小程序來說,熱啟動(dòng)意味著程序包仍在緩存中,進(jìn)入后無需重新下載。

3. 發(fā)生場(chǎng)景

(1)進(jìn)入app/頁面之前

點(diǎn)開app或者掃碼進(jìn)入某個(gè)頁面之前。也就是我們通常看到白屏或者廣告推廣頁的部分。

(2)進(jìn)入app/頁面,不可交互時(shí)間

也就是我們通??吹侥硞€(gè)頁面,但是點(diǎn)擊任何位置都無反應(yīng)的時(shí)間。如果不可交互時(shí)間很長(zhǎng),用戶因?yàn)辄c(diǎn)擊沒有反饋可能會(huì)摔手機(jī)哦!

(3)進(jìn)入app/頁面,可交互時(shí)間

進(jìn)入頁面后,用戶的點(diǎn)擊或者刷新,需要重新拉取數(shù)據(jù),此時(shí)需要“加載”處理

為什么要做一個(gè)“加載”?

優(yōu)化用戶體驗(yàn)

  1. 緩解用戶等待時(shí)間內(nèi)的焦慮感:首先需要了解下你的用戶目前的等待時(shí)間是多長(zhǎng)?用戶感到焦慮的時(shí)間1s,如果你的等待時(shí)間超過1s,就要好好構(gòu)思一下處理用戶澎湃的“焦慮”心情了
  2. 即時(shí)反饋:“加載”是一個(gè)中態(tài),相當(dāng)于在用戶操作后用戶接觸到的即時(shí)反饋。處理好各種中態(tài),是提高用戶體驗(yàn)的重要一步

減少頁面跳失率

用戶在頁面A點(diǎn)擊按鈕,跳轉(zhuǎn)頁面B。我們默認(rèn)點(diǎn)擊的用戶100%跳轉(zhuǎn)到頁面B。但是實(shí)際上呢?我最近做的一個(gè)項(xiàng)目,因?yàn)轫撁骓憫?yīng)時(shí)間過長(zhǎng),有8%的用戶會(huì)跳失。所以做好一個(gè)“加載”,減少頁面跳失率,是產(chǎn)品通過“加載”功能要達(dá)到的目的之一。

“加載”的技術(shù)實(shí)現(xiàn)方式

從發(fā)起一個(gè)“展示頁面”數(shù)據(jù)請(qǐng)求,到“展示頁面”,這其中的加載方式有哪些呢?下面為大家介紹3種比較常見的加載方式。

整體加載

統(tǒng)一加載完成統(tǒng)一顯示。這是最基本的方式,不再累敘。

懶加載

首先加載框架,然后填充內(nèi)容。模式為“白屏–頁面框架展現(xiàn)—頁面展現(xiàn)”。很多app首頁都是使用的這種實(shí)現(xiàn)方式。比如,一個(gè)電商app的首頁,有“廣告圖樓層”“秒殺樓層”“女裝樓層”“男裝樓層”“猜你喜歡樓層”,每一個(gè)樓層都有好多的圖片。所以整體加載完的時(shí)間會(huì)很長(zhǎng),十分影響體驗(yàn)。懶加載會(huì)先將框架畫出,然后再加載圖片。這就好像進(jìn)入一個(gè)餐館,會(huì)先給你你一個(gè)菜單,幾個(gè)小菜。然后一段時(shí)間之后,再上全部的菜品一樣

自動(dòng)加載

自動(dòng)加載,一般采用分頁加載的方式。一般應(yīng)用在我們信息流中。比如搜索結(jié)果頁,也就是我們經(jīng)常看到的列表視圖。當(dāng)我們“將要滑到”頁面底部時(shí),頁面自動(dòng)請(qǐng)求數(shù)據(jù),為你加載出下一頁。所以一般你在瀏覽下圖這種列表時(shí),感覺非常流暢。因?yàn)轫撁孢M(jìn)行了自動(dòng)加載。

那么這個(gè)“將要滑到”是如何實(shí)現(xiàn)呢?一般都是通過對(duì)當(dāng)前頁面的瀏覽狀態(tài)的監(jiān)聽實(shí)現(xiàn)的。比如監(jiān)聽到當(dāng)前頁面還有已經(jīng)滑到70%,就定義為需要再去請(qǐng)求接口。

“加載”的產(chǎn)品處理邏輯難題1——啟動(dòng)時(shí)

談到啟動(dòng)時(shí)“加載”大家一般想到的是app,或者最近流行的小程序啟動(dòng)。

但是對(duì)于H5頁呢?什么叫做啟動(dòng)呢?比如,一個(gè)用戶掃描二維碼之后,進(jìn)入一個(gè)H5頁,在等待H5頁的過程中,我覺得其實(shí)也相當(dāng)于啟動(dòng)。

啟動(dòng)時(shí)“加載”的處理,是用戶進(jìn)入app使用的第一步。面對(duì)這個(gè)處理難題,小白PM應(yīng)該如何處理呢?

閃屏(splash)

下圖是截取了幾個(gè)app的splash。一般在這個(gè)頁面后會(huì)出現(xiàn)一個(gè)可點(diǎn)擊的營(yíng)銷頁面,也就是我們下文說的launch。那么splash是用來干什么的呢?是在程序還在進(jìn)行各種啟動(dòng)邏輯判斷,并且launch還沒有下載完成時(shí)候,展現(xiàn)給用戶的。

因?yàn)閟plash無法實(shí)時(shí)更新,所以一般都會(huì)采用品牌標(biāo)識(shí),或者強(qiáng)調(diào)產(chǎn)品特性的圖片。

小程序官方給的splash如下圖。采用默認(rèn)模式,名稱+logo,無需設(shè)計(jì)。

啟動(dòng)頁(launch)

launch是一個(gè)splash后的營(yíng)銷頁。一般會(huì)出售廣告位,或者在節(jié)慶期間進(jìn)行節(jié)日營(yíng)銷,引起消費(fèi)者共鳴。可以點(diǎn)擊,并且一般都可以選擇跳過。實(shí)現(xiàn)方式可以為靜態(tài)頁,也可以是動(dòng)態(tài)圖。

小程序沒有啟動(dòng)頁。其實(shí)跟張小龍說的小程序是一個(gè)幫助用戶提高效率的工具理念是吻合的。其實(shí),我們看到很多國(guó)外的app都沒有l(wèi)anch,也是減少對(duì)用戶的干擾。

引導(dǎo)頁(guide)

這里順便說下引導(dǎo)頁。啟動(dòng)時(shí)的引導(dǎo)頁一般是app特有的。引導(dǎo)頁一般4頁以上。引導(dǎo)頁的使命一般有兩種:

  1. 提供給新用戶使用說明。一般只有新用戶第一次啟動(dòng)時(shí)候會(huì)看到
  2. 當(dāng)版本有重大變更時(shí)候,所有用戶更新到最新版本的第一次啟動(dòng)時(shí)會(huì)看到

白屏+載入指示器

這個(gè)一般是H5頁面中最??吹降模?/p>

“加載”的產(chǎn)品處理邏輯難題2——用戶操作反饋

用戶進(jìn)入頁面之后,大部分“加載”都來源于用戶的操作。這時(shí)候的“加載”不僅僅是一個(gè)過渡期,同時(shí)也是用戶操作的即時(shí)反饋。

模態(tài)加載反饋

模態(tài)加載反饋是一種全局性的加載反饋。一般為toast形式。toast出現(xiàn)時(shí),頁面不可點(diǎn)擊。所以,使用模態(tài)加載反饋時(shí)候需要注意:

  1. 用戶無法知道準(zhǔn)確的加載位置
  2. 用戶無法對(duì)頁面進(jìn)行操作 這兩種問題都會(huì)極大怎家用戶的焦慮感

局部加載反饋

局部加載反饋,是只在頁面的某一部分展示加載反饋。

特別注意事項(xiàng):刷新操作

刷新的實(shí)現(xiàn)方式可能為“點(diǎn)擊按鈕刷新”,“下拉刷新”等。在做刷新后的加載時(shí)要格外注意,盡量保證刷新動(dòng)作(下拉)和加載動(dòng)作的連接性。因?yàn)樵谶@種情況下“加載”不僅僅是一個(gè)中間態(tài),而更加傾向于終態(tài)。用戶執(zhí)行刷新操作的時(shí)候,對(duì)于反饋的期待就是能夠“加載”。

總結(jié)

本文對(duì)于加載介紹了如下: What——什么是“加載”;Why——為什么要做“加載”;How——如何技術(shù)實(shí)現(xiàn)加載以及加載在產(chǎn)品實(shí)現(xiàn)過程中的難題。

小白PM們可以以此為綱,不斷進(jìn)行競(jìng)品分析,你會(huì)發(fā)現(xiàn)結(jié)合了精細(xì)的業(yè)務(wù)場(chǎng)景,“加載”的處理方式也是閃著智慧的光芒呢!

正如文章開篇所說,“加載”處理是人機(jī)交互過程中的一部分。那么人機(jī)交互過程中的其他部分呢?我將在下節(jié)中詳述~

 

本文由 @姜太公公?原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 不過此文中的加載技術(shù)實(shí)現(xiàn)方式似乎描述的不太準(zhǔn)確:
    – 分布加載:優(yōu)先載入占內(nèi)存較小的占位圖&框架,再填充內(nèi)容
    – 懶加載:也叫延遲加載,指的是在長(zhǎng)網(wǎng)頁中延遲加載圖像,是一種很好優(yōu)化網(wǎng)頁性能的方式。用戶滾動(dòng)到它們之前,可視區(qū)域外的圖像不會(huì)加載

    文中說的“懶加載”應(yīng)是“分布加載”

    來自北京 回復(fù)
  2. 太贊了,看了多篇相關(guān)文章,感覺這篇是最棒的。結(jié)構(gòu)嚴(yán)謹(jǐn),而且考慮的載體很全啊~小程序、H5、App都有

    來自北京 回復(fù)
  3. 感謝分享,這些加載的具體使用場(chǎng)景和方法能細(xì)化下就更好了。看完后有幾點(diǎn)疑問
    toast加載什么時(shí)候用,長(zhǎng)時(shí)間不響應(yīng)時(shí),怎么退出。
    進(jìn)度條加載和異步懶加載使用方法有什么異同,僅是使用環(huán)境的區(qū)分嗎。進(jìn)度條在H5,懶加載在app??jī)烧吣芡瑫r(shí)使用嗎。
    懶加載時(shí)的頁面允許交互嗎

    來自江蘇 回復(fù)
  4. 廣告這么多!可以直接寫廣告,別些分享了!

    回復(fù)
    1. 哈哈,真不是廣告啊,改天我單獨(dú)寫個(gè)廣告文

      回復(fù)
  5. ??

    來自廣東 回復(fù)
  6. 既然是針對(duì)小白PM的,那怎么就不能寫的小白一點(diǎn)呢

    來自四川 回復(fù)
    1. 系統(tǒng)化的知識(shí)能更快速成長(zhǎng)

      回復(fù)