By: dreev and adam and bee
Spec level:
Gissues: #830, #1285, #1518, #1538
Forum discussion: Replacing Beebrain’s limsum with safesumChangelog
2024-03-12: Copyedits and formatting 2020-07-15: Table finalized for now
Beeminder is Opinionated Software. Here is our Opinion:
Your daily rate needs to be prominent and obvious. If you know that rate then you know that you’ll get another day of safety buffer by doing that much. You might be able to get an extra day of safety buffer by doing less than that, but unless it’s an eep day you shouldn’t care about that exact number. Just keep doing your daily rate amount each day and you’ll maintain the buffer you have. Do any less and you’re eating into your buffer.
(Complication: upcoming kinks in the red line. TODO: How about the max (min for yaw<0) of the upcoming rates?)
Telling you “+.23 needed in 3 days” in huge text above the graph is bad bad bad. That level of information should be hidden ~1 click away in the due-by table. The information that should be prominent is something like “you’re committed to +2 such-and-suches per day and have 3 days of safety buffer”. Or simply “omg +.23 such-and-suches by midnight!” if it’s a beemergency.
The plan: We deprecate Beebrain’s limsum
output field and add safesum
.
Here are examples, for each of the
Four Platonic Goal Types,
crossed with whether it’s an eep day or not,
crossed with whether it’s auto-summed (kyoom) or not:
[The following table is currently duplicated in the main safesum gissue.]
gtype | eep | Σ | old limsum | safesum blurb | graph header |
---|---|---|---|---|---|
MOAR | y | y | +1 in 0 days | +1 pushups due by 12am | +1 pushups due in/by DOOMCOUNT |
MOAR | y | n | +1 in 0 days (12345) | +1 pushups (12345) due by 12am | +1 pushups (12345) due in/by DOOMCOUNT |
MOAR | n | y | +1 in 1 day | safe for 1 day (commitment: +5/day) | +1 pushups due in/by DOOMCOUNT |
MOAR | n | n | +1 in 1 day (12345) | safe for 1 day (commitment: +5/day) | +1 pushups (12345) due in/by DOOMCOUNT |
PHAT | y | y | -2 in 0 days | hard cap -2 pounds by 12am | hard cap -2 pounds in/by DOOMCOUNT |
PHAT | y | n | -2 in 0 days (150) | hard cap -2 pounds (150) by 12am | hard cap -2 pounds (150) in/by DOOMCOUNT |
PHAT | n | y | -2 in 1 day | hard cap +2 pounds today | hard cap +2 pounds today and safe for/until DOOMCOUNT |
PHAT | n | n | -2 in 1 day (150) | hard cap +2 pounds (150) today | hard cap +2 pounds (150) today and safe for/until DOOMCOUNT |
WEEN | y | y | +3 today | hard cap +3 servings by 12am | hard cap +3 servings in/by DOOMCOUNT |
WEEN | y | n | +3 today (12345) | hard cap +3 servings (12345) by 12am | hard cap +3 servings (12345) in/by DOOMCOUNT |
WEEN | n | y | +3 today | hard cap +3 servings today | hard cap +3 servings today and safe for/until DOOMCOUNT |
WEEN | n | n | +3 today (12345) | hard cap +3 servings (12345) today | hard cap +3 servings (12345) today and safe for/until DOOMCOUNT |
RASH | y | y | +4 today | hard min +4 cigarettes by 12am | hard min +4 cigarettes in/by DOOMCOUNT |
RASH | y | n | +4 today (12345) | hard min +4 cigarettes (12354) by 12am | hard min +4 cigarettes (12345) in/by DOOMCOUNT |
RASH | n | y | +4 today | hard min -4 cigarettes today | hard min -4 cigarettes today and safe for/until DOOMCOUNT |
RASH | n | n | +4 today (12345) | hard min -4 cigarettes (12345) today | hard min -4 cigarettes (12345) and safe for/until DOOMCOUNT |
Where DOOMCOUNT is the dynamic togglable countdown timer or date/time in the graph header. Also the “due in/by” or “safe for/until” string is replaced with “ending in/at” in the “coasting” case, i.e., when the time till tfin is less than the amount of safety buffer.
Originally we wanted to make sure we had a concise string for the goal units but decided that the longer gunits string is ok.
The due-by table is super nice and makes sense to people and probably doesn’t want to be as hidden away as it is. It’s the thing you want to look at if you want to know more than just “safe for N days”.
Yet another related thing: how much I dislike click-to-toggle on the website
For later: Eep days for WEEN/RASH are weird. It kind of ought to be too late, you went past the limit! (Now that the infamous do-less loophole is closed, that’s even true. Unless negative datapoints make sense for your goal.)