This Week's Sponsor:

Winterfest 2024

The Festival of Artisanal Software


Why 2Do Is My New Favorite iOS Task Manager

Task Actions

On the surface, 2Do presents a fairly common representation of individual tasks: they have a title, some date and time settings, notes, and tags. Upon further inspection, 2Do reveals some key differences in the additional information that can be attached to tasks, with functionalities that have altered what I expect from a task manager on iOS.

Let’s start simple. URLs in the note field are tappable and they launch Safari.

This may seem obvious, but several todo apps don’t support link recognition in plain text and force you to manually select a link if you want to open it. This isn’t limited to URLs, as 2Do uses iOS’ smart data detectors to recognize phone numbers and email addresses in the note field as well.

Second, you can attach images and voice recordings to a task. This can be useful if you find yourself wanting to take a picture or record a voice memo and give it a due date, but it’s also one of the weaknesses of the app.

Alongside the aforementioned lack of extension integration to save these files in 2Do from Apple’s Photos and Voice Memos apps, 2Do doesn’t support multiple files for a single task either. In the future, I’d like to see Gilani revamp the app’s attachment feature with support for multiple files and the ability to create an attachment via document storage providers. I would love to attach a link to a Dropbox file easily within 2Do.

The feature that truly differentiates 2Do from the competition on iOS, however, is support for task actions. For each task, you can define an action to be performed before completion.

These actions can be:

  • Call a phone number
  • Send a message
  • Send an email
  • Open a URL
  • Visit a location
  • Open a Google search

The idea is that while the majority of task managers tend to show you references to common actions, 2Do wants to embed actions and let you start the process from the app itself. It’s clever, and it creates an actionable layer that connects a reference (task) to the object (action).

Task actions in 2Do. Those icons next to task titles can activate Safari, Phone, or Maps navigation with one tap.

Task actions in 2Do. Those icons next to task titles can activate Safari, Phone, or Maps navigation with one tap.

When creating a task, actions can be added by picking the relevant information from a contact, from the clipboard, manually, or you can choose to only add an indication of the action, which will prompt you to pick the last step later.

When adding from the clipboard, 2Do is able to extract bits of information it needs such as phone numbers and emails, which can be useful if you, say, copy someone’s signature from an email message and decide to make an action to call the phone number contained in that string of text.

Action types in 2Do.

Action types in 2Do.

Tasks that contain actions display an icon in the task list and a button in the contextual menu accessed by long-tapping a task. The button can be tapped to start the action: you can call someone or open a webpage from an action in 2Do.

In my case, browse actions have become the feature that makes 2Do ideal for my needs. I save a lot of links on a daily basis – whether they’re for linked posts on MacStories or notes for our podcasts, half of my actions are about webpages that I need to visit or reference. 2Do enables me to save webpages with the title and URL from Safari thanks to the extension; the app automatically assigns a browse action to a task when it detects that the URL field contains a link. Then, when it’s time to go over the links I’ve saved, I can identify them quickly with their icons, tap & hold each task, and open the link again in the browser.

Going through my saved links with 2Do.

Going through my saved links with 2Do.

As a result, I’d argue that 2Do is the best iOS task manager for people who need to save and reopen a lot of links every day. You can even add a URL scheme for another app instead of a webpage link – which opens interesting automation possibilities for users who may need to launch specific apps. I am considering moving some of my weekly actions (such as thanking the sponsor of the site) to URL scheme actions in 2Do that launch Tweetbot with part of the message already filled in.

If your tasks often involve actions to perform outside of the task manager, 2Do’s integration with iOS system actions is brilliant, and I would love to see Gilani add even more actions in the future. I haven’t used call and location actions much myself, but browse actions and the ability to easily reopen webpages saved as tasks have become a must-have for me.

Contextual Menu for Tasks

2Do’s other shortcut isn’t a preset, but a long-tap gesture you can perform on tasks to bring up a contextual menu.

2Do's contextual menu for a selected task.

2Do’s contextual menu for a selected task.

