最近在做一個下載進度條展示的優(yōu)化,場景如下:我在appstore下了7個app,其中有2個正在下載,有5個正在排隊,那么在任務欄的下載進度條如何展示呢?
聽起來看起來好像都很簡單,下面我來分析一下:
方案一:每個任務單獨展示一條記錄
這個方案明顯是不可取的,一個應用三五條,兩個應用就讓人眼花繚亂了,這種把手機屏幕當電腦的行為不可取。
一個應用只顯示一條記錄,作為整體下載的入口即可。確定了大前提,且通用的下載都會有一條進度條作為反饋告知用戶具體下載進度這個業(yè)內(nèi)標準后,繼續(xù)往下走:
方案二:進度=實際下載流量/總大小
假設我們下載下載了5個app,每個app均是10M,有2個正在下載,那么當這2個任務下載完成的時候,進度=20/50=40%,如果這個時候,我再新建兩個任務呢?這時候總大小要不要把這兩個任務計算在內(nèi)呢?
如果計算在內(nèi),此時文件的進度=0/50=0%,界面表現(xiàn)為進度條從40%回退到0%,這明顯是違背人類認知邏輯的,不可??;如果不計算在呢,那么我新建任務的進度如何得知呢?兩兩app下載之間的時間間距如何去定義呢?鑒于用戶在下載app時間的不確定性,這個方案也不可取。
方案三:進度=實際下載流量/對應文件的總大小
按道理來說,處于排隊狀態(tài)的任務還沒有開始下載,不該計算在下載進度中,進度的公式應該為進度=下載大小/對應文件的總大小,即我下載了5個app,有2個正在下載,3個正在排隊,那么我只需計算兩個正在下載的任務進度即可。這里也存在和方案二一樣的問題,進度條有可能會后退。
下載7個app,有2個在下載,當一個下載完成之后,排隊的任務就會進入下載中,如果按照進度=實際下載流量/總大小,當我去下載第8個app時,下載進度就會后退;按照進度=實際下載流量/對應文件總大小,當一個任務下完,處于排隊中的任務切換為下載狀態(tài),進度條必然會回退。
是的,我就是被這個問題困擾了好久。既然行業(yè)默認要展示進度條,并且整體進度很難把握,能不能只顯示單個任務的進度?
方案四:只顯示特定單個任務的下載進度
這個方案是按照app下載的順序,先顯示第一個開始下載的app,等到第一個下載完成時,切換到第二個,此時第二個的進度可能是50%,從100%進度到50%,實際上已經(jīng)出現(xiàn)了進度回退,此時我需要顯示是某某app的下載進度,從而消除進度回退給用戶帶來邏輯上的不適感。
方案五:切換顯示單個任務的進度
方案五和方案四界面相同,不同的是,盡管方案五也顯示單個任務的下載進度,但是他切換顯示正在下載的兩個任務的下載進度,每5s左右在兩個app的進度之間切換一次。選擇5s的原因是因為,切換太快,會給用戶帶來不適感,切換太慢,用戶無法把握當前正在下載的兩個文件的進度。
別看這條小小的進度條,真的細究起來,不像表面那么簡單。以上是我自己梳理的幾種展示方法,我自己傾向于方案五,既能了解到當前下載中任務的進度,同時也不會出現(xiàn)進度回退的反常識情況,各位看官覺得呢?
#專欄作家#
無邪,微信公眾賬號:devillnote,人人都是產(chǎn)品經(jīng)理專欄作家,迅雷產(chǎn)品經(jīng)理。關注移動互聯(lián)網(wǎng),聚焦產(chǎn)品策劃、運營和用戶分析。文章不追熱點,以產(chǎn)品經(jīng)理相關為主。
轉載請保留上述作者信息并附帶本文鏈接
可以只顯示1條,然后把這1條通知欄等分成N份,N即當前正在下載的任務,每個任務用該app的圖標代表,進度做成圓圈狀(走完一圈即代表下載完成),進度及即時速度可顯示在圖標下方。