I realise that the word "best" in my title is very subjective, but I couldn't think of a better word. I guess a combination of user friendly, easy to use and robust (ie minimises the chances of mistakes) would be what I mean.

We are developing an application that will handle user accounts. These can be of varying types, most commonly donors, UK charities and overseas charities. We are importing data from a legacy application that did not have an account type, but rather relied on the user filling in (or not filling in) the data relevant to the account.

Predictably, a lot of the data is messy and incomplete. Our import code makes a good stab at guessing the account type, but will inevitably get it wrong. We want the account details window to allow them to change the account type, but given that they will probably only ever change it once (or in most cases, never), we want to avoid them changing it by mistake.

The two options we thought of are...

  1. Have a regular dropdown for the account type, and if they change this, pop up a message box asking them to confirm that they really want to do this.

  2. Making the account type read-only (whether a disabled dropdown or plain text is up for debate), and having a button next to it to unlock it. Clicking that button would change the account type display to a regular dropdown which they could change.

We can see advantages and disadvantages of both approaches...

  1. My understanding is that message boxes are a horrible way to communicate with users. On the other hand, this approach minimises the amount of extra UI needed, and only appears in the uncommon scenario where they change the type.

  2. Not sure how intuitive it is to require them to click a button to unlock the account type dropdown, when we don't have that for any other data on the window. We wouldn't want to make the unlock button too big or prominent, as it's unlikely to be used after the initial migration, so would be best kept as quiet as possible.

Anyone able to comment on these two approaches, or offer a better suggestion (with the caveats of whatever "better" means, as I commented above)?

1 Answer 1


Since this would be an action that the user needs to take only once or very rarely, my approach would be like this (all steps included):

For a single personal account:

  1. Display a sticky banner on top of page that asks the user to confirm the account type. It should be similar to an email confirmation banner, with a text and a link towards confirmation page. The reason for this is that account management is one of the most crucial aspects of an app. If the user is not aware of having the wrong account type, it might cause confusing problems down the road.

  2. On the account confirmation page, show cards with big icons/illustrations for each account type and a short description/explanation for each of them. Let the user select a card and then press a separate confirm button. Then return them to the app and show a success notification.

  3. In profile page, if the account is unconfirmed, display the text as red (or with warning icon) plus the link towards the confirmation page. Once confirmed, display the account type as normal text (not disabled).

  4. Somewhere hidden in your general settings, add the link to confirmation page so that the user can change account type later if it's really needed. Your support team (or Q&A forum) can guide the user to find that hidden setting if they need help.

Of course, this might require more implementation work than your initial ideas, but I think it will offer a better experience for your users.

For an admin with multiple accounts:

  1. After migrating all accounts, force the admin user to confirm or edit each account type. The confirmation page/modal can be a table displaying accounts with:

    • account name as text
    • account type as dropdown plus a checkmark button next to each account type that can be easily clicked while scrolling the table
  2. After initial confirmation page where the admin user has confirmed all accounts, display the list of accounts with account type as normal text (not disabled).

  3. Add a small settings button in a corner (usually top-right) of your default accounts view that will open the previous confirmation page/modal.

  4. The initial confirmation page/modal should allow easy validation. Afterwards, the confirmation page/modal should have 2 steps/views:

    • 1st view showing all accounts with a dropdown for each account type, plus a "continue" button
    • 2nd view showing a summary with only the updated accounts, plus a "finalize" button

After finalizing the process, return the admin user to your default accounts view.

So basically, instead of having a rarely used dropdown or button for every account in the list (as you mentioned), I think it's better to have a separate page/modal for editing them, with a single button in a corner.

Also, having a search box for filtering accounts can be very useful.

  • Wow, thanks for a great answer. One point I should clarify though. I'm not talking here about people's own personal account. This is a management system where the users would be responsible for managing many accounts. So, there wouldn't be a profile page, nor an account confirmation page, just an account window (within the main UI) for each account. Would that alter any of your suggestions? Thanks again Dec 25, 2023 at 19:49
  • If your user is an admin who has to confirm account type for multiple accounts, then indeed there are a few changes. My initial response was for an individual account. I will edit my answer and add the admin version as well :)
    – Morco
    Dec 25, 2023 at 20:56

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.