plusonelabs / calendar-widget

An calender widget for your Android home screen.
Apache License 2.0
371 stars 126 forks source link

Tasks filtering by start date and by due date, and their ordering #356

Closed shompoe closed 4 years ago

shompoe commented 4 years ago

When the task app allows a start date and a due date, our natural inclination is surely to set the start date to the time we need to become concerned about the task, in other words, the time that the task should come into view. In this way we may schedule many tasks into the future but maintain our immediate visibility only on those tasks which we need to be focussed on in the present. And the due date, logically, is the time at which we plan to complete the task.

However, the present version of the widget filters tasks by due date. This means that if I have a task which is already scheduled to start tomorrow, but which I have allocated two weeks from start to completion, and I have a widget which filters all but today's tasks and events, my task will not appear in the widget untill the day it is due to be completed. So for the two weeks that have now transpired the widget has given me no warning that I needed to be working on that task.

shompoe commented 4 years ago

I believe the ideal behaviour would be to have tasks filtered by start date if set or due date if not set. And to have them displayed under the day header for start date if set.... and move up the list as time progresses. Then to stay in Past and Due header until they are completed or rescheduled. If both start date and due date are set then they could be ordered in Past and Due by due date and highlighted once due date expires.

yvolk commented 4 years ago

Thank you @shompoe for raising this. Your suggestion continues our discussion with @ekalin here and below: https://github.com/plusonelabs/calendar-widget/issues/308#issuecomment-513441404 where we didn't define / agree on proper tasks ordering / showing / filtering...

Reading your above posts I see the problem and I also see that different cases still need more details/clarification. Otherwise we will fix one case and break another...

In particular, it seems that we need to filter tasks by both start and due dates...

shompoe commented 4 years ago

Hi again,

As far as I can see, if you do it how I suggest (use due date if start date not set, use start date if due date not set, but if both set then filter by start date and show under the day header from start date but sort by due date under Past and Due header) then it ought to work as the user expects regardless of whether the app they use has both start and due date or just one or the other???

I can't think of a scenario where this would cause unexpected behaviour.

yvolk commented 4 years ago

@shompoe No :-) Suppose this case:

  1. I have set a filter to "Show past events ended today"
  2. I have a task starting last week and ending today.

Following your description "filter by start date" the task should be filtered out i.e. hidden. ?!

shompoe commented 4 years ago

No. It should stay under the Past and Due header regardless of start and due date until the task is marked complete. So actually, only future tasks filtered by start date but past tasks should remain unfiltered regardless of settings. I believe this is actually how the widget works at the moment. Ie. the display past events setting only affects events, but not tasks.

This should be considered expected behaviour because an event (say an appointment) expires at a certain time, regardless of wether you attend it or not. A task however, cannot expire until you have actioned it and so it becomes overdue.

I just did a quick test and this is what the widget is doing now, albeit filtering on due rather than start.

Does that make sense?

yvolk commented 4 years ago

OK, so we extend our case:

  1. For past events: I set a filter to "Show past events ended today"
  2. For current and future events: Date range: One month

I have these tasks in the Task app:

  1. task1 starting last week and ending later today (incomplete).
  2. task2 starting last week and ending in 40 days (incomplete).
  3. task3 without start date and ending later today (incomplete).
  4. task4 without start date and ending in 40 days (incomplete).
  5. task5 starting last month and ending last week (incomplete).
  6. task6 starting last month and ending tomorrow (complete).
  7. task7 starting today and ending tomorrow (complete).
  8. task8 starting next week and ending in 40 days (incomplete).

As we don't know, if tasks in the Task app have Start or Due date, we need:

  1. Query the Task app: "Give me all INCOMPLETE tasks that don't have Start date OR have start date before (today + 1 month)

tasks 1 to 5 and task8 will be shown task6 and task7 won't be shown at all...

Correct?

OR according to your words task4 shouldn't be shown also ?!

For the reference, current filtering logic is in this file: https://github.com/andstatus/todoagenda/blob/master/app/src/main/java/org/andstatus/todoagenda/task/dmfs/DmfsOpenTasksProvider.java

