Zeno Polling

Sunday, June 23, 2013
By dreeves

Diagram illustrating Zeno's Paradox

It’s been six months since our last crash of ineptitude so it’s time to disabuse you of the notion that we may have gotten our act together since then!

The backstory is that we’ve been fortunate enough to have some scaling challenges — mostly due to our ridiculous architecture — so we decided we could cut way down on our automatic checks for new data (for goals with automatic data sources; see also the list on the beeminder.com front page) by introducing a refresh button on the goal page. We went from automatic hourly checks to only checking once a day, with the consolation that you can hit that refresh button at any time to see exactly where you stand right now.

That change led to a lot of problems. We even briefly had a bug where your graph could show up orange or blue or green all day (if you didn’t refresh it, which we had trained people to not worry about doing!) and then suddenly derail at midnight. We fixed that one the same day but it was only the tip of the iceberg. GmailZero users were most thrown by the changes, both because inbox counts can fluctuate wildly and because the bot used to relentlessly bug you on emergency days for GmailZero goals.

If your name is “Beeminder” then reminders really need to be part of your core competency! So we refunded all the pledges for recent GmailZero derailments. If you derailed due (even in part) to lack of bot reminders and you didn’t get an email [1] saying we were refunding your pledge, please let us know.

That brings us to our new feature, which we hope is going to be the best of all worlds: Zeno polling. The bot bugs you at whatever time you’ve chosen (9:30am by default, in your local timezone) but if it’s an emergency day it refuses to give up. [2] It schedules another reminder half-way between that initial reminder time and midnight. When that reminder goes out, if you’re still not on your road, it schedules another, again, halfway between now and midnight. This repeats until you get yourself on the yellow brick road, or until midnight is reached. If midnight can ever be reached!

“If it’s an emergency day the bot refuses to give up.”

To the uninitiated, this may seem super spammy but what the uninitiated don’t appreciate is ohmygod you’re about to derail!! It works especially well for GmailZero since you’re in your inbox anyway, hustling to get enough messages archived, so those reminders are timely and helpful as you get down to the wire. (And recall that they don’t count against you if you ignore them, since only Read messages count for GmailZero.)

Since GmailZero in fact used to work this way, and we personally liked it, we’re turning this on by default for GmailZero goals. For other goals — even goals with manual data entry — you can turn this on in your email settings. If the goal has an automatic data source then this feature means we update your graph on emergency days more and more often as midnight approaches. If the goal is manual, this feature merely spams the crap out of you as you come down to the wire on an emergency day. Think of it as added inducement to get your beemergencies dispatched earlier in the day.

UPDATE 2013-11-13: Zeno polling is now on by default for new goals.
UPDATE 2015-09-30: Zeno polling is now not only on by default but we make it purposefully rather non-obvious how to turn it off. (Answer: make your Zeno start time be 1 minute before your deadline, or set your number of days lead time for getting reminders to -1). We think the right way to stop Zeno polling is to dispatch your damn beemergency (i.e., get back on the yellow brick road) and if you disagree we want you to prove you’ve thought about it!


Image credit: The Sylmar Scribbler


[1] Here’s what the mea culpa email said, with variations for people who derailed without a pledge:

We had a bug with gmailzero reminders so we’re going to assume that your recent derailment ($___ on June ___) was not legit and refund it. If it *was* legit let us know but by default we’re letting you off the hook due to our bug. Sorry about the confusion and hassle! Let us know if anything still seems off at all.
Danny and Bethany
PS: Again, you don’t need to do anything or reply to this. We’re just paranoid about bugs that make people derail so we’re doing refunds on recent gmailzero derailments to be safe.

[2] We just frantically deployed this and are scrambling to make sure reality matches this blog post. We’re especially nervous about turning this on by default for all GmailZero users but will do so shortly, after a bit more testing. We would’ve waited one more day but there’s $810 riding on publishing this by midnight! We’ll replace this sentence with an update when we’re reasonably sure all systems are go with zeno polling. UPDATE: I feel weird doing silent edits (especially after that sentence stood for days longer than I intended) so I’m instead appending this sentence to say that all systems are go: on by default for gmailzero and you can turn it on for any other goal.

Tags: , , , ,