GoodTask 是一款基于原生「提醒事项」的应用,并在此基础上整合了日历。这意味着,它使用 iCloud 进行同步,并且在字段属性上和「提醒事项」保持一致,如截止日期、提醒、重复、位置、优先级等。少数派曾介绍过 GoodTask 2,转眼一年半过去,开发者推出了大版本更新:GoodTask 3。

GoodTask 3 同样基于 iOS 原生「提醒事项」,但它想解决的问题,不仅仅只是集成日历、优化操作,从而做到比原来的「提醒事项」更好用,而是希望变成一款强大的项目管理工具。用开发者的话来说,现在有许多 App 都可以帮助你 Get Things Done,但却少有工具,能真正做到 Get Projects Done。

结构大调整,让你从各个维度了解全局

GoodTask 3(右)相比起 GoodTask 2(左),乍一看似乎并无不同,打开 App 都会先看到各个列表,只是在配色上新版本更加沉稳,饱和度更高。不过,再仔细一看,你就能发现底栏发生了重大变化。

在 GoodTask 2 中,列表 / 日 / 周 / 月这四个视图,是做为一级导航存在的,如果你从列表中查看某一个 List,那么只会以列表的方式展现该 List 下的所有待办事项。而到了 GoodTask 3 中,既然是以项目管理为视角,它对于视图的自由度进行了重新思考,这意味着,列表 / 日 / 周 / 月这四个视图被下移了一层,针对每一个 List,你都可以以这四个视图的方式查看所有的待办事项和日程。

于是,在 GoodTask 3 中,每一个 List,你都可以在底部的四个按钮中,来回切换列表 / 日 / 周 / 月视图,最后一个按钮则是在当前 List 下新建提醒事项。特别是在日视图的展现上,GoodTask 3 会将一天不同时间段的安排,同样在顶部用色块展现出来,方便你了解当天的时间分配。而如果在列表视图中左右滑动,则会切换到上下一个列表,在日 / 周 / 月视图中左右滑动,则是切换到上下一日 / 月 / 周。

这样的结构性调整,正是出于开发者希望 GoodTask 能更好地胜任项目管理,从而让每一位用户都拥有更加自由的视角去审视不同 List 下自己的安排,更能在不同情景下选择合适的视图。不过,对于新用户来说,最底下那一排视图切换的按钮,倒的真的非常不直观,与其用指意不明确的小图标,倒不如像 Calendars 5 一样,直接用文字标识出来。

此外,在 GoodTask 3 中,考虑到误操作等原因,如果你勾选完成掉一个待办事项,会等待 3 秒钟,以撤销操作。在那之后,如果你没有勾选右上角的小圆圈,即代表你不想看到已完成的待办事项,它才会从列表上消失。

智能列表,现在更智能了

既然想在项目管理方面发力,那么「透视」就是一件非常重要的事情。如果你用过 OmniFocus,就应该清楚透视的概念——除了以列表的形式来分类各个待办事项,你可以自定义一些条件,例如位置、开始时间、结束时间、优先级、关键词等等一系列筛选条件,从而定义出一个视图,只展现符合条件的所有任务,如:下周需要在工作场合完全的高优先级任务。

在 GoodTask 3 中,这个功能叫做「Smart List」。尽管在 GoodTask 2 中这个功能就已经存在,不过那时的 Smart List 可的确不够 Smart,你最多只能按标签来新建一个 Smart List。

现在,Smart List 则强大得多,如果要选出 GoodTask 3 中改进最大的一项功能,非它莫属。开发者也将它提到了前所未有的重要程度,你直接可以在主屏左下角选择新建一个 Smart List。

你不仅仅可以自定义这个 Smart List 的图标、颜色,你还可以:

  • 选择待办事项的类型:所有、仅限有到期日的、仅限重复的、仅限没有到期日的、仅限有开始日期的、地点相关的、最近 10 个、仅限有提醒的;
  • 指定 List 和日历:你可以选择哪些视图进入到该 Smart List 的筛选范围;
  • 包含/不包含关键词:根据待办事项的名称和备注,如果包含/不包含某些关键词,则显示在 List 中;
  • 设置优先级

虽然 GoodTask 3 还不能像 OmniFocus 那样高度自定义,如按持续时间、具体地点等,也不能像 OmniFocus 那样多个条件取交集,但这样的 Smart List 相信在应对项目管理时,已经绰绰有余,你完全可以按照自己的需求,定义出你需要的透视图。不过相对应的,强大的工具和规则需要更多的学习和规划,你也需要合理地构思 List 的分类、关键词和标签的运用,才能真正发挥出 Smart List 的功效。

支持横屏,对 iPad 更友好

既然想成为一款强大的生产力工具,自然少不了对 iPad 的支持。原先的 GoodTask 2 并不支持在手机上的横屏模式,也无法在 iPad 上使用 Split View。

现在,这些都已经成为过去,GoodTask 3 支持所有 iPhone 机型使用横屏模式,并且如果是在 5.5 寸的 iPhone 机型上,还会充分利用大屏的优势,做到像 iPad 上一样的分栏展示。

