Todoist Sequential Tasks
Both the apps follow the tried and tested formula here. A menu with lists and filters. Tap on Select Tasks. Tap on tasks to select them. Selected tasks will be highlighted. From the menu that appears at the bottom, select the action you want to perform: Tap the calendar icon to schedule all selected tasks. Tap the move icon to move all selected tasks to another project. Tap the flag icon to change the priority of all selected tasks.
March 9, 2020Comparing my favourite task managers at the beginning of a new year.
It always comes down to a choice between these two productivity powerhouses for me.
Over time, I’ve mostly settled on using Things, but as I tend to do once or twice per year, I switched back to using Todoist for a few weeks to see how things have changed and improved over the past few months.
Doist (the company that makes Todoist and Twist) recently unveiled one of the largest updates to Todoist in recent memory, a broad overhaul they called Todoist Foundations. It brought many useful refinements, including proper sections, a familiar drag-and-drop quick add button on iOS and Android, a new task detail view, and revised iconography throughout.
Things, meanwhile, has also been steadily improving, with important quality of life additions like the overhauled Quick Find and the incredible Type Travel feature making its way to iPadOS.
So how do they compare nowadays? I thought I’d offer a set of strengths and shortcomings for each one, a highlight reel of sorts that you can use to determine which one is a better fit for your needs.
Todoist: Strengths
To my mind, the defining feature of Todoist is the natural language task input.
More than ever, that capability sets Todoist apart from the competition for speed of capture. Many task management apps want you to use the Inbox to capture tasks in a very rough form, returning later to properly schedule and file them into the appropriate list.
This workflow has never worked for me because I almost always know exactly where and when each task is for when I enter it. As a result, I want to quickly enter a new task and organize it in the same step, removing the need to subsequently sort through a messy inbox. Even setting aside the time burden, the simple mental ease that this provides is hard to overstate—nothing I’ve tried makes capturing tasks feel as effortless and joyful as Todoist.
That being said, relying on natural language means that you end up having to remember some syntax tricks for more complex scenarios.
Discovering the‘every!’ Command
For example, it was only recently that I learned about the every!
command, which allows you to create tasks that repeat on a schedule but only after the previous instance has been completed. In the past, when I had repeating tasks, they would repeat whether or not I had completed the previous instance. In many cases, this resulted in a string of nonsensical duplicates.
The reason it happens is that I was typing in something like wash some dishes every day
. This natural language syntax does indeed create a repeating task, but it repeats daily with no regard for the completion of its predecessor. In Things, when you’re in the dedicated repeat settings for a task, you can choose whether or not you want the repeat to depend on the completion of the current instance, and I thought this wasn’t possible in Todoist until I discovered this syntax trick.
If you use every!
instead of every
, then Todoist establishes that completion dependency and you get tasks that repeat on schedule only when you’ve completed the current instance.
More Sophisticated Scheduling
Speaking of scheduling, Todoist’s understanding of dates and repeating tasks is more sophisticated than Things’. For example, I have a repeating task that I only want to appear every third weekday. In Things, tasks can repeat weekly or daily, but there’s no awareness of weekends, so it’s impossible for me to set up this particular repeat pattern. Even something simpler, like repeating every other weekday, I would have to set up manually in the repeat settings for the task.
In Todoist, I can simply enter a task using every three weekdays
and Todoist handles it perfectly.
Other People
Things remains unaware of other people, offering no ability to share or collaborate in a useful way.
As an individual task management system, that’s fine, but it means that many Things users—myself included—are stuck employing a different app for lists or tasks that need to be shared with a spouse, friend, or teammate.
Todoist, on the other hand, was built for collaboration. Projects can be shared, and every project, task, and subtask gets its own dedicated comment thread for easy discussion. Similarly, you can generate a calendar subscription link for any project, allowing you to view your tasks (or allow collaborators to view them) in your calendar system of choice. If you use Google Calendar, there’s also a potent two-way sync available.
Other Platforms
Todoist is available on every mobile and desktop platform on the market, including the web.
Things is only available for Apple platforms, with no web view and no apparent plans to expand to others.
Todoist: Shortcomings
For all its compelling advantages, Todoist still has a lot of rough edges that bother me.
Moving Tasks is a Pain
Moving tasks is a pain, especially on desktop/web. The drag target feels small and volatile, so I often end up accidentally bulk highlighting tasks. What’s worse, you can’t bulk move tasks within a list. This seems like a niche problem, but I ran into it many times after the Foundations update because I suddenly had“real” sections I could use and wanted to move existing tasks into newly created sections.
I initially thought you could use the normal“Move to Project” bulk task moving system to accomplish this, but it remains unaware of sections. As it turns out, the only way to move a group of tasks into a new section is…one at a time. Using that small, easy-to-miss drag target to grab each task and pull it down under its destination section. I had to do this nearly forty times for one of my lists and it was painful.
Sections Kind of Suck
Sections, meanwhile, can’t be moved above the list of loose tasks either. I always want to see sections before loose tasks (similar to how I prefer to have folders on top in the Finder, even with alphabetical sorting), but there’s no way to accomplish this in Todoist. Sections are always at the bottom of the project, under your loose tasks.
For some reason, it’s not only the movement feature that’s unaware of Sections: they’re invisible to Quick Find as well. You cannot currently search for a section to quickly navigate to it. The whole sections system feels half-baked at best, and I hope to see them improve it.
Rigid, Spartan Design
Todoist doesn’t allow you to resize the sidebar, or hide unused sections (I never use Labels or Filters).
That’s not so bad, but there are many small design touches that make Todoist feel distinctly less helpful and informative than their equivalents in Things. For example, while projects can be nested, there’s no immediate visualization of progress like there is for projects in Things with their little pie-chart progress indicator. I miss that bit of glanceable status info.
Moreover, Things includes a list of the day’s calendar events on the Today page, an affordance I find significantly more useful than showing my tasks in my calendar (something I never want).
Todoist also lacks the ability to usefully divide a day depending on context. Omnifocus has the most power here, but even Things’ simple daytime/evening division within the Today view keeps my task list from feeling cluttered. Todoist has no way of creating this sort of contextual division. The best you can do is use priorities or manual ordering to put tasks into a more approachable sequence.
I’m personally not too bothered by this, but my wife (who has been a devoted Todoist user for years) says she finds herself avoiding opening the app sometimes because it feels like there are too many things on her list that she’s unable to do anything about until later in the day and it makes her feel anxious and unproductive.
I find information density a little off in Todoist as well; I wish that task rows weren’t so tall. They span to two rows as soon as you make use of scheduling, comments, or repeats, and it makes the list feel taller and more bloated than I’d like. Ideally, I would love for all of that metadata to be displayed inline with the task title to keep things lean, but if it must span to two rows then I’d prefer to have the spacing tightened up to allow more tasks to be visible at a time without having to resort to a change in text size.
Unfortunately, some of these things are likely consequences of Todoist’s web-based nature. The fluidity and polish of an app like Things are difficult to scale to a service that spans so many more platforms.
Due Dates Only
While Todoist’s understanding of schedules and repeats is unmatched, it lacks one critical feature: the ability to distinguish between start dates and due dates.
I often want to start work on a project many days before it’s due, so in Things I can set both a start date and a due date. The former is when the task shows up in my Today view, but I also remain aware of when it actually needs to be completed by and can manage my time accordingly.
In Todoist, tasks can only have a single date assigned to them. Tasks show up in your Today view on that date, and if they happen to be due later then there’s no way to indicate that unless you put the date in as a simple text comment or include it in the task title, both of which are clunky workarounds.
I honestly expected this to be a headline feature of Todoist Foundations as it’s been one of the most pervasive feature requests for years now, but somehow it continues to remain unaddressed.
Maybe next year?
Things: Strengths
Things’ more limited scope allows it to transcend many of its competitors in terms of polish, fluidity, and general usability.
Incredible Design
There are very few apps, across any category or platform, that can rival Things for user experience and design. It is unbelievably solid, thoughtful, and humane in a way that I hope inspires other developers.
Seemingly-simple details like the ability to see your calendar entries in the Today view, the ability to cancel (not just delete) a task, the presence of progress indicators on Project lists, or the availability of an Evening separation for your day’s tasks are all examples of this deep understanding of how people manage tasks.
All of the subtle animations and a clear sense of visual hierarchy come together to form a brilliantly cohesive experience that makes task management seem effortless, light, and unthreatening.
Keyboard Navigation
Navigating around Things feels like a superpower thanks to Type Travel and the associated Quick Find features.
It’s such an unfamiliar concept that it took me some time to get used to, but now I wish every app worked this way. In Things, to get around you can simply…start typing. Want to get to your Today view? Just start typing today
—from anywhere in the app—and you’ll see the Quick Find menu appear and autocomplete your destination.
This works for Projects, Areas, preset lists like Upcoming and Anytime, as well as individual tasks, headings, and hidden utility lists like Deadlines, Repeating, and Tomorrow.
Best of all, this works on iPadOS with a connected keyboard as well. Between Type Travel and keyboard shortcuts, you can accomplish almost anything in Things without clicking or tapping.
The Logbook
Things and Todoist both take pretty good care of your completed tasks, but Things has a dedicated Logbook section for them that I find appealing in principle, even if I don’t look at it that often.
Todoist is a bit more granular in that it has an“activity log” that not only shows completed tasks, but also captures changes you’ve made, things you’ve removed, and other such details. This is fine, but it’s less accessible and feels like a troubleshooting tool more than a way to reflect on your accomplishments.
Things: Shortcomings
While I spend most of my time with Things, some aspects continue to bother me.
Cumbersome Task Entry
Given my preference for quick capture of tasks with all metadata, you can imagine that I don’t consider Things to be as quick. It isn’t terrible, but it requires a lot of tabbing around through multiple fields as compared to the simple typing in Todoist.
Furthermore, certain aspects like repeat scheduling can’t be set up at capture at all in Things—you have to create the task first, then navigate to it and access its repeat settings.
This is also one area where Todoist’s more spartan design has an advantage: the total lack of interface fluff or animations makes interaction feel quicker and more responsive, particularly on mobile devices.
I should mention that Things does, technically, have some natural language input, but it only operates in the scheduling field of task entry and lacks a few of the more sophisticated options that Todoist offers (like awareness of weekdays).
No Collaboration
My needs on this front are basic, but Things nevertheless fails to provide any ability to share a list with someone else.
I’m not a big user of email integrations and all those neat things that Todoist can do, I just want to be able to have a shared grocery list with my wife or collaborate on travel planning. Todoist makes this sort of thing effortless, and you can use as many or as few of its collaboration features as you need.
Todoist also has the advantage of allowing file and link attachments, which I find very helpful.
Things is focused entirely on personal productivity, and it seems to think that everyone’s tasks exist in a protected silo where other humans don’t matter or contribute to your day. It’s not the end of the world to have to use Reminders or another simple app for those shared lists, but it feels like unnecessary app clutter.
It’s an unfortunate limitation, particularly because I believe the team would have a unique approach to solving this problem if they ever decided to tackle it.
No Equivalent to Filters
Todoist’s Filters operate like smart searches, and since you can assign filters as Favourites, you can effectively set up custom contexts in your sidebar.
I don’t personally have a use for this, but I’ve heard from fellow Things users who have a higher task volume that they’d like the ability to create and keep those views more accessible without having to perform searches every time they want to see their tasks organized that way.
Lack of Web Access
The burden of supporting multiple platforms with a native app on each is heavy, so I understand why the Things team hasn’t been eager to take that on.
That being said, the lack of a web interface for Things impacts its usefulness for people who don’t have access to Apple devices at work (or at all, obviously). They can, of course, bring their iPhone or iPad with them and use it in tandem, but having your task manager available in some fashion on a work machine would be more streamlined.
A web view would immediately open Things up to other platforms including Windows, Linux, and ChromeOS, and a well-made web app should also operate well in a mobile browser, allowing Android users to partake.
It’s still a lot of work, but with their sync infrastructure in place, I feel like it’s a natural next step that would allow them to expand their reach and more easily justify a switch to sustainable subscription pricing.
Things vs Todoist in 2020
As always, I’m torn.
When you have two contenders that are so capable, the decision comes down to which set of shortcomings most directly impacts your productivity.
Things is beautiful, thoughtful, and focused, but I wish I could add tasks as effortlessly as I can in Todoist, collaborate with others, attach files and links to tasks, and access it from any device I happen to be testing or using.
Todoist is fast, powerful, and ambitious, but it lacks polish and is missing quality of life features like start/due dates, glanceable information cues, and more robust support for sections and navigation that make Things feel so delightful to use.
There’s also the question of cost; Todoist is a subscription ($36/y, though there’s also a free tier) whereas Things is a one-time purchase on each platform (you’ll spend $80 getting it on macOS, iOS, and iPadOS).
For now, I’m still using Todoist and enjoying the sense of speed and flexibility that it offers.
While you can easily go down a rabbit hole and obsess over your choice of app instead of actually getting things done, I do think it’s valuable to re-evaluate your choices every so often. That way, you can be sure the choice you’ve made is still the best one and isn’t just an old habit that’s holding you back.
Did You Find This Post Helpful?
Please consider sharing it with your network!
This blog is entirely self-funded, and relies on the generosity of readers to keep things active and ad-free. If you would like to support my work, you can make a one-time or recurring donation here.
Previous Post
Understands Planet 6 Desk StandA practical desktop storage and support system for your iMacNext Post
Canon RF 50mm f/1.2L Lens ReviewEnjoying my time with Canon’s latest and greatest 50mm lens.Dates in Todoist can sometimes be a bit confusing. Here you will find a complete overview of the date formats and the ways of using dates in Todoist.
Note: I recommend to bookmark this post so that you can easily find it when you are struggling with dates in Todoist.
How to set dates in Todoist
You can set dates in Todoist using the calendar/date selector, or by using natural language.
Todoist will automatically recognize and add due dates as you type them into a task name. This feature is called Smart date recognition. You can turn this feature on or off by going to Settings / General / Smart date recognition.
Disabling Smart date recognition for a single task
Sometimes, Todoist’s Smart date recognition can be a source of irritation. Let’s say the task is “Finish monthly expense report” By the time you type “Finish mon” Todoist will have interpreted this as a task named “Finish” that is due on Monday. To avoid this, press backspace or delete on your keyboard, or tap the highlighted word on your phone or tablet.
Natural language formats
Relative dates
Write | To get |
tod | Today’s date |
today | Today’s date |
today at 9 | Today at 09:00 (or 9 am) |
tom | Tomorrow’s date |
tomorrow | Tomorrow’s date |
tomorrow at 21:00 | Tomorrow at 21:00 (or 9 pm) |
next week | Next Monday (or what you have specified as the start of the week in settings.) |
end of month | The last day of the current month |
next month | The first day of the next month |
Specific dates
Write | To get |
25 feb | 25. February current year |
feb 25 | 25. February current year |
25th | The 25th day of the current month |
feb 13 2019 | 13. February 2019 |
13.02.2019 | 13. February 2019 |
13/02/2019 | 13. February 2019 |
2019/02/13 | 13. February 2019 |
02/13/2019 | 13. February 2019 |
13-02-2019 | 13. February 2019 |
2019-02-13 | 13. February 2019 |
02-13-2019 | 13. February 2019 |
Specific days
Write | To get |
mon | Next Monday |
monday | Next Monday |
tue | Next Tuesday |
tuesday | Next Tuesday |
wed | Next Wednesday |
wednesday | Next Wednesday |
thu | Next Thursday |
thursday | Next Thursday |
fri | Next Friday |
friday | Next Friday |
sat | Next Saturday |
saturday | Next Saturday |
sun | Next Sunday |
sunday | Next Sunday |
Recurring due dates in Todoist
The only way to set recurring due dates in Todoist is by using natural language. I’m tempted to say that your imagination is the limit but to make it easy to get started, I have made some tables below.
Relative numbers
Write | To get |
every | Every day, week, month, etc |
every 2 | Every other day, week, month, etc |
every other | Every other day, week, month, etc |
every 3 | Every third day, week, month, etc |
every third | Every third day, week, month, etc |
every 4 | Every fourth day, week, month, etc |
every fourth | Every fourth day, week, month, etc |
every 5 | Every fifth day, week, month, etc |
every fifth | Every fifth day, week, month, etc |
every 6 | Every sixth day, week, month, etc |
every sixth | Every sixth day, week, month, etc |
every 7 | Every seventh day, week, month, etc |
every seventh | Every seventh day, week, month, etc |
every 8 | Every eighth day, week, month, etc |
every eighth | Every eighth day, week, month, etc |
every 9 | Every ninth day, week, month, etc |
every ninth | Every ninth day, week, month, etc |
every 10 | Every tenth day, week, month, etc |
every tenth | Every tenth day, week, month, etc |
… |
The use of ! (exclamation mark)
Thanks to the tip from Keith in the comment section, I can list a very useful function that was unknown to me: The format Every! will calculate the next occurrence from when you complete the task. Meaning that if you complete the task later than on the first due date, the next occurrence will be calculated from when you completed the previous task.
Specific dates and days
Write | To get |
every 1st | Every 1st of the month |
every last day | Every last day of the month |
every other monday | Every other Monday |
every morning | Every day at 09:00 (9 am) |
every evening | Every day at 19:00 (7 pm) |
every weekday | Every Monday, Tuesday, Wednesday, Thursday, and Friday |
every workday | Every Monday, Tuesday, Wednesday, Thursday, and Friday |
Setting start dates for non-recurring tasks in Todoist
Start dates for non-recurring tasks are actually not supported in Todoist. The dates above are all due dates. You have three options to get around this:
- Register the start date as the due date. When the task shows up, use the every day until <due date> to make the task repeat until the desired due date.
- Register the task with due date every day from <start date> to <due date> .
- Register the task with a due date and set a reminder for the start date.
Start and end dates for recurring tasks in Todoist
Write | To get |
every day starting december 01 | Every day from 1st of December |
every day ending december 01 | Every day starting today, ending 1st of December |
Every day for 4 weeks | Every day starting today, ending in 4 weeks |
Every day for 5 months | Every day starting today, ending in 5 months |
Every day from 01 december to 10 december | Every day starting 1st of December, ending on the 10th of December |
Set due dates in Todoist with Smart Schedule
The Smart Schedule function in Todoist is an AI-based function that helps you schedule or re-schedule your tasks. It learns over time, making better and better predictions. To learn more about the Todoist Smart Schedule function, visit this help article from Todoist.
Dates in Todoist filters
For a complete overview of how to make filters in Todoist, please visit the below blog post.
The ultimate guide to Todoist filters
Todoist Task Dependencies
Read More
Date formats
- Given date: 15.01.2017
- Given date US format: 01/15/2017, Jan 15th
- Given date and time: 15.01.2017 16:00
- Given date and time US format: 01/15/2017 4 pm, Jan 15th 4 pm
- Relative date: yesterday, today, tomorrow
- Due Date: 2 days (due in the next two days), -2 days, (due in the past two days)
- Days of the week: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
Creation dates
Export Todoist Tasks
- created:
- created before:
- created after:
Due dates
- due:
- due before:
- due after:
- next X days
- overdue
- recurring
- no date
Filtering on Creation dates
Query | Shows |
created: today | All tasks created today |
created before: -365 | All tasks created more than 365 days ago |
created after: 01/15/2017 | All tasks created after Jan 15th, 2017 |
Filtering on Due dates
Query | Shows |
due today | All tasks due today |
due before: Jan 15 | All tasks due before January 15 |
due after: 01/15/2017 | All tasks due after Jan 15th, 2017 |
due in 2 day | All tasks due in two days |
next 10 days | All tasks due in the next ten days |
overdue | All tasks that are overdue |
recurring | All tasks with recurring due date |
no date | All tasks without a due date |
!no date | All tasks with a due date |