Google rules the search engine roost today, but upstarts always have their sights (and their sites) set on a share of its success. Seeks, for instance, introduces a new breed of social search engine in which users can collaborate and share their experiences in finding results, instead of keeping that information in the hands of a search engine provider.
How will it work? Roughly, Seeks will automatically group users who perform similar queries on traditional search engines into “search groups” with underlying common interests. Within search groups, Seeks enables collaborative filtering and community ranking of the search results, and direct publishing and recommendation of URIs. Direct publishing to search groups bypasses the traditional search engines’ need for crawlers, allowing information to be directly proposed to search group users. “We believe this is a fair and transparent new model for collaborative web search, as opposed to the black boxes of traditional search engines,” says the project’s lead developer, Emmanuel Benazera.
Seeks also emphasizes privacy and security. In its distributed P2P system, personal information always remains on each user’s machine unless explicitly revealed by the user. All shared queries on the Seeks network are encrypted based on a mathematical framework called locality-sensitive hashing, and remain so even when users are regrouped.
At least that’s the plan. In the current versions of Seeks the collaborative search feature is not yet activated. As of today users get a deployable, customizable open source meta-search engines that aggregates results from several traditional search engines. It’s what Benazera calls “the consensus of machines,” to which the project plans to add “the consensus of users” via a P2P overlay network with similarity analysis for the automatic building of search groups. “We expect to release the first usable version of this branch in a few months,” he says.
Seeks can be installed locally on individuals’ machines, or set up on search nodes for remote use by casual users. The project provides a list of public nodes that are administered by volunteers.
Benazera says the impetus to develop Seeks comes from a frustration with the current state of web search. “Typically, the Web in particular and information flows in general are moving toward a more social and crowd-controlled model, through social networks and other tools. Web search is left behind, with millions (if not billions) of users performing the same millions of queries every day around the globe, with no interaction at all. The business model of traditional search engines is ill-suited to social or collaborative search. If users were allowed to share their queries and form search groups, advertisers could contact them without going through the query retention platforms that traditional search engines are today. For this reason, existing engines will never let users collaborate on search results.”
Seeks has a long and bumpy history. Benazera says the project began around 2005, but got put on hold when the founders thought the then-new Wikia project would do a similar job. It didn’t, so Benazera ramped up development again in September 2009, and released the first version of Seeks in January of this year.
Seeks is written mostly in C++, with some portions in C, in order to produce efficient software, Benazera says. “Search engines need to be fast, so any extra latency induced by the language is not acceptable. Most development is very low-level, so we use the main OSS dev tools, such as autotools, gcc, and make.”
Because sharing is such a basic part of Seeks’ philosophy, the project has been open source software from day one. Benazera says, “Since social web search breaks the business model of traditional engines, it is our belief that the OSS community offers more alternatives, such as funding through services, etc. We are committed to build a fair, transparent engine, moving away from the search engine black boxes available today. OSS naturally offers this, through open code (i.e. rating equations are in the clear, etc.). And the OSS community supports a set of legal licenses that are suited to the information age. Typically Seeks is released under Affero GPLv3 in order to enforce the legal use of OSS in networked applications.”
If the project sounds intriguing, you can get involved. Benazera says the project needs help with core C++/C development of the distributed hashtable layer for the P2P net, with web development for the in-browser user interface, with development of plugins to enhance the search experience (adding searches on images, maps, tweets, code, and other items), and with P2P exchanges such as online chat and search result snippet tagging.