Okay, I am not going to go into too much detail about what the system is actually for as I don't think this is entirely relevant. Basically this is a product database with entities called 'groups' used to group together similar products. I am designing a system where users define 'group rules' to run various tests against the groups, e.g. to find products that don't belong in them, etc.

They will need at least three discrete screens:

  1. A screen to create/ edit rules;
  2. A screen to view/ modify the assignment of rules to groups;
  3. A screen to view the results of running rules against groups (i.e. exception reporting).

But I am having great difficuly designing these screens and keeping this functionality split up this way.

For example, say I am designing the screen to edit/ create rules. The natural thing that a user will want to do when they have created a new rule is to assign it to a number of groups and run it. So I add functionality to let them do this and, before I know it, I have ALL the functionality on the first screen. Each attempt I have made so far to design an interface has ended up with three screens that are practically identical.

I tried to implement an 'anchor system' where the user is anchored to one of those three tasks but pulls the context (i.e. whichever rule they have open) with them from screen to screen. This looked horrid and wasn't intuitive to use.

I thought about having a single interface but there is literally far too much to squeeze on.

I have considered having pop-up 'helpers' for some of the functionality, so you are in the Rule Designer and you want to run the rule you are working on, you click a button and a new screen pops up where you can do this and then go back to the rule you were working on. The problem here is that the user runs the rule and then wants to export the results to Excel, or modify the group assignment then come back and run the rule again, etc.

There seems to be a fundamental issue here about where the user starts. I only have space assigned to me for a single launch button so I can't have a button for each task. I did consider having a 'launch screen', i.e. a 'what do you want to do today?' screen but this seems clunky.

I thought about having the launch button take the user to a screen where they search for the group rule they want to work on but even this isn't simple. Finding rules in itself is complicated as there are many possible ways to filter the results (e.g. only find rules that have been applied to particular groups, only find rules containing some free-text in their name/ description, only find rules that have a rule about 'glass bottles', etc.). Assuming I can get the rule searching sorted I would then let the user pick what they wanted to do with it (edit it, run it, assign it to groups, etc.) with each option launching a new screen.

But the user might not even care about rules, there are many different requirements here and they seem to all be conflicting. I am going to end by listing some 'typical' routes through the process to try and give some flavour:

  • some users will just care about groups, they will want to see all the rules that have been assigned to a particular group and then run them for JUST that group to see if any errors are generated;

  • other users will want to see summary statistics, e.g. how many errors in total are being generated (in a number of ways) and what is the trend (up or down);

  • some users will only be editing/ creating rules and assigning them to groups. They will run their rules to test that they work and won't be especially interested in the output. They will need to be able to search the existing rules to avoid creating two rules that do the same thing;

  • some users will want to run rules in a variety of ways, e.g. all the rules for a particular set of groups, all rules that check for 'glass bottles', etc. and will want to take the output into Excel for further analysis.

Any clever ideas on how to design an interface like this?

Sorry this is so vague, I can add more detail as required...

  • 2
    The most helpful thing you could tell us is why the user wants to do any of this, otherwise we might come up with a technically impeccable answer that is ultimately not very useful in practice.
    – user39394
    Commented Dec 30, 2013 at 6:13
  • "I am not going to go into too much detail about what the system is actually for as I don't think this is entirely relevant." = it usually is entirely relevant. :)
    – DA01
    Commented Jan 29, 2014 at 6:52
  • "They will need three discrete screens" - why? Who decided that these three are separate tasks. After the user has created a group, does he think, "Now I am finished here, I can forget about the database and go get a cup of coffee and then look at what else I have to get done today"? If no, then these are not separate tasks and you shouldn't separate them into different screens. Tasks have nothing to do with the way your data is structured in the database; if they are manipulating data from different tables, this doesn't make it separate tasks.
    – Rumi P.
    Commented Jan 29, 2014 at 13:42

1 Answer 1


To get inspiration on how to implement a rules system functionality (I guess that's what you're trying to do), turn your browser to Visual Rules Modeler:

enter image description here

The user experience on the software have a lot of improvement potential, but the functionality is very similar to what you're trying to accomplish.

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.