below this line:

private String getWhereClause() {

(currently it's at line 76)

shompoe commented 4 years ago

tasks 1 to 5 and task8 will be shown task6 and task7 won't be shown at all...

Yes, this is what should happen. Show everything that is incomplete and either started in the past, will start within 1 month, or has no specified start date. Tasks that are complete must never be shown. And tasks that start after 1 month must not be shown.

You make an interesting point about task 4. My original reasoning was that some apps maybe don't have both start and due dates, some only start and some only due. I don't know if this is the case. If it is then it complicates things.

However, if the app supports both start and due then failure to set a start date could have different meanings for different people (I read the thread mentioned above)

For me, when I don't set start date it means something I should be starting at my earliest convenience. So I don't want to loose visibility of those tasks regardles of wether I have given them a due date.

So I think my original logic is only relevant for apps that don't have start date. Are there any? I don't know.

Going back to task 4. It would be useful for it to display the due date in the widget. But perhaps that's for another thread.

What do you think? I'd be happy to do some testing of a hyperthetical update to the widget if that helps.

yvolk commented 4 years ago

To all! For discussion below I wrote the same tasks, but made it easier to understand, what is shown and where (if not obvious...). I added some more tasks for better coverage. Moreover, I sorted them in a way they will be sorted in the widget (assuming initially they are sorted according to their numbers)

For which events/tasks Filter settings
For past events "Show past events ended today" is on
For current and future events Date range: One month

New option introduced: "Task scheduling" (What date gets main attention for a task) with two values: T1. Show tasks under date due (Due date gets main attention, and we are showing tasks at their due dates, where it makes sense). T2. Show tasks under date started (Start date gets main attention, and we are showing tasks at their start dates, where it makes sense).

In any case both start and due dates are taken into account, but differently.

task9 and task10 below (as other tasks without start and due dates) need special treatment i.e. additional option: "Tasks without start and due dates" with values: .1 Show at the end of the whole list (default option) .2 Show at the end of Today. .3 Hide. Below tables are shown with default option

Task visibility and sorting if option T1 (Due date...) is selected:

Task description Show Where to show
task11 starting last month (after task5) and due last week (at the same time as task5) (complete) no
task5 starting last month and due last week (incomplete) yes Last week (or "Past and Due" if turned on. The same for others in the past)
task3 without start date and due later today at 9PM (incomplete) yes Today or at 9PM
task1 starting last week and due later today at 10PM (incomplete) yes Today at 10PM
task6 starting last month and due tomorrow at 8AM (complete) no
task7 starting today at 8AM and due tomorrow at 9AM (complete) no
task12 starting today at 7AM and due tomorrow at 10AM (incomplete) yes at due date: Tomorrow at 10AM
task17 starting in 10 days, without due date (incomplete) yes At start date
task16 without start date and due in 20 days yes At due date
End of list header
task14 starting in 39 days, and without due date (incomplete) no
task8 starting next week, due in 41 days (incomplete) yes End of list, closer to due date
task4 without start date and due in 42 days (incomplete) no
task2 starting last week and due in 43 days (incomplete) yes End of list
task15 starting in 40 days, due in 45 days (incomplete) no
task10 without start date and without due date (incomplete) yes (Position depends on "Tasks without start and due dates")
task9 without start date and without due date (complete) no (Position depends on "Tasks without start and due dates")

Task visibility and sorting if option T2 (Start date...) is selected:

Task description Show Where to show
task11 starting last month (after task5) and due last week (at the same time as task5) (complete) no
task5 starting last month and due last week (incomplete) yes Last week (or "Past and Due" if turned on. The same for others in the past)
task3 without start date and due later today at 9PM (incomplete) yes Start of today
task1 starting last week and due later today at 10PM (incomplete) yes Start of Today
task6 starting last month and due tomorrow at 8AM (complete) no
task16 without start date and due in 20 days yes Start of today
task4 without start date and due in 42 days (incomplete) yes Start of today
task2 starting last week and due in 43 days (incomplete) yes Start of Today
task12 starting today at 7AM and due tomorrow at 10AM (incomplete) yes Today at 7AM
task7 starting today at 8AM and due tomorrow at 9AM (complete) no
task8 starting next week, due in 41 days (incomplete) yes Next week
task17 starting in 10 days, without due date (incomplete) yes At start date
End of list header
task14 starting in 39 days, and without due date (incomplete) no
task15 starting in 40 days, due in 45 days (incomplete) no
task10 without start date and without due date (incomplete) yes (Position depends on "Tasks without start and due dates")
task9 without start date and without due date (complete) no (Position depends on "Tasks without start and due dates")
shompoe commented 4 years ago

Q1: decision to show task4 (and task10 also?) depends on a User's understanding of an empty start date. It may mean "today" (see "Where to show" column) or "don't care" (add such an option?)

For me, it means today.

Q2. As we noted in #358 task10 may need special treatment. E.g.: .1 Hide .2 Show today .3 Show only such tasks ???

For me, show today. But I go along with the principle that some users might like the ability to configure other behaviours.

Q3. Is sorting above correct? I see that sorting will depend on Q1 (how we treat no start day)

For me, the order is not correct. Start date just tells me if I'm working on a task or if I'm not yet concerned about it (ie. to display it in my date range or not) whereas due date tells me how long I have for each task and so should affect the priority (ie. tasks with shortest time to complete them at the top).

The decision to put tasks with no due date at the bottom is therefore correct.

yvolk commented 4 years ago

@shompoe @gtbuchanan Maybe we really can solve all above problems with sorting and filtering with only one additional option:

How do we treat a task without start date:

  1. Don't care about such a task (and hide it if no end date also).
  2. Show today, or at the end of list, if no end date.

?! (Maybe better wording is needed...)

shompoe commented 4 years ago

How do we treat a task without start date:

  1. Don't care about such a task (and hide it if no end date also).

  2. Show today, or at the end of list, if no end date.

Seems like this would work for my purposes and for #358.

Can I suggest that the default should be option 2 because this is closer to what already happens and because new users might get confused if they don't see their tasks.

As we are onto the subject of sorting. After sorting first by due date, tasks should then be sorted by priority?

yvolk commented 4 years ago

@shompoe I agree that option "2. Show today, or at the end of list, if no end date" should be default.

Regarding sorting, currently events (calendars events and tasks...) with the same date are sorted by the source, and then - by title. So I think that any other special sorting could be better done changing order of Calendars and Task lists. I.e. you can create different task lists for tasks with different priorities...

shompoe commented 4 years ago

Yes, I see now. As the widget displays two different types of data, compromises are necessary. So I go along with what you say.

ekalin commented 4 years ago

I think the proposal is quite reasonable. A few observations:

For coverage (in particular of the querying, not much of the ordering), one could add two more tasks:

Also, I'm completely ignoring task times (again, which some apps don't support). I'm sure someone has an use case for them, and it might even be reasonable, but if you one really cares about the time, maybe they need a calendar event and not a task. But perhaps it could be used for sorting tasks in a day, but not for filtering.

shompoe commented 4 years ago

This makes complete sense to me. 😊

yvolk commented 4 years ago

@ekalin @shompoe I added two more tasks to the list above, as @ekalin suggested, and split one list into two depending on the selected "How do we treat a task without start date" option.

Please review.

As I see task10 is NOT where @ekalin expected :-)

