A tailor-made Search tool enables you to find information from a range of sources
Max Chan, Full Stack Developer, compares a tailor-made Search with off-the-shelf search tools.
What’s the difference between a tailor-made or off-the-shelf Search tool?
Most of us are used to internet search tools that suggest options as we type.
While it seems a search tool is reading our minds, it’s been programmed to make decisions about what information it will search and what it will show us.
When private or state-owned organisations want to find and display information, it makes sense that they want a search tool that offers suggestions the way large search engines do. These organisations can choose either an off-the-shelf Software-as-a-Service (SaaS) style search tool, or they can go with one that’s tailored to their solution space.
The decision to choose one method over another comes down to the kind of data that’s being searched.
Off-the-shelf tools work well for relatively ‘clean’ – current, consistent and correct – data that can be easily matched and compared because it maps neatly into the software’s available fields.
When datasets come from many different sources they can be hard to combine and search. A tailored search tool uses human intervention to combine different types of data by adding tags or fields, editing inconsistencies or converting data attributes before storing searchable data. It also focuses on how users are likely to use the search, to devise querying rules that give them the fastest available information.
Rather than being a more expensive option, tailored search tools can often be cheaper and more efficient, because they are cost-effective to develop and are lightweight and fast to use, even by people with old digital technology. They’re flexible enough to be modified as you collect more information about how people are searching, and they’re adaptable to future changes.
Custom search tools can be secure and anonymous, while giving users the option to create accounts and personalise their searches.
We created a custom search for VicTraffic to display information about roads on online maps
We recently created a custom search for the Victorian Department of Transport and Planning’s VicTraffic progressive web application (PWA) that gives road-users real-time notifications about any road disruptions or closures.
VicTraffic needed to give users a reliable, simple-to-use search that prioritised the important information they needed to plan their road journeys, while keeping performance as fast as possible.
We couldn’t use an out-of-the-box search solution for VicTraffic as the location data for Victoria, NSW and South Australia comes from a range of systems including local councils, forestry companies or other private landowners, parks, state and federal government agencies. These data are all different. Some focus in detail on local areas, with pinpoint accuracy about the location of landmarks and roads, whereas some are very general and cover hundreds of kilometres. Some datasets are kept on spreadsheets, in old software or in various land information systems. Some datasets are static – others are constantly updated. The information itself can be recorded differently or even incorrectly, with place names spelled differently or sometimes recorded with historic names and other times with new names. In short, all these different kinds of datasets wouldn’t fit neatly into an out-of-the box search solution.
The criteria for the new search tool included:
translate the user’s location plus what they’re currently typing into a list of relevant location results the way major search engines do
create a search solution that’s cost-effective to develop, fast to use – even by people using old digital technology – and adaptable to future changes
prioritise security and privacy
not storing any information about the person searching
allowing users to personalise their search and request push notifications by logging in and setting an area on a watchlist to show any road disruptions within a specified radius
How did the VicTraffic custom search work?
To create the custom search, we got into the shoes of the people using the system to anticipate what information they might search for, asking questions like:
Why do people use the app? To look for disruptions in-or-around places they search for.
Why do they need to know about disruptions? Because it would impact their travel ETA, path, or other plans.
What are they likely to be most interested in? We applied rules to prioritise the kinds of information that would be displayed first when a user begins typing in the search box.
We used Human Intelligence (HI!) to understand the data and manually apply fixes, create tags and prioritise the kinds of information presented pre-emptively as a user begins to type in the search box, for example:
Assumptions and fuzzy searches helped tweak the results
The list of suggestions in the image above are based on decisions we made to score or weight the results based on these assumptions:
Probably looking for a city or town
Or looking for a suburb or region
Or looking for an important landmark that is probably:
a tourist landmark like a museum or general tourist attraction
a place of education like a university
a train station, airport, or bus station (or other transport hub)
a bridge or other road-related landmark
Or a street or road name
Or an exact address
Weighting the results enables the system to respond to whatever is typed by suggesting information that’s a close match.
If the user types something specific, such as an address, the system waits until enough information is provided to suggest matches, rather than guessing at every keystroke.
This saves significant amounts of processing power and is invisible to the user.
‘Fuzzy search’ is also known as, ‘Assume that the user might’ve made a typo.’ If the user is typing ‘Melbon’ it’s probably a good idea to give them the results for ‘Melbourne’, too.
If ‘Melbon’ was the name of a tiny regional centre very far away, we’d risk flooding the suggestion box with ‘Melbourne’ and a potential ‘Melbon’ resident may not be able to properly use our app.
Discernment is required when making decisions to tweak fuzzy searches. You want to provide good suggestions rather than irrelevant results.
You can use assumptions to make search results more relevant to users, for example:
population – areas with higher populations
seasonal relevance – for example, ski resorts might be scored lower in summer
User-popularity – hook up your search analytics for this one so you can adjust it as you go along.
A customised search can be a versatile and budget-friendly tool that feels personal for users while enabling you to find data from a range of sources
A tailor-made search can give you a customer-centric tool without hurting your enterprise wallet.
This kind of search can be cheap to run. The way information is ingested, processed and displayed means search suggestions and maps are quick to load. This makes it ideal for all users of a website as it performs equally well on new or old computers and digital devices.
In the case of VicTraffic, the lightweight custom search we created achieved one of the project’s major aims, which was to enable all Victorian road users to rapidly locate everyday and emergency road closures and disruptions, even when they are using old digital devices or are in areas with poor or patchy internet connections.
For businesses who deploy enterprise software, computing time and memory are billed by the second and by the megabyte. The rates aren’t crazy high, but when considering that the search function is just the gateway to the app itself, creating a lightweight custom search ensures you’re not overspending.
A tailor-made search that makes prudent use of weightings, fuzzy searches and assumptions can be invisible to the user while providing cost-effective and powerful context- and requirements-relevant software.