Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • gnome-calendar gnome-calendar
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 283
    • Issues 283
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 46
    • Merge requests 46
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GNOMEGNOME
  • gnome-calendargnome-calendar
  • Issues
  • #965

Post-2022 Roadmap

This is an opiniated strategic UX roadmap by @jfft on what remains to be done, as of 2023, to unlock GNOME Calendar's true potential as a productivity tool for chaos warriors, whose calendars typically look like this:

Click to expand: "How does this roadmap work? And how do I help?"

This roadmap is about core features, UX and roadblocking bugfixes required to provide a truly compelling replacement for Google Calendar, iCal, or other best-of-breed calendaring applications. This is not a roadmap of every imaginable feature under the sun, nor all the bugs, but taking care of the items below takes care of many other issues at the same time. It an ambitious but "high-impact" plan.

It is ordered by feature-set/logic grouping, not necessarily by "order in which things will be chronologically implemented in practice". For that, the list of merge requests and the main development kanban board's "Next up" (prioritized backlog) list (curated by @jfft) and "To Do" or "Doing" lists (self-managed by whoever implements each feature, be it @feaneron or any other contributor), are a good visual indication of the order of priorities and "who is working on what now".

The "Next up" prioritized backlog's ordering is based on these factors:

  • Criticality and impact
  • Whether it is fundamental/blocking to the architecture of another feature in the roadmap
  • The right amount of difficulty (not too trivial, unless critical, and not too complex) that warrants the attention of experienced developers. Many newcomers-tagged issues that are less mission-critical are left out of the list, for new contributors to tackle (until the list is empty, that is) and to keep the "next up" list short.

That said, for new/occasional contributors looking at this: please, do feel free to work on implementing any feature or bugfix, whether it is tagged newcomers or not, and whether it is in the "next up" list or not. We need all the help we can get.


The roadmap

Temporary: fundamental/critical/regression bugfixes for version 44
  • Issue #679 — meta: HTTPS CalDAV urls handling is broken
  • Issue #880 (closed) — Search does not find any search results anymore
  • Issue #172 — RFC5545 compliance: don't use an iCalendar DATE value type for midnight
  • Issue #282 — Deleting an "exception" occurrence of a modified recurring events series can lead to inconsistent UI/backend state, and data loss on Google Calendar over EDS
  • Issue #896 (closed) — Data loss: when moving a multi-day event using drag & drop in week view, the event becomes a single-day event
  • Issue #399 — After having created exceptions in recurrence, deleting a repeating event's future occurrences does not remove them from the view until the app is restarted
  • Issue #870 — Moving a recurring Google Calendar event by dragging it and choosing to move all "Subsequent events" does not work properly
  • Issue #951 — Converting an all-day RECURRING event to time-based screws it up (becomes a 3-days-long time-based event)
  • Issue #915 — Week view scrolls up by itself
  • Issue #898 — All-day events and events ending at midnight create duplicates of days in the sidebar
  • Issue #91 — Event editor dialog tries to guess intent and gets confused when shifting days and hours
  • Issue #933 — Sidebar Minicalendar's Previous / Next arrow buttons don't work properly in Week View

Breaking free of the artificial limitations of traditional "Month" and "Week" views

Context, according to @jfft:

9-to-5 Monday-to-Friday weeks and months-based boundaries are an invention (see 1, 2, 3) of the "modern" industrial age where many workers have regimented work/sleep schedules. However, it is not the only way… and indeed it does not match at all the lifestyle of certain types of workers (healthcare workers, restaurant workers, real estate agents, freelancers, emergency service workers, business owners, on-call technicians, PhD students etc.). Furthermore, flexible schedules are becoming increasingly common even for workers who were previously constrained to the "9-5, Mon-Fri" work week. Therefore, we should break free of those artificial limitations in GNOME Calendar's views. The "Today" button will make more sense, and various keyboard shortcuts can be added for traditional month/week-based boundaries.

