9

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?

2 Answers 2

10

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.

0

Ask them your 3 questions first.

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

dom:

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

dowom:

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

dow:

Mo Th We Th Fr Sa Su 

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.