shompoe commented 4 years ago

Hi, I've read through the output for T2 a couple of times and I think that is how I'd like to see it.

A couple of thoughts for T1, though this is not how I use tasks. Task 12 is shown under tomorrow, because it is due tomorrow. So logically task 8 cannot be shown because the due date is beyond 1 month? And for task 10, should there be a separate option to show or not show it?

gtbuchanan commented 4 years ago

I agree with the current chart. Like @ekalin said, many people (including myself) are coming from Google Calendar where their "Reminders" only have a "due date" so there are no preconceived requirements about "start date". Nonetheless, I can see the usefulness of both sides being described.

I would like to mention that I personally don't care if "task 10" is hidden as long as it isn't displayed at the start of the widget (like "Today"). My main problem right now is my dozens of "task 10" situations push all my calendar events off-screen. I'd be okay if they were displayed at the end of the widget instead in T1. Though, I'm not certain if that is what you meant by "end of the list".

yvolk commented 4 years ago

@gtbuchanan Maybe we really need to show task10 even for T1 ("Don't care") case:

  1. These tasks without any dates won't clutter your space (they will be shown after all other events in the widget), but you will still be able to see them. Otherwise, why you have such tasks at all
  2. The "T1" option becomes even shorter to read and simpler to understand, without a special case: "Don't care about a task without start date" ?!
