Skip to content

Commit

Permalink
Update some posts
Browse files Browse the repository at this point in the history
  • Loading branch information
dbp committed Jan 5, 2019
1 parent abbc7f9 commit 283b80a
Show file tree
Hide file tree
Showing 5 changed files with 119 additions and 82 deletions.
14 changes: 7 additions & 7 deletions _site/drafts/remembering-things.html
Expand Up @@ -30,28 +30,28 @@ <h2>Remembering Things</h2>

<p>Remembering when to do things is, for me, a big strain on my short-term attention / memory, and it’s particularly stressful to wonder if I’ve already forgotten something. I have no idea how anything inside my brain actually works, but my mental model is that I have a limited amount of short-term memory where these deadlines are stored. In order to avoid getting shifted into long-term memory (and thus get forgotten until something triggers them), I have to periodically scan through this memory.</p>
<p>This seems like exactly the type of thing that should be solvable, or at least improvable, by modern technologies: in particular, smart phones, which are perfectly capable of capturing things at any time, notifying at precise times (&amp; locations, to a point), and filtering/sorting in sophisticated ways.</p>
<p>I want to argue that we are maybe 75% of the way to a system that is complete enough to significantly reduce this mental strain, and that there is no fundamental limitation to getting the rest of the way there (just a matter of incremental improvements). Note that, like many things, the difference between almost there and all the way there is massive: once it is perfect, you no longer have to think about it at all, whereas even if it is 90% perfect, you still have to think about it frequently, as that 10% still matters. The system that I’m using (which I’ll talk about in more detail) is the app GoodTask on iOS which relies on the built-in Calendar and Reminders (note: the app is not free – though it has a 2 week trial). There may be better tools, but I haven’t found them yet, though not for lack of trying…</p>
<p>I want to argue that we are maybe 75% of the way to a system that is complete enough to significantly reduce this mental strain, and that there is no fundamental limitation to getting the rest of the way there (just a matter of incremental improvements). Note that, like many things, the difference between almost there and all the way there is massive: once it is perfect, you no longer have to think about it at all, whereas even if it is 90% perfect, you still have to think about it frequently, as that 10% still matters. The system that I’m using (which I’ll talk about in more detail) is the app GoodTask on iOS which relies on the built-in Calendar and Reminders (note: the app is not free – though it has a 2 week trial). There may be better tools, but either they require hardware I don’t have or I haven’t found them yet (not for lack of trying)</p>
<h3 id="calendar-events-vs-tasks">Calendar events vs Tasks</h3>
<p>First, I want to talk about “calendar” events and “tasks”, both to unify them and draw a distinction between them. Unify them because whatever notification system, display, etc, needs to show them together. Fundamentally, the display should answer the question “what do I need to do now” (or, tomorrow, next week, etc), and any tool that doesn’t put these things together is broken (which is nearly all of them).</p>
<p>But, there is still a critical distinction between these: calendar events will be scheduled, but tasks in general will not be (as a side note, the applications that insist that every task be scheduled are absurd – many tasks, in particular the ones that are easy to forget, take very little absolute time; the trouble is actually remembering to do them, and being in the right place to do them…).</p>
<h3 id="calendar-events">Calendar events</h3>
<p>The critical thing about calendar events is that if you don’t do them in their scheduled time, that’s it. If there was a meeting you were supposed to go to but you didn’t go to it, too bad, it’s done. Calendar events are never marked as done, they don’t become overdue, they simply become in the past.</p>
<p>Calendar events are also much simpler (and better supported by software). Since they have a concrete time, it’s clear where they should show up in the “what should I do now” (or tomorrow, next week) displays, and provided they have a location, notifications are pretty easy too, as they can be given based on travel time to get there. There are some subtleties there (what is the mode of transit, etc), but in general this is pretty well developed and getting better. On iOS (and maybe Android), recurring events will even learn locations if you don’t input them, which is great. You can, of course, just hard-code notification times on events (which is pretty much what you have to do now). As a rule, all calendar events should have notification times, as otherwise, why is the event in your calendar?</p>
<p>Calendar events are also much simpler (and that’s probably why they are much better supported by software). Since they have a concrete time, it’s clear where they should show up in the “what should I do now” (or tomorrow, next week) displays, and provided they have a location, notifications are pretty easy too, as they can be given based on travel time to get there. There are some subtleties there (what is the mode of transit, etc), but in general this is pretty well developed and getting better. On iOS (and maybe Android), recurring events will even learn locations if you don’t input them, which is great. You can, of course, just hard-code notification times on events (which is pretty much what you have to do now). As a rule, all calendar events should have notification times, as otherwise, why is the event in your calendar?</p>
<h3 id="tasks">Tasks</h3>
<p>Tasks, or todos, are more complicated and subtle, and haven’t gotten nearly the same treatment as calendars (those facts are probably related). Another explanation of this is that calendar events can be seen as a special case of a task that has a particular duration and that gets automatically marked done at the point when it is scheduled. In this sense, a particularly useful and common type of task is well supported, but not more general varieties. Regardless, general tasks are more subtle.</p>
<p>Tasks, or todos, are more complicated and subtle, and haven’t gotten nearly the same treatment as calendars (those facts are probably related). Another explanation of this is that calendar events can be seen as a special case of a task that has a particular duration and that gets automatically marked done at the point when it is scheduled. In this sense, a particularly useful and common type of task is well supported, but not more general varieties.</p>
<p>While there are dozens (or hundreds?) of task apps (as well as the ones built in to phones), most of them treat tasks alternately as pretty shopping lists (i.e., add a bunch of things to the list, remove them from the list), or complicated hierarchy of notes, or ticketing systems, possibly with various notification structures (note: I’ve looked into a few dozen, and some are better than this, but this is the general story: even very popular ones seems to just be pretty variations on these themes…)</p>
<p>From the perspective of <em>remembering things</em>, the most important thing about a system is that you can get absolutely everything that you need to remember into the system, and the immediate consequence is that the primary thing that the application needs to do is <em>not show you things that aren’t yet relevant</em>. For calendar events, it’s obvious when something isn’t yet relevant: it isn’t happening today (or tomorrow, or next week, depending on the view you are looking at), and there is a built-in pressure valve: you can’t do more than one thing at a time, so your calendar can’t be too overwhelming.</p>
<p>Tasks, when treated naively (as almost all applications do), do not have similar structure, so you end up having a massive list of things of varying importance, from things that need to happen today (grab groceries, put out recycling, send an email to X) to things you want to do in the next few weeks (read Y paper, contact Z about research they are doing, buy train tickets) to things you need to do in the next month or two (etc, you get the point), and you can imagine that if you start piling up all of these together you would have an unmanageable list. There are also further complications: some tasks are repeating but have deadlines (bills!), others repeat but without clear deadlines (e.g., vacuuming should happen maybe weekly, but it’s not particularly urgent if it doesn’t), and some only make sense to do in certain places (i.e., even if it is the day when the recycling is put out, if I’m not at home, there isn’t much point in telling me that).</p>
<p>Tasks, when treated naively (as almost all applications do), do not have similar structure, so you end up having a massive list of things of varying importance, from things that need to happen today (grab groceries, put out recycling, send an email to X) to things you want to do in the next few weeks (read Y paper, contact Z about research they are doing, buy train tickets) to things you need to do in the next month or two (etc, you get the point), and you can imagine that if you start piling up all of these together you would have an unmanageable list. There are also further complications: some tasks are repeating but have deadlines (medicines, bills, etc), others repeat but without clear deadlines (e.g., vacuuming should happen maybe weekly, but it’s not particularly urgent if it doesn’t), and some only make sense to do in certain places (i.e., even if it is the day when the recycling is put out, if I’m not at home, there isn’t much point in telling me that).</p>
<p>Ideally, when adding tasks you could put down specific <em>or vague</em> times when they should happen, where they make sense to happen (or where they don’t make sense to happen), repeating patterns (either specific, like the 1st of each month, or periodic, like a week after the last time you did it), and possibly some sense of how important and how hard the task is. I’m a little hesitant about including the latter because I feel like trying to estimate those things becomes really hard (and that means that capturing the tasks becomes more difficult, which is counter-productive), and also, I’ve never used a system that actually does anything useful with it, but maybe.</p>
<p>What is presented in a “now” view should be a combination of things that are specifically due soon or are overdue combined with (provided there aren’t too many of the former) things that are vaguely due in the near future. What’s really important is that this view should allow tasks to be addressed quickly: ideally, there are three extremely quick actions – Mark done, Remind me soon, Remind me later. The former is obvious, but the distinction between the two others is where these systems could get smart. “Remind me soon” might mean tonight, or maybe tomorrow, or the next day. “Remind me later” is more complicated. It essentially is a deprioritization. For tasks that have clear deadlines, there probably isn’t much that should happen, but likely it won’t get clicked. But for something that was entered several months ago as vaguely due around now, it bumps it out by a week or so. If it has already been deprioritized, maybe it pushes it further out. There are probably other ways this could get more sophisticated, and it would probably be worth it! The point is, figuring out what is relevant to show (and notify about) is perhaps subtle, but if done well potentially has a high payoff!</p>
<h3 id="current-systems">Current systems</h3>
<p>The best system I’ve found for iOS (if you have suggestions for something better, let me know!) is the app GoodTask, though it’s certainly not perfect. In terms of what it does do: you can schedule specific deadlines, repeating patterns, and it does an great job of integrating the calendar (you have to go to the settings-&gt;preferences and uncheck “separate calendar events”; the default keeps them separate, which is particularly broken for the week view).</p>
<p>The single day view shows overdue tasks, unscheduled tasks, tasks that are due today, and calendar events. It uses the built-in Reminders for data storage (though, unlike Reminders, it doesn’t show you everything, thankfully – but using this data store has upsides: it means, for example, you can input reminders by voice) and Calendar (which is great). The location feature is limited to what the Reminders app does: you should be able to get notifications when you enter or leave a given location (though it’s been unreliable for me). This isn’t exactly what I want (as I’d rather have the tasks be <em>filtered</em> by location, like they are filtered by date). It has a nice subtask feature (but, it’s minimal – no sub-subtasks), which I’ve ended up using more than I would have thought (as I might have a list of things I need to do before leaving home and I can more compactly keep them organized this way).</p>
<p>The single day view shows overdue tasks, tasks that are due today, and calendar events. It uses the built-in Reminders for data storage (though, unlike Reminders, it doesn’t show you everything, thankfully – but using this data store has upsides: it means, for example, you can input reminders by voice) and Calendar (which is great). The location feature is limited to what the Reminders app does: you should be able to get notifications when you enter or leave a given location (though it’s been unreliable for me, so I don’t use it). This isn’t exactly what I want (as I’d rather have the tasks be <em>filtered</em> by location, like they are filtered by date). It has a nice subtask feature (but, it’s minimal – no sub-subtasks), which I’ve ended up using more than I would have thought (as I might have a list of things I need to do before leaving home and I can more compactly keep them organized this way).</p>
<p>The main flaw is that it doesn’t have a notion of vague deadlines (I don’t know of any app that does, so this isn’t an attack on it specifically), which means the most annoying part of it is moving tasks between days. For example, there is no way of having 10 tasks that should happen this week and have only a few show up at a time, as they are done. I could put them all on Monday, but then Monday is an overwhelming mess, so more realistically I’ll scatter them throughout the first couple days of the week. And then on Monday if I decide not to do a task, I’ll bump it a few days forward. It works okay. And then if I want something to be hidden for a while, I need to put it as due the date when I want it to first reappear (as it will be totally invisible until that point).</p>
<p>Because of the lack of location filtering, I don’t actually find the notifications all that useful, as trying to figure out when to put notifications on tasks is difficult. The notifications are done via the built-in Reminders, which means your delay option is “delay 1 hr” or “delay 1 day”, which isn’t terrible, but isn’t great (if a reminder hits in the morning and I want to do it at night, I’ll be bouncing it every hour throughout the day). My work hours vary by day, and whether I’m working at home or commuting an hour to my office varies, and getting pointless notifications is <em>much</em> worse than getting minimal notifications. As a result, I primarily rely on the app badge number, which is the number of overdue tasks, and I open up the app periodically throughout the day. Having to do that is another reason why re-scheduling tasks (and making sure tasks that are not going to be done today are not there) is so important. By the end of the day, there should be nothing that hasn’t been done.</p>
<p>Because of the lack of location filtering, I don’t actually find the notifications all that useful, as trying to figure out when to put notifications on tasks is difficult. The notifications are done via the built-in Reminders, which means your delay option is “delay 1 hr” or “delay 1 day”, which isn’t terrible, but isn’t great (if a reminder hits in the morning and I want to do it at night, I’ll be bouncing it every hour throughout the day). My work hours vary by day, and whether I’m working at home or commuting an hour to my office varies, and getting pointless notifications is <em>much</em> worse than getting minimal notifications. As a result, I primarily rely on the app badge number, which is the number of overdue tasks, and I open up the app periodically throughout the day. Having to do that is another reason why re-scheduling tasks (and making sure tasks that are not going to be done today are not there) is so important. By the end of the day, there should be nothing that hasn’t been done. Even if that means, towards the end of the day, bumping things I thought I’d get done to the next morning.</p>
<p>GoodTask has a mechanism to filter task by various lists, but I’ve never used it. It’s actually a pretty misleading aspect of their screenshots, as it makes it seem like there are features to support “<span class="citation">@Home</span>” and other seemingly sophisticated features, but they are just lists (that are detected by tags). Manually filtering is just a way for me to lose track of things, as I would forget I’m looking at a particular list.</p>
<h3 id="summary">Summary</h3>
<p>I’ve been using this system for a couple months and it works pretty well – certainly better than not using it! There are some lingering flaws in GoodTask, but overall, I think it is working well enough that I’ve been spending less time worrying about whether I’m forgetting things. In general, I think this space has had surpisingly little attention paid to it by the big three (Google, Amazon, Apple), given that it seems to play so well into their “personal assistant” marketing and the technical aspects don’t actually seem terribly hard (less difficult than voice recognition, anyway!). Each of them can handle basic “remind me to do X at Y” (i.e., create the basic reminders they support), but seemingly have spent little energy figuring out when and how to present these tasks to the person that created them. Which makes them come off as cute technical demos: working when you create 5 reminders, not so much when you create 500. If they put a lot more effort into this, maybe calling them “personal assistants” may not be so silly after all (though since they are intended primarily as advertising devices, maybe I shouldn’t hold out hope).</p>
<p>I’ve been using this system for maybe six months and it works pretty well – certainly better than not using it! There are some lingering flaws in GoodTask, but overall, I think it is working well enough that I’ve been spending less time worrying about whether I’m forgetting things (and, I’m pretty sure I’m actually getting the things done more quickly). In general, I think this space has had surpisingly little attention paid to it by big tech companies, given that it seems to play so well into their “personal assistant” marketing and the technical aspects don’t actually seem terribly hard (less difficult than voice recognition, anyway!). Each of them can handle basic “remind me to do X at Y” (i.e., create the basic reminders they support), but seemingly have spent little energy figuring out when and how to present these tasks to the person that created them. Which makes them come off as cute technical demos: working when you create 5 reminders, not so much when you create 500. If they put a lot more effort into this, maybe calling them “personal assistants” may not be so silly after all (though since they are intended primarily as advertising devices, maybe I shouldn’t hold out hope).</p>

</body>
</html>

0 comments on commit 283b80a

Please sign in to comment.