enter image description here

I'm building a search feature that allows users to find people based on providing a combination of their full name and SSN. The part of the business requirements that I am struggling with is this:

  • If no name is provided, the entire SSN is required.
  • When the LAST NAME is provided, you can enter the full SSN or only the last 4 digits - either way the SSN becomes optional.
  • Providing any other combination that isn't the full SSN or last four digits of the SSN is considered an invalid entry.

How can I present this logic in an intuitive way? I'd like to display this logic visually through the use of a clever layout, making it so that the user would follow these rules automatically. I do not want to rely on including text that the user will likely not read.

My thoughts are this: Maybe present the form as two options: name or SSN search. When a Last Name is entered, grey out the first two fields for an SSN. When an SSN is entered, grey out the Name fields.

Default: enter image description here

Last Named Entered: enter image description here

SSN Entered: enter image description here

However, I'm still curious as to what could be the most elegant solution. Is there somewhere that this fails? Is it unintuitive?


4 Answers 4


I think you're trying too hard to preserve one copy of each field.

You could try this, assuming the most likely case is that the user knows the full SSN (I'm skeptical that three separate fields is the right way to input SSN, as opposed to a single field with an input mask, but use your experience with the users here):


download bmml source – Wireframes created with Balsamiq Mockups


Personally I believe that form design improves the process if the process itself is sound, so it is really difficult to 'uncomplicate' something through design of the interactions alone.

But a way to think about the problem is to make the process simpler (if not more intuitive) so that at least the user can work their way through it.

What you would need to do is work out the most common way people provide the information (i.e. what is mostly easily available, easy to remember and most useful in terms of getting the search result that they want).

In my mind everyone should know the full name (unless they are searching on behalf of someone else), while I don't know understand the logic between a full and partial SSN (i.e. why you wouldn't remember the full number). Lastly, a combination is the most cumbersome in terms of amount of data input and logic.

So I would have a "Search by full SSN" input field, which is the easiest and most straightforward option as there is no ambiguity.

Then you can have a "Search by last name and 4 digit SSN" input field and if the user doesn't enter all the details then it is an invalid search request.

  • 2
    Sometimes it's easy to forget that business logic can be questioned (at least where I work). My tendency to comply overrides my tendency to search for the best solution at times. The people using the app would actually only know a full name, or their SSN, or just the last 4 and last name (depending on their role - which we won't know ahead of time).Your answer makes me think a good solution would be a tabbed form with three options: "Name", "SSN", and "Combination"
    – invot
    Feb 22, 2018 at 15:17
  • 1
    @invot I think it is great that you are iterating and honing in towards the optimal solution. As much as it is good getting opinions and suggestions from UX designers, what you really want to know is whether the users also find it easy to use as well. Early and frequent testing is the best insurance against delivering something that has poor user experience :)
    – Michael Lai
    Feb 23, 2018 at 3:48
  • preach! We haven't released anything yet, so not a single User has clicked on what we've developed. Sadly, business didn't see the value in interviewing the Users up-front (which makes me want to die a little on the inside) so this is my first attempt to appease the crowd. We will be getting feedback after that. This makes me curious: Should I A/B test? Should I strap spycams to their heads? What's the best course of action when there's been no user input up-front? (this sounds like a new question to create)
    – invot
    Feb 23, 2018 at 15:41
  • 1
    @invot There's nothing wrong with doing a 'quick & dirty' guerrilla/informal testing with people in the office (who might also use something like this) or just out on the street with random people. All you are trying to do is to eliminate some obvious usability issues with this approach and then you can go about refining the solution. A/B testing is a good way to uncover some of the factors or details in your detail but it needs to be a small variation rather than two completely different design concepts otherwise you include too many other complicating factors.
    – Michael Lai
    Feb 24, 2018 at 1:57

What about the following:

When the user opens the form, they see something like this:


download bmml source – Wireframes created with Balsamiq Mockups

If the user starts typing the name, the red text changes to the following:


download bmml source

If the user starts with entering SSN, I assume that last name must be left empty, the following appears (note a balloon explaining that SSN entry is invalid):


download bmml source

Bottom line - you parse the user's input on the fly and the form state changes dynamically to reflect whether the entry is valid. Furthermore, on invalid entry the search button is disabled, on valid entry it is enabled.

It is much more intuitive for the user to immediately see the effects of their action instead e.g. when they enter the data, press "search" hoping for the best and experience "You have entered invalid data" dialog to their disappointment.

  • I updated my answer to provide an example of what I tried already. I think it provides some clarity as to which fields will exist.
    – invot
    Feb 22, 2018 at 15:52

I'm not sure if it is an option, but if you split the workflow before providing the input dialog that would also simplify the process. In this way you don't have to cover both use cases in one user interface, but have behavior tailored specifically for each.

For instance, if the search is launched from a menu item, you can have a Search Applicant by SSN and Search Applicant by Surname and 4 digit SSN menu items instead of just one Search Applicant menu item.

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.