« 主页

探云月刊 2025年01月 - 任务管理工具

发布于

版权声明:眯眼探云原创,可随意转载,请保留该版权声明及链接:https://tyun.fun/post/104.tanyun-monthly-2025-01/

AI 公司赚钱的很少,但并不影响 AI 快速的改变这个世界。越来越多的人开始把 AI 工具用起来,完成各种各样的事情,好的事情,或者坏的事情。

对于我这个程序员而言,除了日常疯狂的向 AI 提问,最常用的场景就是通过 AI 辅助编程。我在之前的博客里提到过,AI 对人的提升,主要有两个方面:效率的提升,能力的拓展。而这两项变化又会带来新的变化,比如……以前我都不敢想的 side project,现在挤一挤时间,也能独立完成了。

这一期就来讲讲的我 side project,为我自己开发的任务管理工具

我手上的事情,既多又杂,变化又快,大部分还都得认真花心思。

我深入的研究过 GTD 理论,并做过实践,也尝试过许多不同的任务管理工具,都不太满意。大部分任务管理工具都比较简单,不够强大。而像 Omni Focus / Jira 这样的工具,足够强大,但也很复杂,实际并不方便使用,需要花很多时间才能把任务管理的比较好。

所以我现在日常工作中用的最多的,还是用 markdown 的形式来管理我的任务,这不是一个很好的方案,但将就能用。

如果有一款趁手的任务管理工具就好了。

虽然这可能不是一个很复杂的项目,但对于日常工作繁忙,回家还要带娃儿的人来说,显得过于困难。但现在有了 AI 辅助编程,开发效率成倍的提高,我打算解决这个问题。

目前为止,我已经完成了核心功能的开发,并在日常工作中用起来了,效率得到了可见的提升。

接下来我就讲一讲,我在做这款工具时,对任务管理的一些思考。

任务是活的

其实普通的 TODO 工具我也用,比如 Things,用于一些简单的任务提醒,也是非常好用的。但如果将其用到工作上,就显得有点不够用,因为任务是活的。

在 GTD 这本书中,将任务分为 Project(项目)和 Task(具体事项),一个 Project 由多个事项够成。当我们需要做一件事情的时候,我们就可以根据实际情况确定每个事项到底是 Project 还是 Task,然后再将 Project 拆分为多个简单的步骤,还可以参考 SMART 法则,将每个步骤都梳理的非常清楚,拿上手就可以做。配合 OmniFocus 这样的工具,简直就是完美。

但我在花了大力气,实际用起来以后,并没有觉得很舒服。要分辨一件事到底是一步可以做完,还是要多步,其实是没有一个具体标准的。比如倒水,拿起水杯,走到饮水机前,开热水,开冷水,其实是多个步骤。倒水这么简单的事情,在现实情况中,看做一步显然是更合适的。但回到实际的工作中,界限就没有那么容易搞清楚了。

我的许多工作,并不止是简单的完成一件事情,通常第一步是搞清楚有哪些事情要做,哪些事情是重要的。也就是说,在第一步完成之前,我甚至不知道后面应该有哪些步骤才是合理的。而且即使完成了第一步,随着事情的进展,我会需要随时增减事项,并同时记录下过程中的重要信息。

有些任务,看似简单,但实际做起来就像是玩 RPG 游戏。村民 A 遇到了困难向你求助,你需要去找一个道具,然后发现村民 B 持有这项道具,但他看中了村民 C 的东西,然后……总之一件事,很多时候就不是动手就能完成,要经历多个环节 & 等待,最终才能完成,或者……完不成。

任务是活的

因此非常需要我的任务管理工具也能够足够灵活,它不是以任务为核心,而是以任务为基础,以内容为核心。这也是为什么我现在用 markdown (纯文本)来做日常任务的记录,只有这样才能做到以内容为核心来管理任务,才足够灵活,方便。

但纯文本也有显著的限制:只能以线性的方式来组织内容。我经过长期的尝试和权衡,目前选择了日程这个维度来组织我的任务内容:每天早上花10分钟考虑一下今天需要做的事情。然后根据当天实际的需要,随时调整其中的内容,并记录下重要的信息。

如果短期内工作内容比较集中,这样做基本就够用了。但如果事情开始变的又多又杂(这才是我工作的常态),我就会感到自己的效率开始降低,并且容易遗漏掉某些事项。这种情况下,我通常会针对单个项目进行额外的梳理和记录,尽可能保证每个项目都可以正常的推进。虽然这需要额外的时间、精力成本,但为了推进工作,这是必要的。

如果我可以把所有的任务放到一起,然后根据需要,灵活的查看其中的内容,那就太好了。比如我可以根据:今天、明天、本周、下周来组织任务,并随时按项目过滤。这样我既能确保任务不遗漏,同时也很容易聚焦到具体的项目、事项。

我需要灵活的任务视角

灵活的任务视角

Omni Focus 和 Jira 这样的工具,都非常强大,并且能够提供灵活的视角,但它们都不够方便。

前面提到,首先我希望通过日程维度来组织我的任务内容,但同时,我也希望随时能够过滤不同的任务。如果在 Omni Focus 或 Jira 这样的工具中,我需要进入到复杂的编辑界面,调整其中的过滤条件,然后再回到任务列表页面,刷新任务列表。要说整个操作其实也不会花太多时间,但是这样做很容易打断当前的思路。

因此我希望,这些操作,都可以不跳转的情况下,通过一两次点击就能完成。

只要搞过条件查询就知道,要做完善的条件过滤,就得处理好“与或否”的编辑处理。比如“今天”且“重要”的任务(与),“今天”或“明天”的任务(或),或者“今天”以外的任务(否)。这几个条件共同起作用时,情况就会变的复杂起来,难以用简单的操作达成,理解复杂度也会提升。

要想通过简单的点击完成过滤,那就必须简化,或者说,取舍。那可以简化吗?或者说简化过后,效果还好吗?

这时我会做一个简单、但必要的假定:根据我实际的工作情况来看,如果把一些简单的事项放到类似于 Things 的工具中去管理,剩下事情的数量,可能会在30-50的范围,很少超过100。也就是说,通过简单的一、两个条件的过滤,然后在分维度显示,已经可以让任务显示的井井有条。

于是我只做了“与”和“否”两种条件过滤,完全可以满足使用需求,交互也可以很简单,效果很好。

前面提到,纯文本的方式带来的一大限制是,只能以一个维度(视角)组织内容。所以在工具中,除了支持灵活的调整视角,也需要支持保存多个视角。我在实际使用的时候,首先要用的当然还是日程视角。但同时,如果我特别关注某个项目,我可以单独将其列为一个视角。重要、紧急这两个维度,也可以做为不同的视角。

标签系统

要支持灵活的视角,需要任务能够带上视角相关的信息,在这个工具中,由标签来完成这项功能。

我曾经很纠结到底该使用文件夹(或 Project)还是标签来管理我的任务,或者混合使用。如果凭直觉想象,当然是标签更加灵活。但灵活的代价就是更高的认知负担。每当我添加一个新任务时,如果我需要将相关的标签都标上,会极大的影响我关注任务本身。

所以我还是回到了我前面的一个关键假设:未完成的任务数量,在100以内,也就是说,我需要控制标签的数量,比如最多在 20-30 这个量级,就能够满足任务的过滤、分维度查看的需求。

有了这个限制后,我就可以在编辑调整每个任务的时候,把所有的标签展示出来,通过快速点击,而不是输入+提示的方式选择标签。这可以极大的降低在添加、调整任务时的认知负担。

在添加新任务时,我不用再担心是否为任务加上了足够的标签,而是将当前我关注的维度标签加上就行,而且通过点击,添加标签也非常方便。后续我也可以随时,非常方便的按需调整任务的标签。

无跳转交互

一个工具是否好用,除了核心理念,最终必须得用起来顺手,也就是说,得有符合直觉、简单的交互。其中我认为最重要的一点是,减少页面的跳转。

人是视觉动物,并不只是说我们喜欢好看的东西,视觉对我们的思考影响也是直接的。具体来说,页面切换会轻微打断我们的思考。如果我们可以保持在页面中没有切换,我们的思考连续性就会增强。

在当前的工具设计中,除了标签管理会需要跳转到新的页面,其他的操作都是在首页完成的。

这才刚开始

毕竟时间有限,当前工具只完成了最核心的部分,但也达到了可用的程度,我日常已经用了起来。后续会根据使用情况,持续改进。

如果你的日常任务也繁杂、多变,并且对任务管理工具感兴趣,可以联系我试用。