I have a system which triggers a backup on repeated frequency and/or disk fill. For the the repeat frequency, my form shows the following (same field repeated in one image):

enter image description here

You can select a different values in the 'every' dropdown and it will show other options as pictured.

What is a better approach? I cannot find another user interface which asks for a similar input and I designed this one as I wanted.

  • Are there any complaints about this design? Other than the slightly arbitrary (and too big) horizontal white space between elements, there is nothing that immediately bothers me. – Marian Mar 29 '17 at 19:01
  • I'm not a pro with front end stuff yet. This is also a little out of the scope of my question too, working on fixing it nonetheless. – OrangePot Mar 29 '17 at 19:29

The problem comes when you specify a pattern rather than an interval.

Technically, it's the period you want to set, not the frequency. Frequency being the number of occurrences of a repeating event per unit time vs period as the duration of time of one cycle.

When you specify a pattern like every X at Y you have to say things like:

  • every day at time T
  • every week but on day D, at time T
  • every month but on day n at time T

The event occurs when the pattern is matched.

When you specify an interval you say things like

  • every N days starting at time T
  • every N weeks starting at time T
  • every N months starting at time T

The event occurs when the interval elapses.

So with intervals you only ever have to specify the same pair of values:

  • the interval (N + unit)
  • when to start (for which NOW might be an option)

bvckup is an awesome backup tool that uses exactly this structure:

enter image description here

  • This is a simple and clean solution! Covers things like every 2 weeks etc.. which is missed by other solutions. – OrangePot Mar 29 '17 at 20:00

To provide an example of a robust way to schedule a task I'd look at programs made for it - A tried and tested example is Microsoft Outlook. It's not pretty, but neither is our calendar, nor the way humans like to schedule things.

Example image

Some things to learn from this scheduler about common schedules:

  • the 31st doesn't exist every month, consider including a 'last' option
  • day of the week often trumps time of the month for long tasks. I'd much rather have my backup task run on the last saturday when I'm away than the last day of a month
  • Time could have an AM/PM (dependant on locale)
  • someone might want to schedule it twice a week or more so checkboxes to select the days can be useful
  • every day on weekdays only
  • every 2 months
  • this isn't included in Outlook, but the Windows task scheduler also has an option to sync a task across time zones if the task requires it. All depends on your requirements

and always check with your users to see what they want to be able to do or see. I think your example would be more than enough for many people and use cases

  • Yes, I have considered the cases where the month may not have a 31st, and the backend will handle that -> last day of the month or similar. The UI you've shared here is a bit overkill for me, but does show, i guess, that its going to look somewhat ugly.. Im going to follow this approach unless something radically better is proposed. – OrangePot Mar 29 '17 at 19:33
  • I up-voted the answer because it shows the various complexities for calendaring, not because I like Outlook's UI. It can handle most things, but falls short sometimes. – Mark Stewart Mar 29 '17 at 19:55

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.