如果我想成为时间管理大师
$$ \tau = \int_{t_1}^{t_2} \sqrt{1 - \frac{v(t)^2}{c^2}} , dt $$
我想成为Timegame高手,把一天过出两倍效果,但说实话,咱连自己每天在手机上耗了多少时间都说不清楚。于是咱决定给自己写个应用,让它替咱盯着。反正自己写的东西,总比那些“屏幕使用时间”里的黑盒数据可信吧?说干就干。没想到,两天后它居然真能跑了。应用本身挺糙的,没啥可炫耀的。但就做它的这两天,咱的收获比这几年翻过的所有鸡汤叠起来都大。
先交代动机,其实很简单。咱总觉得最近好像刷手机有点多,但有点多是几小时?三小时?五小时?咱没概念。没概念就没法管。咱写了 TimeTrack,每15分钟采样一次系统事件流,算亮屏时长,算每个应用占多少,画成 GitHub 提交记录那种绿格子热力图,一年365天铺开。
两天,22 个任务,92 个单测全绿,装到我的 iQOO 上实测。Token 成本折下来大概 23 块人民币,比买高效能人士的七个习惯还便宜二分之一。这波血赚。
#数据给咱的第一记耳光
应用跑起来后的第一批数字就教育了我。昨天我手机亮了 10.7 个小时。近七天咱在小说应用上花了 881 分钟,排第一。我以为自己是偶尔看看,数据说,不是,你是天天看。
更离谱的是7月30号那天的格子显示我亮屏54小时。一天只有24小时,咱难道掌握了时间折叠技术?
我居然这么?!强强!?
查了半天的结论是,vivo 系统自己的日聚合把时长算了两遍,我的应用忠实复制了系统数据,于是连错误一起复制了过来。修法倒简单,超过 24 小时的天直接标”无效”,画成蓝灰格子白叉,不进统计。
手机系统自己算自己都能算岔,人脑那点我感觉这周没怎么玩,可信度能高到哪去?咱感觉这周没怎么玩手机这句话,可信度跟 54 小时差不多。时间管理的第一步,压根不是什么番茄钟,而是先让数字和你的感觉当面对质。番茄钟是第二步的事。
#记录可以不完美,但不能不知道哪里不完美
后台服务毕竟不是神。有时候它被系统杀掉,有时候它自己睡着了。咱不可能每15分钟都手动记一笔。我的做法是给每个格子标近似,当天第一条样本晚于 00:05,或者最后一条早于 23:55,或者中间断过 45 分钟以上,这个格子的数字就带个小角标,告诉你,这块是估的。
然后拿系统自带的屏幕使用时间当基准做验收。回填出来的历史日,偏差 1.8%,很满意。有缺口的当天偏差 23%,看着吓人,但缺口补上之后偏差立刻降到2.3%,不错。
关键是,我心里清楚哪儿不准。全是精确数的假账,还不如一本明明白白写着大概二字的真账呢。
#计划和环境是两回事
咱的应用碰到了一个硬茬,OriginOS。国产ROM杀后台那是刻进基因里的本能,咱用尽了手段,前台服务常驻,每15分钟采样,Shizuku提权,把白名单灌满,JobScheduler定时兜底。能上的全上了。
结果深夜它还是输了。进程没被杀,但被系统冻住了17.4个小时。整个应用活着,但跟死了没区别,连系统调度器都不给它醒来的机会。没想到,解冻的时机竟是咱第二天碰了手机。
唯一的安慰是数据一条没丢。系统的事件流一直在记,打开应用的瞬间能全部补回来,跟系统口径的偏差仅有0.6%。
打断肯定会来,日程肯定会被打乱。与其琢磨怎么防着不被干扰,不如想想断了之后怎么续上。我的办法就是留底。把做到哪儿了,什么状态都随手记下来,能几乎零成本地捡起来接着干。
#知道什么时候停
TimeTrack 的停止记录是真停。取消后台任务,撤掉白名单,杀进程,保证它不会半夜自己复活。README 里写明白,你不想记了,它就是停的。
一个记录时间的应用,把停做成硬功能,听着矛盾,其实是一回事。不然,用户会觉得它是流氓软件,咱也一样。881 分钟看小说那一周,咱没什么负罪感,数据只是告诉我,你在干什么。真要说问题,是那两天开发期间,咱手机上使用时长排第一的应用叫 TimeTrack 自己。用刷手机的方式戒刷手机,属实是行为艺术。咱也没办法啊。
咱还做了个噪音过滤,切到前台 5 秒以内又退出的,算误触,不计入,阈值能在设置里拉滑条调。较真到把误触都算进去,是另一种时间浪费。
#两天 22 个任务,靠的不是自律
计划的文档写了上千行。每个任务写清楚要建哪些文件,接口长什么样,单测断言什么,真机验收怎么验。做完一个提交一次,然后一个评审代理专门挑错,通不过就返工。中间翻过两次车,编辑器重启杀掉了一个正在干活的代理,靠台账恢复。另一个代理把后面三个任务的活提前干了,编译炸了。靠 git 还原,再逐任务收口,救回来了。每次翻车都有记录可查,所以每次都不致命。
纯逻辑的部分全部测试先行。先挖一个注定失败的坑,再写填坑让它通过的代码。跨午夜的会话怎么按天拆分,锁屏期间算不算亮屏,这类边界全是用例钉死的。
咱自律水平真的一般。两天能做完,靠的是流程拯救了意志力,每个环节都有验收标准,做完没做完不以感觉为准,以绿不绿为准。
这笔账算下来也值。整个项目实际消耗约 4 亿 token,折人民币 23 块。两天加 23 块,换一个数据不出手机的时间记录工具,恐怕某些会员上百的软件已经急哭了。做一件小事的成本已经低到这种程度。哼,剩下的借口才不是因为不想做呢。
如果现在有人问咱怎么成为时间管理大师,咱的建议是先装个计数器。剩下的都是工程问题。咱的计数器数据全在本地,连联网权限都没申请。
评论