5

I am working on an enterprise application for maintenance software. The task I am designing for currently includes a drop-down selection form field for the user to select an asset or vehicle that they want to attach to the work order they are working on.

The issue is in any given facility, there could be upwards of thousands of assets, which would bring back a lot of results to the user. I am having trouble figuring out a solution for this as I would prefer to also give the users the ability to have instant auto complete results and less loading time.

I want to it be fast to give the users the best experience. What is the best way to give a user thousands of results within a form field and is there any solutions for the server-side developers to look into?

Can I have a drop down and use some sort of infinite scroll as well as have an auto complete functionality? This would give the users the ability to type quickly if they know their asset number. Any advice or examples would be appreciated.

2
  • 1
    Is there only one criteria that they can use to find this asset? Can you not categorise the assets into sensible groups and allow them to filter down by group or something? Because if they have one single field to have to find everything then that's basically... well... Google.com.
    – JonW
    Commented Dec 21, 2016 at 15:05
  • Yes, there are other categories. Such as the type (truck, trailer, bus, etc) and make model and year to get more specific. The first priority is to search by the asset number. Do you have any solutions for simple filtering and advanced searching within the context of the field and page they are on?
    – Michelle
    Commented Dec 21, 2016 at 16:37

3 Answers 3

1

I think your need is very similar to a big online store and their search engine. Take a look at amazon's search bar: enter image description here.

Amazon has thousands (millions?) of searchable products but there is a filter prefixed to the search bar that gives users more control. In your case, this could be truck, trailer, bus etc.

Then, why can't the autocomplete search results show the 10 most relevant search results? The more text a user provides the more precise the search results are. Just like Amazon, if autocomplete does not display what I am looking for I can hit enter (or click the magnifying glass icon) to see a full list of results.

0

I've had to build something similar in a previous role, here's what worked for me:

Information architecture

Start by organising the data you're searching with appropriate categorisation, tagging and other methods. Where to start though? I've found what works best is to start with your desired experience and slowly work back from there, stepping through it with your user goals in mind and iterating as you solve usability problems, documenting as you go.

For me, this showed what categorisation was needed to make a usable search of that particular data set it also gave you an mvp for the search. So you may start with a bunch of data that is not categorised in any meaningful way, or perhaps it is categorised but in a way that's meaningful to a database eningeer, or to the business but not your users.

To make something easily searchable you first need to break it down in digestible chunks - in your users scenario what information would assist them in finding what they are looking for? Run through as many user goals and scenarios as possible, use your findings to decide how the IA could be improved to assist users in their searches, this might look like:

  • A new set of categories and sub categories more suited to this user journey (use parent/child relationships in categories where appropriate)
  • A set of content types, to break down the types of data available
  • A set of tags, that span across categories carrying common themes

Search & UI

Now that your data is organised in a meaningful way this part should be much simpler, allow usable and easy filters of these areas (Content types, categories, tags, etc) and other defining meta data such as date, user, anything else that is relevant

It's important to represent the important information as usable filters but also on each search result item, without over crowding - the user should be able to glance at a search result and quickly know where it sits and if they are on the right track, remember users will often iterate on their search terms if they feel they're not getting useful results.

Getting a little more technical now, but the result ordering and keyword highlighting is important to note here, you want results returned in order of relevance based on the users search input your users are likely looking for one or a few search items in a database of thousands of items, it's your job to make that a painless experience

Don't forget that user goals and business goals will vary, but the principle of defining your user and business goals and iterating through the end to end user journey with those in mind will help you produce something that works in your scenario.

0

Set a minimum number of characters

In your case, it seems that the users already have a good idea of what they need, they are not looking for suggestion. Your problem seems more about how to provide the appropriate feedback than providing an efficient navigation. Setting a minimum number of characters (test first with two) will highly reduce the amount of possible results.

Limit to 12 results

Making a choice from more than 12 options is a hard cognitive task. Just limit the result to keep the drop-down easy. If the result is not in the list, it will be natural to add another character.

Consider fuzzy matching

Having a lot of similar entries that only differ by a suffix will give a hard time to your users using this autocomplete. You may want to investigate in a fuzzy matching algorithm.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.