WordPress / five-for-the-future

Plugins and themes for the Five for the Future subsite
https://wordpress.org/five-for-the-future/
44 stars 21 forks source link

Tracking contributions: meeting attendance #180

Open tellyworth opened 2 years ago

tellyworth commented 2 years ago

Dotorg profile activity streams could include meeting attendance, like:

Attended a meeting, Meta Chat

I can think of a few ways of doing this.

Implicitly: the meeting calendar gives us the time and Slack channel of each meeting. A bot could scan the channel messages in that time window and record users as attending based on messages and reactions.

Explicitly: post a message at the beginning of each meeting saying “react to this message if you’d like to note your attendance”. The message could be an automatic bot, or triggered by the meeting chair.

Mixed: implicitly detect attendance (either automatically or triggered by the meeting chair), and give users a profile setting that determines whether or not to show the activity on their profile.

There are potential issues of privacy and etiquette to discuss, so it'd probably be helpful to find a team that is willing to test a prototype first.

courtneyr-dev commented 2 years ago

Several teams, like Marketing, do not use the Meetings calendar. I inquired why and they indicated they didn't know who to go to to get access.

I like the idea of automation, but would ask more effort go into ensuring teams use the calendar and have access. If they have special one-off events, such as a release party, that would need to be added as a one-off event.

Also, teams might remember the calendar exists and make use of it more if there was a way to have a widget/block/shortcode on team sites that lets folks subscribe to the team calendar and/or embed a list of upcoming events.

tellyworth commented 2 years ago

Those are great points @courtneyr-dev. What do you think of the idea of a section in the Meta(?) handbook about the meeting calendar - how to edit, how to subscribe etc. Other teams could copy and adapt that section to their own handbooks if they have team-specific things to add.

There is a [meeting_time] shortcode that some Make p2s use to display meeting times - see the Meeting Times sidebar on https://make.wordpress.org/meta/. It would be better as a block, but it's a start. I could throw together a quick draft of some handbook docs if you like.

angelasjin commented 2 years ago

+1 to the handbook doc that @tellyworth shared. And to @courtneyr-dev 's point, we'll need messaging (and probably reminders) to Team Reps to use the shortcode and calendar.

Also, something to add to Team Rep onboarding in the future.

tellyworth commented 2 years ago

As an initial version, would it make sense to have an explicit command in Slack like /meeting? Have it output a message like "react to this to record your attendance". That way it's opt-in both for teams and for individuals. We could add some automation features based on the meeting calendar data later as we learn more.

angelasjin commented 2 years ago

What do you all think about making a distinction between hosting a team chat vs. attending a chat? This came up in one of my conversations around tracking contributions.

timiwahalahti commented 2 years ago

Yes! Hosting a meeting is different in nature than just attending and requires a bit more, acknowledging it individually could also help get more meeting hosts.

iandunn commented 2 years ago

an explicit command in Slack like /meeting?

I worry that it won't get much usage because people won't know it exists, and will forget to use it.

If we automate it, and there are teams that don't want to use it, it'd be easy for us to just turn it off for their channel.

Are there any teams that don't want it? A p2 discussion might be better for that, since they won't be following GH repos.

distinction between hosting vs. attending

I like that idea, but I'm trying to think of a good way to identify who the host is 🤔

ghost commented 2 years ago

Good

timiwahalahti commented 2 years ago

I like that idea, but I'm trying to think of a good way to identify who the host is 🤔

Maybe this should be done via props instead?...

iandunn commented 2 years ago

How do you see that working? Someone posting a message in #props like, Thanks to @example for hosting today's Community meeting ?

Ideally it'd be automated IMO, but #props could fill the gaps if we can't figure out a way to.

StevenDufresne commented 2 years ago

Could we grab all users who interacted on any thread (emojis or comments) during the official calendar meeting time in the team channel?

tellyworth commented 2 years ago

We could use the calendar, but as @courtneyr-dev mentioned earlier not all teams use it. (That's a separate problem to solve elsewhere!)

I think the easiest way to move forward with this issue would be to monitor for @here announcements in selected channels, and use reactions to the announcements to count attendance. The person making the @here announcement could be credited as the host.

I checked some common channels for use of @here, and it looks like they're pretty much exclusively used for announcing the start of meetings or triage sessions:

@here howdy howdy ! Who’s around for devchat?
@here APAC-Friendly Early Bug-Scrub for 6.1 starts in about 13 minutes
@here <new-contributor-meeting> :wave: Hello everyone! Who's around for the new contributor meeting?
@here howdy :person_doing_cartwheel:  who’s here for an early tickets and feature requests 6.1 <bugscrub> ?
@here Hello! Who’s ready for another APAC-Friendly Early 6.1 Bug-Scrub?
@here howdy howdy! Who’s around for the first Core handbook sprint?
@here howdy :person_doing_cartwheel: let’s start a bug scrub for  feature request and early tagged tickets!
@here <meeting type=“meta”>
@here Hey everyone! Who’s here to chat about hosting? <meeting type="hosting">
@here :wordpress: 1. Hello and welcome to our weekly Global WordPress Marketing Team meeting!
@here Hello! Anyone around for a Media component <meeting>?
@here core editor chat starting
@here <meeting #core-auto-updates>

Those are probably too varied to catch automagically. Instead let's just recognize a simple format: any @here message in specific channels containing the string meeting (case-insensitive). Count any reaction to that message within an hour of posting as attendance. Optionally, count the person who triggered the message as the host. We can let team reps and meeting organizers know about it, and they can decide whether or not to make use of it.

That obviously doesn't cover every case or every idea here, but it should be simple to build and it's enough to move forward with. We can tweak and enhance it later based on feedback.