beemind.me extra integrations

Hi All,

I’ve been using beeminder for more than a year and I love it. A while a ago I realized there are few more things I wish to track that have no native support. One of them is the procrastination level on a trello board. As I see it, the problem with current metric of counting trello cards moved to “done” is some cards tend to get left behind indefinitely. Very quickly my list got long enough so I won’t even notice the cards at the top. My proposed metric is to score a point for each day a card has been left without activity. Similarly, I use getpocket.com app for my reading queue and noticed some articles left there indefinitely.

So I made a simple web app to solve my problem. You can find the code here and it is currenly hosted at beemind.me

At the moment I have 4 integrations implemented.

  1. Daily steps from google fit api.
  2. Trello board “debt” - one point for every day a since a card’s last activity.
  3. Reading “debt” from getpocket.com.
  4. typing practice on tryperacer.com

These are the ones that I personally missed the most.

In order to use the app you need to create a goal in beeminder.com For google fit steps, “Do more” should work well. For trello or pocket, “Whittle down” is what suggest.
After creating the goal you can select it under “setup” page of the app and hit save.
Every round hour the app wakes up to send new values to beeminder.
To configure the goal you need to click “connect” for one of the providers then click “setup” and select the beeminder goal from the list.

Love to hear any feedback,
Gal Tsubery

9 Likes

Ah I’m definitely going to check this out for Trello. The “move to done” metric doesn’t work for me because the important thing (for me) is whether I’m keeping up with the creation rate, so you can’t set the road slope to anything sensible.

1 Like

This is absolutely brilliant! I’ve started using it for Pocket and Trello and Google Fit.

Your scheme for minding procrastination is especially smart. Ie, the metric is total days of neglect – the sum of the ages of all the items. Braden Shepherdson (@shepheb) proposed a similar metric for beeminding backlogs, namely the sum of the squares of the ages, which would more aggressively prevent items from starving. I’m hopeful that your metric will suffice, since it has a more intuitive real-world meaning.

I think my first feature request would be zeno polling. Looks like you’re currently polling for new data hourly? I think that’s bad for people who come right down to the wire. I’d actually love to talk more about this problem in general. This is something we want to make easier for 3rd party integrations.

Thanks so much for building this!

PS, bug report: It doesn’t seem to remember my choice of Trello board when I go to the beemind.me settings for Trello.

1 Like

Thanks for the compliments :smiley:

The naive way I could support zeno polling now is to use ‘losedate’ attribute determine the frequency of polling.
This would basically duplicate some of the zeno polling logic you have. It is also inherently inefficient as I’d need to make sure to send a datapoint before beeminder checks the lose-status, in practice meaning polling very frequently, possibly hitting providers rate limits, etc.

With that out of the way, I can think of two reasonable ways to support it. The first is using a webhook on the 3rd party app that beeminder will access to trigger an update. The down side of that is it only supports web apps and requires handling authentication. The second is returning a suggested timeframe for the next update whenever a datapoint is added using the api. If derailment calculation is costly and/or performed in the background, the later might be harder to implement.

Regarding the bug the Trello goal form, it was actually being saved but not “preselected” when you get back to that page. It should be fixed now.

There are several notable features missing, like deleting integration or disconnecting a provider.
I’m curious to see if people will actually use this app before adding “convenience” features.

1 Like

Thanks for the immediate bugfix!

Before worrying about zeno polling, maybe a simple button on beemind.me to force a fetch of latest data?

Then, as you’re suggesting, I’d love to talk with you and @bee about how we can let applications register a callback or something so that hitting the refresh button on Beeminder (above the graph) triggers a new fetch for a 3rd party integration like this.

One more feature request: I have a DONE list and a DROPNIX (either dropped or nixed) list in Trello. I’m guessing you always archive cards that aren’t relevant anymore? I think it would be nice to explicitly choose which lists count, or which don’t count.

(I’m also wondering if this Trello neglect metric isn’t too loopholey, the way you can idly shuffle cards around to zero their official ages. Related: I highly recommend turning on Trello’s card aging feature – makes cards visibly fade as they get stale.)