ekalin commented 4 years ago

I'm not sure I understand what your proposed option does, especially option T1.

I'm also not sure about the need for this option. It's one thing to add an option to hide tasks with no start and end date as in #358, but you seem to want to mix that feature with some other treatment. Moreover, in some cases it's not really the user's choice to set or not a start date, but a limitation on the task app.

Currently I have more issues with both your options than I had before :-) Hete's how I think it should look like. I've removed the completed tasks because they only make it harder to follow the chart, and I think everyone agrees that completed tasks are not to be shown:

Task description Show Where to show
task5 starting last month and due last week yes Last week (or "Past and Due" if turned on. The same for others in the past)
task3 without start date and due later today at 9PM yes Today
task1 starting last week and due later today at 10PM yes Today (after 3, since 1 is due later)
task12 starting today at 7AM and due tomorrow yes Today
task2 starting last week and due in 43 days yes Today
task10 without start date and without due date Depends on setting of #358 If to be displayed, should be displayed today.
task8 starting next week, due in 41 days yes At start date
task16 without start date and due in 20 days yes At due date
task4 without start date and due in 42 days no  
task15 starting in 40 days, due in 45 days no  
task14 starting in 39 days, and without due date no  

Edit: Added task16

gtbuchanan commented 4 years ago

Yes, if T1 was added just for me then I agree with @ekalin chart for the new default behavior. Start dates always matter to me if there is one. For tasks without a start or due date I just use a separate task widget or my tasks app to set dates or complete when appropriate. However, if we still wanted to display them in this widget we can nix the original setting, use @ekalin chart, and add the single following option instead:

"Pin open-ended tasks to Today"

Default to true for current behavior. Setting to false would move the tasks with no start or end date to a new section at the bottom of the widget titled something like "Open-ended Tasks".

yvolk commented 4 years ago

@ekalin wrote

I'm also not sure about the need for this option. It's one thing to add an option to hide tasks with no start and end date as in #358, but you seem to want to mix that feature with some other treatment.

  1. "some other treatment" is exactly the topic of this issue. Please read it from the very beginning.

  2. Placing tasks without any date at the bottom of the list is logical ("correct" as @shompoe confirmed): these are the latest tasks you should care about. I see that actually this is the only point that doesn't fit your needs?!

  3. in some cases it's not really the user's choice to set or not a start date, but a limitation on the task app

ToDo Agenda doesn't support such Task apps: Samsung Calendar simply doesn't have start date, as implemented, Open Tasks allows to leave start date empty.

  1. Regarding "Depends on setting of #358" - I removed such reference in order to make the app simpler as what we have now satisfies @gtbuchanan (reporter of that issue).
ekalin commented 4 years ago

Samsung Calendar simply doesn't have start date, as implemented

That's exactly what I meant on limitation on the task app: since there's no way to set the start date, all tasks have start date empty, so whatever the user selects in that option will apply to all tasks.

yvolk commented 4 years ago

@gtbuchanan

Yes, if T1 was added just for me...

No, the two cases appeared as a result of THIS issue's discussion. Your discomfort with tasks without both dates just happen to fit into the new reasoning...

yvolk commented 4 years ago

Samsung Calendar simply doesn't have start date, as implemented

That's exactly what I meant on limitation on the task app: since there's no way to set the start date, all tasks have start date empty, so whatever the user selects in that option will apply to all tasks.

In previous implementation we set (absent) start date equal to present Due date. That was a workaround, because we didn't have logic that we are developing in this issue. I mean we can (or maybe even should) remove that workaround and leave Start date empty (as it wasn't actually set by a User!)

Edit: ... OR we can change the Samsung "Provider" behavior depending on the "How do we treat a task without start date" option value?!

gtbuchanan commented 4 years ago

@yvolk I see. Well, T1 does fit my need for #358 but it prevents me from ever using start date in a useful way as this ticket suggests (which was the reason I entered a separate ticket). I said it is fine with me for now since it solves my immediate issue and you are trying to avoid adding multiple new settings. If it were my choice, I would prefer the new fixed behavior @ekalin suggested and a new setting for where the "no start or due date" tasks are displayed. Sorry for the confusion.

yvolk commented 4 years ago

@gtbuchanan As you see, this discussion is quite complex, it requires attention to details, to every line of the long post. So please write which exactly line in my post's tables you would change and why.

Comparing different tables with one word won't make us closer to the better solution. I think :-) Do you agree?

gtbuchanan commented 4 years ago

I agree, I'm just replying on my phone where it is more difficult to do that with tables. I'll compose a more detailed response when I'm back at my computer next week.

yvolk commented 4 years ago

@gtbuchanan wrote:

T1 does fit my need for #358 but it prevents me from ever using start date in a useful way as this ticket suggests (which was the reason I entered a separate ticket).

Actually, it appears that currently in BOTH T1 and T2 options tasks without dates won't bother you, so you CAN use both settings!

Moreover, I asked you "Maybe we really need to show task10 even for T1 ("Don't care") case..." here: https://github.com/plusonelabs/calendar-widget/issues/356#issuecomment-559976840 but it looks like you missed that post?! (No wonder if you read this from a phone :-) )

gtbuchanan commented 4 years ago

Actually, it appears that currently in BOTH T1 and T2 options tasks without dates won't bother you, so you CAN use both settings!

I was unsure what you meant by "end of the list", which I thought was clear by my first response. I assumed it meant at the end of the widget but could also have meant at the end of "Today" section like it is now. I'll phrase it as a question next time to be more clear.

Moreover, I asked you "Maybe we really need to show task10 even for T1 ("Don't care") case..." here: #356 (comment) but it looks like you missed that post?!

I've already said that I personally don't care whether task 10 shows or not because I manage those tasks outside the widget. That is up to you. All I care about is that they aren't at the top of the widget pushing all my other events down.

yvolk commented 4 years ago

@gtbuchanan I confirm another time that "end of the list" means after ALL other entries shown in the whole widget. So, once again, you can choose T1 or T2 option depending on your needs, and in both cases the problem that you encountered in #358 will be solved. I.e. that problem will be solved not because of introduction of the new option, but because we are re-thinking how our widget works.

shompoe commented 4 years ago

The T1/T2 is a little confusing and I don't really understand the purpose of both settings. But @ekalin 's revised table seems like it could apply the same logic and cover both situations.

yvolk commented 4 years ago

@shompoe

  1. You already wrote "I've read through the output for T2 a couple of times and I think that is how I'd like to see it" Do you still like it or you changed your mind? If you changed your mind, please tell which exactly line is wrong and why. Comparing two tables as a whole is counterproductive.

  2. If you struggle to understand, what is the difference in T1 comparing with (your) T2 and why: no problem. It is not your goal to understand the whole logic, after all. Is it?!

yvolk commented 4 years ago

@shompoe @ekalin @gtbuchanan So far nobody confirmed that they need T1 ("Don't care...") option. This may mean that we really just can change the widget's behavior to what is written in T2 and DON'T ADD any new options at all, at least now.

?!

shompoe commented 4 years ago

Both T2 and @ekalin's proposal would work for me. This is because functionaly there is little difference between the two. (The only difference I can see is the due date set but no start date scenario.)

I don't understand T1 and I think @ekalin said much the same but his proposal should satisfy both scenarios, making the widget function as one would expect refardless of wether they use google calendar or open notes etc.. So yes, we both seem to be saying that there is no need for 2 settings, but that @ekalin's logic would be the one to use, not T1 or T2.

