健康与运动的记录通常以两种方式失败。要么是一份漂亮但没人看得到的私人图表,于是在你宁愿不出门的那天,没有任何东西把你拉回去;要么是一个陌生人组成的社交网络,鼓励是泛泛的,因为给鼓励的人并不认识你。Korat 的运动模块坐落在一个你本来就用来聊天、发帖和逛群的应用里,所以周六早上那趟骑行的观众,和周一会问起它的是同一批人。这就是全部的设计前提,下面每一个决定都由它推出来。
十二种运动,其中只有四种需要 GPS
应用记录十二种运动:跑步、健走、骑行、徒步、跑步机、游泳、健身房、瑜伽、跳绳、足球、羽毛球和拳击。其中四种——跑步、健走、骑行、徒步——带 GPS 追踪,因为它们让你在地图上移动,路线确实是记录的一部分。另外八种没有,应用也不假装有。一节瑜伽有时长和强度,它没有一条轨迹线;让 GPS 芯片去描述一小时羽毛球,产出的是一团涂鸦,不是数据。
对那四种,进行中的会话显示实时距离、时长和配速,支持暂停、继续和结束。路线在 OpenStreetMap 底图上边跑边画,而不是等一份跑后总结去渲染。步数来自设备自己的计步传感器,而不是从 GPS 位移推断,这意味着手机揣在兜里在室内也照常计数,信号在楼宇之间掉线也不会归零。
目标由等级推算,不是你自己编一个数字
第一次打开运动模块时,应用问的是两个问题,而不是摆出一个空白的目标输入框:一个目标,从五个选项里选;一个等级,从四个选项里选。这个二乘二的答案生成每种运动的建议目标,之后你可以改。之所以绕这一道,是因为大多数人在第一天挑不出一个好的周距离目标。他们挑一个理想主义的数字,第二周就没达成,于是连续天数计数器变成一份失败记录。问清你在为什么训练、大概从哪里起步,得到的第一个目标是够得着的;而只有够得着的第一个目标,才熬得过真实的一周。
结束引导之后,目标按运动分别存在——跑步目标和骑行目标是两个数字,不是一个混合的体能分。达成情况以步数、千卡和公里三个活动圆环显示,另有一张周柱状图,让你看清究竟哪几天真的动了,而不只是一个总数。连续天数统计连续的日子,而因为在任何运动应用里它都是最激励人也最惩罚人的那个数字,它被放在圆环旁边,而不是当成头条。
传感器看不到的,用日常记录
并非所有重要的东西都是一次运动。应用为饮水、体重、睡眠等保留手动填写的日常记录,因为没有哪个手机传感器能告诉你你喝了多少、睡得好不好。它们和训练历史一起放在同一份健康档案里,所以一周里距离下降、睡眠记录也下降,读起来是一个故事而不是两张互不相关的图。健康档案本身保存那些不会天天变、也不该每次都重填的固定信息。
Kudos,以及这条动态为什么和主信息流分开
完成的运动可以出现在一条社区运动动态上,别人可以在那里给 kudos。kudos 是一个刻意做小的手势:一次点击,不要求评论串,计数除了“有人看见了这个”之外不代表任何东西。它相当于步道口的一个点头。它之所以是一条独立的动态而不是倒进 Korat 主信息流,是因为训练帖的节奏和社交帖不同——一周练五天的人会淹没共享时间线——而主信息流有自己的排序算法,会和这个量级打架。
当你确实想让某一次运动被更多人看到时,有一个分享编辑器。它把你的文案压在你选的背景上,然后发到你的 Korat 信息流、限时动态、聊天里的某位朋友,或手机上任何其他应用。最后那条路径很重要:目的不是把成就锁在 Korat 里,而是用一次真实记录的训练做出一张好看的卡片,然后由你决定放到哪。
这些数字到底是什么
距离和配速来自会话期间采样的 GPS 位置,所以它们继承 GPS 的常态:精度随天空视野变化,同一条路线在有顶棚的市场里记录出来的样子,和在开阔地不一样。步数来自设备专用的计步传感器,所以步数和 GPS 距离是各自独立的来源。千卡是从运动推算出来的估计值,不是测量值——没有哪部手机能测量能量消耗,因此应用把它当作圆环里三项输入之一来呈现,而不是当作事实。
健康只在安卓应用里有。网页版没有这个模块,这是一个决定,不是没做完:记录一次运动需要设备在息屏状态下持续追踪位置,浏览器做不到;而一个跑到一半丢掉轨迹的半成品,比一句诚实的「请打开应用」更糟——诚实的那句不会让你白跑一趟。
这里没有心率数据,也没有任何可穿戴设备接入。Korat 只读手机的 GPS 和计步传感器,仅此而已。如果你戴心率带或手表训练,那些数据不会进入应用,应用也不会假装知道你的心率区间。
记录还依赖手机在你身上且已授予位置权限。权限预说明界面会在系统弹窗出现之前解释每项安卓权限的用途;拒绝位置权限只是去掉那四种 GPS 运动,不会封掉整个模块。
它如何嵌进应用的其余部分
运动是同一个应用、同一个账号里的一个模块。给你 kudos 的朋友,就是你在聊天里的那些朋友;一个跑团可以是一个普通的 Korat 群组,有帖子、角色和入群申请,一次分享出来的运动可以直接作为普通帖子落进那个群的对话里。这里没有单独的运动账号,没有第二份好友列表,也没有第三方服务保管你的路线数据——它和其他一切一样,存在同一个 Supabase 后端上。
- 运动类型
- 12 种——跑步、健走、骑行、徒步、跑步机、游泳、健身房、瑜伽、跳绳、足球、羽毛球、拳击
- GPS 追踪
- 跑步、健走、骑行、徒步——实时距离、时长、配速、路线图
- 地图
- OpenStreetMap,会话进行中实时绘制
- 步数
- 读自设备计步传感器
- 圆环
- 步数 · 千卡 · 公里
- 首次引导
- 5 个目标选项 × 4 个等级选项
- 日常记录
- 饮水、体重、睡眠等
- 社交
- 社区运动动态、kudos、分享编辑器
和别人一起跑、要看排行榜的,在运动俱乐部里——那是把这里的个人记录变成一群人的事。
愿意把一次训练发出来的,它就是动态里的一条普通帖子,评论和通知完全一样。