Open geckolinux opened 9 years ago
Todo.txt doesn't really define timestamps so I am a but hesitant to add this. Any reason time specific tasks can't be added on your calendar?
Thanks for taking a look at this. Well, I usually don't set reminders, I just need to see the date and time in my todo. I prefer to have as much information as possible all in one place in my todo.txt, and I don't use the Android calendar much. When I schedule an appointment with somebody, I usually want to quickly jot down the date and time before I forget, so having to create my todo item with a date, and then save it, then be switched to the Android calendar to create a reminder and again set the FROM and UNTIL date (with a date roller utility instead of a calendar picker, which I don't like at all), and disable the alarm that is automatically created, is kind of a long and clumsy process for my workflow.
Actually this reminds me of an auxiliary bug: Does the Android Calendar/Reminder integration used in Simpletask permit passing more information to the reminder, such as the date and time? As noted above, even if I have a date set in Simpletask, I again have to set it in the reminder.
Thanks again for your time.
@mpcjanssen This still something you'd like to do sooner, or tag it with someday/maybe?
@mpcjanssen, +1 for this. Don't use android calendar at all, but it is very conveniently on smartwatches (i use Pebble with timeline interface). I need to set reminder manually for every planned task:(.
I do this by simply appending the time to the task. For example Dentist due:2016-07-15 11:00
. Not perfect but works fairly well...
@mpcjanssen @vojtechkral Would it break anything if we allowed simpletask to support timestamps with due:YYYY-MM-DD:HH:MM
? Then calendar reminders could create appointments at the given time (or at a default time).
I'm not advocating that we do this. I am curious how much compatibility we'd break, doing it, so I can form an opinion about whether we should or not.
@smichel17, IMHO variant with due:YYYY-MM-DD HH:MM is better. As vojtechkral, i also use it. And it don't break anything.
Or maybe we could just formalize the way @vojtechkral does things: if there is a task with a due date, any string with the form HH:MM
or HH:MMam
/HH:MMpm
could be interpreted as the desired time to set the calendar appointment.
edit: haha, @jumper047 beat me to it
Here's some questions to think about / my conclusions:
Say I have an existing task, dentist at 11:20
and then I use simpletask to add a date to it. Is the result dentist at 11:20 due:2016-06-23
or is it dentist at due:2016-06-23 11:20
? Seems like it should be the first one. Does the calendar appointment that gets added start at 11:20 or at the default time? Again, seems like the first.
What if I need to leave my house at 10:40, so I want a reminder at THAT time? (I also want to include the time of the appointment). That's easy enough: dentist at 11:20 due:2016-06-23 10:40
would produce a calendar appointment at 10:40 and (correctly) interpret 11:20 as just part of the task.
What happens when I already have dentist at 11:20 due:2016-06-23
as a task, and I want to add the 10:40 reminder to it? Is the result dentist at 11:20 t:2016-06-22 10:40
or dentist at 10:40 due:2016-06-23
? Again, seems like it should be the first one.
But what if I want to set the reminder back to the default time? Again, there's two options: dentist at 11:20 due:2016-06-23
or dentist at due:2016-06-23
Here's where things stop making sense. The second option seems clearly broken. But according to the first paragraph, the first option should have the calendar reminder at 11:20, not the default time. Do I have to remove the specific time twice to get that?
My conclusion is that if we were to implement this, HH:MM
would be position-dependent: it would need to come immediately after the due date or simpletask will count it as part of the text of the task.
Oh, i understand right usecase for reminders:D. I think, if I create a task "dentist at 11:00 due:2016-06-22" Simpletask automatically adds an entry in the calendar of the specified date and time. If I want to remind myself that I need to go, I create reminder, and set the time 10:20. About position - it better to be position dependent, i think. For example - "Make a bet for 10:12 on next match due:2016-07-01 17:00")))).
This idea comes up every now and then (such as in #370 and #210), but is hard to get right without breaking too many things or making things very complicated.
@vojtechkral @mpcjanssen What do you think about this idea?
rem:YYYY-MM-DD:HH:MM
. (edit: or just r:
instead of rem:
)
rem:YYYY-MM-DD
), add it to the calendar but do not set any reminders.due:
extension -> people should use the rem:
extension instead.
rem:
, but instead change due:
to work the way rem:
was described.@smichel17 I'm not sure about that. It could work, but from my experience so far I'd say trying to turn Simpletask into a calendar/scheduling app doesn't work well without making it complex. Even your proposal sounds fairly complex, although it is probably the best one so far...
The root problem - the root of all evil - and the reason why I started trying to solve the problem in Simpletask in the first place - are crappy Android calendar apps. What would solve the problem for me would be a calendar app with a decent UX. So, I'm inclined to:
@vojtechkral in the context of #465
I agree with you that Simpletask is not a calendar app or calendar-managing app and should not be, and the real solution is a good calendar app for android. I'd be happy to work with you doing UX work on your etar fork.
I think it's important to distinguish between backend complexity and UX complexity. My solution may be more complicated in the backend, but its interface is much simpler.
The current solution says,
If you want simpletask to add anything to your calendar, you can choose between a manual reminder, which is set through your native calendar app and cannot be unset through simpletask, and automatic reminders. If you use automatic reminders, you need to go to the settings and enable that type of reminder, then decide what time the reminder should be set at and how many days before the threshold/due date it should be set (both of which must be the same for all reminders and the same between threshold & due dates). Then reminders will automatically be created on their own dedicated simpletask calendar.
My solution says,
If you want simpletask to create a reminder, there's an extension for that,
rem:YYYY-MM-DD:HH:MM
. One reminder will be added to a dedicated simpletask calendar for each reminder that is set in the task. The simpletask interface allows you to add another reminder or to clear all existing reminders.
Basically, we're adding a small amount of functionality to the "set reminder" feature, and then removing the "Calendar reminders" feature entirely.
I favor leaving everything as it is. I can see the use for auto syncing all due dates or setting specific reminders. But to make a full blown calendar out of it goes beyond what simpletask should be. Its not a calendar app.
Only thing to consider if adding a time shortcut is a option.
I am a little confused. In my mind, my proposal makes simpletask less like a calendar app.
Automatic reminders based on due date seems more like a calendar app to me than manually adding reminders via a todo.txt extension. I think reminders are also more fitting than due dates. Due dates should go on your calendar. Although I don't think you should need reminders either, they seem to be much more in the spirit of GTD than due dates.
My proposal also allows us to eliminate every setting related to calendar reminders, which is a pretty big win in my mind.
Am I missing something, that makes my proposal more like a calendar app than Simpletask is now?
Regarding date formats, currently YYYY-MM-DD complies with ISO8601 ( https://en.wikipedia.org/wiki/ISO_8601 ) and I would encourage continued compliance regardless of what solution is chosen. This taken the form YYYY-MM-DD'T'HH:MM ('T' being literal), eg: 2016-06-25T00:33. Standards == Good.
@krayon , the date format will not change. Besides possibly breaking ISO8601 compatibility, it will also break the dates in other todo.txt clients, so that's not an option.
Again for this issue, the only thing I am considering is if I want to add a time picker. I will consider @smichel17 's idea separately. I have less problems with introducing a new extension if it makes sense.
For any general reminder discussion, please see #466
As per my big long recent comment in #466, I think we should not add a time picker for the due:
extension.
Hello, I often have a due time in my todos. I know that Simpletask lets me create a calendar reminder, but I would prefer to see it in my todo. Of course I can type it into the todo, but an quick time picker would be faster. Thanks a lot!