Beeminder Forum

Feature Request: Enable "Do [thing] once every x days/weeks/months" (37 times per year vs. once every 10 days)

Feature request:

Option to define a goal’s frequency as “once every \tfrac{1}{n} [units of time]” instead of "n times per [unit of time]".

Example:

I often think of something I want to do, say, every 10 days. What I currently (have to) do is make a goal and set the slope to “37 times per year” (365.24 days, divided by 10, rounded up) to approximate “once every 10 days”. This works, but it’s really un-intuitive. I can easily calculate what “37 times per year” means but I have no intuitive feeling how often this is and when I’ll have to do it next. “Once every 10 days”, on the other hand, is straightforward. I know if I did it today, I’ll have to do it again in ten days.

Note:

This has been brought up at least once (Every x days instead of weekly / daily?) but that wasn’t a feature request, more like a newbee question asking if that’s possible. I (think) know it’s not possible right now, but I would really appreciate if it was. :slight_smile:

6 Likes

I’d go one step further and say let me define my commitment with two variables, as “x units every y periods.” That way I could commit to doing something 3 times every 10 days without having to resort to fractions.

7 Likes

Great amendment!

2 Likes

To clarify, is this “allow setting and showing the rate with an arbitrary time denominators” or something closer to “don’t check for failure every day”?

1 Like

allow setting and showing the rate with an arbitrary time denominators” or something closer to “don’t check for failure every day”?

Definitely the first one. :slight_smile: I would still want everything else (checks) to work just like it does right now.

2 Likes

Nice feature request! I don’t know yet if I agree or how I’d think it should be implemented if I did but let me make sure I understand it (which should also answer @adamwolf’s question, if my interpretation is correct):

It’s sometimes awkward to express a goal’s rate (yellow brick road steepness) as “X jellybeans per day” or “X jellybeans per week”. It would be nice to be able to specify the reciprocal of that: “Y days per jellybean” or “Y weeks per jellybean”. (Where Y = 1/X.) Or, as you more naturally expressed it, “One jellybean every Y days”.

My first reaction is: is it so bad to reciprocate? Those numbers give and give and all you ever do is take. Wait, no, different definition of “reciprocate”.

2 Likes

@dreev, you reformulated and interpreted my request correctly.

Also:

is it so bad to reciprocate?

No, it’s not, I can handle that bit of dividing two numbers. :smiley:
Just think it would make intuitive goal definition easier in those cases where jellybeans cannot be split up evenly into small units of time (like a day or a week)[1] and a larger unit (month, year) is hard to imagine. My brain can handle floats but it feels integers.

Con: More ways of defining the same thing (X jellybeans per week = one jellybean every 1/X days) might make it confusing to some.

1 Like

Would we want to just offer this in goal creation and in the rate settings, using some UI to make it obvious that it’s a little “helper calculator” that is setting your daily rate?

Would we want to show it every single place we show your daily rate? If so, would we want to show it instead of the daily rate, or alongside it?

I suspect that showing it instead of the daily rate would lead to increased confusion about the “I said I want to eat 3 bags of ma la peanuts per week, and I’m on day 2, and it says I have to eat a bag” (which is a pretty common confusion, and what I actually thought you were requesting!)

2 Likes

I was envisioning this in place of the existing rate controls:

rate

How would the ability to say “3 bags every 2 weeks” cause any more confusion than the existing ability to say “3 bags every 1 week?”

2 Likes

I am mixing up what’s deployed versus some not-yet-deployed changes and ideas. There’s an idea that showcasing the daily rate, regardless of the configured time unit, will help alleviate user confusion over how much they have to do each day. There’s a few reasons for this, but one of them is what I was mentioning above.

When we let a new user say their goal is 30 blocks a month, and then show them that their configured rate is 30 blocks a month, and then we check the next morning if they’ve made progress–we aren’t doing nearly enough to explain that Beeminder checks every day. Even when we write the words, even if we send out reminder emails, users still get confused by it, until they internalize it. One of the ways to help users internalize this would be to show their rate back to them as a daily rate–and to help alleviate the confusion of “I said 30 blocks a month, and now you’re saying 1 block a day?” we could go farther with it and show that the rate setting is just a calculator.

I’m just making this UI up right now, but imagine a little gray calculator icon on the right side of a Daily Rate input box, and when you tap or click it, it opens up something that looks like your [ 3 ] [$GOALUNITS] every [ 2 ] [timeunits selector] but with a => [X] [$GOALUNITS] per day, preloaded with the values you set last time, and when you accept the value, it fills in the input box for you. If you want to set a daily rate, you just enter it, and if you want to think about it in a different way, you can use the calculator. YNAB has some things like this, among others.

Now I’m just dreaming, but let’s say we still showcase the daily rate, but next to the daily rate, we show you the “rational rate”. One way to do that would be to show you the values you used in the calculator–since if we saved them to preload them for you the next time you want to use the calculator, we already have them. What if you didn’t use that calculator? Should we guess it? If someone said 0.125 batteries per day, would it be helpful to add “(1 battery every 8 days)” next to their daily rate? Would it make sense to be fuzzy? If someone said 0.49 chocolates per day, would “(~1 chocolate every 2 days)” be sensible?

3 Likes