Commitment device to help me wake up, but need help!

Waking up has never been easy for me. And I openly acknowledge – there are root causes as why I don’t get up. Attacking the root causes will be the long term soln. However, to help me along the way, I need a commitment device.

I’ve tried various commitment devices, but none have stuck. I tried using my roommate – if I slept in, I owed him a certain amount of money. But then I found ways to ‘cheat the system’. Sometimes he would leave earlier than me for work, so I would just text him… but then go back to sleep. In other words, I wasn’t completely honest with my own system, and I was tired of paying him money (haha). So I’ve decided that for it to work for me, there can be no leeway – I will be charged money no matter what. I’ve considered using a coworker or manager, but honestly, I don’t want to involve them in this as it is sort of… weird.

So anyway, my idea is to write a program that runs on my work computer. It will be scheduled to go off a specific time in the morning. If I don’t kill it – “dismantle the bomb” – it will auto-donate to a charity of some sort.

I don’t have a whole lot of programming experience… but I’m sure I could figure it out. I did some googling, and came across this API – http://developers.firstgiving.com/

How does beeminder process the payments?

I’ve also considered an even more clever one… use the GPS on my phone. If I’m not in the range of certain GPS coordinates (say, where I work) at a specific time, I would be charged for a donation. I think this one would be awesome to do, but would require more work.

Any ideas/thoughts?

1 Like

Oh that’s awesome. Use some sort of location based api…

1 Like

On the phone side you may consider using Tasker http://tasker.dinglisch.net/.

Without complex programming you should be able to script a task going off at a specified time that does check the gps and eventually initiate an ssh connection to you computer invoking some kind of “donate to charity” script.

1 Like

First thoughts, so not sure whether this would work:

  1. Set up a Beeminder goal that is a “set a limit” goal with a limit of 7 per week (if this needs to be a 7-days-a-week-goal; I have another idea if not). Make the URL needlessly and impossibly complicated.
  2. Disable all reminders for the goal (so you can’t just reply to a reminder and go back to bed).
  3. Set up the CC and make the password for your Beeminder account needlessly complicated, so that you have to request it if you lose it cause you’ll never remember it.
  4. Set up an IFTTT recipe that sends a +50 datapoint to your goal 5 minutes after the time you’re supposed to be there.
  5. Set up an IFTTT recipe that sends a -49 datapoint to your goal when you check in to Foursquare (use the “new check in at category” option)
  6. Make your IFTTT password needlessly complicated.
  7. Clear your browser’s memory of your passwords

If you get to your destination before your 5-minute grace period is up and check in, your Beeminder datapoint will go to -49 so that when IFTTT sends the +50 point, you’ll still be at 1 for that day. If you don’t, when the +50 point gets added, you’ll get stung. There will be so much friction to changing any piece of the system that if you do, you’ll be too awake to bother going back to bed and won’t bother the second time… you’ll just head to where you need to be.

1 Like

Get a withings scale and use its checkin time to beeminder as a time source?
I currently use this to eyeball the time I wake up and get out of bed each morning.

-Jolly

1 Like

I have the same problem.

Here’s how I solved it: subtract the time you wake up in the morning from 12 noon, and enter that into Beeminder. I set myself a daily goal of “3”. Which in my system is “three hours before noon”, or 9am. (That allows me to wake up at 8am on week days, and sleep in on the weekend.)

This relies on me reporting the time I woke up honestly to Beeminder. But that’s sort of a requirement for Beeminder to work. There’s no technological trickery you can get to make you be honest with yourself. :wink:

When I first started, I basically ignored Beeminder. I put the data points in honestly, but the data demonstrates that I clearly didn’t give a crap about the commitment contract. I derailed consistently.

Now, what’s super interesting is that I hit the $90 pledge, and, … hmm. What’s a useful metaphor. I think in engineering, there’s a thing called “bite point”. (If you drive a car with gears, you will know this phrase.) It’s when two surfaces meet and the torque in one is sufficient to move the other. And anyway, I felt like this $90 was my psychological bite point. Because, well… Look at the graph.

image

1 Like

I’ve tried this for a while, but found its the wrong thing to measure altogether.
I set a minimum sleep time (8 hours per night) and tracked that with fitbit. I have a ruby script to pull the data into Beeminder.

The getting up thing ceased to be an issue after 2 days.

It caused me to go to bed earlier, and be more rested and productive.

1 Like

This relies on me reporting the time I woke up honestly to Beeminder.
But that’s sort of a requirement for Beeminder to work.
There’s no technological trickery you can get to make you be honest with yourself. :wink:

How about Jolly’s solution of using the timestamp of your Withings weigh-in? That’s really clever. We should make that an off-the-shelf option for people with Withings or Fitbit scales (or Fitbit sleep-tracking; or the smartphone apps could auto-report when the phone is turned on in the morning – so many possibilities!).

Now, what’s super interesting is that I hit the $90 pledge, and, … hmm.
What’s a useful metaphor. I think in engineering, there’s a thing called “bite point”.

I love this metaphor. We’ve been saying “motivation point” but I like “(psychological) bite point” better.

The reason I like the scale method, and not looking directly at my fitbit/zeo/sleeptracker ect data is the withings tells me when I’ve actually managed to get up, out of bed, and to the bathroom, rather than just when I’ve smacked an alarm into submission.

1 Like

I really like this idea! This would have two effects:

  1. Get me on my scale every morning.
  2. Get me up “on time”.
1 Like

I use my Withings timestamp to help fill in my RETRO tagtime pings, when I’m uncertain about the time between sleep & properly up.

Jolly’s suggestion is another example of the more general case of using one datapoint (and its metadata) to feed multiple graphs.

1 Like

Did anyone end up implementing this? I use my Withings scale when I get up every morning, and it would be a nice way to make sure I get up early + weigh myself!

1 Like

I personally do this now with an IFTTT recipe – http://beeminder.com/d/weighins – and in my case it’s just about forcing myself to actually weigh in (because otherwise I’ll get safety buffer on my weight road and then just avoid the scale while I steadily gain weight!) but if I set like an 8am deadline on that goal then it would also serve to get me out of bed early.

Oh, I see… But if I put the 8am deadline on my weight-tracking graphic, what happens if my weight is below the threshold but I miss the deadline to weigh myself? :thinking: Is that an automatic derailing on the weight goal?

No, the weight road can have its own deadline. Wait, maybe it wasn’t clear that I’m talking about a separate goal from my weight goal – a goal to just weigh in every day (or in my case at least 5 times/week on average).

haha, I completely forgot that I posted this, until I started getting email notifications again.
Well, I ended up writing my own solution to tackle this specific problem. It works wonderful for me! So I’m going to plug my own app:
https://sloth-1981.herokuapp.com

I wrote this in my spare time, so its not the prettiest web design (viewed best on the phone), but it works pretty damn well, I must say.

1 Like

So cool! Thank you for building and sharing this! It reminds me of the now-defunct Aherk app, which we talk about on our competitors page. (Let me know when Sloth App is ready to be featured there!)