As for task 10, it looks like we are also saying that there doesn't need to be a setting to hide it but that it should appear at the botton of today.

😁

ekalin commented 4 years ago

Since you asked... here's why I don't like T2:

task4 (no start date, due in 42 days) should not be shown - since it's only due in 42 days and I only want to see events in the next 30 days, there's no need to see it now. And when it is displayed (less than 30 days to the due date), I'd like to see it in the due date, not "Today".

This can be worked around by setting a start date. Except that in some taks providers (Samsung (supported) and Google Tasks (not yet supported, but a good candiate for future support)) don't allow the user the set a start date. So not possible to work around in that case.

Also I'd rather see task10 (no dates) under Today, but this I realize here there is a larger matter of preference at play. This can be worked around by setting a due date (with the minor inconvenience that after the first day they'd be shown as past due not due today), but the ideal solution would be to set a start date - which is not possible for all users.

So perhaps #358 could be implemented with three options: hide those tasks, display under Today, display at the end of the list.

But never mind me, I don't actually use the widget because the changes you made to how tasks work (compared to how I implemented them originally), already made it too different from what I wanted.

yvolk commented 4 years ago

@shompoe What I could understand from your answer:

  1. T2 is still good, it will works for you.
  2. You personally don't see a need in another option e.g. in the one shown in T1 table.
  3. But I didn't get you about this:

As for task 10, it looks like we are also saying that there doesn't need to be a setting to hide it but that it should appear at the botton of today.

Is this about T2? If yes then it contradicts with point 1 above (T2 shows task10 at the bottom of the whole list, not of "Today's bottom"). Please clarify.

Please be concrete in order to avoid misunderstanding.

yvolk commented 4 years ago

@ekalin I understood, why you're so pessimistic. Thank you for telling what's wrong instead of drawing the whole new table...

The answer to you is VERY simple: T1 is for you, not T2. Please look: I moved task10 only (!) in T1 table, and if fully fits in your response regarding T2!

I also added task16 to both tables in order to make it clear, how T1 and T2 differ. T1 acts exactly as you wish!

Any more concrete responses supposing that You selected T1 option?!

ekalin commented 4 years ago

The current version of T1 does work for me now. Some previous version had some problems, but I won't go through each revision of the comment to check what was changed.

Though I'm not completely sure about task2 and 12, perhaps if there is a start date then the tasks should be displayed under the start date. But this is a minor issue, I guess I could live with it either way.

However, it's still not clear what's the intention of the option and what it effectively changes. And if I were a new user and saw that option, I'd be totally clueless to what it does.

yvolk commented 4 years ago

@ekalin Thank you for the feedback. I also see that the names of the setting itself and of the two values (T1 and T2) should be changed...

So about T1: Regarding task2 and task12 and also about all other tasks having start date I also see some inconsistency, The whole T1 is about paying attention at due date (mostly...). So probably it would be better, in order to give a User a real choice between T1 and T2, show tasks with start date at due date also, (or at the end of the list, if due date is outside of the "Date range", but start date is before it?! Anyway, for consistency of the behaviour I'm moving task1 and task8 (the other two shown tasks with start days) later - to their due dates. I also moved not shown yet future task14 without due date to the End of Today (!) in order to express that this task will appear here, when start day falls into the Date Range.

Please look at these tasks now. Same logic with tasks not having Start Date?!

ekalin commented 4 years ago

So it now seems that T1 is about ignoring the start date, even if it is set, for deciding where to sort the task, but the start date is still used in filtering which tasks are to be displayed (next X days of events to show).

If that's the rule, then T1 is consistent. But seems like a weird option to have. After all, if the user wants to ignore start dates, then maybe they should always be ignored (for sorting and filtering). But then there's no real need for the option, is there? Then user can simply leave the start date blank.

The logic of my proposal (which, I must add, has been approved by the other two participants in the thread) is:

  1. Don't display completed tasks
  2. For tasks with a start date, display it if the start date is before the end of the selected event range (today + X days)
  3. For tasks without a start date but a due date, display it if the due date is before the end of the selected event range [Or: filter based on the start date, or if not start date, based on due date]
  4. Use the start date as the day under which to display the task. If there is no start date, use the due date instead.
  5. For tasks in the same day, sort them by due date.
  6. For tasks with no start date and end date, there are several options: hide them, display them at the end, or display under "Today". I prefer this latter option, but I can see the merits of the other possibilities.

[From a technical point of view, one could probably SELECT COALESCE(START_DATE, DUE_DATE) AS EFFECTIVE_START_DATE and filter and sort in days based on EFFECTIVE_START_DATE, no if necessary except for tasks of item 6.]

yvolk commented 4 years ago

@ekalin 1. Main difference now between T1 + T2 and what you are proposing is that: 1.1. Introducing two options I'm trying to give really two consistent options for showing tasks, namely: T1 - Due date gets main attention (and we are trying to show ALL tasks at their due dates) T2 - Start date gets main attention (and we are trying to show tasks at start dates)

In both cases both start and due dates are taken into account, but differently.

1.2. What you are proposing now is a mix between the two. And I see this as a confusion for users.

  1. Placement of tasks without both dates doesn't fit into any logic. It really should be a separate setting, as was written below that T1 and T2 tables. For clarity I'm removing my questions from that post and leave only updated definition of the "Tasks without start and due dates" option below T2, see https://github.com/plusonelabs/calendar-widget/issues/356#issuecomment-559910887
yvolk commented 4 years ago

I added "task17 starting in 10 days, without due date (incomplete)" that emphasizes difference between T1 and T2 consistently.

yvolk commented 4 years ago

@ekalin Regarding "my proposal was approved by...". @shompoe and @gtbuchanan are normal users, who can "approve" anything without going into details but later can easily point you to their words, where they asked for something that contradicts with what they "approved" :-) This is normal, most users behave this way. This is a Developer's task to understand, what they really want (or will want/like...) :-)

Oh, and people change their minds also. Both Users and Developers...

gtbuchanan commented 4 years ago

@yvolk Perhaps you would receive more friendly responses if you were less condescending. I'm a software engineer by trade as well, but you are free to make poor assumptions. I was trying to help but I'll just fork instead.

shompoe commented 4 years ago
  1. Yes, T2 most closely aligns with my uses and expectations, with the exception of point 3 below....

  2. Incorrect, if T2 renders the widget useless for people who cannot set start date then I concur that another option is essential. I just wasn't sure that T1 reflected what those users would expect.

  3. Indeed. I'm sorry for the confusion. Under T2 for task 10 you wrote "end of the list" and in my haste I interpreted that as "end of today." To be clear, for T2 I would want task 10 at the end of today.

You're right. Users do change their minds. Let me take some time to read through T2 very carefully again and make sure I haven't missed anything else.

If you want an option to hide task 10 then no skin off my nose. I just wouldn't use it.

yvolk commented 4 years ago

@gtbuchanan Sorry to sound condescending :-) I'm not telling about profession, but about a role in this concrete issue. Of course it is much easier to do something for yourself... but it's not that interesting, I think :-)

yvolk commented 4 years ago

@shompoe @gtbuchanan @ekalin Thank you all for helping with figuring out, how to filter and how to show tasks.

  1. Based on our today's heated discussions :-) I renamed that T1 and T2 options to what I think can be easily understood by a User.
  2. And as we found out, a separate option for showing tasks without dates will be added also.

I will create automatic test using tasks from the T1 and T2 tables that we discussed (I will add some Calendar events there also...)

Please note that I plan to release new app versions for Android 7.1.1+ only. Hope you use such devices.

shompoe commented 4 years ago

I've been through T2 option with a fine tooth comb. It's a minor point only, but task 7 (starting today) may be said to have already started and so it should appear at start of today. Otherwise I am presently 100% committed to this option.

yvolk commented 4 years ago

@shompoe "task7" is complete and hence hidden, so I think that you mean "task12 starting today at 7AM and due tomorrow (incomplete)" It is shown at its start, at 7AM, and not at "Start of Today" meaning that e.g. some calendar event starting at 6AM Today will be placed before it.

?!