Open rien opened 7 years ago
This is an interesting idea you are raising. The current requirement of having to specify a date and time according to some strict format is obviously something that needs to change. Only having to specify a time or date (and not the year, wtf) would be a good start. Then later, we can also add support for things like "tomorrow" or "in 2 hours" like @Silox implemented for eva-deprecated. "soon" could be an interesting alias to have as well, although that might mean different things for different people?
The implementation decision of not making deadlines optional was a conscious one and for those same reasons, I don't think they should be relative to other tasks or be flexible.
I would love to hear your thoughts on this.
I agree deadlines should not be relative, I think all cases where something like this would make sense are handled by task dependencies.
Personally speaking, I have a lot of projects / tasks that are due 'sometime', which would probably translate to 'within two-three years' or something like that. I do, however, have a 'goal time' for these projects, which is often much faster, like a month from now. These 'goal times' are not meant to be realistic, however. If I understand correctly, you would use a 'priority' to denote this 'goal' and have Eva calculate this 'time' for you?
About the how-soon-is-soon: as @R13N suggests, real deadline values should probably not be necessary in order to schedule tasks. It might be interesting (albeit perhaps a bit complex) to apply fuzzy logic in order to handle 'soon', 'later', 'next year or so' and statements like that. I think this could be interesting because it would allow Eva to choose a deadline for you, which works out with the rest of your schedule. Of course, having a 'fuzzy deadline' still implies a hard deadline (the last time belonging to the fuzzy value), and the fuzziness might be handled better by a priority value. I'm not sure what a priority means exactly in Eva right now, though.
Now that I think more about it, you mention that a task should have a deadline, and you denote this as the ultimate time limit. So, suppose I would like to do some herculean work, but I'm not really pressed on actually finishing it some day. What do I put as a deadline here? A year? Two years? I can't put my death time, since I'm not (yet) sure about that one. What do I do when life happens and I don't meet the deadline? Do I reschedule? Did I fail and is my life a joke now? So many questions!
@iasoon: All right, there's a lot to cover here.
The main idea behind Eva is that it should be able to decide when the right time is to work on something. So the answer is yes to your first question. Just a quick note on further use of terminology: I feel like people generally use the word "priority" to mean a combination of (or either of) importance and urgency. So a priority is something Eva decides, whereas as a user, you supply the two inputs of the two orthogonal dimensions: an importance number and a deadline.
Fuzzy deadlines described as a fixed distance into the future, but specific to the user sound interesting. It feels like Eva hasn't reached the stage yet where this should be something to implement soon. Perhaps user-configured aliases.
As for your last questions, you may have noticed that there is an item on the roadmap called "Life organising scheme (values → life goals → projects → tasks)". It isn't well thought out yet, but the idea is that to be happy and motivated, what you do in your life should be in line with what you want to achieve in life and with what values you hold dear. Eva can then also have the right information to motivate you if you need it by reminding you why you're doing something. With a life goal I mean something that doesn't have a deadline and you'll probably continue working towards your whole life (unless your values change). With a project I mean something that should have a deadline. Even if you don't care whether that's in 3 years or in 4 years, I believe you should put a realistic deadline on it so you completely commit to it. I think this is key. And a nice UI of Eva could help one in nudging you towards that. I'm not really sure which of the two you're thinking of with a herculean work.
When Eva has reached a more mature scheduling strategy, I would hope that Eva would make sure you're constantly working on your herculean work and with enough margin taken into account, so that, if life happens, you can remain on track. But of course, you can always reset deadlines and reschedule everything in dire situations. That should be the exception rather than the rule though.
@Procrat you raise some very good points and interesting ideas. Before I think about all of this, I have a quick remark: with larger undertakings and goals, I really don't care when I achieve them. What is important to me, is that I actively work towards them. For example, I'd like to be able to climb the most difficult route in my climbing gym one day. I don't care when this is, or if I even achieve that, but what is important to me is that I pursue it by practising on a regular basis. The same goes for my guitar playing, or even that keyboard optimizer I was working on. I think I feel this way about most of my personal goals, because they are not goals per se, but rather the things I would like to be occupied with. They are 'how I wish to fill my life', if you will. I guess this is more about building habits, shaping my life, rather than actual tasks I have to do with a set deadline.
I think @silox' issue about piecewise tasks is totally about this as well. A good indication of this is that when your 'task' is 'ride bike for 5h this week', it does not fail when you only rode 4h. It rather means that you did the task (ride your bike), but not as good as you would like (only 4h instead of 5h). (Of course, you could be a hardliner about this, but I think that's a terrible way of practicing self-improvement). Actual piecewise tasks should probably be entirely covered by task dependencies (e.g. multiple steps).
Perhaps these 'habits' are more like non-materialized tasks, as in "I want to play the guitar today, but I didn't decide yet what I will play, and it's not really important either, I just have to play". The same works for reading a book, writing, working out, or practicing a skill. For all these things, you can quantify progress as pages read/written, exercises completed, or at the very least as time spent. It think the correct way to go about this is setting a target progress per time unit. Eva can then derive priorities based on this goal and your current progress, and prod you to do what you have to do. What's especially nice about this is that Eva can plan these habits around the tasks with actual deadlines, and, for example when you're having a busy week, assure you that you can afford to take a relaxing night off for that nice bike ride you wanted to do.
@iasoon Yes, completely!
@iasoon: Glad you agree on the habits thing. I suggest we take that discussion to #3 or #4.
@R13N: I'd love to hear your thoughts before we decide what direction to take with this.
Sorry for the radio silence. I really need a scheduler to plan what I have to do.
Ok, now I have been thinking and the problem I had in my mind when creating this issue was more about the importance factor than about deadlines. I tried to generalize it a bit too much I think.
The main problem I had in mind was that importance is a somewhat weird concept, and it's difficult to slap a number on it. I should have used the relative ordening for the importance factor. That way, Eva could ask whether 'answer a mail from Jeff' is more important than 'shop for new Clothes', or if they have the same importance.
Putting numbers into Eva is difficult, maybe that is something she could help us the most with? Let's take a look at al the numerical data that has to be entered:
Maybe I could summarize this with the following question: how do we make Eva as human as possible? She has to be a secretary managing your tasks at micro (splitting large tasks into many little ones) and macro level (managing different life goals), while being friendly and lowering your mental burden. I think avoiding to put numbers in Eva will be a big step towards lowering that burden.
My apologies for the radio silence on my part as well! We need Eva!
If the goal is specifically to get rid of numbers in the user interface (which wasn't particularly my intention), we could have sliders to indicate the importance level. Maybe there exist other kinds of UI elements to help eleviate this burden?
At the moment, a precise time has to be given. But I seldom know the precise time a task will require or what the precise deadline is. So maybe it would be a good idea to think about if and how to support fuzzy times? For example when a deadline is
soon
it could be + 2 days. Or when a task is short it could require around 10 minutes.I
eva
could even ask you some questions, likeIs this task earlier due than task X?
. And with a clever logarithmic search she could make a guess about when she should schedule that particular task. This could of course also be used for the task length and priority.To be able to schedule tasks, we only need an ordering between the tasks, not real values. Right?