Use Complice to Beemind Arbitrary Tasks

@grayson, your Complice and Beeminder accounts are inspiring (in the literal sense; they’ve inspired me to switch up some of my goals). I hope you keep them up, and keep them public!

3 Likes

Thank you, @henryaj, for such rewarding feedback!

After some initial issues I seem to have gotten this working properly (thanks for the online support!)

One remaining niggle, however: when I complete a task or assign a pomodoro, Complice always records it in Beeminder using Beeminder’s idea of what the current day is - so for example, if I have beeminder goal that has a morning deadline and I complete a related Complice task in the afternoon, it logs it in Beeminder with tomorrow’s date (even though the Beeminder datapoint comment has today’s date on it).

I can sort of understand why it behaves this way, but for the record: after thinking through how I use Beeminder and (so far) Complice, I can’t think of a single case where I want it to work this way. I always want data recorded in Beeminder with “today’s date” (i.e., possibly yesterday’s date, if it’s after midnight but I’m still awake), even if the Beeminder daily deadline is past.

1 Like

Great feedback! This has been an issue for @mary in the past too, though I think we found the best of both worlds in her case by including the calendar date in the data export.

I think Beeminder needs to stick to its guns on this – the deadline marks the end of that day as far as Beeminder is concerned because other things get confusing in worse ways if we try to be smarter about that.

I wonder if @malcolm could address this on the Complice end by giving you an option to submit the datapoint for the previous day if it’s (a) after the deadline but before midnight or (b) after midnight but before the deadline. (We call case (a) an earlybird deadline and case (b) a nightowl deadline.) Or actually if Complice just gave the date explicitly (as a daystamp, as we call it) I think that would work fine.

Yeah I think I just need to include the day explicitly, which is easy since
I already have it :slight_smile:

…and… done!

2 Likes

Doh! That had a bug! Can you revert for now and see email from @bee?

Saw her email and have fixed bug in a non-reverty manner*.

(It consisted of changing user.today.ymd.replace(/-/, '') to
user.today.ymd.replace(/-/g, ''))

1 Like

Hi Malcolm, this integration is awesome and I use it everyday. Is there a way to add negative data to beeminder when I fail to finish a task (i.e. when I submit an unfinished intention at the end of the day)?

Here’s my specific situation:
In an attempt to replicate the life “score” feature of Habitica using Beeminder and Complice, I’ve created a score chart in Beeminder and used the arbitrary tasks integration to pull in an associated point value with each task. I like it so far. It’s very motivating. However, I need a way to give myself some pain when I fail to complete an intention. Does that make sense? Maybe there’s a way to solve this already that doesn’t rely on the feature mentioned in my question above.

Thanks!

–Daniel

1 Like

Hey Daniel!

Yeah, I don’t think this is possible atm. The way I’d end up doing it would
probably have to be upon outcomes submit, because otherwise the mere
existence of a task not-yet-done would need to be represented as a -1 in
beeminder.

If the arbeetrary feature worked on outcomes, not just tasks, that would
work, but as it is, nope.

So I guess I could have a global and per-goal “notdone” count. Would it
need to go in as a negative? Or would you use a do-less goal?

1 Like

No problem. I’m very excited to have it working even at this basic level
for now!

Not-dones would need to go in as negative. I want my life “Score” (
https://www.beeminder.com/dtedesco1/score) to add X points if I complete a
task and to go down the X points if I don’t. If for instance, I assign
myself “&) call mom: 5 points”, Beeminder Score should += 5 when I
complete it and -= 5 if I submit it as not-done. Does that make sense?

You sparked one idea: I always could, upon submitting, manually turn all
unfinished intentions’ scores into negative numbers. But I have a feeling
that’s too much upstream work for me to stick to it.

1 Like

Gotcha, yeah. I’ll consider it!​

I did something similar for my “read more Instapaper articles” goal. I have it subtract one every time I add something to Instapaper, and add one when I archive; this way, if I read more than I add I will stay above my Do More line.

Of course, all of this would be trivial to set up if we had an IFTTT integration for Complice nudge nudge

1 Like

