比安卓做得更好,iOS 15通用搜索功能這么牛?
搜索(Spotlight)在iOS上有很長的歷史了。事實上,這項功能最早出現在macOS上,后來蘋果才在iOS 3上推出了相同的搜索功能。
如果按照年份來算的話,蘋果的搜索功能最早亮相于2004年的WWDC大會上,并在2005年4月正式登陸macOS平臺。而iOS上的搜索功能,相較于macOS晚了4年。
隨著iOS版本不斷更迭,搜索功能也一直在進化。近日,據外媒MacRumors報道,蘋果在iOS 15中對搜索功能進行了多項改進。由于Siri數據庫得到了進一步拓展,使得搜索功能變得更加智能,與以往的版本相比可以搜索到更多信息。
例如,如果你在搜索欄中輸入電影或電視節目,會看到很多觀看節目的方式、演員、預告片等信息。而在iOS 14中,搜索功能受到了很大限制,通常僅限于網頁搜索。
又或者你可以使用搜索功能查找網絡圖片,只需輸入關鍵字即可。當你點擊圖片時,系統會自動顯示更多相關圖片。
除了在搜索欄中查找網絡圖片外,你還可以直接搜索本體相冊中特定的照片。對于那些手機上存了很多照片的小伙伴來說,照片搜索無疑是為他們提供了極大便利,可以更精準、快速地找到自己想要查看的照片。
在以往的iOS版本中,只要iPhone處于鎖屏狀態,手指向下滑動屏幕是無法呼出搜索功能的。但是現在用戶可以直接進入搜索功能界面,只不過蘋果做了一些限制,比如搜索不會顯示照片、短信、聯系人等個人信息,只允許搜索網絡上的信息。蘋果這么做的目的,可能是為了保護用戶的隱私安全。
不僅如此,iOS 15改進了App Store搜索,用戶只需在搜索欄中輸入自己想要使用的應用,即可直接下載安裝,相當于簡化了進入App Store,再在App中搜索應用這一操作流程。
此外,搜索功能還加入了對App Clips的支持,用戶可以在地圖結果中看到操作按鈕,點擊即可訪問菜單、票務、預訂、放映時間等操作。
值得一提的是,作為兒童安全功能套件的一部分,蘋果正在Siri和搜索功能中加入相關保護措施。比如,如果用戶搜索兒童性虐待等信息,系統會自動提醒用戶這些是錯誤的興趣。
看完蘋果對搜索功能的各項改進后,不禁讓人想起了蘋果高管在一次采訪中的對話。有人提問為何iPad沒有自帶天氣和計算器App時,蘋果高級副總裁克雷格·費德里吉表示,有些事情蘋果沒有做,是因為他們想,如果要做,就要做到這個領域中頂尖的水平。當蘋果覺得可以做到非常好的時候,他們才會去做。
現在看來,iOS 15中的搜索功能,已經驗證了蘋果高管克雷格的說法。
蘋果Spotlight背后的操作邏輯
當然,蘋果的搜索功能不是一步登天,能做到現在這么出色也是需要一個過程的,那么蘋果是如何構建應用內搜索的呢?
在2015年的WWDC大會上,蘋果推出了全新的iOS Search API,一度讓「應用內搜索」這個話題成為熱門。所謂應用內搜索,指的是能夠搜索應用內的內容。與網頁內容不同,應用內容通常沒有URI(統一資源標志符),搜索引擎自然也就無法準確定位,而且點擊搜索結果還要拉起應用加載內容。
所以,想要實現應用內搜索,需要同時滿足兩個條件:1.建立唯一對應的索引;2.讓搜索引擎知道要拉起哪個應用。而蘋果的iOS Search API剛好是一個系統性的解決應用內搜索的方案,在這套方案中,應用內容被抽象的分為:私密內容(Priviate)和公開內容(Public),與之對應的兩個索引為On-Device Index(本地)和Cloud Index(云端)。
需要注意的是,只有索引才會有云端和本地之分,因為私密內容也可以上傳云端,所以內容本身沒有這些區分。
為了解決公開內容和私密內容的索引問題,蘋果在iOS Search API中設置了三個子API。首先是NSUserActivity API,即搜索看過的內容。在iOS9中,蘋果在搜索功能里引入了該API,軟件開發者可以利用該API捕捉當前頁面的元數據。舉個例子,淘寶、京東等都調用了這個API,我們可以在Spotlight里搜索到在淘寶、京東瀏覽過的寶貝。
其次是CoreSpotlight API,即索引應用內所有內容。以豆瓣為例,用戶可以在搜索欄中輸入關鍵字來查找豆瓣上的電影。
最后是Web Markup,即搜索網頁上的應用內容。這樣一來,即便沒有安裝某個App,蘋果的索引也能在網頁上搜索特定的標記,在Sarfi或Spotlight上顯示搜索結果。比如用戶要在攜程訂酒店,但手機上未安裝攜程App,這時Spotlight搜索結果則會以網頁的形式顯示。
而iOS 15中的Spotlight,蘋果可能在iOS Search API加入了新的索引,以此來豐富應用內搜索功能。關于應用內搜索,蘋果給出了自己的方案。作為競爭對手的谷歌,自然也有類似于Spotlight的應用內搜索功能。
應用內搜索功能,安卓也有
與蘋果不同,谷歌的思路很簡單,就是增強谷歌搜索的能力,讓它不僅限于搜索網頁內容,還能搜索應用內的內容,甚至是搜索到用戶在手機本地存儲的內容。
為了實現應用內搜索,谷歌推出了Firebase App Indexing方案。App Indexing可以將開發者開發的應用納入谷歌搜索,如果用戶安裝了某個App,點擊搜索結果可以直接打開該App;如果沒有安裝,開發者可以通過App Indexing來設置接下來的搜索結果,包括:對應的Web頁面,打開應用商店以及出現小卡片介紹應用,然后再轉入應用商店。
谷歌的Firebase App Indexing與蘋果的ios Search API有一個共同點,那就是都能索引網頁數據、應用頁面和個人數據。而兩者之間的不同點在于,谷歌的Firebase App Indexing是可以跨平臺的,在iOS和Android都有完整的解決方案,開發者只需適配一次,并且應用所獲得的流量主要依賴于搜索結果中的排位。
雖然谷歌的應用內搜索方案與蘋果的有些類似,但從開發者文檔來看,蘋果的iOS Search API會顯得更加完備和成熟。如果非要開發者在兩者之間選其一的話,谷歌的方案會更有吸引力,因為谷歌搜索的流量是現成的。
不過,現在看來,對比谷歌的應用內搜索,蘋果的Spotlight可以說是要更勝一籌,能夠將搜索結果進一步細化,讓用戶可以更快速地找到自己想要看到的內容。