I sometimes forget whether I didn't complete my goal or I just didn't log the data.

For example, this happened a few times with teeth brushing. So I did this:

But even THAT didn’t work! There was a day that didn’t have a log for teeth brushing, but I thought I must have brushed my teeth!

What do you do in these cases? Mark done because you think you probably did it? 51% sure?
80% sure? 95%?

Well I went ahead and marked it done (I went to court, presented my evidence, then I ruled in my favor).

But I also created a meta beeminder goal, to log my teeth brushing before brushing my teeth.

[EDIT: I removed the meta goal and changed/fixed my main goal after the discussion below.]

2 Likes

Oh! This also happens to me with brushing teeth and taking medicine habits, but since I don’t beemind those (I use a standard habit tracker: everyday.app), the consequences of not putting a data are very small. So I go with “If I don’t remember, I’ll assume I didn’t do” - it’s some kind of punishment (albeit very small, in my case) for not entering the data right when the memory was fresh.

What I don’t understand is how creating this meta goal will help you. If you forgot to enter the data to the original goal, you will also forget to enter the data in this meta goal.

2 Likes

Thanks! Discussing this really helped me a lot! I made some changes.

First, the idea of the meta goal is that would put an extra penalty on not logging before i brush my teeth. If I brush my teeth without entering the meta goal, then I have to start all over again, enter my meta goal, and then brush my teeth. Just brushing my teeth isn’t good enough.

But that does raise a good point, that I need to put in the description or fine print, to update my teeth brushing goal as

“brush teeth immediately after logging. Brushing teeth before logging doesn’t count.”

Actually, that change should be good enough on it’s own! So that’s what I’m going to do. I have changed the goal slug to /BrushTeethAfterLog to remind me of this fact. Removed the meta goal, and now /BrushTeethAfterLog includes the additional requirement.

Description:

Brush Teeth, Floss, Waterpick. Must be done AFTER logging in beeminder

Fine print:

Logging in beeminder of teeth brushing must be done before the teeth brushing. If done after teeth brushing, then it doesn’t count. That means that if I come across an incident where I think I brushed my teeth, but there’s no data for it, then that is considered a fail by definition, and can lead to a lost data point or derailment.

2 Likes

This thread stuck in the back of my mind. Mostly because I didn’t like how you ended up with a solution where you have to log the thing before doing the thing.

[A Few Moments Later]

What if you started a timer before you brushed your teeth and submitted the data point only when stopping the timer? If you forget to add the data point, you will be reminded when seeing the still running timer. By the way, I’m just thinking aloud here, because if it works for you, there’s nothing wrong with it, of course. Hope you don’t mind the imposition.

This can be implemented quite neatly in emacs + beeminder.el (h/t @mbork). Create a teeth brushing task:

* TODO brush teeth
  SCHEDULED: <2021-11-05 Sat .+1d>
  :PROPERTIES:
  :STYLE:    habit
  :beeminder: done
  :slug:     brushteeth
  :comment:  time
  :END:

Clock-in on the task. Brush your teeth. Mark the task as DONE. This stops the timer, submits the data point to your graph and re-schedules the task for the next day. If you for any reason don’t stop by your laptop to stop the timer, emacs will shout at you later and you will remember that you did in fact brush your teeth. If there’s no data point and there’s no running timer, you forgot and should derail.

If you start the timer and then the doorbell rings, hopefully you would remember to cancel or restart it, so you aren’t tricked into thinking you brushed your teeth.

3 Likes

What if the timer was the datapoint? Either because your goal is about spending ‘enough’ time brushing, or because you’re premium and have set the aggregation method to nonzero

I believe that both the iOS and Android apps have built-in timers.

2 Likes

I really like this idea, and I have a more simple solution based on that. I have a super easy set timer in my bathroom. I actually have several of these around my house due to my ADHD.

When I brush my teeth, I’ll just set my timer for 10 minutes. When I hear the timer go off, if I had forgotten to mark it in beeminder, then I’ll go ahead and do that. That should catch the vast majority of cases.

EDIT: I just tried it, and the mere knowledge that a timer is ticking down gave me the prompt to go ahead and update beeminder. Of course this is just the first time I did it, but I think that having an open loop left in my mind will trigger me to realize that I’m not finished.

And by the way, you get extra credit for providing an emacs solution, lol. I’ve always wanted to learn emacs.

1 Like

Those are wonderful!

1 Like

They are! The original design (by a different company) was as an aide for ADHD children because they have trouble managing their time.

That’s part of the benefit for me. But I also found that the ease of setting the timer removes the very small burden that is typically required to set a digital timer, so it gets used more often. The visual red dial also adds to the ease of setting the timer. It’s very subtle, but the strong visual feedback makes it easier to set this than a similar standard rotating kitchen timer.

And of course, the red dial also acts as a very quick visual impression of how much time you have left when you are working on a timed task.

1 Like

I think you’ve managed to convince me that having a physical timer would be nice, for very similar reasons of losing attention and not remembering whether I entered data

1 Like

Just ordered one of those clocks. Will be great for me and my kids, who do chores and homework now with pomodoro 25/5 timers. Thanks!