I'm tasked with creating an interface for a user to create a "Rule Editor" that can perform specific actions when certain conditions have been met. An "If This Then That" kind of thing. The client instantly gave the Mac mail rules interface as a desired example

Rule interface for Mac mail client

The mail rule interface could work for the client, but it will probably be to "simple" for the use cases of the client who require a lot more comboboxes on a single line due to the complex conditions/actions the user is able to configure.


I was looking for some alternative design patters, but i instantly noticed that this kind of user function doesn't really have a set name. Some products call a similar function "rule editor", but i've also seen "query editor", "Logic editor" or "Business rules". Also, there are a lot of variations for a similar purpose.

Few examples: enter image description here enter image description here enter image description here

  • 4
    Possible duplicate of Intuitive interface for Composing Boolean Logic? – Midas Apr 1 '16 at 10:18
  • this is conditional logic, not just boolean logic. Whilst there might be some cross overs, I think determining more about the situation here may well reveal a more interesting and profound question. – Confused Apr 1 '16 at 17:14
  • @DennisW, try searching for 'conditional logic' in google images for some further inspiration, and providing more insight into the complexity of your specific problem. – Confused Apr 1 '16 at 17:17
  • I'm working on something similar. At the moment, my solution is to provide two options. 1 The simple version is like Mac Mail, iTunes, Gmail, etc., a guided rule builder. 2 The complex version is like an equation builder or database query field with auto-suggest built in and the ability to nest logic. – plainclothes Apr 1 '16 at 17:44
  • I posted an earlier implementation of the complex logic editor here a while back. ux.stackexchange.com/a/83402/21857 – plainclothes Apr 1 '16 at 17:53

An idea: With so many potential variables, a nice feature might be to provide "templates" for the most commonly needed rules so a user doesn't always have to start from scratch. How much of the work can you do for them ahead of time? The user could modify, duplicate these preexisting samples to more easily customize a rule to do just what they wanted. Perhaps those customized rules created by your users could also be shared with other users.

Also a split screen design would be really cool with the rule set on the left and the results on the right so that the user could evaluate if they are getting the kind of end results they want and make adjustments dynamically before saving or executing the rule.


The direct answer to this question is No!

This is an inexact area wherein nobody has come up with the ideal solution, otherwise everyone would have been empowered to do programming a long time ago.

The sagas, difficulties and notoriety of setting a VCR to record a given TV show in that era show how far back this problem goes. Somewhat.

Hypercard made a decent hash of this with a simplistic scripting language, and things haven't gotten much better since then.

Your client knows and has suggested (strongly) that he likes the way Apple Mail does this. That makes this approach the right answer because there are no other ways quantifiably better. And he is able to understand this approach, which means he can (likely) successfully educate the users of his app within this approach. That, alone, is going to be the most crucial aspect, because it seems nobody has come up with a more discoverable and intuitive way to solve this problem.

You could try. But given the client's strong suggestion, I think you'd be wasting your time.

  • Like I stated, the Mac Mail gui could work, it's a simple interface with a clear goal of automatizing a certain action when a certain condition occurred. But it seems mainly for small tasks. Receive mail -> put in folder -> give it a color. The product of my client has already 50 different type of actions defined, each with several parameters that need to be configured to function correctly. I'm just foreseeing that if I deliver the Mac Mail kind of interface, the users of the end product will get frustrated with the amount of clicking and configuring that needs to be done. – DennisW Apr 5 '16 at 12:51
  • that clicking is an order of magnitude easier than anything else that's been "invented" since. – Confused Apr 5 '16 at 13:40
  • or anything invented before, too. – Confused Apr 5 '16 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.