In my ongoing attempts to use various tools to try and reduce my levels of distraction and akrasia, I’ve been using Beeminder. It’s a pretty simple service. To use it, you need a goal for a repeating task (e.g. doing the washing-up) with the following characteristics:
- You’re capable of doing it
- You want it to get done
- You know that given past history, you’re unlikely to do it
You tell Beeminder what the goal is, how often you want to get around to doing it, and tell them about it every time you do the task (which is easy given the good Android integration). How they make their cash is that if you screw up, then you give them money. It’s free the first time on a particular goal, then it’s $5, $10 and so on.
This has worked quite well for me, with one rather annoying exception. I’ll look at a goal, and think “I’ve got 3 days before it’ll fail, so don’t need to worry about it”. If however I’m going to be out and about doing things for the next 3 evenings, this assumption may well be horribly wrong, and I need to build up some more buffer before I go and do fun things.
Enter the Beeminder Calendar mini-application. It’s based heavily off the Eventbrite Calendar I built a while back, but this one spits out the “fail days” for all your Beeminder goals as iCal, which can then be fed into whatever calendar app you use (e.g. Google Calendar). This now means that when I look at my calendar, I’ve got a much better handle on when I should do something early before I fail at a goal, and when I can procrastinate for a while longer.
When I got redirected to the iCal link, I initially thought it was an error. Suggestion: Instead, load a page that displays the iCal link, ready for clicking or copying.
Added as an issue to the Github repo (https://github.com/palfrey/beeminder-calendar/issues/3). I may get to it at some point…
Ummm… and it didn’t work for me. I got some output, and added the calendar to gCal, but there are no events there. I tried searching “fail day”… nothing.
(PS: I heard about this from Paul Crowley, via the CFAR alumni mailing list)
TBH, this is kinda a “it works for me, I have no idea whether it works for other people but I hope it does…”, so not sure why that is. I have no access to your calendar (combination of per design and laziness setting up logging), but if you don’t mind me having access, then please email the iCal link to palfrey@tevp.net and I’ll have a look…
Wow, genius! Though for some of us every day is a beemergency on everything, making this possibly superfluous. 🙂 There are a few Beeminder goals where some advance warning is valuable for me. There’s actually an obscure Beeminder feature called the Panic Threshold that you can adjust for each goal so, for example, your blog post graph can show up at the top of your goal gallery despite being 3 days (or whatever) from derailing. But this is much nicer! (Or would be, in my case, if you could choose which goals have their deadlines calendared.)
One question: Does this automatically stay up to date and if so, how often does it poll?
PS: Like Malcolm, at first I thought it broke and barfed all over the page but that’s just the ical link. The instructions are perfectly clear, I was just being a typical user and didn’t read them. 🙂
PPS: Unlike Malcolm, it works beautifully for me.
PPPS: Thanks so much for doing this!
* Choosing a goal subset
There’s an existing bug (https://github.com/palfrey/beeminder-calendar/issues/3) for providing an interstitial page that tells you about the iCal link rather than just providing the iCal. That could also do trimming of the goal list. Patches welcomed!
* Poll frequency
Every time you go to the page 🙂 This is the simplest, dumbest thing that works. There’s no database, no caching, no logging. All it does it hit the Beeminder API every time you go to the iCal page.
Oh, and via email I’ve managed to fix Malcolm’s problem. Think it was to do with OAuth2 tokens becoming unusable after you ask for another one later on.
So Google itself won’t hit that URL periodically for updates?
Yes, it should. What I meant was: any time anything (your browser, Google, etc) goes to the iCal page (the one you’ve given to Google) it’ll get the current data at that time. There’s no caching on that. How often Google does that is up to them though…
I think it’s worth adding the backend support for choosing a goal subset before the frontend support. I don’t mind adding &ignoreSlug=foo,bar to the URL by hand!
https://github.com/palfrey/beeminder-calendar/issues/4 🙂
Patches welcome!
absolutely superb idea!! I added the url and the new google calendar shows under other calendars as active with a unique colour. Looking at the url there are 5 fail days this month but none are showing for me in gcal….checked on firefox & chrome…hmmmmm….
No idea then. If it’s showing up as “Beeminder calendar for ” then it should be working!
It actually shows as the url http://beeminder-calendar.herokuapp.com/calendar/….. rather than “Beeminder calendar for ”
Then something may be broken 🙂 Go to the URL for the calendar, and see if you get a bunch of text (iCal data). If you get “internal server error”, then there’s probably an auth error (bug to fix that is https://github.com/palfrey/beeminder-calendar/issues/1). Go back to the first page, re-auth and use the new URL as a new calendar entry,
Pingback: Press Roundup 5 | Beeminder Blog
There’s no calendar URL for me, just a .ics calendar that firefox wants to download and then statically add to korganizer. Maybe you could provide a way to copy-paste the calendar URL?
(setup: up-to-date Ubuntu 14.03 LTS and its default firefox and korganizer)
Possibly try another browser? Looks like Firefox is trying to be smart and getting in your way… Alternatively, download the file, then look in your download history for it’s URL. Or help me fix https://github.com/palfrey/beeminder-calendar/issues/3 which covers this properly 🙂 Patches welcomed!
Hi,
This has stopped working for me. Any ideas how to get it working again? It used to autoupdate, but now…
Probably the auth token issue mentioned in comments further up the page. Try going back to http://beeminder-calendar.herokuapp.com/ and generating a new calendar URL, as this tends to fix most issues
Thanks, but when I do that all I get is an .ics file which downloads to my desktop. I can import that file, but it’s a static import. I don’t get any URL which I can then add as a ‘subscription’ in my calendar, if that makes sense…
Have a look in your browser’s download history. Where the .ics came from is the URL you want. Alternately, someone needs to get around to finally fixing https://github.com/palfrey/beeminder-calendar/issues/3 …
Perfect. That did it! Thanks.