Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

meet: Warn users when they're joining at the wrong time #20

Open
domdomegg opened this issue Oct 4, 2024 · 0 comments · May be fixed by #27
Open

meet: Warn users when they're joining at the wrong time #20

domdomegg opened this issue Oct 4, 2024 · 0 comments · May be fixed by #27
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@domdomegg
Copy link
Member

Context

We run educational courses on AI safety and biosecurity, and in any week have hundreds of cohort sessions (a cohort is a group of 5-8 people following our course, and a cohort session is a single meeting of these people i.e. a calendar event with an associated meeting - usually once a week).

To join a cohort session people open the URL added to the calendar event, which looks like https://meet.bluedot.org/?cohortId=recrTJlMSGX14wkkB.

We use the cohortId (which is the underlying primary key for our cohorts table in Airtable, which we use as a database) to fetch the cohort, and its corresponding cohort sessions. Of those cohort sessions, we find the one starting closest to the current time and show its details. The user can then register their attendance by clicking their name, and get redirected to the appropriate Zoom room.

(In some places you'll see 'cohort class' mentioned. This is the same as a cohort session, but we haven’t got around to renaming everywhere we’ve used this terminology yet.)

Problem

Occasionally, people on our courses get confused as to when they’re supposed to join their session, and end up trying to join at a different time (this happens especially often when there are changes in daylight savings etc.).

If each cohort had its own Zoom room they’d just be in an empty Zoom room by themselves. However, because we reuse Zoom rooms this can result in them crashing into an existing session - causing disruption to that session, and greater confusion for the participant. (We reuse Zoom rooms because we have to pay for a licence for each room we create - this is the difference between £140/month and £3000/month. We also can’t issue new licences via the API, so we’d manually have to be managing hundreds of Zoom accounts.)

As well as a poor experience for participants, we often get people then emailing or Slacking us confused about their session time, which takes our time away from making and delivering great courses.

Proposed solution

You could change our “meet” application to block or warn people trying to join their cohort session at the wrong time. For example, a warning might look like showing a dismissible alert banner if it’s not an appropriate time to try joining their session.

There are multiple ways to approach almost any problem. You can implement a different solution if you think it would be better - and if you consider another solution but reject it, you can still include this in your accompanying documentation. (But you are not expected to come up with a different solution! We have not been able to think of a much better ‘obvious’ solution ourselves)

Get started

To get started:

  • Change directory to the subfolder apps/meet
  • Set the in AIRTABLE_PERSONAL_ACCESS_TOKEN in .env.local
  • Run npm start, and navigate to http://localhost:8000/?cohortId=recABCD, replacing recABCD with a cohort id.

If all is well, this should show you something like this:

Untitled

To implement the proposed solution you’ll probably want to start by looking in:

  • src/components/SelectPersonView.tsx
  • src/pages/api/public/meeting-participants.ts
@domdomegg domdomegg added enhancement New feature or request good first issue Good for newcomers labels Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant