Duckduckgo 是筆者最近主要在用的搜尋引擎。有以下幾個令人喜愛的特點:

  • 鍵盤介面 - j, k, Enter, Cmd-Enter
  • 特殊問答 - ip, pw, yes or no
  • 他站搜尋 - !cpan perlbrew, !ruby Number, !yt Emacs
  • 安全性 - 可全程使用 https
  • 匿名性 - 不記錄歷使用者的搜尋記錄

有時全文搜尋結果感覺起來並不如 Google 那麼理想,也不能調整時間做即時搜 尋等等。但由於可以用鍵盤很快地前後瀏覽(j 向上、k 向下)五十、一百筆的結果, 把想看的先開在背景的分頁(Cmd-Enter),或是開在目前分頁(Enter),讓它成了 十分有力而快速的援尋工具。

如果所搜尋的字眼,是在幾個有名的知識庫(如 WikipediaCrunchBaseWolfram Alpha)中的已知項目,那麼 DuckDuckGo 會最優先呈現出來,然後才是全文搜尋的結果。最特別的,它有特別標註「Official site」(官方網站)的功能。如果一個關鍵字對直接對應的官網,會直接出現在第一筆。DuckDuckGo Goodies 頁面說明了許多其他可用的結殊關鍵字。

DuckDuckGo 的創辨人(及程式設計師)是 Gabriel Weinberg,也是個 CPAN Author: yegg。在他個人的網站上,細詳地說明了 DuckDuckGo 伺服器的架構,甚至也回應了許多其他人的提問。大致上是 Perl / FastCGI / nginx / PostgresQL 這樣的組合。(知道它不是「又來一個 Ruby On Rails」網站後總感覺特別愉悅。)

過去討論搜尋服務多半是在討論搜尋結果的次序、排名、分數、或廣告等等,但 DuckDuckGo 在介面上方便的設計不禁讓人後退、再次用另一種不同的觀點重新去思考「瀏覽搜尋結果」這個問題。bing 也曾經在 Apple WWDC 上展示了使用 HTML5 來改善使用性的新設計,雖然目前還沒看到那樣的設計真正上線,不過筆者是非常樂見。Google 最近也常有各種改版。DuckDuckGo 的設計比較更像是「Hacker Friendly」的感覺,只要稍微學一下那些鍵盤操作方式,就能用非常有效率的方式來快速操作,而且,也並不會很難學。

安全與匿名性則是那種「失去了才會覺得重要」的東西。相對來說 Google 搜尋一直以來都會記著個人的搜尋記錄,好像有因此能得到更個人化、更「令人滿意」的搜尋結果的排序,但總是會令人掛心:你記錄我那麼多資料,倒底還會拿來做什麼?另一方面這個更「個人化」的搜尋結果是不是真的很好,有時也很難討論。畢竟,在搜尋結果的好壞時,其實有比想像中更多的主觀因素在其中。PageRank 其實還算是相當單純的演算了。

目前為止 DuckDuckGo 都是免費也無廣告的服務,十分的好心。不是很確定它們在這個服務上有沒有任何獲利,但希望這個好服務能持續下去。