推迟是时间管理中的重要概念,我们最熟悉的实例,想必是闹钟:当你每天清晨和棉被封印搏斗时,很可能要用上“五分钟后提醒”的救命按钮。
推迟功能反映了一个再简单不过的道理:计划赶不上变化,原本设定好的提醒,常常需要随之调整——虽说闹钟这个场景,主要得怪自己不争气。
一
而日历,这个最基本的时间管理工具,却鲜有推迟日程的概念,计划有变之时,往往要一层层点进编辑页面,心算一遍更改后的时间再换上,着实笨拙——笨拙的后果常常是忘记重设时间,或者算错时间。
其实在系统自带的日历软件中,有一个类似于推迟的操作,那就是稍后提醒。问题在于稍后提醒并没有修改日程本身的开始和结束时间,只是修改了提醒的时间,比如原本你打算在出门前三十分钟提醒一下,但因为还没有收拾好行李,就将提醒延后,免得理着理着就耽误了出门时间。
但是这篇文章所说的推迟,并非如此。本文所讨论的推迟指日程本身,而这个司空见惯的场景,却被许多日历软件所忽视。在现实生活中,很多计划会被突发情况打断,你原本可能和朋友约了晚上吃饭,但是对方忽然要加班,于是时间就从周五晚上改到了周六或者干脆往后顺延一周。另一类常见例子是航班延误。有一次,我从南部沿海飞回老家,刚好赶上雷暴天气,一天之内飞机连续延误了五次。显然,当时在场的绝大多数人并没有时间管理的概念——这倒不是什么问题,不如说是吾辈太汲汲于时间了——多数人都是刷一会儿手机打一会游戏,再抬头看看电子大屏幕或者拽出通知中心刮一眼时间,处于一种很不健康的情绪中:一方面期待着赶紧到预定的起飞时间,一方面又害怕错过航班。
——软件设计师做什么去了?!在进行城市规划设计时,克里斯托弗·亚历山大曾指出,设计良好的候车室应当让旅客随心所欲做自己的事,同时又不至于因此而错过班次。看起来,这些在几十年前就应当成为常识的设计准则,似乎并没有被当今的软件设计所吸收。
二
凡此种种,让我向往闹钟软件的稍后提醒设计。这一切在系统日历中实现起来不算特别顺畅,但至少最后有了一个可用方案。最理想的情况,当然是长按日历通知之后即可弹出推迟日程的选项,可惜目前并不如愿;退而求其次,如果日历提醒能够和提醒事项一样,长按之后得以点击嵌在其中的 URL Scheme,那也便于运行配套的 Shortcuts 动作,可惜系统日历连这一点也做不到,目前只能点击通知打开日历软件,再点一次日程中预设的 URL Scheme,从而运行推迟日程的 Shortcuts 动作。
使用本文的 Shortcuts 动作之前,需要为它制作一段 URL Scheme,并放到日程的 URL 栏中(可以用这个动作生成 URL Scheme)。实际操作时,我的大部分日程都是用 Shortcuts 生成的,很容易顺手加上 URL Scheme,不少第三方日历工具也支持自动化——但如果你喜欢用 Siri 添加日程,那本文实在爱莫能助。
Shortcuts 动作本身的逻辑非常简单:通过 URL Scheme 运行动作后,过滤出最近的几个日程,从中选择一个,随后再确定需要推迟的时间,默认以天为单位,因为“隔天吧”这一情况颇为常见。当然你也可以直接点击输入框中的“天”,把它改成分钟、小时或者周。
之所以要过滤最近日程、再手动挑选,盖有时日常可能排得密集,连续发了好几条通知,等回过神来打算修改时间,此时最新的通知已不对应需要推迟的那项日程。这里还有一个稍加修改的 Shortcuts 动作,可以列出前后两天内的日程以供批量推迟,这一设计是考虑到,日程有时候可能是一串而非相互独立,一旦修改了一个,其他的也可能接着往后推,因此提供了批量调整的方案。
话说回来,有些读者可能会订阅节假日日历或公司日历,其中日程根本不会人为修改,因此可在过滤时即将其筛掉。凡是和过滤相关的 Shortcuts 模块能够引发我的兴趣,此前在关于日历的文章《用 Shortcuts 在桌面做一个倒数日小部件》中已有所涉及,本文方案能够成型,也是借助了过滤。
选好需要推迟的时间后,Shortcuts 就会自动修改刚才选中的日程,将其时间往后推。发生变动的仅仅是日程的开始时间——以及随之改动的结束时间——其他日程信息,从名称、地点到提前多久发出提醒都不会变动,工作量就可降到最低。当然,修改时间并不会影响日程中的 Shortcuts URL Scheme,届时若还需推迟,仍可以继续运行原 URL Scheme。
三
本文方案产生于 2018 年年末,当时我有赶不完的航班;这篇文章写于 2023 年 WWDC 前夕,或是幸运、或是不幸,我未见 Apple 对推迟日程这一问题有任何关注。在很多篇文章中,我都批评过苹果的设计师,他们总是把一切幻想得非常完美,似乎每个人都生活在乌托邦,始终不会遭遇意外(除了天天担心走路把自己绊死的 Apple watch 团队)。日历团队恐怕也还活在八十年代的黄金岁月中,仿佛一切都会按计划进行。
现实偏偏是意外迭生,考验一款软件的,已经是一连串小概率事件组成的长尾(long tail)了。能不能在开发商介入前自行解决,大概就是进阶玩家和麻瓜的分水岭。