Tags : :
At long last, I’ve given up on Google. For twelve years now, my browser home page has been the Google home page. No longer. Google’s search just sucks. Over the last year and a half, more and more ad sites, spam, and sites that just don't match the keywords have appeared in Google's search results, crowding out the legitimate results. It is relatively common now to finally find what I'm looking for on page five or six.
All this appears to be intentional. Google has been emphasizing more content (Facebook and Twitter) and faster indexing over quality, suggesting that older high quality results should be ranked lower in comparison with newer, ‘fresher’ results. The new Google motto: “More crap, more quickly.”
So I've switched to DuckDuckGo. It’s new; it’s not perfect, but, for most of my searches, for the keywords that are natural for me, DuckDuckGo does a better job. Most importantly, search quality is their primary focus. Maybe, if Google gets its lunch eaten by a one man operation, it will consider focusing more on quality.
To make searching on DuckDuckGo easier, I've made a text service called “Search in DuckDuckGo”, which opens search results using highlighted text for the search keywords. The service is based on the following AppleScript (for which I borrowed the default browser identifier from this MacScripter post):
copy text item delimiters to TID
-- Replace Punctuation with pluses
set specialChars to " ;&"
repeat with i from 1 to count of specialChars
set text item delimiters to character i of specialChars
set theList to every text item of input
set text item delimiters to "+"
set input to theList as text
-- Identify Default Browser
tell application "System Events"
tell property list file ((path to preferences from user domain as text) & "com.apple.LaunchServices.plist")
tell property list item "LSHandlers"
set active_prop to 1st property list item whose value of property list item 2 is "http"
set theBrowser to value of property list item 1 of active_prop
set theBrowser to "com.apple.Safari"
set text item delimiters to "."
set theBrowser to last text item of theBrowser
-- Open DuckDuckGo query in Browser
do shell script "open -a " & theBrowser & space & quoted form of ("http://www.duckduckgo.com/?q=" & input)
do shell script "open -a " & "Safari" & space & quoted form of ("http://www.duckduckgo.com/?q=" & input)
set text item delimiters to TID
Download the service installer: DuckDuckGoService.zip