« Beeminder home

Beeminder Blog

A bee looking in the mirror

Imagine if signing up for Beeminder meant committing to use Beeminder. As part of signing up, you’d create a meta goal measuring the number of total datapoints added on all your other goals. Now the clock would be ticking to get an object-level goal created and to start adding data to it! [1]

That vision may be reality soon, now that we have a rough version of a Beeminder Meta integration. In the meantime, we’ll let you power users set up such goals yourselves if you want them. We do think it makes for a nice Quantified Self metric, to see a graph of the total number of datapoints you’re adding across all your goals. [2]

Backing up, the Meta integration means treating Beeminder itself as an official integration where the metric is “number of datapoints added on any of a list of Beeminder graphs”.

The most canonical use case for this is probably a weigh-ins goal to pair with your weight loss goal. This has been a pretty huge pain point for many people (including ourselves) with beeminding weight. Namely, you hit your goal weight and want to beemind keeping your weight stable, but there’s a massive loophole. You can just stop reporting your weight and have infinite safety buffer.

(This can also apply to beeminding the size of your email inbox.)

Even if you just have a very shallow bright red line on your graph — which we think people should for weight loss — a milder version of the problem still applies. You get weeks or months of safety buffer whenever you dip a bit below the line, and then you gradually gain weight while avoiding the scale. When you finally have to weigh in, you’ve backed yourself into a corner!

The solution is a meta goal tracking how often you weigh in. Here’s mine, which has been connected to my weight goal by IFTTT until now:

Screenshot of Danny's weigh-ins goal

And of course this is more general than weight and weigh-ins. Any time you want to beemind a thing and also beemind how often you enter data for that thing, you can now hit up beeminder.com/metaminder to create a meta goal and choose its source goal:

Screenshot of the meta goal creation UI


One potential thing to watch out for in this initial implementation is that if you have an autodata goal pushing to a meta goal and the autodata goal has plenty of safety buffer but it’s a beemergency on the meta goal, Beeminder is unaware of the urgency on the autodata goal and may not fetch data fast enough. (Normally Beeminder is careful to do a final fetch of autodata before derailing you.) As long as you’re aware of this you can just hit the fetch button on the autodata (main) goal to make sure it’s fresh in time.

This is really the same principle of “this goal is red, what does it need / where does its data come from? I better make sure that data is the latest data!”. And to be clear, there’s no delay between the main goal getting data and the meta goal getting its +1 so this is only an issue for an autodata goal that may be waiting on data from the autodata source and a meta goal waiting on that autodata goal. We’re working on making the main goal aware of the meta beemergency and do more frequent auto-fetches so you can safely think about this potential gotcha even less than this.

For manual-data goals — and some autodata integrations where the integration pushes new data to us immediately — there’s no issue here at all.

We’ve also helped avoid any possible freshness problem by making the choice of deadline be part of goal creation for meta goals — something we plan to do for goal creation in general anyway. The UI encourages you to set the deadline on the meta goal slightly after the deadline on the source goal.

The Future

We’re pretty motivated to keep improving this, since we need it for a million crazy use cases for ourselves, Beeminder power users that we are. High on the list (after smoothing out the above-mentioned gotcha) is the ability to echo datapoints from one goal to another. We were tempted to start with that version, since technically you can achieve the +1 use case by applying an aggday. But that’s pretty deep down the Beeminder rabbit hole and we wanted to make sure the more common use cases — like the weight + weigh-ins case and the “beemind entering data” case — were accessible to newbees. (Also we took a straw poll in a daily beemail and 75% of you agreed that +1’s are the better metric to start with.)

As soon as we have mirroring of data from one goal to another you can have use cases like having both an ambitious goal with a low pledge and a bare-minimum goal with a high pledge, both with the same data that only has to be entered in one place.

Another simple improvement is to let you select multiple source goals all at once when creating a meta goal. The current workaround is to go to the settings of each source goal and paste in the URL of the meta goal as the destination to push to.

After that we may want to replicate what you can currently do with IFTTT macros to extract and transform data in fancier ways. Maybe you want to beemind the wordcount from all your Beeminder datapoint comments? Beemind the time of day that datapoints are submitted? Or apply exotic functions to your datapoint values? Tell us your use cases!

In the meantime, simple +1 meta goals are at your service:




[1] One of the reasons we first got it in our heads to make a Meta integration was how it beautifully complements auto-canceling subscriptions. We’ve actually had complaints about auto-canceling subscriptions because auto-repeating subscriptions are a kind of commitment device to get yourself to keep using the service. Well we sure as heck have a better solution to that problem! An overarching meta goal to beemind your beeminding also helps with the common problem that people feel overwhelmed or paralyzed upon signing up. Having a starter goal like that could really help. Besides, you’re signing up for Beeminder because you want to commit to things so why not dive in by committing to use Beeminder itself?

[2] In the current implemention this is a bit tedious: you have to go to each source goal and point it at your meta goal, and you have to remember to do that for any new goals you create. Plus you can’t currently push data from a source goal to more than one meta goal, so you couldn’t do this and also have, say, a weigh-ins goal for your weight goal. We’re excited to lift these restrictions and hope you’ll holler at us if you are too!