以電商和醫(yī)療行業(yè)為例,看B端工作臺(tái)和消息系統(tǒng)的設(shè)計(jì)
本文以電商和醫(yī)療行業(yè)為例,看工作臺(tái)和消息系統(tǒng)是如何設(shè)計(jì)的,既能滿足用戶使用,又能節(jié)省開(kāi)發(fā)成本。
工作臺(tái)和消息系統(tǒng)是B端產(chǎn)品的2大必備,但又不是核心功能點(diǎn),所以常常得不到重視。
工作臺(tái)的主要目的是針對(duì)一些重要數(shù)據(jù)、重要業(yè)務(wù)的概覽;而消息系統(tǒng)是提醒業(yè)務(wù)消息、系統(tǒng)消息等重要消息的。在不同的應(yīng)用場(chǎng)景下,兩者的功能可能完全不同,當(dāng)然也可能高度重合,如何更合理的設(shè)計(jì)這兩個(gè)系統(tǒng)呢?既能滿足用戶使用,又能節(jié)省開(kāi)發(fā)成本。
本文以電商和醫(yī)療行業(yè)為例,除了從功能層面來(lái)討論,還會(huì)帶大家了解技術(shù)方案,以便選擇更合理的實(shí)現(xiàn)方式。
一、工作臺(tái)和消息系統(tǒng)的區(qū)別和聯(lián)系
1. 常見(jiàn)功能
(1)工作臺(tái)
工作臺(tái)在有的系統(tǒng)中會(huì)被稱為首頁(yè)、概述。進(jìn)入系統(tǒng)時(shí)一般首先跳轉(zhuǎn)到的就是這頁(yè),這個(gè)頁(yè)面是一個(gè)大集合,用戶可以在這頁(yè)上看到很多重要的信息概覽。
下面是一些電商的首頁(yè),我們可以看到,這些頁(yè)面上內(nèi)容較多,有這些常見(jiàn)的功能模塊:
- 重要及待辦事項(xiàng)提醒:待付款、待發(fā)貨、待退款售后、待處理工單等;
- 經(jīng)營(yíng)數(shù)據(jù)統(tǒng)計(jì):支付訂單數(shù)、支付金額、累計(jì)客戶等;
- 常用功能快鏈:發(fā)布商品、訂單查詢等;
- 官方運(yùn)營(yíng):頭條新聞、活動(dòng)報(bào)名等;
- 幫助服務(wù):經(jīng)營(yíng)建議,交流學(xué)習(xí)等。
可以說(shuō)賣(mài)家關(guān)心的,以及平臺(tái)想推廣的,在這個(gè)上面都能一覽無(wú)余。但電商的業(yè)務(wù)處理場(chǎng)景比較簡(jiǎn)單,主要是訂單處理這條主線,而營(yíng)銷又是他們的剛需,所以他們的首頁(yè)大部分是平臺(tái)的推廣。
訂單處理路徑:
在醫(yī)療系統(tǒng)中,我們會(huì)發(fā)現(xiàn),工作臺(tái)以待辦事項(xiàng)、業(yè)務(wù)數(shù)據(jù)、常用功能快鏈為主,基本不會(huì)出現(xiàn)平臺(tái)的營(yíng)銷推廣。
待辦事項(xiàng)的表現(xiàn)形式又有所差異,不僅僅是一個(gè)總量的統(tǒng)計(jì),還會(huì)具體到每個(gè)事項(xiàng)的詳情。比如說(shuō)待分診、待接診、待回訪客戶的信息,以及對(duì)應(yīng)的快捷操作按鈕。
(2)消息系統(tǒng)
消息系統(tǒng)主要是這三方面的重要消息的提醒和存儲(chǔ):
- 業(yè)務(wù)提醒:和業(yè)務(wù)流程相關(guān)的提醒,比如說(shuō)待發(fā)貨,待評(píng)價(jià);
- 普通提醒:和業(yè)務(wù)主流程無(wú)關(guān),但有重要支撐作用的,比如說(shuō)庫(kù)存預(yù)警,效期預(yù)警,客戶生日提醒;
- 系統(tǒng)公告:一般用來(lái)發(fā)布系統(tǒng)更新、平臺(tái)活動(dòng)等通知。
從展現(xiàn)形式來(lái)看,一般會(huì)有一個(gè)獨(dú)立于頁(yè)面的懸浮消息列表,如下圖。這樣可以在不打斷用戶操作的情況下,實(shí)時(shí)查看重要消息。
如果消息內(nèi)容比較多,有的系統(tǒng)還會(huì)再增加一個(gè)專門(mén)的頁(yè)面,來(lái)承載所有的歷史消息。
我們從上面的功能對(duì)比中發(fā)現(xiàn),工作臺(tái)重要及待辦事項(xiàng)提醒中的內(nèi)容,如果提醒的細(xì)致一點(diǎn)的話,可能就和消息系統(tǒng)中的內(nèi)容重合了,甚至是高度的重合。這種時(shí)候還需要做2套嗎?是否可以共用一套方案?我們先來(lái)了解下技術(shù)方案。
2. 技術(shù)方案
(1)總量統(tǒng)計(jì)
我們?cè)谏厦鎴D中看到的,工作臺(tái)上面的數(shù)量總計(jì),比如說(shuō)待發(fā)貨數(shù)量3,待評(píng)論數(shù)量5,其實(shí)背后有一個(gè)統(tǒng)計(jì)中心。
如果增加了一條待辦,統(tǒng)計(jì)中心對(duì)應(yīng)業(yè)務(wù)的數(shù)量就會(huì)加1。反之,處理了,狀態(tài)改變了,數(shù)量就會(huì)減1。比如說(shuō)一個(gè)訂單從待付款狀態(tài)變成了待發(fā)貨,前者加1,后者減1。
工作臺(tái)都是以一個(gè)頁(yè)面的形式來(lái)呈現(xiàn)的,所以在進(jìn)入這個(gè)頁(yè)面時(shí),會(huì)去實(shí)時(shí)獲取最新的數(shù)據(jù)。這時(shí)只需要從統(tǒng)計(jì)中心把值取出來(lái)就行,不需要實(shí)時(shí)去查詢每個(gè)業(yè)務(wù)的狀態(tài),然后做匯總計(jì)算。因?yàn)閷?shí)時(shí)的查詢非常損耗性能,這個(gè)頁(yè)面可能就加載不出來(lái)了。
(2)實(shí)時(shí)查詢
如果想要在工作臺(tái)上面顯示具體的信息,就需要在進(jìn)入工作臺(tái)時(shí)實(shí)時(shí)的查詢,比如下圖的排班信息,這個(gè)功能數(shù)據(jù)比較少,只需要直接在排班功能下查到當(dāng)前賬號(hào)的信息,然后回顯出來(lái)就行,不影響性能。
但我們看上面的我的待辦里面的信息,涵蓋了系統(tǒng)的所有業(yè)務(wù)流程,還有很多預(yù)警型的通知,如果每個(gè)信息都去實(shí)時(shí)的查詢,那每個(gè)業(yè)務(wù)都需要一個(gè)查詢接口,當(dāng)這個(gè)頁(yè)面上有20個(gè)業(yè)務(wù)類型時(shí),接口就多的要卡死了,嚴(yán)重影響性能。
所以有的系統(tǒng)就把這些內(nèi)容作了拆分。我們來(lái)看這張圖,雖然業(yè)務(wù)很多,但不是一次加載出來(lái)的,通過(guò)tab的點(diǎn)擊切換,每次查詢一個(gè)業(yè)務(wù)的數(shù)據(jù),極大的降低了性能問(wèn)題。
這種方式也有一個(gè)比較大的弊端,就是不能一次性看完待辦事項(xiàng),必須一個(gè)一個(gè)點(diǎn)擊切換,不如上面那種卡片形式,完全顯示的方式來(lái)的直觀。如果想要采用卡片形式。就要考慮下面這種實(shí)現(xiàn)方式了。
(3)埋點(diǎn)推送
這也是消息系統(tǒng)采用的實(shí)現(xiàn)方式。當(dāng)業(yè)務(wù)場(chǎng)景觸發(fā)了,業(yè)務(wù)方就會(huì)推送一條消息到消息系統(tǒng)里,所有的消息都集中在消息系統(tǒng)里面。
比如說(shuō)患者登記了,就發(fā)送一條待分診的消息到消息系統(tǒng)的待分診業(yè)務(wù)下。護(hù)士分診了該位患者,再發(fā)送一條待接診的消息到消息系統(tǒng)的待接診業(yè)務(wù)下,同時(shí)把原先待分診業(yè)務(wù)的消息置為已讀,不顯示出來(lái)。
采用埋點(diǎn)推送的方式,當(dāng)工作臺(tái)需要一起展示很多業(yè)務(wù)的具體內(nèi)容時(shí),只需要通過(guò)消息系統(tǒng)一個(gè)接口獲取就行了,相比較之前的20多個(gè)接口,解決了性能問(wèn)題。
把這些消息不管是已讀的,還是未讀的,放到消息彈窗或者頁(yè)面中顯示,就是我們上面看到的消息中心了。
不過(guò)這種方式也有一個(gè)弊端,就是當(dāng)業(yè)務(wù)推送的消息很多時(shí),需要每隔一段時(shí)間就清空下之前的消息,不然會(huì)導(dǎo)致數(shù)據(jù)庫(kù)頂不住壓力,宕機(jī)了。
比如說(shuō)一個(gè)診所,一天門(mén)診量100,每個(gè)患者走一遍門(mén)診的流程,產(chǎn)生8個(gè)消息通知,一天下來(lái)就是800條消息。1000個(gè)診所的話,一天就會(huì)產(chǎn)生80萬(wàn)條數(shù)據(jù)。所以這些消息需要在3-4天內(nèi)清空一下。
兩系統(tǒng)構(gòu)建方法
1. 相互獨(dú)立
以電商系統(tǒng)為例,他的工作臺(tái)和消息系統(tǒng)是完全獨(dú)立的東西。工作臺(tái)以運(yùn)營(yíng)推薦為主,消息系統(tǒng)以系統(tǒng)消息為主,沒(méi)有交集。
這種情況下,工作臺(tái)的待辦事項(xiàng)等總計(jì)數(shù)據(jù)就采用構(gòu)建統(tǒng)計(jì)中心的辦法來(lái)實(shí)現(xiàn)。運(yùn)營(yíng)內(nèi)容可以直接去業(yè)務(wù)方獲取。
消息系統(tǒng)采用推送的方式來(lái)構(gòu)建,除了系統(tǒng)通知,也可能會(huì)含有一些業(yè)務(wù)消息,比如說(shuō):您有新訂單啦,都是可以滿足的。
2. 融合構(gòu)建
以醫(yī)療系統(tǒng)為例,工作臺(tái)和消息系統(tǒng)是有很大交集的,不妨做個(gè)融合構(gòu)建。
同樣,待辦事項(xiàng)等總計(jì)數(shù)據(jù)還是采用構(gòu)建統(tǒng)計(jì)中心的辦法去實(shí)現(xiàn)。但是顯示待辦事項(xiàng)明細(xì)時(shí),可以采用埋點(diǎn)的方式,這樣在做消息系統(tǒng)時(shí),可以直接復(fù)用數(shù)據(jù)。
雖然剛說(shuō)了埋點(diǎn)的弊端是要定時(shí)清數(shù)據(jù),但是對(duì)于業(yè)務(wù)流動(dòng)性很大的系統(tǒng)來(lái)說(shuō),本身幾天前的消息已經(jīng)沒(méi)有價(jià)值了。比如說(shuō)今天一個(gè)患者來(lái)就診,提醒了醫(yī)生待接診,即使醫(yī)生今天沒(méi)有看他,消息保留著,但他第二天來(lái)了還是要重新掛號(hào)的,醫(yī)生不會(huì)去處理歷史消息。
數(shù)據(jù)可以復(fù)用,那是不是意味著頁(yè)面也只要做一個(gè)就好了呢?每次有消息過(guò)來(lái)時(shí),提醒一下您有新消息,點(diǎn)擊就去工作臺(tái)查看呢?
最好不要這樣做,因?yàn)楫?dāng)用戶點(diǎn)擊了消息,想看看詳情時(shí),就會(huì)跳出當(dāng)前頁(yè),可能打斷了現(xiàn)有的操作,用戶體驗(yàn)極不好。不妨增加一個(gè)固定懸浮消息列表,不影響用戶操作??此瓢压δ苤貜?fù)做了一遍,增加了工作量。實(shí)際上這只是前端展示上的工作量,對(duì)于后端來(lái)說(shuō),共用一套數(shù)據(jù)反而節(jié)省了成本。綜合來(lái)看,是性價(jià)比比較高的方式。
總結(jié)
工作臺(tái)和消息系統(tǒng)有時(shí)候看似毫無(wú)關(guān)系,有時(shí)候卻看似完全一樣,當(dāng)然取決于業(yè)務(wù)本身。可能看其他的系統(tǒng),還會(huì)有其他的展示內(nèi)容和形式。
還是以功能為主導(dǎo),但這邊不得不著重考慮技術(shù)的實(shí)現(xiàn)方案,因?yàn)楣δ芟氲脑偻昝溃貌涣艘驳扔诹恪?/p>
在考慮技術(shù)實(shí)現(xiàn)成本的時(shí)候,不要被眼前看到的迷惑住,要明白背后的實(shí)現(xiàn)原理。這樣才能收放自如,讓兩者或獨(dú)立,或融合,相得益彰。
作者:司馬特小隊(duì),訂閱號(hào):司馬特小分隊(duì),專注B端產(chǎn)品
本文由 @司馬特小隊(duì) 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自?Unsplash,基于 CC0 協(xié)議
技術(shù)方面的分析不錯(cuò)~
請(qǐng)問(wèn)作者,這個(gè)技術(shù)方案也是產(chǎn)品提供的嗎
感覺(jué)像是踩過(guò)坑 產(chǎn)品和技術(shù)也Battle過(guò)后的經(jīng)驗(yàn)之談