DuckDuckGo: A Search Engine for Linux Lovers

This isn’t a Linux-specific post, but I suspect it will be of interest to Linux enthusiasts.

A few months ago, I stopped using Google as my default search engine. Google kept adding new functionality to its results that made it harder for me to find what I was looking for. I didn’t want to connect my results to my social network. I didn’t want to have searches run as I was constructing them. I just wanted to find quality sites to help me answer my various questions.

Google felt like it was trying to tell me how to search. Around the same time, I heard about a search engine, DuckDuckGo, that was supposed to be much more mindful of privacy than Google, so I decided to try it out.

I pretty much fell in love with DuckDuckGo right away. It’s a decent search engine that’s been steadily improving.

It does a nice job of giving you a summary answer (usually from a reputable forum or Wikipedia) at the top of your results, so a lot of the time, you don’t even need to click over to another site. For broad searches, it gives you the option to refine by a context, as you can see here.

But best of all, it has its own syntax that lets you search other sites via DuckDuckGo. For instance, !w and your search term will trigger a Wikipedia search on your search term. Using Chrome, I have my default search set to DuckDuckGo. When I want to run a Wikipedia search, I just use Ctrl-L to hit the URL bar, type !w and my search and the Wikipedia page (or results page) for that search comes up. The syntax is comprehensive, but I mostly just use the Amazon, Wikipedia, images, and Google variations.

That’s right. There are even commands to trigger Google searches, which is nice, because for certain searches, Google is a better option. Mostly, it seems Google is stronger with hyper current events. And sometimes I do want a Google News or Image or Scholar search, so it’s nice being able to run those with a simple command in the address bar.

One of the reasons I probably find DuckDuckGo so appealing is that I’m a librarian and I’ve spent some time with very specific search tools.

When I was in library school, everyone had to learn DIALOG, a search environment that took place in a terminal session. There were tons of files of information and each file had its own commands. You used a web guide to look up a search file (the web-based guide was DIALOG’s only concession to a modern UI) and the commands available to you within that file (as well as what that file searched and how much searching cost — the student accounts were free, but instructors wanted us to recognize some searches could cost thousands of dollars).

Obviously, something like DIALOG was complex to use, with a killer learning curve, but once you got rolling, the precision in your searching was incredible. Skilled searchers could find the one thing they needed in just a few commands.

But with the rise of Google, the search pendulum swung away from user searching expertise and over to allowing an algorithm to filter and refine searches for the user. Even among professionals and their products.

DuckDuckGo reminds me of DIALOG, though, in that it’s not only a search engine, but it’s also a tool that you can use to interface with other search tools. It reminds me of the DIALOG command line. A much simpler, more humane version of it.

Google makes a lot of assumptions about what we’re trying to do when we execute a search. To Google’s credit, they’re usually correct, but it can very frustrating when a search tool is making an incorrect assumption.

DuckDuckGo makes very few assumptions and it gives the user plenty of resources to get as specific as they want. DuckDuckGo recognizes that sometimes users just want an answer and sometimes they want a very specific kind of answer. And DuckDuckGo gives its users plenty of tools to get that answer as easily as possible.

DuckDuckGo is a great search engine. Just use it as a conventional search engine, and it’ll probably do most of what you need it for. But if you explore its syntax and become comfortable using it (and it’s really pretty simple to get the hang of), you’ll find yourself pulling information from a variety of sources without having to leave the comfort of your search or address bar.

Linux people tend to want the option of control. We want to be able to control how our computers look and act, and even if we don’t take advantage of every option, we want the option to take advantage of every option.

Why shouldn’t that same control extend to our searches?

Finally, I didn’t really touch on the danger of overly aggressive algorithms and filtering here, but this TED Talk by Eli Pariser does a great job of pointing out the dangers of users allowing an algorithm to control what they see.

DuckDuckGo, of course, has its own algorithm, with its own filters and biases, but DuckDuckGo also makes it very simple to run the same exact search across a different search engine. And that’s a crucial difference between it and a tool like Google.