The other day year [1] doing support, we ran into someone with a goal named
“studying_4_out_of_the_8_first_hours_of_the_day”.
We were so offended by this that we’re writing a whole blog post about how not-ok that goalname is.
Beeminder is highly
opinionated software and our opinion is that, in addition to being aesthetically horrendous, goalnames like that are too hard to type or say out loud, too hard to remember, and they mess up page layouts.
“The new goalname length limit is 20 characters”
The above example is especially egregious because it hard-codes details of the commitment in the goalname. Goals need stable descriptors! I know there are some power users tearing their hair out here because they have legit use cases for long goalnames, like an elaborate naming scheme for goals and sub-goals and meta-sub-goals. We apologize for breaking your workflow but there’s just no way to allow long goalnames without newbees doing things like “goal-to-lose-at-least-10-pounds”. We’re generally very power-user-friendly but in this case, y’all are going to have to make do with our new goalname length limit of 20 characters.
The Goalname Prefix Trick
This is just a little sidebar to let you know about a handy trick with the Beeminder SMS bot. Instead of typing out the whole goalname, you can type only as many characters of it as are needed to disambiguate it from all your other goals. Even if you have dozens of goals, this is often just a few characters. Yes, this trick kind of undermines a bit of the point of this post, about how important concise goalnames are! It only mildly undermines it though.
We didn’t use to have a length limit on goalnames at all. A few years ago [1] we shrunk the length limit from infinity to 50 characters and grandfathered existing goals that exceeded it. We’re now doing that again but without the grandfathering because we want to get rid of the technical debt and special cases and just be able to count on goalnames being at most 20 characters. (Expect an email about renaming any over-long goalnames you may have.)
Case Studies, Cuteness, and Cantor
Our 12-year-old has always had a gift for naming things, including his Beeminder goals. When he was 6 he named his do-less goal for sugar consumption “sugarchew” and his names just keep getting cleverer. There was “japaneasy” for his Duolingo goal, “steparoo” for his Fitbit goal, and “squatshot” which is a dryland exercise for speedskating. Also “cluttermania” for helping declutter the house.
Let me also include some examples from a discussion with Cayenne Geis in which we brainstormed short names for several of their goals:
- investment-management → investoman (which sounds like a superhero; this one was Bee’s idea)
- shared-personal-software-work → softshare (Cantor’s idea)
- wanikani-maintained-progress → wanikani (since there’s only one) or progwani
- some-stuff-out-of-room → dejunkify or roomitoid or roominate
- fiddle-repertoire-review → fiddlestix or fiddlesticky (reviewing to make it sticky in your brain? Bee’s idea again)
My favorite goalnames from my own Beeminder goals include:
- “blarticle” for my backlog of articles to read in Pocket
- “eon” for my email-or-netflix temptation-bundling graph
- “vegdays” for my days-I’m-a-vegetarian goal
- “tweeb” for tweeting more as @bmndr
- “entomophobia” for closing issues in GitHub
More random ideas: “musclebound” for an excercise goal, “piggybank” for a goal to save money, or “weightforit” for reaching and staying at a healthy weight.
Onomastics is kind of a hobby of mine. If it’s not your thing, you could ask your friends to help you brainstorm good goalnames next time you have something new to beemind. That also gets you a big shot of social accountability for your new goal.
Conclusion
“Your goal description is where you can write out a sentence about your goal”
There are several practical reasons for concise one-word goalnames. Goals need to be referred to in email subject lines and the SMS bot where space is tight. Also the aesthetics of page layout, especially on small screens like for the smartphone apps, is easier with consistently sized goalnames. Another practical reason is that the goalname is used in the URL for your goal/graph and we are nerds who care about the aesthetics of URLs. [2] More generally, goals need stable descriptors: the name of your graph should persist through changes to your commitment. Your goal description is where you can write out a sentence about your goal and update it as you refine what you’re committing to. A goalname is a concept handle for your goal.
The answer to Beeminder’s persnicketiness about goalnames is to make up evocative, one-word neologisms for them. It’s a valuable constraint that makes it easier to refer to beemergencies you have, both out loud and when interacting with the Beeminder bot.
UPDATE: Well, we sent out the emails, thinking that we could deal with tricky renaming case-by-case, maybe add some legacy redirects as needed, grandfather anything where it really didn’t work. This was naive and I was wrong. There’s an overwhelming amount of pushback and so the new decision is all existing goalnames are grandfathered.
Footnotes
[1] We’ve been sitting on this draft for a while, ok? We’re now forced to publish it per our Pareto dominance commitment. Beeminder just got very slightly worse for a very tiny fraction of users — those who really like their unwieldy goalnames. We think it’s better on net but on net doesn’t cut it for the Pareto Dominance Principle. Unless we blog about it, which, voila.
[2] Malcolm Ocean (mostly of Complice fame but also creator of the best Beeminder command line client!) points out that slug-like goalnames are also necessary for interacting with Beeminder from the command line.
Image credit: Faire Soule-Reeves