Calendar Software Comparison

Goals and desired features

  • Anyone can create an event.
  • Locations have at least a date, time, description, location, and tags.
  • A tagging mechanism which allows restricting tags to specific individuals.
  • Ability to import events from other calendars (okay if it requires custom code).
  • Ability to embed calendar in other websites.
    • Must be able to filter the embedded view to specific tags or locations.
  • Visually cohesive with the OrcasHub ecosystem (okay if it requires some CSS work).
  • Excellent mobile experience.
  • Nice to haves
    • Somewhere that events can be discussed or people can express planning to attend.

Existing options

  • OrcasHub native
    • Pros
      • High level of familiarity with code. Comfortable adding new features.
      • Highly integrated into OrcasHub already. Unified user and permission model.
      • Nice visual experience of viewing events by week.
      • Supports consuming events externally via RSS.
      • Excellent mobile experience.
      • Already has years of familiarity within the community.
    • Cons
      • Single developer currently. Though the code base is pretty simple.
      • Changes will be limited to Tony's availability until we find someone else to help.
      • This also means changes will also take time from other aspects of OrcasHub
    • Missing features
      • Tags on events (small)
      • Limit tags to specific individuals (small)
      • Filtering of events by tag or location (medium)
      • Embedding externally (medium, depending on desired layout)
      • Discussion (likely by integrating with Discourse) (medium)
      • ActivityPub (??)
  • Gancio
    • Pros
      • Third-party developing gets us a starting point for free.
      • Has extremely basic event recurrence already.
      • Has basic support for embedding (though it's unclear if the embedded layout is desirable).
      • Has nice search functionality.
    • Cons
      • Changes that the upstream project doesn't agree with will have to be maintained as a fork.
      • Changes that the upstream doesn't want to prioritize will be limited to our ability to learn Vue, Nuxt, and the other tools used. (Tony doesn't have experience with these tools).
      • Separate authentication/users. Does not support being an Oauth client (this seems to be prioritized work -JV)
      • Main page user experience is visually overwhelming and may need to be replacing.
    • Missing features
      • Limit tags to specific individuals (unknown, but involves logic and db changes)
      • Undesirable main page UI may need to be replaced (very large)
      • Discussion (likely by integrating with Discourse) (medium)
  • Mobilizon
    • Pros
    • Cons
      • Ugly af.
      • Probably buggy af.
      • Major usability/bugginess in limited testing.
    • Missing features

Other Considerations

  • What could John spin up to modify more easily?
  • What could another engineer spin up to modify more easily?
  • How amenable is Gancio team from making modifications?
  • How easy are PRs to get incorporated into the main project?
  • Could a strategy be to integrate Gancio, but minimize dev (Tony) changes until we have a set up (announcements, photos, etc) in place with other elements?
orcashub/calendar_software_comparison.txt ยท Last modified: 2025/04/14 05:17