最近我完成了从 Toodledo 到 Obsidian Tasks(Obsidian 插件)的切换。 这两款软件都是极其强大的时间管理工具。虽然 Toodledo 几乎是我最喜欢的 GTD 软件, 但服务愈发不稳定让我烦恼,正好发现 Obsidian Tasks 在查询和知识库结合方面的能力发挥出了 1+1 > 2 的效果。 经过试用我决定迁移到 Obsidian Tasks。
放弃一个合作了十几年的老朋友 Toodledo 让我有些伤感,但是这个过程也促使我总结了一下我在时间管理这个命题上的尝试,并分享了一些我的经验。
Image frrom Pixelbay
什么是 GTD
在这个快节奏的现代生活中,我们都会遇到大量的任务和信息,而如何有效地管理时间和任务成为了许多人的挑战。在读书时期,我也曾经陷入任务管理的困境。从 2009 年开始,我尝试过使用日历、笔记等工具来组织我的任务和信息,但效果并不理想。直到后来我接触到了 DoIt.im,进而发现了 David Allen 的书《Getting Things Done》,这本书带给了我一种全新的任务管理思路——GTD。往后数十年,我一直使用这个模式来管理自己的时间。
GTD 是由 David Allen 所创立的一种个人时间管理方法 ,旨在帮助人们更有效地管理自己的时间和任务,从而提高工作效率和生产力。这种方法的基本思想是将所有任务分解为具体的行动步骤,并将它们组织在一个可靠的系统中,以便于跟进和管理通过这种方法,人们可以更轻松地掌控自己的工作和生活,减少压力和焦虑,从而更加专注和高效地完成任务。
那么如何实现 GTD 呢?以下是基本的步骤:
- 收集:收集所有任务、想法、计划、待办事项,可以用笔记本、手机、电脑等多种工具。
- 组织:审视待办任务,分类所有任务和行动步骤,并回顾过往未完成的项目。
- 分类:审视收集到的任务,将所有任务和行动步骤分类,常见分类包括项目、上下文、时间等,以更清晰地了解任务的优先级和关联性。如果可以快速执行(<2m)就立刻执行。
- 回顾:定期回顾任务和行动步骤,确保它们的进度和状态得到及时跟进,更好地掌控任务和生活,从而更加高效地完成任务。
- 执行:专注于当前任务,避免分散注意力,借助时间管理和注意力控制的技巧提高效率。
注,我整理的结构和外部工具略有差异。我将分类、回顾都合并到组织步骤因为我发现组织本质是做计划,做计划纪要看收集的待办事项,也要回顾进行中项目和已完成项目,何不都在组织环节一起做好?
我使用过的在线 GTD 服务
我曾使用过多个在线任务管理软件,包括 Doit.im、Remember The Milk、OmniFocus 和 Toodledo 等,下面分享一下我的使用历程和对比这些软件的差异。
Doit.im
我接触 GTD 就是从 Doit.im 开始。这是一款国产软件,也是我非常喜欢的一款应用程序。Doit.im 支持 GTD 的基本功能,提供了清晰的任务列表、分类、优先级等功能,还支持多种回顾模式和多平台同步。然而,我后来放弃了它,因为我发现了更为强大的 Toodledo。
Image frrom doit.im
Remember The Milk
我寻找下一款管理工具时,找到了 Remember The Milk(RTM)这个应用。RTM 提供了基本的任务管理功能,如添加任务、设置提醒、归档任务等等,并支持多平台同步,可以在电脑、手机等多个设备上使用。
然而,有些人可能不太喜欢 RTM 的用户界面设计,因为它看起来可能有些过时,不够现代化。此外,一些高级功能需要付费使用。当时我还是一个穷学生,没有为软件付费的能力,所以很快放弃了使用 RTM。
Toodledo
我从善用佳软了解到 Toodledo 这款任务管理工具(善用佳软是一个著名的软件使用分享网站,我在学生时代从这里获取了相当多的工具和思路)。
Image frrom toodledo.com
我很快在 葡挞生活 找到了一份非常完整的教程介绍 Toodledo 高级使用手法,尤其从其中获得了使用 Search 模块的方法。可惜现在网站已经无法打开了。不过,我们可以从一些其他渠道的截图中,略窥当时 Toodledo 的风采:
Image frrom twitter.com/productivelife
Toodledo 很快成为了我最喜欢的任务管理工具。它提供了非常全面的任务管理功能,支持任务分类、排序、筛选等,同时还支持多种回顾模式和自定义字段。此外,Toodledo 还支持多平台同步,并且具有强大的 API,可以方便地与其他应用程序集成。
OmniFocus
由于 Toodledo 产品功能上一直不思进取,访问比较慢。我还曾经探索式短暂使用了 OmniFocus,这是一款专业的 Mac 平台任务管理工具,它提供了任务分解、项目管理、上下文等功能,并可通过 AppleScript 等方式进行扩展。OmniFocus 支持多种同步服务,包括 Omni Sync Server、WebDAV、FTP 等,用户可以根据自己的需求选择不同的服务。所有任务数据都是存储在本地的,因此用户可以在没有网络连接的情况下继续使用软件。
付费使用一段时间之后,我发现 OmniFocus 的搜索功能和 Toodledo 的 Search 功能实在无法相提并论它不能满足我的需求。
Image frrom www.omnigroup.com/omnifocus
其他一些
我还曾经尝试过一些任务管理工具,包括 Trello、Asana、Basement、Tower、Teambition 等等,
但是由于它们的功能设计往往是为团队协作设计的,而我主要是个人使用,因此使用起来不够便捷。另外,这些软件的自定义搜索功能(当时)往往也比较弱,无法满足我的需求。最终我都返回到了 Toodledo 怀抱,直到现在。
我如何组织一天的任务?
我认为在 GTD 的体系中,收集和处理阶段相对机械和简单,真正考验人的是组织阶段:
- 分类:如何快速检阅所有任务并对它们进行分类和标记;
- 下一步:如何确定下一个任务的优先级。
下面我将分享一些我个人的理念和操作方法。
分类即快速检阅
为了更好地组织任务,我们需要注意任务的重要属性,包括 Context(环境)、Project(项目)、Status(状态)和 Due(截止时间)Context 决定了当前环境下要做什么,是一个简单的过滤器。我将 Context 分为 Computer / Work / Mobile。Project 则将任务归属到不同的项目中,一个项目的周期比较长,并且其中的任务具有强相关性。Status 描述这个任务是立即可处理(Next)还是需要等待(Waiting),有些任务是周期性的则为 Active。Due 则是描述时间属性,一般有到点干(On),在这个时间之前(Due)以及尽量(Optional)。
除此之外,其他属性,如优先级(Priority)、类型(Folder)也需要考虑,但不是最重要的。
为了更好地管理任务,我每天早上都会打开四个视图:single、subtask、project-xxx 和 inbox
- single 是单独任务(包括重复任务),这里面的任务都是独立的,可以根据优先级进行排序。
- subtask 是父子任务,有些任务并不是当天可以完成,必须将任务拆分为小任务,否则会打击完成任务的信心。
- project-xxx 针对特定项目做的分类,我会按照固定模板对每个项目进行分类成十几个任务。
- inbox 其实就是收集的产物,需要进行简单分类处理。
下一个任务是什么
以下是筛选清单,用于确定需要立即进行的任务:
- Top:任务优先级高
- Due 3 天内且非重复类型:需要进行检查和准备工作
- Due 明天:需要立即进行
- High + Next:任务优先级较高,且已经具备行动条件
- 计时器不为空:说明已经开始执行,但可能会被其他事情打断
- Waiting:表示需要和别人合作,需要检查进度
清单中的任务按照优先级、截止日期和执行状态的综合考虑排序。每次进入工作状态之后,只需要从这个清单中筛选出靠前的几个任务进行执行。
曾经的王者 - Toodledo
我使用它已经超过了 12 年,付费了 8 年,而且它的产品理念深刻影响了我时间管理的策略。 我介绍一些 Toodledo 中做得相当很不错的功能以及细节:
细节功能
循环任务功能
Toodledo 支持循环任务功能,用户可以将一个任务设置为循环任务,并指定它的重复周期,比如每天、每周、每月等。当任务完成后,它会自动重复出现在任务列表中,以便用户再次处理。这个功能可以帮助用户更好地管理一些常规性的任务:日常会议、每日邮件处理、每日 Review 等等。
丰富时间功能类型
Toodledo 对日期的支持非常丰富,用户可以根据任务的具体情况选择不同的 Due 类型,比如 Due(截止时间)、Timer(计时器)、Length(时常评估) 等等。这样一来,用户可以更加精细地管理任务的时间,有效地提高工作效率。另外,基于 Timer 计时器,我可以方便地统计一天的时间耗用情况更好地把控时间成本。我还开发了一个 Python 脚本用来分析每周的时间耗用。
Search 功能
Toodledo 的 Search 功能非常强大,支持丰富的逻辑查询(提供了条件组合的与或查询)用户可以根据任务名称、标签、日期、优先级等多个条件进行查询。这个功能可以帮助用户组织任务,提高任务管理的效率,我一度无法离开 Toodledo 也是因为,任务组织这个步骤我高度依赖这项功能。
我开发的工具和插件
整体而言,我还是愿意给大家推荐 Toodledo。我自己也在 Toodledo 之上基于它提供的 API 开发了 多款工具和插件。我给大家介绍一下:
Buff 1 优雅订阅 Toodledo 日历
Toodledo 提供了日历订阅能力,将待办事项显示在各类日历软件中。但原始的信息非常混乱,没有考虑任务的 Time,并且时间也是计算错误。为此我开发了一个 Web 服务,叫做 toodledo_calendar_filter。
它可以将 Toodledo 的任务更友好地显示在日历系统上。具体来说,它可以过滤 Toodledo 的 iCal,只显示那些具有到期日期和时长的任务。如果你也有相关需求可以直接使用我提供的在线服务(https://toodledo-calendar-filter.alswl.com)。
Before:
After:
Buff 2 让 Toodledo 具备 Gmail 快捷键
当你使用 Toodledo 进行任务管理时,你是否感到操作繁琐,鼠标使用效率不高,非常怀念 Gmail 风格的快捷键?如果是这样,那么我的项目 alswl/my-toodledo 可以帮助你解决这个问题。
它是一个针对 Toodledo 的油猴脚本(User Script),提供了一系列 Gmail 风格的快捷键,让你可以像使用 Gmail 一样快速操作 Toodledo,包括移动任务(j
/ k
)、任务操作(x
标记完成,enter
启动任务)、切换任务视图(g s
跳转搜索)等等。它在 Chrome / Safari / Firefox 上运行稳定,如果你想要提高 Toodledo 的使用效率,不妨试一试吧。
Buff 3 命令行工具 go-toodledo
为了快速收集任务,我曾经使用一个 Github 上面 CLI 小工具(wsargent/toodledo)。但它是基于 v1 版本的 API,官方已经在七八年前就说 v1 版本 API 要下线。于是我自己做了一个叫做 go-toodledo 小项目。
一开始 go-toodledo 只是提供最简单的 CLI 功能。后来我逐步补充了完整 SDK、CLI 全功能,甚至还提供了一个互动式的 TUI 小应用让用户可以方便在 Terminal 地使用 Toodledo。
Toodledo 官方并没有提供 OpenAPI 接口,我以逆向的方式生成了一份 go-toodledo/swagger.yaml,如果还有其他人有对 Toodledo API 开发需求,可以基于这份 API 直接使用。
离开
最近,我对一直使用的任务管理服务 Toodeldo 的稳定性越来越失望。 他们换了新的服务提供商, 服务出现不稳定的频率更高,而新团队的产品能力也让我产生了一些质疑。 因此,我决定开始寻找下一个更好的任务管理服务。 因为 Kindle 在中国停止服务的事件让我对云服务的可靠性产生了疑虑。 因此,我开始寻找一些本地化的任务管理方案这些方案可以通过网盘(例如 iCloud)进行服务, 这样可以更好地保护我的数据和隐私。
最终获胜者 - Obsidian Tasks
Obsidian是一款基于本地文件的个人知识管理(KMS)和笔记应用程序,可帮助用户将其笔记和想法组织、链接和分析。它是一款纯粹的本地软件,我们可以使用网盘 / NAS 等方式进行多端同步。
Obsidian Tasks 则是一款强大的 Obsidian 插件它可以让你在 Obsidian 中轻松地管理任务和待办事项。这个插件可以通过简单的语法将任务添加到你的笔记中,并根据任务的完成情况自动标记任务的状态。你可以使用 Obsidian Tasks 来跟踪个人任务、工作任务、学习任务等等。此外,它还具有一些其他功能,例如自定义任务样式、创建过滤器来查找任务,以及可以根据任务状态自动移动任务。Obsidian + Obsidian Tasks 是一个完美组合,可以帮助你更好地管理你的待办事项,提高你的生产力。
Image frrom https://github.com/obsidian-tasks-group/obsidian-tasks
我的个人 KMS 已经完整地从 Notion 迁移到了 Obisidian,现在使用 Obisidan Tasks 迁移成本很低。经过一段时间对 Obsidian Tasks 的学习,我将原来的使用模式较为顺利搬到了 Obsidian Tasks。我接着之前两个场景整理和下一个任务来介绍如何高效使用 Obsidian Tasks。
我通过以下几种形式组织待办任务:
- 使用
[ ]
标记的普通文档任务,一般是零散小任务。 - 使用以
.todo.md
结尾的专用文档,以对项目进行统筹。 - 使用带有
#todo
标签的文档,一般是一个大事项,我会在顶部拆分出一个TODO
队列,拆分出若干个 Tasks,拆完之后我会去掉#todo
标签。
基于这个组织结构,我轻松搞定整理和下一个任务这两个:
分类即快速检阅
使用几个视图将 Obsidian Tasks 中记录的任务进行多个视图呈现分别是:
- 今日视角
- non repeated:一次性任务,往往更重要
- repeat:重复性任务,比如周会、约会,往往偏事务性
- 时间视角
- 即将到期时间(7 天内)
- Single Tasks:没有在
.todo
结尾的文件内,即分散在各个日常事务的碎任务 - Project:按项目进行排列的任务
- 有
#todo
标签的任务,往往是一个文档需要整体来处理
这几个视图可以让你更好地将任务进行分类,并快速检阅各个任务。通过这些视图,你可以更好地管理你的待办事项,提高你的生产力。
这是我的 projects/View.todo.md`:
## Today
**WIP**
```tasks
status.type is IN_PROGRESS
```
**High(规划、设计都是高优先级)**
```tasks
not done
priority is above medium
```
**None repetead due today**
```tasks
((not done) AND (due before in 1 day)) OR (done on today)
is not recurring
sort by priority
```
**Repeated due today**
```tasks
((not done) AND (due before in 1 day)) OR (done on today)
is recurring
sort by priority
```
**Over due before today**
```tasks
not done
due before today
sort by priority
```
**Today complete**
```tasks
done
done on today
```
## Future (no repeat)
**in 1 day**
```tasks
not done
due before in 1 day
is not recurring
sort by priority
sort by due
```
**in 3 day**
```tasks
not done
due after in 1 day
due before in 3 day
is not recurring
sort by priority
sort by due
```
**in 7 day**
```tasks
not done
due after in 3 day
due before in 7 day
is not recurring
sort by priority
sort by due
```
## Singles Tasks
**in 7d(non project x no repeate)**
```tasks
not done
status.type is not CANCELLED
NOT (path includes .index)
NOT (path includes .todo)
NOT (path includes .notodo)
due after in 7 days
sort by priority, due
```
**none project x no due x no repeat**
```tasks
not done
status.type is not CANCELLED
NOT (path includes .index)
NOT (path includes .todo)
NOT (path includes .notodo)
no due date
sort by priority, due
```
## Projects
TODO
## Help
> [Queries Syntax](https://obsidian-tasks-group.github.io/obsidian-tasks/queries/)
下一个任务是什么
在 Obsidian 的 Daily Note 插件中,设置模板为 _templates/daily
,这样每天就获得一个随时可以使用的当天待办事项。
这是我的 Dailly 设置,通过四个区块区分:今天到期单任务 / 今天到期重复任务(事务性,不重要) / 今日已完成 / 今日新任务(一般是 Single)。
这是我的 _template/daily.md
文件:
## TODO
**WIP**
```tasks
status.type is IN_PROGRESS
```
**New tasks**
**Tasks view - today**
```tasks
((not done) AND (due before {{date}})) OR ((not done) AND (due on {{date}})) OR (done on {{date}})
is not recurring
sort by priority, due
```
**Tasks view - today(repeated)**
```tasks
((not done) AND (due before {{date}})) OR ((not done) AND (due on {{date}})) OR (done on {{date}})
is recurring
sort by priority, due
```
**Over due date**
```tasks
not done
due before {{date}}
sort by priority, due
```
**Projects**
YOURS
**Tasks view - today done**
```tasks
done
done on {{date}}
```
Obsidian Tasks 有什么缺点?
首先,需要注意的是,Obsidian Tasks 是 Obsidian 的插件,如果之前没有使用 Obsidian,可能需要花费一些时间上手。不过,如果您已经使用了 Obsidian,那么 Obsidian Tasks 的双链功能将为您在 GTD 场景中提供极佳的支持,这既是其优点也是劣势。
其次,Obsidian Tasks 目前还没有提供计时器功能。不过,对于我个人而言,这一点已经不再重要了。随着年龄的增长以及十多年的 GTD 训练,我已经不需要通过工具来保持专注力。在工作状态下,我会比较专注,并且不会经常性分心。
最后,需要注意的是 Obsidian 自身的问题。Obsidian 是一个基于本地文件的工具,这意味着它没有在线工具(尽管有其他基于云存储的解决方案)。如果您希望找到一个电脑和手机都可以访问的在线服务,那么 Obsidian Tasks 可能不太适合您。对我来说,我使用 Obsidian 的方案是因为我拥有 Apple 全家桶,并购买了 iCloud 存储服务,因此我的数据都存储在 iCloud Drive 上。我使用 Obsidian 的 macOS 应用程序和 iOS 版本应用程序,这使我可以轻松地在 Macbook 和 iPhone 之间使用同一个 Vault(即 Obsidian 知识库)。启动应用程序之前,我会确认 Vault 同步完成后再进入应用程序。
最后
时间管理是现代工作者不可避免的话题,也是我们时常为之烦恼的问题。GTD 的方法论恰恰提供了一种轻松而高效的管理方式,让我们能够迅速结束拖延、分心的状态,全身心地投入工作
工具很重要,但并不能解决所有问题。要做好时间管理,最重要的是要清楚自己的目标是什么当你心里有一个重要的使命时,它会不断地在你脑海中浮现,这时候甚至不需要 GTD 工具的管理。
希望本文介绍的 GTD 方法可以在你的工作和生活中带来帮助,让你更高效地完成自己的任务,同时也不要忘记享受生活的美好。记住,时间是有限的,珍惜每分每秒,抓住每一个机会,让自己的人生更加精彩!
原文链接: 从 Toodledo 到 Obsidian Tasks - 我的 GTD 最佳实践 | Log4D
3a1ff193cee606bd1e2ea554a16353ee
欢迎关注我的微信公众号:窥豹