This overlay is the fastest way to trigger a task’s action, but it can also be used to reschedule a task, edit it, and manage it. At the top, a paginated tray lets you switch from due date to start date buttons to reschedule a task or remove any date previously assigned to it. I use this every day to defer tasks. In the Edit group, you can tweak a task’s note, alarm, tags, and attachments; I’ve enjoyed the ability to add notes and tags from this menu.

The last group at the bottom is interesting and it packs some powerful options. Under Copy, you’re given a way to duplicate a task, copy its title or notes to the clipboard, or copy the entire task details in plain text. This is pretty great if you want to share a task’s information with someone else. ‘Convert’ lets you turn a task into a project or a checklist, and ‘Move’ is, unsurprisingly, a button to move a task from one list to another.

More options available in the contextual menu.

More options available in the contextual menu.

Because of browse actions, its nice animation, and the clarity of its layout, I’ve been using the contextual menu all the time. There’s something about tap & hold, pop, and tap that clicks with my brain in a way that no other task manager’s action menu has before. Managing tasks with 2Do’s contextual menu feels nimble and rewarding.12

3D Touch and Widget

As with most modern iOS apps, 2Do offers a widget and 3D Touch support to speed up interactions inside and outside of the app.

The widget is fairly predictable, with one nice detail. It’s organized in three tabs – Today, Starred, and a list of your choice. Tasks due today are shown with times and the names of the list they belong to, and you can check them off from Notification Center. I like that I can choose any list to be displayed as the third option, but I wish I could also swap Starred for something else. I never star any of my tasks, so the second tab is useless for me. Right now, I’m using the Inbox as the additional list in the widget.

3D Touch support is also basic and it could use more customization. On the Home screen, quick actions let you create a new task in the app, or open the Starred, Tomorrow, and Today views. It’s nice that you can see the number of tasks due today and tomorrow, but I’d also like to customize these shortcuts with my own lists.

In the app itself, peek and pop are supported to preview a task’s full view with actions to mark as completed, move, and delete. I haven’t found myself using these gestures as much as I do in apps like Safari and Tweetbot, and I wish I could turn them off as they interfere with long-taps to open the contextual menu.

Watch App

2Do has an Apple Watch app, but it hasn’t been updated for watchOS 2 yet. I haven’t been using it much because I can’t have a 2Do complication on my watch face.

The WatchKit app is a little slow to load (like most Watch apps are), but it’s got a nice dashboard of icons to view what’s due today, what’s inside the same list you pick for the widget, or what’s been starred. You can also dictate new tasks and complete them from your wrist.

Personally, until third-party Watch apps get faster and receive support for a proper Siri API, I don’t see myself relying on any of them for productivity too much. I only use 2Do on the Watch for its notifications, and that’s about it. It’d be nice to have a watchOS 2 update and see if the complication can bring some utility to it.

Batch Edit

One of 2Do’s other power user functionalities is support for batch editing of tasks. In any list, tap the three-dot icon in the top right corner to enter batch editing mode, which allows you to select multiple tasks at the same time to perform actions on all of them through buttons in a bottom bar; you can also drag & drop them across the app.

It’s not uncommon that I enter a bunch of tasks in 2Do and later realize that I have to tag them, set them to trigger at a location (2Do supports geofenced tasks), or move them to another date. Batch editing actions makes these adjustments easy, with modal sheets and menus to pick tags, locations, lists, and other existing information to apply to selected tasks.

I’ve been particularly enjoying 2Do’s interactive way of moving tasks somewhere else in the app. While in batch editing, you can hold selected tasks to start dragging a small stack representing the selected items. The interaction here is delightfully physical in terms of response to swipes and acceleration, with a fantastic attention to detail to indicate available drop areas.

The stack turns red and shakes if you try to drop it into a smart list13 and it turns green if tasks can be dropped onto a list or project. If you release the stack before dropping its items, it falls off the screen like a dropped card. It makes me smile every time and it adds a bit of playfulness to the app.

Batch editing combined with drag and drop and 2Do’s calendar widget makes for a nice way to defer tasks. On the iPhone, scroll the left sidebar to show the calendar (penultimate icon at the bottom; the calendar is always shown on iPad), enter batch editing, select some tasks, and start dragging them. At this point, you can drop tasks on a selected day to change their due date; if you try to drop them on a day in the past, the indicator will turn red, communicating that you can only defer them to a day in the future.

Like many features in 2Do, batch editing is the kind of addition that doesn’t add persistent complexity to the app; once discovered, batch editing substantially speeds up task management, and its implementation is considerate and polished.

Sorting

Throughout my various lists and smart lists in 2Do, I either sort my tasks by due date (all my lists) or creation (my inbox). I do, however, take advantage of one of the app’s sorting features for a separate list where I keep ideas for all the apps I want to cover.

In 2Do, you can sort your tasks with a host of criteria that include tag, location, duration, and priority. If you employ these parameters in the app to organize your tasks, you’ll be happy with the sorting options available to you, which can be accessed by tapping a bar on top of any list.

Personally, there’s just one list where I want to choose how tasks are arranged, and that’s my Apps list. In here, I keep a running list of all the apps I want to write about on MacStories in the near future; because this list is influenced by my mood and focus on any given week, I like to sort items manually to give them a visual priority set by myself. Once manual sorting is enabled, arranging tasks is a matter of entering batch edit and moving tasks around with their drag handles – a behavior consistent with the rest of iOS.

Focus Mode

Another 2Do feature I don’t use often but that comes in handy every once in a while is focus mode. As the name suggests, this lets you switch a view’s focus to a subset of tasks inside it, with focus settings that can be applied per list.

Focus mode can be activated by tapping the sun icon in the bar below the title bar in a list, and focus settings can be shown by long-tapping the icon to open a popup. Focus settings are primarily date-oriented: you can focus on a list by showing tasks that are overdue or have no due date; tasks due this week or within the next 6 to 12 months. If you’re into such thing, you can also focus on starred and high priority tasks.

I use focus mode in two ways. In my All list, focus settings allow me to see tasks due this week, which is a good way to get a broad overview of the week ahead without the clutter of my complete task list (2Do shows you how many tasks it’s hiding below the title bar). Also in my All list, when I decide to view tasks without a due date I can tweak the focus settings to switch to that type of items. This effectively transforms the All list into a Someday list, enabling me to see tasks I added without a due date. 14

Search and Smart Lists

2Do’s marquee feature – and the reason behind my decision to ultimately switch to the app – is a powerful search engine to look for task names, types, attributes, and actions. With advanced search, I was able to create smart lists (saved searches) which have become my primary way of browsing my task list and organize my life.

2Do’s search is fully documented here; as you can see, it comes with an array of keywords to filter specific tasks by parameters such as dates, priorities, assigned actions, tags, and more. The app’s real power lies in how these keywords can be concatenated, mixed with plain text, and visually arranged to create complex filters that can be activated with one tap from the sidebar as smart lists. Think of Finder-like smart searches or supercharged OmniFocus perspectives, with extra freedom granted by Boolean operators.

To create a smart list, you first need to search. Tap the search icon in the upper left corner, and you’ll be presented with a row of icons to select parameters to narrow down a subset of tasks in search. You can enter fixed or dynamic date ranges (you can use “tasks between December 10 and December 15” or “tasks in the next five days”), look for tasks or projects, tasks with or without attachments, and so forth. It’s up to you to build a search with the filters provided in this bar, which are plenty. When you’re done, you can tap the gear icon on the left to save a search as a smart list or update an existing one with new filters.

You can go one step further, obviously, and manually type your own keywords for search. I believe examples speak louder than descriptions to understand the true utility of search in 2Do, and I’m going to demonstrate how smart lists help me get work done and find my tasks faster.

By far, my most used smart list is a filter to only show tasks that have browse actions, which I call ‘Links’. Here’s what it looks like:

!message: type: browse

My smart list to filter links in 2Do.

My smart list to filter links in 2Do.

2Do implicitly uses an AND operator between the exclusion filter and the browse action, which results in a list of tasks that have links and that don’t contain email URLs such as message:// or message: – only regular HTTP links to webpages I need to check out. As someone who saves links from all kinds of apps every day, this list alone was worth switching to 2Do. I haven’t been able to replicate it (with this kind of control) in any other app.

I’m excluding email messages from the Links list for a simple reason – I have another smart list for them:

message:// OR x-dispatch:// OR message:

On iOS, I can generate links to individual email messages that open in Apple Mail or Dispatch. The upcoming Email to 2Do add-on also uses message: URLs to reference original email messages when converting them to tasks. With this list and thanks to the OR operator, I can look for any task that contains a browse action with an email message URL, no matter the email client I’m using.15

After the launch of the Workflow Corner section of MacStories Weekly for Club members a few weeks ago, I set up a smart list to collect all tasks tagged as ‘workflow’:

type: alltasks tags: workflow

Because I may have to save workflow ideas for multiple projects, I set the scope of the search to all tasks, so the smart list isn’t limited to a single list.

In a similar vein, whenever I want to look at tasks for my videogame podcast Virtual, I can switch to a smart list powered by:

type: alltasks OR chck OR task OR subtasks tags: virtual

This way, I can look at tasks and checklists for the show, so I know I’m not missing anything I have to see.

Two of my smart lists.

Two of my smart lists.

My last example uses a search filter and a dynamic date range (set in the date popover):

type: alltasks AND task AND tags: credit card

I have a few subscriptions to services I pay for on a monthly basis, and I like to have a list of the upcoming ones I can double check from 2Do. By restricting tasks tagged with ‘credit card’ to the next five days only, I can see what’s coming up and confirm that I have been successfully charged for the subscription once it’s paid. I call this list ‘Upcoming Card Payments’.

With these examples, I have only scratched the surface of what’s possible with search and smart lists in 2Do. They’re not even the most complex examples, as you could build more advanced search filters with locations and task titles and exclusions. But these smart lists – and search in general – have done wonders to the way I move between projects and areas of responsibilities, and they play well with the way my brain works.

Four months ago, I thought smart lists were a gimmick; today, I wouldn’t be able to use any other task manager without these powerful filters.

Checklists

The other feature that got me interested in 2Do in the first place was the ability to create checklists. With them, you can create lists that contain sub-tasks, which can be completed individually as part of a larger goal and that carry almost all of the attributes and options of regular tasks. If you’ve been looking for a way to split actions into multiple, actionable steps or for templates to repeat every time you have to complete a routine task, this is another aspect that sets 2Do apart.

A checklist in 2Do.

A checklist in 2Do.

Checklists contain sub-tasks, but they can be treated as individual items as well. A checklist can repeat over time, it can be due on any given date, and it can be dragged around. A checklist (and each of its sub-task) can have actions, but only the parent checklist can be given repeat settings and due/start dates. Sub-tasks can have individual alerts: if your ‘Packing’ checklist is due on Friday but you have to prepare separate items over the course of a week, items inside the checklist can each have their own alerts to remind you at separate times.

In the past four months, I’ve created checklists in 2Do for all kinds of occasions. I had multiple checklists leading up to the launch of Club MacStories and my iOS 9 review, each grouping a related set of sub-tasks together. I have a checklist that repeats weekly to prepare show notes for my podcasts. I have another checklist to make sure I complete all the steps required to assemble an issue of MacStories Weekly. While I could create lists or projects for these tasks, bundling them in a checklist gives them a meaning and an actionable state that I more strongly identify and remember to act upon. More importantly, checklists can be part of a list or a project – something I can’t do in other task managers.

If you’re intrigued by checklists, I recommend setting up a list where you keep templates for checklists you’re going to use regularly. This way, when it’s time to pack, prepare your next YouTube video for release, or just about anything that involves related sub-steps, you can tap & hold a checklist, duplicate it, and move it to the relevant area of the app, ready for you to start working on it.

Email to 2Do

For the past six years, 2Do has been a pay-once, use-forever type of app with an upfront purchase and over 50 free updates. While Gilani could have easily charged for some of its major updates, he decided to stick with the same app and provide the greatest value (and support) to all existing users. As 2016 inches closer, Gilani is ready to take the next step: charging for optional add-ons to bring additional functionality to the app. The first of these add-ons is Email to 2Do, and, after a few weeks using it, I’m totally on board with it.

Email to 2Do isn’t out yet, but beta testing via TestFlight has been pretty much open to hundreds of users with documentation available on the 2Do website. I’m not going to fully review it now; I’ll save a proper take for the final release, but can share some context on how I’ve implemented it in my workflow.

Email to 2Do's settings.

Email to 2Do’s settings.

With Email to 2Do, Gilani has built an invisible email client into 2Do to directly access your email inbox and turn messages into tasks. Without having to rely on a web app that looks into the contents of your email to read text from messages, 2Do locally and securely connects to common email providers (including IMAP servers) without exposing information to third-parties – just like Apple Mail. Then, 2Do periodically checks for new messages that match a specific syntax, and, if it finds one, it turns it into a task in your inbox.

With this implementation, you don’t see any of the client part; you don’t configure mailboxes or even see individual messages into 2Do. You just configure your account (if you use Gmail, all it’s done over OAuth), choose how you want messages to trigger 2Do, and you’re set.

To capture messages and avoid that every new message becomes a task in the app, you have to select some capturing rules. If you’re into masochism, you can convert every new email message to a task. If you love yourself just a little bit, you can choose to only turn flagged messages into tasks, or messages whose subject begins with ‘todo:’, or perhaps those from specific contacts. There are also options: by default, the subject of a message will become a task’s title, but you can also save the body text into the task’s note field, add a browse action for the message’s URL that will reopen it in Mail (see those message URLs?), or unset the flag after the message is captured.

I’ll save the details on best practices to set this up for another article, but in short – this is amazing. At $3.99, 2Do lets you configure two email addresses, with each additional account costing $1.99. With the basic tier, I was able to add two Gmail accounts to my 2Do: my primary work address, and a separate one for web automation.

An email captured with 2Do (left) and reopened in Mail.

An email captured with 2Do (left) and reopened in Mail.

With my work address setup to allow 2Do to capture emails, I can turn messages I receive from people, app pitches, and everything else into actionable tasks. Capturing rules can be set per account: for my MacStories address, I chose to save the body of the message into the note field of a task, including sender information and a message URL that links back to Apple’s Mail app.16 The process of saving a message into 2Do is extremely simple: whenever I get a message that I want to have as a task, all I have to do is flag the message in Outlook (or any other email app). I don’t have to use a special email client or mode in my task manager. Upon the next launch, 2Do will check my Gmail account for new flagged messages and it’ll add each one of them based on the capturing rules I set. That’s it.

I’ve also been using Email to 2Do for automated web workflows based on email, and I’m still exploring the possibilities opened up by this direct email integration. For now, I’ve set up Drafts and Do Note actions to create new tasks and checklists by typing out text in their apps and sending an email to my 2Do account. Looking ahead, I’ll probably experiment with IFTTT and Zapier to turn events from RSS, YouTube channels, and other sources into tasks via email.

We’ve also built a custom webhook for the MacStories Slack to let me turn Slack messages into tasks via Email to 2Do.

Yep, this is glorious.

Yep, this is glorious.

Thanks to Email to 2Do, I’ve managed to work around the lack of a third-party API for Siri, too. In my address book, I added a new contact named ‘Task Assistant’ and gave it the ‘assistant’ nickname17, using the separate email address I use for 2Do’s email integration. Then, when I’m driving or cooking or doing something else that requires Siri voice commands, I can just say “Hey Siri email my assistant subject text Myke about new show body comma”. Siri will prepare an email with “Text Myke about new show” in the Subject field and a comma in the body – the latter is ignored by 2Do and I just put it there so Siri doesn’t ask me for body text.

Siri will then ask me to confirm the email message, and it’ll send it. The next time I launch 2Do, the app will see the new message in my account and import it into the inbox. By no means, this is not a replacement for a proper Siri API – which is badly needed on iOS and watchOS – but it’s been working well for me as a trick to save tasks in my 2Do via Siri.18

For a long time, I’ve advocated for email clients to support deeper integration with third-party apps on iOS and especially task managers. 2Do has taken the opposite approach, embedding a mini email client into the app to bridge the gap between emails and tasks in a native and elegant way. I’m using Email to 2Do every day to capture messages and organize them alongside my regular tasks, and the ability to create a task in 2Do by asking Siri to send an email is great, for now.19 I’m looking forward to writing about Email to 2Do for the public release.

Workflows and Integration with Apps

While 2Do doesn’t have a web app for cloud integrations20, it is possible to integrate 2Do with other apps via URL scheme and the upcoming Email to 2Do add-on.

RSS is one of my primary means for discovering news and links I want to cover on MacStories, and Fiery Feeds is a modern RSS client that works with services such as NewsBlur and Feedly. One of Fiery Feeds’ peculiarities – in addition to good support for Safari View Controller and other iOS 9 features – is the ability to create custom URL scheme actions (reminiscent of Mr. Reader) to send article links to other apps. Thus, I’ve created a Fiery Feeds action to create tasks with a browse action in 2Do:

twodo://x-callback-url/add?task={title}&action=url:{url}&forlist=Reminders

With this action, I can create tasks that use an article’s name as title and its URL as a browse action, so I can easily get back to the article in Safari.

Creating a task in 2Do from RSS with Fiery Feeds.

Creating a task in 2Do from RSS with Fiery Feeds.

What makes this combination special is Fiery Feeds’ quick share option: in the app, you can assign any action to launch when holding the share icon in an article. When I find an article I want to save as a task for later, I can hold down the share icon and the 2Do action will launch. This is a good way to save links into my task manager, and you can install the action by tapping this link (it’ll launch Fiery Feeds).

I don’t only add article links to my 2Do, though. I often need to save files (mostly screenshots, but also documents or .zip archives) as tasks I have to check out in a few days, but 2Do doesn’t support adding multiple attachments to a task. For this reason, I have created a workflow with the Workflow app that I can run as an action extension for a single file or multiple files at once. If I only have to save a single file to 2Do, the workflow creates a task with a browse action for the Dropbox link of that file; if the workflow finds multiple files in the input, it uploads them all to a folder in my Dropbox and puts all their links in the note field of a task.

I’m quite happy with the way this workflow is laid out. First, thanks to Workflow’s action extension, it supports any type of file that can be shared with the system share sheet – it’s not limited to images and voice memos like 2Do’s attachment feature. Second, I put in a routine to iterate over each item passed to the input, get its name, and prepend a timestamp before uploading it to Dropbox. The workflow then checks for the number of items contained in the input, and it uses the ‘Add 2Do Task’ action with different values if it’s one item or multiple ones.

Workflow’s native support for 2Do is pretty impressive – you can build a template for saving a task visually with variables and plain text, tweaking parameters such as dates, repeat settings, tags, and lists beforehand. This is all based on the 2Do URL scheme – quite possibly, one of the richest implementations of this technology on iOS – but you never have to see the URL itself thanks to Workflow. I use this workflow mainly for images – I like how I can reference multiple files through Dropbox links in the note of a task. Thanks to Universal Links on iOS 9, those links go straight to the Dropbox app, too.

A task with multiple Dropbox attachment links, created with Workflow.

A task with multiple Dropbox attachment links, created with Workflow.

You can download the workflow here.

Last, I’ve been using the fast input capabilities of Drafts and Do Note to share text with Email to 2Do and let the app take care of importing everything from email when I launch it. When I’m in a rush and I want to enter a task just by typing, I prefer to beam text to the cloud and forget about it than using actions that launch 2Do to show my newly added task. I just want to type and forget about it.

As documented on the 2Do website, Email to 2Do can generate checklists off emails with numbered lists in them. I have created a Drafts action that sends an email to my separate address for 2Do automation with a draft’s first line as the email subject and a numbered Markdown list as the message’s body. This is perfect to enter things my girlfriend or teammates ask me to do. Once I open 2Do and the app pings my email account, it’ll find the formatted message, turn it into a checklist, and save it into my inbox. I hope to be able to set dates in the subject field of emails soon – it’d be nice to create a checklist remotely and assign it a due date as well.

In Do Note, I set up an action that takes whatever I wrote and sends it via email to my address – it’s essentially a fast way to create tasks in the inbox without opening 2Do. I installed this action as an experiment and I like the simplicity and speed of Do Note, but I’m going to consolidate everything into Drafts. You can’t beat Greg Pierce’s app for Markdown formatting and customizable actions.

Power and Comfort

At some point over the past two months, I realized that 2Do was going to be an Editorial-like moment for me.

At first, I thought my inclination for 2Do was just another case of app curiosity and not being able to stick with a task manager for more than a year. But after a few weeks, I discovered that 2Do offered features that could make me forget less and accomplish more every day thanks to a superior organization of my tasks and a better way to act on them. Something about 2Do’s design and the way tasks are structured fundamentally plays well with my brain. Like Editorial two years ago, I have found the type of app that matches the way I think about its functionality, providing me with tools and shortcuts I can employ to be faster.

I genuinely believe that 2Do is one of the most underestimated task managers for iOS – I don’t hear about it often, and yet it’s been around for years, it’s constantly updated, and its developer (whose main and only job is to make this app) has big plans for the future. There is a learning curve to 2Do, but you don’t have to use all of its features – just like I didn’t focus on many aspects of the app for this article because I didn’t have a need for them.

Whether it’s smart lists, date presets, email integration, or a faster way to open web links, 2Do gives me a combination of task management features and intelligent design that I can’t find anywhere else. Believe me – I have been looking for years. While other task managers always ended up clashing with my mental model for lists and templates because of their “opinionated” designs and limitations, 2Do’s effect is liberating: I choose how I want to view and manage my tasks; the app “only” gives me powerful tools to do so.

2Do is a task manager that adapts to my needs, not the other way around. 2Do gets me. Everything about my schedule and todo list is better because of it.

Unless major changes happen to 2Do within the next 12 months, I don’t think you’re going to hear from me about another task manager next year. I’m finally at peace with the way I organize my professional and personal life – and it’s all thanks to an app made by a single indie developer who’s been working on it for six years.

There’s something kind of magical about that, too.


  1. If I had to nitpick, I'd say that I'd love to have my time shortcuts in here as well, so I could reschedule a task to another time, not necessarily another day. ↩︎
  2. They are filters; tasks can't be dropped on them. ↩︎
  3. I'm not a big believer in Someday lists because I think they mostly act as a placebo for the guilt of not saving a task at all. Tasks in a Someday list rarely get done. But, I've been using 2Do to save items I want to purchase in the future without giving them a due date, and focus mode is useful to quickly find those items again. ↩︎
  4. I could go a step further and create a smart list for emails I need to get done today or that are tagged with 'myke', but I haven't found a need to do so yet. ↩︎
  5. I do wish Outlook supported a URL scheme to link to individual messages like Dispatch does. ↩︎
  6. Plus, as an indie writer who works from home, I get to be all fancy and corporate and ask Siri to "email my assistant" while, in fact, the assistant is me automating tasks over email. Still a small victory in my book, though. ↩︎
  7. I do wish Siri wouldn't ask me to confirm sending a message every time, though. ↩︎
  8. That is, until Siri finally gets support for third-party apps. ↩︎
  9. If a web client is a requirement for you, I still believe Todoist is an excellent choice and your best option. ↩︎
Page: 1 2

Access Extra Content and Perks

Founded in 2015, Club MacStories has delivered exclusive content every week for nearly a decade.

What started with weekly and monthly email newsletters has blossomed into a family of memberships designed every MacStories fan.

Learn more here and from our Club FAQs.

Club MacStories: Weekly and monthly newsletters via email and the web that are brimming with apps, tips, automation workflows, longform writing, early access to the MacStories Unwind podcast, periodic giveaways, and more;

Club MacStories+: Everything that Club MacStories offers, plus an active Discord community, advanced search and custom RSS features for exploring the Club’s entire back catalog, bonus columns, and dozens of app discounts;

Club Premier: All of the above and AppStories+, an extended version of our flagship podcast that’s delivered early, ad-free, and in high-bitrate audio.