下沉交互思維到界面背后:記一次低成本的「最常使用」搜索模塊設計

2 評論 8101 瀏覽 21 收藏 15 分鐘

編輯導語:在平常的生活和工作中,經常會用到軟件中的搜索功能,能更加快速準確的定位到你想要的目標,提高效率,如果有聊天頻率比較頻繁的人往往會用置頂功能;本文作者介紹了搜索模塊設計中的“最常使用”功能。

這是之前負責的一個需求,特殊在于針對它的思考主要存在于界面背后,而不是界面上。

搜索邏輯往往是開發(fā)寫出來的算法,但作為一個交互設計師,也可以將交互思維下沉,使設計方案成為一種“算法”。

本文記錄了在一個企業(yè)通訊工具中,給搜索功能增加了一個“最常使用”模塊的設計思考過程。

一、搜索結果匹配問題分析

1. 搜索背景

無論是生活還是工作中,即時通訊(Instant Messaging)都離不開搜索功能,因為我們經常需要在眾多的好友以及會話消息中快速、精準地找到此時此刻我需要的那一個人或者群。

工作場景有一些特殊的地方,比如我們會有對接人,即高頻對話人;針對如何快速與高頻對話人開始對話,各個軟件其實也已經推出了很多方式,比如置頂、星標、備注、強提醒、保存群聊等。

但是由于工作中對接對象眾多,上述方式存在一定的體驗天花板,所以在會話頁面必不可少會有一個搜索功能;其優(yōu)勢在于精確、結果必達,所以優(yōu)化搜索功能,是提升會話開始效率的必要之路。

2. 公司IM的搜索現(xiàn)狀

其實當前搜索存在各種大大小小的問題,本文主要說以下搜索結果匹配的問題:

1)搜索結果無個性優(yōu)化:全公司所有人搜索同一關鍵詞的結果一模一樣,所以對大部分人來說,首屏顯示的三個結果幾乎不是目標,極大幾率需要進入二級頁面查找,或輸入更多的關鍵詞;比如我搜“張”,首屏只顯示“張一”、“張二”、“張三”,而我需要對接的“張四”需要進入二級頁面才能看到。

2)搜索路徑單一固定:當前路徑只有一種,即“輸入關鍵詞—確定—翻找(甚至進入二級頁面)—找到并開始對話”;由于企業(yè)IM的通訊錄里是包含所有公司成員的,所以同姓甚至同名的員工有很多;然而用戶每次只能通過同一路徑、在同一個位置找到這個人,即使這個人是用戶的高頻搜索對象,這種固定不變的路徑會大大降低用戶的工作會話效率。

針對目前存在的問題,提煉出以下兩個痛點:

  1. 優(yōu)化搜索結果排序,使得目標對象能出現(xiàn)在首屏;
  2. 更快速地找到高頻對話人(本文主要研究問題)。

3. 成本考慮

為什么說這是一次低成本優(yōu)化?

因為開發(fā)資源較緊張,而搜索的優(yōu)化往往關系到算法,要做到市面上最佳搜索算法很難,需要花費太多人力和時間,優(yōu)化也不是一步到位;希望能用較低成本、較短時間,來針對當前問題做一定程度優(yōu)化。

所以在設計前,可以提前確認一下可投入的開發(fā)資源,在思考方案的過程中,可以多一層考慮——如何能用更簡單地方法實現(xiàn)同樣的功能?達成類似的效果?收獲一致的體驗?

二、競品分析

1. 對標競品

由于在項目進行時,主要考慮的是增加匹配推薦功能,所以此處僅介紹“最常使用”的相關對比:

  • 飛書——保留搜索的關鍵詞歷史(觸發(fā)搜索后可見);
  • 釘釘——保留最近搜索并打開的8個會話對象(觸發(fā)搜索后可見),并記錄輸入字段對應的最近一次搜索并打開的對象為“常用”,無論是否有聊天記錄(輸入同一字段才可見);
  • 企業(yè)微信——記錄最近搜索并當次打開且發(fā)送過信息的對象為“最近搜索”(觸發(fā)搜索后可見);
  • QQ——保留搜索的5個關鍵詞歷史(出發(fā)搜索后可見),并記錄輸入字段對應的最近三次搜索并打開的對象為“常用”,無論是否有聊天記錄(輸入同一字段才可見);
  • 微信——根據搜索打開次數來記錄最多三個“最常使用”。

2. 分析競品存在問題

簡單地使用“最近搜索”,而不是“最常使用”。

最近搜索只是一個簡單的歷史記錄,常見于搜索引擎,但在IM搜索中使用時可能存在以下問題:

  1. 如果誤操作點擊了非目標對象,仍然會存入“最近搜索”,占用一個位置。
  2. 由于空間有限,大多數“最近搜索”保留的記錄為3-8個,可能在起碼一半的情況下,還是需要重走一遍完整搜索路徑(比如對接多個項目,那么高頻對話人和群遠不止8個)。
  3. “最近搜索”通常是在觸發(fā)搜索輸入狀態(tài)時就出現(xiàn),會引導用戶先去記錄里找一遍是否有目標對象,可能適得其反,反而耽誤了用戶時間。
  4. 最近搜索過不代表用戶經常與其溝通,那么此時臨時的一次搜索會白白占住掉一個高頻對話人的位置,要直到8次搜索后才能將其剔除掉。

綜上:“最近搜索”這種籠統(tǒng)的歷史記錄方式未必能真正解決高頻對話人的問題;“最常使用”邏輯中記錄的是關鍵詞,而不是關鍵詞對應的對象。

有競品使用了“最常使用”,在輸入關鍵詞后匹配出用戶可能的目標,當記錄的是用戶輸入的關鍵詞時,會有一些問題:

1)由于模糊搜索的存在,我們在搜索時其實很少會輸入完整字段,比如用戶需要搜索“張三”,輸入“張”時,下方已經給出了實時結果,此時用戶可以在結果中查找,也可以繼續(xù)輸入完整關鍵詞“張三”來減少自己的查找時間。

此時,如果軟件記錄的是關鍵詞:

  • 當用戶本次輸入的是完整關鍵詞“張三”,下次輸入“張”時,就可能無法匹配出“張三”是該用戶的「最常使用」,而必須輸入完整的“張三”;
  • 用戶這次輸入了“張”,下次輸入“三”時,也無法匹配出“張三”為最常使用(當然,一般情況下用戶搜索某個人,往往都已經產生了一個固定關鍵詞,但在工作過程中,交接人數眾多,可能會出現(xiàn)記不全名字、只記得名字中某個字的情況,所以記錄對象而不是關鍵詞在工作場景中也許更重要)。

2)如果記錄每個關鍵詞對應的3個「最常使用」,這其中可能會存在重復,比如“張”和“三”兩個搜索過的關鍵詞對應目標對象都是“張三”;那么此時需要兩個單獨的表來記錄,且每個輸入的關鍵詞都需要一個表來記錄,那么耗費的資源可能較多。

綜上,記錄關鍵詞對用戶來說在體驗上會出現(xiàn)問題(比如我搜這個人的姓,這人是我的最常使用,但我下次搜他的名字,就不是最常使用了,這是怎么回事?),對產品來說也會增加一些負擔。

部分未避免特殊情況:產品操作難免出現(xiàn)手誤等情況,當一個我不認識的同事出現(xiàn)在最常使用中時,當然會讓人覺得是不是出“八阿哥”了;競品會將用戶搜索并點擊過的對象自動歸為最常使用,及時用戶和這個目標對象沒有過發(fā)生過一句對話。

3. 競品分析總結

從體驗競品的過程和結果來看,上述產品的搜索邏輯都不相同。

所以在快速匹配目標對象上,也許還沒有一個行業(yè)對標的最優(yōu)方案,也許是各個競品都有自己的產品目標和目的;所以我們在分析完競品后,也要結合自家產品的特點和、目標、使用場景及人群來量身定制方案。

