0

I'm working on a project that involves allowing the user to create queries in a GUI some of those queries involve dates.

My question is, Have you previously built any date based query solutions, or know of any good date based query solutions on the internet that I could go and research?

It's a very complicated UX issue to try and solve for our users and I would very much love the input of the SO community.

After spending a little over a week on this issue I am finding it rather difficult to come up with a good concept on how a user can apply a logical query to a date.

Example use cases include:

Send a birthday email to customers 3 days before a users Birthday, we have the users DOB stored in our database.

Do an action to contacts that have not opened an email for the last 180 days from today.

http://www.uxfreelance.com/_temp/dotmailer/t4.html (prototype of solution # 2) http://www.uxfreelance.com/_temp/dotmailer/index.html (prototype of solution # 1)

After initial user testing I've found the following:

  • Users understand 'TODAY' as an absolute date (i.e. 16/08/2013) opposed to relative date (i.e. execution date of the query).
  • Users mistake BEFORE and AFTER

3 days before a birthday would translate as a QUERY as '[3] days [AFTER] query run day'

Here is a text version of a solution:

[ Date of Birth | v ] frequency: [ ] every year

  • is [ On | v ] [ DD/MM/YY | v ]
  • is [ Today | v ]
  • is [ Before | v ] [ The Date | v ] [ DD/MM/YY | v ]
  • is [ Before | v ] [ Today by | v ] [ X ] days
  • is [ After | v ] [ The Date | v ] [ DD/MM/YY | v ]
  • is [ After | v ] [ Today by | v ] [ X ] days

[ Date of Birth | v ] frequency: [ X ] every year

  • [ Today | v ]
  • [ Before (Past) Today by | v ] [ X ] days
  • [ After (Future) Today by | v ] [ X ] days

Running the following queries would look something like this:

180 days if not opened email

[ Last Opened | v ] frequency: [ ] every year

  • is [ Before | v ] [ Today by | v ] [ 180 ] days

3 days before contacts birthday every year.

[ Last Opened | v ] frequency: [ X ] every year

  • [ After (Future) Today by | v ] [ 3 ] days

1 Answer 1

1

This is no new solution, but it could work with dates. The advantage is it sounds like a real sentence, so a user will not misunderstand it, as you mentioned.

enter image description here

The weak side is you are restricted in possible options.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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