I have a specification which explicitly mentions 4 (sic!) interrelated modal windows for a fairly simple use case. This seems to be a result of the old-school way of thinking, i.e. "let's define the requirements as how exactly things should work" instead of "let's define the problem definition in broader terms". In other words, classical "HOW" vs "WHAT" problem.

Here are the requirements and my thoughts. Please review, provide feedback, make own recommendations.

Original Requirements

  • Create New Batch – Opens a pop up box that allows users to, key in Batch ID and Batch Description, select pay period end date from a drop down ..., and select distribution department from a drop down ...

    Batch ID, Pay Period End Date, and Distribution department are required ..., users can select “Create” or “Cancel”

    1. If user creates a batch with the same ID as another batch in that pay period and distribution department, display the message “This Batch ID already exists for this pay period, please enter a different value”
    2. If user creates the new batch another popup will display asking “Do you want to open the new batch now”. Selecting “Yes” will populate the search parameters with the batch values and open the batch, selecting “No” closes out the popups and allows the user to remain on the same screen
    3. If the user selects “Yes” and there are unsaved transactions, display the prompt “Do you want to save changes before opening this batch?” and have a Yes, No, and Cancel button

enter image description here

Simplify UX

I think, a better UX will have a single modal window instead of multiple.

  1. There will be a modal window for entering the basic batch information. This stays as it is described in "Create New Batch" section.

  2. "This Batch ID already exists" window is removed. There can be a validation error notification next to the "Create" button which is displayed on a failed attempt to create a Batch.

  3. "Do you want to save changes" window is removed. This can be achieved by disabling the mechanisms of Batch creation for as long as there are some changes on the page which we don't want to lose. In other words, I am willing to make the user save their precious input before they try to create a new Batch.

  4. "Do you want to open the new batch now" window is removed. There will be an extra button "Open Created Batch" next to "Create" and "Cancel". The button is only displayed/enabled after a successful batch creation.

So that will reduce the number of modals from 4 to one, and the complex flow will be replaced with a liner (simpler one). That will make things easier for me, because complex systems are hard to build and maintain. I don't want, however, to simplify the system too much, meaning at the cost of the "optimal"/"ideal" UX.


Is my way of thinking the way to go in this situation?

Should I simplify the UX by preventing certain scenarios in the first place instead of reacting to their consequences?

Is it a bad thing that the workflow is less flexible (more linear) in this case?

P.S. I am a full stack developer who does not have a degree in design or strong design/UX principles fundamentals. Therefore, most of my views and decisions are driven by the system simplicity.

P.P.S. I tried to search for similar questions but wasn't too good in it. @Moderators, please let me know if any parts of my question violate the rules and I will update or even remove it.

1 Answer 1


Your idea of removing modals seems like the correct way to go - until step three. Disabling core functionality just because we want to remove a modal seems quite overkill to me and would annoy many users. They're trying to create a new batch after editing some other information but the button is either not there or disabled. How would they know that they need to save their changes to make that button appear again?

I'd suggest you keep the "Create new batch" button available even if there are unsaved changes. Either save them automatically or ask the user if they want to do that before creating a new one. I'd even open the new batch for them by default. If there's something that users usually want to do to the batch after creating it, they'll likely want to do that right away.

Of course the above advice may not make sense if the system's workflow and architecture is different from what I'm guessing. You might want to whip up a couple of UI mock-ups and do some user research to find out what they are expecting to happen when they interact with your system.

  • "How would they know that they need to save their changes to make that button appear again?" A tooltip would do, I guess. "save them automatically" we're dealing with money here, magic save actions are not a way to go IMO. We could have a prompt at this point though -- agree. The problem with the mockups is huge -- unfortunately we don't have access to the end-users and our process is super waterfall-ish so to speak. We're strugling to change the org mentality towards Agile... Commented Apr 27, 2017 at 20:46

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.