在上述分析中其實也包含了搜索時的一些用戶習慣和使用場景,結合當前競品存在的問題,對自家產品進行優(yōu)化,可從以下幾點入手:

  1. “最常使用”比“最近搜索”更符合IM搜索場景。
  2. “最常使用”的匹配記錄應以最終搜索的“對象”為單位,而不是記錄用戶輸入的關鍵詞。
  3. “最常使用”里匹配的對象不需要真的獲取與該目標對象的聊天頻率,由于聊天頻率高的對象自然搜索頻率也高,所以以搜索點擊來觸發(fā)添加目標對象到“最常使用”匹配的隊列中是成本更低的做法。

三、搜索優(yōu)化方案

1. 優(yōu)化目標

根據前兩節(jié)的分析,考慮到用戶習慣、使用場景、產品特點和開發(fā)成本,我們針對痛點給出以下解決方案:

根據公司大多數人的工作性質與要求,發(fā)現(xiàn)基本上是和本部門成員對接;所以在匹配的結果中,優(yōu)先顯示本部門成員,提高首屏即可查找到目標對象的幾率(由于考慮開發(fā)成本問題,先給出目前最簡單的優(yōu)化方案)。

增加“最常使用”匹配策略,將高頻對話人在搜索結果頁置頂顯示。

2. “最常使用”背后的匹配機制

根據上一節(jié)的分析,匹配機制其實很明確了,我們將“最常使用”理解為“在搜索中最常用到的對象”——即搜索點擊次數為主要匹配指標,是否有聊天記錄為輔;

機制如下:

  1. 隊列:“最常使用”為存儲最近搜索并點擊、且有聊天記錄的20個對象的一個隊列,對象包括單聊和群聊。(由于是初次使用,暫定為20個,已可以滿足7-20個關鍵詞匹配到最常使用對象,后續(xù)可根據用戶使用情況與反饋來調整隊列大?。?/li>
  2. 加入與剔除:當輸入關鍵詞,并點擊對象時,若與該對象有聊天記錄,則將該對象加入的隊列的隊首;當隊列中的對象數量超過20個時,刪除隊尾的對象。
  3. 匹配與顯示:輸入關鍵詞時,將關鍵詞在“最常使用”隊列中匹配,若匹配到了對象,則按加入隊列的最近時間排序;若未匹配到,則在搜索結果中不顯示“最常使用”模塊。
  4. 顯示數量控制:若該關鍵詞匹配到超過3個對象,僅顯示最近3個(作為推薦模塊,也不要過分占用下方聯(lián)系人、群聊、聊天記錄的空間)。

下圖為一個簡單的機制介紹:

3. 方案優(yōu)點與成果

  1. 開發(fā)成本?。捍朔桨竷H用一個隊列滿足了7-20個關鍵詞在搜索時可匹配到最常使用對象。
  2. 以“對象”為單位:不用給各個關鍵詞都記錄一套結果,而且公司工作群聊的一個特點——群多,且很多群未改群名,當此群被搜索過一次,加入了最常使用后,即使不記得群名,只要搜索群成員,該群同樣可以出現(xiàn)在最常使用中,這就是以“對象”為單位的好處。
  3. 以是否有聊天記錄為是否加入最常使用的依據:防止手誤點錯或其他搜索目的(比如查看部門、職位、手機號等信息),而占用一個隊列位置,最常使用中的名單不會讓用戶感到困惑。

四、總結

“最常使用”其實是一個很常見的功能,目的也就是讓系統(tǒng)展示出用戶當前可能想要的結果,現(xiàn)在回頭看也特別簡單。

在這個方案中,其實并未涉及到多少界面上的交互,反而幾乎全部思考都集中在界面背后的機制中;

這是讓我更深的意識到系統(tǒng)的作用,以及交互設計不僅僅存在于界面上,也讓我意識到以前學過一點代碼,鍛煉鍛煉邏輯思維真是有用;

至少讓我能夠跳出一紙界面的束縛,考慮到界面背后更豐富的“人機交互”,能夠給開發(fā)更清晰的方案,給用戶更“無感”的體驗。

 

作者:皮卡澈? ?公眾號:澈兒的交互實習日記

本文由 @皮卡澈 。 原創(chuàng)發(fā)布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Pixabay,基于 CC0 協(xié)議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 回復
  2. 贊了

    來自北京 回復