I’ve sometimes had goalnames that were longer than I even wanted them to be so I could encode some metadata in the goalname. I highly suspect that other than writing a sentence as a goalname, which is what the folks at Beeminder appear to be trying to prevent, that most uses of long goalnames (especially with lots of hyphens / underscores) fall into this category.
Thing is, Beeminder actually has a tags feature! The problem is it has absolutely no UI, and because of this probably almost no one uses it regularly or even knows about it.
Allow me to make a proposal that I think would be minimally disruptive to anyone, yet dispense with the majority of “legitimate” use cases for really long goalnames:
- Tags are now hashtags. Everyone already knows what a hashtag is, so there’s no need to explain them.
- Hashtags go in the goal description. Any tags people have already created should be automatically added to the description. I’d suggest putting them at the beginning of the description; see next point.
- Anywhere that descriptions are shown, hashtags should be displayed in a visually distinct bubble. Anyplace that displays a list of goals (the bulk notifications editor, for example) needs to show these hashtag bubbles, whether or not the description is shown.
- There needs to be some UI around composing hashtag queries. It would be easy to go overboard here, but at a bare minimum it needs to be obvious how to limit a view to goals with a certain hashtag (probably by clicking on one of the bubbles I just described).
- (Optional) Arbitrary Boolean queries for hashtags (AND, OR, NOT, and parentheses). I think for the power users at whom this is primarily targeted (who have enough goals for it to matter) this would increase the usefulness a lot.
- (Optional) A UI to pick a bunch of goals and bulk add/remove hashtags would also make it a lot more usable.
EDITED TO ADD: Also, it’s ludicrous that tags aren’t even supported by the API, and you should fix that. C’mon, guys, it’s just an extra data field! EDITED AGAIN: Wait, it is a field in the goal data? I guess being unable to search goals by tag makes them pretty unusable through the API though… you’d have to get the goal data for every single goal a user has and then reimplement the tags actually doing anything useful yourself.
I really don’t care about any of the details here, but I am curious for anyone who has long goalnames whether making tags into a real feature instead of the pariahs they currently are would address your use case. Or whether they seem useful in general.