计划在前,记录在后

HangSpine 1.0.5 · build 63

一个训练 App 值不值得留在手机里,通常只看一件事:它能不能说清你这一周到底练了什么。

1.0.5 只做这一件事。手机端重排成三个 Tab:计划、看板、我的。默认停在看板,因为那是你每次打开时真正想看的。看板上面加了一层计划,因为顺序反了,记录就没有意义:先知道该练什么,再看练成了什么样。

下面是一次完整的演示,分三幕。


第一幕 · 打开 App 的第一眼,先看清这一周

我们打开看板。

顶部是三个视角:普通悬垂、指力板、全部。默认是全部:大多数人既会随手挂两下,也会按计划上板;拆成两张表,两边都记不全。

三个视角:悬垂、指力板、全部
三个视角:悬垂、指力板、全部

全部视角里,本周是 5 分钟、4 场,下面一行小字把它拆开:自由 4 分钟 · 指力板 1 分钟。

默认全部:悬垂和指力板一起算
默认全部:悬垂和指力板一起算

切到指力板。第一眼是一个数字:1 分钟。这是本周 TUT——真正挂在杠上的秒数,不是练了几组。旁边三个小格:1 场、最长悬垂 7 秒、负荷 2.5 公斤。右下角一条进度条写着 100%:本周实际 TUT 对计划 TUT。旁边那个 −1 分钟 是周环比——本周 84 秒,上周 168 秒。

本周 1 分钟,全是杠上的秒数
本周 1 分钟,全是杠上的秒数

往下是训练计划卡,也是这一版的重点。它先给你一句话:

四指半扣 → 四指全扣 → 二指半扣
5 周 · 3 个阶段 · 10/12–11/15

然后是一行「现在」:第 2–3 周,四指 · 全扣,1 场。再往下是一条周轨:

W42 ✓2 | W43 ✓1 | W44 | W45 | W46

每周一个小格子,画着那周该练的指法和握法;有记录就打勾并写场次;当前周有描边。再往下是三个阶段行:第 1 周 四指 · 半扣 完成 2 场;第 2–3 周 四指 · 全扣 进行中 1 场;第 4–5 周 前二指 · 半扣 未开始,还没有记录。

五个周,三个阶段,一句话说完
五个周,三个阶段,一句话说完

这张卡答的是旧版答不出来的问题:排了几周、走到哪、下一周换哪种握法。

再往下才是记录。握法 × 周是一张矩阵:行是握法 × 指法,列是周(W38 到 W43),格子里是 TUT 或场次,小字是那周的最大负重。一眼能看出一件事:四指 · 全扣 这周 1:24、2.5 公斤;四指 · 半扣 上周 2:48,这周空着。

行是握法,列是周,缺口一眼可见
行是握法,列是周,缺口一眼可见

矩阵上方偶尔会出现一行提醒,比如「前二指 已连续 2 周没有出现」。它不评判,也不建议加练,只把「这个握法消失了」摆出来——两周的缺口,人自己会忘。

两周没出现,它只说一句
两周没出现,它只说一句

再往下是「计划 vs 实际」:1 场、实际 TUT 1 分钟、每次计划 TUT 1 分钟,上次完成 12/12,4 周完成率 100%。它记的是同一个计划:全扣 · 四指 · 20 毫米 · 2.5 公斤——也就是上面标题里的「间歇组」。同一个计划还能看同条件趋势,在负荷、完成率、最长悬垂之间切换。不同握法不会画进同一条线,因为条件不同的两个数字放在一起,只能骗自己。

目标是计划,下面是手表记的
目标是计划,下面是手表记的

最后是原始训练记录。一行就是一次训练,握法和指法分列:10/21 W43 四指周,四指 · 全扣 · 20 mm · 2.5 公斤,7/3s · 6×2,1 分钟,RPE 3,右侧一个「=」。状态只有三个符号:+ / = / −,来自 RPE——1–5 的主观疲劳度,≤2 轻松记 +,3 正好记 =,≥4 偏吃力记 −。

一行一次训练,握法不混在一起
一行一次训练,握法不混在一起

看完这一屏,问题自然变成:这个五周、三个阶段是从哪来的?

四条路,都在手机里。

第一条,计划页。四张计划包——基础 · Repeaters、进阶 · 最大悬垂、所有人 · 耐力、随便练 · 8 分钟,点「应用并在手表开始」,目标直接进手表,看板立刻出现一张等待第一次训练的卡。

四张计划包,点一下上手表
四张计划包,点一下上手表

第二条,一句话。在计划页对教练说一句「我是新手,想练指力板」——它不会立刻给你一张计划。先回一句「先回答这几项,我来把这段时间排满」,再把缺的项摊开:每天大概能练多久、现在大概什么水平、先排多远。档案里已经写过的水平不再问——新账号是「还差 3 项」,档案完整的只差 2 项;答过的那一项会变成卡片顶上一个绿勾,关掉重开还在。

都答完才出结果:跨度短,给一张计划,边条、握法、组次、休息都填好;跨度够长,直接排成多周周期,点「排进看板」,各阶段的计划一起进计划库。第一次只给自重,每个数字都能改。默认由计划服务生成,没有服务时退回本机规则。

一句话,先问三句
一句话,先问三句

第三条,训练排期。周期名、起始周(自动归到那一周的周一)、每个阶段用哪个计划、练几周,一行一行加减出来,合计周数和结束日期跟着变。阶段菜单里还有「新建计划…」,不用退出这张表就能把缺少的计划建出来再排进去。

周期、阶段、周数,自己排
周期、阶段、周数,自己排

第四条,一句话排一个周期。还是「我是新手,想练指力板」这句,答完每天 20 分钟和「排一个月」,它把这一个月排成 5 周、3 个阶段:四指 · 半扣 1 周 → 四指 · 全扣 2 周 → 前二指 · 半扣 2 周。起止是 10/19–11/22:新排的周期从当周周一起算,跟看板里那个 10/12 开始、正跑到第 2–3 周的老周期不是同一块。点「排进看板」,三个阶段的计划一起建好。周期里也一样守规矩:第一次只给自重。

一句话,排出整个周期
一句话,排出整个周期

排完,矩阵就有对照目标了。


第二幕 · 练的时候,手机在口袋里

出门之前,本周指力板还是 0 秒、0 场,最长悬垂一格是「—」。设置留在手机里,训练只在手表上。

练之前:0 秒,0 场
练之前:0 秒,0 场

走到杠前,抬腕,抓杠开始,松手结束。时间由手表记,一次悬垂一条记录。表和手之间还会显示这是第几组、第几次——「第 1/2 组 · 第 3/6 次」,目标 7 秒。

抓杠开始,松手结束
抓杠开始,松手结束

中间那几秒的休息也不算空转:蓝色圆环倒数,同样写着「第 1/2 组 · 第 4/6 次」,不用自己记数。

休息也在表上倒数
休息也在表上倒数

练完是总结页:12 次吊杠 · 1:24 · 平均 7.0 秒 · 最长 8 秒,加一行 RPE 1–5,滑一下就交作业。

练完这一页,就是交作业
练完这一页,就是交作业

手机是排计划、看记录的地方,手表是干活的地方。

然后回到手机,看它认不认这笔账。五处会一起动:本周 TUT 从 0 变成 1 分钟;场次从 0 变成 1;周轨 W43 打上勾、写上 ✓1;矩阵里 四指 · 全扣 那一格从「−」变成「1:24」;原始记录最上面多一行——10/21 W43 四指周,四指 · 全扣 · 20 mm · 2.5 公斤,7/3s · 6×2,1 分钟,RPE 3,一个「=」。

练完一次,五处数字一起动
练完一次,五处数字一起动

这就是交作业。练完了数字会变,没练一格都不会动。

手表上临时想改也能改:指力板 → 计划卡 → 编辑。手机建的计划、手表建的计划,最后落在同一份计划库里。

有一条规则值得单独说,因为它是这一版最实在的改动:一次连续悬垂,就是一次。上面杠到下来,中途换手在 4 秒宽限内重握,算同一次,按真实时长落账。60 秒,就是一次 60 秒;跨过目标秒数只发一个庆祝,不把这一挂切成十二段。

这句规则,我们放在最后再解释。


第三幕 · 每天打开它,你其实只问四个问题

第一,本周目标完成到哪。看板最上面那个 100% 和一个进度条,就够了。分子是手表记录的秒数,中间没有估算。

第二,昨天练了多少。原始记录第一行就是。再懒一点也行,打开今天页就看见了:顶部一行写着本周已经练了几场(1/2 场),中间是今天该练的握法和参数,一个按钮推到手表。够条件的时候,它才会在参数下面多给你一句——该加重量了,或者先别加。它不止替你记事,它还替你决定今天练不练。

今天练什么,它先替你想
今天练什么,它先替你想

第三,接下来该练什么。看训练计划卡的「现在」那一行:第 2–3 周,四指 · 全扣。下面矩阵里哪一格是空的,就是这周还没练的那件事。再往下,近 6 周的训练量柱子会告诉你最近是往上走还是在原地。

第四,距离总目标还差多少。这个周期 5 周、结束在 11/15;三个阶段里一个完成、一个进行中、一个未开始。看板上还有一张训练热力图,那是把视角拉到半年的看法:最近三周密不密,比今天这一场有意义。

拉长到半年,看习惯不看单场
拉长到半年,看习惯不看单场

四个问题,四个位置,都在同一屏往下滑的距离里。不需要报表,也不用理解指标之间的关系——只是把手上的几件事按顺序摆好。

训练记录只留在本机,没有账号。只有你主动用计划服务时,你写的那句话和训练档案才会经网络发出去——发送前脱敏,原话不留存。计划不会保证你到某个等级——任何计划都不行。它只保证负荷是可量化、可重复、可调整的;剩下的靠技术、恢复和项目选择。


这次更新解决的真实抱怨

十月有个用户在 Reddit 上写:

"If, for example, you're already happy doing a 60-second hang three times a day, you won't want to use an app that will only let you record this as 12 15-second hangs"

一句话:他每天三次 60 秒,App 却把一次 60 秒记成十二个 15 秒。

这是计数模型的问题,不是传感器看错了。旧版按目标秒数分段,一次悬垂跨过目标就清零重计,长悬垂被切碎——而这正是这类 App 唯一的价值。

1.0.5 改成:一次连续悬垂 = 一次记录,按真实时长入账。上面杠开始,下来结束,中途松手再握在 4 秒内合并;跨过目标秒数只发一个庆祝信号。60 秒,就是一次 60 秒。

手表上那条「12 次吊杠 · 平均 7.0 秒 · 最长 8 秒」的总结,从此描述的是真实发生的事。看板上的 TUT、矩阵、完成率,也才有意义——如果 60 秒都被切成十二份,这些数字都是假的。

计划在前,记录在后。这个版本之后,你看到的每个数字,都是手表真的记下来的。