Beeminder Forum

Can Beeminder help me get out of bed each day?

#23

Thanks again for your help on this everyone who has, especially @hmowilliams for that amazing walk-through video, that was so kind of you to make.

I feel I now understand how the IFTTT part of this could work; that I could set it to enter a data point when I go to any of several places where I ONLY go to walk in the morning, and won’t go to at any other time. That’s do-able, although I do like to mix up where I go each day so it doesn’t get boring, and some of those places (e.g. into the city centre) are places I would go at other times too.

@drtall, I have tried to figure out what it is you’re saying about the ‘aggday’ options, but I’m afraid I don’t understand. I found this support article which gave me some sort of idea:

https://help.beeminder.com/article/97-custom-goals

But, I still don’t understand what setting up that option would do? Would it mean I could go anywhere for my morning walk, and so long as I left either my house or my sister’s house once in the morning, that when I leave the house later in the day for other reasons that wouldn’t add extraneous points to my chart?

Also, it seems I would I have to pay for Beeminder Plus to be able to set that up, is that right? Honestly that would be quite a lot for me given I currently only plan to use Beeminder for this one goal. I don’t know if it’s possible to switch Applets in IFTTT on & off, but if so, might this be an alternative to paying for Beeminder Plus? I think I could remember to switch off an Applet if I’m going to a place I’d have set up for a morning walk at some other time of day. I’d probably just put a sticky note by my hand bag.

1 Like

#24

BTW, I don’t know what’s happening with my username right now, I did ask support to combine my accounts, but for some reason they’ve added ‘tmp’ to the end of my user name right now. Not sure what’s happening there, but just so you know I’m still the OP!

[[working on cleaning this up! sorry for the hassle! --@dreev]]

1 Like

#25

Right, the idea of using the aggday thing is to solve the problem you mentioned. You want to be able to leave your house 20 times during the day but only have it count once. The aggday setting tells Beeminder how to aggregate the data points for the day. Most goals don’t require you to think about this: you just add up all the data you enter. But for this goal, we want something that will only let you count a single “1” each day, which is why I suggested max or nonzero or binary. (The formulae are listed here: Documentation of aggregation methods would be nice).

I should mention that typically Beeminding isn’t this complicated. I refer to that list of aggday functions about once every two years. So I hope all this doesn’t put a bad taste in your mouth!

Re: premium, I have a suspicion that these nice Beekeeper people might let you have a freebie on the premium plan for this one goal, considering you’re brand new and everybody’s already pitched in this much towards brainstorming how to configure this. But @dreev is probably the person to give an answer here.

0 Likes

#26

Wait now I’m worried there’s still a corner case with how the custom deadline and aggday setting interact. What we want to actually accomplish is a setup where data points after the cutoff (but before midnight) don’t count whatsoever. For example, if 9 AM is the deadline, then house exits between 9:01 AM and midnight should all be ignored. Then, from midnight to 8:59 AM, we want to count using the aggday discussed above.

I’m worried that the custom deadline feature might not do what we want exactly. Would this logic have to be in the aggday itself? Definitely paging @dreev now haha. :smiley:

0 Likes

#27

It does all sound quite difficult and complicated. Does anyone know if it’d work to just set it up how @hmowilliams said, with various places I can go to, and then if I’m going to one of those places at a different time, just switch off that Applet so it doesn’t send data to Beeminder?

1 Like

#28

Yes, if you switch off the IFTTT Applet when you know you’re going to that location at a different time, it won’t send the data to Beeminder :slight_smile:

0 Likes

#29

Thank-you, that’s good. Although, it has got me thinking if I might have found a weasel-loophole… could I not, whilst in bed, set up a new Applet to send data to Beeminder falsely… e.g. a rule to say when I’m in my home location, to send a data point to my chart? Or are you not able to change the Applets Beeminder gets its data from on an ad-hoc basis (i.e. only a week in advance, like all other changes, which would be fine.) Do you know @hmowilliams ?

I’m increasingly realising I sound like the laziest human alive here, and perhaps I am… but only when I’m half asleep. I don’t know whether it’s the fact that my body clock is so entrenched in being later (after working nights many years ago & never quite managing to get back to normal), or sometimes the fact that my mental health problems mean it can be really hard to get up and face the day (even though that is the only way to actually sort my life out!) But yeah, I just hope I don’t sound ridiculous here for having to weasel-proof myself this much. :grimacing:

Whilst I am SUPER grateful for all the help you guys are giving, I am wondering whether this particular goal would be better done in something like StickK. I do have somebody who can referee for me, I would just have rather not pulled them into it, but if it’s a better tool for this particular job, perhaps that’ll be necessary.

1 Like

#30

If you’re motivated enough you can always find a way to lie to Beeminder. For me, at least, the setup is to make actually doing the goal the path of least resistance. e.g. maybe signing out of IFTTT on your phone is enough?

At least you’re in good company here. :slight_smile: The forums here consist exclusively of people like us haha.

