工具概述
BodyMass 是一个用于体重记录的 iOS App,支持和 Apple Health 数据同步,应用利用了前景理论等众多心理学前言研究结果,能够更好的帮助用户实现减重计划。
开发背景
此应用来自我的个人需求。在一开始,我只想要一个能够便捷记录体重数据的方式,有很多“智能体重秤”能够做到这一点,比如小米和山香等,使用时只需要站在秤上,打开 App 即可同步,展示体重、体重变化、体脂等各种数据。尽管如此,我还是打算自己做一个,因为我想要使用 Apple Health 管理一切个人健康数据,包括且不限于体重、睡眠、运动等(因为 Apple Watch),而这些第三方 App 要么不支持从 Health 导入,要么不支持导出,反而热衷于做“用户社区”和“开屏广告”,实在是难用的很。
最开始我用的是快捷指令,通过 Siri 唤起并直接记录到数据库。后来因为我想要将体重信息展示在自己应用的锁屏和桌面小组件,于是就写了一个简单的视图,跟上述体重添加页类似,包含一个可输入数据的“秤”,以及从 Health 读出的最近体重,当时的想法很简单,在记录体重时能看到最近体重趋势和变化,知道自己重了还是轻了就可以了。这个简单的视图我用了大概 2 年,陆陆续续的记录了很多体重数据,谈不上好用,但也没什么改善,体重秤大部分时候都在落灰。
最近,我重新开始开发这个应用,希望它更有用一点。首先就是全平台支持,因为上述的视图是用 HealthKit 做交互的,因此虽然是 Flutter 开发的,但受限于 API,只能在 iOS 使用,这一点颇为不便。因此我编写了自己的后端存储服务,支持任意平台的读写,在 iOS 平台,打开后额外支持从 HealthKit 中导入外部记录在 Health 数据库中的数据,实现了智能同步。
之后,我简单编写了一个体重列表,支持增删改查体重,每个体重数据不仅带有时间,还支持了备注。此外,又做了一个日历视图,能够展示体重在日期上的分布,同时计算出每次体重记录相比较上次的变化情况。
这些足够了吗?不然。对于体重列表,我按照周进行了分组,对于每周支持创建计划,计划包括预期减重措施和实际实施情况,此外还允许提供奖励,体重列表分组头部展示了周信息,包括此周是否有健身计划,如果有,目标体重是多少,当前最后一次体重是否达标,如果有奖励,奖励是否领取等信息。注意,我对于每项体重记录都进行了计算,对于每周的第一项记录,总是黄色标记,如果下一次比这一次重,则展示为红色,表示错误的习惯,如果下一次比这一次重,则展示为绿色,表示做的不错。
现在,这个体重记录 App 已经能够很好的满足我的需求了。至于为什么这样设计,其实是我对之前使用薄荷健康等试图量化卡路里摄入等方案进行思考后总结得到的:想要量化摄入非常困难,虽然薄荷健康的数据库很全,但对于餐厅和路边摊的食物,卡路里还是难以衡量,并且每天记录吃了什么是一件非常枯燥且无趣的活动,哪怕使用了各种辅助措施,激励都不行。相反,只要有减重的需求,称体重是必须的,如果做了什么可能促进减重的活动,那么称体重就是一件验证活动是否有效果的事情,用户是有很强的动机去做这件事的,因此称体重并记录便是一件容易被接受的事情,尤其是当记录只需要手机 NFC 扫一下就自动打开 URLScheme 唤起应用的情况下。此外,本应用利用了归因这一人类强大的思维定势模式,促使用户自行推断导致体重上升或下降的原因,因此顺手记下来便不是什么困难的事情。至此,应用所需的大部分数据已经有了,而周计划和奖励,则只需要每周一次,每次记录体重后,会自动比较和确定目标是否完成,计划是一种自我确认,而奖励则是一种自我激励,当存在计划和激励时,减重就成为了一种启动效应下的习惯。
那么,如何减重?
这个问题,不同的人有不同的答案,而我作为一个胖子,哪怕给出答案也没有说服力。但,我相信这个问题,对于不同的人,存在不同的答案,没有标准公式。不论是拳击还是跳操,不论是跑步还是嗑药,不论是拒绝糖盐脂还是三餐均素,这都是每个人的选择,我相信每个人都有自己减肥的“正确方式”,跨越时间和空间,注重不同的目标。
本应用的机制在于,我认为每次记录体重归因的结果总会影响到下一次的决策,因此,如果上一次因为某件事导致体重下降,那么这更有可能是对用户有效的“正确”减肥方法,而如果某件事导致体重上升,那么避免这件事的发生对于用户来说可能是重中之重。这种对自我生活经验的回顾和觉知是一种强大的模式,从宏大叙事而言,是人之为人的根本 —— 我思故我在。
高热量食物觉知很容易和体重增加建立联系,而健康的蔬菜、杂粮和运动则容易和体重降低建立联系。这些记录的文字,很容易通过启动效应影响到用户的下一次食物选择和决策上,这是一种正向循环和促进机制,通过可得性启发法得以潜伏在记忆的浅处,当他们和减肥的情绪启动建立联系,这种效用层叠会逐渐形成新的思维模式和习惯。从决策的前景理论来看,这种模式希望于形成一种对健康的新的自我认知,并以此作为锚点,更享受美食,同时对于不健康食物导致的体重增加所需要努力的损失厌恶进行觉知,从而培养更健康的饮食习惯。
当然,在这个过程中,归因可能出错,但外部知识可以很方便的对我们自己的觉知进行矫正,因为目标总是说不得慌,实践是检验真理的唯一标准在这里起作用。因此,用户总能找到自我的路。