Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

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
share|improve this question
add comment

1 Answer 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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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