opentodolist icon indicating copy to clipboard operation
opentodolist copied to clipboard

Feature requests - Setting time for the reminders, and repeating tasks

Open TobiasDev opened this issue 5 years ago • 9 comments

I've already kind of gotten into this app. I love the workspace part of it for my Todo lists. Especially since I can create a workspace for each of my larger projects. :) However, there are two things missing that I would add to a wishlist (if it's out of scope for the project I understand).

  • Setting a time for the reminders, at the moment it looks like you can only set day?
  • Repeating tasks, this would be really cool to see, eg. set a task to repeat once everyday, once every week, etc.

TobiasDev avatar Jun 20 '19 18:06 TobiasDev

Thanks for these suggestions!

Reminders were actually planned to be integrated during the last larger refactoring round of the app. I had the following in mind:

  1. Items get a due date, so they can be shown in a schedule view somehow. This part is implemented (even though especially the GUI for this might need some more love).
  2. In addition, I planned that you can add one or more reminders per item (like: two days before the due date, 1 week before or even some custom date and time).

I guess, especially the second point should match what you had in mind?

Regarding repeating tasks: Actually, I deliberately did not include this kind of functionality in the app. I considered it (again, during the last large refactoring round...) and my conclusion back then was, that this would basically be a re-implementation of what most calendar/organizer apps are currently providing.

However, what I could imagine quite well is, that reminders could be set as recurring, so what you would be able to do is:

  • You could create any item (e.g. a todo).
  • Add a reminder, select a date and time and set up a frequency of recurrence.
    • Note that there would not be any need to set a due date.
  • In case the item is a todo, just keep it open.

What do you think? Does this make sense?

Note, that regardless on how the implementation might look like, I will first need to implement this issue, because otherwise especially on Android, you would only get notifications as long as the app is running. So I need to implement a background service (which also would help on the other platforms the app runs on).

mhoeher avatar Jun 20 '19 19:06 mhoeher

That all makes sense. I understand your point as well about the re-curring stuff. I'm also not sure if it is really needed. :D I only use it for reminding me to train everyday, though I could also just use my calendar for that and plan time for it. :) I think the rest of what you mentioned sounds really good, about the reminder stuff for tasks.

TobiasDev avatar Jun 20 '19 21:06 TobiasDev

Okay, then I'll try to review what I've planned back then and put it into an issue in Gitlab maybe this weekend. I'll update this thread with the link to the issue later, so if you like, you can review the plan and raise any concerns you might get ;-)

mhoeher avatar Jun 21 '19 06:06 mhoeher

Probably there is a usecase you can cover with the app which is between one task and tasks you perform regularly on a specific weekday, day in the month: I would suggest repeating tasks which repeat from the day I checked it as done.

For example I want to shave my head every ten days then I get a notification every ten days. But when I miss one or to days I don't need to reconfigure my calender the app keeps me notifying me ten days after the last time I performed the action.

I would highly appreciate this feature because I try to organize my housework on this "rules". Anyway this is a very specific usecase so I would understand if this doesn't fit in your roadmap.

ghost avatar Jul 02 '19 18:07 ghost

This is in fact a use case I can hardly argue against ;-)

I'll try to consider it, maybe I find some time this weekend to think about how this could be implemented in a simple way.

mhoeher avatar Jul 03 '19 07:07 mhoeher

I was about to open an issue when i found that this has already been discussed.

I really appreciate the work you have done on this app, i like the looks of it, and the functionality is 90% there. So let me present my use case, i am in love with the Schedule view, but i would like the ability to set a recurring event in order for it to appear in my schedule. let's say that i am studying three different topics, alternating between them on specific day weeks with friday off. The way the app is set up right now makes me go and set up single events for, let's say, the coming month, in order for the items to appear in my schedule. This is pretty redundant and takes away from the app's usability.

another minor but related thing is for the sub elements in a TODO to show up in the schedule.

again, thank you for your work.

JohnAntoine avatar May 02 '20 06:05 JohnAntoine

Thank you @JohnAntoineG710 for your feedback.

I thought a bit about it and in fact I think adding some simple recurrence patterns could in fact be easily possible ;-)

I created an issue over on Gitlab for the actual implementation: https://gitlab.com/rpdev/opentodolist/-/issues/332

Maybe you could have a look and see if this fits your needs.

This can be implemented independent of any reminders stuff and hence the app does not yet need to be changed to keep running in the background (which is a larger task which I unfortunately did not yet manage to get done).

Regarding scheduling of tasks (i.e. the things inside todos): It was a quite deliberate decision to keep these simple and not have a way to set additional information (besides the text and due state) on them. Do you have a use case which requires this and which cannot be done by using additional todo lists (where you in turn could set due dates on the contained todos)?

mhoeher avatar May 02 '20 16:05 mhoeher

Regarding the nested views in task scheduling, i think the app has two very powerful features that it's not leveraging:

  • The schedule view, where i actually spend most of my time as i have been using the app for a month now.
    • Opens automatically if it's the last view selected.
    • Shows progress bar on each item.
    • Shows future TODO's as well as the current day.
  • The fact that TODO sub items affect the progress bar when marked as done is brilliant.

the fact that these does not work together is a missed opportunity in my opinion

here is an example use case:

  • The main view of a given Library:
    • Libraries separated by Personal - Work - Freelance, so three separate libraries.
    • Gets used once or twice a week for initial planning or making modifications.
    • Different TODO list for each different project/category inside a given library.
  • Schedule view:
    • Each library has it's own schedule view, in addition to a schedule view that combine all available schedule views, separated by color coding. So i am free to either view a schedule for my personal tasks or everything i have to do today regardless of where it belongs to.
    • Gets used every single day, constantly open on a different workspace or secondary monitor along with e-mail/calendar.
    • Shows sub items from each TODO as a way to organize a given task, marking a specific sub item as done reflects on the TODO's progress bar.

A couple of major feature requests:

  • The ability to toggle the view of the current day's done tasks On/Off, again, helps with planning and time management.
  • The ability to sync with CalDAV (i don't know how feasible this is), but his would help in both, the adoption rate as it would be easier for people to migrate stuff with CalDAV, and the ability to edit things online through NextCloud for example.

JohnAntoine avatar May 04 '20 23:05 JohnAntoine

Hi @JohnAntoineG710,

wow, that's actually quite a lot input ;-) If it is okay for you, could you create dedicated issues for the different ideas you have in mind (ideally, over at Gitlab, as as this is where the app is actually developed. This would definitely help me keeping such input organized (and with it, it decreases the probability that I miss something :sweat:).

One immediate thing I can tell: Regarding the CalDAV integration... I considered this years ago for the app, however, back than I concluded that for the kind of work I wanted to get done with the app, CalDAV is not the way to go. It is a great protocol for calendaring stuff, but there is no standard way of represent the data model that the app uses such that other tools in turn can deal with it. Even more, just forcing the app's data into the CalDAV-format could lead to other apps unintentionally destroying information that OpenTodoList put in. For this reason, I - back then - opted against using CalDAV at all.

mhoeher avatar May 05 '20 06:05 mhoeher