搜索框是瀏覽器中交互最為頻繁的控件之一,因此如何設(shè)計(jì)一個(gè)搜索框變得極為重要。用戶輸入搜索關(guān)鍵字,瀏覽器會(huì)提供命中關(guān)鍵字的搜索結(jié)果。大多數(shù)瀏覽器的行為都差不多,如下圖所示:

上圖依次是:百度瀏覽器,QQ瀏覽器,UC瀏覽器,夸克瀏覽器。一樣的關(guān)鍵字,不一樣的數(shù)據(jù)和排序。從圖中可以看出有如下功能:
- URL 自動(dòng)補(bǔ)全
- 歷史網(wǎng)址提示
- 常用網(wǎng)址提示
- 關(guān)鍵字提示
這么多功能最終都是為了讓用戶以最快最舒服的方式找到想要的內(nèi)容。搜索框看似簡(jiǎn)單,其實(shí)是一個(gè)非常復(fù)雜的交互控件。說白了就一句話,如何根據(jù)用戶使用習(xí)慣對(duì)數(shù)據(jù)進(jìn)行有效的排序篩選。
- 數(shù)據(jù)
- 排序篩選
- 用戶習(xí)慣
根據(jù)這三點(diǎn)來設(shè)計(jì)瀏覽器的搜索框就是今天的主題。
數(shù)據(jù)
數(shù)據(jù)的來源可以是:
- 書簽
- 導(dǎo)航
- 瀏覽歷史
- 框計(jì)算 (服務(wù)器支持)
- etc
數(shù)據(jù)源不是越多越好, 數(shù)據(jù)源多樣化會(huì)導(dǎo)致數(shù)據(jù)膨脹,最終會(huì)增加用戶使用成本。 那么,如何對(duì)數(shù)據(jù)進(jìn)行有效的排序和篩選變得非常重要。
數(shù)據(jù)排序篩選
需要在有限的顯示區(qū)域里面,展示有效的數(shù)據(jù)。排序根據(jù)用戶權(quán)重系數(shù)降序排列,
首先對(duì)每一種數(shù)據(jù)源配置權(quán)重系數(shù)w1 ,然后對(duì)同一數(shù)據(jù)源的每一條數(shù)據(jù)配置權(quán)重系數(shù)w2。同一數(shù)據(jù)源的權(quán)重按一定的算法衰減,保證所有數(shù)據(jù)源重要的數(shù)據(jù)都可以在有限的顯示區(qū)間顯示 。
一條數(shù)據(jù)的權(quán)重最終為:
W = w1 * w2 * f(index)
用戶習(xí)慣
通過學(xué)習(xí)用戶行為高效的配置資源,提高用戶的瀏覽體驗(yàn)。這里不得不說Chrome ,一款偉大的瀏覽器。通過參照 Chrome 的實(shí)現(xiàn)方法,實(shí)現(xiàn)根據(jù)用戶行為有效配置資源。用戶行為的學(xué)習(xí),也會(huì)影響到數(shù)據(jù)的排序,使排序更加智能化。