關(guān)于異步任務(wù)的設(shè)計(jì)探索(2)

隔了差不多40天瑟枫,終于有時(shí)間歸納一下另外一個(gè)系統(tǒng)的問題了祖乳,之前想說的只是一個(gè)業(yè)務(wù)上的異步(關(guān)于異步任務(wù)的設(shè)計(jì)探索(1)),今天寫的是真真正正的異步任務(wù)力喷,是代碼層面上的異步并非業(yè)務(wù)所要求的異步刽漂。

問題示例:

這次的例子來源于我們做“商品導(dǎo)入”這個(gè)功能;先看看我們之前的做法:

1.用戶可以選擇導(dǎo)入某個(gè)平臺(tái)的商品到我們的后臺(tái)中弟孟,但是若想再導(dǎo)入需要等當(dāng)前的導(dǎo)入任務(wù)全部結(jié)束才能進(jìn)行第二次導(dǎo)入贝咙,而且還對(duì)商品進(jìn)行了緩存,導(dǎo)致用戶在淘寶更新了商品后拂募,需要相隔12個(gè)小時(shí)才能再次導(dǎo)入更新了的商品到我們平臺(tái)

整店導(dǎo)入商品


2.在實(shí)踐過程中庭猩,我們發(fā)現(xiàn)很多人停留在此頁面,怕關(guān)掉此頁面陈症,導(dǎo)入任務(wù)會(huì)中斷(雖然他關(guān)掉此頁面蔼水,后臺(tái)仍會(huì)繼續(xù)導(dǎo)入);為了處理這個(gè)問題爬凑,我們簡(jiǎn)單粗暴地加了一個(gè)提示框:


一個(gè)有三行文字的提示框??

3.我們默認(rèn)會(huì)將用戶的整個(gè)店鋪的商品導(dǎo)進(jìn)來徙缴,用戶不能選擇導(dǎo)什么商品,這就導(dǎo)致后來的兩個(gè)問題:a.很難以導(dǎo)入次數(shù)去計(jì)費(fèi),b.消耗大量的服務(wù)器資源與成本于样;并且大多數(shù)用戶因?yàn)閷?dǎo)入時(shí)間等待過長(zhǎng)而流失掉疏叨。

整店導(dǎo)入

總結(jié)一下以上問題:

·導(dǎo)入任務(wù)不能多個(gè)開啟,用戶需要等待任務(wù)完成后才能再導(dǎo)入其他商品

·提示過長(zhǎng)穿剖,并且沒有能讓用戶知道導(dǎo)入進(jìn)度的地方

·用戶無法選擇導(dǎo)入的商品蚤蔓,導(dǎo)致每次導(dǎo)入都消耗了大量的服務(wù)器資源和成本(有些店鋪的商品達(dá)到3000件)

開始思考??

接下來開始思考究竟怎么樣才能讓這個(gè)功能變好用,“好用”可以具體分為以下幾點(diǎn):

·用戶控制:清晰知道進(jìn)度糊余,監(jiān)控每個(gè)商品的導(dǎo)入情況秀又,中斷任務(wù)的權(quán)力甚至是中斷某個(gè)商品導(dǎo)入的權(quán)力

·前饋指引:告訴用戶這個(gè)功能是什么,可以做什么贬芥,功能有什么條件限制等等

·反饋提醒:執(zhí)行導(dǎo)入任務(wù)后吐辙,讓用戶有安全感地關(guān)閉當(dāng)前頁面,具體為讓用戶知道他可以隨時(shí)隨地回來查看這個(gè)任務(wù)蘸劈,這個(gè)任務(wù)完成時(shí)會(huì)立即通知到用戶


1.于是第一點(diǎn):讓用戶能夠選擇導(dǎo)入什么商品(當(dāng)然這個(gè)需要接口支持)昏苏,用戶用鏈接采集時(shí)并非立即執(zhí)行導(dǎo)入任務(wù),而是先采集好店鋪的所有商品(未開始采集商品詳情)威沫,讓用戶去選擇需要導(dǎo)入的商品贤惯,當(dāng)然也需要給出方便的交互讓用戶可以一鍵選擇全部商品來進(jìn)行導(dǎo)入(或者用戶第一次導(dǎo)入時(shí),不需要選擇直接導(dǎo)入整店的商品)

選擇平臺(tái)
采集店鋪商品后棒掠,可以選擇導(dǎo)入什么商品

2.執(zhí)行導(dǎo)入后孵构,并不在當(dāng)前頁顯示導(dǎo)入的狀態(tài)或結(jié)果,引入另一個(gè)頁面來放置任務(wù)烟很;所以引入了另一個(gè)專門放置導(dǎo)入任務(wù)的頁面


一個(gè)專門放置任務(wù)的頁面颈墅,詳情可以查看每個(gè)任務(wù)里商品導(dǎo)入的情況

但這樣會(huì)引入一個(gè)新的問題,由于導(dǎo)入的頁面與任務(wù)的頁面是割裂的雾袱,為了不打破用戶的“心流”精盅,我們需要在用戶導(dǎo)入完畢后自然引導(dǎo)用戶進(jìn)入任務(wù)查看,即“反饋提示”谜酒。如下圖:導(dǎo)入后告訴用戶已經(jīng)開始,并提供快捷入口讓用戶進(jìn)入查看妻枕。


一個(gè)帶有快捷入口的提示

當(dāng)用戶點(diǎn)擊取消時(shí)僻族,利用氣泡框輕度提示用戶可以從此入口查看任務(wù):

氣泡框的輕度提示