Worth noting that IFTTT control who they allow to create a channel, so first @malcolm would need to submit a request, and then y’all would have to agitate in IFTTT’s direction to encourage it toward the top of the stack.

It took years for Beeminder to get approved. Oldest email I can find on the subject dates from October 2012 and the integration went live in May 2015.

1 Like

I think it would be useful to beemind most important tasks. Often with my accountability partner if something comes up we’ll say “$100 to you tonight if I don’t do XYZ”
sometimes there is some inertia around placing those types of bet. For him, it often becomes a line item in his list of todos to place a bet with me :slight_smile:

It would be great if I could either star a task or just tag it with “MIT” “BET” or something else. Then I’d have a beeminder goal that derails if this is left incomplete. It could be a do less that gets incremented with incomplete tasks.

I’m not sure entirely how to get this working or if it’s possible since the complice beemind arbitrary things feature works on task completion. Really I think what I want is the “Beemind % completion” but rather than having it apply to all tasks, I want it to only apply to a subset that I specify some filters for. Also if I have 0 tasks I’m betting on in a day then 0/0 complete should also be 100% :slight_smile:

Thoughts?

1 Like

What about feeding data from 2 mechanisms into 1 goal?

Make “fail no dares” beeminder do-less goal (0 per week) and ‘bets’ complice goal.

Feed number of intentions in ‘bets’ goal into beeminder.

Through ‘beemind arbitrary things’, feed number of completed bets with a multiplier of (-1).

If you get into 3 bets and finish all of them then you have 3 (+1)s as you add bets 3 (-1)s as you complete them.

You can also track intentions through ‘beemind arbitrary things’, I think. By using negative multiplier on bets themselves and positive multiplier on bet completions, you can even get away with do-more goal.

Well, in theory. I don’t know if it would work, but it might:)

However, I’d also advise experimenting with beeminding number of pomodoros. Sometimes outcomes are just not your fault; beeminding number of pomodoros gets stuff going.

1 Like

That’s a really clever solution. The ideal improvement would be to use the
starred tasks instead of a separate complice goal, but I think you’ve found
a way to cobble together what I was trying to do. In fact, I just set it up
and I’m eager to see how it works over the coming week. Thanks for the
advice daerdemandt

1 Like

Is it possible to also submit pomodoros, that are not “generated” in Complice? For instance, suppose I forgot to start the pomo timer, then at the end of the day, when submitting outcomes, I will manually edit the (did X pomos), but as far as I can tell this is not sent to Beeminder. Any way to set this up?

1 Like

You can add one more integratoin with the same goal. Make it look for text like “I actually did a pomo on this goal”.

Then, any time you’ve done a pomo but forgot to track it you can just add new intention with the same text and immediately check it as done.

However, doing this is waay easier than actually doing a pomodoro, so eventually you might find yourself just checking off that pomodoro with some plausibly-looking justification (“Well, I’ve done X and that more or less qualifies”), and then maybe not so plausibly-looking one and then just because you’ve used this workaround dozen times already.

To prevent this, I’d recommend:

  • Using some sort of gibberish in the text. If you can’t remember that gibberish, it would be easier to input the pomo correctly than to dig up the code from the settings page
  • Adding one more integration for do-less “times I forgot to input pomo data the right way”. This way you can forget to input the pomo data from time to time but you can’t get used to this workaround.

Also, make sure to refresh goal data after you add pomo to a task - sometimes data doesn’t go through but I can’t reliably reproduce that

2 Likes

OK, so I just used this for the first time (had a meeting/talk I want to count towards my goal), and it’s actually easier than I thought. Simply submitting an intention as “1) do a thing (did 2 pomos)” will count the pomos in Complice, and will send them to Beeminder. Not sure if this is intentional? Appending text à la “(did 2 pomos)” to an existing intention does not generate free pomos.

This is indeed very easy to abuse, but I don’t think I’m much at risk.

2 Likes

Hi @malcolm, I hit a snag on this today, and I’m not sure why. Here’s the situation:

I have an arbitrary task set up as so:


.
And today’s task was this:

.
But it didn’t trigger a data point to my Beeminder spanish goal when I marked it complete. Any insight on why? According to regex101.com, it should have worked:

1 Like