UPDATE: As of 2016 this now works exactly as Alys prescribed.
An akrasia-proof Delete My Account button that starts a one-week countdown. Also need a persistent banner with that countdown everywhere on the site (and what about the mobile apps, and the bot emails and SMSes?) with a nevermind button.
Alternative: Countdown to deletion starts but if you use Beeminder again then it somehow prompts you to reconfirm before actually deleting. (With some magic to account for auto-data goals.)
Web-copy for the delete button:
Making it hard to delete your account is a particularly stupid dark pattern, BUT… the whole point of Beeminder is to hard-commit to things, to put your flaky future self on the hook. So if you could instantly delete your account, that would defeat ze entire point of ze commitment device. Of course email email@example.com if you really need it to be immediate for any reason.
Alys’s suggestion: Allow immediate deletion of the account if there are no active goals or if all goals are less than a week old (i.e., if all goals could be deleted immediately). Or for simplicity, allow immediate account deletion if the account is less than a week old. This means that people trying out your service and deciding it’s not for them can delete their account immediately, which should cover almost all the people who might complain about a delayed deletion. I know that if I was using an unfamiliar service and discovered I couldn’t remove all my details straight away, I’d think that was really sketchy. Users who’ve been around for more than a week are more likely to understand the akrasia-proofing of immediate deletion.
Should it be possible to delete your account and then create it again with the same username/email? Fully deleting the account means not remembering the username/email but we could conceivably hash them. We don’t really like the loophole where you can avoid ever pledging money on a goal by nuking everything and starting over when you derail.
Alys’s opinion: Yes, it should be possible. Email accounts can be deleted and then reused by other people, especially those provided by your ISP (maybe that’s just an Australian thing, but still). Not fair to prevent someone using their email address just because a previous person owned it. Same for usernames, although less important. Also, if you do prevent reuse, the message you give to a user trying to reuse them would sound dodgy. Either you say “You can’t use that username because it was used for a deleted account” (confuses them if they haven’t used Beeminder before because they won’t understand why it would matter) or you say (untruthfully) “You can’t use that username because it’s already in use” (freaks them out if they are a returning user and they thought their account had been deleted).
UPDATE: Alys’s opinions and suggestions are exactly correct.
Big fine print on the Delete Account button: (UPDATE: vetoing this since it’s too nasty-seeming. It’s probably exquisitely fair and correct, but doesn’t sound nice so better to just talk to support.)
To keep from defeating the point of Beeminder and letting you delete your whole account in a fit of akrasia when you’re about to derail, we actually CHARGE ALL OPEN PLEDGES before deleting your account. If that doesn’t feel fully fair, talk to us — firstname.lastname@example.org — and we’ll definitely accommodate. We just need to understand what happened in such cases.
Of course if you have no pledges then there’s no such effrontery. The destroy-everything button just works (with the usual “no takebacks” warning).