I’m only vaguely familiar with StickK. The setup here would be that you have to call or prove to the referee that you’re actually awake and out of bed and then they tell StickK whether you were lying or not?

1 Like

#31

Lots of discussion here, great! I feel this warrants stepping back and looking at this from a bird’s eye perspective:

The Problem

What you ideally want is something that understands where you have been spending the night and then make you leave that place by some time, getting at least, say, 500m in between you and where you spent the night.

Does Beeminder provide this level of automation currently? Not without some programming, so that’s out the window for now.

What’s the next best thing? The solutions presented here, namely

  • Runkeeper requiring you to walk a certain distance before the deadline, or
  • IFTTT requiring you to leave a certain area before the deadline.

Both methods have the problem of also respecting anything that happens after the deadline as @hmowilliams pointed out in the video. I am amused at how I managed to miss this problem :smiley: It seems indeed rather obvious in hindsight: There is currently no easy way (aside from Tasker on Android I guess) to chain multiple conditions together in IFTTT, Beeminder, and so on.

Solution

I got good news though! I myself have a goal that would profit from more detailed time restrictions and have already created a small web service that enriches the Beeminder API somewhat. I was thinking of adding this missing functionality for myself in the past but kept not doing it. But now since you’d also profit from this I shall do so right away. I’ll report back once it’s done. Might take a few days, I got some things on my plate right now.

How does this help? Recall when @hmowilliams (in the video) referred to Tasker on Android allowing you to add another constraint (in this case the time). I will basically recreate this as a web service. You can then set up IFTTT to call that web service which will then add the datapoint for you to your Beeminder goal. But only if it is within a certain time of the day. That is the additional time constraint that is missing in this equation.

Sounds complicated? Don’t worry. I think I can create an applet on IFTTT that takes care of most of the work and make that available to everyone and then you can just use that one.

Maybe we can all convince @dreev that this feature would be beneficial for more Beeminder users so I won’t have to implement it myself :wink:

In other news

:laughing: Definitely not! I always thought I put the pro in procrastination until I read this awesomeness:

Hope this helps!

P.S.: I think c-gold would make for an interesting username, too :wink:

1 Like

Narthur's Beeminder Journal
#32

(Of course you could also just do the “go to special location” workaround (or walk-around?) that @hmowilliams suggested. So many options!)

0 Likes

#33

You could. But as the de facto laziest human on Beeminder :roll_eyes:, I have a simple solution for you to weasel proof yourself here as well. After you create your IFTTT rule, and test it out a couple times to make sure it’s working, you can then change your IFTTT password to something you would never be able to memorize (like a 20-digit password generated by a password manager) and then use a service like http://whensend.com/ to email it to yourself in the future. How long would depend on how long you think it’ll take you to develop this new habit. I think I might try this method as well but instead of the park or coffee shop it would be my local gym.

2 Likes

#34

That is a good idea. I’d probably give it to someone I trust instead, so that if I really need to change something I can, but I can’t groggily get the password from them in the morning to mess with it.

The only thing is that as I then wouldn’t be able to get into IFTTT whenever I want to turn off an Applet if I’m going somewhere at a different time of day (to avoid adding erroneous data points), I would then definitely need to set up some solution to that problem, either sorting out the aggday settings as @drtall was saying about, although I still don’t understand those, and there was some confusion over how they’d work with the deadline (see post no. 25.)

1 Like

#35

That’s why for me the gym would be a perfect location, because If I go first thing in the morning there’s no way I’m going back sometime later in the day. I would suggest something like this or just using runkeeper to calculate a certain distance, walking or running, due by an early deadline set by beeminder.

0 Likes

#36

Yes, it sounds SO complicated! :tired_face: But if you know what you mean and you’re saying don’t worry, then I’ll take heart in that. I’ll look forward to getting more of an idea of how this works when you’ve set it up. Would this still allow me to change the time I need to be up once in a while, so that I can adjust gradually to a newer wake up time? Or set it to get up a bit later if I’m on holiday for example? But obvs still with that akrasia timeline of a week.

Yes, that was pretty special. :joy: It is ironic how much extra work it’s actually taking us all setting up Beeminders for these things, on top of DOING the actual things themselves, which we were always able to do in the first place! I’ve also chuckled to myself thinking of REALLY ridiculous ways to weasel out of goals; @wrightjor sitting in their ‘must visit’ location of the gym, but on a bean bag in the corner eating a Mars bar & reading a book… or me sleeping on a bench in the park I have to visit for my morning walk, tucked up in a sleeping bag like I’m homeless. At least I know I’m not THAT bloody lazy. Getting out of the house will be enough.

1 Like

#37

Sadly, Runkeeper is totally not weaselproof for me, as you can always add data manually for a walk or run you supposedly did. Great if you forget to open the app for a run, bad for making sure I know I have no way of weaseling out of waking up. I did think about the gym solution there, for almost a whole minute :joy:, but I just don’t like gyms. I used to use one, but I now prefer walking or running outside & it’s tricky to think of places I like to go on my morning walk/run, but would never go to otherwise.