First, some preliminary work to be done to open the way:

  • Issue #796 (closed) — Cannot create multiday events in two months by dragging
  • Issue #894 (closed) — Display events on non-current months for all visible days in Month view
  • Issue #160 — Allow first day of week to be changed
  • Issue #962 — Relocate the month name (and maybe year) header label to inside the cell of the 1st day of the month

Then, the real deal: issue #603 ("Infinite Scroll" views, ideally with configurable amount of week rows or day columns)… and maybe (if necessary or useful as a proof-of-concept or stepping stones towards the "infinite scroll" view):

  • Issue #1 (closed) — Fixed "next 3 weeks" view mode
  • Issue #649 — Fixed "multi-days" view(s)

Timezones and Meetings support

  • Issue #2 — Timezone support (fundamental to meetings and fixing tons of bugs)
  • Issue #20 — Multiple timezone columns in the week view's margin (as this might be useful for the meeting organizing widgets)
  • Visually differentiate normal/confirmed events from...
    • …declined/cancelled events — issue #622
    • …tentative/unconfirmed/"maybe" events — issue #833
  • Things that require email client integration:
    • Issue #698 — Ability to "Accept" or "Decline" events from received calendar invites
    • Issue #331 — Meetings invitations creation (and guests handling functionality) as an organizer
  • Issue #717 — Allow setting availability (free/busy) property

"Less critical, but really good to have" UX/features

Improved information density

  • Issue #916 (closed) — Week view: Remember the zoom setting and restore it on startup
  • Issue #10 — Fit the week view's timetable information without needing to scroll vertically: option to set work hours, and to hide sleep hours
  • Issue #409 — Week view: Guarantee a minimum height for short events
  • Issue #104 — Week view: Diagonally stack / stagger overlapping time events
  • Issue #59 — Improve the ordering of events to avoid breaking continuous lines of multi-day events
  • Issue #252 (closed) — Week view: Wrap events names text (and maybe day view / sidebar)
  • Issue #947 — Multi-day all-day events in the sidebar have too much date/time information shown to be able to read the event name
  • Issue #11 — Month view: Option to group weekend days together
  • Issue #237 — Week view: Hinting out-of-view events
  • Issue #944 — Week-View: time-based multi-day events are displayed as full-day without time indication
  • Issue #928 — Week view: Maintain a blank clicking space to simplify adding new events "on top" of already existing events

Reducing visual/choices overload

  • Issue #242 (closed) — Quick add popover: show a visual indication when adding events to invisible calendars
  • Issue #39 — Event editor dialog: show a visual indication when creating / adding events to invisible calendars
  • Issue #950 — Event editor dialog: show a visual indication when moving an event to a hidden calendar
  • Issue #957 — Event editor dialog: don't show read-only remote calendars among possible calendars to move an event to
  • Issue #68 — Event editor dialog's calendar picker list widget should hide the currently selected calendar
  • Issue #89 — Calendar lists: don't make me scroll
  • Issue #88 — Ability to fully disable (not just hide) some EDS calendars (such as the default "Personal" calendar)
  • Issue #362 — Automatic grouping/deduplication of identical events from different calendars

Time-saving details

  • Issue #84 — Allow extending or shortening an event duration by clicking and dragging the edges
  • Issue #272 — Advanced event recurrence UI (repeat every X number of days/weeks/months/years, specific days of the week or month, etc.)
  • Issue #429 — Ability to duplicate / copy events
  • Issue #90 — Don't require a separate view to pick the target calendar in the event "quick add" popover
  • Issue #665 — Basic natural language parsing (time prefixing) in the quick-add popover
  • Issue #3 — Advanced natural language parsing
  • Issue #92 — Let me enter (and parse) raw times instead of forcing the time widget
  • Issue #246 — Event details http links URLs are not clickable in the event details / notes / description fields
  • Issue #712 (closed) — handle links in the Location field
  • Issue #472 — Address / location search in Openstreetmap
  • Issue #723 (closed) — Add "Join" button to event tile and details dialog when online meeting is detected
  • Issue #826 (closed) — Nothing happens after clicking join button
  • Issue #814 — Embed a small regional map in the popover (and event editor) when a location is set (and successfully interpreted)
  • Issue #940 — Auto-scroll as needed when dragging an event
  • Issue #255 — UI for importing and handling individual events from .ics files into an existing calendar
  • Issue #946 — Allow editing events on import
  • Issue #278 — Week view: allow converting an all-day event into a time-based event with drag and drop
  • Issue #393 — Event editor dialog: converting all-day to time-based should prepopulate reasonable start/end times, instead of midnight

