indyhackers/indyhackers.org

Add a form for submitting new additions to the calendar

mileszs opened this issue · 1 comments

Original body of this issue: Though I like chatting with meeting organizers, this would save some back-and-forth.

Update for May 13, 2023:

Calendar Event Submission Feature

Problem

We have a shared Google Calendar of events that is very often out of date or lacks events that are happening in our community. We have attempted to partially remedy this issue by using this Google form to allow folks to submit events. There are a few issues there, some self-inflicted:

  1. It is not very discoverable. See the below image.
  2. It could be more usable—Google forms weren't exactly custom made to take in date + time, etc.
  3. Output is an email + a spreadsheet leading to a less than ideal workflow—requiring someone to go to the spreadsheet if/when they receive the email, open up Google Calendar, add an event
  4. It does not currently handle event changes of any sort
  5. It does not handle marking an entry as 'done', requiring an additional workflow step of letting others on the board know it's been done (or requiring us to make it explicitly someone's responsibility. I think we've done that in the past, but I do not think it's on anyone's radar today.)

image

Solution

I suggest we allow users to enter calendar event requests directly from the Indy Hackers website.

  • A user can fill out a form for requesting their event be added or changed on the Indy Hackers Google Calendar directly from indyhackers.org.
  • An admin or admins receive an email when a new request is made.
  • An admin can indicate that a request has been handled after they've made the change to the calendar.
  • A user can find the button for submitting an event request easily. :-)

This will eliminate the awkwardness of the Google Form for both user and admin, help the board stay on the same page with regards to these requests, and make it easier for the board to keep the calendar up to date. Keeping the calendar up to date will ultimately help our community trust the calendar, and hopefully help to increase awareness of and attendance of the events.

Ultimately, this is pretty similar to how we do "job post requests" today, allowing for direct moderation and separating concerns to handle the possible different needs of a "request" versus actual item itself—event, or job post.

UX

The user experience of the Google Form leaves something to be desired. It's not really intended for this particular use case. I think we can shrink the length of the form and match the experience of calendaring apps and the like to improve the experience and match typical expectations.

Prior art for this includes Google's UX:

image
image

It could be tempting to use a natural language date/time parser like Chronic. I am not convinced the UX on this is actually better—because I don't think it will get it right every time. So it will be a slightly better UX, potentially, most of the time. It could be incredibly frustrating a small percentage of the time. In addition, it is of course yet another dependency on this small codebase. I don't think the library is well-maintained at this point. (Is there another?)

Future Considerations

There are some future (perhaps far future) things to consider that could effect the shape of the solution today. Indy Hackers might want to have our own event listings, replacing the shared Google Calendar (which is manually managed today) with a mechanism that allows these event requests to easily become event records themselves. We can then output iCal, GCal, Outlook calendar formats if folks want to add events to their calendar, rather than subscribing to the shared calendar or adding one off events from it.

There's currently a Google Form, which ... is just okay. This is pretty low-priority at the moment. If we have a database of events we maintain locally (instead of on Google Calendar) in the future, this could be more important.