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:
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: 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.Click to expand: "How does this roadmap work? And how do I help?"
The roadmap
First world order: fundamental/critical/regression bugfixes existing core features to work:
-
Issue #679 — meta: HTTPS CalDAV urls handling is broken -
Issue #880 (closed) — Search does not find any search results anymore -
Issue #1093 — Need a test suite covering the standard RFCs to make timezones, DST, etc. reliable -
Issue #172 (closed) — RFC5545 compliance: don't use an iCalendar DATE value type for midnight
-
-
Issue #1217 — Refactor/rewrite the Week View's "headers" code to make it reliable and maintainable -
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 (closed) — All-day events and events ending at midnight create duplicates of days in the sidebar -
Issue #91 (closed) — 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 #1093 — Need a test suite covering the standard RFCs to make timezones, DST, etc. reliable (mostly done) -
Fix all the fundamental issues linked to that meta-ticket
-
-
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... -
Things that require email client integration: -
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 (closed) — 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 (closed) — Event editor dialog: show a visual indication when moving an event to a hidden calendar -
Issue #957 (closed) — 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 (closed) — 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
Already fixed at the time this roadmap was made: