User Tools

Site Tools


thoughts_ticktick

thoughts on TickTick

This is imported content from particle17 that basically never got finished from 2019-10-15T06:55:58-07:00.

TickTick is a task management app that actually understands that when you need to complete a task, you need to spend time doing it. I’ve used OmniFocus and Things extensively, and I’ve taste tested a plethora of different alternatives, but none of them actually take this into account on a really fundamental level. This will primarily be a discussion of why TickTick is a notable competitor to OmniFocus and Things in my eyes, and later evolve into a direct comparison between TickTick, Things 3, and OmniFocus 3.

All good todo list apps have due dates. These dates are the deadlines on tasks. Some have “deferred” dates or planned dates, which refer to the optimal or scheduled dates tasks should be completed on. These are not deadlines — they are ideals or objectives, but nothing bad happens if they’re missed. This is an improvement over due dates for scheduling, but you can easily go crazy and over schedule a certain day. TickTick solves this by letting tasks occupy a block of time on a graphical calendar. Functionally, this is just like any calendar app, but in principle the calendar items created in TickTick do not represent appointments or events, but the time allocated to the tasks themselves.

This is why I think of TickTick as adding another dimension of time to my todo list. In the spirit of Devon Zuegel’s atypical calendering style, it helps me see where my time went on a given day, while also letting me build more realistic plans for what I want to accomplish on a day.

This is a very close idea to what the ill-fated Google acquisition Timeful, which was never capitalized on in Google Calendar (much to my long running chagrin 1) ). It does a pretty good job at it too.

pitfalls of planning

My 2017 foray into Things was primarily driven by the allure of the “Today” view, and scheduling in general. Being able to specify a date to complete a task as well as a hard deadline gave me the flexibility to plan my day out, and never worry that the deadline was arbitrary. Tasks only got deadlines if a real world consequence would happen if trespassed. All other tasks were only allowed to be planned, and I was free to postpone anything scheduled if it didn’t fit in. When I moved to OmniFocus in 2019, I basically adopted this same system using flags as my “today” marker, with deferred dates as soft ideal dates with due dates for the real deadlines.

Both of these tools created a similar set of problems.

First, I would tend to plan my day “optimistically” and overcommit quite easily. Some days I really could complete 20 tasks, but often it was closer to 5-7, yet I never respected that. Just because of energy or because of task granularity variations, I wasn’t able to fit things together quite right. This left me feeling profoundly guilty at the end of the day, or on the following day, when I’d either reschedule or deschedule the incomplete tasks. I tried varying levels of forgiveness, but ultimately I never felt good about the end of day list of things I didn’t do. I also tried scheduling less, but then I felt like I didn’t have enough to do during the day, run out of tasks, and then feel like I was cheating when I added more.

Second, tasks often had varying weights. David Allen’s Getting Things Done and countless other guides all say to ensure that tasks are actionable. That is, the task is in the form of something that requires no thought to consider the next move on. “Write the paper” would be too big, but “take out the trash” would be perfect. While the idea made sense to me in theory, I often felt like my work was a bit too freeform to distill into actions. I spent a lot of time building a new company from scratch, and half the work was undefined until the precise moment I found it. I could never have predicted some of the tasks I had to do until I explored enough of the terrain. I tried adding tasks like “research topic x” or “explore ideas for y,” but those tasks weren’t really actionable. While they were verbs, they could occupy an indefinite amount of time. This greatly complicated the first issue.

Third, both issues would lead me to feel unfulfilled even if I looked at the day’s “completed” list. In order to feel the endorphin rush as described by Marc Andreessen's personal productivity guide, I would look at the completed list for hope. But sometimes it would be small and unfulfilling; other times it would be large, but I felt like the tasks themselves were too small and I was cheating.

These are the reasons why I’ve been frustrated with both task managers famous and infamous alike. They all had the same set of problems with how my brain worked, leaving me guilty and unfulfilled.

how TickTick fits

TickTick solves problem one directly, and two indirectly, so far solving three indirectly for me.

TickTick accomplishes this by letting tasks live on the calendar with my other events, and functionally imposing a minimum task duration for tasks that live on the calendar. I primarily live in the day view, which means that I’m limited in terms of screen real estate the day view can take up. Screens are only so tall, which means that a calendar with lots of 3 minute entries for minor tasks just doesn’t work. In practice, tasks shouldn’t really be allocated smaller than 30 minute chunks of time. This means that I can’t be as actionable, in GTD terms, when writing my tasks. “Take out the trash” takes about 5 minutes, and thus putting it on the calendar is out of the question. It’s still a quantifiable task for me, but the calendar equivalent might be “clean the stupid apartment” and “take out the trash” can live happily as a sub task inside that big block of time, with other similar tasks. Likewise, some tasks really get to be “vague” but respected all the same. A “research” task can easily fill two hours of the day, and that’s fine! There are lots of unknowns, but if it’s the end of the day and I’m looking at the calendar, that giant bucket of unknowns gets a giant bucket of time commensurate with how long it took.