0 Likes

#38

This sounds amazing!! I’d definitely be interested in using something like this instead of all the workarounds.

1 Like

#39

On Android, there are apps that can lock you out of changing other app settings during certain times. I’m not sure if that’s something that works on iOS, but I used to use one that locked me out for several hours each morning from any app that I would use to “cheat” on my sleep schedule.

2 Likes

#40

oh nice idea! But what about the web browser? I mean you wouldn’t block your web browser on your phone, would you? Can you add fake runs to Runkeeper via their website? Just as an example. Can these apps block individual web pages?

That caveat aside on iOS there are parental controls that I never bothered with but I know they exist and you can set pretty severe restrictions on there and guard it with some code and you could give that code to some friend I guess. That might work. Of course if that is not the only device you have access to…

What exactly does Beeminder lock down when you enable weaselproof mode anyway? There is probably some blog post about this but I gotta get stuff done today so I’ll stay away from that for now :stuck_out_tongue:
As far as I understand it, it’s currently just a flag for support that it is now up to them to decided whether a derailment is legit or not.
I’m thinking maybe there is a use case for fine grained weaselproofing or whatever that should be called then where you lock down individual aspects of a goal that can then only be changed by talking to support. Yeah that sounds like a complexity nightmare. Maybe not a good idea.

But back to the blocking: I have yesterday blocked a number of sites (goodbye youtube) directly in my router and am thinking of following @wrightjor’s and @cgold’s idea of changing the password and giving it to someone or some service. So far I am actually too lazy to undo that in the router because it does actually involve quite a number of clicks and I now procrastinate using Netflix. Which is a big improvement actually. I know it sounds ridiculous but Youtube and Reddit is more like a continuous-flow water heater for my brain and hours just pour into it providing hours of mindless entertainment while Netflix is more… dedicated time. If that makes sense. Anyways, I’m getting off topic here.

Alright I’ll see if I can squeeze this in this weekend. After all it is just a glorified if statement but I wanna make sure it works reliably first before I release it into the wild :slight_smile:

1 Like

#41

That’s a really good point. Personally, I depend on my Fitbit, because I can’t enter data manually. I wouldn’t trust myself with Runkeeper, haha.

The exception for me was when I had so. many. goals. that cheating was honestly more complicated than accurate logging. I don’t recommend that as a long-term solution, though :stuck_out_tongue:

Good question! Beeminder doesn’t exactly lock down anything when you weaselproof a goal, it just flags the goal for support. If someone calls not-legit on a derailment, we normally cancel the charge without questioning the reasoning. If a goal is weaselproofed though, we need some kind of proof (doctor’s note, screenshots of completed work, confirmation from family/friend, etc.) before cancelling the charge.

I don’t think I’ve heard anyone say this before, but I like the idea! I can relate to what you mean, since usually if I’m watching Netflix it’s for a specific show and often with someone else. Youtube or Reddit I just get completely lost in. I now have a timer that floats on my phone screen and tells me how long I’ve spent that day in a particular app. I don’t always do anything about that time, but it’s helpful to be aware of!

Speaking of that, random thought that’s semi-on-topic: I try to think of time in terms of a percentage of my day. Since there are 24 hours, fifteen minutes is roughly 1% of the day. Half an hour on Reddit (okay, okay, four hours) is a significant percentage of my day, which in turn becomes a significant percentage of my life. Sometimes that helps me put things into context.

My programming skills are extremely minimal, but would it work to create a site that lets people combine IFTTT goals by using that site as the “that” statement? So, for example (I apologize in advance for how badly this is explained…):

Two input applets on IFTTT:
if TIME = 6:00 
then SITE_VAR1 = TRUE

if LOCATION = PARK
then SITE_VAR2 = TRUE

then on the site:
if (SITE_VAR1 === TRUE && SITE_VAR2 === TRUE) {
  SITE_VAR3 = TRUE
}

IFTTT again:
if SITE_VAR3 === TRUE then LOG TO BEEMINDER

And of course, the variables would reset at a certain time. That seems like a service that would be super useful, and not only for Beeminder. Combining IFTTT statements is especially important now that Stringify is shutting down :sob:

1 Like

#42

I see. Fair enough and exactly as advertised. Though I feel like there’s a feature opportunity here for maybe an iron maiden mode that locks down settings within the akrasia horizon? I’m trying to think of a more bee-like name and am thinking of hornets but nothing witty comes to mind.
Or actually: Have a bumblebee mode (they seem to frolic through the day without a care in the world, don’t they?) for when things are not locked down (like right now) and have regular Beeminder come with settings being subject to the akrasia horizon. Something like that.

Haha :smiley: Oh I like this a lot! I’m a big advocate of putting things into context.

You got it! That’s exactly what I had in mind :slight_smile:
In fact I was also contemplating making a very simple language not unlike what you proposed in your example for even more flexibility but that will have to wait until people stop having birthdays all the time (I love cake but there is a too much of everything :smiley: )

1 Like