Designing an access management module. Sometimes there will be a delay in the list of existing users loading. During this time the add user button will be active. in this case users will be able to navigate to the add user form

My question is, should it be active at this state, or should it be disabled or hidden?

enter image description here

Edit: In terms of how long this screen should last, it might range from 1 second to 1min depending on factors like connectivity that's out of our control

  • How much of a delay? Feb 9, 2023 at 8:26
  • 2
    What's the likelihood someone will try to add a user that's already added but not loaded yet? Feb 9, 2023 at 8:28
  • I believe it should. Users come to a screen with a purpose. Making them wait for something entirely else is just nonsense. The form probably already has some logic to avoid duplicates, right? What’s weird is that the table itself, including headers, seems disabled. Why is that so? The add user is not only the primary button, which seems off, but due to the reduced contrast of the table headers, it seems like the one option you should choose.
    – Andy
    Feb 9, 2023 at 8:38

5 Answers 5


I assume the full functionality to Add User does work while the rest of the content is being loaded in? If so, I see no benefit in preventing the user from completing an action they are there to do, just because something else isn't available yet.

Adding a new user is one task. Looking at the list of existing users is another. Unless there's a specific reason they need to see the list of users before they can add a new one, then don't put up barriers. If they do want to see the existing list first then that's still an option for them, but if they just want to get on with the task of adding a new one then let them.

If you go into a store to buy a chocolate-bar that's there on the shelf, the shop assistant isn't going to stop you buying it just because they're still putting different chocolate bars on the shelf nearby. You don't care about those other bars; you want the one that's right there.


Ideally, you don't need to show content-related actions before the content is available. This means that you can only show actions if your users need them (very needed).

  • But my suggestion is more focused on the developer side in this case. If you don't have a long list but the preloading time is still slow, you need to contact your dev team and fix this issue from their side.

  • Even if the list is long, you can propose uploading data in small packages, for example, separate by pages.

  • Please keep answers focused on the UX side of things. Can you expand on your first sentence here "ideally you don't need to show content-related actions before the content is available"?
    – JonW
    Feb 10, 2023 at 9:46
  • We consider only one case - adding a new user is a separate action that does not depend on anything. In that case, yes. Just add a button and that's it. But if we consider that all the data and actions on the screen are a single whole. And everything interacts with each other. Then I wouldn't separate them. For example case: If I don't know which users already exist, how can I add a new one. I may add the same user twice or make a mistake.
    – AndriiD
    Feb 12, 2023 at 8:19

A loading state should not be the same thing as an empty state, nor an error state. The problem here is that your user is being told that there are no users, which is possibly incorrect. It's fine to allow the user to add new records, as long as they are given the information that they haven't seen all of the existing records yet. If they're told that there are no users, they might start to add duplicate existing records.


Maybe some context is needed around the user, and where they are in the process? If it is time-sensitive and they need to add the information right away before they forget then I would say yes.

How many users are there on the list? Because if its not long, then maybe it should be disabled so they can see if that user is already added (so it will remove reliance on the duplicate user error and potentially a few extra steps to undo their action, because at what point in the form is the system going to detect duplication? The user effort will be wasted)

  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Feb 9, 2023 at 19:50
  1. If they are 2 different functionalities keep them seperate. Its not necessary to load all user data on a page intended to create new user.
  2. If some creator MAY refer to the loaded data before creating new user then too allow creating new user while data is loading.
  3. Depending on what number of the creators will refer the table and the amount of data the table contains (1 min is a lot of data), I would shift the loading of the table to a user action (Click to load data, possibly alongwith filters to select data)

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.