User Experience Stack Exchange is a question and answer site for user experience researchers and experts. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've always struggled with the best way to allow a user to enter a repeating date. For example, scheduling a task you need to do repeatedly. There are a few different ways this can be expressed...

  • The same day of the month, every month (e.g., every month on the 6th)
  • The same day of the week, every month (e.g., every third Monday)
  • The same day of the week, every week (e.g., every Monday)

If all of these are valid ways to schedule the task, how can you best allow the user to enter this data without overwhelming them with controls and options?

share|improve this question
up vote 10 down vote accepted

This is a rather old and well-tested interaction pattern and it's simple. First, the user has to define the recurrence interval (weekly, monthly, annually) and then the specific pattern to be repeated (date or day of the week).

As you can see in the screenshots below, the "bare minimum" of controls is still a great number if you want to provide flexible scheduling.

Here's how Google Calendar and Outlook handle weekly recurrence: enter image description here enter image description here

Notice how Outlook has a free text field for the interval while GCal offers only a pre-defined dropdown.

Here's how they handle monthly recurrence:
enter image description here enter image description here

Notice that Outlook offers the option of changing the number of the week when the event occurs, while GCal locks in the selected week's number.

share|improve this answer

Ask them your 3 questions first.

Represent 3 different tables for the 3 decisions, depending on the answer:


1  2  3  4  5  6  7 
8  9 10 ...


Mo Th We Th Fr Sa Su 
Mo Th We ...


Mo Th We Th Fr Sa Su 
share|improve this answer

Your Answer


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.