在 iPad 上,GoodTask 3 会默认将 List 和列表视图分栏展示,并支持 Split View。此外,还针对蓝牙键盘,加入了快捷键支持。这些特性对于 GoodTask 3 的目标定位来说,必不可少,也算补足了之前的短板。

为效率而生,重造交互

GoodTask 3 针对一些关键操作,如新建待办事项、管理列表等,彻底重造了交互。

新建待办事项

如果你是 GoodTask 2 的老用户,最直观的感受可能就是新建待办事项的方式。现在,新建页面分为了三屏,你可以左右滑动来切换:

  • Quick Actions:放置了各类快捷操作,可以直接清空到期日、调整优先级、添加标签、复制待办事项等等。在 GoodTask 2 中,要唤起 Quick Actions 是通过长按待办事项,会弹出浮层,那现在长按会怎么样呢?一会就知道了;
  • 常规设置:包含了开始日期、到期日期、持续时长、重复选项、提醒选项、地点、优先级、所属 List。你可能看到了,开始日期是原生「提醒事项」并不具有的字段,这应该也是唯一一处 GoodTask 3 自建的新字段。如果你设置了开始时间,即使项目的到期日期还远,到了开始日期那一天,待办事项也会直接显示出来,方便你知晓什么时候需要开始行动。在默认情况下,开始时间和到期时间是相同的,而一旦你设置了开始时间,还可以在下方调整 Duration 持续时长,从而开始时间会自动计算向前调整。
  • 附加视图:可以设置子任务项、URL 和备注。你可能注意到了,子任务项也是原生「提醒事项」中并不存在的字段,不过它们的实现方式却并不相同,这个一会再谈。

长按待办事项

前面提到了,GoodTask 2 中长按待办事项,是会弹出 Quick Actions 浮层的,既然 GoodTask 3 中 Quick Actions 的位置已经调整了,那现在长按会发生什么呢?

调整排序。这也是开发者作出这项调整的初衷,他本人也觉得长按这个操作应该是给出更多细节或者调整排序用的,因此才调整了这里的交互。不过,GoodTask 3 的长按调整排序,可不是简单的改变顺序。根据你拖动的位置不同,它会自动帮你调整待办事项的属性性。

比如说,如果我长按住「三周年看烊烊」这件事,它原本是没有到期时间的,如果你把它拖到已经计划好时间的「旅游安排」上面,它会自动给自己加戏,哦不,加上时间。

根据位置的调整,GoodTask 3 会自动帮你改变到期时间、优先级和所属列表。像上面提到的例子:

  • 如果拖动到列表最上方,则到期日会自动和下一个待办事项保持一致;
  • 如果是最下方,则和上一个待办事项一致;
  • 如果拖动到某两个待办事项之间,则会自动计算出这两个待办事项的中间日期。

Quick Actions

前面提到了 Quick Actions 的位置调整,除此之外,它还有两个重要改变:

  1. 原先的 Quick Actions 固定只能有三排四列,即 12 个操作,现在,你可以添加任意多个 Quick Actions,只需要向下滑动页面就行;
  2. 操作类型:新增了多个快速操作的类型,现在,你可以设置的类型包括清除日期、调整等级级、打上标签、设为今天、设为现在、设置提醒、调整所属列表、调整相对时间、复制、更换标签、设置具体时分;
  3. 应用范围:除了 Quick Actions 外,你所配置的选项,还可以用于批量操作,没错,批量操作也是 GoodTask 3 新增的功能。

批量操作

你终于可以对列表上的任务进行批量操作了。在右上角点击会调出菜单,选择「Bulk Actions」,会进入到批量操作的新视图。在这里,你得以批量选中不同的待办事项,一次性删除或者完成,而如果点击右侧的箭头,还可以调出更多的操作,也就是 Quick Actions 中的快捷操作,一次性针对多个任务批量设置调整。

在「提醒事项」基础上的优雅扩展

上一段中我们提到了 GoodTask 3 中支持了子任务,虽然只能添加一级子任务,但是一般使用已经足够。但是我们一直说 GoodTask 3 是基于原生的「提醒事项」的,所以它是怎么扩展出新的字段类型的?如果回到提醒事项,还可以操作吗?

GoodTask 采用了一个巧妙的扩展方式,既和系统提醒事项兼容,又实现了这些必须的功能。它通过在待办事项的备注中,添加了一段专有的文本标识,而如果你在 GoodTask 中使用时,备注会自动过滤掉这些标识。不过,如果你回到提醒事项或者 GoodTask 2 中,这些文本就会暴露出来,显得不那么优雅了。

具体来说,有三个功能依赖于这样的实现方式:

  • 子任务:会以文本标识 Subtasks 的方式记录;
  • 手动排序:前面提到了长按改变排序,GoodTask 会帮你自动调整一些属性性,而这些变更也会记录在文本标识 Sort 中;
  • 完成后自动重复(Repeat After Completed):以文本标识 After 存在,如果在重复选项中勾选了这一设置,那么当你勾选掉完成的任务时,新生成的重复事项的时间,将是完成时间 + 重复间隔。如果不勾选,则默认是任务原本的到期时间 + 重复间隔;

细节之处,处处可设置

GoodTask 3 中提供了各类高度灵活的自定义选项,你可以按照自己的个性化需求进行配置。

Presets:一键预先设定

Presets 可以帮你预先设定好任务的相关属性值,具体来说,你可以在新建任务时,预先定义好所属列表、标题、开始时间、到期时间以及提醒时间。

这样,在新建任务时,只需要一键就可以应用这些设置。

Text Snippets:比自然语言更通用

了解 Fantastical 2 的同学可能都知道自然语言输入,例如在 Fantastical 2 中输入 have dinner with YiYangQianXi next Friday afternoon at SOHO,它就会自动帮你把日程相关的人物、时间、地点填入对应的选项当中。

但这种方式的局限在于,对于不同语言的支持,需要额外处理。因此 GoodTask 采用了一种更为通用和灵活的做法:Text Snippets。它就像是文本缩写,你可以定义一些规则,GoodTask 会自动将它们转义成为相应的属性性。

它主要分为两类:一类是 GoodTask 默认内置了一些输入格式,方便你输入日期、时间、列表、优先级,你可以按照自己的习惯,选择输入的格式,只需要在创建新任务时,在标题处最后(优先级是例外,需要在标题前用感叹号申明)或空一格填写就能触发相应的规则。第二类则自定义程度更高,你可以设置不同的关键词来触发规则。举例来说,GoodTask 不在乎你使用什么语言,只要你预先定义了「明天」是对应「Due Date +1 Day」这个规则,就可以在标题中使用,GoodTask 会自动修改到期时间为明天。

Contextual:根据情境做出判断

Contextual 这个小选项,可以让 GoodTask 在默认设置的基础上,根据不同的情境,做出一些智能判断,举例来说:

  • List:如果你在 GoodTask 主界面,它会默认选中第一个列表,而如果你在某个具体的 List 中新建待办事项,则会自动选为当前列表;
  • Date:如果你在日/周/月视图,切换到不是今天的日期,这时候选择新建待办事项,则会以当前所选中的日期作为到期时间;若关闭,则默认都是今天;
  • Time:如果选中的日期是今天,而默认的时间设定是早上八点,现在却已经九点了,这时候 GoodTask 会自动帮你设为下一个小时。

列表样式:随心搭配

待办事项在列表中具体的显示样式,GoodTask 都可以让你高度自定义。你可以选择是否显示持续时长、子任务、备注的图标,并且,标题和备注显示多少,都提供了一行 / 二行 / 三行 / 全部这样的细致选项。

四套主题:只可惜夜间模式不见了

GoodTask 除了默认主题外,还提供了额外三种主题,即黑、白、经典主题配色。不过,这里的黑色主题却并不是夜间模式,原生在 GoodTask 2 中具有的自动根据时间切换明/暗主题的功能,在 GoodTask 3 中也消失不见了。开发者并没有明确表示出于什么样的考虑做出这样的改动,在后续的版本中,夜间模式的自动切换是否会重新加回来呢?

URL Scheme 和更多

事实上,GoodTask 提供的个性化选项远不止这些,例如,你还可以设置下拉是刷新还是新建任务,新建任务的默认首屏是显示哪一页等等,出于篇幅和重要程度的考虑,我们鼓励你有兴趣的话,可以自行再探索。

另一方面,GoodTask 3 的 URL Scheme 和 GoodTask 2 相比,依旧支持 x-callback-url 回调,由于在二代中的支持已经相对完备,这次大版本更新并没有太大改变,只是协议更换为了 goodtask3://,并且新增了几种新的类型,感兴趣的话可以结合 之前的文章 以及 GoodTask 的 官方文档 详细了解使用。

关于价格、升级和 Mac 版本

相比 GoodTask 2 的 45 元售价,GoodTask 3 更改了定价策略,变成了免费 + 内购的模式,你可以在 App Store 免费下载,但想要解锁 Pro 功能的话,需要支付 30 元。

Pro 功能包含了前文所述的批量编辑、无限制添加 Quick Actions、无限制添加 Presets 和 Text Snippets,以及关于 Apple Watch、通知中心小部件等一系列设置选项。在使用 10 天之后,每天会有一次升级弹窗提醒。

而如果你之前已经是 GoodTask 2 的老用户,可以享受免费升级解锁 Pro 功能,不过需要你在安装 GoodTask 2 的基础上,下载安装 GoodTask 3 才会提醒你升级。想要支持开发者的工作,你依然可以选择成为「Supporter」,无偿捐献 18 / 40 / 78 元不等。

另外,GoodTask for Mac 依旧停留在第二代,而 GoodTask 真的希望成为一款项目管理方面的效率工具,跨平台自然是少不了的,开发者也表示接下来将着重投入精力到 GoodTask 3 for Mac 上面。