1 Like

@galtsubery if you could solve the time one falls a sleep in Sleep As Android, that would be great.

Also, I don’t understant how to connect my newly created goal for trello to beemind.me

1 Like

I do archive cards when I’m done since I don’t collaborate on that board.
Sounds like selecting partial lists is a necessary feature to make this integration useful for other workflows.
I’ve opened an issue on github for that.

I think you are right, It might incentivize unnecessary churn. My specific problem was the opposite, some cards were neglected for long periods. It shouldn’t be hard to implement different scheme for different workflows or problems. My guess it would be harder to explain and get people on board :smile:

1 Like

@smokenflames I’m actually waiting to get access to their API as I want to track wake up time for myself too.
To set up the app with your trello you should sign in with your beeminder account, click “connect trello”, click “setup trello”, choose a board and click save. The next time you go into the setup trello page you should see your current score. As Daniel mentioned, the app currently counts all the cards in the board so keep that in mind.
Let me know if you encounter any problem.

1 Like

I have added a button that refreshes user’s scores.

1 Like

does the app push my current score to my trello goal?

You need to click “setup trello”, select the beeminder goal, select a trello board and press the save button.

Yes, I can confirm that it sends your current score to Beeminder whenever you hit the “Get new scores” button (and also hourly).

As of now, Trello setup page allows users to choose individual lists.
I converted all the previous boards selections to the lists to keep the same behavior.
You can change that default here.

1 Like

Works like a charm for me! Especially cool that you can pick an arbitrary set of lists across different boards!

(Pro tip: hold down control or command while clicking to select multiple items from the list of Trello lists.)

it would be awesome if you cuold include an anki card support in the same
way you manage trello cards

Alejandro Sánchez

Flashcard integration is actually pretty high on my todo list for this
project.
I thought about using quizlet as they provide a web API. Do you know of a
way to integrate with anki?

2 Likes

I’m testing out the Trello Debt service, as the approach resonates well with me. However (it could be just me doing it wrong), I have some “issues”. Beyond the 1, 2 or 4 week markers by the Show Age plugin, there is no way to see the age (in days) of the cards at a glance. At the moment, all of my tasks are less than a week.

Now, Beeminder only tells me how much “work” I should do relative to the debt last midnight, even if later datapoints suggests that I actually need to do more, and the debt (if I do nothing) will most likely have reached an even higher score by next midnight.

So I think that for this to work the best for me (and I totally understand that these are things I can’t expect anyone (except possibly myself) to do :smile: ), I would want 3 things;

  • That Trello showed the age (in days) as a number on the cover of the cards. I suppose this would be fairly simple to implement as a Chrome plugin or similar.
  • That beemind.me can estimate the score at the next day turnover point for my goal (is that goal information available from the Beeminder API btw?). I wouldn’t have minded helping out with this, but I’m very not into Ruby.
  • That Beeminder can show the delta to be relative to the last datapoint rather than the one from the day turnover point, and/or also accept an estimated value for the end of the day through the API.

Apart from that, lovely service! Do you have a plan for how to support the costs once the Beeminder hordes discover it? :smile:

3 Likes

Hi @galtsubery,

First of all I’d like to thank you for bringing us such interesting integrations with beeminder.
I’m glad to know that flashcard integration is a priority to you because like @smokenflames I’m also a Anki user.
I don’t know nothing about programming, but there is an Anki add-on called “Beeminder Sync”, maybe you can use some of its code.

https://ankiweb.net/shared/info/3491889895

Best Regards,

Max

2 Likes

Thanks for the support. It’s really nice to know other people find the app useful.

Regarding Trello end of day estimation, It is not complicated to calculate the value, but it requires the app to be aware of the user’s timezone. The only way I can think of is to sync it with Beeminder continously. Seems like this will be useful for other purposes, So I’ll hold on to that idea.

Is there something missing with the “Beeminder Sync” add on?

3 Likes

Beeminder knows the turnover time for a goal, so this is information the Beeminder API could (should?) provide.

1 Like