Resurrecting The Advanced Search: A Boolean Visualisation Tool
Whilst wandering through the once vibrant and bustling ghost town of DAM innovation, I recently came across an interesting little nugget caught amongst the tumbleweeds. Strangely familiar, yet subtly different from its common predecessors, 2dSearch is a project that’s aiming to resurrect the mother of unused features – the advanced search.
We’ve all seen it, diffidently sitting in a smaller font size next to the main query field in our search engines, directories, auction sites and stores, but much like the ubiquitous yet equally bereft ‘Help’ button, we appear to harbour an inherent reluctance to use it. Historically, advanced searching has been around for a long time, and usually manifests itself as an overwhelming array of additional checkboxes, radio buttons and input fields; sure, it works with a bit of teasing and prompting, but it’s never really endeared itself to the average user attempting to narrow down their search results.
Underpinning the majority of advanced searches is the concept of the Boolean search: by using a simple set of operators such as AND, OR and NOT, users can combine, include or exclude any number of keywords and phrases in order to refine the results that are returned. The use of nesting via parentheses, and additional syntax such as asterisks (or wildcards) and double quotes can further hone the expression to provide very accurate results indeed (here’s a list of Google’s operators). Among its many practitioners, one of the largest is the recruitment sector, which relies on it to perform complex searches for both job openings and potential candidates.
However, problems with ambiguous expressions and readability arise when many keywords and operators are combined. Increased flexibility often means increased complexity, and much like deciphering the confusing form fields in a traditional advanced search interface, constructing precise Boolean searches can quickly become a tedious and cumbersome task. Enter 2dSearch:
“2dSearch is a radical alternative to traditional keyword search. Instead of a one-dimensional search box, concepts are expressed as objects on a two-dimensional canvas. Relationships are expressed using drag and drop. By combining this approach with automated keyword suggestions we offer a radically new solution for the development of accurate and effective search strategies. So you spend less time worrying about Boolean strings, and more time finding what you need.” [Read More]
At a glance, 2dSearch appears to be the product of a government-funded research team comprising both technical and academic specialists whose “expertise combines techniques from the worlds of data visualization, artificial intelligence and machine learning to develop novel solutions for search and information retrieval”.
In their article ‘This is what’s possible when you rethink advanced search’, 2dSearch begin by outlining the inherent shortcomings with complex Boolean searches (which they cover in more depth in a previous article ‘This is why Boolean strings don’t work’):
- The structure is difficult to perceive: to understand it we have to parse the sequence of tokens and re-create the dependency structure in our heads;
- It scales poorly as further content or keywords are added;
- It is highly error prone, as misplaced or missing brackets can be extremely hard to trace. Worse still, such errors may appear innocuous but fundamentally change the semantics.
“prior art” AND “visualising Boolean searches”
Being a foundational aspect of database technology, it’s certainly not the first time someone’s attempted to visualise Boolean searches, and you’ll find some kind of Boolean brute wearing a flimsy mask in most modern software that contains searchable assets (including DAM). Most attempts at this visualisation, although informative, often consist of Venn Diagram type graphic representations with little or no user interaction.
Other efforts to put lipstick on this particular pig, including those found buried deep within iTunes, Salesforce and SolarWinds software, tend to inherit their developer’s introversion and often lack an intuitive, easy-to-use interface. Although not technically radical, 2dSearch’s approach to reinventing the wheel certainly shows stamina in its pursuit of harmonious and flexible interaction between the yin of the Boolean beast and the yang of a simple and effective interface.
After signing up for an account and logging in (registration is currently free, although the glossy front page and pending patents hint towards a future commercial interest), I was immediately launched into the online application, whereby a pop-up dialogue gave me a quick tour of the basics.
The main 2dSearch interface (click to view a larger version)
Being used to canvas type IDEs, my first impression was one of pleasant familiarity. The app is well laid out and feels more like a workbench type of environment similar to that found in schema modelling and circuit diagram design tools. The main panel is made up of arbitrary ‘groups’ of Boolean expressions that can be dragged, dropped, added, edited, disabled, deleted and combined to build up the final search string.
In addition to conventional menus and navigational elements, you can right click to access contextual menus and use the keyboard to perform common tasks such as adding and deleting terms and individual groups. Double clicking allows new elements to be added and renamed. To see how well your Boolean string works, an embedded iframe instance of a search engine page is included in the results panel, which also contains a warnings panel for debugging and a raw output of the Boolean string that can be copied and pasted. At the moment, only Bing is supported with Google and PubMed links greyed out, but they state that they “will be rolling out other database integrations, and 2dSearch can be customised to search proprietary databases.”
Options to load, save, import, export and permalink strategies work as expected and are welcome features, whilst 2dSearch’s ability to spit out JSON facilitates almost limitless integration with third party or custom applications.