Flexibility and accuracy

  • Issue #251 — Reminders time delay presets are inflexible (ability to set precise custom delays for notifications and alarms)
  • Issue #98 — Ability to set / configure (or auto-remember) per-calendar default reminder alarm time delays, for newly created or imported ical events
  • Issue #938 — Monthly recurring events on 29th, 30th, 31st day should be rounded down to the last day of the month
  • Issue #254 — Allow enforcing ISO 8601 dates input (YYYY-MM-DD) in the event editing dialog, no matter the system's locale

Other related issues

Dynamic lists of bugs to fix

Here are some convenience shortcuts for topical thigs we need to fix, to support the reliability of features:

  • All issues related to timezones, midnight, DST (for now we're lumping them all together in "timezones")
  • All issues related to recurrence (many have been fixed already)
  • All issues related to meetings
  • All crashers

"Nice to have" bonus things (ponies on rainbows)

These are not critical enough to be near the top of the list, but still tie into the "all interconnected" system logic of features above. Many of those are probably

  • Issue #814 — Embed a small regional map in the popover (and event editor) when a location is set
  • Issue #961 — Provide a visual indication of which calendars are read-only in the "Manage Calendars" dialog
  • Issue #267 — Progress indication throbber for remote events operations on high-latency / slow servers
  • Issue #231 — Open Weather App from Calendar weather icons
  • Issue #253 — Show human-readable dates in tooltips
  • Issue #917 — Overflowing all-day week view "Other events" should reveal their contents in a tooltip on hover, and unfold on clicking "Other X events"

Click to expand: other bugs
  • Issue #897 (closed) — Cannot click events in the sidebar to open or edit them
  • Issue #758 (closed) — Month doesn't change, and today button breaks, on 1st of month in month view
  • Issue #941 — "Today" button not reactivated in week view when time passes and the week changed
  • Issue #17 — Errors and calendar problems (i.e. TLS / HTTPS certificate problem, authorization problems, etc.) are not shown to the user via the GUI
  • Issue #97 — Enable next & previous month switching buttons for year-changing months (January and December) in the date picker minicalendar in event editing dialog
  • Issue #889 — Can't add an event at midnight
  • Issue #959 — When automatic geolocation is disabled in GNOME Settings, disable the GtkSwitch widget for it in GNOME Calendar, and show a visual indication that location must be manually entered
  • Issue #956 (closed) — Trying to add the GNOME releases schedule as an HTTP or webcal:// online calendar doesn't work (400 HTTP error)
  • Issue #949 (closed) — Remote calendar setting "location" URL LinkButton label is too long, preventing the dialog from shrinking its width and fitting on mobile
  • Issue #936 — Agenda-style sidebar does not order events chronologically
  • Issue #899 — Calendar doesn't show the notes for all events, only for some
  • Issue #902 (closed) — No weather forecast displayed, location selector unresponsive
  • Issue #431 — invalid certificate popup in networks with captive portal
  • Issue #535 (closed) — Weather: forecast is available only for 3 days
  • Issue #600 — Date input text field cut off for certain dates, certain languages / locales, or when not using the Cantarell font
  • Issue #633 — Evolution Data Server's events alarms reminders notification dialog shows up for GNOME Calendar events

Already fixed at the time this roadmap was made:
  • Issue #248 (closed) — Drag and drop of time-based events in weekview does not take into account the position of the cursor
  • Many recurrence bugs (yay!)
  • Many colors/contrast-related bugs (before GNOME 42) like issue #190 (closed), #344 (closed)
  • Various GTK3-related issues

Edited Aug 27, 2023 by Jeff Fortin Tam
Assignee
Assign to
Time tracking