Allow to record no-shows during feedback process

During feedback be able to mark if someone didn’t show up , and/or give trust.

At yesterday’s weekly meeting we decided to work on recording no-shows, but left out the part about giving trust which would require much more thinking and discussion.

Next up here is sketching something or presenting an UI. :slight_smile:

Work begins, here’s the initial backend API for it Add API for recording "no shows" by nicksellen · Pull Request #1272 · karrot-dev/karrot-backend · GitHub

I have something to see! Here’s a video walk through:

And some screen shots:

New: “Someone didn’t show up?” button (also the greyed out user who I already marked…):

2023-10-21T00.14.38_area

… which opens this menu where you can select the people who didn’t show up:

2023-10-21T00.14.45_area

Then on the feedback page you can see them marked as no show (and greyed out):

2023-10-21T00.14.57_area

And if you click you can see who marked them as no show:

2023-10-21T00.15.05_area

(Additional thing would be to include a “no show” column on the statistics page)

Happy for any comments :slight_smile:

1 Like

Great work!

A question: did you consider the possibility of the user marking themselves as no-show? I’m thinking mostly of the case when it’s a one-slot activity and the person misses it. Maybe we should also consider whether editors who did not participate in an activity should be able to mark someone as no show. I see how that could be useful. Perhaps a bit more hidden feature…

It crossed my mind yesterday, as I’ve been writing the tests, and that always throws up these kind of questions. I did not put any special logic there, so I think you could, although my current iteration of the UI does not allow you to set that.

The no shows are recorded as part of a feedback, so they are tied to the user who reports the no show, rather than being a definitive perspective, they are a subjective report.

To allow editors to also report them is perhaps a feature to allow editors to submit a feedback for an activity they didn’t do. Although that seems a little odd, but perhaps not? … could be other uses for it, e.g. going in to add weight where someone forgot, etc…

Given editor rights are widely accessible, it might be better to postpone that idea until there are more nuanced roles available?

Yeah, it can be out of scope for this feature. We can also wait and see if it’s a recurring case that activities with one slot that are missed need to be recorded as no show too. How does it look in your group, @Kranti ? Are most of the activities missed with two or more slots?
Also if we include the possibility of recording your own no show I think it will partially solve this case.

OK, I added no shows in the stats!

You can try it out at https://add-no-shows.dev.karrot.world, please do!

It was actually quite involved, as the stats query had got so unwieldy and fragile, I decided to:

  • reimplement it using subqueries rather than joins (easier to avoid making new queries impact current ones)
  • add more comprehensive tests to cover different scenarios
  • making sure the new query returns the same data as the old one did (based on dev.karrot.world)

The new query actually fixes a slight error in with “withdrew” column, which would underreport occurences if multiple people withdrew from the same activity.

I also took the opportunity to slightly refine the UI of the stats table too:

  • shows place type
  • can sort by a particular column by clicking on the header
  • zero values are shown in grey to better highlight when there are interesting numbers
  • shows - for zero weight instead of 0.0 kg
  • you can click on the place name to go to the place page
  • the “years” part of the time range filter now lists from most recent year first
  • slightly more compact layout, and show ... when place name is very long

Thanks a lot for the updates and for taking in our request.
I have two remarks with regard to it:

  1. The first one is in response to your discussion. @bruno and @nicksellen. Most of our pick-ups are with more than one slot. So, that is ok. We do have a few with two slots, and it does happen several times that both people who signed up do not show up. So, “your own no-show” might be handy. However, I doubt if anyone would do that. We actually want this feature as a way to penalise the no-show. So I don’t think anybody would impose a penalty on themselves.

  2. In the statistics tab, would it be possible to show the list of volunteers and statistics next to them, with ‘no-show’ as one column? What we would like is to (temporarily) de-register those who miss more than 3 pick-ups. In the last months, the problem of ‘no- shows’ has increased. We tried a lot of awareness messages to keep ‘no-shows’ in check (with buddy programs and multiple reminders). However, some penalty seems necessary.

2 Likes

For sure! I guess in these cases when there’s no other participant in the activity to report the no-show, you’d probably need to ask the person to do it in order to keep track of it. Or just keep the account by other means, because then it won’t be visible on Karrot

Currently you can select single users to see their statistics, but I guess you mean that you want to have a quicker view of which users have not showed up, is that correct? Maybe instead of having the “Place” column, a “Member” column would do the trick?

This just got deployed last night as part of this release Karrot release updates - #16 by nicksellen

Happy for more feedback as it starts to get used and we find interesting things out about it!

1 Like

There is the outstanding request to more easily see stats for a particular user. Previously we had decided not to make that too easy to see the info (to avoid users being punished too much and support a principle of redemption).Although we can re-discuss it again.

Perhaps we can have a new task for this topic? (and maybe that goes hand-in-hand with the other request, to show which users are active vs inactive).