This is a request for a core plugin establishing date and time related standards as well as provide support for iCal and audio reminders.
Use case or problem
1. I want to go runnung every day at 7:15am and track my acivity, so I set up a recurring task.
This is possible via several workarounds, but the current task approaches do not incorporate a standardized approach to time. This leads to isolated approaches and eventually causes
2. Sometimes I do not manage to go running because of interruptions.
When I do not tick off my running task, it will not recur. When I tick it off on days where I did actually not manage to run, my habit tracking will be of no use.
3. After the running and the rest of my morning routine, I start work at around 8am.
I divide my day into several areas, juggling projects, creative work and private / family activity. Consequently, I set up a couple of time windows that focus on different areas of my work and private life. Contained within such time windows, I find tasks tagged accordingly.
This is to some extent possible using plugins and a lot of workaraounds: Day Planner and Time Ruer are trying to make this possible but both suffer from the lack of defined time variables.
4. Very often, I focus deeply onto a dedicated project and forget to look at the time. I would very much like to have an audio reminder as a āwakeup callā.
Currently, Obsidian does not offer audio notifications on Android.
5. I am not an isolated island but work with other people. This creates the need to work with dates and tasks set up by others. A common standard for this is iCal. In Obsidian, I create events in my iCal based calendar and add tasks to the same account.
Currently, only Full calendar and Time ruler allow for reading iCal sources.
Proposed solution
Creation of a core plugin to deal with time management. This is not supposed to be a feature rich component tailored to my or some other users individual needs. It should establish a solid foundation plugins can build on to create more detailed features.
-
Establish variables that deal with date and time, ideally allowing for user formatting to be defined in one central place and picked up by plugins from there.
-
Determine how Obsidian is dealing with (re-)occurrence. The tasks plugin is very good in that respect but lacks the above mentioned solution for tasks that need to recur without having been finished on their due date.
-
Create a container that relates to time events. Think of callouts for date and time, but not just in the sense of formatting/layout but also in terms of a standard that can be used by other plugins
-
Allow for notifications on all platforms including individual audio snippets to be played. This feature could be used by many plugins to remind users and give them feedback. Especially the audio aspct could be implemented by extending the āaudio recorderā feature already present.
-
Integrate a place that allows for communication with external calendar / task systems and implement reding and writing the iCal standard. iCal is very widely used, so Obsidian would benefit greatly from integrating this sourse. Creating an anchor point for not only iCal, however, would allow other developers to create plugins that target other date/time related standards.
Why this should be a core plugin
Obsidian started as Markwon editor but evolved to be moch more than that. This is not only due to the rich plugin ecosystem it created. The canvas plugin is a good example, the audio recorder another.
In order to adapt to the needs of Obsidians growing community, a core plugin should define standards that are too important to leave to plugin developers. One important need of the community is clearly managing tasks and dates. Providing a solid foundation of rules and parameters will greatly enhance Obsidians capabilities to deal with notes related tasks and dates.
There are numerous plugins that try to address
- task management
- project management
- calendar integration
What they lack is a solid base with clearly defined standards. Without them, all solutions for taks and dates will develop something that works within the boundaries of their plugin.
It leads to
a) a lot of work on the side of the plugin programmers, especially when Obsidian is updated or other plugin developers āhijackā keyboard input
b) conflicts and incompatibilities
c) very limited reusability of functions
d) a user experience that is not ideal
A good example of why I think that this should be implemented as core plugin can be found in the form of this discussion:
The request started in November 2021 and ran until April 2022 when it finally dried up.
This is a feature request. I realize that as such it does not request one single feature as would be the approach in most cases. I have thought about this but decided to use this approach since I feel that extremely focused feature requests
- have the potential to reduce a problem to something very individual
- are sometimes running the risk of losing the bigger picture
Partly, this approach is the result of me not being a coder: So please be gentle when it comes to terminology. I hope it is clear nonetheless, what the request is about.