寫(xiě)了很多 OS X 和 iOS 相關(guān)的產(chǎn)品和技術(shù),很少涉及 Android 的內(nèi)容,其實(shí) iOS 和 Android 分別源于 OS X 和 Linux 架構(gòu),而 OS X 和 Linux 的老祖宗又都是 Unix,打了半天,斗了許久,說(shuō)開(kāi)了都是一家人。iOS 與 Android 在發(fā)展的過(guò)程中也常常相互借鑒和融合,用戶(hù)則獲得了越來(lái)越好的用戶(hù)體驗(yàn)。
Android 領(lǐng)域同樣有很多好的技術(shù)和創(chuàng)意,有些功能甚至是 iOS 不具備的,比如我們今天要談到的「應(yīng)用內(nèi)搜索」。
應(yīng)用內(nèi)搜索其實(shí)就是移動(dòng)互聯(lián)網(wǎng)搜索,在談移動(dòng)互聯(lián)網(wǎng)搜索之前,我們看看 PC 互聯(lián)網(wǎng)時(shí)代的搜索是怎么干的。1991年8月,大牛蒂姆·伯納斯-李在 NeXTSTEP 操作系統(tǒng)上創(chuàng)建出了第一個(gè)網(wǎng)頁(yè)瀏覽器和網(wǎng)頁(yè)服務(wù)器,那一年,你豆蔻年華,我風(fēng)華正茂,互聯(lián)網(wǎng)方興未艾,卻在蒂姆的瀏覽器上開(kāi)啟了征服世界的第一步?;ヂ?lián)網(wǎng)在90年代末和21世紀(jì)初迅速席卷全球,人們?cè)诨ヂ?lián)網(wǎng)上創(chuàng)建出了數(shù)以?xún)|計(jì)的網(wǎng)頁(yè)和超鏈接。但是僅僅有網(wǎng)頁(yè)和超鏈?zhǔn)遣粔虻?,人們需要在浩如煙海的信息中尋找自己需要的?nèi)容,于是互聯(lián)網(wǎng)搜索和 Page Rank 應(yīng)運(yùn)而生。
Google 之前,曾經(jīng)出現(xiàn)了很多通用或?qū)I(yè)領(lǐng)域的搜索引擎,但是最終他們都敗給了 Google,因?yàn)檫@些引擎沒(méi)有解決「按照搜索結(jié)果的重要性和相關(guān)性排序」的關(guān)鍵問(wèn)題。Google 成功了,因?yàn)橛谢ヂ?lián)網(wǎng)搜索的金鑰匙 Page Rank。Page Rank 又叫網(wǎng)頁(yè)級(jí)別,是一種搜索引擎根據(jù)網(wǎng)頁(yè)之間相互超鏈接引用的權(quán)重來(lái)計(jì)算網(wǎng)頁(yè)重要性和相關(guān)度的算法,由 Google 的兩位創(chuàng)始人發(fā)明。Page Rank 通過(guò)網(wǎng)絡(luò)浩瀚的超鏈接關(guān)系來(lái)確定一個(gè)網(wǎng)頁(yè)的等級(jí),Google 把 A 頁(yè)面中指向 B 頁(yè)面的鏈接解釋為 A 頁(yè)面為 B 頁(yè)面投票,然后根據(jù)投票來(lái)源和投票目標(biāo)的等級(jí)來(lái)計(jì)算新的等級(jí)。
可以這樣理解,如果你認(rèn)為《MacTalk·人生元編程》是一本靠譜的書(shū),那么書(shū)中提到的王小波的作品、吳軍的作品、馮唐的作品、Linus 的作品,大體上也不會(huì)差到哪去,當(dāng)你去讀這些作品時(shí),又會(huì)發(fā)現(xiàn)更多好的作品,這就是一種生活中的 Page Rank。當(dāng)然,永遠(yuǎn)會(huì)存在一些例外,比如我的一位讀者,讀了一年多的 MacTalk,沒(méi)有買(mǎi)《MacTalk·人生元編程》,而是直接買(mǎi)了一臺(tái) Mac,然后跑過(guò)來(lái)問(wèn)我,為神馬在 IE 上可以流暢的訪(fǎng)問(wèn)草榴社區(qū),而 Safari 不行。這條神奇的PageRank 路徑是:MacTalk —> Mac —> Safari —> 草榴社區(qū)。對(duì)于這種奇葩的路徑,海量的數(shù)據(jù)樣本可以將其稀釋掉,所以整體上來(lái)講,Google 搜索結(jié)果的排名還是非常精準(zhǔn)的,而且沒(méi)有競(jìng)價(jià)排名。
到了移動(dòng)互聯(lián)網(wǎng)時(shí)代,這一切都行不通了,因?yàn)槲覀兊搅肆硪粋€(gè)江湖。在這個(gè)江湖里,瀏覽器只是和上百萬(wàn) App 平級(jí)的一個(gè)應(yīng)用,它不再握有互聯(lián)網(wǎng)入口的唯一金鑰匙。瀏覽器從帶頭大哥變成了初入江湖的小球,原來(lái)的青龍偃月刀變成了小木棍,大家都在拄著木棍摸著石頭過(guò)河。理論上,每一個(gè) App 都是互聯(lián)網(wǎng)的入口!在新的江湖里,所有的 App 都在肆意成長(zhǎng),數(shù)據(jù)繼續(xù)以幾何量級(jí)不管不顧的增加,每個(gè) App 都形成了自己的王國(guó),你想要搜索數(shù)據(jù),可以,但必須在這個(gè)國(guó)度里檢索。
每個(gè) App 都形成了當(dāng)年互聯(lián)網(wǎng)誕生時(shí)候的「孤島網(wǎng)站」,你想檢索「多看閱讀」里書(shū)籍,那么必須打開(kāi)「多看閱讀」App,如果你想查找「知乎」的問(wèn)答,那么必須打開(kāi)「知乎」 App。所有的應(yīng)用都是封閉的,但搜索的需求永遠(yuǎn)存在,我們期待在一個(gè)統(tǒng)一的入口去搜索,當(dāng)找到一本書(shū)的時(shí)候,直接進(jìn)入多看或 Kindle 去閱讀。
目前 Apple 在這個(gè)領(lǐng)域還無(wú)所作為,那么 Google 會(huì)不會(huì)再次拿到移動(dòng)互聯(lián)網(wǎng)搜索的金鑰匙呢?我們看看 Google 做了什么。2013 年 12 月,Google 發(fā)布了 App Indexing,當(dāng)你的應(yīng)用接入了 App Indexing 時(shí),在手機(jī)上的 Chrome 里使用 Google 搜索網(wǎng)頁(yè)時(shí),如果檢索到和你的產(chǎn)品相關(guān)的內(nèi)容,就可以看到「Open In App」按鈕,點(diǎn)擊可以跳轉(zhuǎn)到對(duì)應(yīng)應(yīng)用的內(nèi)容頁(yè)面。App Indexing 雖然已經(jīng)可以進(jìn)行移動(dòng)互聯(lián)網(wǎng)搜索了,但是這種做法依然延續(xù)了 PC 時(shí)代的思路,試圖通過(guò) Web 把 App 鏈接起來(lái)。對(duì)于沒(méi)有任何網(wǎng)頁(yè)內(nèi)容的 App 怎么處理呢?目前還沒(méi)有答案。
其他廠(chǎng)商,例如 Quixey、Facebook、百度和360等都做了類(lèi)似的嘗試,但是在這個(gè)領(lǐng)域走的最深遠(yuǎn)的,或者實(shí)際可用的「應(yīng)用內(nèi)搜索」,是豌豆莢。
在我的 T1手機(jī)上打開(kāi)豌豆莢,在搜索框輸入「池建強(qiáng)」,可以直接檢索到我的書(shū)《MacTalk·人生元編程》,點(diǎn)擊打開(kāi),選擇「多看」應(yīng)用,然后就可以在多看里閱讀這本書(shū)了。
在搜索框輸入「繡春刀」,可以看到更多選項(xiàng),包括電影、特輯、壁紙、推薦應(yīng)用等。點(diǎn)擊播放,系統(tǒng)會(huì)提示你選擇播放來(lái)源,優(yōu)酷、騰訊視頻還是土豆。選擇了之后就可以直接打開(kāi)相關(guān)應(yīng)用播放了。
另外,豌豆莢根據(jù)內(nèi)容的相關(guān)度和優(yōu)先級(jí)對(duì)搜素結(jié)果進(jìn)行了排序處理。在搜索框輸入「星際穿越」,搜索結(jié)果會(huì)先出現(xiàn)購(gòu)票,之后是壁紙等相關(guān)內(nèi)容。搜索的是已經(jīng)下線(xiàn)的電影,才會(huì)出現(xiàn)視頻條目。
搜索過(guò)程中,如果用戶(hù)沒(méi)有安裝對(duì)應(yīng)搜索結(jié)果的應(yīng)用,系統(tǒng)會(huì)提示用戶(hù)安裝。
這是真正的應(yīng)用內(nèi)搜索,和傳統(tǒng)的 PC 時(shí)代互聯(lián)網(wǎng)搜索半毛錢(qián)關(guān)系都沒(méi)有。
為了更好的了解「應(yīng)用內(nèi)搜索」技術(shù),我又去挖了一下「豌豆莢」。最初從創(chuàng)新工場(chǎng)知道了這個(gè)公司,那時(shí)它還是一個(gè)比較純粹的 App 分發(fā)渠道和市場(chǎng)。到了2013年,豌豆莢已經(jīng)開(kāi)始涉足「應(yīng)用內(nèi)搜索」了。他們?cè)?013年9月正式推出了「視頻搜索」功能,用戶(hù)在豌豆莢搜索到的視頻可以直接調(diào)用手機(jī)上各視頻應(yīng)用播放,是全球首個(gè)將「應(yīng)用內(nèi)搜索」落地的產(chǎn)品。2014年1月,豌豆莢發(fā)布了「移動(dòng)內(nèi)容搜索」戰(zhàn)略,將「應(yīng)用內(nèi)搜索」擴(kuò)展到視頻、電子書(shū)、主題、電影票等多個(gè)內(nèi)容類(lèi)別。
到了今年3月份,豌豆莢正式發(fā)布了「應(yīng)用內(nèi)搜索技術(shù)協(xié)議」,開(kāi)始制定自己的標(biāo)準(zhǔn),同時(shí)兼容 Google 的 App Indexing 協(xié)議和 Quixey 的 AppURL。豌豆莢的協(xié)議提供了一整套開(kāi)放的應(yīng)用內(nèi)內(nèi)容檢索、收錄和調(diào)用的標(biāo)準(zhǔn),開(kāi)發(fā)者通過(guò)描述應(yīng)用內(nèi)的內(nèi)容、向豌豆莢提交內(nèi)容信息以及應(yīng)用支持外部調(diào)用即可完成接入。
具體來(lái)說(shuō),一個(gè)應(yīng)用想要接入豌豆莢的「應(yīng)用內(nèi)搜索」,需要完成以下步驟:
第一步,讓自己的 App 支持外部調(diào)用。豌豆莢使用 AppURL 指向可以在應(yīng)用中展現(xiàn)的資源,比如優(yōu)酷的視頻播放可以用 youku://play/video/12345 來(lái)表示,多看的電子書(shū)描述頁(yè)可以用 duokan://detail/ebook/22345。點(diǎn)擊即可跳轉(zhuǎn)到相關(guān) App 的相關(guān)界面。
第二步,描述 App 的內(nèi)容。豌豆莢使用微數(shù)據(jù)(Microdata)來(lái)描述應(yīng)用中的每個(gè)項(xiàng)目,微數(shù)據(jù)是 Google、Bing 和 Yahoo 都支持的結(jié)構(gòu)化數(shù)據(jù)標(biāo)注方案,符合 HTML5 的標(biāo)準(zhǔn),同時(shí)也可以用 XML 來(lái)表示。一本電子書(shū)可以通過(guò)微數(shù)據(jù)的 itemtype(類(lèi)型)和 itemprop(屬性)的嵌套進(jìn)行完整的描述,例如書(shū)名、作者、簡(jiǎn)介、出版日期等等,具體的細(xì)節(jié)在豌豆莢的開(kāi)發(fā)者中心( http://developer.wandoujia.com/search )有詳盡的描述。
第三部,開(kāi)發(fā)者提交自己的 AppURL 和 App 內(nèi)容信息,豌豆莢根據(jù)開(kāi)發(fā)者提交的內(nèi)容分門(mén)別類(lèi)建立索引,最終實(shí)現(xiàn)應(yīng)用內(nèi)快速檢索。
了解了這些,我們就明確了這么幾個(gè)問(wèn)題:
1、一個(gè)獨(dú)立的 App 即使沒(méi)有對(duì)應(yīng)的 Web 頁(yè)面,一樣能夠進(jìn)行應(yīng)用內(nèi)搜索
2、開(kāi)發(fā)者可以選擇接入和拒絕應(yīng)用內(nèi)搜索,類(lèi)似互聯(lián)網(wǎng)的 Robots 協(xié)議
3、應(yīng)用內(nèi)搜索實(shí)際上是去豌豆莢的服務(wù)器端搜索,并把搜索結(jié)果返回到終端,并不是聽(tīng)起來(lái)的在「應(yīng)用內(nèi)搜索」
拋開(kāi)商業(yè)模式不談,豌豆莢的協(xié)議發(fā)布之后,他們已經(jīng)在移動(dòng)互聯(lián)網(wǎng)搜索里有意無(wú)意的開(kāi)始嘗試 PC 時(shí)代互聯(lián)網(wǎng)的 Google 的角色。但要想做的更為出色,豌豆莢還需要更大的創(chuàng)新和實(shí)踐,比如接入的便捷性,搜索的速度,App 的規(guī)模,以及對(duì)非結(jié)構(gòu)化數(shù)據(jù)的處理。
無(wú)論如何,豌豆莢已經(jīng)在「應(yīng)用內(nèi)搜索」領(lǐng)域邁出了第一步,它讓用戶(hù)在茫茫的移動(dòng)浪潮中迅速準(zhǔn)確的找到自己需要的內(nèi)容,然后順暢安全的進(jìn)行內(nèi)容消費(fèi)。相信「應(yīng)用內(nèi)搜索」會(huì)為移動(dòng)互聯(lián)網(wǎng)時(shí)代譜寫(xiě)出新的搜索篇章。
說(shuō)完了 Android,再簡(jiǎn)單說(shuō)說(shuō) iOS。其實(shí)蘋(píng)果在 OS X 上的「應(yīng)用內(nèi)搜索」已經(jīng)做的非常出色了,基于 Spotlight 技術(shù),你可以快速查找和定位任何文件、資料和程序,無(wú)論是結(jié)構(gòu)化還是非結(jié)構(gòu)化。但是這個(gè)功能并沒(méi)有完全移植到 iOS 上。
在 iOS 設(shè)備的任一屏幕中單指下滑,就可以使用 iOS 的 Spotlight 功能。你可以對(duì)原生應(yīng)用進(jìn)行「應(yīng)用內(nèi)檢索」,例如日歷、郵件、提醒事項(xiàng)、備忘錄等等,這些是本地化檢索,iOS 并沒(méi)有索引其他 App 的應(yīng)用內(nèi)容,也沒(méi)有提供接入方式和標(biāo)準(zhǔn)。在 iOS 8 里還可以可以對(duì)地圖、維基百科、iTunes Store、App Store和 iBooks Store 等內(nèi)容進(jìn)行線(xiàn)上檢索,很可惜的是,目前這些線(xiàn)上搜索功能目前還沒(méi)有對(duì)國(guó)內(nèi)用戶(hù)開(kāi)放。
可以看出,目前 iOS 上的 Spotlight 都是在索引自家的東西,但是,App Store 作為最大的移動(dòng) App 分發(fā)渠道,我相信他們一定會(huì)做面向所有 App 的「應(yīng)用內(nèi)搜索」。為什么現(xiàn)在沒(méi)做,可能是因?yàn)榘踩蛩?,也可能是?biāo)準(zhǔn)問(wèn)題,也可能只是在等一個(gè)合適的機(jī)會(huì)罷了,比如 iOS 9……