摘要:本文详细描述了我想实现的目标(记录腰高比且根据目标给出反馈,然后放入 Day One内)、遇见的困难和最终呈现。想让大家知道的不仅是一个记录数据的 Workflow ,还有思维的过程。

用 Workflow 记录腰高比 Waist-to-height ratio(WHR)

体重并不是一个「聪明」的记录方式,就好比 80kg 的肌肉男和 80kg 的胖胖完全不是一类人。所以关注健康的我更注重腰围或者所谓的腰高(臀)比。此前我也记录过三个月的体重数据,见文章生活的Curator2.0.但问题是我们可以直接输入体重,但不可能直接输入这些参数,至少需要一步简单地计算。当然有很多应用可以帮助你计算,但我希望可以将这些数据保存下来,最好可以记录一辈子的数据。接着就有了用 Workflow 简单计算且保存数据到 Health app最后生成日志保存在 Day One 的想法。 OK, Let's do it.

腰高比的含义与计算

腰高比例(WHR)是指腰围和身高的比例,数值等于腰围除以身高 (W ÷ H)。

因为身高成年之后基本没有变化,所以需要记录的变量就是腰围。同时还有一个类似的参数为腰臀比,我觉得如果同时记录两个数据,这样测量和计算的误差较大,而身高是基本确定的参数,所以为了简化操作过程同时提高精确度,就选择了腰高比(以后用 WHR 代替)。

Workflow 的实现

输入参数

WHR 顾名思义需要输入身高 Height和腰围 Waist,根据国人的习惯这里采用m为单位。用身高举例为,在 Workflow 里的语句如:

输入参数.jpeg

处理数据

计算 WHR

接着计算腰高比 WHR,得到的数据使用 Format Number进行四舍五入。我关注的是 Healthy 这一等级的 WHR 值,所以范围在:0.42 to 0.48。其他范围,例如 Healthy Slim 或者 Extremely Slim 等级的腰高比参数,也可在这里查到。

Health app 没有支持记录腰围参数,这是遇见的第一个问题。我给出的解决方案是自己定义 Health app 中存在的 Bodyfat 参数(因为我觉得相对值更重要,只要是反应身材的就可以用 Bodyfat 来表示,这样可以很方便的呈现随时间流逝的曲线图),设为 WHR。后来又发现 Gyroscope 并不支持 Health 的 Bobyfat 这一参数(也就是说无法使用 Gyroscope 生成随时间流逝的曲线了,之前的文章有提到这一款整合身体参数的应用),而仅仅支持从 Fitbit 获取。我给出的解决方案1是去 Twitter @Gyroscope_app 求反馈,问他们直接接入 Workflow 数据的可能性,过程如下图:

开发者反馈.png

大家应该知道 Might 的含义,也罢。我的 Plan B 就做出了妥协:在 Health 里面查看曲线走势。当然也希望 Gyroscope 开发者的 might 可以早日实现。

根据目标设置反馈

之前的文章也提到没有反馈的记录是无效记录,所以设置了一个简单的反馈,即比较当日的 WHR 和你设置的目标值的大小。首先输入对应的目标值(我的目标值为「0.42 to 0.48」),接着将变量MinimumMaximum分别赋为最小、最大值,该逻辑为:

  • 当 WHR 小于给定最小值Minimum,提示框显示「你真是太棒了(类似翻译)」
  • 当 WHR 刚好在目标范围内,提示框显示「请继续保持」
  • 当 WHR 大于给定最大值Maximum,提示框显示「你真是太胖了」

例如:

比较后给出提示.jpeg

生成定制化日志

日志是比较私密的东西,所以应该根据需求定制化。现在数据和提醒都有了,下面描述如何生成定制化日志到 Day One 应用。首先用 Create Day One Entry 添加日志,例如:我想要在 Day One 日志中添加今天的有氧运动,可以使用Ask for InputSet Variable语句,将Markdown语言输入文本框,如图:

添加定制化语句.jpeg

接着在Text里选择变量Variable(Aerobics),如下图:

拼接.jpg

运行 workflow 时,在跳出的文本框中输入当日的有氧运动。这一过程在 Day One 中可显示为

Aerobics.jpeg

接着使用Create Day One Entry语句,可以自动将日记放在 Day One 对应的笔记本 (Journal ) 内和打上喜欢的标签 (Tags),如下图:

dayone archive.jpeg

日积月累得到的便是一整本日记。

进阶

每天手动输入文本是不是很麻烦?是!但如果你每次健身都习惯打开 Apple Watch 记录运动的话,可以使用Find Health Samples Where类似的语句自动获取运动参数,将记录这一过程变得更便捷,详情查看这个workflow,它自动生成的 Activity Report 如下图:

自动生成aerobic report.jpeg

最后,将生成的 Report 直接赋给Aerobics,so automatic,有兴趣的自己做一下。

尾巴

每天记录一下腰围并根据给出的反馈做出反应,还挺简单的,现在在 Gyroscope 不支持该数据的情况下,就暂且用 Health app 回顾数据曲线。另外我测量腰围的小工具是这样的:

测量腰围 copy.jpg

在体重不能反应身材的年代,来记录腰高比吧,春节快到了,希望大家保持美好的腰围!