這個優(yōu)化方案,實際已經(jīng)過去了大約兩年時間否过,也是日常輸出各類文件前的進(jìn)行思考的一小片段午笛。
但這次有比較深刻的印象,是因為這次優(yōu)化苗桂,讓自己更深刻了解到药磺,熟悉接口文檔,與技術(shù)人員深入溝通的重要性煤伟。
自此養(yǎng)成了仔細(xì)閱讀接口文檔的習(xí)慣癌佩;到后面,能夠根據(jù)產(chǎn)品/市場等需求便锨,及未來可能拓展的需求围辙,在后臺技術(shù)人員制作接口文檔時,一起去考慮接口的可用性和可擴(kuò)展性放案。
需求背景
車隊為了便于管理姚建,通常會設(shè)置一位領(lǐng)隊。在實際行車過程中吱殉,會有車輛掉隊掸冤。我為此設(shè)計了一個‘查看領(lǐng)隊位置’的功能。方便用戶隨時獲取到領(lǐng)隊的正確位置友雳,進(jìn)行跟車稿湿。
產(chǎn)品測試時發(fā)現(xiàn),當(dāng)領(lǐng)隊關(guān)閉位置共享/網(wǎng)絡(luò)中斷沥阱,隊員客戶端沒有做任何處理缎罢,始終顯示最后一次讀取到的位置。這會讓隊員誤以為考杉,領(lǐng)隊始終在那個位置策精。這就違背了這個設(shè)計當(dāng)初的意愿——讓隊員隨時獲取領(lǐng)隊的正確位置。
來分析一下成員查看領(lǐng)隊位置時崇棠,出現(xiàn)該異常的背后的原因——領(lǐng)隊未能將數(shù)據(jù)發(fā)給后臺
這里,我需要解決‘讓用戶獲知自己查看到的領(lǐng)隊位置是否為最新’的問題(真是有點繞口令)枕稀。
與安卓開發(fā)GG溝通询刹,開發(fā)GG表示,“我拿到數(shù)據(jù)就展示萎坷,沒拿到就展示最后一次拿到的凹联,沒有任何問題啊"聽上去很有道理的樣子。
“但是你拿到的數(shù)據(jù)可能不是最新的呀哆档!”
開發(fā)GG表示:“我沒辦法知道我拿到的數(shù)據(jù)是不是最新的”
于是蔽挠,拿出我滴謙卑,與開發(fā)GG深入溝通瓜浸,對背后的邏輯做深入了解澳淑。
”領(lǐng)隊發(fā)送GPS到后臺——后臺獲取GPS比原,并會在接收到GPS后生成一個時間戳——后臺將GPS+時間戳發(fā)給隊員客戶端“
成員客戶端只要打開領(lǐng)隊位置界面,即會立刻獲取到領(lǐng)隊最后一次上傳的GPS杠巡,當(dāng)然還有時間戳量窘。
于是提議——客戶端時間減去時間戳?xí)r間大于輪詢時間,即可判斷位置非最新氢拥,在界面做出提醒蚌铜。
然而,客戶端時間與后臺時間可能不一致兄一。
因此客戶端在點擊進(jìn)入領(lǐng)隊位置頁面厘线,在拿到GPS和時間戳后识腿,無法得知這個位置是否確為剛剛(最新)獲取的出革。
……
望聞問切完成,可以開始設(shè)計了渡讼!
在交互上做出以下設(shè)計:
成員客戶端點擊進(jìn)入’領(lǐng)隊位置‘頁面骂束,領(lǐng)隊位置正常顯示。
以獲取到最后一次GPS的客戶端時間為準(zhǔn)成箫,如10秒內(nèi)展箱,未收到位置信息,則客戶端彈出層提示:
這里沒有用常見的栖榨;‘確定’‘取消 ’或者 ‘我知道了‘
而是幫助用戶選擇下一步操作——當(dāng)用戶得知領(lǐng)隊位置非最新的,他會有兩個選擇明刷,繼續(xù)查看領(lǐng)隊位置婴栽,或者回到上一級的聊天頁面。于是辈末,我直接在button上為用戶提供選擇愚争。
這次優(yōu)化,進(jìn)行了小范圍的用戶體驗評審挤聘,大家都覺得很好用:)轰枝。
【結(jié)論】要多和開發(fā)GG溝通~一定要熟悉接口文檔~一定要在做事之前,先花大量時間去了解背景组去,才能做出正確的決策鞍陨。