devict / devict-hubot

devICT Slack Hubot!
http://devict.slack.com
10 stars 13 forks source link

Plugin for tracking / awarding activity in #get-moving #26

Open sethetter opened 8 years ago

sethetter commented 8 years ago

Need ideas for how to make this work, but the general idea is to have some way to keep track of and reward people for being active in the #get-moving channel.

Some default way of logging activity? I think best way to measure would be on frequency, since intensity of work and capability will be different from person to person, but exercising often should be the general goal.

@br0xen's stat bot might be good for this too.

Thoughts?

aaronarduino commented 8 years ago

Is there some way for people to upload activity data from their phones? I think Misfit has an API.

3gcodes commented 8 years ago

/bot workout bla bla bla ? If we want to trigger the tracking. And/or linking to specific tracked data. URL recognition? Runtastic, Garmin Connect, Nike, etc.

mcgraw commented 8 years ago

Not sure how fancy we can get here, but here are some general thoughts.

Record Workout As you mention, the frequency should be the motivator. i.e. If a person goes for a walk, that should count! A person records their own workouts.

bot workout or bot motivated

Bot then records +x points (20 sounds like a good number)

The bot should throw a motivational phrase at the person (and room, in general) for getting out there and breaking a sweat!

Inactivity If you record a workout, and time has passed since your last workout, we should deduct points. Not crazy severe, but enough to show how lazy you've been.

+20 points MINUS 2 points for each day without a recorded workout

Special I think it would be extra special to reward those who compete in some activity; like a 5k, Marathon, Triathlon, Warrior Dash, etc.

bot competition or bot crushed

The point value should be fairly significant: +100 or maybe +250.

Peer Motivation Simple, but meaningful, system. Like our ++ system, this bot could record cheers or high fives and reveal that next to their award. Get folks involved & pump each other up.

player hi5

Awards Total point values could indicate a rank of some sort. These ranks should feel meaningful to attain. A person should not be able to get to the highest rank in just a year. When you hit a new level it's fun and super meaningful.

We'll need to jam out some rank titles. These could be more on the fun side (the froggy road warrior) or basic (color scale).

bot awards or pot activity

This would print something like:

sethetter, the froggy road warrior, has 2,445 points and has been cheered 85 times

...

I should get back to work now. Good luck & have fun! I'll help when/where I can.

3gcodes commented 8 years ago

Those are great ideas @mcgraw. I don't think getting too serious about inactivity is a good idea. For example, most marathon training programs have you taking days off. Shouldn't lose points for that. Also, sometimes, I just don't get around to checking Slack. Let's keep it all positive. No matter how much or how little, stay positive and encouraging.

br0xen commented 8 years ago

I've been toying around with the idea of integrations in statbot. So, for example, a way to register your github username and the bot will run a periodic maintenance routine that adds public repo data to your 'xp' and all of that.

The same idea could be applied here with any public apis.

On 11/24/2015 09:22 AM, David McGraw wrote:

Not sure how fancy we can get here, but here are some general thoughts.

Record Workout As you mention, the frequency should be the motivator. i.e. If a person goes for a walk, that should count! A person records their own workouts.

bot workout or bot motivated

Bot then records +x points (20 sounds like a good number)

The bot should throw a motivational phrase at the person (and room, in general) for getting out there and breaking a sweat!

Inactivity If you record a workout, and time has passed since your last workout, we should deduct points. Not crazy severe, but enough to show how lazy you've been.

+20 points MINUS 2 points for each day without a recorded workout

Special I think it would be extra special to reward those who compete in some activity; like a 5k, Marathon, Triathlon, Warrior Dash, etc.

bot competition or bot crushed

The point value should be fairly significant: +100 or maybe +250.

Peer Motivation Simple, but meaningful, system. Like our ++ system, this bot could record cheers or high fives and reveal that next to their award. Get folks involved & pump each other up.

player hi5

Awards Total point values could indicate a rank of some sort. These ranks should feel meaningful to attain. A person should not be able to get to the highest rank in just a year. When you hit a new level it's fun and super meaningful.

We'll need to jam out some rank titles. These could be more on the fun side (the froggy road warrior) or basic (color scale).

bot awards or pot activity

This would print something like:

sethetter, the froggy road warrior, has 2,445 points and has been cheered 85 times

...

I should get back to work now. Good luck & have fun! I'll help when/where I can.

— Reply to this email directly or view it on GitHub https://github.com/devict/devict-hubot/issues/26#issuecomment-159302718.

sethetter commented 8 years ago

The activity tracker I use is Runkeeper, not sure about API integration there.

Thanks for the notes @mcgraw! Awesome stuff. I think maybe instead of point deduction we can simply show points by week / month / quarter? That way you can compare last week/month to the current one or something along those lines.

mcgraw commented 8 years ago

@gdboling It's really just about being active. It doesn't have to be 24 hours, but I think you should notice if you've been inactive for a period of time (and other people should notice as well so they can shame you! ha-ha). Say 3 days, or, at the very least, an entire week.

br0xen commented 8 years ago

@sethetter : Since runkeeper gives you a public profile page (https://runkeeper.com/user/sethetter/) we could always just tie into that, scrape the page for data and update. It'd just be a matter of marrying this data with whatever other sites people are using.

mcgraw commented 8 years ago

Oh, and I don't intend that recommendation to be looked at in a negative light. It's an encouragement and self-motivation tactic.

In the same vein, something like @sethetter recommended would work just as well!

You'll feel the shame with either one of those!

mcgraw commented 8 years ago

I'd definitely be in favor of keeping it stupid simple before diving down rabbit holes. Let's encourage chat interaction & habits. Do the thing, share your win, get a few high fives (while you're in the chat), and get back to work.

br0xen commented 8 years ago

We could just create a plugin for hubot that whenever someone starts typing, the bot pre-emptively says "STOP TYPING, YOU SHOULD BE WORKING OUT."

mcgraw commented 8 years ago

v1.1 idea:

Strategy It would be nice, if I was just starting out on something, say, my first Marathon, if I could ping the bot for guides other chat members have used.

I'd prefer it to have some basic filtering/organization. Split guides into running, weight lifting, etc.

When we want to find guides for a particular area, the bot would barf them up.

bot guides running

I imagine it would let me add a page URL to the command.

bot guides running >>url<<

mcgraw commented 8 years ago

@br0xen SHUT YOUR DIRTY BITS BOT! Can't you see I've already recorded a session today!