It would be really cool if there were something similar in Coda.
Example of time it could be used:
My team would like to control how frequently a doc sends them an update. One person wants it to happen every third Thursday of the month, the other wants it every Monday. I can hardcode that, but there’s no easy way for them to be able to customize it if they change their mind.
I once made an attempt at something similar (see doc below), but it wasn’t customizable per user. It was also a pretty wacko amount of formulas just for a few options on the users end - but it did give some quick/easy ways to customize notifications for users without touching code.
I know what follows isn’t perfect, but it did the job to a minimal level!
@Paul_Danyliuk, instead of making a date frequency control in your livestream, could you make a new date system? The romans did a bad job
Treat the year as if it’s 364 days long. That means 52 weeks of 7 days each. 13 months of 28 days each and two hemiyears . The extra day (or two days, in the case of a leap year) is tacked onto the end, but it’s not all that consequential given that New Years day is often a holiday. In the case of a leap year, make it two days of holiday. Just make it social convention to completely ignore those days for most work purposes.
That would make all date time calculations so much easier. We could make a pack for this so that it converts easily between simple time and Gregorian time, but then all our formulas could be written in simple time.
Imagine how much easier subscriptions would be. You pay x amount per simple month, and by the way, each month has the same number of days!
Want to know the day when the next month starts? Easy: (Floor(Today().DayNumber() / 28) + 1) * 28
Want to go to the same day of the month, two months from now: Today().DayNumber() + (28*2)
It’s also much easy to answer cost questions that way.
“We’re switching to simple time for your upcoming bill. That means instead of paying $780 per month, 12 times a year, you’ll pay $720 per simple month, which happen 13 times per year.”
at our little consultancy we ALWAYS use iso week.day (WW.D) for project and task dates.
once our clients get into this they love it. it makes mental arithmetic with dates trivial.
“its now w49.1 and the deadline is w53.4, so how many weekdays is that? (5×(53-49)+4-1=23)
how many weekends in that span? (53-49=4)
lets have a meetup at the half-way point, when is that? (4/2+49=w51)”
(try working those out in your head using gregorean calender dates!)
and it makes repeating dates easy to specify within the weekly framework - all our sprint durations are interger weeks
the week turns out to be the real heartbeat of business
even accountants use week numbers in preference to months where possible
most project management tools and calendars understand iso week numbers. though microsoft has its own system (typical)
as for utc…
we NEVER use a.m or p.m
we ALWAYS 24 hour plus time zone
anytbing else is just not professional
imagine airline pilots or train drivers getting ambigious with specifying times (boom!)
as for weeks starting on SUNDAY?
do NOT get me started!
I’ve been working on something here and I’m curious what you all think.
I don’t have the “Every 3rd Monday of the month” scenario, but I do have others. I think it’s pretty efficient at the moment, giving enough to repeat reasonably even though it doesn’t contain every single repeating option.
It was bugging me that I didn’t have the other option, so I needed to see if I could come up with any kind of formula that would make it happen. I think I found a setup that works for the “Every Nth whatever weekday of the month” scenario. The tough part now is figuring how to get it into the other doc without having the options seem overly complex or tedious. But here’s an example setup for now of the other option if anyone needs it.
And now I think I’ve got it all rolled back into the same doc. I added a second example row to the doc if you want the “1st Monday of each month” scenario to show how to use that feature. So this one doc should be able to do all of it.
I’ve got a solution as well that works in the following scenarios:
Every 3rd Monday of the month (change day or number as needed)
And many more! I’ll post tomorrow to add here. Probably less elegant than what Ben has but definitely worth sharing. It’s super customizable in its controls and also allows you to add on other rhythms like:
And @Scott_Collier-Weir, that’s a cool setup. We took totally different approaches to the solution. It’s cool to see the idea of creating the database to pull from with the helper columns and formulas. Lots of ways to solve for this, great work.