Thus, the solution is basically that tasks should be no shorter than 30 minutes if they’re to go on the calendar. If a task needs to be tiny and actionable, it should live as a subtask of a larger parent, or live outside the rules. By that, I just mean it can appear as a “today” task, but not live on the calendar. It’s not as fulfilling for sure, but as long as the calendar is full, those tasks tend to be “freebies.” I feel good about completing them, but I don’t feel guilty for not.

Consequently, I don’t feel as guilty about rescheduling tasks either. If a task grows in complexity or takes longer than planned, I don’t shy away from just adding more time to it. If I get to the end of the day with tasks that are still set for “today” but undone, I don’t get too sad. I can see where the time went and understand that I still had a good day. As a *chronometer*, it serves as a good system for tracking the past too, because todo items are stored in the past and viewable in the future.

time edge cases

TickTick is pretty great, but there are some natural edge cases if you try to shove everything into a calendar. If a task was scheduled for say, three hours but isn’t done, and I can’t continue it continuously, I have a problem. This is typically when a meeting is set at a fixed time, but I need more task time. A task can only occupy so one time on the calendar, and this is where things become sad. If I continue it past the time I worked it (so as to maintain a contiguous block and use the same task), I feel like I’m cheating my time allocations. I don’t want the time to be occupied by a task if I wasn’t actually working on it then.

The best way around this is to deschedule the existing task that would run overtime, and then make a new task, in my experience. The new task is titled something like “prep for the other task,” and it gets moved into the time slot the original task occupied. When I can next work on the original task, I put it back on the calendar and hopefully complete it. If not, I repeat this process until done.

just use a calendar!

Zuegel's original post on using calendars to store more than just events uses traditional calendar software. I’m not a big fan of how this approach works. The calendar apps I try to end up using all rely on the iOS or macOS calendar system in some fashion, which seems to be prone to weird sync issues. If I create an event on my laptop, I operate under the assumption that the event will be instantly, or nearly instantly, available on my phone. In practice, with macOS and iOS, this commitment gets broken enough to be agitating. Even with push sync on for calendars at the OS level, I’ve had multiple times where push stops working on iOS, necessitating a device restart to fix it.

That’s kind of a minor aside, though, because buggy software can always get fixed down the line. The real problem is that a calendar isn’t a good task manager. As I covered in edge cases, rescheduling or editing existing events would lead to past calendar events disappearing, thus no longer accounting for the time in the past. Similarly, adding events in the past is universally a pain. This is common if I start a task, realize that I’m going to be doing it for the next hour, and want the calendar to reflect that. Adding an event to a traditional calendar app always assumes I’m referring to the future, which often means I have to take extra care to get it on the same day.

Obviously, calendars don’t track the state of whether or not an item was completed or not.

what am I looking for in a task manager?

I’ve covered how TickTick solves showing where time is spent and how it’s organized throughout the day. Obviously there’s more to a task manager than that. If it were a calendar I wanted, then I would use a calendar (but I don’t). In contrast, there are important things that need to be done right for a task manager to be viable.

a today view

I find the concept of a today view to be critically important. This is simply that the app has a representation for tasks that are supposed to happen today. I find it critical to plan the day in the morning and lay out a sketch of what I want to do.

calendar integration

As funny as it is that I don’t want a calendar for todo items, I find calendar integration really important. If I have 5 meetings back to back, I’m not going to be able to get as much done today as if it were a free day.

role categorization

I do a lot in my life, which means that I need some way to differentiate between tasks for work, for home, and for any number of side projects. I explicitly reject that tagging should be the only solution here. When I’m not at work, I do not care or want to see any of my work tasks. It creates too much anxiety and dread.

deadlines

I find it really critical to have a system that tracks the concept of deadlines separately from the concept of when a task is planned. Most systems at a basic level don’t make the distinction, and only support deadlines. This is terrible.

projects

Simply, it should be easy to create a large scale project, or list, with sub-actions that are required for completion.

1)
When Zach Holman was working on During, I suggested blatantly copying Timeful in his app. During regrettably never materialized, which dashed my hopes for a Timeful replacement, a desire which has spanned multiple years. Twitter’s a void and I can’t find the actual tweet where I embarrassingly asked for it.
thoughts_ticktick.txt · Last modified: 2025/01/30 02:38 by particles