Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create calendar events from to-dos #1484

Open
HibGut opened this issue Nov 16, 2024 · 0 comments
Open

Create calendar events from to-dos #1484

HibGut opened this issue Nov 16, 2024 · 0 comments

Comments

@HibGut
Copy link

HibGut commented Nov 16, 2024

I'm creating this from a discussion I started earlier: #1370 It got a number of upvotes, so I assume there is enough interest to make it a feature request.

Is your feature request related to a problem? Please describe.

I live by my calendar. I need the structure it provides to keep me on track, otherwise I'll end up procrastinating. I schedule EVERYTHING. If it's not in the calendar, it won't get done. It also gives me a better idea what I can realistically accomplish next week.

I collect tasks as they pop up during the week in an inbox. Once a week I sit down, go through my to-do list, prioritize and assign tasks as events to specific pomodoro-type time slots on my calendar, e.g. "Tue, 10:00 - 10:30, update Q3 financial forecast".

This approach gave me a productivity boost. Many people complain that meetings are often time wasters. Yet, they fill their calendars with meetings and appointments, i.e. unimportant things, and leave blanks for "working on stuff". But deliverables created during "working on stuff" is what they're actually evaluated on, not on sitting in meetings. Their priorities are backwards. When an empty time slot comes around, they look at their to-do list, get overwhelmed and end up procrastinating or picking something easy, like filing away bills, instead of getting started on heavyweights like writing the next chapter of their master's thesis. "But, hey, I worked!"

This can be avoided by scheduling real work first. Every important task gets a dedicated time slot. In a team environment, it also makes you look less available, so team mates will not dump more boring meetings on you just because your calendar says you're free.

I've been doing this manually, but it's a tedious nightmare.

Describe the solution you'd like

Implement this transition from to-do list items to CalDAV-compatible calendar events in an intuitive GUI-based way (e.g. drag and drop, not cumbersome time selection dialogs).

Assigning tasks to calendar time slots shouldn't be a 1:1 relationship. Say, I already know I'll need a full hour for my forecast, so Tue, 10:00 - 10:30 from my example is not enough. I'll have to find a second slot for the other half hour. And the due date from my boss most likely will not correspond to the end of the second "work on it" time slot either. I'm going to schedule the "work on it" slots a couple days before the due date, so just in case I still can't finish within the two half-hour slots, the task should remain as unfinished in the task list until I check it off so I can schedule yet another "work on it" event for it later if needed.

Describe alternatives you've considered

There are other tools that allow converting tasks to events or scheduling tasks with start and end times. However, if they do, they require a gazillion clicks for each and every task or don't sync back to my calendar. I tried Thunderbird, Evolution, Getting Things Gnome, Super Productivity,

Additional context

A detailed walk-through:

I have a typical week calendar view and a task list (inbox) side by side. The task list contains "Update Q3 financial forecast". It has a due date of June 30. Let's say we're in the first week of June now. I'd grab that task from the list and drag it to Tue, June 3, at 10:00 am on the calendar. It automatically creates a calendar event "Update financial Q3 forecast" from 10:00 - 10:30 which also marks my (shared) calendar as "busy", so nobody will book meetings with me during that time. It is reserved for me to work on my deliverables.

The duration of 30 minutes can be an adjustable default. Other people may prefer an hour or whatever for newly dropped tasks. If the task already has an individual duration set, that should be used instead. Like with all events, the calendar will allow to adjust the duration of the new event simply by dragging the bottom edge of the time block in the Tuesday timeline. So if I already know I have a full hour, I could drag the end time to 11:00 am.

Worth thinking about is how it would deal with overlaps. Say, there is already a meeting scheduled at 10:15. Upon dropping the task at 10:00, it could shorten the event to fill the available time and end at 10:15 or it could stick with the default 30 minutes, create an overlap, and let me resolve it manually.

From my experience, I know updating the forecast will take me at least an hour, but on Tue, I was only able to schedule 30 minutes. So I grab the same task again from the task list and drag/drop it on Wed, 11:30 am, to reserve a second time slot for my forecast from 11:30 - 12:00.

To make this work, the task in the task list should remain unaffected by all this. Due date is still June 30 and it is still incomplete even after the Wed session. So if for some reason I need more than an hour and am still not done on Wed at 12:00, I will schedule another half hour to finish it off on Thu, June 12, 9:00 - 9:30 using the same procedure as above. At the end of that session the forecast is finished, I check it off on my task list as complete and submit it to my boss several days early.

In theory, there could be a preference setting, so that the passing of a scheduled event automatically marks the task as complete. I find it hard to imagine when that would be preferable. In reality, things always come up, emergencies happen and it would be dangerous to assume a task to be complete and remove it from the to-do list just because the scheduled time to work on it is over. I'd be happy without such an option.

The calendar is then synced via CalDav (I use Nextcloud) to my various devices and can be shared with team mates. Most important for me is that this is all done visually, by drag and drop, without muddling through date and time pickers, selection and confirmation dialogs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant