Your task list is a plain text file, not some proprietary format owned by a company or locked to a specific application.
Plain text is the simplest file format there is. It will always be accessible, by some kind of application, forever.
Learn only a few simple formatting rules (which SwiftoDo will take care of for you) to indicate task priority, task completion, and so on.
The todo.txt format was built with Getting Things Done in mind. It supports projects (which begin with “+”) and contexts (which begin with a “@“).
With Dropbox sync enabled, you can sync your task list with any app on any platform.
SwiftoDo offers the following features:
The todo.txt format is defined in the todo.txt project wiki.
Storing your tasks in a text file that you control gives you tremendous power. You are not locked into a particular system, application, or platform. You can sync the file across devices simply. You can open your task list in any text editor for quick edits, such as pasting in several dozen tasks at once. You can use existing command line tools, such as
sort, for searching and sorting.
Due date and threshold date are implemented as key:value tags, which are fully compliant with the todo.txt format spec. They both are popular extensions to the todo.txt command line scripts.
Due dates are formatted as
due:yyyy-mm-dd. For example:
A threshold date indicates that a task should not be started until the threshold date. Adding threshold dates is a way to indicate "future tasks". A threshold date is formatted as:
Threshold dates are formatted as
t:yyyy-mm-dd. For example:
Yes. That date format is defined by ISO 8601. It is an internationally accepted way to represent dates. If you don't like typing the date that way, use the due date and threshold date pickers in the task text editor.
Projects and contexts, as shown in the filter list and the pickers in the task text editor, show up exactly as you typed them. If your typed them with inconsistent capitalization, no attempt is made to harmonize the capitalization into one canonical version. If you wish to, you can use filters to identify the projects and contexts with capitalization you don't like, and then edit those tasks to make the capitalization consistent. Also, you may use the project and context pickers in the task text editor to apply consistent capitalization to your projects and contexts.
Your task list will be downloaded when:
Your task list will be uploaded when:
No. If you modify your todo.txt file outside of SwiftoDo while SwiftoDo is open, SwiftoDo will not be notified of the changes. You should pull-to-refresh the task list to ensure you have the latest copy.
Manual sync mode is an option that prevents syncing unless you pull-to-refresh the task list or tap the archive button. Changes to your task list will be cached locally. When you pull-to-refresh, you will be given the opportunity to upload them to Dropbox or to download from Dropbox and overwrite your changes. Archive tasks upon completion is disabled in manual sync mode.
Yes. You can use SwiftoDo with a local, on-device task list. Just disable (or do not enable) Dropbox sync.
Without Dropbox sync enabled, archiving tasks will store completed tasks in a local "done.txt" file within the app's sandbox. This file can be accessed via iTunes File Sharing.
Except for "order in file" (which is self-explanatory), the various sort options perform a multi-level sort. The first sort level is the element you choose: priority, project, or context. Then, beneath that first sort level, tasks are sorted based on order of descending priority, as evaluated by priority, due date, threshold date, and completion status, in that order. If a task has no signifier of priority, it is sorted based on the order of the file.
You can disable multi-level sort and sort by only the element you choose: priority, project, etc.
You can also reverse the sort order.
The "Any" filter will return tasks that match any of the projects, contexts, or priorities selected. This is a permissive filter, and will return the most results. Each filter condition is considered independently. For example, use the "Any" filter to return all tasks for the +work project and the +home project, and all tasks with the @phone context, and all tasks with priority (A) or (B).
The "All" filter will return tasks that match all the projects, contexts, or priorities selected. This is the least permissive filter. All filter conditions are considered together. It is meant to narrow down the list to tasks for a single project, a single context, and a single priority. For example, use the "All" filter to return tasks from the +work project and the context @phone and a priority of (A).
The "Mix" filter Is a blend of the "Any" and "All" filter. It will return tasks that match any of the selections within a filter category (project, context, or priority), in all of the filter categories in which a selection was made. It is meant to filter the list down to tasks for multiple projects with contexts and/or priorities in common. For example, use the "Mix" filter to return tasks from the +work project or the +home project, with context @phone or @office, and priority (A) or (B).
Hold down the command key the view all available hardware keyboard shortcuts.
On the task list,
On the task view,
On the task edit view,
A task with a well-formed Support for recurring tasks with the "rec:" tag. The “rec:” tag value's format is as follows: a number suffixed by d, b, w, m, or y (days, “business days” or weekdays, weeks, months, and years, respectively). To enable strict recurrence, prefix the pattern with a +.
When tasks with a well-formed "rec:" tag are completed, new tasks will be created with adjusted due dates (and, if they exist, adjusted threshold dates). The adjusted due date will be based on the task’s completion date (normal recurrence) or on the task’s due date (strict recurrence).
There is a setting for showing or hiding tasks with the "h:1" tag. When that setting is checked, any tasks with a "h:1" tag will be hidden.
Hidden tasks can be useful to keep your favorite projects and contexts available in the filter even after you have archived all your read tasks associated with them.
SwiftoDo does not collect any of your information, period. No data within the app or accessed by the app is transmitted to SwiftoDo.
For Dropbox sync: SwiftoDo will only access the files in Dropbox that you specify. Your Dropbox user name and password are never known to the SwiftoDo application or developer.