因?yàn)橛脩粢呀?jīng)點(diǎn)了【取消】,說明用戶:1.有其他流程需要處理屡谐;2.已經(jīng)非常熟悉導(dǎo)入流程述么,不需要查看。所以此時(shí)為了不打擾用戶愕掏,做一個(gè)輕度提示即可(甚至可以只在用戶第一次導(dǎo)入時(shí)提示)

3.導(dǎo)入完畢后度秘,需要及時(shí)提醒用戶導(dǎo)入任務(wù)已完成,這里有幾種方法,由于用戶不一定時(shí)刻在電腦前剑梳,所以可以取其中之一或全部用上唆貌。

·短信:若用戶注冊(cè)時(shí)需要提供手機(jī)號(hào),這是開發(fā)成本最低的一種做法垢乙,也是最快速锨咙;缺點(diǎn)是金錢成本會(huì)比較高。

·公眾號(hào):若用戶使用微信登錄追逮,并且關(guān)注公眾號(hào)酪刀,可以調(diào)用公眾號(hào)-消息模版能力,優(yōu)點(diǎn)是0金錢成本钮孵,還能順便提高公眾號(hào)的粉絲骂倘,缺點(diǎn)是需要開發(fā),并且消息模版只能使用微信的

·網(wǎng)頁端直接彈出提示:優(yōu)點(diǎn)是自己可以控制文案和樣式巴席,并且能夠直接跳轉(zhuǎn)查看對(duì)應(yīng)的任務(wù)历涝,缺點(diǎn)是需要開發(fā)通訊類功能(socks之類);用戶離開后就收不到消息


一個(gè)彈出通知

所以要與開發(fā)團(tuán)隊(duì)權(quán)衡好利弊情妖,進(jìn)行取舍睬关。

總結(jié):

當(dāng)初將異步的任務(wù)也設(shè)計(jì)成同步的交互,后來發(fā)現(xiàn)一團(tuán)糟毡证;經(jīng)過幾次與團(tuán)隊(duì)的探討电爹,看別人的文章與設(shè)計(jì)后,總結(jié)出幾點(diǎn):

1.碰到異步的任務(wù)時(shí)料睛,最好能在代碼層面了解它是怎么運(yùn)作的丐箩,包括但不限于調(diào)用了什么接口、接口調(diào)用的時(shí)長(zhǎng)(這個(gè)決定了是否要同步處理還是異步處理)恤煞、接口返回的錯(cuò)誤屎勘、任務(wù)是按照隊(duì)列去執(zhí)行還是能夠并發(fā)執(zhí)行;業(yè)務(wù)層面了解它需要的角色居扒、流程概漱、流程的時(shí)長(zhǎng)、流程涉及到的場(chǎng)景喜喂。

2.不要企圖僅用文案去解決用戶的不安以及等待瓤摧,這個(gè)是我們犯過最大的錯(cuò);以為提示可以解決一切玉吁;但用戶會(huì)跟著流程走照弥,流程設(shè)計(jì)出錯(cuò)的時(shí)候,用戶會(huì)非常無助地停留在原地进副。

3.多與開發(fā)溝通这揣,很多時(shí)候,設(shè)計(jì)貌似只是產(chǎn)品或UI的事情,開發(fā)只是執(zhí)行给赞,但在我執(zhí)行過的項(xiàng)目中机打,好的項(xiàng)目往往是開發(fā)一同參與設(shè)計(jì)部分的(并不是說執(zhí)行,而是給出建議)塞俱,因?yàn)橛行┓桨甘切枰_發(fā)人員的知識(shí)才能想到(具體可以參考“增長(zhǎng)黑客”一書中的案例)姐帚。

好,那我們下期見(可能沒有下一期了障涯,哈哈哈哈哈哈)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末罐旗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子唯蝶,更是在濱河造成了極大的恐慌九秀,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,185評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粘我,死亡現(xiàn)場(chǎng)離奇詭異鼓蜒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)征字,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,445評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門都弹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人匙姜,你說我怎么就攤上這事畅厢。” “怎么了氮昧?”我有些...
    開封第一講書人閱讀 157,684評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵框杜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我袖肥,道長(zhǎng)咪辱,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,564評(píng)論 1 284
  • 正文 為了忘掉前任椎组,我火速辦了婚禮油狂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寸癌。我一直安慰自己选调,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,681評(píng)論 6 386
  • 文/花漫 我一把揭開白布灵份。 她就那樣靜靜地躺著,像睡著了一般哮洽。 火紅的嫁衣襯著肌膚如雪填渠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,874評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音氛什,去河邊找鬼莺葫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛枪眉,可吹牛的內(nèi)容都是我干的捺檬。 我是一名探鬼主播,決...
    沈念sama閱讀 39,025評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼贸铜,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼堡纬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蒿秦,我...
    開封第一講書人閱讀 37,761評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤烤镐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后棍鳖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炮叶,經(jīng)...
    沈念sama閱讀 44,217評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,545評(píng)論 2 327
  • 正文 我和宋清朗相戀三年渡处,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镜悉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,694評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡医瘫,死狀恐怖侣肄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情登下,我是刑警寧澤茫孔,帶...
    沈念sama閱讀 34,351評(píng)論 4 332
  • 正文 年R本政府宣布,位于F島的核電站被芳,受9級(jí)特大地震影響缰贝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜畔濒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,988評(píng)論 3 315
  • 文/蒙蒙 一剩晴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侵状,春花似錦赞弥、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,778評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至艇潭,卻和暖如春拼窥,著一層夾襖步出監(jiān)牢的瞬間戏蔑,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,007評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工鲁纠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留总棵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,427評(píng)論 2 360
  • 正文 我出身青樓改含,卻偏偏與公主長(zhǎng)得像情龄,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子捍壤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,580評(píng)論 2 349