I’m a longtime (20+ years) UI/UX designer and full stack developer, but I’m running into a wall with the UI for a specific field, concerning a delicate question that can be approached and handled in several ways in an app that I’m building.
The app in question is a dating app, and the question in question basically needs to ascertain a user’s preference for the HIV status of other users in search results. Users declare their own HIV status in the app in onboarding and in editing their own profile, with the options “positive”, “negative”, and “prefer not to say”, exactly one of which is required.
The problem I am running into stems from the fact that users can choose “prefer not to say”, and a large percentage of users are expected to choose this option—as a result, the related search preferences field cannot simply be a choice between one of “positive”, “negative”, and “any”, because this set of choices excludes important use-cases. The major use cases (in other words, the end-results users need out of their search results) that I can identify are:
- Exclude only positive users from search results (user is negative and doesn’t want to see any definitely positive users in search results)
- Exclude only negative users from search results (user is positive and doesn’t want to see any definitely negative users in search results)
- Include only positive users from search results (user is positive and wants to see only other definitely positive users in search results)
- Include only negative users from search results (user is negative and wants to see only other definitely negative users in search results)
- Include all users in search results (user is either positive or negative and has no preference for other users’ HIV statuses in their search results)
As you can see, there are five major use cases stemming from a field that has only three options when users themselves fill it out. All use cases are important, because users need to be able to either include or exclude the “prefer not to say” users in addition to having a preference for either “positive” or “negative”.
Besides the enumeration of options itself, the additional UI/UX pitfalls I see here are twofold:
- It shouldn’t make things complicated. I could simply have a drop-down menu where users choose one of the five choices/use cases above, but I believe that this would confuse users, because 4/5 options would be so similarly-worded, with repetitive language and important ramifications. It needs to be as simple as possible.
- I don’t want this field to take over or draw undue attention to the UX in this part of the app. Yes, this is an important consideration, especially for the app and market the app is designed for, but the truth is the topic is a downer, and if it dominates the search preferences (especially if it makes them think too hard about the difference in options), or it could potentially to turn off users. It shouldn’t be two separate questions, for this reason, and it shouldn’t take up more space than other search preferences. For reference, the other search preferences are:
- Location (autocomplete drop-down with optional user device geolocation)
- Age preferences (minimum and maximum ages—single slider w/ two handles)
- What I’m looking for (type of relationship sought—modal with multiple choices as checkboxes)
- Relationship status (acceptable current relationship statuses of other users—modal with multiple choices as checkboxes)
Dating apps are supposed to be fun, and this one is no exception—we want users to focus in having a good time, we want the UX to be aspirational and light-hearted, while still accommodating important considerations.
So for all these reasons, I’m now here looking to see if anyone has a fresh take on this tricky problem and could offer a suggestion that meets the criteria listed above.
On the back end, all of the search preferences listed above, along with the HIV status preference this thread concerns, are used as filters in elastic search to exclude certain sets of users from search results, and then the pool of remaining users is scored according to some other fields (which cover interests, lifestyle, red flags, etc), which sorts that pool of users, and then those results are paginated and delivered to the user upon request.
Thank you for any suggestions you can provide!