Thanks for asking me. I don’t know though if I can give good ideas on this topic (I mean funding oriented developments). Here is my personal wish/todo list regarding the calendar application, but anyone is welcome to amend it:
- implement a week view (under way), mainly dealing with the close source parts, all OSS middleware is enough for it already,
- implement a search functionality, requires both to work on the OSS middleware (add Sqlite commands in mKCal, expose the results as a QML model in nemo-qml-plugin-calendar), and in the close source parts (create the search UI),
- implement multi-reminders, requires mainly to work on the OSS parts (the QML bindings are not ready for it at all), but also on the close source parts (adjust the UI accordingly),
- implement reminders for read-only calendars (like the birthdays or shared calendars), requires to work on mKCal which was not designed for this at all,
- expand recurring event handling, like being able to add new occurrence on specific dates, edit the exception list date… This would partially solve the issue of missing copy/pasting of events, because most of the use cases for copy/pasting implies actually to add a new occurrence to an existing event (and possibly edit it for minor changes like start time or location). This is also a mixed job of exposing this in the QML bindings and create the appropriated UI.
- fix the problem of not being able to change the notebook after event creation. This is a limitation of mKCal (quite tricky related to UNIQUE constraints in the DB and how deleted events are stored and expose to the sync plugins).
- implement a “apply this ambience during the event” functionality (like applying the silence ambience during a meeting). This is a pet project that I have for a long time now, but never prioritised it enough for completion. This is both dealing with UI and OSS backend.
- implement a way not to get alarms for selected calendars (convenient for shared calendars when you don’t want to get the alarms of the other person). This is simple to add the switch in the OSS middleware, but it would require to adjust the UI (calendar or settings ?) to expose it.
- expose sync logs to the user so issues but also movements (which new events have been downloaded yesterday from the server for instance) are easier to track. This is mainly done now for CalDAV sync. I’ve a demo UI for it (https://github.com/dcaliste/harbour-logbook). But it’s quite crude and further support should be added for other sync plugins like Google one, but also emails… This is mainly dealing with OSS bits.
- rework mKCal so multi databases could be possible. Like that, applications could use a dedicated database and not deal with the system one. This is purely OSS oriented job.
- implement/complete task support. This is half OSS (check sync plugin for compliance with task handling, mainly CalDAV one is ok, but I don’t know for the other ones, but also completely rework QML bindings so they can handle tasks), half close source parts with changes in the UI.
- rework the QML bindings so they more closely follow KCalendarCore objects to avoid duplication of code between the two projects. This is mostly OSS work. It’s quite a tricky task though, because it implies to work with objects coming from mKCal which are synchronous and expose them to QML in an async way (this is currently done by duplicating all relevant information in dedicated structures).
These are ideas about developping the calendar. I don’t know if they can be used to write a funding proposal or be part of one… I can provide more technical details on each item if necessary.
Since this thread is about fund raising, please keep discussions about the features themselves in dedicated thread (existing or new ones).